|
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1894px" height="654px" viewBox="-0.5 -0.5 1894 654" content="<mxfile host="Electron" modified="2023-04-13T07:59:54.452Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.1.2 Chrome/106.0.5249.199 Electron/21.4.3 Safari/537.36" etag="mwuk7gwuBHBsDNNSN8fv" version="21.1.2" type="device"> <diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1"> <mxGraphModel dx="1050" dy="629" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> <root> <mxCell id="WIyWlLk6GJQsqaUBKTNV-0" /> <mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" /> <mxCell id="t6ZCzsWARIrcch3DQErl-0" value="" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=4;fillColor=#fff2cc;gradientColor=#ffd966;strokeColor=#d6b656;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="271" y="40" width="200" height="650" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-1" value="" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=4;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="42" y="40" width="178" height="650" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-2" value="" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=4;fillColor=#d5e8d4;strokeColor=#82b366;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="528" y="40" width="1404" height="650" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-3" value="&lt;b style=&quot;font-size: 22px;&quot;&gt;&lt;font style=&quot;font-size: 22px;&quot;&gt;用户端界面&lt;/font&gt;&lt;/b&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=22;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="67" y="40" width="125" height="40" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-4" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b style=&quot;font-size: 24px;&quot;&gt;消息协议&lt;/b&gt;&lt;/span&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=24;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="306.5" y="50" width="125" height="40" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-5" value="&lt;b style=&quot;&quot;&gt;&lt;font style=&quot;font-size: 40px;&quot;&gt;交互式内核:执行代码、语言服务&lt;/font&gt;&lt;/b&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=24;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="700" y="50" width="632" height="40" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-11" target="t6ZCzsWARIrcch3DQErl-25" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-11" value="&lt;font style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&lt;b&gt;VS Code&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;.net Interactive&lt;/font&gt;&lt;br&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="62" y="100" width="130" height="50" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-12" target="t6ZCzsWARIrcch3DQErl-25" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-12" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;b&gt;CodeSpaces&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="62" y="220" width="130" height="30" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-13" target="t6ZCzsWARIrcch3DQErl-25" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-13" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;Azure Data Studio&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="62" y="160" width="130" height="50" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-14" target="t6ZCzsWARIrcch3DQErl-25" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-14" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;b&gt;Try.NET&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="62" y="260" width="130" height="30" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-15" target="t6ZCzsWARIrcch3DQErl-26" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-15" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;Jupyter&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="62" y="340" width="130" height="30" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-16" target="t6ZCzsWARIrcch3DQErl-26" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-16" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;Azure Notebooks&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="62" y="382" width="130" height="50" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-17" target="t6ZCzsWARIrcch3DQErl-26" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-17" value="&lt;font style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;VS Code&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;基于 Jupyter&lt;/font&gt;&lt;/span&gt;&lt;br&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="62" y="443" width="130" height="50" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-18" target="t6ZCzsWARIrcch3DQErl-26" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-18" value="&lt;span style=&quot;font-size: 18px;&quot;&gt;nteract&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="62" y="505" width="130" height="30" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-68" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=1;strokeWidth=4;fillColor=#fad9d5;strokeColor=#ae4132;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-21" target="t6ZCzsWARIrcch3DQErl-48" edge="1"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="620" y="595" /> <mxPoint x="620" y="370" /> </Array> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-21" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;b&gt;dotnet-repl&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="62" y="570" width="130" height="50" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-25" value="PMP&lt;br&gt;基于Json的消息协议" style="html=1;shadow=0;dashed=0;align=center;verticalAlign=middle;shape=mxgraph.arrows2.twoWayArrow;dy=0.6;dx=35;strokeWidth=3;fontStyle=1" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="306.5" y="150" width="140" height="120" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-65" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=1;strokeWidth=4;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-26" target="t6ZCzsWARIrcch3DQErl-48" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-26" value="JMP&lt;br&gt;Jupyter 消息协议" style="html=1;shadow=0;dashed=0;align=center;verticalAlign=middle;shape=mxgraph.arrows2.twoWayArrow;dy=0.6;dx=35;strokeWidth=3;fontStyle=1" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="299" y="373" width="140" height="120" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-36" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;glass=0;shadow=0;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="588" y="120" width="644" height="540" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-37" value="&lt;font style=&quot;font-size: 30px;&quot;&gt;&amp;nbsp; C#&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;align=left;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="683" y="199.5" width="183" height="90" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-38" value="&lt;font style=&quot;font-size: 30px;&quot;&gt;&amp;nbsp; F#&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;align=left;fillColor=#dae8fc;gradientColor=#7ea6e0;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="683" y="309.5" width="183" height="90" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-39" value="&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;&lt;font style=&quot;font-size: 22px;&quot;&gt;&amp;nbsp;&lt;b&gt; Power&lt;/b&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 22px;&quot;&gt;&lt;b&gt;&amp;nbsp; Shell&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;align=left;fillColor=#dae8fc;gradientColor=#7ea6e0;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="683" y="419.5" width="183" height="90" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-40" value="&lt;font size=&quot;1&quot; style=&quot;&quot;&gt;&lt;b style=&quot;font-size: 32px;&quot;&gt;dotnet-interactive&lt;/b&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="772" y="120" width="322" height="70" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-41" value="&lt;b&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;连接到运行时&lt;/font&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=3;arcSize=50;strokeColor=#2B1F85;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="752" y="550" width="183" height="70" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-42" value="&lt;font style=&quot;font-size: 20px;&quot;&gt;Roslyn&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="774" y="204.5" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-43" value="&lt;font style=&quot;font-size: 20px;&quot;&gt;FSI&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="774" y="314.5" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-44" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;PWSH&lt;br&gt;SHELL&lt;/b&gt;&lt;br&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="774" y="424.5" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-45" value="&lt;font style=&quot;font-size: 30px;&quot;&gt;Mermaid&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;align=center;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="886" y="234.5" width="140" height="60" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-46" value="&lt;b style=&quot;font-size: 20px;&quot;&gt;&lt;font color=&quot;#787878&quot;&gt;BYO&lt;br&gt;language&lt;/font&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=3;dashed=1;strokeColor=#6B6B6B;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="886" y="364.5" width="140" height="95" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-47" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1205" y="224.5" width="60" height="60" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-48" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="552" y="330" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-52" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=4;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" target="t6ZCzsWARIrcch3DQErl-48" edge="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="446" y="210" as="sourcePoint" /> <mxPoint x="531" y="345" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-57" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1205" y="359.5" width="60" height="60" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-58" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1205" y="499.5" width="60" height="60" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-59" value="Standed&lt;br&gt;I/O" style="html=1;shadow=0;dashed=0;align=center;verticalAlign=middle;shape=mxgraph.arrows2.twoWayArrow;dy=0.6;dx=35;strokeWidth=4;fontStyle=1;strokeColor=#00008A;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1313" y="100" width="140" height="120" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-60" value="PMP" style="html=1;shadow=0;dashed=0;align=center;verticalAlign=middle;shape=mxgraph.arrows2.twoWayArrow;dy=0.6;dx=35;strokeWidth=4;fontStyle=1;strokeColor=#00008A;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1313" y="510" width="140" height="120" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-61" value="JMP" style="html=1;shadow=0;dashed=0;align=center;verticalAlign=middle;shape=mxgraph.arrows2.twoWayArrow;dy=0.6;dx=35;strokeWidth=4;fontStyle=1;strokeColor=#00008A;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1313" y="305" width="140" height="120" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-62" value="&lt;font style=&quot;font-size: 30px;&quot;&gt;Kusto&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;align=center;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1066" y="294.5" width="131" height="70" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-63" value="&lt;font style=&quot;font-size: 30px;&quot;&gt;SQL&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;align=center;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1046" y="349.5" width="131" height="70" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-64" value="&lt;font style=&quot;font-size: 23px;&quot;&gt;代理内核&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;align=center;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1044" y="567" width="131" height="70" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-69" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;edgeStyle=orthogonalEdgeStyle;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-48" target="t6ZCzsWARIrcch3DQErl-37" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="612" y="410" as="sourcePoint" /> <mxPoint x="652" y="-100" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-73" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=3;edgeStyle=orthogonalEdgeStyle;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-48" target="t6ZCzsWARIrcch3DQErl-38" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="612" y="410" as="sourcePoint" /> <mxPoint x="662" y="360" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-74" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=3;edgeStyle=orthogonalEdgeStyle;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-48" target="t6ZCzsWARIrcch3DQErl-39" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="612" y="410" as="sourcePoint" /> <mxPoint x="662" y="360" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-77" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=3;edgeStyle=orthogonalEdgeStyle;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-41" target="t6ZCzsWARIrcch3DQErl-48" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="442" y="790" as="sourcePoint" /> <mxPoint x="492" y="740" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-78" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;edgeStyle=orthogonalEdgeStyle;curved=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-41" target="t6ZCzsWARIrcch3DQErl-46" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="622" y="870" as="sourcePoint" /> <mxPoint x="672" y="820" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-81" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0.25;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-63" target="t6ZCzsWARIrcch3DQErl-47" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="462" y="820" as="sourcePoint" /> <mxPoint x="742" y="760" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-83" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-41" target="t6ZCzsWARIrcch3DQErl-63" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="802" y="840" as="sourcePoint" /> <mxPoint x="1082" y="780" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-85" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;edgeStyle=orthogonalEdgeStyle;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-41" target="t6ZCzsWARIrcch3DQErl-64" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="926" y="805" as="sourcePoint" /> <mxPoint x="1026" y="800" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-86" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;edgeStyle=orthogonalEdgeStyle;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-61" target="t6ZCzsWARIrcch3DQErl-101" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="892" y="850" as="sourcePoint" /> <mxPoint x="1232" y="730" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-87" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;edgeStyle=orthogonalEdgeStyle;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-60" target="t6ZCzsWARIrcch3DQErl-108" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="952" y="890" as="sourcePoint" /> <mxPoint x="1292" y="770" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-88" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;entryX=0;entryY=0.5;entryDx=0;entryDy=0;edgeStyle=orthogonalEdgeStyle;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" target="t6ZCzsWARIrcch3DQErl-107" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="1452" y="570" as="sourcePoint" /> <mxPoint x="1313" y="790" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-89" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;edgeStyle=orthogonalEdgeStyle;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-60" target="t6ZCzsWARIrcch3DQErl-105" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="1012" y="940" as="sourcePoint" /> <mxPoint x="1352" y="820" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-90" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-59" target="t6ZCzsWARIrcch3DQErl-96" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="982" y="920" as="sourcePoint" /> <mxPoint x="1322" y="800" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-91" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-58" target="t6ZCzsWARIrcch3DQErl-60" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="992" y="930" as="sourcePoint" /> <mxPoint x="1332" y="810" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-92" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-57" target="t6ZCzsWARIrcch3DQErl-61" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="1002" y="940" as="sourcePoint" /> <mxPoint x="1342" y="820" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-93" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-47" target="t6ZCzsWARIrcch3DQErl-59" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="1012" y="950" as="sourcePoint" /> <mxPoint x="1352" y="830" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-94" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;entryX=1;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" target="t6ZCzsWARIrcch3DQErl-64" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="1202" y="530" as="sourcePoint" /> <mxPoint x="1362" y="840" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-95" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=1;entryDx=0;entryDy=0;edgeStyle=orthogonalEdgeStyle;curved=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="t6ZCzsWARIrcch3DQErl-64" target="t6ZCzsWARIrcch3DQErl-57" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="1402" y="900" as="sourcePoint" /> <mxPoint x="1742" y="780" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-96" value="&lt;font style=&quot;font-size: 22px;&quot;&gt;&lt;font style=&quot;font-size: 22px;&quot; color=&quot;#787878&quot;&gt;&lt;b style=&quot;&quot;&gt;SQL Tools&lt;br&gt;&lt;/b&gt;&lt;/font&gt;Service&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=3;strokeColor=#6B6B6B;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1492" y="50" width="140" height="95" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-97" value="&lt;font style=&quot;font-size: 30px;&quot;&gt;&amp;nbsp; R&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;align=left;fillColor=#008a00;strokeColor=#005700;fontColor=#ffffff;verticalAlign=top;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1666" y="97" width="203" height="109.5" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-98" value="&lt;span style=&quot;font-size: 20px;&quot;&gt;IRKernel&lt;/span&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;verticalAlign=middle;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1757" y="97.5" width="107" height="107" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-99" value="&lt;font style=&quot;font-size: 30px;&quot;&gt;&amp;nbsp; Julia&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;align=left;fillColor=#008a00;strokeColor=#005700;fontColor=#ffffff;verticalAlign=top;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1646" y="151.5" width="203" height="109.5" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-100" value="&lt;span style=&quot;font-size: 20px;&quot;&gt;julia&lt;/span&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1737" y="152" width="107" height="107" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-101" value="&lt;font style=&quot;font-size: 30px;&quot;&gt;Python&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;align=left;fillColor=#008a00;strokeColor=#005700;fontColor=#ffffff;verticalAlign=middle;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1622" y="209.75" width="203" height="109.5" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-102" value="&lt;span style=&quot;font-size: 20px;&quot;&gt;IPyKernel&lt;/span&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1702" y="200.5" width="107" height="107" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-103" value="&lt;span style=&quot;font-size: 30px;&quot;&gt;&amp;nbsp;HTML&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;align=left;fillColor=#008a00;strokeColor=#005700;fontColor=#ffffff;verticalAlign=top;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1532" y="359.5" width="203" height="109.5" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-104" value="&lt;span style=&quot;font-size: 20px;&quot;&gt;浏览器&lt;/span&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1623" y="360" width="107" height="107" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-105" value="&lt;span style=&quot;font-size: 30px;&quot;&gt;Java&lt;br&gt;&amp;nbsp;Script&lt;br&gt;&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;align=left;fillColor=#008a00;strokeColor=#005700;fontColor=#ffffff;verticalAlign=top;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1492" y="432" width="203" height="109.5" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-106" value="&lt;span style=&quot;font-size: 20px;&quot;&gt;浏览器&lt;/span&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1583" y="432.5" width="107" height="107" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-107" value="&lt;font color=&quot;#787878&quot;&gt;&lt;span style=&quot;font-size: 22px;&quot;&gt;&lt;b&gt;其它内核&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=3;strokeColor=#6B6B6B;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1710" y="509.5" width="171.5" height="95" as="geometry" /> </mxCell> <mxCell id="t6ZCzsWARIrcch3DQErl-108" value="&lt;font color=&quot;#787878&quot;&gt;&lt;span style=&quot;font-size: 22px;&quot;&gt;&lt;b&gt;dotnet interactive&lt;br&gt;(远程)&lt;br&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=3;strokeColor=#6B6B6B;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1"> <mxGeometry x="1482" y="584" width="220" height="95" as="geometry" /> </mxCell> </root> </mxGraphModel> </diagram> </mxfile> "><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-fff2cc-1-ffd966-1-s-0"><stop offset="0%" style="stop-color: rgb(255, 242, 204); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(255, 217, 102); stop-opacity: 1;"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-d5e8d4-1-97d077-1-s-0"><stop offset="0%" style="stop-color: rgb(213, 232, 212); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(151, 208, 119); stop-opacity: 1;"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color: rgb(245, 245, 245); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(179, 179, 179); stop-opacity: 1;"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-dae8fc-1-7ea6e0-1-s-0"><stop offset="0%" style="stop-color: rgb(218, 232, 252); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(126, 166, 224); stop-opacity: 1;"/></linearGradient></defs><g><rect x="231" y="2" width="200" height="650" rx="30" ry="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" stroke-width="4" pointer-events="all"/><rect x="2" y="2" width="178" height="650" rx="26.7" ry="26.7" fill="url(#mx-gradient-d5e8d4-1-97d077-1-s-0)" stroke="#82b366" stroke-width="4" pointer-events="all"/><rect x="488" y="2" width="1404" height="650" rx="97.5" ry="97.5" fill="#d5e8d4" stroke="#82b366" stroke-width="4" pointer-events="all"/><rect x="27" y="2" width="125" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 123px; height: 1px; padding-top: 22px; margin-left: 28px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><b style="font-size: 22px;"><font style="font-size: 22px;">用户端界面</font></b></div></div></div></foreignObject><text x="90" y="29" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="22px" text-anchor="middle">用户端界面</text></switch></g><rect x="266.5" y="12" width="125" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 123px; height: 1px; padding-top: 32px; margin-left: 268px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 24px;"><b style="font-size: 24px;">消息协议</b></span></div></div></div></foreignObject><text x="329" y="39" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="24px" text-anchor="middle">消息协议</text></switch></g><rect x="660" y="12" width="632" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 630px; height: 1px; padding-top: 32px; margin-left: 661px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><b style=""><font style="font-size: 40px;">交互式内核:执行代码、语言服务</font></b></div></div></div></foreignObject><text x="976" y="39" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="24px" text-anchor="middle">交互式内核:执行代码、语言服务</text></switch></g><path d="M 152 87 Q 209.3 87 209.3 129.5 Q 209.3 172 256.4 172" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 263.15 172 L 254.15 176.5 L 256.4 172 L 254.15 167.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="22" y="62" width="130" height="50" rx="7.5" ry="7.5" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 87px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style=""><span style="font-size: 18px;"><b>VS Code</b></span><br /><font style="font-size: 16px;">.net Interactive</font><br /></font></div></div></div></foreignObject><text x="87" y="91" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">VS Code...</text></switch></g><path d="M 152 197 Q 209.3 197 209.3 184.5 Q 209.3 172 256.4 172" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 263.15 172 L 254.15 176.5 L 256.4 172 L 254.15 167.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="22" y="182" width="130" height="30" rx="4.5" ry="4.5" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 197px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 18px;"><b>CodeSpaces</b></font></div></div></div></foreignObject><text x="87" y="201" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">CodeSpaces</text></switch></g><path d="M 152 147 Q 209.3 147 209.3 159.5 Q 209.3 172 256.4 172" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 263.15 172 L 254.15 176.5 L 256.4 172 L 254.15 167.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="22" y="122" width="130" height="50" rx="7.5" ry="7.5" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 147px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font style="font-size: 18px;">Azure Data Studio</font></div></div></div></foreignObject><text x="87" y="151" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">Azure Data Studio</text></switch></g><path d="M 152 237 Q 209.3 237 209.3 204.5 Q 209.3 172 256.4 172" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 263.15 172 L 254.15 176.5 L 256.4 172 L 254.15 167.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="22" y="222" width="130" height="30" rx="4.5" ry="4.5" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 237px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 18px;"><b>Try.NET</b></font></div></div></div></foreignObject><text x="87" y="241" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Try.NET</text></switch></g><path d="M 152 317 Q 205.5 317 205.5 356 Q 205.5 395 248.9 395" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 255.65 395 L 246.65 399.5 L 248.9 395 L 246.65 390.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="22" y="302" width="130" height="30" rx="4.5" ry="4.5" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 317px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font style="font-size: 18px;">Jupyter</font></div></div></div></foreignObject><text x="87" y="321" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">Jupyter</text></switch></g><path d="M 152 369 Q 205.5 369 205.5 382 Q 205.5 395 248.9 395" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 255.65 395 L 246.65 399.5 L 248.9 395 L 246.65 390.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="22" y="344" width="130" height="50" rx="7.5" ry="7.5" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 369px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font style="font-size: 18px;">Azure Notebooks</font></div></div></div></foreignObject><text x="87" y="373" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">Azure Notebooks</text></switch></g><path d="M 152 430 Q 205.5 430 205.5 412.5 Q 205.5 395 248.9 395" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 255.65 395 L 246.65 399.5 L 248.9 395 L 246.65 390.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="22" y="405" width="130" height="50" rx="7.5" ry="7.5" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 430px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font style=""><span style="font-size: 18px;">VS Code</span><br /><span style="font-weight: normal;"><font style="font-size: 16px;">基于 Jupyter</font></span><br /></font></div></div></div></foreignObject><text x="87" y="434" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">VS Code...</text></switch></g><path d="M 152 482 Q 205.5 482 205.5 438.5 Q 205.5 395 248.9 395" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 255.65 395 L 246.65 399.5 L 248.9 395 L 246.65 390.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="22" y="467" width="130" height="30" rx="4.5" ry="4.5" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 482px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><span style="font-size: 18px;">nteract</span></div></div></div></foreignObject><text x="87" y="486" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">nteract</text></switch></g><path d="M 152 557 Q 580 557 580 444.5 Q 580 332 523.97 332" fill="none" stroke="#ae4132" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 516.47 332 L 526.47 327 L 523.97 332 L 526.47 337 Z" fill="#ae4132" stroke="#ae4132" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="22" y="532" width="130" height="50" rx="7.5" ry="7.5" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 557px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 18px;"><b>dotnet-repl</b></font></div></div></div></foreignObject><text x="87" y="561" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">dotnet-repl</text></switch></g><path d="M 301.5 148 L 371.5 148 L 371.5 112 L 406.5 172 L 371.5 232 L 371.5 196 L 301.5 196 L 301.5 232 L 266.5 172 L 301.5 112 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 172px; margin-left: 337px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap;">PMP<br />基于Json的消息协议</div></div></div></foreignObject><text x="337" y="176" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">PMP...</text></switch></g><path d="M 399 395 Q 455.5 395 455.5 363.5 Q 455.5 332 500.03 332" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 507.53 332 L 497.53 337 L 500.03 332 L 497.53 327 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 294 371 L 364 371 L 364 335 L 399 395 L 364 455 L 364 419 L 294 419 L 294 455 L 259 395 L 294 335 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 395px; margin-left: 329px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap;">JMP<br />Jupyter 消息协议</div></div></div></foreignObject><text x="329" y="399" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">JMP...</text></switch></g><rect x="548" y="82" width="644" height="540" rx="81" ry="81" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="3" pointer-events="all"/><rect x="643" y="161.5" width="183" height="90" rx="13.5" ry="13.5" fill="url(#mx-gradient-dae8fc-1-7ea6e0-1-s-0)" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 181px; height: 1px; padding-top: 207px; margin-left: 645px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 30px;"> C#</font></div></div></div></foreignObject><text x="645" y="210" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"> C#</text></switch></g><rect x="643" y="271.5" width="183" height="90" rx="13.5" ry="13.5" fill="url(#mx-gradient-dae8fc-1-7ea6e0-1-s-0)" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 181px; height: 1px; padding-top: 317px; margin-left: 645px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 30px;"> F#</font></div></div></div></foreignObject><text x="645" y="320" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"> F#</text></switch></g><rect x="643" y="381.5" width="183" height="90" rx="13.5" ry="13.5" fill="url(#mx-gradient-dae8fc-1-7ea6e0-1-s-0)" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 181px; height: 1px; padding-top: 427px; margin-left: 645px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div style=""><span style="background-color: initial;"><font style="font-size: 22px;"> <b> Power</b></font></span></div><div style=""><span style="font-size: 22px;"><b> Shell</b></span></div></div></div></div></foreignObject><text x="645" y="430" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Power...</text></switch></g><rect x="732" y="82" width="322" height="70" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 320px; height: 1px; padding-top: 117px; margin-left: 733px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="" size="1"><b style="font-size: 32px;">dotnet-interactive</b></font></div></div></div></foreignObject><text x="893" y="121" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">dotnet-interactive</text></switch></g><rect x="712" y="512" width="183" height="70" rx="35" ry="35" fill="rgb(255, 255, 255)" stroke="#2b1f85" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 181px; height: 1px; padding-top: 547px; margin-left: 713px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><b><font style="font-size: 20px;">连接到运行时</font></b></div></div></div></foreignObject><text x="804" y="551" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">连接到运行时</text></switch></g><ellipse cx="774" cy="206.5" rx="40" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 207px; margin-left: 735px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 20px;">Roslyn</font></div></div></div></foreignObject><text x="774" y="210" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Roslyn</text></switch></g><ellipse cx="774" cy="316.5" rx="40" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 317px; margin-left: 735px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 20px;">FSI</font></div></div></div></foreignObject><text x="774" y="320" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">FSI</text></switch></g><ellipse cx="774" cy="426.5" rx="40" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 427px; margin-left: 735px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 16px;"><b>PWSH<br />SHELL</b><br /></font></div></div></div></foreignObject><text x="774" y="430" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PWSH...</text></switch></g><rect x="846" y="196.5" width="140" height="60" rx="9" ry="9" fill="url(#mx-gradient-dae8fc-1-7ea6e0-1-s-0)" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><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: 227px; margin-left: 847px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 30px;">Mermaid</font></div></div></div></foreignObject><text x="916" y="230" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Mermaid</text></switch></g><rect x="846" y="326.5" width="140" height="95" rx="14.25" ry="14.25" fill="rgb(255, 255, 255)" stroke="#6b6b6b" stroke-width="3" stroke-dasharray="9 9" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><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: 374px; margin-left: 847px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><b style="font-size: 20px;"><font color="#787878">BYO<br />language</font></b></div></div></div></foreignObject><text x="916" y="378" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">BYO...</text></switch></g><ellipse cx="1195" cy="216.5" rx="30" ry="30" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><ellipse cx="552" cy="332" rx="40" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><path d="M 406 172 Q 459 172 459 252 Q 459 332 500.03 332" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 507.53 332 L 497.53 337 L 500.03 332 L 497.53 327 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="1195" cy="351.5" rx="30" ry="30" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><ellipse cx="1195" cy="491.5" rx="30" ry="30" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><path d="M 1308 98 L 1378 98 L 1378 62 L 1413 122 L 1378 182 L 1378 146 L 1308 146 L 1308 182 L 1273 122 L 1308 62 Z" fill="rgb(255, 255, 255)" stroke="#00008a" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 122px; margin-left: 1343px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap;">Standed<br />I/O</div></div></div></foreignObject><text x="1343" y="126" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">Standed...</text></switch></g><path d="M 1308 508 L 1378 508 L 1378 472 L 1413 532 L 1378 592 L 1378 556 L 1308 556 L 1308 592 L 1273 532 L 1308 472 Z" fill="rgb(255, 255, 255)" stroke="#00008a" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 532px; margin-left: 1343px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap;">PMP</div></div></div></foreignObject><text x="1343" y="536" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">PMP</text></switch></g><path d="M 1308 303 L 1378 303 L 1378 267 L 1413 327 L 1378 387 L 1378 351 L 1308 351 L 1308 387 L 1273 327 L 1308 267 Z" fill="rgb(255, 255, 255)" stroke="#00008a" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 327px; margin-left: 1343px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap;">JMP</div></div></div></foreignObject><text x="1343" y="331" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">JMP</text></switch></g><rect x="1026" y="256.5" width="131" height="70" rx="10.5" ry="10.5" fill="url(#mx-gradient-dae8fc-1-7ea6e0-1-s-0)" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 129px; height: 1px; padding-top: 292px; margin-left: 1027px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 30px;">Kusto</font></div></div></div></foreignObject><text x="1092" y="295" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Kusto</text></switch></g><rect x="1006" y="311.5" width="131" height="70" rx="10.5" ry="10.5" fill="url(#mx-gradient-dae8fc-1-7ea6e0-1-s-0)" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 129px; height: 1px; padding-top: 347px; margin-left: 1007px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 30px;">SQL</font></div></div></div></foreignObject><text x="1072" y="350" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">SQL</text></switch></g><rect x="1004" y="529" width="131" height="70" rx="10.5" ry="10.5" fill="url(#mx-gradient-dae8fc-1-7ea6e0-1-s-0)" stroke="#6c8ebf" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 129px; height: 1px; padding-top: 564px; margin-left: 1005px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 23px;">代理内核</font></div></div></div></foreignObject><text x="1070" y="568" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">代理内核</text></switch></g><path d="M 592 332 Q 617.5 332 617.5 269.25 Q 617.5 206.5 643 206.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 592 332 Q 617.5 332 617.5 324.25 Q 617.5 316.5 643 316.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 592 332 Q 617.5 332 617.5 379.25 Q 617.5 426.5 643 426.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 712 547 Q 580.3 547 580.28 360.28" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 895 547 Q 916 547 916 421.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1137 329 Q 1173.8 329 1173.79 237.71" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 895 547 Q 1071.5 547 1071.5 381.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 895 564.5 Q 949.5 564.5 1004 564" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1413 327 Q 1497.5 327 1497.5 276.75 Q 1497.5 226.5 1582 226.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1413 532 Q 1427.5 532 1427.5 562.75 Q 1427.5 593.5 1442 593.5" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1412 532 Q 1541 532 1541 525.5 Q 1541 519 1670 519" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1413 532 Q 1432.5 532 1432.5 490.4 Q 1432.5 448.8 1452 448.75" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1413 122 L 1452 107" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1225 491.5 L 1273 532" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1225 351.5 L 1273 327" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1216.21 195.29 Q 1249 195.3 1249 158.65 Q 1249 122 1273 122" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1162 492 L 1135 529" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1069.5 529 Q 1069.5 455.3 1121.65 455.3 Q 1173.8 455.3 1173.79 372.71" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><rect x="1452" y="12" width="140" height="95" rx="14.25" ry="14.25" fill="rgb(255, 255, 255)" stroke="#6b6b6b" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><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: 60px; margin-left: 1453px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 22px;"><font color="#787878" style="font-size: 22px;"><b style="">SQL Tools<br /></b></font>Service</font></div></div></div></foreignObject><text x="1522" y="63" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">SQL Tools...</text></switch></g><rect x="1626" y="59" width="203" height="109.5" rx="16.43" ry="16.43" fill="#008a00" stroke="#005700" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 201px; height: 1px; padding-top: 66px; margin-left: 1628px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 30px;"> R</font></div></div></div></foreignObject><text x="1628" y="78" fill="#ffffff" font-family="Helvetica" font-size="12px"> R</text></switch></g><ellipse cx="1770.5" cy="113" rx="53.5" ry="53.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 105px; height: 1px; padding-top: 113px; margin-left: 1718px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 20px;">IRKernel</span></div></div></div></foreignObject><text x="1771" y="117" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">IRKernel</text></switch></g><rect x="1606" y="113.5" width="203" height="109.5" rx="16.43" ry="16.43" fill="#008a00" stroke="#005700" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 201px; height: 1px; padding-top: 121px; margin-left: 1608px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 30px;"> Julia</font></div></div></div></foreignObject><text x="1608" y="133" fill="#ffffff" font-family="Helvetica" font-size="12px"> Julia</text></switch></g><ellipse cx="1750.5" cy="167.5" rx="53.5" ry="53.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 105px; height: 1px; padding-top: 168px; margin-left: 1698px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 20px;">julia</span></div></div></div></foreignObject><text x="1751" y="171" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">julia</text></switch></g><rect x="1582" y="171.75" width="203" height="109.5" rx="16.43" ry="16.43" fill="#008a00" stroke="#005700" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 201px; height: 1px; padding-top: 227px; margin-left: 1584px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 30px;">Python</font></div></div></div></foreignObject><text x="1584" y="230" fill="#ffffff" font-family="Helvetica" font-size="12px">Python</text></switch></g><ellipse cx="1715.5" cy="216" rx="53.5" ry="53.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 105px; height: 1px; padding-top: 216px; margin-left: 1663px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 20px;">IPyKernel</span></div></div></div></foreignObject><text x="1716" y="220" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">IPyKernel</text></switch></g><rect x="1492" y="321.5" width="203" height="109.5" rx="16.43" ry="16.43" fill="#008a00" stroke="#005700" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 201px; height: 1px; padding-top: 329px; margin-left: 1494px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 30px;"> HTML</span></div></div></div></foreignObject><text x="1494" y="341" fill="#ffffff" font-family="Helvetica" font-size="12px"> HTML</text></switch></g><ellipse cx="1636.5" cy="375.5" rx="53.5" ry="53.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 105px; height: 1px; padding-top: 376px; margin-left: 1584px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 20px;">浏览器</span></div></div></div></foreignObject><text x="1637" y="379" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">浏览器</text></switch></g><rect x="1452" y="394" width="203" height="109.5" rx="16.43" ry="16.43" fill="#008a00" stroke="#005700" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 201px; height: 1px; padding-top: 401px; margin-left: 1454px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 30px;">Java<br /> Script<br /></span></div></div></div></foreignObject><text x="1454" y="413" fill="#ffffff" font-family="Helvetica" font-size="12px">Java...</text></switch></g><ellipse cx="1596.5" cy="448" rx="53.5" ry="53.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 105px; height: 1px; padding-top: 448px; margin-left: 1544px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 20px;">浏览器</span></div></div></div></foreignObject><text x="1597" y="452" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">浏览器</text></switch></g><rect x="1670" y="471.5" width="171.5" height="95" rx="14.25" ry="14.25" fill="rgb(255, 255, 255)" stroke="#6b6b6b" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 170px; height: 1px; padding-top: 519px; margin-left: 1671px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font color="#787878"><span style="font-size: 22px;"><b>其它内核</b></span></font></div></div></div></foreignObject><text x="1756" y="523" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">其它内核</text></switch></g><rect x="1442" y="546" width="220" height="95" rx="14.25" ry="14.25" fill="rgb(255, 255, 255)" stroke="#6b6b6b" stroke-width="3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><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: 594px; margin-left: 1443px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font color="#787878"><span style="font-size: 22px;"><b>dotnet interactive<br />(远程)<br /></b></span></font></div></div></div></foreignObject><text x="1552" y="597" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">dotnet interactive...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/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> |