openc3-cosmos-tool-docs 6.5.0 → 6.5.1

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 (120) hide show
  1. checksums.yaml +4 -4
  2. data/tools/staticdocs/404.html +1 -1
  3. data/tools/staticdocs/assets/js/0f5d161c.e43dd7c9.js +1 -0
  4. data/tools/staticdocs/assets/js/103cc3be.3f08893f.js +1 -0
  5. data/tools/staticdocs/assets/js/{13196248.e1f20841.js → 13196248.68e92816.js} +1 -1
  6. data/tools/staticdocs/assets/js/{13c1b4e4.58a03be2.js → 13c1b4e4.b83f8041.js} +1 -1
  7. data/tools/staticdocs/assets/js/1e02e6a3.7cea97a5.js +1 -0
  8. data/tools/staticdocs/assets/js/{2047b354.58bf5de8.js → 2047b354.573199a8.js} +1 -1
  9. data/tools/staticdocs/assets/js/3687.0a024e4c.js +101 -0
  10. data/tools/staticdocs/assets/js/40365d27.4fe19af4.js +1 -0
  11. data/tools/staticdocs/assets/js/54d0d530.97fd90e6.js +1 -0
  12. data/tools/staticdocs/assets/js/{6b65133b.c431a22a.js → 6b65133b.c36fb840.js} +1 -1
  13. data/tools/staticdocs/assets/js/75e64983.2bd986ec.js +1 -0
  14. data/tools/staticdocs/assets/js/{7719.d199daa3.js → 7719.dfa27269.js} +1 -1
  15. data/tools/staticdocs/assets/js/80c97f38.997e4e37.js +1 -0
  16. data/tools/staticdocs/assets/js/89e76475.4d439119.js +1 -0
  17. data/tools/staticdocs/assets/js/b4596165.7dc1e14d.js +1 -0
  18. data/tools/staticdocs/assets/js/cb8c3f08.7688d6b1.js +1 -0
  19. data/tools/staticdocs/assets/js/cd879be4.1aff15e7.js +1 -0
  20. data/tools/staticdocs/assets/js/d5d77c37.51a1f08e.js +1 -0
  21. data/tools/staticdocs/assets/js/dbe31111.a7be0442.js +1 -0
  22. data/tools/staticdocs/assets/js/main.54699355.js +38 -0
  23. data/tools/staticdocs/assets/js/runtime~main.2a93017a.js +1 -0
  24. data/tools/staticdocs/docs/configuration/accessors.html +1 -1
  25. data/tools/staticdocs/docs/configuration/command.html +1 -1
  26. data/tools/staticdocs/docs/configuration/conversions.html +1 -1
  27. data/tools/staticdocs/docs/configuration/format.html +1 -1
  28. data/tools/staticdocs/docs/configuration/interfaces.html +1 -1
  29. data/tools/staticdocs/docs/configuration/limits-response.html +1 -1
  30. data/tools/staticdocs/docs/configuration/plugins.html +1 -1
  31. data/tools/staticdocs/docs/configuration/processors.html +1 -1
  32. data/tools/staticdocs/docs/configuration/protocols.html +1 -1
  33. data/tools/staticdocs/docs/configuration/ssl-tls.html +1 -1
  34. data/tools/staticdocs/docs/configuration/table.html +1 -1
  35. data/tools/staticdocs/docs/configuration/target.html +1 -1
  36. data/tools/staticdocs/docs/configuration/telemetry-screens.html +1 -1
  37. data/tools/staticdocs/docs/configuration/telemetry.html +1 -1
  38. data/tools/staticdocs/docs/configuration.html +1 -1
  39. data/tools/staticdocs/docs/development/curl.html +1 -1
  40. data/tools/staticdocs/docs/development/developing.html +1 -1
  41. data/tools/staticdocs/docs/development/json-api.html +1 -1
  42. data/tools/staticdocs/docs/development/log-structure.html +1 -1
  43. data/tools/staticdocs/docs/development/roadmap.html +1 -1
  44. data/tools/staticdocs/docs/development/streaming-api.html +1 -1
  45. data/tools/staticdocs/docs/development/testing.html +1 -1
  46. data/tools/staticdocs/docs/development.html +1 -1
  47. data/tools/staticdocs/docs/getting-started/cli.html +1 -1
  48. data/tools/staticdocs/docs/getting-started/generators.html +1 -1
  49. data/tools/staticdocs/docs/getting-started/gettingstarted.html +1 -1
  50. data/tools/staticdocs/docs/getting-started/installation.html +1 -1
  51. data/tools/staticdocs/docs/getting-started/key-concepts.html +1 -1
  52. data/tools/staticdocs/docs/getting-started/podman.html +1 -1
  53. data/tools/staticdocs/docs/getting-started/requirements.html +1 -1
  54. data/tools/staticdocs/docs/getting-started/upgrading.html +4 -4
  55. data/tools/staticdocs/docs/getting-started.html +1 -1
  56. data/tools/staticdocs/docs/guides/bridges.html +1 -1
  57. data/tools/staticdocs/docs/guides/cfs.html +1 -1
  58. data/tools/staticdocs/docs/guides/custom-widgets.html +1 -1
  59. data/tools/staticdocs/docs/guides/dynamic-packets.html +1 -1
  60. data/tools/staticdocs/docs/guides/exposing-microservices.html +1 -1
  61. data/tools/staticdocs/docs/guides/little-endian-bitfields.html +1 -1
  62. data/tools/staticdocs/docs/guides/local-mode.html +1 -1
  63. data/tools/staticdocs/docs/guides/logging.html +1 -1
  64. data/tools/staticdocs/docs/guides/monitoring.html +1 -1
  65. data/tools/staticdocs/docs/guides/performance.html +1 -1
  66. data/tools/staticdocs/docs/guides/raspberrypi.html +1 -1
  67. data/tools/staticdocs/docs/guides/reference-architectures.html +1 -1
  68. data/tools/staticdocs/docs/guides/script-writing.html +1 -1
  69. data/tools/staticdocs/docs/guides/scripting-api.html +1 -1
  70. data/tools/staticdocs/docs/guides.html +1 -1
  71. data/tools/staticdocs/docs/meta/contributing.html +1 -1
  72. data/tools/staticdocs/docs/meta/licenses.html +1 -1
  73. data/tools/staticdocs/docs/meta/philosophy.html +1 -1
  74. data/tools/staticdocs/docs/meta/xtce.html +1 -1
  75. data/tools/staticdocs/docs/meta.html +1 -1
  76. data/tools/staticdocs/docs/privacy.html +1 -1
  77. data/tools/staticdocs/docs/tools/admin.html +1 -1
  78. data/tools/staticdocs/docs/tools/autonomic.html +1 -1
  79. data/tools/staticdocs/docs/tools/bucket-explorer.html +1 -1
  80. data/tools/staticdocs/docs/tools/calendar.html +1 -1
  81. data/tools/staticdocs/docs/tools/cmd-sender.html +1 -1
  82. data/tools/staticdocs/docs/tools/cmd-tlm-server.html +1 -1
  83. data/tools/staticdocs/docs/tools/command_history.html +1 -1
  84. data/tools/staticdocs/docs/tools/data-extractor.html +1 -1
  85. data/tools/staticdocs/docs/tools/data-viewer.html +1 -1
  86. data/tools/staticdocs/docs/tools/handbooks.html +1 -1
  87. data/tools/staticdocs/docs/tools/limits-monitor.html +1 -1
  88. data/tools/staticdocs/docs/tools/packet-viewer.html +1 -1
  89. data/tools/staticdocs/docs/tools/script-runner.html +1 -1
  90. data/tools/staticdocs/docs/tools/systemhealth.html +1 -1
  91. data/tools/staticdocs/docs/tools/table-manager.html +1 -1
  92. data/tools/staticdocs/docs/tools/tlm-grapher.html +1 -1
  93. data/tools/staticdocs/docs/tools/tlm-viewer.html +1 -1
  94. data/tools/staticdocs/docs/tools.html +2 -2
  95. data/tools/staticdocs/docs.html +1 -1
  96. data/tools/staticdocs/index.html +1 -1
  97. data/tools/staticdocs/lunr-index-1751323751078.json +1 -0
  98. data/tools/staticdocs/lunr-index.json +1 -1
  99. data/tools/staticdocs/markdown-page.html +1 -1
  100. data/tools/staticdocs/search-doc-1751323751078.json +1 -0
  101. data/tools/staticdocs/search-doc.json +1 -1
  102. metadata +24 -24
  103. data/tools/staticdocs/assets/js/0f5d161c.bc74590c.js +0 -1
  104. data/tools/staticdocs/assets/js/103cc3be.b15ac140.js +0 -1
  105. data/tools/staticdocs/assets/js/1e02e6a3.68a73184.js +0 -1
  106. data/tools/staticdocs/assets/js/3687.062fee32.js +0 -101
  107. data/tools/staticdocs/assets/js/40365d27.cdd0a061.js +0 -1
  108. data/tools/staticdocs/assets/js/54d0d530.9fccf082.js +0 -1
  109. data/tools/staticdocs/assets/js/75e64983.31d1e579.js +0 -1
  110. data/tools/staticdocs/assets/js/80c97f38.4f6a5637.js +0 -1
  111. data/tools/staticdocs/assets/js/89e76475.a0353bb2.js +0 -1
  112. data/tools/staticdocs/assets/js/b4596165.a2357781.js +0 -1
  113. data/tools/staticdocs/assets/js/cb8c3f08.0de82997.js +0 -1
  114. data/tools/staticdocs/assets/js/cd879be4.d650ab29.js +0 -1
  115. data/tools/staticdocs/assets/js/d5d77c37.a1299467.js +0 -1
  116. data/tools/staticdocs/assets/js/dbe31111.8f1677f3.js +0 -1
  117. data/tools/staticdocs/assets/js/main.8c741ee1.js +0 -38
  118. data/tools/staticdocs/assets/js/runtime~main.7674b06d.js +0 -1
  119. data/tools/staticdocs/lunr-index-1749788530521.json +0 -1
  120. data/tools/staticdocs/search-doc-1749788530521.json +0 -1
@@ -1 +1 @@
1
- (self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["7719"],{4501:function(e,t){function n(e){let t,n=[];for(let r of e.split(",").map(e=>e.trim()))if(/^-?\d+$/.test(r))n.push(parseInt(r,10));else if(t=r.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,r,s,i]=t;if(r&&i){let e=(r=parseInt(r))<(i=parseInt(i))?1:-1;("-"===s||".."===s||"\u2025"===s)&&(i+=e);for(let t=r;t!==i;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},1620:function(e,t,n){"use strict";n.d(t,{Z:()=>w});var r=n(2322),s=n(2784),i=n(7239),a=n(6117),l=n(6460);let o={admonition:"admonition_IZjC",admonitionHeading:"admonitionHeading_uVvU",admonitionIcon:"admonitionIcon_HiR3",admonitionContent:"admonitionContent_bl22"};function c(e){let{type:t,className:n,children:s}=e;return(0,r.jsx)("div",{className:(0,i.Z)(l.k.common.admonition,l.k.common.admonitionType(t),o.admonition,n),children:s})}function d(e){let{icon:t,title:n}=e;return(0,r.jsxs)("div",{className:o.admonitionHeading,children:[(0,r.jsx)("span",{className:o.admonitionIcon,children:t}),n]})}function u(e){let{children:t}=e;return t?(0,r.jsx)("div",{className:o.admonitionContent,children:t}):null}function m(e){let{type:t,icon:n,title:s,children:i,className:a}=e;return(0,r.jsxs)(c,{type:t,className:a,children:[s||n?(0,r.jsx)(d,{title:s,icon:n}):null,(0,r.jsx)(u,{children:i})]})}let h={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function f(e){return(0,r.jsx)(m,{...h,...e,className:(0,i.Z)("alert alert--secondary",e.className),children:e.children})}let p={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function x(e){return(0,r.jsx)(m,{...p,...e,className:(0,i.Z)("alert alert--success",e.className),children:e.children})}let j={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})},{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function g(e){return(0,r.jsx)(m,{...j,...e,className:(0,i.Z)("alert alert--info",e.className),children:e.children})}function b(e){return(0,r.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let v={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},y={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},N={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})},k={note:f,tip:x,info:g,warning:function(e){return(0,r.jsx)(m,{...v,...e,className:(0,i.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,r.jsx)(m,{...y,...e,className:(0,i.Z)("alert alert--danger",e.className),children:e.children})},secondary:e=>(0,r.jsx)(f,{title:"secondary",...e}),important:e=>(0,r.jsx)(g,{title:"important",...e}),success:e=>(0,r.jsx)(x,{title:"success",...e}),caution:function(e){return(0,r.jsx)(m,{...N,...e,className:(0,i.Z)("alert alert--warning",e.className),children:e.children})}};function w(e){let t=function(e){let{mdxAdmonitionTitle:t,rest:n}=function(e){let t=s.Children.toArray(e),n=t.find(e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),i=t.filter(e=>e!==n);return{mdxAdmonitionTitle:n?.props.children,rest:i.length>0?(0,r.jsx)(r.Fragment,{children:i}):null}}(e.children),i=e.title??t;return{...e,...i&&{title:i},children:n}}(e),n=function(e){let t=k[e];return t||(console.warn(`No admonition component found for admonition type "${e}". Using Info as fallback.`),k.info)}(t.type);return(0,r.jsx)(n,{...t})}},5015:function(e,t,n){"use strict";n.d(t,{Z:()=>j});var r=n(2322);n(2784);var s=n(7239),i=n(6117),a=n(7173);function l(){return(0,r.jsx)(i.Z,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function o(){return(0,r.jsx)(i.Z,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,r.jsx)(a.Z,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function d(){return(0,r.jsx)(i.Z,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function u(){return(0,r.jsx)(i.Z,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}var m=n(6460),h=n(1620);function f(e){let{className:t}=e;return(0,r.jsx)(h.Z,{type:"caution",title:(0,r.jsx)(d,{}),className:(0,s.Z)(t,m.k.common.draftBanner),children:(0,r.jsx)(u,{})})}function p(e){let{className:t}=e;return(0,r.jsx)(h.Z,{type:"caution",title:(0,r.jsx)(l,{}),className:(0,s.Z)(t,m.k.common.unlistedBanner),children:(0,r.jsx)(o,{})})}function x(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c,{}),(0,r.jsx)(p,{...e})]})}function j(e){let{metadata:t}=e,{unlisted:n,frontMatter:s}=t;return(0,r.jsxs)(r.Fragment,{children:[(n||s.unlisted)&&(0,r.jsx)(x,{}),s.draft&&(0,r.jsx)(f,{})]})}},7955:function(e,t,n){"use strict";n.d(t,{Z:()=>f});var r=n(2322);n(2784);var s=n(7239),i=n(6117),a=n(6460),l=n(5819);function o(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.Z)("iconEdit_UohW",t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function c(e){let{editUrl:t}=e;return(0,r.jsxs)(l.Z,{to:t,className:a.k.common.editThisPage,children:[(0,r.jsx)(o,{}),(0,r.jsx)(i.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var d=n(3687);function u(e){let{lastUpdatedAt:t}=e,n=new Date(t),s=(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{i18n:{currentLocale:t}}=(0,d.Z)(),n=function(){let{i18n:{currentLocale:e,localeConfigs:t}}=(0,d.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})})({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,r.jsx)(i.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,r.jsx)("b",{children:(0,r.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function m(e){let{lastUpdatedBy:t}=e;return(0,r.jsx)(i.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,r.jsx)("b",{children:t})},children:" by {user}"})}function h(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,r.jsxs)("span",{className:a.k.common.lastUpdated,children:[(0,r.jsx)(i.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,r.jsx)(u,{lastUpdatedAt:t}):"",byUser:n?(0,r.jsx)(m,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}function f(e){let{className:t,editUrl:n,lastUpdatedAt:i,lastUpdatedBy:a}=e;return(0,r.jsxs)("div",{className:(0,s.Z)("row",t),children:[(0,r.jsx)("div",{className:"col",children:n&&(0,r.jsx)(c,{editUrl:n})}),(0,r.jsx)("div",{className:(0,s.Z)("col","lastUpdated_g62E"),children:(i||a)&&(0,r.jsx)(h,{lastUpdatedAt:i,lastUpdatedBy:a})})]})}},8093:function(e,t,n){"use strict";n.d(t,{Z:()=>em});var r=n(2322),s=n(2784),i=n(2840),a=n(7173),l=n(9761),o=n(7239),c=n(4877),d=n(6092);function u(){let{prism:e}=(0,d.L)(),{colorMode:t}=(0,c.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var m=n(6460),h=n(4501),f=n.n(h),p=n(3972);let x=/title=(?<quote>["'])(?<title>.*?)\1/,j=/\{(?<range>[\d,-]+)\}/,g={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},b={...g,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},v=Object.keys(g);function y(e,t){let n=e.map(e=>{let{start:n,end:r}=b[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}let N=(0,s.createContext)(null);function k(e){let{metadata:t,wordWrap:n,children:i}=e,a=(0,s.useMemo)(()=>({metadata:t,wordWrap:n}),[t,n]);return(0,r.jsx)(N.Provider,{value:a,children:i})}function w(){let e=(0,s.useContext)(N);if(null===e)throw new p.i6("CodeBlockContextProvider");return e}function C(e){let{as:t,...n}=e,s=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[r,s]=e,i=t[r];i&&"string"==typeof s&&(n[i]=s)}),n}(u());return(0,r.jsx)(t,{...n,style:s,className:(0,o.Z)(n.className,"codeBlockContainer_ZGJx",m.k.common.codeBlock)})}let B={codeBlock:"codeBlock_TAPP",codeBlockStandalone:"codeBlockStandalone_K9VJ",codeBlockLines:"codeBlockLines_AdAo",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_p5De"};function Z(e){let{children:t,className:n}=e;return(0,r.jsx)(C,{as:"pre",tabIndex:0,className:(0,o.Z)(B.codeBlockStandalone,"thin-scrollbar",n),children:(0,r.jsx)("code",{className:B.codeBlockLines,children:t})})}let L={attributes:!0,characterData:!0,childList:!0,subtree:!0};function E(e){let{children:t}=e;return t}var T=n(8370);function _(e){let{line:t,token:n,...s}=e;return(0,r.jsx)("span",{...s})}let I={codeLine:"codeLine_DPDv",codeLineNumber:"codeLineNumber_YxQB",codeLineContent:"codeLineContent_SOIp"};function A(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:i,getTokenProps:a}=e,l=function(e){let t=1===e.length&&"\n"===e[0].content?e[0]:void 0;return t?[{...t,content:""}]:e}(t),c=i({line:l,className:(0,o.Z)(n,s&&I.codeLine)}),d=l.map((e,t)=>{let n=a({token:e});return(0,r.jsx)(_,{...n,line:l,token:e,children:n.children},t)});return(0,r.jsxs)("span",{...c,children:[s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:I.codeLineNumber}),(0,r.jsx)("span",{className:I.codeLineContent,children:d})]}):d,(0,r.jsx)("br",{})]})}let S=s.forwardRef((e,t)=>(0,r.jsx)("pre",{ref:t,tabIndex:0,...e,className:(0,o.Z)(e.className,B.codeBlock,"thin-scrollbar")}));function H(e){let{metadata:t}=w();return(0,r.jsx)("code",{...e,className:(0,o.Z)(e.className,B.codeBlockLines,void 0!==t.lineNumbersStart&&B.codeBlockLinesWithNumbering),style:{...e.style,counterReset:void 0===t.lineNumbersStart?void 0:`line-count ${t.lineNumbersStart-1}`}})}function M(e){let{className:t}=e,{metadata:n,wordWrap:s}=w(),i=u(),{code:a,language:l,lineNumbersStart:c,lineClassNames:d}=n;return(0,r.jsx)(T.y$,{theme:i,code:a,language:l,children:e=>{let{className:n,style:i,tokens:a,getLineProps:l,getTokenProps:u}=e;return(0,r.jsx)(S,{ref:s.codeBlockRef,className:(0,o.Z)(t,n),style:i,children:(0,r.jsx)(H,{children:a.map((e,t)=>(0,r.jsx)(A,{line:e,getLineProps:l,getTokenProps:u,classNames:d[t],showLineNumbers:void 0!==c},t))})})}})}function z(e){let{children:t,fallback:n}=e;return(0,l.Z)()?(0,r.jsx)(r.Fragment,{children:t?.()}):n??null}var R=n(6117);function U(e){let{className:t,...n}=e;return(0,r.jsx)("button",{type:"button",...n,className:(0,o.Z)("clean-btn",t)})}function V(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function $(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let D={copyButtonCopied:"copyButtonCopied_TFXo",copyButtonIcons:"copyButtonIcons_akOg",copyButtonIcon:"copyButtonIcon_a21a",copyButtonSuccessIcon:"copyButtonSuccessIcon_v2Tw"};function O(e){let{className:t}=e,{copyCode:n,isCopied:i}=function(){let{metadata:{code:e}}=w(),[t,n]=(0,s.useState)(!1),r=(0,s.useRef)(void 0),i=(0,s.useCallback)(()=>{!function(e){let{target:t=document.body}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof e)throw TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);let n=document.createElement("textarea"),r=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.fontSize="12pt";let s=document.getSelection(),i=s.rangeCount>0&&s.getRangeAt(0);t.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let a=!1;try{document.execCommand("copy")}catch{}n.remove(),i&&(s.removeAllRanges(),s.addRange(i)),r&&r.focus()}(e),n(!0),r.current=window.setTimeout(()=>{n(!1)},1e3)},[e]);return(0,s.useEffect)(()=>()=>window.clearTimeout(r.current),[]),{copyCode:i,isCopied:t}}();return(0,r.jsx)(U,{"aria-label":i?(0,R.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,R.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,R.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,o.Z)(t,D.copyButton,i&&D.copyButtonCopied),onClick:n,children:(0,r.jsxs)("span",{className:D.copyButtonIcons,"aria-hidden":"true",children:[(0,r.jsx)(V,{className:D.copyButtonIcon}),(0,r.jsx)($,{className:D.copyButtonSuccessIcon})]})})}function W(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let P={wordWrapButtonIcon:"wordWrapButtonIcon_fUEG",wordWrapButtonEnabled:"wordWrapButtonEnabled_wDKE"};function F(e){let{className:t}=e,{wordWrap:n}=w();if(!(n.isEnabled||n.isCodeScrollable))return!1;let s=(0,R.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,r.jsx)(U,{onClick:()=>n.toggle(),className:(0,o.Z)(t,n.isEnabled&&P.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,r.jsx)(W,{className:P.wordWrapButtonIcon,"aria-hidden":"true"})})}function q(e){let{className:t}=e;return(0,r.jsx)(z,{children:()=>(0,r.jsxs)("div",{className:(0,o.Z)(t,"buttonGroup_dke2"),children:[(0,r.jsx)(F,{}),(0,r.jsx)(O,{})]})})}let Y={codeBlockContent:"codeBlockContent_kX1v",codeBlockTitle:"codeBlockTitle_L5qy"};function G(e){let{className:t}=e,{metadata:n}=w();return(0,r.jsxs)(C,{as:"div",className:(0,o.Z)(t,n.className),children:[n.title&&(0,r.jsx)("div",{className:Y.codeBlockTitle,children:(0,r.jsx)(E,{children:n.title})}),(0,r.jsxs)("div",{className:Y.codeBlockContent,children:[(0,r.jsx)(M,{}),(0,r.jsx)(q,{})]})]})}function Q(e){let t=function(e){let{prism:t}=(0,d.L)();return function(e){var t,n,r;let s=(n=(t={language:e.language,defaultLanguage:e.defaultLanguage,className:e.className}).language??function(e){if(!e)return;let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(t.className)??t.defaultLanguage,n?.toLowerCase()??"text"),{lineClassNames:i,code:a}=function(e,t){let n=e.replace(/\r?\n$/,"");return function(e,t){let{metastring:n,magicComments:r}=t;if(n&&j.test(n)){let t=n.match(j).groups.range;if(0===r.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${n}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let s=r[0].className;return{lineClassNames:Object.fromEntries(f()(t).filter(e=>e>0).map(e=>[e-1,[s]])),code:e}}return null}(n,{...t})??function(e,t){let{language:n,magicComments:r}=t;if(void 0===n)return{lineClassNames:{},code:e};let s=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return y(["js","jsBlock"],t);case"jsx":case"tsx":return y(["js","jsBlock","jsx"],t);case"html":return y(["js","jsBlock","html"],t);case"python":case"py":case"bash":return y(["bash"],t);case"markdown":case"md":return y(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return y(["tex"],t);case"lua":case"haskell":return y(["lua"],t);case"sql":return y(["lua","jsBlock"],t);case"wasm":return y(["wasm"],t);case"vb":case"vba":case"visual-basic":return y(["vb","rem"],t);case"vbnet":return y(["vbnet","rem"],t);case"batch":return y(["rem"],t);case"basic":return y(["rem","f90"],t);case"fsharp":return y(["js","ml"],t);case"ocaml":case"sml":return y(["ml"],t);case"fortran":return y(["f90"],t);case"cobol":return y(["cobol"],t);default:return y(v,t)}}(n,r),i=e.split(/\r?\n/),a=Object.fromEntries(r.map(e=>[e.className,{start:0,range:""}])),l=Object.fromEntries(r.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),o=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),c=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<i.length;){let t=i[e].match(s);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);l[n]?a[l[n]].range+=`${e},`:o[n]?a[o[n]].start=e:c[n]&&(a[c[n]].range+=`${a[c[n]].start}-${e-1},`),i.splice(e,1)}let d={};return Object.entries(a).forEach(e=>{let[t,{range:n}]=e;f()(n).forEach(e=>{d[e]??=[],d[e].push(t)})}),{code:i.join("\n"),lineClassNames:d}}(n,{...t})}(e.code,{metastring:e.metastring,magicComments:e.magicComments,language:s}),l=function(e){let{className:t,language:n}=e;return(0,o.Z)(t,n&&!t?.includes(`language-${n}`)&&`language-${n}`)}({className:e.className,language:s}),c=(r=e.metastring,(r?.match(x)?.groups.title??"")||e.title),d=function(e){let{showLineNumbers:t,metastring:n}=e;if("boolean"==typeof t)return t?1:void 0;if("number"==typeof t)return t;let r=n?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(r)return r.startsWith("showLineNumbers=")?parseInt(r.replace("showLineNumbers=",""),10):1}({showLineNumbers:e.showLineNumbers,metastring:e.metastring});return{codeInput:e.code,code:a,className:l,language:s,title:c,lineNumbersStart:d,lineClassNames:i}}({code:e.children,className:e.className,metastring:e.metastring,magicComments:t.magicComments,defaultLanguage:t.defaultLanguage,language:e.language,title:e.title,showLineNumbers:e.showLineNumbers})}(e),n=function(){let[e,t]=(0,s.useState)(!1),[n,r]=(0,s.useState)(!1),i=(0,s.useRef)(null),a=(0,s.useCallback)(()=>{let n=i.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[i,e]),l=(0,s.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=i.current;r(e>t||i.current.querySelector("code").hasAttribute("style"))},[i]),[o,c]=(0,s.useState)(),d=(0,s.useCallback)(()=>{c(i.current?.closest("[role=tabpanel][hidden]"))},[i,c]);return(0,s.useEffect)(()=>{d()},[d]),!function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:L,r=(0,p.zX)(t),i=(0,p.Ql)(n);(0,s.useEffect)(()=>{let t=new MutationObserver(r);return e&&t.observe(e,i),()=>t.disconnect()},[e,r,i])}(o,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(l(),d())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1}),(0,s.useEffect)(()=>{l()},[e,l]),(0,s.useEffect)(()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)}),[l]),{codeBlockRef:i,isEnabled:e,isCodeScrollable:n,toggle:a}}();return(0,r.jsx)(k,{metadata:t,wordWrap:n,children:(0,r.jsx)(G,{})})}function X(e){let{children:t,...n}=e,i=(0,l.Z)(),a=s.Children.toArray(t).some(e=>(0,s.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,r.jsx)("string"==typeof a?Q:Z,{...n,children:a},String(i))}function J(e){return(0,r.jsx)("code",{...e})}var K=n(5819),ee=n(5232),et=n(8859);let en={details:"details_B4FW",isBrowser:"isBrowser_Cof9",collapsibleContent:"collapsibleContent_VYua"};function er(e){return!!e&&("SUMMARY"===e.tagName||er(e.parentElement))}function es(e){let{summary:t,children:n,...i}=e;(0,ee.Z)().collectAnchor(i.id);let a=(0,l.Z)(),c=(0,s.useRef)(null),{collapsed:d,setCollapsed:u}=(0,et.u)({initialState:!i.open}),[m,h]=(0,s.useState)(i.open),f=s.isValidElement(t)?t:(0,r.jsx)("summary",{children:t??"Details"});return(0,r.jsxs)("details",{...i,ref:c,open:m,"data-collapsed":d,className:(0,o.Z)(en.details,a&&en.isBrowser,i.className),onMouseDown:e=>{er(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();let t=e.target;er(t)&&function e(t,n){return!!t&&(t===n||e(t.parentElement,n))}(t,c.current)&&(e.preventDefault(),d?(u(!1),h(!0)):u(!0))},children:[f,(0,r.jsx)(et.z,{lazy:!1,collapsed:d,onCollapseTransitionEnd:e=>{u(e),h(!e)},children:(0,r.jsx)("div",{className:en.collapsibleContent,children:n})})]})}function ei(e){let{...t}=e;return(0,r.jsx)(es,{...t,className:(0,o.Z)("alert alert--info","details_SZgV",t.className)})}function ea(e){let t=s.Children.toArray(e.children),n=t.find(e=>s.isValidElement(e)&&"summary"===e.type),i=(0,r.jsx)(r.Fragment,{children:t.filter(e=>e!==n)});return(0,r.jsx)(ei,{...e,summary:n,children:i})}var el=n(4126);function eo(e){return(0,r.jsx)(el.Z,{...e})}let ec={containsTaskList:"containsTaskList__YnT"};var ed=n(1620);let eu={Head:a.Z,details:ea,Details:ea,code:function(e){return void 0!==e.children&&s.Children.toArray(e.children).every(e=>"string"==typeof e&&!e.includes("\n"))?(0,r.jsx)(J,{...e}):(0,r.jsx)(X,{...e})},a:function(e){return(0,r.jsx)(K.Z,{...e})},pre:function(e){return(0,r.jsx)(r.Fragment,{children:e.children})},ul:function(e){return(0,r.jsx)("ul",{...e,className:function(e){if(void 0!==e)return(0,o.Z)(e,e?.includes("contains-task-list")&&ec.containsTaskList)}(e.className)})},li:function(e){return(0,ee.Z)().collectAnchor(e.id),(0,r.jsx)("li",{...e})},img:function(e){var t;return(0,r.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,o.Z)(t,"img__Ss2"))})},h1:e=>(0,r.jsx)(eo,{as:"h1",...e}),h2:e=>(0,r.jsx)(eo,{as:"h2",...e}),h3:e=>(0,r.jsx)(eo,{as:"h3",...e}),h4:e=>(0,r.jsx)(eo,{as:"h4",...e}),h5:e=>(0,r.jsx)(eo,{as:"h5",...e}),h6:e=>(0,r.jsx)(eo,{as:"h6",...e}),admonition:ed.Z,mermaid:()=>null};function em(e){let{children:t}=e;return(0,r.jsx)(i.Z,{components:eu,children:t})}},17:function(e,t,n){"use strict";n.d(t,{Z:()=>a});var r=n(2322);n(2784);var s=n(7239),i=n(231);function a(e){let{className:t,...n}=e;return(0,r.jsx)("div",{className:(0,s.Z)("tableOfContents_TN1Q","thin-scrollbar",t),children:(0,r.jsx)(i.Z,{...n,linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})})}},231:function(e,t,n){"use strict";n.d(t,{Z:()=>c});var r=n(2322),s=n(2784),i=n(6092);function a(e){let t=e.getBoundingClientRect();return t.top===t.bottom?a(e.parentNode):t}var l=n(5819);let o=s.memo(function e(t){let{toc:n,className:s,linkClassName:i,isChild:a}=t;return n.length?(0,r.jsx)("ul",{className:a?void 0:s,children:n.map(t=>(0,r.jsxs)("li",{children:[(0,r.jsx)(l.Z,{to:`#${t.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:t.value}}),(0,r.jsx)(e,{isChild:!0,toc:t.children,className:s,linkClassName:i})]},t.id))}):null});function c(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:d,maxHeadingLevel:u,...m}=e,h=(0,i.L)(),f=d??h.tableOfContents.minHeadingLevel,p=u??h.tableOfContents.maxHeadingLevel,x=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:r}=e;return(0,s.useMemo)(()=>(function e(t){let{toc:n,minHeadingLevel:r,maxHeadingLevel:s}=t;return n.flatMap(t=>{let n=e({toc:t.children,minHeadingLevel:r,maxHeadingLevel:s});return t.level>=r&&t.level<=s?[{...t,children:n}]:n})})({toc:function(e){let t=e.map(e=>({...e,parentIndex:-1,children:[]})),n=Array(7).fill(-1);t.forEach((e,t)=>{let r=n.slice(2,e.level);e.parentIndex=Math.max(...r),n[e.level]=t});let r=[];return t.forEach(e=>{let{parentIndex:n,...s}=e;n>=0?t[n].children.push(s):r.push(s)}),r}(t),minHeadingLevel:n,maxHeadingLevel:r}),[t,n,r])}({toc:t,minHeadingLevel:f,maxHeadingLevel:p});var j=(0,s.useMemo)(()=>{if(l&&c)return{linkClassName:l,linkActiveClassName:c,minHeadingLevel:f,maxHeadingLevel:p}},[l,c,f,p]);let g=(0,s.useRef)(void 0),b=function(){let e=(0,s.useRef)(0),{navbar:{hideOnScroll:t}}=(0,i.L)();return(0,s.useEffect)(()=>{e.current=t?0:document.querySelector(".navbar").clientHeight},[t]),e}();return(0,s.useEffect)(()=>{if(!j)return()=>{};let{linkClassName:e,linkActiveClassName:t,minHeadingLevel:n,maxHeadingLevel:r}=j;function s(){let s=Array.from(document.getElementsByClassName(e)),i=function(e,t){let{anchorTopOffset:n}=t,r=e.find(e=>a(e).top>=n);if(r){var s;return(s=a(r)).top>0&&s.bottom<window.innerHeight/2?r:e[e.indexOf(r)-1]??null}return e[e.length-1]??null}(function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e,r=[];for(let e=t;e<=n;e+=1)r.push(`h${e}.anchor`);return Array.from(document.querySelectorAll(r.join()))}({minHeadingLevel:n,maxHeadingLevel:r}),{anchorTopOffset:b.current}),l=s.find(e=>i&&i.id===decodeURIComponent(e.href.substring(e.href.indexOf("#")+1)));s.forEach(e=>{e===l?(g.current&&g.current!==e&&g.current.classList.remove(t),e.classList.add(t),g.current=e):e.classList.remove(t)})}return document.addEventListener("scroll",s),document.addEventListener("resize",s),s(),()=>{document.removeEventListener("scroll",s),document.removeEventListener("resize",s)}},[j,b]),(0,r.jsx)(o,{toc:x,className:n,linkClassName:l,...m})}},2840:function(e,t,n){"use strict";n.d(t,{Z:()=>l,a:()=>a});var r=n(2784);let s={},i=r.createContext(s);function a(e){let t=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]);
1
+ (self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["7719"],{4501:function(e,t){function n(e){let t,n=[];for(let r of e.split(",").map(e=>e.trim()))if(/^-?\d+$/.test(r))n.push(parseInt(r,10));else if(t=r.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,r,s,i]=t;if(r&&i){let e=(r=parseInt(r))<(i=parseInt(i))?1:-1;("-"===s||".."===s||"\u2025"===s)&&(i+=e);for(let t=r;t!==i;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},1620:function(e,t,n){"use strict";n.d(t,{Z:()=>w});var r=n(2322),s=n(2784),i=n(7239),a=n(6117),l=n(6460);let o={admonition:"admonition_IZjC",admonitionHeading:"admonitionHeading_uVvU",admonitionIcon:"admonitionIcon_HiR3",admonitionContent:"admonitionContent_bl22"};function c(e){let{type:t,className:n,children:s}=e;return(0,r.jsx)("div",{className:(0,i.Z)(l.k.common.admonition,l.k.common.admonitionType(t),o.admonition,n),children:s})}function d(e){let{icon:t,title:n}=e;return(0,r.jsxs)("div",{className:o.admonitionHeading,children:[(0,r.jsx)("span",{className:o.admonitionIcon,children:t}),n]})}function u(e){let{children:t}=e;return t?(0,r.jsx)("div",{className:o.admonitionContent,children:t}):null}function m(e){let{type:t,icon:n,title:s,children:i,className:a}=e;return(0,r.jsxs)(c,{type:t,className:a,children:[s||n?(0,r.jsx)(d,{title:s,icon:n}):null,(0,r.jsx)(u,{children:i})]})}let h={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function f(e){return(0,r.jsx)(m,{...h,...e,className:(0,i.Z)("alert alert--secondary",e.className),children:e.children})}let p={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function x(e){return(0,r.jsx)(m,{...p,...e,className:(0,i.Z)("alert alert--success",e.className),children:e.children})}let j={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})},{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function g(e){return(0,r.jsx)(m,{...j,...e,className:(0,i.Z)("alert alert--info",e.className),children:e.children})}function b(e){return(0,r.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let v={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},y={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},N={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})},k={note:f,tip:x,info:g,warning:function(e){return(0,r.jsx)(m,{...v,...e,className:(0,i.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,r.jsx)(m,{...y,...e,className:(0,i.Z)("alert alert--danger",e.className),children:e.children})},secondary:e=>(0,r.jsx)(f,{title:"secondary",...e}),important:e=>(0,r.jsx)(g,{title:"important",...e}),success:e=>(0,r.jsx)(x,{title:"success",...e}),caution:function(e){return(0,r.jsx)(m,{...N,...e,className:(0,i.Z)("alert alert--warning",e.className),children:e.children})}};function w(e){let t=function(e){let{mdxAdmonitionTitle:t,rest:n}=function(e){let t=s.Children.toArray(e),n=t.find(e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),i=t.filter(e=>e!==n);return{mdxAdmonitionTitle:n?.props.children,rest:i.length>0?(0,r.jsx)(r.Fragment,{children:i}):null}}(e.children),i=e.title??t;return{...e,...i&&{title:i},children:n}}(e),n=function(e){let t=k[e];return t||(console.warn(`No admonition component found for admonition type "${e}". Using Info as fallback.`),k.info)}(t.type);return(0,r.jsx)(n,{...t})}},5015:function(e,t,n){"use strict";n.d(t,{Z:()=>j});var r=n(2322);n(2784);var s=n(7239),i=n(6117),a=n(7173);function l(){return(0,r.jsx)(i.Z,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function o(){return(0,r.jsx)(i.Z,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,r.jsx)(a.Z,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function d(){return(0,r.jsx)(i.Z,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function u(){return(0,r.jsx)(i.Z,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}var m=n(6460),h=n(1620);function f(e){let{className:t}=e;return(0,r.jsx)(h.Z,{type:"caution",title:(0,r.jsx)(d,{}),className:(0,s.Z)(t,m.k.common.draftBanner),children:(0,r.jsx)(u,{})})}function p(e){let{className:t}=e;return(0,r.jsx)(h.Z,{type:"caution",title:(0,r.jsx)(l,{}),className:(0,s.Z)(t,m.k.common.unlistedBanner),children:(0,r.jsx)(o,{})})}function x(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c,{}),(0,r.jsx)(p,{...e})]})}function j(e){let{metadata:t}=e,{unlisted:n,frontMatter:s}=t;return(0,r.jsxs)(r.Fragment,{children:[(n||s.unlisted)&&(0,r.jsx)(x,{}),s.draft&&(0,r.jsx)(f,{})]})}},7955:function(e,t,n){"use strict";n.d(t,{Z:()=>f});var r=n(2322);n(2784);var s=n(7239),i=n(6117),a=n(6460),l=n(5819);function o(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.Z)("iconEdit_UohW",t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function c(e){let{editUrl:t}=e;return(0,r.jsxs)(l.Z,{to:t,className:a.k.common.editThisPage,children:[(0,r.jsx)(o,{}),(0,r.jsx)(i.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var d=n(3687);function u(e){let{lastUpdatedAt:t}=e,n=new Date(t),s=(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{i18n:{currentLocale:t}}=(0,d.Z)(),n=function(){let{i18n:{currentLocale:e,localeConfigs:t}}=(0,d.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})})({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,r.jsx)(i.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,r.jsx)("b",{children:(0,r.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function m(e){let{lastUpdatedBy:t}=e;return(0,r.jsx)(i.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,r.jsx)("b",{children:t})},children:" by {user}"})}function h(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,r.jsxs)("span",{className:a.k.common.lastUpdated,children:[(0,r.jsx)(i.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,r.jsx)(u,{lastUpdatedAt:t}):"",byUser:n?(0,r.jsx)(m,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}function f(e){let{className:t,editUrl:n,lastUpdatedAt:i,lastUpdatedBy:a}=e;return(0,r.jsxs)("div",{className:(0,s.Z)("row",t),children:[(0,r.jsx)("div",{className:"col",children:n&&(0,r.jsx)(c,{editUrl:n})}),(0,r.jsx)("div",{className:(0,s.Z)("col","lastUpdated_g62E"),children:(i||a)&&(0,r.jsx)(h,{lastUpdatedAt:i,lastUpdatedBy:a})})]})}},8093:function(e,t,n){"use strict";n.d(t,{Z:()=>em});var r=n(2322),s=n(2784),i=n(2840),a=n(7173),l=n(9761),o=n(7239),c=n(4877),d=n(6092);function u(){let{prism:e}=(0,d.L)(),{colorMode:t}=(0,c.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var m=n(6460),h=n(4501),f=n.n(h),p=n(3972);let x=/title=(?<quote>["'])(?<title>.*?)\1/,j=/\{(?<range>[\d,-]+)\}/,g={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},b={...g,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},v=Object.keys(g);function y(e,t){let n=e.map(e=>{let{start:n,end:r}=b[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}let N=(0,s.createContext)(null);function k(e){let{metadata:t,wordWrap:n,children:i}=e,a=(0,s.useMemo)(()=>({metadata:t,wordWrap:n}),[t,n]);return(0,r.jsx)(N.Provider,{value:a,children:i})}function w(){let e=(0,s.useContext)(N);if(null===e)throw new p.i6("CodeBlockContextProvider");return e}function C(e){let{as:t,...n}=e,s=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[r,s]=e,i=t[r];i&&"string"==typeof s&&(n[i]=s)}),n}(u());return(0,r.jsx)(t,{...n,style:s,className:(0,o.Z)(n.className,"codeBlockContainer_ZGJx",m.k.common.codeBlock)})}let B={codeBlock:"codeBlock_TAPP",codeBlockStandalone:"codeBlockStandalone_K9VJ",codeBlockLines:"codeBlockLines_AdAo",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_p5De"};function Z(e){let{children:t,className:n}=e;return(0,r.jsx)(C,{as:"pre",tabIndex:0,className:(0,o.Z)(B.codeBlockStandalone,"thin-scrollbar",n),children:(0,r.jsx)("code",{className:B.codeBlockLines,children:t})})}let L={attributes:!0,characterData:!0,childList:!0,subtree:!0};function E(e){let{children:t}=e;return t}var T=n(8370);function _(e){let{line:t,token:n,...s}=e;return(0,r.jsx)("span",{...s})}let I={codeLine:"codeLine_DPDv",codeLineNumber:"codeLineNumber_YxQB",codeLineContent:"codeLineContent_SOIp"};function A(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:i,getTokenProps:a}=e,l=function(e){let t=1===e.length&&"\n"===e[0].content?e[0]:void 0;return t?[{...t,content:""}]:e}(t),c=i({line:l,className:(0,o.Z)(n,s&&I.codeLine)}),d=l.map((e,t)=>{let n=a({token:e});return(0,r.jsx)(_,{...n,line:l,token:e,children:n.children},t)});return(0,r.jsxs)("span",{...c,children:[s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:I.codeLineNumber}),(0,r.jsx)("span",{className:I.codeLineContent,children:d})]}):d,(0,r.jsx)("br",{})]})}let S=s.forwardRef((e,t)=>(0,r.jsx)("pre",{ref:t,tabIndex:0,...e,className:(0,o.Z)(e.className,B.codeBlock,"thin-scrollbar")}));function H(e){let{metadata:t}=w();return(0,r.jsx)("code",{...e,className:(0,o.Z)(e.className,B.codeBlockLines,void 0!==t.lineNumbersStart&&B.codeBlockLinesWithNumbering),style:{...e.style,counterReset:void 0===t.lineNumbersStart?void 0:`line-count ${t.lineNumbersStart-1}`}})}function M(e){let{className:t}=e,{metadata:n,wordWrap:s}=w(),i=u(),{code:a,language:l,lineNumbersStart:c,lineClassNames:d}=n;return(0,r.jsx)(T.y$,{theme:i,code:a,language:l,children:e=>{let{className:n,style:i,tokens:a,getLineProps:l,getTokenProps:u}=e;return(0,r.jsx)(S,{ref:s.codeBlockRef,className:(0,o.Z)(t,n),style:i,children:(0,r.jsx)(H,{children:a.map((e,t)=>(0,r.jsx)(A,{line:e,getLineProps:l,getTokenProps:u,classNames:d[t],showLineNumbers:void 0!==c},t))})})}})}function z(e){let{children:t,fallback:n}=e;return(0,l.Z)()?(0,r.jsx)(r.Fragment,{children:t?.()}):n??null}var R=n(6117);function U(e){let{className:t,...n}=e;return(0,r.jsx)("button",{type:"button",...n,className:(0,o.Z)("clean-btn",t)})}function V(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function $(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let D={copyButtonCopied:"copyButtonCopied_TFXo",copyButtonIcons:"copyButtonIcons_akOg",copyButtonIcon:"copyButtonIcon_a21a",copyButtonSuccessIcon:"copyButtonSuccessIcon_v2Tw"};function O(e){let{className:t}=e,{copyCode:n,isCopied:i}=function(){let{metadata:{code:e}}=w(),[t,n]=(0,s.useState)(!1),r=(0,s.useRef)(void 0),i=(0,s.useCallback)(()=>{!function(e){let{target:t=document.body}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof e)throw TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);let n=document.createElement("textarea"),r=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.fontSize="12pt";let s=document.getSelection(),i=s.rangeCount>0&&s.getRangeAt(0);t.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;try{document.execCommand("copy")}catch{}n.remove(),i&&(s.removeAllRanges(),s.addRange(i)),r&&r.focus()}(e),n(!0),r.current=window.setTimeout(()=>{n(!1)},1e3)},[e]);return(0,s.useEffect)(()=>()=>window.clearTimeout(r.current),[]),{copyCode:i,isCopied:t}}();return(0,r.jsx)(U,{"aria-label":i?(0,R.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,R.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,R.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,o.Z)(t,D.copyButton,i&&D.copyButtonCopied),onClick:n,children:(0,r.jsxs)("span",{className:D.copyButtonIcons,"aria-hidden":"true",children:[(0,r.jsx)(V,{className:D.copyButtonIcon}),(0,r.jsx)($,{className:D.copyButtonSuccessIcon})]})})}function W(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let P={wordWrapButtonIcon:"wordWrapButtonIcon_fUEG",wordWrapButtonEnabled:"wordWrapButtonEnabled_wDKE"};function F(e){let{className:t}=e,{wordWrap:n}=w();if(!(n.isEnabled||n.isCodeScrollable))return!1;let s=(0,R.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,r.jsx)(U,{onClick:()=>n.toggle(),className:(0,o.Z)(t,n.isEnabled&&P.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,r.jsx)(W,{className:P.wordWrapButtonIcon,"aria-hidden":"true"})})}function q(e){let{className:t}=e;return(0,r.jsx)(z,{children:()=>(0,r.jsxs)("div",{className:(0,o.Z)(t,"buttonGroup_dke2"),children:[(0,r.jsx)(F,{}),(0,r.jsx)(O,{})]})})}let Y={codeBlockContent:"codeBlockContent_kX1v",codeBlockTitle:"codeBlockTitle_L5qy"};function G(e){let{className:t}=e,{metadata:n}=w();return(0,r.jsxs)(C,{as:"div",className:(0,o.Z)(t,n.className),children:[n.title&&(0,r.jsx)("div",{className:Y.codeBlockTitle,children:(0,r.jsx)(E,{children:n.title})}),(0,r.jsxs)("div",{className:Y.codeBlockContent,children:[(0,r.jsx)(M,{}),(0,r.jsx)(q,{})]})]})}function Q(e){let t=function(e){let{prism:t}=(0,d.L)();return function(e){var t,n,r;let s=(n=(t={language:e.language,defaultLanguage:e.defaultLanguage,className:e.className}).language??function(e){if(!e)return;let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(t.className)??t.defaultLanguage,n?.toLowerCase()??"text"),{lineClassNames:i,code:a}=function(e,t){let n=e.replace(/\r?\n$/,"");return function(e,t){let{metastring:n,magicComments:r}=t;if(n&&j.test(n)){let t=n.match(j).groups.range;if(0===r.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${n}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let s=r[0].className;return{lineClassNames:Object.fromEntries(f()(t).filter(e=>e>0).map(e=>[e-1,[s]])),code:e}}return null}(n,{...t})??function(e,t){let{language:n,magicComments:r}=t;if(void 0===n)return{lineClassNames:{},code:e};let s=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return y(["js","jsBlock"],t);case"jsx":case"tsx":return y(["js","jsBlock","jsx"],t);case"html":return y(["js","jsBlock","html"],t);case"python":case"py":case"bash":return y(["bash"],t);case"markdown":case"md":return y(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return y(["tex"],t);case"lua":case"haskell":return y(["lua"],t);case"sql":return y(["lua","jsBlock"],t);case"wasm":return y(["wasm"],t);case"vb":case"vba":case"visual-basic":return y(["vb","rem"],t);case"vbnet":return y(["vbnet","rem"],t);case"batch":return y(["rem"],t);case"basic":return y(["rem","f90"],t);case"fsharp":return y(["js","ml"],t);case"ocaml":case"sml":return y(["ml"],t);case"fortran":return y(["f90"],t);case"cobol":return y(["cobol"],t);default:return y(v,t)}}(n,r),i=e.split(/\r?\n/),a=Object.fromEntries(r.map(e=>[e.className,{start:0,range:""}])),l=Object.fromEntries(r.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),o=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),c=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<i.length;){let t=i[e].match(s);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);l[n]?a[l[n]].range+=`${e},`:o[n]?a[o[n]].start=e:c[n]&&(a[c[n]].range+=`${a[c[n]].start}-${e-1},`),i.splice(e,1)}let d={};return Object.entries(a).forEach(e=>{let[t,{range:n}]=e;f()(n).forEach(e=>{d[e]??=[],d[e].push(t)})}),{code:i.join("\n"),lineClassNames:d}}(n,{...t})}(e.code,{metastring:e.metastring,magicComments:e.magicComments,language:s}),l=function(e){let{className:t,language:n}=e;return(0,o.Z)(t,n&&!t?.includes(`language-${n}`)&&`language-${n}`)}({className:e.className,language:s}),c=(r=e.metastring,(r?.match(x)?.groups.title??"")||e.title),d=function(e){let{showLineNumbers:t,metastring:n}=e;if("boolean"==typeof t)return t?1:void 0;if("number"==typeof t)return t;let r=n?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(r)return r.startsWith("showLineNumbers=")?parseInt(r.replace("showLineNumbers=",""),10):1}({showLineNumbers:e.showLineNumbers,metastring:e.metastring});return{codeInput:e.code,code:a,className:l,language:s,title:c,lineNumbersStart:d,lineClassNames:i}}({code:e.children,className:e.className,metastring:e.metastring,magicComments:t.magicComments,defaultLanguage:t.defaultLanguage,language:e.language,title:e.title,showLineNumbers:e.showLineNumbers})}(e),n=function(){let[e,t]=(0,s.useState)(!1),[n,r]=(0,s.useState)(!1),i=(0,s.useRef)(null),a=(0,s.useCallback)(()=>{let n=i.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[i,e]),l=(0,s.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=i.current;r(e>t||i.current.querySelector("code").hasAttribute("style"))},[i]),[o,c]=(0,s.useState)(),d=(0,s.useCallback)(()=>{c(i.current?.closest("[role=tabpanel][hidden]"))},[i,c]);return(0,s.useEffect)(()=>{d()},[d]),!function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:L,r=(0,p.zX)(t),i=(0,p.Ql)(n);(0,s.useEffect)(()=>{let t=new MutationObserver(r);return e&&t.observe(e,i),()=>t.disconnect()},[e,r,i])}(o,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(l(),d())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1}),(0,s.useEffect)(()=>{l()},[e,l]),(0,s.useEffect)(()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)}),[l]),{codeBlockRef:i,isEnabled:e,isCodeScrollable:n,toggle:a}}();return(0,r.jsx)(k,{metadata:t,wordWrap:n,children:(0,r.jsx)(G,{})})}function X(e){let{children:t,...n}=e,i=(0,l.Z)(),a=s.Children.toArray(t).some(e=>(0,s.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,r.jsx)("string"==typeof a?Q:Z,{...n,children:a},String(i))}function J(e){return(0,r.jsx)("code",{...e})}var K=n(5819),ee=n(5232),et=n(8859);let en={details:"details_B4FW",isBrowser:"isBrowser_Cof9",collapsibleContent:"collapsibleContent_VYua"};function er(e){return!!e&&("SUMMARY"===e.tagName||er(e.parentElement))}function es(e){let{summary:t,children:n,...i}=e;(0,ee.Z)().collectAnchor(i.id);let a=(0,l.Z)(),c=(0,s.useRef)(null),{collapsed:d,setCollapsed:u}=(0,et.u)({initialState:!i.open}),[m,h]=(0,s.useState)(i.open),f=s.isValidElement(t)?t:(0,r.jsx)("summary",{children:t??"Details"});return(0,r.jsxs)("details",{...i,ref:c,open:m,"data-collapsed":d,className:(0,o.Z)(en.details,a&&en.isBrowser,i.className),onMouseDown:e=>{er(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();let t=e.target;er(t)&&function e(t,n){return!!t&&(t===n||e(t.parentElement,n))}(t,c.current)&&(e.preventDefault(),d?(u(!1),h(!0)):u(!0))},children:[f,(0,r.jsx)(et.z,{lazy:!1,collapsed:d,onCollapseTransitionEnd:e=>{u(e),h(!e)},children:(0,r.jsx)("div",{className:en.collapsibleContent,children:n})})]})}function ei(e){let{...t}=e;return(0,r.jsx)(es,{...t,className:(0,o.Z)("alert alert--info","details_SZgV",t.className)})}function ea(e){let t=s.Children.toArray(e.children),n=t.find(e=>s.isValidElement(e)&&"summary"===e.type),i=(0,r.jsx)(r.Fragment,{children:t.filter(e=>e!==n)});return(0,r.jsx)(ei,{...e,summary:n,children:i})}var el=n(4126);function eo(e){return(0,r.jsx)(el.Z,{...e})}let ec={containsTaskList:"containsTaskList__YnT"};var ed=n(1620);let eu={Head:a.Z,details:ea,Details:ea,code:function(e){return void 0!==e.children&&s.Children.toArray(e.children).every(e=>"string"==typeof e&&!e.includes("\n"))?(0,r.jsx)(J,{...e}):(0,r.jsx)(X,{...e})},a:function(e){return(0,r.jsx)(K.Z,{...e})},pre:function(e){return(0,r.jsx)(r.Fragment,{children:e.children})},ul:function(e){return(0,r.jsx)("ul",{...e,className:function(e){if(void 0!==e)return(0,o.Z)(e,e?.includes("contains-task-list")&&ec.containsTaskList)}(e.className)})},li:function(e){return(0,ee.Z)().collectAnchor(e.id),(0,r.jsx)("li",{...e})},img:function(e){var t;return(0,r.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,o.Z)(t,"img__Ss2"))})},h1:e=>(0,r.jsx)(eo,{as:"h1",...e}),h2:e=>(0,r.jsx)(eo,{as:"h2",...e}),h3:e=>(0,r.jsx)(eo,{as:"h3",...e}),h4:e=>(0,r.jsx)(eo,{as:"h4",...e}),h5:e=>(0,r.jsx)(eo,{as:"h5",...e}),h6:e=>(0,r.jsx)(eo,{as:"h6",...e}),admonition:ed.Z,mermaid:()=>null};function em(e){let{children:t}=e;return(0,r.jsx)(i.Z,{components:eu,children:t})}},17:function(e,t,n){"use strict";n.d(t,{Z:()=>a});var r=n(2322);n(2784);var s=n(7239),i=n(231);function a(e){let{className:t,...n}=e;return(0,r.jsx)("div",{className:(0,s.Z)("tableOfContents_TN1Q","thin-scrollbar",t),children:(0,r.jsx)(i.Z,{...n,linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})})}},231:function(e,t,n){"use strict";n.d(t,{Z:()=>c});var r=n(2322),s=n(2784),i=n(6092);function a(e){let t=e.getBoundingClientRect();return t.top===t.bottom?a(e.parentNode):t}var l=n(5819);let o=s.memo(function e(t){let{toc:n,className:s,linkClassName:i,isChild:a}=t;return n.length?(0,r.jsx)("ul",{className:a?void 0:s,children:n.map(t=>(0,r.jsxs)("li",{children:[(0,r.jsx)(l.Z,{to:`#${t.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:t.value}}),(0,r.jsx)(e,{isChild:!0,toc:t.children,className:s,linkClassName:i})]},t.id))}):null});function c(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:d,maxHeadingLevel:u,...m}=e,h=(0,i.L)(),f=d??h.tableOfContents.minHeadingLevel,p=u??h.tableOfContents.maxHeadingLevel,x=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:r}=e;return(0,s.useMemo)(()=>(function e(t){let{toc:n,minHeadingLevel:r,maxHeadingLevel:s}=t;return n.flatMap(t=>{let n=e({toc:t.children,minHeadingLevel:r,maxHeadingLevel:s});return t.level>=r&&t.level<=s?[{...t,children:n}]:n})})({toc:function(e){let t=e.map(e=>({...e,parentIndex:-1,children:[]})),n=Array(7).fill(-1);t.forEach((e,t)=>{let r=n.slice(2,e.level);e.parentIndex=Math.max(...r),n[e.level]=t});let r=[];return t.forEach(e=>{let{parentIndex:n,...s}=e;n>=0?t[n].children.push(s):r.push(s)}),r}(t),minHeadingLevel:n,maxHeadingLevel:r}),[t,n,r])}({toc:t,minHeadingLevel:f,maxHeadingLevel:p});var j=(0,s.useMemo)(()=>{if(l&&c)return{linkClassName:l,linkActiveClassName:c,minHeadingLevel:f,maxHeadingLevel:p}},[l,c,f,p]);let g=(0,s.useRef)(void 0),b=function(){let e=(0,s.useRef)(0),{navbar:{hideOnScroll:t}}=(0,i.L)();return(0,s.useEffect)(()=>{e.current=t?0:document.querySelector(".navbar").clientHeight},[t]),e}();return(0,s.useEffect)(()=>{if(!j)return()=>{};let{linkClassName:e,linkActiveClassName:t,minHeadingLevel:n,maxHeadingLevel:r}=j;function s(){let s=Array.from(document.getElementsByClassName(e)),i=function(e,t){let{anchorTopOffset:n}=t,r=e.find(e=>a(e).top>=n);if(r){var s;return(s=a(r)).top>0&&s.bottom<window.innerHeight/2?r:e[e.indexOf(r)-1]??null}return e[e.length-1]??null}(function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e,r=[];for(let e=t;e<=n;e+=1)r.push(`h${e}.anchor`);return Array.from(document.querySelectorAll(r.join()))}({minHeadingLevel:n,maxHeadingLevel:r}),{anchorTopOffset:b.current}),l=s.find(e=>i&&i.id===decodeURIComponent(e.href.substring(e.href.indexOf("#")+1)));s.forEach(e=>{e===l?(g.current&&g.current!==e&&g.current.classList.remove(t),e.classList.add(t),g.current=e):e.classList.remove(t)})}return document.addEventListener("scroll",s),document.addEventListener("resize",s),s(),()=>{document.removeEventListener("scroll",s),document.removeEventListener("resize",s)}},[j,b]),(0,r.jsx)(o,{toc:x,className:n,linkClassName:l,...m})}},2840:function(e,t,n){"use strict";n.d(t,{Z:()=>l,a:()=>a});var r=n(2784);let s={},i=r.createContext(s);function a(e){let t=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["6604"],{8722:function(e,t,o){o.r(t),o.d(t,{frontMatter:()=>i,default:()=>l,toc:()=>d,metadata:()=>s,assets:()=>r,contentTitle:()=>c});var s=JSON.parse('{"id":"tools/command_history","title":"Command History (Enterprise)","description":"See all the commands sent, by whom, and if successful","source":"@site/docs/tools/command_history.md","sourceDirName":"tools","slug":"/tools/command_history","permalink":"/tools/staticdocs/docs/tools/command_history","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/command_history.md","tags":[],"version":"current","frontMatter":{"title":"Command History (Enterprise)","description":"See all the commands sent, by whom, and if successful","sidebar_custom_props":{"myEmoji":"\uD83D\uDCCB"}},"sidebar":"defaultSidebar","previous":{"title":"Command and Telemetry Server","permalink":"/tools/staticdocs/docs/tools/cmd-tlm-server"},"next":{"title":"Data Extractor","permalink":"/tools/staticdocs/docs/tools/data-extractor"}}'),n=o(2322),a=o(2840);let i={title:"Command History (Enterprise)",description:"See all the commands sent, by whom, and if successful",sidebar_custom_props:{myEmoji:"\uD83D\uDCCB"}},c=void 0,r={},d=[{value:"Introduction",id:"introduction",level:2},{value:"Selecting Time",id:"selecting-time",level:3},{value:"Commands Table",id:"commands-table",level:2}];function m(e){let t={a:"a",h2:"h2",h3:"h3",img:"img",p:"p",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,n.jsx)(t.p,{children:"Command History provides the ability to see all the commands sent in COSMOS. Commands are listed in time execution order and include who sent the command and whether they were successful (if validated)."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Command History",src:o(1522).Z+"",width:"2878",height:"1660"})}),"\n",(0,n.jsx)(t.h3,{id:"selecting-time",children:"Selecting Time"}),"\n",(0,n.jsx)(t.p,{children:"By default, Command History displays the last hour of commands and then continues streaming commands as they are sent. You can select a different time range using the start date / time and end date / time choosers."}),"\n",(0,n.jsx)(t.h2,{id:"commands-table",children:"Commands Table"}),"\n",(0,n.jsx)(t.p,{children:"The commands table is sorted by Time and list the User (or process), the Command, the Result and an optional Description."}),"\n",(0,n.jsx)(t.p,{children:"As shown above, the User can be an actual user in the system (admin, operator) or a background process (DEFAULT__MULTI__INST, DEFAULT__DECOM__INST2)."}),"\n",(0,n.jsxs)(t.p,{children:["The Result field is the result of executing Command Validators established by the ",(0,n.jsx)(t.a,{href:"../configuration/command#validator",children:"VALIDATOR"})," keyword. Command Validators are either a Ruby or Python class which is used to validate the command success or failure with both a pre_check and post_check method. Usually when a command fails, a description is given as in the example above."]}),"\n",(0,n.jsxs)(t.p,{children:["For more information read the ",(0,n.jsx)(t.a,{href:"../configuration/command#validator",children:"VALIDATOR"})," documentation and also see the ",(0,n.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/lib/inst_cmd_validator.rb",children:"Ruby Example"})," and the ",(0,n.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/lib/inst2_cmd_validator.py",children:"Python Example"})," in the ",(0,n.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/tree/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo",children:"COSMOS Demo"}),"."]})]})}function l(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},1522:function(e,t,o){o.d(t,{Z:()=>s});let s=o.p+"assets/images/command_history-ecc9b618661ad0aefa0700047a8ab3b094372f2aa427e9fcd270dcd352a30408.png"},2840:function(e,t,o){o.d(t,{Z:()=>c,a:()=>i});var s=o(2784);let n={},a=s.createContext(n);function i(e){let t=s.useContext(a);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["4456"],{827:function(e,t,o){o.r(t),o.d(t,{frontMatter:()=>l,default:()=>h,toc:()=>a,metadata:()=>s,assets:()=>c,contentTitle:()=>r});var s=JSON.parse('{"id":"tools/bucket-explorer","title":"Bucket Explorer","description":"File browser to the COSMOS backend bucket storage system","source":"@site/docs/tools/bucket-explorer.md","sourceDirName":"tools","slug":"/tools/bucket-explorer","permalink":"/tools/staticdocs/docs/tools/bucket-explorer","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/bucket-explorer.md","tags":[],"version":"current","frontMatter":{"title":"Bucket Explorer","description":"File browser to the COSMOS backend bucket storage system","sidebar_custom_props":{"myEmoji":"\uD83E\uDEA3"}},"sidebar":"defaultSidebar","previous":{"title":"Autonomic (Enterprise)","permalink":"/tools/staticdocs/docs/tools/autonomic"},"next":{"title":"Calendar (Enterprise)","permalink":"/tools/staticdocs/docs/tools/calendar"}}'),n=o(2322),i=o(2840);let l={title:"Bucket Explorer",description:"File browser to the COSMOS backend bucket storage system",sidebar_custom_props:{myEmoji:"\uD83E\uDEA3"}},r=void 0,c={},a=[{value:"Introduction",id:"introduction",level:2},{value:"Browsing Files",id:"browsing-files",level:2},{value:"Upload",id:"upload",level:3},{value:"Download",id:"download",level:3},{value:"Delete",id:"delete",level:3}];function d(e){let t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,n.jsx)(t.p,{children:"Bucket Explorer is a file browser to the COSMOS backend bucket storage system. It allows you to view files in an intuitive file browser hierarchy and download them. Bucket Explorer works both with local installations of COSMOS as well as cloud deployments which utilize cloud storage such as AWS S3 and GCP Cloud Storage."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Bucket Explorer",src:o(909).Z+"",width:"1271",height:"543"})}),"\n",(0,n.jsx)(t.h2,{id:"browsing-files",children:"Browsing Files"}),"\n",(0,n.jsxs)(t.p,{children:["At the top are the three standard COSMOS buckets: ",(0,n.jsx)(t.code,{children:"config"}),", ",(0,n.jsx)(t.code,{children:"logs"}),", and ",(0,n.jsx)(t.code,{children:"tools"}),". Each bucket contains top level folders named after the scope. In COSMOS Core the only scope is ",(0,n.jsx)(t.code,{children:"DEFAULT"}),". The ",(0,n.jsx)(t.code,{children:"config"})," bucket holds the COSMOS configuration which is populated as plugins are installed. The ",(0,n.jsx)(t.code,{children:"logs"})," bucket holds the COSMOS logs which are generated by the various COSMOS microservices (See ",(0,n.jsx)(t.a,{href:"/tools/staticdocs/docs/guides/logging",children:"Logging"})," for more info). These logs are gzipped to save storage space. The ",(0,n.jsx)(t.code,{children:"tools"})," bucket holds the source code for the built-in COSMOS tools as well as user created tools installed as plugins. Note that the search box only searches the current screen worth of files, e.g. it does not search the entire bucket."]}),"\n",(0,n.jsx)(t.admonition,{title:"Tools as Static Website",type:"note",children:(0,n.jsx)(t.p,{children:"Using bucket storage allows COSMOS to directly serve the tools as a static website and thus it must be a public bucket in cloud technology like S3"})}),"\n",(0,n.jsx)(t.h3,{id:"upload",children:"Upload"}),"\n",(0,n.jsxs)(t.p,{children:["Click the Upload icon to bring up a file browser to select a file to upload into the current bucket and path. Note that in ",(0,n.jsx)(t.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise"})," you can only upload files to the config/DEFAULT/targets_modified folder unless you're an Admin."]}),"\n",(0,n.jsx)(t.h3,{id:"download",children:"Download"}),"\n",(0,n.jsx)(t.p,{children:"Click the Download icon to download any of the individual files from any bucket and path."}),"\n",(0,n.jsx)(t.h3,{id:"delete",children:"Delete"}),"\n",(0,n.jsxs)(t.p,{children:["Click the Trash icon to delete an individual file. Note that in ",(0,n.jsx)(t.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise"})," you can only delete files in the config/DEFAULT/targets_modified folder unless you're an Admin."]})]})}function h(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},909:function(e,t,o){o.d(t,{Z:()=>s});let s=o.p+"assets/images/bucket_explorer-ba88a20121198c3441a6af5302ab1a6ad62a171661037e9e3bfd312ca8bdb5ef.png"},2840:function(e,t,o){o.d(t,{Z:()=>r,a:()=>l});var s=o(2784);let n={},i=s.createContext(n);function l(e){let t=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["2358"],{2233:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>l,default:()=>h,toc:()=>r,metadata:()=>i,assets:()=>s,contentTitle:()=>d});var i=JSON.parse('{"id":"tools/table-manager","title":"Table Manager","description":"Binary file editor with upload / download","source":"@site/docs/tools/table-manager.md","sourceDirName":"tools","slug":"/tools/table-manager","permalink":"/tools/staticdocs/docs/tools/table-manager","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/table-manager.md","tags":[],"version":"current","frontMatter":{"title":"Table Manager","description":"Binary file editor with upload / download","sidebar_custom_props":{"myEmoji":"\uD83E\uDE91"}},"sidebar":"defaultSidebar","previous":{"title":"System Health (Enterprise)","permalink":"/tools/staticdocs/docs/tools/systemhealth"},"next":{"title":"Telemetry Grapher","permalink":"/tools/staticdocs/docs/tools/tlm-grapher"}}'),o=n(2322),a=n(2840);let l={title:"Table Manager",description:"Binary file editor with upload / download",sidebar_custom_props:{myEmoji:"\uD83E\uDE91"}},d=void 0,s={},r=[{value:"Introduction",id:"introduction",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"File Download",id:"file-download",level:2},{value:"Upload / Download",id:"upload--download",level:2},{value:"upload.rb",id:"uploadrb",level:3},{value:"download.rb",id:"downloadrb",level:3}];function c(e){let t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,o.jsxs)(t.p,{children:["Table Manager is a binary file editor. It takes binary file ",(0,o.jsx)(t.a,{href:"/tools/staticdocs/docs/configuration/table",children:"definitions"})," similar to the COSMOS command packet definitions and builds a GUI to edit the fields in the binary file."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Table Manager",src:n(5464).Z+"",width:"1272",height:"849"})}),"\n",(0,o.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,o.jsx)("img",{src:n(5360).Z,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"150px"}}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Create a new binary based on ",(0,o.jsx)(t.a,{href:"/tools/staticdocs/docs/configuration/table",children:"definition"})]}),"\n",(0,o.jsx)(t.li,{children:"Open an existing binary"}),"\n",(0,o.jsx)(t.li,{children:"Save the current binary"}),"\n",(0,o.jsx)(t.li,{children:"Rename the current binary"}),"\n",(0,o.jsx)(t.li,{children:"Delete the current binary"}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"file-download",children:"File Download"}),"\n",(0,o.jsxs)(t.p,{children:["The three buttons next to File Download download the binary file, the ",(0,o.jsx)(t.a,{href:"/tools/staticdocs/docs/configuration/table",children:"definition"})," file, and the report file. The binary is the raw bits defined by the table. The ",(0,o.jsx)(t.a,{href:"/tools/staticdocs/docs/configuration/table",children:"definition"})," is the structure definition of those raw bits. The report file is a Table Manager generated CSV that shows all the table values in the binary."]}),"\n",(0,o.jsx)(t.h2,{id:"upload--download",children:"Upload / Download"}),"\n",(0,o.jsxs)(t.p,{children:["Table Manager has the ability to directly call a COSMOS script to upload a binary file to a target or download a file into Table Manager. If a file called ",(0,o.jsx)(t.code,{children:"upload.rb"})," is found in the Target's procedures directory then the Upload button becomes active. If a file called ",(0,o.jsx)(t.code,{children:"download.rb"})," is found in the Target's procedures directory then the Download button becomes active. The B/G button indicates whether to run the upload / download scripts in the background. If you uncheck this box a new Script Runner window will show the line by line execution of the script."]}),"\n",(0,o.jsx)(t.h3,{id:"uploadrb",children:"upload.rb"}),"\n",(0,o.jsxs)(t.p,{children:["The COSMOS demo creates the following ",(0,o.jsx)(t.code,{children:"upload.rb"})," script. Note that the ",(0,o.jsx)(t.code,{children:"ENV['TBL_FILENAME']"})," is set to the name of the table file and the script uses ",(0,o.jsx)(t.code,{children:"get_target_file"})," to get access to the file. At this point the logic to upload the file to the target is specific to the commanding defined by the target but an example script is given."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-ruby",children:'# TBL_FILENAME is set to the name of the table file\nputs "file:#{ENV[\'TBL_FILENAME\']}"\n# Open the file\nfile = get_target_file(ENV[\'TBL_FILENAME\'])\nbuffer = file.read\n# puts buffer.formatted\n# Implement custom commanding logic to upload the table\n# Note that buffer is a Ruby string of bytes\n# You probably want to do something like:\n# buf_size = 512 # Size of a buffer in the upload command\n# i = 0\n# while i < buffer.length\n# # Send a part of the buffer\n# # NOTE: triple dots means start index, up to but not including, end index\n# # while double dots means start index, up to AND including, end index\n# cmd("TGT", "UPLOAD", "DATA" => buffer[i...(i + buf_size)])\n# i += buf_size\n# end\nfile.delete\n'})}),"\n",(0,o.jsx)(t.h3,{id:"downloadrb",children:"download.rb"}),"\n",(0,o.jsxs)(t.p,{children:["The COSMOS demo creates the following ",(0,o.jsx)(t.code,{children:"download.rb"})," script. Note that the ",(0,o.jsx)(t.code,{children:"ENV['TBL_FILENAME']"})," is set to the name of the table file to OVERWRITE and the script uses ",(0,o.jsx)(t.code,{children:"put_target_file"})," to get access to the file. At this point the logic to download the file from the target is specific to the commanding defined by the target but an example script is given."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-ruby",children:"# TBL_FILENAME is set to the name of the table file to overwrite\nputs \"file:#{ENV['TBL_FILENAME']}\"\n# Download the file\n# Implement custom commanding logic to download the table\n# You probably want to do something like:\nbuffer = ''\n# i = 1\n# num_segments = 5 # calculate based on TBL_FILENAME\n# table_id = 1 # calculate based on TBL_FILENAME\n# while i < num_segments\n# # Request a part of the table buffer\n# cmd(\"TGT DUMP with TABLE_ID #{table_id}, SEGMENT #{i}\")\n# buffer += tlm(\"TGT DUMP_PKT DATA\")\n# i += 1\n# end\nput_target_file(ENV['TBL_FILENAME'], buffer)\n"})})]})}function h(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},5360:function(e,t,n){n.d(t,{Z:()=>i});let i=n.p+"assets/images/file_menu-d672c1f8064e5f847a2464397c1e75ee423452f1ba4a7d0861319bc7c7891196.png"},5464:function(e,t,n){n.d(t,{Z:()=>i});let i=n.p+"assets/images/table_manager-816d7a683e6883cb8049e5ec8ffef3076b37a489edcc0e5331bc5d81ab506da2.png"},2840:function(e,t,n){n.d(t,{Z:()=>d,a:()=>l});var i=n(2784);let o={},a=i.createContext(o);function l(e){let t=i.useContext(a);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["4986"],{3848:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>i,default:()=>m,toc:()=>r,metadata:()=>s,assets:()=>c,contentTitle:()=>o});var s=JSON.parse('{"id":"tools/cmd-sender","title":"Command Sender","description":"Send individual commands","source":"@site/docs/tools/cmd-sender.md","sourceDirName":"tools","slug":"/tools/cmd-sender","permalink":"/tools/staticdocs/docs/tools/cmd-sender","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/cmd-sender.md","tags":[],"version":"current","frontMatter":{"title":"Command Sender","description":"Send individual commands","sidebar_custom_props":{"myEmoji":"\uD83D\uDCE2"}},"sidebar":"defaultSidebar","previous":{"title":"Calendar (Enterprise)","permalink":"/tools/staticdocs/docs/tools/calendar"},"next":{"title":"Command and Telemetry Server","permalink":"/tools/staticdocs/docs/tools/cmd-tlm-server"}}'),a=n(2322),d=n(2840);let i={title:"Command Sender",description:"Send individual commands",sidebar_custom_props:{myEmoji:"\uD83D\uDCE2"}},o=void 0,c={},r=[{value:"Introduction",id:"introduction",level:2},{value:"Command Sender Menus",id:"command-sender-menus",level:2},{value:"Mode Menu Items",id:"mode-menu-items",level:3},{value:"Sending Commands",id:"sending-commands",level:2},{value:"Hazardous Commands",id:"hazardous-commands",level:3}];function l(e){let t={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,d.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,a.jsx)(t.p,{children:"Command Sender provides the ability to send any command defined by COSMOS. Commands are selected using the Target and Packet drop down fields which populate the command parameter (if any). A command history is stored which is also editable. Commands in the command history can be re-executed by pressing Enter. Related telemetry or screens are displayed in the bottom right next to the command history."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Command Sender",src:n(6011).Z+"",width:"2578",height:"1436"})}),"\n",(0,a.jsx)(t.h2,{id:"command-sender-menus",children:"Command Sender Menus"}),"\n",(0,a.jsx)(t.h3,{id:"mode-menu-items",children:"Mode Menu Items"}),"\n",(0,a.jsx)("img",{src:n(8579).Z,alt:"Mode Menu",style:{float:"left","margin-right":"50px",height:"120px"}}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Ignores parameter range checking"}),"\n",(0,a.jsx)(t.li,{children:"Displays parameter state values in hex"}),"\n",(0,a.jsx)(t.li,{children:"Shows ignored parameters"}),"\n",(0,a.jsx)(t.li,{children:"Disables all parameter conversions"}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"sending-commands",children:"Sending Commands"}),"\n",(0,a.jsx)(t.p,{children:"Select a command by first selecting the target from the Select Target drop down. Changing the target automatically updates the Select Packet options to only display commands from that target. If the command has parameters a table is generated with all the parameters."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"INST COLLECT",src:n(1454).Z+"",width:"2576",height:"1446"})}),"\n",(0,a.jsx)(t.p,{children:"Clicking on a parameter with States (like TYPE in the above example) brings up a drop down to select a state. Selecting a state populates the value field next to it. Sending a command updates the Status text and the Command History."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"States",src:n(146).Z+"",width:"2576",height:"1446"})}),"\n",(0,a.jsx)(t.p,{children:"You can directly edit the Command History to change a parameter value. Pressing Enter on the line will then execute the command. If the command has changed a new line will be entered in the Command History. Pressing Enter several times on the same line updates the Status text with the number of commands sent (3 in the next example)."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"History",src:n(1041).Z+"",width:"2576",height:"1446"})}),"\n",(0,a.jsx)(t.h3,{id:"hazardous-commands",children:"Hazardous Commands"}),"\n",(0,a.jsxs)(t.p,{children:["Sending ",(0,a.jsx)(t.a,{href:"/tools/staticdocs/docs/configuration/command#hazardous",children:"hazardous"})," commands will prompt the user whether to send the command."]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"INST CLEAR",src:n(6872).Z+"",width:"2576",height:"1512"})}),"\n",(0,a.jsxs)(t.p,{children:["Commands can also have hazardous ",(0,a.jsx)(t.a,{href:"/tools/staticdocs/docs/configuration/command#state",children:"states"})," (INST COLLECT with TYPE SPECIAL) which also prompt the user. In this example, we've also checked all the menu options to show ignored parameters, display state values in hex (see SPECIAL, 0x1), disabled range checking (DURATION 1000), and disabled parameter conversions."]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"INST COLLECT Hazardous",src:n(8331).Z+"",width:"2632",height:"2016"})}),"\n",(0,a.jsxs)(t.p,{children:["Selecting Yes will send the command and update the history with all the parameters shown. Note that when writing Scripts all parameters are optional unless explicitly marked ",(0,a.jsx)(t.a,{href:"/tools/staticdocs/docs/configuration/command#required",children:"required"}),"."]})]})}function m(e={}){let{wrapper:t}={...(0,d.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},8579:function(e,t,n){n.d(t,{Z:()=>s});let s=n.p+"assets/images/mode_menu-04b9187b57a09ed12481a2699a86c7504fdc1c822579b4f762865ea90cb52dd3.png"},146:function(e,t,n){n.d(t,{Z:()=>s});let s=n.p+"assets/images/collect_states-5418d5b4cb901577f2cbdeccceb254dd2e5b81b1f2c975fb15b5fc679cf23dbf.png"},6011:function(e,t,n){n.d(t,{Z:()=>s});let s=n.p+"assets/images/command_sender-83cf2e2343133c2883c405abd0b322f6d3d4a095c6ee800158a04c8eefe474ed.png"},1041:function(e,t,n){n.d(t,{Z:()=>s});let s=n.p+"assets/images/history-04aebef1a0fdaaacc5042e5b835f850b48ea04f4fe50271d9bb57803b442d6cd.png"},6872:function(e,t,n){n.d(t,{Z:()=>s});let s=n.p+"assets/images/inst_clear-48f37464d774363be4a5c1d30a48d4bc7803cb806a15d80dcd3741d7a9a37811.png"},1454:function(e,t,n){n.d(t,{Z:()=>s});let s=n.p+"assets/images/inst_collect-ef36e8a1e97fde625cde7a9c300c3db61aca30140f5431f089ce6a3e5da9d7f4.png"},8331:function(e,t,n){n.d(t,{Z:()=>s});let s=n.p+"assets/images/inst_collect_hazardous-02857bda2b5e7e821d3f42d3301962ede2bb4379c469a9d62f4a0e686336f0c4.png"},2840:function(e,t,n){n.d(t,{Z:()=>o,a:()=>i});var s=n(2784);let a={},d=s.createContext(a);function i(e){let t=s.useContext(d);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(d.Provider,{value:t},e.children)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["2415"],{2897:function(t,o,e){e.r(o),e.d(o,{frontMatter:()=>i,default:()=>m,toc:()=>d,metadata:()=>n,assets:()=>c,contentTitle:()=>r});var n=JSON.parse('{"id":"tools/handbooks","title":"Handbooks","description":"Format the command and telemetry definition into a webpage","source":"@site/docs/tools/handbooks.md","sourceDirName":"tools","slug":"/tools/handbooks","permalink":"/tools/staticdocs/docs/tools/handbooks","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/handbooks.md","tags":[],"version":"current","frontMatter":{"title":"Handbooks","description":"Format the command and telemetry definition into a webpage","sidebar_custom_props":{"myEmoji":"\uD83D\uDCD6"}},"sidebar":"defaultSidebar","previous":{"title":"Data Viewer","permalink":"/tools/staticdocs/docs/tools/data-viewer"},"next":{"title":"Limits Monitor","permalink":"/tools/staticdocs/docs/tools/limits-monitor"}}'),s=e(2322),a=e(2840);let i={title:"Handbooks",description:"Format the command and telemetry definition into a webpage",sidebar_custom_props:{myEmoji:"\uD83D\uDCD6"}},r=void 0,c={},d=[{value:"Introduction",id:"introduction",level:2}];function l(t){let o={a:"a",h2:"h2",img:"img",p:"p",...(0,a.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsxs)(o.p,{children:["Handbooks formats the COSMOS ",(0,s.jsx)(o.a,{href:"/tools/staticdocs/docs/configuration/command",children:"command"})," and ",(0,s.jsx)(o.a,{href:"/tools/staticdocs/docs/configuration/telemetry",children:"telemetry"})," definitions into a nicely formatted webpage that can be exported to a PDF."]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Handbooks",src:e(6208).Z+"",width:"1270",height:"710"})}),"\n",(0,s.jsx)(o.p,{children:"You can select the targets you want to display and the number of columns to display on the page. You can then use the browser to Print the page. Most browsers have the capability to Save as PDF rather than print to save the resulting page as PDF."})]})}function m(t={}){let{wrapper:o}={...(0,a.a)(),...t.components};return o?(0,s.jsx)(o,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},6208:function(t,o,e){e.d(o,{Z:()=>n});let n=e.p+"assets/images/handbooks-948da6f5aad7a4175441235f2aac82668f9233c60412e412439b2e2af0bd1a45.png"},2840:function(t,o,e){e.d(o,{Z:()=>r,a:()=>i});var n=e(2784);let s={},a=n.createContext(s);function i(t){let o=n.useContext(a);return n.useMemo(function(){return"function"==typeof t?t(o):{...o,...t}},[o,t])}function r(t){let o;return o=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:i(t.components),n.createElement(a.Provider,{value:o},t.children)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["5360"],{6904:function(e,t,a){a.r(t),a.d(t,{frontMatter:()=>d,default:()=>A,toc:()=>o,metadata:()=>n,assets:()=>l,contentTitle:()=>r});var n=JSON.parse('{"id":"tools/cmd-tlm-server","title":"Command and Telemetry Server","description":"Status about interfaces, targets and log messages","source":"@site/docs/tools/cmd-tlm-server.md","sourceDirName":"tools","slug":"/tools/cmd-tlm-server","permalink":"/tools/staticdocs/docs/tools/cmd-tlm-server","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/cmd-tlm-server.md","tags":[],"version":"current","frontMatter":{"title":"Command and Telemetry Server","description":"Status about interfaces, targets and log messages","sidebar_custom_props":{"myEmoji":"\uD83D\uDCE1"}},"sidebar":"defaultSidebar","previous":{"title":"Command Sender","permalink":"/tools/staticdocs/docs/tools/cmd-sender"},"next":{"title":"Command History (Enterprise)","permalink":"/tools/staticdocs/docs/tools/command_history"}}'),s=a(2322),i=a(2840);let d={title:"Command and Telemetry Server",description:"Status about interfaces, targets and log messages",sidebar_custom_props:{myEmoji:"\uD83D\uDCE1"}},r=void 0,l={},o=[{value:"Introduction",id:"introduction",level:2},{value:"Command and Telemetry Server Menus",id:"command-and-telemetry-server-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Interfaces Tab",id:"interfaces-tab",level:2},{value:"Targets Tab",id:"targets-tab",level:2},{value:"Command Packets Tab",id:"command-packets-tab",level:2},{value:"Telemetry Packets Tab",id:"telemetry-packets-tab",level:2},{value:"Status Tab",id:"status-tab",level:2},{value:"Log Messages",id:"log-messages",level:2}];function c(e){let t={a:"a",h2:"h2",h3:"h3",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsxs)(t.p,{children:["The Command and Telemetry Server application provides status about the ",(0,s.jsx)(t.a,{href:"/tools/staticdocs/docs/configuration/interfaces",children:"interfaces"})," and targets instantiated in your COSMOS installation. Interfaces can be connected or disconnected and raw byte counts are returned. The application also provides quick shortcuts to view\nboth raw and formatted command and telemetry packets as they go through the COSMOS system. At the bottom of the Command and Telemetry Server is the Log Messages showing server messages."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Cmd Tlm Server",src:a(6738).Z+"",width:"2788",height:"2052"})}),"\n",(0,s.jsx)(t.h2,{id:"command-and-telemetry-server-menus",children:"Command and Telemetry Server Menus"}),"\n",(0,s.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,s.jsx)(t.p,{children:"The Command and Telemetry Server has one menu under File -> Options:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"File Menu",src:a(1293).Z+"",width:"302",height:"114"})}),"\n",(0,s.jsx)(t.p,{children:"This dialog changes the refresh rate of the Command and Telemetry Server to reduce load on both your browser window and the backend server. Note that this changes the refresh rate of the various tabs in the application. The Log Messages will continue to update as messages are generated."}),"\n",(0,s.jsx)(t.h2,{id:"interfaces-tab",children:"Interfaces Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Interfaces tab displays all the interfaces defined by your COSMOS installation. You can Connect or Disconnect interfaces and view raw byte and packet counts."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Interfaces",src:a(983).Z+"",width:"1259",height:"431"})}),"\n",(0,s.jsx)(t.h2,{id:"targets-tab",children:"Targets Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Targets tab displays all the targets and their mapped interfaces along with the Command Authority status (Enterprise Only)."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Targets",src:a(7090).Z+"",width:"2212",height:"1058"})}),"\n",(0,s.jsx)(t.p,{children:"Command Authority is enabled in the Admin Console and is enabled scope wide. Once Command Authority is enabled, individual users can give and take Command Authority which enables exclusive command and script access to that target. Without Command Authority, users can not send a command or start a script under that target. Note, commands or scripts scheduled with Calendar or Autonomic are not affected by Command Authority."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Command Authority",src:a(1235).Z+"",width:"2788",height:"1282"})}),"\n",(0,s.jsx)(t.p,{children:"The other option shown in the Scope List is the Critical Command Mode. Critical commanding requires a different user to approve each command. It can either be enabled on just HAZARDOUS and RESTRICTED commands or on all manual commanding."}),"\n",(0,s.jsx)(t.p,{children:"Here is an example of sending a HAZARDOUS command in Command Sender when Critical Command Mode is set to NORMAL."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Critical Command",src:a(6997).Z+"",width:"2288",height:"758"})}),"\n",(0,s.jsx)(t.h2,{id:"command-packets-tab",children:"Command Packets Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Command Packets tab displays all the available commands. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of commands. The search bar searches all pages for a command."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Commands",src:a(5705).Z+"",width:"1259",height:"718"})}),"\n",(0,s.jsx)(t.p,{children:"Clicking on View Raw opens a dialog displaying the raw bytes for that command."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Raw Command",src:a(6226).Z+"",width:"782",height:"301"})}),"\n",(0,s.jsxs)(t.p,{children:["Clicking View in Command Sender opens up a new ",(0,s.jsx)(t.a,{href:"/tools/staticdocs/docs/tools/cmd-sender",children:"Command Sender"})," window with the specified command."]}),"\n",(0,s.jsx)(t.h2,{id:"telemetry-packets-tab",children:"Telemetry Packets Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Telemetry Packets tab displays all the available telemetry. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of telemetry packets. The search bar searches all pages for a telemetry packet."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Telemetry",src:a(5084).Z+"",width:"1259",height:"718"})}),"\n",(0,s.jsx)(t.p,{children:"Clicking on View Raw opens a dialog displaying the raw bytes for that telemetry packet."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Raw Telemetry",src:a(4834).Z+"",width:"782",height:"406"})}),"\n",(0,s.jsxs)(t.p,{children:["Clicking View in Packet Viewer opens up a new ",(0,s.jsx)(t.a,{href:"/tools/staticdocs/docs/tools/packet-viewer",children:"Packet Viewer"})," window with the specified telemetry packet."]}),"\n",(0,s.jsx)(t.h2,{id:"status-tab",children:"Status Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Status tab displays COSMOS system metrics."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Status",src:a(1218).Z+"",width:"1259",height:"718"})}),"\n",(0,s.jsx)(t.h2,{id:"log-messages",children:"Log Messages"}),"\n",(0,s.jsx)(t.p,{children:"The Log Messages table sits below all the tabs in the Command and Telemetry Server application. It displays server messages such as limits events (new RED, YELLOW, GREEN values), logging events (new files) and interface events (connecting and disconnecting). It can be filtered by severity or by entering values in the Search box. It can also be paused and resumed to inspect an individual message."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Log Messages",src:a(6044).Z+"",width:"2788",height:"1172"})})]})}function A(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},1235:function(e,t,a){a.d(t,{Z:()=>n});let n=a.p+"assets/images/cmd_authority-34cde391ad5109ad53bca40b55cb74d59e8cd1d0e70eedb3e5bf4d258c324787.png"},5705:function(e,t,a){a.d(t,{Z:()=>n});let n=a.p+"assets/images/cmd_packets-160c7b28230a14f05433d063cdccc63958bb5d90f4e6b80492cd9568b0761a75.png"},6226:function(e,t,a){a.d(t,{Z:()=>n});let n=a.p+"assets/images/cmd_raw-28307ac400b66050ada7ecc8b7701deffe8fb7f01129b63ec35a54857cb886b7.png"},6738:function(e,t,a){a.d(t,{Z:()=>n});let n=a.p+"assets/images/cmd_tlm_server-dbc02e99c1c837efabeba52831d1d2a3445904fb06b758aaa747496725423fe5.png"},6997:function(e,t,a){a.d(t,{Z:()=>n});let n=a.p+"assets/images/critical_cmd_sender-dd81e845489cf1efd3e08cec87da2262eb9f22dbeb3d89359edf0c58146524a1.png"},1293:function(e,t,a){a.d(t,{Z:()=>n});let n="data:image/png;base64,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"},983:function(e,t,a){a.d(t,{Z:()=>n});let n=a.p+"assets/images/interfaces-0fe2a4a02d9b8a16bbf178f0d4ee393a79ca606e8cf27ff7d8508bd2cb9b0643.png"},6044:function(e,t,a){a.d(t,{Z:()=>n});let n=a.p+"assets/images/log_messages-6da2901ac63928daa3dcaf39a78ca9e455482c48d4ba917ee704f697e5210818.png"},1218:function(e,t,a){a.d(t,{Z:()=>n});let n=a.p+"assets/images/status-8ba274306305afaa5642162904c234b69086870b56e1048b1fdffa481aa0e96b.png"},7090:function(e,t,a){a.d(t,{Z:()=>n});let n=a.p+"assets/images/targets-6b17daf175185b13bea9eddafd4773e5f41d1ef4e953134f30bee0799c1e5c31.png"},5084:function(e,t,a){a.d(t,{Z:()=>n});let n=a.p+"assets/images/tlm_packets-0b02f1f3799948a8278e90f11e7d7f283d9686d3dac18c68b41d25ef49568d22.png"},4834:function(e,t,a){a.d(t,{Z:()=>n});let n=a.p+"assets/images/tlm_raw-cc2223b25e8fc732557856168fd7fa04e7b3459bbd163825639fb6235a8e6180.png"},2840:function(e,t,a){a.d(t,{Z:()=>r,a:()=>d});var n=a(2784);let s={},i=n.createContext(s);function d(e){let t=n.useContext(i);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9564"],{1945:function(e,t,s){s.r(t),s.d(t,{frontMatter:()=>l,default:()=>h,toc:()=>r,metadata:()=>i,assets:()=>o,contentTitle:()=>c});var i=JSON.parse('{"id":"tools/admin","title":"Admin","description":"Administer COSMOS, install plugins, change settings","source":"@site/docs/tools/admin.md","sourceDirName":"tools","slug":"/tools/admin","permalink":"/tools/staticdocs/docs/tools/admin","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/admin.md","tags":[],"version":"current","frontMatter":{"title":"Admin","description":"Administer COSMOS, install plugins, change settings","sidebar_custom_props":{"myEmoji":"\uD83E\uDDD1\u200D\u2696\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Tools","permalink":"/tools/staticdocs/docs/tools"},"next":{"title":"Autonomic (Enterprise)","permalink":"/tools/staticdocs/docs/tools/autonomic"}}'),n=s(2322),a=s(2840);let l={title:"Admin",description:"Administer COSMOS, install plugins, change settings",sidebar_custom_props:{myEmoji:"\uD83E\uDDD1\u200D\u2696\uFE0F"}},c=void 0,o={},r=[{value:"Introduction",id:"introduction",level:2},{value:"Plugins",id:"plugins",level:3},{value:"Targets",id:"targets",level:3},{value:"Interfaces",id:"interfaces",level:3},{value:"Routers",id:"routers",level:3},{value:"Microservices",id:"microservices",level:3},{value:"Packages",id:"packages",level:3},{value:"Tools",id:"tools",level:3},{value:"Redis",id:"redis",level:3},{value:"Secrets",id:"secrets",level:3},{value:"Settings",id:"settings",level:3}];function d(e){let t={a:"a",h2:"h2",h3:"h3",img:"img",p:"p",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,n.jsx)(t.p,{children:"Admin has it's own dedicated button at the top of the tools list. It is responsible for administering the COSMOS system including installing new plugins, viewing configuration, storing secrets and changing settings."}),"\n",(0,n.jsx)(t.h3,{id:"plugins",children:"Plugins"}),"\n",(0,n.jsx)(t.p,{children:"The Plugins tab is where you install new plugins into the COSMOS system. Plugins can dynamically add targets, microservices, interfaces, protocols, Telemetry Viewer widgets, and entire tools into the COSMOS runtime. The following screenshot shows the Plugins tab when only the COSMOS Demo is installed:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Plugins",src:s(8880).Z+"",width:"2200",height:"874"})}),"\n",(0,n.jsx)(t.p,{children:"The plugin gem name is listed along with all the targets it contains. You can Download, Edit, Upgrade, or Delete (uninstall) the plugin using the buttons to the right. If a plugin's target has been modified, the target name turns into a link which when clicked will download the changed files. New plugins are installed by clicking the top field."}),"\n",(0,n.jsx)(t.h3,{id:"targets",children:"Targets"}),"\n",(0,n.jsx)(t.p,{children:"The Targets tab shows all the targets installed and what plugin they came from. Clicking the eyeball shows the raw JSON that makes up the target configuration."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Targets",src:s(2241).Z+"",width:"2200",height:"964"})}),"\n",(0,n.jsx)(t.h3,{id:"interfaces",children:"Interfaces"}),"\n",(0,n.jsx)(t.p,{children:"The Interfaces tab shows all the interfaces installed. Clicking the eyeball shows the raw JSON that makes up the interface configuration."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Interfaces",src:s(1932).Z+"",width:"2200",height:"766"})}),"\n",(0,n.jsx)(t.h3,{id:"routers",children:"Routers"}),"\n",(0,n.jsx)(t.p,{children:"The Routers tab shows all the routers installed. Clicking the eyeball shows the raw JSON that makes up the router configuration."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Routers",src:s(3238).Z+"",width:"2200",height:"480"})}),"\n",(0,n.jsx)(t.h3,{id:"microservices",children:"Microservices"}),"\n",(0,n.jsx)(t.p,{children:"The Microservices tab shows all the microservices installed, their update time, state, and count. Clicking the eyeball shows the raw JSON that makes up the microservice configuration."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Microservices",src:s(1844).Z+"",width:"2200",height:"1226"})}),"\n",(0,n.jsx)(t.h3,{id:"packages",children:"Packages"}),"\n",(0,n.jsx)(t.p,{children:"The Packages tab shows all the Ruby gems and Python packages installed in the system. You can also install packages from this tab if you're in an offline (air gapped) environment where COSMOS can't pull dependencies from Rubygems or Pypi."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Packages",src:s(633).Z+"",width:"2200",height:"2620"})}),"\n",(0,n.jsx)(t.h3,{id:"tools",children:"Tools"}),"\n",(0,n.jsx)(t.p,{children:"The Tools tab lists all the tools installed. You can reorder the tools in the Navigation bar by dragging and dropping the left side grab handle."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Tools",src:s(7065).Z+"",width:"2200",height:"2192"})}),"\n",(0,n.jsxs)(t.p,{children:["You can also add links to existing tools in the navigation bar by using the Add button. Any ",(0,n.jsx)(t.a,{href:"https://pictogrammers.com/library/mdi/",children:"material design icons"})," can be used as the Tool icon."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Add Tool",src:s(6387).Z+"",width:"2060",height:"232"})}),"\n",(0,n.jsx)(t.h3,{id:"redis",children:"Redis"}),"\n",(0,n.jsx)(t.p,{children:"The Redis tab allows you to interact directly with the underlying Redis database, making it easy to modify or delete data. THIS IS DANGEROUS, and should only be performed by COSMOS developers."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Redis",src:s(6462).Z+"",width:"2200",height:"1254"})}),"\n",(0,n.jsx)(t.h3,{id:"secrets",children:"Secrets"}),"\n",(0,n.jsxs)(t.p,{children:["The Secrets tab allows you to create secrets that can be used by Interfaces or Microservices using the ",(0,n.jsx)(t.a,{href:"../configuration/plugins#secret",children:"SECRET"})," keyword. Secrets require setting the Secret Name and then can be set to an individual value using the Secret Value, or to the contents of a file (like a certificate file) using the file selector. In the following example the USERNAME and PASSWORD were set to values while CA_FILE was set using an uploaded certificate file."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Secrets",src:s(6728).Z+"",width:"2200",height:"962"})}),"\n",(0,n.jsx)(t.h3,{id:"settings",children:"Settings"}),"\n",(0,n.jsx)(t.p,{children:"The Settings tab contains various settings used throughout COSMOS. These including clearing saved tool configuration, hiding the Astro Clock, changing the system time zone, adding a top and bottom banner, creating a subtitle in the navigation bar, and changing the URLs of the various package libraries."}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.img,{alt:"Settings1",src:s(7792).Z+"",width:"2200",height:"2172"}),"\n",(0,n.jsx)(t.img,{alt:"Settings2",src:s(4512).Z+"",width:"2200",height:"2436"})]})]})}function h(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},6387:function(e,t,s){s.d(t,{Z:()=>i});let i=s.p+"assets/images/add_tool-6919be6e6c05db133a8816a9fc03bf98b0789a8525da4cdaa7b041b25bf9edb8.png"},1932:function(e,t,s){s.d(t,{Z:()=>i});let i=s.p+"assets/images/interfaces-fa10646a27eb9045b70c2c485498a864bed1896ff171b7f31f8698288e08ae73.png"},1844:function(e,t,s){s.d(t,{Z:()=>i});let i=s.p+"assets/images/microservices-805cc7d137958ac8183579cdb9a9845e7aef79db19723f0773f4ea4d957b48a1.png"},633:function(e,t,s){s.d(t,{Z:()=>i});let i=s.p+"assets/images/packages-3bfae1a91b0534077280c323a40e879a8ac6a7c3ac45376b3c706a098dab12c3.png"},8880:function(e,t,s){s.d(t,{Z:()=>i});let i=s.p+"assets/images/plugins-aabbe060bec19e6fa2490b737f20758af9000066121f5af85f260a3b14f9b3d8.png"},6462:function(e,t,s){s.d(t,{Z:()=>i});let i=s.p+"assets/images/redis-4553b5b35292cca3df1fa08577f2175efef34e0fdfe512f30ca70785b086b24f.png"},3238:function(e,t,s){s.d(t,{Z:()=>i});let i=s.p+"assets/images/routers-489fe07165973feede7a63adf71781cca7ecb1f7d17c069761c1c57e70cf926e.png"},6728:function(e,t,s){s.d(t,{Z:()=>i});let i=s.p+"assets/images/secrets-c8daf324829a0d4dde1d30f9da89d884ca06ce458e400dfa5d1de4ccb10395a1.png"},7792:function(e,t,s){s.d(t,{Z:()=>i});let i=s.p+"assets/images/settings1-36a446ec0455ae5ab3a6d225647264647e517e1e2d83da5c639a63756e0339a6.png"},4512:function(e,t,s){s.d(t,{Z:()=>i});let i=s.p+"assets/images/settings2-c18e478b65ba569bea37a2bb185b4702e347aecc570fbc7b26a6e66aeecc9129.png"},2241:function(e,t,s){s.d(t,{Z:()=>i});let i=s.p+"assets/images/targets-c02c28769712aa226fdcbd3b90329285aeb39e775b9be1df6ab0e2ad31231518.png"},7065:function(e,t,s){s.d(t,{Z:()=>i});let i=s.p+"assets/images/tools-d3ea80e2fdc04e5b85743146ebaf1fc7f1406b7b5e6ec9b700ed35dedc8d16e6.png"},2840:function(e,t,s){s.d(t,{Z:()=>c,a:()=>l});var i=s(2784);let n={},a=i.createContext(n);function l(e){let t=i.useContext(a);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]);