/ docs / assets / architecture.svg
architecture.svg
1  <?xml version="1.0" encoding="UTF-8"?>
2  <!-- Do not edit this file with editors other than draw.io -->
3  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4  <svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="639px" height="641px" viewBox="0 0 639 641" content="&lt;mxfile host=&quot;app.diagrams.net&quot; agent=&quot;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36&quot; version=&quot;29.2.7&quot; pages=&quot;3&quot;&gt;&#10;  &lt;diagram name=&quot;第 1 页&quot; id=&quot;VFc9j8le7ThpKCAuti8O&quot;&gt;&#10;    &lt;mxGraphModel dx=&quot;1426&quot; dy=&quot;770&quot; grid=&quot;1&quot; gridSize=&quot;10&quot; guides=&quot;1&quot; tooltips=&quot;1&quot; connect=&quot;1&quot; arrows=&quot;1&quot; fold=&quot;1&quot; page=&quot;1&quot; pageScale=&quot;1&quot; pageWidth=&quot;827&quot; pageHeight=&quot;1169&quot; math=&quot;0&quot; shadow=&quot;0&quot;&gt;&#10;      &lt;root&gt;&#10;        &lt;mxCell id=&quot;0&quot; /&gt;&#10;        &lt;mxCell id=&quot;1&quot; parent=&quot;0&quot; /&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-34&quot; parent=&quot;1&quot; style=&quot;swimlane;startSize=30;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9F7AB0;fontSize=16;fontStyle=1&quot; value=&quot;OpenSandbox SDKs&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;130&quot; width=&quot;600&quot; x=&quot;150&quot; y=&quot;480&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-35&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-34&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;fillColor=#E7E5FF;strokeColor=#006EAF;fontColor=#000000;&quot; value=&quot;Sandbox&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;40&quot; width=&quot;120&quot; x=&quot;30&quot; y=&quot;50&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-36&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-34&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;fillColor=#E7E5FF;strokeColor=#006EAF;fontColor=#000000;&quot; value=&quot;Filesystem&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;40&quot; width=&quot;120&quot; x=&quot;170&quot; y=&quot;50&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-37&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-34&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;fillColor=#E7E5FF;strokeColor=#006EAF;fontColor=#000000;&quot; value=&quot;Commands&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;40&quot; width=&quot;120&quot; x=&quot;310&quot; y=&quot;50&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-38&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-34&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;fillColor=#E7E5FF;strokeColor=#006EAF;fontColor=#000000;&quot; value=&quot;CodeInterpreter&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;40&quot; width=&quot;120&quot; x=&quot;450&quot; y=&quot;50&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-39&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-34&quot; style=&quot;text;whiteSpace=wrap;html=1;&quot; value=&quot;&amp;lt;span style=&amp;quot;color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&amp;quot;&amp;gt;Command execution&amp;lt;/span&amp;gt;&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;20&quot; width=&quot;106&quot; x=&quot;314&quot; y=&quot;100&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-40&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-34&quot; style=&quot;text;whiteSpace=wrap;html=1;&quot; value=&quot;&amp;lt;span style=&amp;quot;color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&amp;quot;&amp;gt;File Operation&amp;lt;/span&amp;gt;&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;20&quot; width=&quot;90&quot; x=&quot;200&quot; y=&quot;100&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-41&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-34&quot; style=&quot;text;whiteSpace=wrap;html=1;&quot; value=&quot;&amp;lt;div style=&amp;quot;forced-color-adjust: none; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: 11px; color: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));&amp;quot;&amp;gt;Code execution&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;20&quot; width=&quot;80&quot; x=&quot;480&quot; y=&quot;100&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-42&quot; parent=&quot;1&quot; style=&quot;swimlane;startSize=30;whiteSpace=wrap;html=1;fillColor=#FFF3E0;strokeColor=#EF6C00;fontSize=16;fontStyle=1&quot; value=&quot;OpenSandbox Specs&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;100&quot; width=&quot;600&quot; x=&quot;150&quot; y=&quot;660&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-43&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-42&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;fillColor=#FFECB3;strokeColor=#FFA000;&quot; value=&quot;&amp;lt;div&amp;gt;Sandbox Lifecycle Spec&amp;lt;/div&amp;gt;&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;40&quot; width=&quot;170&quot; x=&quot;80&quot; y=&quot;46&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-44&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-42&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;fillColor=#FFECB3;strokeColor=#FFA000;&quot; value=&quot;Sandbox Execution Spec&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;40&quot; width=&quot;170&quot; x=&quot;390&quot; y=&quot;46&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-45&quot; parent=&quot;1&quot; style=&quot;swimlane;startSize=30;whiteSpace=wrap;html=1;fillColor=#E8F5E8;strokeColor=#388E3C;fontSize=16;fontStyle=1&quot; value=&quot;OpenSandbox Runtime&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;140&quot; width=&quot;600&quot; x=&quot;150&quot; y=&quot;810&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-46&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-45&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#4CAF50;&quot; value=&quot;Docker Runtime&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;40&quot; width=&quot;140&quot; x=&quot;50&quot; y=&quot;90&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-47&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-45&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#4CAF50;&quot; value=&quot;Kubernetes Runtime&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;40&quot; width=&quot;140&quot; x=&quot;230&quot; y=&quot;90&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-48&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-45&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#4CAF50;&quot; value=&quot;Sandbox Lifecycle Implementation&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;40&quot; width=&quot;220&quot; x=&quot;190&quot; y=&quot;40&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-49&quot; parent=&quot;1&quot; style=&quot;swimlane;startSize=30;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=16;fontStyle=1&quot; value=&quot;Sandbox Instances&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;110&quot; width=&quot;600&quot; x=&quot;150&quot; y=&quot;1000&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-50&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-49&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;fillColor=#99CCFF;strokeColor=#0066CC;&quot; value=&quot;Sandbox Container&amp;amp;nbsp;&amp;lt;div&amp;gt;(e.g., ubuntu:22.04)&amp;lt;/div&amp;gt;&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;40&quot; width=&quot;200&quot; x=&quot;40&quot; y=&quot;50&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-51&quot; edge=&quot;1&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-49&quot; source=&quot;0yQUItjMywsnnXkV5zJc-52&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;&quot; target=&quot;0yQUItjMywsnnXkV5zJc-50&quot;&gt;&#10;          &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-52&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-49&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;fillColor=#99CCFF;strokeColor=#0066CC;&quot; value=&quot;execd&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;40&quot; width=&quot;200&quot; x=&quot;375&quot; y=&quot;50&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-53&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-49&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;&quot; value=&quot;Inject at startup&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;20&quot; width=&quot;100&quot; x=&quot;250&quot; y=&quot;70&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-54&quot; parent=&quot;0yQUItjMywsnnXkV5zJc-49&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;&quot; value=&quot;&amp;lt;div style=&amp;quot;line-height: 100%;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;20&quot; width=&quot;200&quot; x=&quot;370&quot; y=&quot;100&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-55&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;0yQUItjMywsnnXkV5zJc-35&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;endArrow=classic;html=1;exitX=0.5;exitY=1;entryX=0.25;entryY=0;exitDx=0;exitDy=0;&quot; target=&quot;0yQUItjMywsnnXkV5zJc-43&quot;&gt;&#10;          &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-56&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;0yQUItjMywsnnXkV5zJc-36&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;endArrow=classic;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitDx=0;exitDy=0;&quot; target=&quot;0yQUItjMywsnnXkV5zJc-44&quot;&gt;&#10;          &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;530&quot; y=&quot;710&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-57&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;0yQUItjMywsnnXkV5zJc-37&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;endArrow=classic;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;&quot; target=&quot;0yQUItjMywsnnXkV5zJc-44&quot;&gt;&#10;          &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-58&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;0yQUItjMywsnnXkV5zJc-38&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;endArrow=classic;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;&quot; target=&quot;0yQUItjMywsnnXkV5zJc-44&quot;&gt;&#10;          &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-59&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;0yQUItjMywsnnXkV5zJc-43&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;endArrow=classic;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; target=&quot;0yQUItjMywsnnXkV5zJc-48&quot;&gt;&#10;          &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-60&quot; parent=&quot;1&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#4CAF50;&quot; value=&quot;Custom Runtime&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry height=&quot;40&quot; width=&quot;140&quot; x=&quot;560&quot; y=&quot;900&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;0yQUItjMywsnnXkV5zJc-61&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;0yQUItjMywsnnXkV5zJc-44&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;&quot;&gt;&#10;          &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;Array as=&quot;points&quot;&gt;&#10;              &lt;mxPoint x=&quot;780&quot; y=&quot;730&quot; /&gt;&#10;              &lt;mxPoint x=&quot;780&quot; y=&quot;1070&quot; /&gt;&#10;            &lt;/Array&gt;&#10;            &lt;mxPoint x=&quot;725&quot; y=&quot;1070&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;      &lt;/root&gt;&#10;    &lt;/mxGraphModel&gt;&#10;  &lt;/diagram&gt;&#10;  &lt;diagram id=&quot;lZykGmgdYMU3AXirY2bJ&quot; name=&quot;第 2 页&quot;&gt;&#10;    &lt;mxGraphModel dx=&quot;706&quot; dy=&quot;770&quot; grid=&quot;1&quot; gridSize=&quot;10&quot; guides=&quot;1&quot; tooltips=&quot;1&quot; connect=&quot;1&quot; arrows=&quot;1&quot; fold=&quot;1&quot; page=&quot;1&quot; pageScale=&quot;1&quot; pageWidth=&quot;827&quot; pageHeight=&quot;1169&quot; math=&quot;0&quot; shadow=&quot;0&quot;&gt;&#10;      &lt;root&gt;&#10;        &lt;mxCell id=&quot;0&quot; /&gt;&#10;        &lt;mxCell id=&quot;1&quot; parent=&quot;0&quot; /&gt;&#10;      &lt;/root&gt;&#10;    &lt;/mxGraphModel&gt;&#10;  &lt;/diagram&gt;&#10;  &lt;diagram id=&quot;U_dXJKIcznDZcgrkZAQD&quot; name=&quot;第 3 页&quot;&gt;&#10;    &lt;mxGraphModel dx=&quot;1426&quot; dy=&quot;824&quot; grid=&quot;1&quot; gridSize=&quot;10&quot; guides=&quot;1&quot; tooltips=&quot;1&quot; connect=&quot;1&quot; arrows=&quot;1&quot; fold=&quot;1&quot; page=&quot;1&quot; pageScale=&quot;1&quot; pageWidth=&quot;827&quot; pageHeight=&quot;1169&quot; math=&quot;0&quot; shadow=&quot;0&quot;&gt;&#10;      &lt;root&gt;&#10;        &lt;mxCell id=&quot;0&quot; /&gt;&#10;        &lt;mxCell id=&quot;1&quot; parent=&quot;0&quot; /&gt;&#10;      &lt;/root&gt;&#10;    &lt;/mxGraphModel&gt;&#10;  &lt;/diagram&gt;&#10;&lt;/mxfile&gt;&#10;"><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="0yQUItjMywsnnXkV5zJc-34"><g transform="translate(0.5,0.5)"><path d="M 0 30 L 0 0 L 600 0 L 600 30" fill="#e1d5e7" stroke="#9f7ab0" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(225, 213, 231), rgb(57, 47, 63)); stroke: light-dark(rgb(159, 122, 176), rgb(144, 112, 158));"/><path d="M 0 30 L 0 130 L 600 130 L 600 30" fill="none" stroke="#9f7ab0" stroke-miterlimit="10" pointer-events="none" style="stroke: light-dark(rgb(159, 122, 176), rgb(144, 112, 158));"/><path d="M 0 30 L 600 30" fill="none" stroke="#9f7ab0" stroke-miterlimit="10" pointer-events="none" style="stroke: light-dark(rgb(159, 122, 176), rgb(144, 112, 158));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 598px; height: 1px; padding-top: 15px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">OpenSandbox SDKs</div></div></div></foreignObject><text x="300" y="20" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="16px" text-anchor="middle" font-weight="bold">OpenSandbox SDKs</text></switch></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-35"><g transform="translate(0.5,0.5)"><rect x="30" y="50" width="120" height="40" rx="6" ry="6" fill="#e7e5ff" stroke="#006eaf" pointer-events="all" style="fill: light-dark(rgb(231, 229, 255), rgb(38, 36, 58)); stroke: light-dark(rgb(0, 110, 175), rgb(81, 175, 231));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 70px; margin-left: 31px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Sandbox</div></div></div></foreignObject><text x="90" y="74" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Sandbox</text></switch></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-36"><g transform="translate(0.5,0.5)"><rect x="170" y="50" width="120" height="40" rx="6" ry="6" fill="#e7e5ff" stroke="#006eaf" pointer-events="all" style="fill: light-dark(rgb(231, 229, 255), rgb(38, 36, 58)); stroke: light-dark(rgb(0, 110, 175), rgb(81, 175, 231));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 70px; margin-left: 171px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Filesystem</div></div></div></foreignObject><text x="230" y="74" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Filesystem</text></switch></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-37"><g transform="translate(0.5,0.5)"><rect x="310" y="50" width="120" height="40" rx="6" ry="6" fill="#e7e5ff" stroke="#006eaf" pointer-events="all" style="fill: light-dark(rgb(231, 229, 255), rgb(38, 36, 58)); stroke: light-dark(rgb(0, 110, 175), rgb(81, 175, 231));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 70px; margin-left: 311px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Commands</div></div></div></foreignObject><text x="370" y="74" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Commands</text></switch></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-38"><g transform="translate(0.5,0.5)"><rect x="450" y="50" width="120" height="40" rx="6" ry="6" fill="#e7e5ff" stroke="#006eaf" pointer-events="all" style="fill: light-dark(rgb(231, 229, 255), rgb(38, 36, 58)); stroke: light-dark(rgb(0, 110, 175), rgb(81, 175, 231));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 70px; margin-left: 451px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">CodeInterpreter</div></div></div></foreignObject><text x="510" y="74" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeInterpreter</text></switch></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-39"><g transform="translate(0.5,0.5)"><rect x="314" y="100" width="106" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 104px; height: 1px; padding-top: 107px; margin-left: 316px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="color: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Command execution</span></div></div></div></foreignObject><text x="316" y="119" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px">Command execution</text></switch></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-40"><g transform="translate(0.5,0.5)"><rect x="200" y="100" width="90" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 88px; height: 1px; padding-top: 107px; margin-left: 202px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="color: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">File Operation</span></div></div></div></foreignObject><text x="202" y="119" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px">File Operation</text></switch></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-41"><g transform="translate(0.5,0.5)"><rect x="480" y="100" width="80" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 78px; height: 1px; padding-top: 107px; margin-left: 482px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div style="forced-color-adjust: none; color: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><span style="font-size: 11px; color: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));">Code execution</span></div></div></div></div></foreignObject><text x="482" y="119" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px">Code execution</text></switch></g></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-42"><g transform="translate(0.5,0.5)"><path d="M 0 210 L 0 180 L 600 180 L 600 210" fill="#fff3e0" stroke="#ef6c00" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(255, 243, 224), rgb(36, 26, 9)); stroke: light-dark(rgb(239, 108, 0), rgb(222, 110, 17));"/><path d="M 0 210 L 0 280 L 600 280 L 600 210" fill="none" stroke="#ef6c00" stroke-miterlimit="10" pointer-events="none" style="stroke: light-dark(rgb(239, 108, 0), rgb(222, 110, 17));"/><path d="M 0 210 L 600 210" fill="none" stroke="#ef6c00" stroke-miterlimit="10" pointer-events="none" style="stroke: light-dark(rgb(239, 108, 0), rgb(222, 110, 17));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 598px; height: 1px; padding-top: 195px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">OpenSandbox Specs</div></div></div></foreignObject><text x="300" y="200" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="16px" text-anchor="middle" font-weight="bold">OpenSandbox Specs</text></switch></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-43"><g transform="translate(0.5,0.5)"><rect x="80" y="226" width="170" height="40" rx="6" ry="6" fill="#ffecb3" stroke="#ffa000" pointer-events="all" style="fill: light-dark(rgb(255, 236, 179), rgb(50, 34, 0)); stroke: light-dark(rgb(255, 160, 0), rgb(167, 85, 0));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 246px; margin-left: 81px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Sandbox Lifecycle Spec</div></div></div></div></foreignObject><text x="165" y="250" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Sandbox Lifecycle Spec</text></switch></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-44"><g transform="translate(0.5,0.5)"><rect x="390" y="226" width="170" height="40" rx="6" ry="6" fill="#ffecb3" stroke="#ffa000" pointer-events="all" style="fill: light-dark(rgb(255, 236, 179), rgb(50, 34, 0)); stroke: light-dark(rgb(255, 160, 0), rgb(167, 85, 0));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 246px; margin-left: 391px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Sandbox Execution Spec</div></div></div></foreignObject><text x="475" y="250" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Sandbox Execution Spec</text></switch></g></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-45"><g transform="translate(0.5,0.5)"><path d="M 0 360 L 0 330 L 600 330 L 600 360" fill="#e8f5e8" stroke="#388e3c" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(232, 245, 232), rgb(21, 33, 21)); stroke: light-dark(rgb(56, 142, 60), rgb(83, 157, 86));"/><path d="M 0 360 L 0 470 L 600 470 L 600 360" fill="none" stroke="#388e3c" stroke-miterlimit="10" pointer-events="none" style="stroke: light-dark(rgb(56, 142, 60), rgb(83, 157, 86));"/><path d="M 0 360 L 600 360" fill="none" stroke="#388e3c" stroke-miterlimit="10" pointer-events="none" style="stroke: light-dark(rgb(56, 142, 60), rgb(83, 157, 86));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 598px; height: 1px; padding-top: 345px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">OpenSandbox Runtime</div></div></div></foreignObject><text x="300" y="350" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="16px" text-anchor="middle" font-weight="bold">OpenSandbox Runtime</text></switch></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-46"><g transform="translate(0.5,0.5)"><rect x="50" y="420" width="140" height="40" rx="6" ry="6" fill="#c8e6c9" stroke="#4caf50" pointer-events="all" style="fill: light-dark(rgb(200, 230, 201), rgb(28, 54, 29)); stroke: light-dark(rgb(76, 175, 80), rgb(50, 135, 54));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 440px; margin-left: 51px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Docker Runtime</div></div></div></foreignObject><text x="120" y="444" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Docker Runtime</text></switch></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-47"><g transform="translate(0.5,0.5)"><rect x="230" y="420" width="140" height="40" rx="6" ry="6" fill="#c8e6c9" stroke="#4caf50" pointer-events="all" style="fill: light-dark(rgb(200, 230, 201), rgb(28, 54, 29)); stroke: light-dark(rgb(76, 175, 80), rgb(50, 135, 54));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 440px; margin-left: 231px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Kubernetes Runtime</div></div></div></foreignObject><text x="300" y="444" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Kubernetes Runtime</text></switch></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-48"><g transform="translate(0.5,0.5)"><rect x="190" y="370" width="220" height="40" rx="6" ry="6" fill="#c8e6c9" stroke="#4caf50" pointer-events="all" style="fill: light-dark(rgb(200, 230, 201), rgb(28, 54, 29)); stroke: light-dark(rgb(76, 175, 80), rgb(50, 135, 54));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 218px; height: 1px; padding-top: 390px; margin-left: 191px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Sandbox Lifecycle Implementation</div></div></div></foreignObject><text x="300" y="394" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Sandbox Lifecycle Implementation</text></switch></g></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-49"><g transform="translate(0.5,0.5)"><path d="M 0 550 L 0 520 L 600 520 L 600 550" fill="#dae8fc" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(218, 232, 252), rgb(29, 41, 59)); stroke: light-dark(rgb(108, 142, 191), rgb(92, 121, 163));"/><path d="M 0 550 L 0 630 L 600 630 L 600 550" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="none" style="stroke: light-dark(rgb(108, 142, 191), rgb(92, 121, 163));"/><path d="M 0 550 L 600 550" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="none" style="stroke: light-dark(rgb(108, 142, 191), rgb(92, 121, 163));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 598px; height: 1px; padding-top: 535px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">Sandbox Instances</div></div></div></foreignObject><text x="300" y="540" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="16px" text-anchor="middle" font-weight="bold">Sandbox Instances</text></switch></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-50"><g transform="translate(0.5,0.5)"><rect x="40" y="570" width="200" height="40" rx="6" ry="6" fill="#99ccff" stroke="#0066cc" pointer-events="all" style="fill: light-dark(rgb(153, 204, 255), rgb(30, 74, 118)); stroke: light-dark(rgb(0, 102, 204), rgb(86, 174, 255));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 590px; margin-left: 41px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Sandbox Container <div>(e.g., ubuntu:22.04)</div></div></div></div></foreignObject><text x="140" y="594" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Sandbox Container...</text></switch></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-51"><g transform="translate(0.5,0.5)"><path d="M 375 590 L 246.37 590" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 241.12 590 L 248.12 586.5 L 246.37 590 L 248.12 593.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-52"><g transform="translate(0.5,0.5)"><rect x="375" y="570" width="200" height="40" rx="6" ry="6" fill="#99ccff" stroke="#0066cc" pointer-events="all" style="fill: light-dark(rgb(153, 204, 255), rgb(30, 74, 118)); stroke: light-dark(rgb(0, 102, 204), rgb(86, 174, 255));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 590px; margin-left: 376px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">execd</div></div></div></foreignObject><text x="475" y="594" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">execd</text></switch></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-53"><g transform="translate(0.5,0.5)"><rect x="250" y="590" width="100" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 600px; margin-left: 251px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Inject at startup</div></div></div></foreignObject><text x="300" y="604" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Inject at startup</text></switch></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-54"><g transform="translate(0.5,0.5)"><rect x="370" y="620" width="200" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 630px; margin-left: 371px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div style="line-height: 100%;"><br /></div></div></div></div></foreignObject><text x="470" y="634" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">&#xa;</text></switch></g></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-55"><g transform="translate(0.5,0.5)"><path d="M 90 90 L 90 148 Q 90 158 100 158 L 112.5 158 Q 122.5 158 122.5 168 L 122.5 219.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 122.5 224.88 L 119 217.88 L 122.5 219.63 L 126 217.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-56"><g transform="translate(0.5,0.5)"><path d="M 230 90 L 230 148 Q 230 158 240 158 L 465 158 Q 475 158 475 168 L 475 219.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 475 224.88 L 471.5 217.88 L 475 219.63 L 478.5 217.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-57"><g transform="translate(0.5,0.5)"><path d="M 370 90 L 370 148 Q 370 158 380 158 L 465 158 Q 475 158 475 168 L 475 219.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 475 224.88 L 471.5 217.88 L 475 219.63 L 478.5 217.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-58"><g transform="translate(0.5,0.5)"><path d="M 510 90 L 510 148 Q 510 158 500 158 L 485 158 Q 475 158 475 168 L 475 219.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 475 224.88 L 471.5 217.88 L 475 219.63 L 478.5 217.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-59"><g transform="translate(0.5,0.5)"><path d="M 165 266 L 165 308 Q 165 318 175 318 L 290 318 Q 300 318 300 328 L 300 363.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 300 368.88 L 296.5 361.88 L 300 363.63 L 303.5 361.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-60"><g transform="translate(0.5,0.5)"><rect x="410" y="420" width="140" height="40" rx="6" ry="6" fill="#c8e6c9" stroke="#4caf50" pointer-events="all" style="fill: light-dark(rgb(200, 230, 201), rgb(28, 54, 29)); stroke: light-dark(rgb(76, 175, 80), rgb(50, 135, 54));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 440px; margin-left: 411px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Custom Runtime</div></div></div></foreignObject><text x="480" y="444" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Custom Runtime</text></switch></g></g></g><g data-cell-id="0yQUItjMywsnnXkV5zJc-61"><g transform="translate(0.5,0.5)"><path d="M 560 250 L 630 250 L 630 590 L 581.37 590" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 576.12 590 L 583.12 586.5 L 581.37 590 L 583.12 593.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>