xs/hkexshd/hkexshd-vis.gv.svg

768 lines
62 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Title: gocallvis Pages: 1 -->
<svg width="915pt" height="1912pt"
viewBox="0.00 0.00 915.32 1911.62" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 1911.6183)">
<title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-1911.6183 915.3169,-1911.6183 915.3169,0 0,0"/>
<text text-anchor="middle" x="106" y="-7.8" font-family="Arial" font-size="14.00" fill="#000000">blitter.com/go/hkexsh/hkexshd</text>
<g id="clust1" class="cluster">
<title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-48.6183 8,-1903.6183 907.3169,-1903.6183 907.3169,-48.6183 8,-48.6183"/>
<text text-anchor="middle" x="457.6585" y="-1885.2183" font-family="Arial" font-size="18.00" fill="#000000">main</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_blitter.com/go/goutmp</title>
<g id="a_clust2"><a xlink:href="/?f=blitter.com/go/goutmp" xlink:title="package: blitter.com/go/goutmp">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="579.2096,-1606.6183 579.2096,-1867.6183 739.3146,-1867.6183 739.3146,-1606.6183 579.2096,-1606.6183"/>
<text text-anchor="middle" x="659.2621" y="-1850.8183" font-family="bold" font-size="16.00" fill="#000000">[goutmp]</text>
</a>
</g>
</g>
<g id="clust3" class="cluster">
<title>cluster_blitter.com/go/hkexsh</title>
<g id="a_clust3"><a xlink:href="/?f=blitter.com/go/hkexsh" xlink:title="package: blitter.com/go/hkexsh">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="301.5032,-66.6183 301.5032,-1055.6183 477.0088,-1055.6183 477.0088,-66.6183 301.5032,-66.6183"/>
<text text-anchor="middle" x="389.256" y="-1038.8183" font-family="bold" font-size="16.00" fill="#000000">[hkexsh]</text>
</a>
</g>
</g>
<g id="clust4" class="cluster">
<title>cluster_*blitter.com/go/hkexsh.Session</title>
<g id="a_clust4"><a xlink:href="/?f=blitter.com/go/hkexsh" xlink:title="type: *blitter.com/go/hkexsh.Session">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M322.8536,-74.6183C322.8536,-74.6183 455.6585,-74.6183 455.6585,-74.6183 461.6585,-74.6183 467.6585,-80.6183 467.6585,-86.6183 467.6585,-86.6183 467.6585,-505.6183 467.6585,-505.6183 467.6585,-511.6183 461.6585,-517.6183 455.6585,-517.6183 455.6585,-517.6183 322.8536,-517.6183 322.8536,-517.6183 316.8536,-517.6183 310.8536,-511.6183 310.8536,-505.6183 310.8536,-505.6183 310.8536,-86.6183 310.8536,-86.6183 310.8536,-80.6183 316.8536,-74.6183 322.8536,-74.6183"/>
<text text-anchor="middle" x="389.256" y="-83.6183" font-family="bold" font-size="15.00" fill="#222222">(*Session)</text>
</a>
</g>
</g>
<g id="clust5" class="cluster">
<title>cluster_blitter.com/go/hkexsh.Session</title>
<g id="a_clust5"><a xlink:href="/?f=blitter.com/go/hkexsh" xlink:title="type: blitter.com/go/hkexsh.Session">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M343.7543,-525.6183C343.7543,-525.6183 434.7577,-525.6183 434.7577,-525.6183 440.7577,-525.6183 446.7577,-531.6183 446.7577,-537.6183 446.7577,-537.6183 446.7577,-895.6183 446.7577,-895.6183 446.7577,-901.6183 440.7577,-907.6183 434.7577,-907.6183 434.7577,-907.6183 343.7543,-907.6183 343.7543,-907.6183 337.7543,-907.6183 331.7543,-901.6183 331.7543,-895.6183 331.7543,-895.6183 331.7543,-537.6183 331.7543,-537.6183 331.7543,-531.6183 337.7543,-525.6183 343.7543,-525.6183"/>
<text text-anchor="middle" x="389.256" y="-534.6183" font-family="bold" font-size="15.00" fill="#222222">(Session)</text>
</a>
</g>
</g>
<g id="clust6" class="cluster">
<title>cluster_blitter.com/go/hkexsh/hkexnet</title>
<g id="a_clust6"><a xlink:href="/?f=blitter.com/go/hkexsh/hkexnet" xlink:title="package: blitter.com/go/hkexsh/hkexnet">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="573.911,-683.6183 573.911,-1598.6183 744.6132,-1598.6183 744.6132,-683.6183 573.911,-683.6183"/>
<text text-anchor="middle" x="659.2621" y="-1581.8183" font-family="bold" font-size="16.00" fill="#000000">[hkexnet]</text>
</a>
</g>
</g>
<g id="clust7" class="cluster">
<title>cluster_*blitter.com/go/hkexsh/hkexnet.Conn</title>
<g id="a_clust7"><a xlink:href="/?f=blitter.com/go/hkexsh/hkexnet" xlink:title="type: *blitter.com/go/hkexsh/hkexnet.Conn">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M598.9099,-691.6183C598.9099,-691.6183 719.6144,-691.6183 719.6144,-691.6183 725.6144,-691.6183 731.6144,-697.6183 731.6144,-703.6183 731.6144,-703.6183 731.6144,-1183.6183 731.6144,-1183.6183 731.6144,-1189.6183 725.6144,-1195.6183 719.6144,-1195.6183 719.6144,-1195.6183 598.9099,-1195.6183 598.9099,-1195.6183 592.9099,-1195.6183 586.9099,-1189.6183 586.9099,-1183.6183 586.9099,-1183.6183 586.9099,-703.6183 586.9099,-703.6183 586.9099,-697.6183 592.9099,-691.6183 598.9099,-691.6183"/>
<text text-anchor="middle" x="659.2621" y="-700.6183" font-family="bold" font-size="15.00" fill="#222222">(*Conn)</text>
</a>
</g>
</g>
<g id="clust8" class="cluster">
<title>cluster_*blitter.com/go/hkexsh/hkexnet.HKExListener</title>
<g id="a_clust8"><a xlink:href="/?f=blitter.com/go/hkexsh/hkexnet" xlink:title="type: *blitter.com/go/hkexsh/hkexnet.HKExListener">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M593.911,-1402.6183C593.911,-1402.6183 724.6132,-1402.6183 724.6132,-1402.6183 730.6132,-1402.6183 736.6132,-1408.6183 736.6132,-1414.6183 736.6132,-1414.6183 736.6132,-1467.6183 736.6132,-1467.6183 736.6132,-1473.6183 730.6132,-1479.6183 724.6132,-1479.6183 724.6132,-1479.6183 593.911,-1479.6183 593.911,-1479.6183 587.911,-1479.6183 581.911,-1473.6183 581.911,-1467.6183 581.911,-1467.6183 581.911,-1414.6183 581.911,-1414.6183 581.911,-1408.6183 587.911,-1402.6183 593.911,-1402.6183"/>
<text text-anchor="middle" x="659.2621" y="-1411.6183" font-family="bold" font-size="15.00" fill="#222222">(*HKExListener)</text>
</a>
</g>
</g>
<g id="clust9" class="cluster">
<title>cluster_blitter.com/go/hkexsh/hkexnet.Conn</title>
<g id="a_clust9"><a xlink:href="/?f=blitter.com/go/hkexsh/hkexnet" xlink:title="type: blitter.com/go/hkexsh/hkexnet.Conn">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M634.2621,-1203.6183C634.2621,-1203.6183 684.2621,-1203.6183 684.2621,-1203.6183 690.2621,-1203.6183 696.2621,-1209.6183 696.2621,-1215.6183 696.2621,-1215.6183 696.2621,-1268.6183 696.2621,-1268.6183 696.2621,-1274.6183 690.2621,-1280.6183 684.2621,-1280.6183 684.2621,-1280.6183 634.2621,-1280.6183 634.2621,-1280.6183 628.2621,-1280.6183 622.2621,-1274.6183 622.2621,-1268.6183 622.2621,-1268.6183 622.2621,-1215.6183 622.2621,-1215.6183 622.2621,-1209.6183 628.2621,-1203.6183 634.2621,-1203.6183"/>
<text text-anchor="middle" x="659.2621" y="-1212.6183" font-family="bold" font-size="15.00" fill="#222222">(Conn)</text>
</a>
</g>
</g>
<g id="clust10" class="cluster">
<title>cluster_blitter.com/go/hkexsh/hkexnet.HKExListener</title>
<g id="a_clust10"><a xlink:href="/?f=blitter.com/go/hkexsh/hkexnet" xlink:title="type: blitter.com/go/hkexsh/hkexnet.HKExListener">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M597.2621,-1487.6183C597.2621,-1487.6183 721.2621,-1487.6183 721.2621,-1487.6183 727.2621,-1487.6183 733.2621,-1493.6183 733.2621,-1499.6183 733.2621,-1499.6183 733.2621,-1552.6183 733.2621,-1552.6183 733.2621,-1558.6183 727.2621,-1564.6183 721.2621,-1564.6183 721.2621,-1564.6183 597.2621,-1564.6183 597.2621,-1564.6183 591.2621,-1564.6183 585.2621,-1558.6183 585.2621,-1552.6183 585.2621,-1552.6183 585.2621,-1499.6183 585.2621,-1499.6183 585.2621,-1493.6183 591.2621,-1487.6183 597.2621,-1487.6183"/>
<text text-anchor="middle" x="659.2621" y="-1496.6183" font-family="bold" font-size="15.00" fill="#222222">(HKExListener)</text>
</a>
</g>
</g>
<g id="clust11" class="cluster">
<title>cluster_blitter.com/go/hkexsh/logger</title>
<g id="a_clust11"><a xlink:href="/?f=blitter.com/go/hkexsh/logger" xlink:title="package: blitter.com/go/hkexsh/logger">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="337.2545,-1522.6183 337.2545,-1722.6183 441.2575,-1722.6183 441.2575,-1522.6183 337.2545,-1522.6183"/>
<text text-anchor="middle" x="389.256" y="-1705.8183" font-family="bold" font-size="16.00" fill="#000000">[logger]</text>
</a>
</g>
</g>
<g id="clust12" class="cluster">
<title>cluster_github.com/kr/pty</title>
<g id="a_clust12"><a xlink:href="/?f=github.com/kr/pty" xlink:title="package: github.com/kr/pty">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="817.3146,-548.6183 817.3146,-687.6183 899.3169,-687.6183 899.3169,-548.6183 817.3146,-548.6183"/>
<text text-anchor="middle" x="858.3158" y="-670.8183" font-family="bold" font-size="16.00" fill="#000000">[pty]</text>
</a>
</g>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs -->
<g id="node1" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="389.256" cy="-1372.6183" rx="103.9072" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1368.9183" font-family="Verdana" font-size="14.00" fill="#000000">runServerToClientCopyAs</text>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff -->
<g id="node34" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1108.6183" rx="52.0048" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1104.9183" font-family="Verdana" font-size="14.00" fill="#000000">EnableChaff</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff -->
<g id="edge1" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff</title>
<path fill="none" stroke="#8b4513" d="M464.075,-1360.1051C474.7164,-1355.8606 484.8616,-1350.1901 493.2096,-1342.6183 565.1245,-1277.3897 504.236,-1207.234 573.911,-1139.6183 582.3113,-1131.4663 593.0187,-1125.4353 603.9883,-1120.9807"/>
<polygon fill="#8b4513" stroke="#8b4513" points="605.4494,-1124.1734 613.6443,-1117.4582 603.0504,-1117.5973 605.4494,-1124.1734"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff -->
<g id="node35" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-986.6183" rx="54.4038" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-982.9183" font-family="Verdana" font-size="14.00" fill="#000000">DisableChaff</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff -->
<g id="edge2" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff</title>
<path fill="none" stroke="#8b4513" d="M466.3181,-1360.5105C476.346,-1356.1959 485.7171,-1350.3977 493.2096,-1342.6183 544.8317,-1289.0195 524.1251,-1072.9268 573.911,-1017.6183 577.6256,-1013.4916 581.9336,-1009.9137 586.6013,-1006.8116"/>
<polygon fill="#8b4513" stroke="#8b4513" points="603.4752,-1002.6667 611.0044,-995.2128 600.4702,-996.3445 603.4752,-1002.6667"/>
<polyline fill="none" stroke="#8b4513" points="601.9727,-999.5056 597.4568,-1001.652 "/>
<polygon fill="none" stroke="#8b4513" points="586.6187,-1006.8033 590.3207,-1000.615 597.4568,-1001.652 593.7549,-1007.8404 586.6187,-1006.8033"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff -->
<g id="node36" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1047.6183" rx="64.2048" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1043.9183" font-family="Verdana" font-size="14.00" fill="#000000">ShutdownChaff</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff -->
<g id="edge3" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff</title>
<path fill="none" stroke="#8b4513" d="M465.4227,-1360.3667C475.6983,-1356.0794 485.3787,-1350.3271 493.2096,-1342.6183 536.9275,-1299.5818 531.6688,-1123.104 573.911,-1078.6183 576.5537,-1075.8353 579.4655,-1073.3012 582.5715,-1070.994"/>
<polygon fill="#8b4513" stroke="#8b4513" points="599.7056,-1065.8912 606.909,-1058.1219 596.4329,-1059.7034 599.7056,-1065.8912"/>
<polyline fill="none" stroke="#8b4513" points="598.0693,-1062.7973 593.6494,-1065.1349 "/>
<polygon fill="none" stroke="#8b4513" points="583.0417,-1070.7453 586.4754,-1064.4042 593.6494,-1065.1349 590.2157,-1071.4761 583.0417,-1070.7453"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2$1 -->
<g id="node2" class="node">
<title>blitter.com/go/hkexsh/hkexshd.main$2$1</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="389.256" cy="-1433.6183" rx="44.6032" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1429.9183" font-family="Verdana" font-size="14.00" fill="#000000">main$2$1</text>
</g>
<!-- blitter.com/go/goutmp.Unput_utmp -->
<g id="node13" class="node">
<title>blitter.com/go/goutmp.Unput_utmp</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1632.6183" rx="52.6044" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1628.9183" font-family="Verdana" font-size="14.00" fill="#000000">Unput_utmp</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2$1&#45;&gt;blitter.com/go/goutmp.Unput_utmp -->
<g id="edge4" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2$1&#45;&gt;blitter.com/go/goutmp.Unput_utmp</title>
<path fill="none" stroke="#8b4513" d="M428.7137,-1442.1645C449.2413,-1447.9137 473.9898,-1456.9877 493.2096,-1470.6183 539.7954,-1503.6566 532.5148,-1531.2721 573.911,-1570.6183 589.4802,-1585.4164 608.6977,-1599.6683 624.953,-1610.7686"/>
<polygon fill="#8b4513" stroke="#8b4513" points="623.3828,-1613.9299 633.637,-1616.5947 627.2827,-1608.1169 623.3828,-1613.9299"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main -->
<g id="node3" class="node">
<title>blitter.com/go/hkexsh/hkexshd.main</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="43" cy="-1771.6183" rx="27" ry="18"/>
<text text-anchor="middle" x="43" y="-1767.9183" font-family="Verdana" font-size="14.00" fill="#000000">main</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$1 -->
<g id="node4" class="node">
<title>blitter.com/go/hkexsh/hkexshd.main$1</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="177.6512" cy="-1629.6183" rx="34.8031" ry="18"/>
<text text-anchor="middle" x="177.6512" y="-1625.9183" font-family="Verdana" font-size="14.00" fill="#000000">main$1</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexshd.main$1 -->
<g id="edge8" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexshd.main$1</title>
<path fill="none" stroke="#000000" d="M52.3753,-1754.5507C63.5163,-1735.2232 83.4578,-1703.4564 106,-1680.6183 114.7107,-1671.7932 125.1054,-1663.4349 135.2391,-1656.1353"/>
<polygon fill="#000000" stroke="#000000" points="148.124,-1651.6832 154.4662,-1643.1964 144.2158,-1645.8757 148.124,-1651.6832"/>
<polyline fill="none" stroke="#000000" points="146.1699,-1648.7794 142.0217,-1651.571 "/>
<ellipse fill="none" stroke="#000000" cx="138.7032" cy="-1653.8042" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2 -->
<g id="node5" class="node">
<title>blitter.com/go/hkexsh/hkexshd.main$2</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="177.6512" cy="-1003.6183" rx="34.8031" ry="18"/>
<text text-anchor="middle" x="177.6512" y="-999.9183" font-family="Verdana" font-size="14.00" fill="#000000">main$2</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexshd.main$2 -->
<g id="edge56" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexshd.main$2</title>
<path fill="none" stroke="#000000" d="M46.1957,-1753.3914C63.4429,-1655.0195 145.5618,-1186.6443 170.4715,-1044.5688"/>
<polygon fill="#000000" stroke="#000000" points="176.2059,-1032.129 174.4854,-1021.6748 169.311,-1030.9201 176.2059,-1032.129"/>
<polyline fill="none" stroke="#000000" points="172.7584,-1031.5245 171.895,-1036.4494 "/>
<ellipse fill="none" stroke="#000000" cx="171.2042" cy="-1040.3893" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexnet.Init -->
<g id="node32" class="node">
<title>blitter.com/go/hkexsh/hkexnet.Init</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1315.6183" rx="27" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1311.9183" font-family="Verdana" font-size="14.00" fill="#000000">Init</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexnet.Init -->
<g id="edge6" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexnet.Init</title>
<path fill="none" stroke="#8b4513" d="M69.4979,-1767.5406C96.6002,-1763.7282 139.9567,-1758.6183 177.6512,-1758.6183 177.6512,-1758.6183 177.6512,-1758.6183 248.8024,-1758.6183 303.5227,-1758.6183 452.8878,-1765.611 493.2096,-1728.6183 557.1424,-1669.9639 517.0082,-1412.1149 573.911,-1346.6183 586.0695,-1332.6235 605.0673,-1324.9447 622.0557,-1320.7322"/>
<polygon fill="#8b4513" stroke="#8b4513" points="623.2532,-1324.0549 632.2946,-1318.5319 621.7824,-1317.2111 623.2532,-1324.0549"/>
</g>
<!-- blitter.com/go/hkexsh/hkexnet.Listen -->
<g id="node33" class="node">
<title>blitter.com/go/hkexsh/hkexnet.Listen</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1376.6183" rx="28.102" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1372.9183" font-family="Verdana" font-size="14.00" fill="#000000">Listen</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexnet.Listen -->
<g id="edge9" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexnet.Listen</title>
<path fill="none" stroke="#8b4513" d="M69.2336,-1775.9712C96.3093,-1780.0809 139.8114,-1785.6183 177.6512,-1785.6183 177.6512,-1785.6183 177.6512,-1785.6183 248.8024,-1785.6183 357.7909,-1785.6183 411.1277,-1837.3194 493.2096,-1765.6183 556.0986,-1710.6828 515.9316,-1458.7125 573.911,-1398.6183 586.0532,-1386.0332 604.3636,-1380.3002 620.9153,-1377.8095"/>
<polygon fill="#8b4513" stroke="#8b4513" points="621.3944,-1381.2774 630.923,-1376.6454 620.5856,-1374.3243 621.3944,-1381.2774"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff -->
<g id="node37" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1169.6183" rx="47.7038" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1165.9183" font-family="Verdana" font-size="14.00" fill="#000000">SetupChaff</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff -->
<g id="edge12" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff</title>
<path fill="none" stroke="#8b4513" d="M64.7751,-1782.6055C90.8997,-1794.7502 136.3533,-1812.6183 177.6512,-1812.6183 177.6512,-1812.6183 177.6512,-1812.6183 248.8024,-1812.6183 363.6643,-1812.6183 419.6281,-1816.817 493.2096,-1728.6183 569.6695,-1636.9694 496.8094,-1288.7278 573.911,-1197.6183 581.7027,-1188.411 592.577,-1182.2114 603.9601,-1178.0425"/>
<polygon fill="#8b4513" stroke="#8b4513" points="605.1069,-1181.3507 613.585,-1174.9968 602.995,-1174.6769 605.1069,-1181.3507"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.HKExListener).Accept -->
<g id="node42" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.HKExListener).Accept</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1453.6183" rx="31.2029" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1449.9183" font-family="Verdana" font-size="14.00" fill="#000000">Accept</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.HKExListener).Accept -->
<g id="edge11" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.HKExListener).Accept</title>
<path fill="none" stroke="#8b4513" d="M58.6979,-1786.2995C70.8006,-1796.9091 88.3952,-1810.86 106,-1819.6183 135.6014,-1834.3447 144.5889,-1839.6183 177.6512,-1839.6183 177.6512,-1839.6183 177.6512,-1839.6183 248.8024,-1839.6183 303.2967,-1839.6183 451.849,-1855.0996 493.2096,-1819.6183 610.4317,-1719.059 469.3054,-1595.2442 573.911,-1481.6183 585.2615,-1469.289 602.1222,-1462.3768 617.8671,-1458.5064"/>
<polygon fill="#8b4513" stroke="#8b4513" points="618.9194,-1461.8617 627.9835,-1456.3759 617.4768,-1455.0119 618.9194,-1461.8617"/>
</g>
<!-- (blitter.com/go/hkexsh/hkexnet.HKExListener).Close -->
<g id="node44" class="node">
<title>(blitter.com/go/hkexsh/hkexnet.HKExListener).Close</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1538.6183" rx="27" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1534.9183" font-family="Verdana" font-size="14.00" fill="#000000">Close</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;(blitter.com/go/hkexsh/hkexnet.HKExListener).Close -->
<g id="edge10" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;(blitter.com/go/hkexsh/hkexnet.HKExListener).Close</title>
<path fill="none" stroke="#8b4513" d="M52.8764,-1788.495C63.763,-1805.6303 82.8395,-1831.7021 106,-1846.6183 133.7964,-1864.5201 144.5889,-1866.6183 177.6512,-1866.6183 177.6512,-1866.6183 177.6512,-1866.6183 248.8024,-1866.6183 357.7909,-1866.6183 407.6284,-1914.1042 493.2096,-1846.6183 583.5633,-1775.369 506.141,-1693.61 573.911,-1600.6183 584.5529,-1586.0159 599.6684,-1573.4604 614.229,-1563.5429"/>
<polygon fill="#8b4513" stroke="#8b4513" points="630.6099,-1557.6446 637.3219,-1549.4471 626.9628,-1551.6697 630.6099,-1557.6446"/>
<polyline fill="none" stroke="#8b4513" points="628.7863,-1554.6571 624.5186,-1557.2622 "/>
<polygon fill="none" stroke="#8b4513" points="614.2759,-1563.5143 617.3132,-1556.974 624.5186,-1557.2622 621.4813,-1563.8024 614.2759,-1563.5143"/>
</g>
<!-- blitter.com/go/hkexsh/logger.New -->
<g id="node45" class="node">
<title>blitter.com/go/hkexsh/logger.New</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-1670.6183" rx="27" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1666.9183" font-family="Verdana" font-size="14.00" fill="#000000">New</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/logger.New -->
<g id="edge5" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/logger.New</title>
<path fill="none" stroke="#8b4513" d="M66.8197,-1762.9127C109.9627,-1747.3565 204.1013,-1714.3816 285.3024,-1692.6183 307.6074,-1686.6401 332.9546,-1681.2481 353.0357,-1677.2984"/>
<polygon fill="#8b4513" stroke="#8b4513" points="353.8592,-1680.7041 363.0127,-1675.369 352.5301,-1673.8314 353.8592,-1680.7041"/>
</g>
<!-- blitter.com/go/hkexsh/logger.LogNotice -->
<g id="node46" class="node">
<title>blitter.com/go/hkexsh/logger.LogNotice</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-1609.6183" rx="44.0031" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1605.9183" font-family="Verdana" font-size="14.00" fill="#000000">LogNotice</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$1&#45;&gt;blitter.com/go/hkexsh/logger.LogNotice -->
<g id="edge7" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$1&#45;&gt;blitter.com/go/hkexsh/logger.LogNotice</title>
<path fill="none" stroke="#8b4513" d="M212.1201,-1626.3604C245.6614,-1623.1902 297.1059,-1618.3279 335.9283,-1614.6586"/>
<polygon fill="#8b4513" stroke="#8b4513" points="336.3857,-1618.131 346.0119,-1613.7055 335.7269,-1611.1621 336.3857,-1618.131"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs -->
<g id="edge55" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs</title>
<path fill="none" stroke="#000000" d="M180.6809,-1021.989C191.742,-1086.6325 232.098,-1301.8975 285.3024,-1342.6183 292.1844,-1347.8855 299.9622,-1352.2286 308.0894,-1355.8095"/>
<polygon fill="#000000" stroke="#000000" points="306.8004,-1359.0635 317.3846,-1359.5374 309.406,-1352.5665 306.8004,-1359.0635"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.main$2$1 -->
<g id="edge48" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.main$2$1</title>
<path fill="none" stroke="#000000" d="M180.0578,-1021.8693C189.77,-1092.7784 228.3096,-1348.7573 285.3024,-1403.6183 294.6988,-1412.6632 306.6453,-1419.0086 319.0673,-1423.4535"/>
<polygon fill="#000000" stroke="#000000" points="334.8229,-1431.1763 345.3824,-1430.3113 336.5882,-1424.4026 334.8229,-1431.1763"/>
<polyline fill="none" stroke="#000000" points="335.7056,-1427.7894 330.8672,-1426.5285 "/>
<polygon fill="none" stroke="#000000" points="319.255,-1423.5023 326.0698,-1421.1447 330.8672,-1426.5285 324.0524,-1428.8862 319.255,-1423.5023"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.GenAuthToken -->
<g id="node6" class="node">
<title>blitter.com/go/hkexsh/hkexshd.GenAuthToken</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-1311.6183" rx="61.7044" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1307.9183" font-family="Verdana" font-size="14.00" fill="#000000">GenAuthToken</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.GenAuthToken -->
<g id="edge32" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.GenAuthToken</title>
<path fill="none" stroke="#000000" d="M179.9681,-1021.6508C187.3336,-1076.231 211.8898,-1238.1445 248.3024,-1274.6183 266.605,-1292.9516 292.8159,-1302.5384 317.6809,-1307.4426"/>
<polygon fill="#000000" stroke="#000000" points="317.4055,-1310.9472 327.8576,-1309.2136 318.6057,-1304.0509 317.4055,-1310.9472"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs -->
<g id="node7" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="389.256" cy="-1081.6183" rx="46.4041" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1077.9183" font-family="Verdana" font-size="14.00" fill="#000000">runShellAs</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs -->
<g id="edge44" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs</title>
<path fill="none" stroke="#000000" d="M199.9348,-1017.5019C221.1573,-1030.1614 254.3646,-1048.531 285.3024,-1059.6183 301.4091,-1065.3905 319.4902,-1069.8679 336.0008,-1073.2311"/>
<polygon fill="#000000" stroke="#000000" points="335.5623,-1076.7113 346.0463,-1075.1828 336.8974,-1069.8398 335.5623,-1076.7113"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs -->
<g id="node12" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="389.256" cy="-1223.6183" rx="103.9072" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1219.9183" font-family="Verdana" font-size="14.00" fill="#000000">runClientToServerCopyAs</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs -->
<g id="edge53" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs</title>
<path fill="none" stroke="#000000" d="M179.2745,-1021.7318C183.5622,-1058.4921 198.5407,-1142.1278 248.3024,-1186.6183 260.5635,-1197.5806 275.6867,-1205.3613 291.4279,-1210.8694"/>
<polygon fill="#000000" stroke="#000000" points="290.6981,-1214.3103 301.2888,-1214.0134 292.8245,-1207.6411 290.6981,-1214.3103"/>
</g>
<!-- blitter.com/go/goutmp.GetHost -->
<g id="node14" class="node">
<title>blitter.com/go/goutmp.GetHost</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1693.6183" rx="36.1036" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1689.9183" font-family="Verdana" font-size="14.00" fill="#000000">GetHost</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/goutmp.GetHost -->
<g id="edge31" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/goutmp.GetHost</title>
<path fill="none" stroke="#8b4513" d="M179.1092,-1021.6268C185.7878,-1099.307 216.1497,-1404.4876 285.3024,-1464.6183 355.9043,-1526.0091 418.0456,-1441.9062 493.2096,-1497.6183 559.1142,-1546.4671 512.6798,-1609.0256 573.911,-1663.6183 585.3415,-1673.8095 600.4457,-1680.5894 614.7672,-1685.0783"/>
<polygon fill="#8b4513" stroke="#8b4513" points="613.9271,-1688.478 624.5023,-1687.8337 615.8335,-1681.7426 613.9271,-1688.478"/>
</g>
<!-- blitter.com/go/goutmp.Put_utmp -->
<g id="node15" class="node">
<title>blitter.com/go/goutmp.Put_utmp</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1754.6183" rx="41.6038" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1750.9183" font-family="Verdana" font-size="14.00" fill="#000000">Put_utmp</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/goutmp.Put_utmp -->
<g id="edge47" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/goutmp.Put_utmp</title>
<path fill="none" stroke="#8b4513" d="M178.6271,-1021.75C183.4166,-1102.8417 207.4408,-1430.762 285.3024,-1487.6183 360.6498,-1542.6386 420.0599,-1458.708 493.2096,-1516.6183 570.9545,-1578.1664 502.6788,-1655.6371 573.911,-1724.6183 583.8014,-1734.196 596.9255,-1740.7321 609.9092,-1745.1865"/>
<polygon fill="#8b4513" stroke="#8b4513" points="609.1681,-1748.62 619.7547,-1748.203 611.2187,-1741.9271 609.1681,-1748.62"/>
</g>
<!-- blitter.com/go/goutmp.Put_lastlog_entry -->
<g id="node16" class="node">
<title>blitter.com/go/goutmp.Put_lastlog_entry</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1815.6183" rx="72.105" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1811.9183" font-family="Verdana" font-size="14.00" fill="#000000">Put_lastlog_entry</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/goutmp.Put_lastlog_entry -->
<g id="edge49" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/goutmp.Put_lastlog_entry</title>
<path fill="none" stroke="#8b4513" d="M179.1151,-1021.7824C187.895,-1128.736 234.8893,-1673.534 285.3024,-1726.6183 360.9294,-1806.2522 493.8522,-1820.2822 579.1598,-1820.145"/>
<polygon fill="#8b4513" stroke="#8b4513" points="579.3493,-1823.6436 589.3201,-1820.0615 579.2917,-1816.6439 579.3493,-1823.6436"/>
</g>
<!-- blitter.com/go/hkexsh.AuthUserByToken -->
<g id="node17" class="node">
<title>blitter.com/go/hkexsh.AuthUserByToken</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-942.6183" rx="73.9057" ry="18"/>
<text text-anchor="middle" x="389.256" y="-938.9183" font-family="Verdana" font-size="14.00" fill="#000000">AuthUserByToken</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh.AuthUserByToken -->
<g id="edge25" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh.AuthUserByToken</title>
<path fill="none" stroke="#8b4513" d="M207.969,-994.8784C240.169,-985.596 291.8325,-970.7028 331.7849,-959.1856"/>
<polygon fill="#8b4513" stroke="#8b4513" points="332.7718,-962.5437 341.4111,-956.4107 330.8328,-955.8176 332.7718,-962.5437"/>
</g>
<!-- blitter.com/go/hkexsh.AuthUserByPasswd -->
<g id="node18" class="node">
<title>blitter.com/go/hkexsh.AuthUserByPasswd</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-1003.6183" rx="79.5063" ry="18"/>
<text text-anchor="middle" x="389.256" y="-999.9183" font-family="Verdana" font-size="14.00" fill="#000000">AuthUserByPasswd</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh.AuthUserByPasswd -->
<g id="edge27" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh.AuthUserByPasswd</title>
<path fill="none" stroke="#8b4513" d="M212.5934,-1003.6183C236.2174,-1003.6183 268.5644,-1003.6183 299.127,-1003.6183"/>
<polygon fill="#8b4513" stroke="#8b4513" points="299.4081,-1007.1184 309.4081,-1003.6183 299.4081,-1000.1184 299.4081,-1007.1184"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).SetOp -->
<g id="node19" class="node">
<title>(*blitter.com/go/hkexsh.Session).SetOp</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-247.6183" rx="28.7023" ry="18"/>
<text text-anchor="middle" x="389.256" y="-243.9183" font-family="Verdana" font-size="14.00" fill="#000000">SetOp</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetOp -->
<g id="edge14" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetOp</title>
<path fill="none" stroke="#8b4513" d="M179.1345,-985.4256C188.0259,-878.3015 235.5528,-332.5946 285.3024,-278.6183 301.8303,-260.6861 328.2355,-252.9634 350.2966,-249.7099"/>
<polygon fill="#8b4513" stroke="#8b4513" points="350.8925,-253.1632 360.3948,-248.4776 350.0445,-246.2148 350.8925,-253.1632"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).SetWho -->
<g id="node20" class="node">
<title>(*blitter.com/go/hkexsh.Session).SetWho</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-308.6183" rx="35.4036" ry="18"/>
<text text-anchor="middle" x="389.256" y="-304.9183" font-family="Verdana" font-size="14.00" fill="#000000">SetWho</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetWho -->
<g id="edge15" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetWho</title>
<path fill="none" stroke="#8b4513" d="M178.9824,-985.258C184.2147,-916.1964 205.2294,-665.6677 248.3024,-463.6183 260.2934,-407.37 244.6318,-380.2822 285.3024,-339.6183 300.797,-324.1262 323.6787,-316.3126 344.0328,-312.3981"/>
<polygon fill="#8b4513" stroke="#8b4513" points="344.7931,-315.8199 354.085,-310.7296 343.6469,-308.9143 344.7931,-315.8199"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).SetConnHost -->
<g id="node21" class="node">
<title>(*blitter.com/go/hkexsh.Session).SetConnHost</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-369.6183" rx="55.6039" ry="18"/>
<text text-anchor="middle" x="389.256" y="-365.9183" font-family="Verdana" font-size="14.00" fill="#000000">SetConnHost</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetConnHost -->
<g id="edge16" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetConnHost</title>
<path fill="none" stroke="#8b4513" d="M178.319,-985.5606C182.0419,-894.7687 203.1283,-489.0244 285.3024,-400.6183 295.978,-389.133 310.7058,-381.8394 325.7205,-377.2259"/>
<polygon fill="#8b4513" stroke="#8b4513" points="326.8456,-380.5476 335.589,-374.5641 325.0226,-373.7891 326.8456,-380.5476"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).SetTermType -->
<g id="node22" class="node">
<title>(*blitter.com/go/hkexsh.Session).SetTermType</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-430.6183" rx="55.6039" ry="18"/>
<text text-anchor="middle" x="389.256" y="-426.9183" font-family="Verdana" font-size="14.00" fill="#000000">SetTermType</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetTermType -->
<g id="edge17" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetTermType</title>
<path fill="none" stroke="#8b4513" d="M180.1123,-985.583C192.4797,-896.0281 248.6917,-501.8327 285.3024,-461.6183 295.8585,-450.0231 310.5445,-442.6911 325.5572,-438.0758"/>
<polygon fill="#8b4513" stroke="#8b4513" points="326.6837,-441.3972 335.4298,-435.4176 324.8637,-434.6379 326.6837,-441.3972"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).SetCmd -->
<g id="node23" class="node">
<title>(*blitter.com/go/hkexsh.Session).SetCmd</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-491.6183" rx="35.5042" ry="18"/>
<text text-anchor="middle" x="389.256" y="-487.9183" font-family="Verdana" font-size="14.00" fill="#000000">SetCmd</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetCmd -->
<g id="edge18" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetCmd</title>
<path fill="none" stroke="#8b4513" d="M181.5043,-985.7064C200.24,-898.6846 281.0951,-524.016 285.3024,-519.6183 300.2796,-503.9632 323.0066,-496.7446 343.3946,-493.5321"/>
<polygon fill="#8b4513" stroke="#8b4513" points="344.0119,-496.9815 353.4793,-492.2255 343.1124,-490.0395 344.0119,-496.9815"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).SetAuthCookie -->
<g id="node24" class="node">
<title>(*blitter.com/go/hkexsh.Session).SetAuthCookie</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-125.6183" rx="62.905" ry="18"/>
<text text-anchor="middle" x="389.256" y="-121.9183" font-family="Verdana" font-size="14.00" fill="#000000">SetAuthCookie</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetAuthCookie -->
<g id="edge19" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetAuthCookie</title>
<path fill="none" stroke="#8b4513" d="M178.8456,-985.5887C184.1793,-907.291 207.3699,-589.0891 248.3024,-330.6183 260.6689,-252.529 231.6856,-214.7225 285.3024,-156.6183 294.706,-146.4276 307.2996,-139.5345 320.4703,-134.8851"/>
<polygon fill="#8b4513" stroke="#8b4513" points="321.6166,-138.194 330.1253,-131.8811 319.537,-131.5101 321.6166,-138.194"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).ClearAuthCookie -->
<g id="node25" class="node">
<title>(*blitter.com/go/hkexsh.Session).ClearAuthCookie</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-186.6183" rx="70.305" ry="18"/>
<text text-anchor="middle" x="389.256" y="-182.9183" font-family="Verdana" font-size="14.00" fill="#000000">ClearAuthCookie</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).ClearAuthCookie -->
<g id="edge26" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).ClearAuthCookie</title>
<path fill="none" stroke="#8b4513" d="M178.9075,-985.3728C186.8145,-872.8594 231.1171,-276.1996 285.3024,-217.6183 293.5447,-208.7073 304.2261,-202.3183 315.5959,-197.7463"/>
<polygon fill="#8b4513" stroke="#8b4513" points="317.0137,-200.9572 325.2701,-194.3176 314.6753,-194.3593 317.0137,-200.9572"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).Op -->
<g id="node26" class="node">
<title>(blitter.com/go/hkexsh.Session).Op</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-820.6183" rx="27" ry="18"/>
<text text-anchor="middle" x="389.256" y="-816.9183" font-family="Verdana" font-size="14.00" fill="#000000">Op</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).Op -->
<g id="edge20" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).Op</title>
<path fill="none" stroke="#8b4513" d="M189.3109,-986.5299C215.79,-947.8097 278.6839,-856.3652 285.3024,-851.6183 305.0298,-837.4694 331.2478,-829.7094 352.418,-825.4917"/>
<polygon fill="#8b4513" stroke="#8b4513" points="353.1378,-828.9184 362.3545,-823.6933 351.891,-822.0303 353.1378,-828.9184"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).Who -->
<g id="node27" class="node">
<title>(blitter.com/go/hkexsh.Session).Who</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-881.6183" rx="27" ry="18"/>
<text text-anchor="middle" x="389.256" y="-877.9183" font-family="Verdana" font-size="14.00" fill="#000000">Who</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).Who -->
<g id="edge21" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).Who</title>
<path fill="none" stroke="#8b4513" d="M193.0663,-987.3164C217.4656,-961.8686 264.3575,-914.4842 285.3024,-903.6183 306.0345,-892.8628 331.6865,-887.3648 352.321,-884.5547"/>
<polygon fill="#8b4513" stroke="#8b4513" points="352.7943,-888.023 362.3019,-883.3481 351.9541,-881.0736 352.7943,-888.023"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).ConnHost -->
<g id="node28" class="node">
<title>(blitter.com/go/hkexsh.Session).ConnHost</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-576.6183" rx="42.8032" ry="18"/>
<text text-anchor="middle" x="389.256" y="-572.9183" font-family="Verdana" font-size="14.00" fill="#000000">ConnHost</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).ConnHost -->
<g id="edge22" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).ConnHost</title>
<path fill="none" stroke="#8b4513" d="M182.7876,-985.5029C194.6921,-943.4361 225.007,-835.8431 249.3024,-745.6183 265.7836,-684.4125 241.2646,-653.2082 285.3024,-607.6183 298.8334,-593.6104 318.396,-585.861 336.9092,-581.5997"/>
<polygon fill="#8b4513" stroke="#8b4513" points="337.6329,-585.0243 346.7481,-579.624 336.2547,-578.1613 337.6329,-585.0243"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).Cmd -->
<g id="node29" class="node">
<title>(blitter.com/go/hkexsh.Session).Cmd</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-637.6183" rx="27" ry="18"/>
<text text-anchor="middle" x="389.256" y="-633.9183" font-family="Verdana" font-size="14.00" fill="#000000">Cmd</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).Cmd -->
<g id="edge23" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).Cmd</title>
<path fill="none" stroke="#8b4513" d="M184.2598,-985.8328C197.3688,-950.2996 227.296,-867.902 249.3024,-797.6183 267.0884,-740.8136 243.586,-711.0783 285.3024,-668.6183 302.7355,-650.8744 329.852,-643.1881 352.0189,-639.9044"/>
<polygon fill="#8b4513" stroke="#8b4513" points="352.6264,-643.356 362.1202,-638.6531 351.7658,-636.4091 352.6264,-643.356"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).AuthCookie -->
<g id="node30" class="node">
<title>(blitter.com/go/hkexsh.Session).AuthCookie</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-698.6183" rx="49.5034" ry="18"/>
<text text-anchor="middle" x="389.256" y="-694.9183" font-family="Verdana" font-size="14.00" fill="#000000">AuthCookie</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).AuthCookie -->
<g id="edge24" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).AuthCookie</title>
<path fill="none" stroke="#8b4513" d="M185.8723,-985.7731C199.7207,-955.4355 228.2478,-891.73 249.3024,-836.6183 267.2088,-789.7472 249.2125,-764.4758 285.3024,-729.6183 297.6982,-717.6458 314.5145,-710.2715 331.0074,-705.738"/>
<polygon fill="#8b4513" stroke="#8b4513" points="332.2996,-709.0261 341.1922,-703.2666 330.6489,-702.2235 332.2996,-709.0261"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).TermType -->
<g id="node31" class="node">
<title>(blitter.com/go/hkexsh.Session).TermType</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-759.6183" rx="42.8032" ry="18"/>
<text text-anchor="middle" x="389.256" y="-755.9183" font-family="Verdana" font-size="14.00" fill="#000000">TermType</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).TermType -->
<g id="edge33" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).TermType</title>
<path fill="none" stroke="#8b4513" d="M187.5166,-986.0303C201.6782,-960.5945 228.3678,-911.9459 249.3024,-869.6183 266.408,-835.0323 256.2056,-815.9593 285.3024,-790.6183 299.8016,-777.9906 319.2694,-770.5045 337.4368,-766.0673"/>
<polygon fill="#8b4513" stroke="#8b4513" points="338.3323,-769.4543 347.3561,-763.9026 336.8398,-762.6153 338.3323,-769.4543"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).Close -->
<g id="node38" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).Close</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-742.6183" rx="27" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-738.9183" font-family="Verdana" font-size="14.00" fill="#000000">Close</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).Close -->
<g id="edge13" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).Close</title>
<path fill="none" stroke="#8b4513" d="M178.2966,-985.4735C182.9232,-860.5571 212.9504,-131.0867 285.3024,-68.6183 355.2436,-8.2313 423.9738,-7.4238 493.2096,-68.6183 711.9909,-261.9894 381.1939,-501.2608 573.911,-720.6183 581.9782,-729.8006 593.3203,-735.3946 605.1083,-738.7457"/>
<polygon fill="#8b4513" stroke="#8b4513" points="621.6604,-744.9791 632.0921,-743.1271 622.7823,-738.0696 621.6604,-744.9791"/>
<polyline fill="none" stroke="#8b4513" points="622.2213,-741.5243 617.286,-740.7229 "/>
<polygon fill="none" stroke="#8b4513" points="605.4411,-738.7996 612.0046,-735.813 617.286,-740.7229 610.7224,-743.7096 605.4411,-738.7996"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).RemoteAddr -->
<g id="node39" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).RemoteAddr</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-864.6183" rx="53.8039" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-860.9183" font-family="Verdana" font-size="14.00" fill="#000000">RemoteAddr</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).RemoteAddr -->
<g id="edge30" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).RemoteAddr</title>
<path fill="none" stroke="#8b4513" d="M181.4443,-1021.8486C188.6601,-1051.2806 207.441,-1108.409 248.3024,-1132.6183 295.1252,-1160.3595 448.9564,-1164.2979 493.2096,-1132.6183 538.4487,-1100.2328 534.9695,-935.3542 573.911,-895.6183 581.7679,-887.6011 591.857,-881.6455 602.3287,-877.2249"/>
<polygon fill="#8b4513" stroke="#8b4513" points="603.876,-880.3823 612.0002,-873.5816 601.4083,-873.8316 603.876,-880.3823"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus -->
<g id="node40" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-803.6183" rx="42.2035" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-799.9183" font-family="Verdana" font-size="14.00" fill="#000000">SetStatus</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus -->
<g id="edge46" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus</title>
<path fill="none" stroke="#8b4513" d="M188.2401,-1020.9976C205.0707,-1046.7363 240.6385,-1093.9548 285.3024,-1112.6183 327.9319,-1130.4316 456.2659,-1140.3626 493.2096,-1112.6183 544.6477,-1073.9888 529.9465,-881.5781 573.911,-834.6183 583.3555,-824.5303 596.3391,-817.7162 609.3308,-813.1167"/>
<polygon fill="#8b4513" stroke="#8b4513" points="610.7174,-816.3498 619.2088,-810.0136 608.6195,-809.6716 610.7174,-816.3498"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket -->
<g id="node41" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-925.6183" rx="50.7037" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-921.9183" font-family="Verdana" font-size="14.00" fill="#000000">WritePacket</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket -->
<g id="edge54" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket</title>
<path fill="none" stroke="#8b4513" d="M179.62,-1021.6611C184.4109,-1055.6454 200.0787,-1128.5196 248.3024,-1159.6183 294.0404,-1189.1139 448.1754,-1190.1776 493.2096,-1159.6183 533.3794,-1132.3599 539.0735,-990.4262 573.911,-956.6183 582.5729,-948.2124 593.6879,-942.0617 605.0139,-937.5691"/>
<polygon fill="#8b4513" stroke="#8b4513" points="606.2873,-940.8309 614.5282,-934.1721 603.9336,-934.2384 606.2873,-940.8309"/>
</g>
<!-- (blitter.com/go/hkexsh/hkexnet.Conn).Write -->
<g id="node43" class="node">
<title>(blitter.com/go/hkexsh/hkexnet.Conn).Write</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1254.6183" rx="27" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1250.9183" font-family="Verdana" font-size="14.00" fill="#000000">Write</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).Write -->
<g id="edge28" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).Write</title>
<path fill="none" stroke="#8b4513" d="M178.522,-1021.6787C182.0088,-1070.7746 199.3637,-1206.233 285.3024,-1254.6183 342.1322,-1286.6146 540.085,-1268.3899 622.6543,-1259.0639"/>
<polygon fill="#8b4513" stroke="#8b4513" points="623.0608,-1262.5403 632.5954,-1257.9207 622.261,-1255.5861 623.0608,-1262.5403"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/logger.LogNotice -->
<g id="edge29" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/logger.LogNotice</title>
<path fill="none" stroke="#8b4513" d="M179.1484,-1021.8158C185.8929,-1101.9455 214.5955,-1423.5666 248.3024,-1518.6183 258.9002,-1548.5034 260.1225,-1560.3464 285.3024,-1579.6183 300.0785,-1590.9273 318.9842,-1597.9762 336.6113,-1602.3686"/>
<polygon fill="#8b4513" stroke="#8b4513" points="336.277,-1605.8807 346.8012,-1604.6599 337.8127,-1599.0513 336.277,-1605.8807"/>
</g>
<!-- blitter.com/go/hkexsh/logger.LogErr -->
<g id="node47" class="node">
<title>blitter.com/go/hkexsh/logger.LogErr</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-1548.6183" rx="30.6034" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1544.9183" font-family="Verdana" font-size="14.00" fill="#000000">LogErr</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/logger.LogErr -->
<g id="edge45" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/logger.LogErr</title>
<path fill="none" stroke="#8b4513" d="M177.8137,-1021.7588C178.8861,-1103.0139 187.0064,-1432.9507 248.3024,-1511.6183 271.5247,-1541.4219 315.6198,-1549.0446 348.3329,-1550.2228"/>
<polygon fill="#8b4513" stroke="#8b4513" points="348.4541,-1553.7253 358.5131,-1550.3988 348.5752,-1546.7264 348.4541,-1553.7253"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs$1 -->
<g id="node8" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs$1</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="659.2621" cy="-596.6183" rx="56.2041" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-592.9183" font-family="Verdana" font-size="14.00" fill="#000000">runShellAs$1</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$1 -->
<g id="edge35" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$1</title>
<path fill="none" stroke="#000000" d="M435.3717,-1082.7878C455.7105,-1080.83 478.3245,-1074.863 493.2096,-1059.6183 527.3233,-1024.6803 542.3215,-664.8541 573.911,-627.6183 577.2814,-623.6455 581.2039,-620.1818 585.4798,-617.162"/>
<polygon fill="#000000" stroke="#000000" points="602.3082,-612.7414 609.7193,-605.1699 599.2042,-606.4672 602.3082,-612.7414"/>
<polyline fill="none" stroke="#000000" points="600.7562,-609.6043 596.2747,-611.8214 "/>
<polygon fill="none" stroke="#000000" points="585.519,-617.1427 589.1231,-610.8968 596.2747,-611.8214 592.6706,-618.0673 585.519,-617.1427"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs$2 -->
<g id="node9" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs$2</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="659.2621" cy="-657.6183" rx="56.2041" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-653.9183" font-family="Verdana" font-size="14.00" fill="#000000">runShellAs$2</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$2 -->
<g id="edge37" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$2</title>
<path fill="none" stroke="#000000" d="M435.445,-1082.5731C455.675,-1080.5493 478.1791,-1074.5893 493.2096,-1059.6183 553.4497,-999.6166 517.0111,-748.7964 573.911,-685.6183 577.6535,-681.4629 582.0222,-677.9222 586.7682,-674.9057"/>
<polygon fill="#000000" stroke="#000000" points="600.1499,-672.5891 607.7653,-665.2232 597.2186,-666.2324 600.1499,-672.5891"/>
<polyline fill="none" stroke="#000000" points="598.6843,-669.4108 594.1438,-671.5046 "/>
<ellipse fill="none" stroke="#000000" cx="590.5114" cy="-673.1796" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs$3 -->
<g id="node10" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs$3</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="659.2621" cy="-447.6183" rx="56.2041" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-443.9183" font-family="Verdana" font-size="14.00" fill="#000000">runShellAs$3</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$3 -->
<g id="edge38" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$3</title>
<path fill="none" stroke="#000000" d="M435.3914,-1083.6094C456.1176,-1081.901 479.0482,-1075.906 493.2096,-1059.6183 569.2107,-972.2059 489.4079,-648.3974 529.2096,-539.6183 540.759,-508.0535 547.0197,-498.782 573.911,-478.6183 579.6539,-474.3121 586.0539,-470.5571 592.6956,-467.2934"/>
<polygon fill="#000000" stroke="#000000" points="606.301,-465.4996 614.2266,-458.4686 603.6462,-459.0225 606.301,-465.4996"/>
<polyline fill="none" stroke="#000000" points="604.9736,-462.2611 600.3471,-464.1573 "/>
<ellipse fill="none" stroke="#000000" cx="596.6459" cy="-465.6743" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs$4 -->
<g id="node11" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs$4</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="659.2621" cy="-508.6183" rx="56.2041" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-504.9183" font-family="Verdana" font-size="14.00" fill="#000000">runShellAs$4</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$4 -->
<g id="edge42" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$4</title>
<path fill="none" stroke="#000000" d="M435.3856,-1083.6044C456.1105,-1081.8948 479.0416,-1075.9003 493.2096,-1059.6183 568.3727,-973.2399 457.0539,-634.5242 529.2096,-545.6183 541.9685,-529.8975 560.8925,-520.5699 580.3791,-515.1121"/>
<polygon fill="#000000" stroke="#000000" points="594.1086,-515.8093 603.1775,-510.3315 592.672,-508.9583 594.1086,-515.8093"/>
<polyline fill="none" stroke="#000000" points="593.3903,-512.3838 588.4968,-513.4099 "/>
<ellipse fill="none" stroke="#000000" cx="584.5819" cy="-514.2309" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff -->
<g id="edge39" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff</title>
<path fill="none" stroke="#8b4513" d="M407.928,-1098.2946C433.2681,-1119.6919 480.9471,-1155.7059 529.2096,-1169.6183 552.2002,-1176.2456 552.6331,-1150.5607 573.911,-1139.6183 585.3054,-1133.7586 598.0674,-1128.495 610.1803,-1124.0397"/>
<polygon fill="#8b4513" stroke="#8b4513" points="611.4704,-1127.2956 619.7169,-1120.6439 609.1223,-1120.7012 611.4704,-1127.2956"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff -->
<g id="edge40" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff</title>
<path fill="none" stroke="#8b4513" d="M432.4664,-1075.1845C451.4321,-1071.6728 473.7606,-1066.5903 493.2096,-1059.6183 531.2719,-1045.9737 536.895,-1033.8885 573.911,-1017.6183 580.7123,-1014.6288 587.9018,-1011.6895 595.1061,-1008.8831"/>
<polygon fill="#8b4513" stroke="#8b4513" points="612.4355,-1006.2021 620.5992,-999.449 610.0061,-999.6372 612.4355,-1006.2021"/>
<polyline fill="none" stroke="#8b4513" points="611.2208,-1002.9196 606.5316,-1004.655 "/>
<polygon fill="none" stroke="#8b4513" points="595.2775,-1008.8198 599.5163,-1002.986 606.5316,-1004.655 602.2928,-1010.4887 595.2775,-1008.8198"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff -->
<g id="edge41" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff</title>
<path fill="none" stroke="#8b4513" d="M432.3628,-1088.2636C460.39,-1091.4783 497.6444,-1093.6669 530.2096,-1088.6183 542.9442,-1086.644 568.4405,-1078.841 593.4323,-1070.5639"/>
<polygon fill="#8b4513" stroke="#8b4513" points="610.8821,-1068.3455 619.2295,-1061.8209 608.6352,-1061.7159 610.8821,-1068.3455"/>
<polyline fill="none" stroke="#8b4513" points="609.7587,-1065.0307 605.0232,-1066.6356 "/>
<polygon fill="none" stroke="#8b4513" points="593.6582,-1070.4874 598.0568,-1064.7731 605.0232,-1066.6356 600.6246,-1072.3498 593.6582,-1070.4874"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus -->
<g id="edge43" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus</title>
<path fill="none" stroke="#8b4513" d="M435.6253,-1081.5231C455.4086,-1079.2165 477.5034,-1073.3239 493.2096,-1059.6183 533.2326,-1024.693 536.4257,-872.2542 573.911,-834.6183 583.6629,-824.8272 596.7434,-818.1066 609.7296,-813.5018"/>
<polygon fill="#8b4513" stroke="#8b4513" points="611.1106,-816.7357 619.5852,-810.3771 608.995,-810.0631 611.1106,-816.7357"/>
</g>
<!-- github.com/kr/pty.Start -->
<g id="node48" class="node">
<title>github.com/kr/pty.Start</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="858.3158" cy="-574.6183" rx="27" ry="18"/>
<text text-anchor="middle" x="858.3158" y="-570.9183" font-family="Verdana" font-size="14.00" fill="#000000">Start</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;github.com/kr/pty.Start -->
<g id="edge34" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;github.com/kr/pty.Start</title>
<path fill="none" stroke="#8b4513" d="M435.527,-1082.9377C455.8992,-1081.0122 478.4964,-1075.029 493.2096,-1059.6183 531.5398,-1019.471 531.6102,-602.5577 573.911,-566.6183 610.343,-535.6651 754.2757,-556.0934 822.3169,-567.8992"/>
<polygon fill="#8b4513" stroke="#8b4513" points="821.7141,-571.3468 832.1707,-569.641 822.9327,-564.4537 821.7141,-571.3468"/>
</g>
<!-- github.com/kr/pty.Setsize -->
<g id="node49" class="node">
<title>github.com/kr/pty.Setsize</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="858.3158" cy="-635.6183" rx="33.0023" ry="18"/>
<text text-anchor="middle" x="858.3158" y="-631.9183" font-family="Verdana" font-size="14.00" fill="#000000">Setsize</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs$2&#45;&gt;github.com/kr/pty.Setsize -->
<g id="edge36" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs$2&#45;&gt;github.com/kr/pty.Setsize</title>
<path fill="none" stroke="#8b4513" d="M712.3434,-651.7516C744.6925,-648.1762 785.4802,-643.6683 815.7119,-640.327"/>
<polygon fill="#8b4513" stroke="#8b4513" points="816.3789,-643.7746 825.9338,-639.1972 815.6098,-636.817 816.3789,-643.7746"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff -->
<g id="edge50" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff</title>
<path fill="none" stroke="#8b4513" d="M450.0176,-1208.867C475.7049,-1201.2547 505.3634,-1190.588 530.2096,-1176.6183 552.393,-1164.1457 551.8951,-1152.3841 573.911,-1139.6183 584.6724,-1133.3783 596.9085,-1128.0399 608.688,-1123.6401"/>
<polygon fill="#8b4513" stroke="#8b4513" points="610.189,-1126.8208 618.4329,-1120.1658 607.8383,-1120.2273 610.189,-1126.8208"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff -->
<g id="edge51" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff</title>
<path fill="none" stroke="#8b4513" d="M453.7713,-1209.4435C467.9461,-1204.0599 482.0401,-1196.6871 493.2096,-1186.6183 555.0333,-1130.887 512.2673,-1073.5485 573.911,-1017.6183 578.1525,-1013.7699 582.909,-1010.3895 587.9488,-1007.4217"/>
<polygon fill="#8b4513" stroke="#8b4513" points="605.027,-1003.6143 612.7253,-996.3352 602.1679,-997.2248 605.027,-1003.6143"/>
<polyline fill="none" stroke="#8b4513" points="603.5974,-1000.4196 599.0335,-1002.4618 "/>
<polygon fill="none" stroke="#8b4513" points="588.08,-1007.3631 591.923,-1001.2613 599.0335,-1002.4618 595.1905,-1008.5636 588.08,-1007.3631"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff -->
<g id="edge52" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff</title>
<path fill="none" stroke="#8b4513" d="M449.4402,-1208.8903C464.6158,-1203.437 480.2596,-1196.17 493.2096,-1186.6183 541.4319,-1151.0504 525.8036,-1114.3414 573.911,-1078.6183 577.7823,-1075.7436 581.9469,-1073.1133 586.2794,-1070.71"/>
<polygon fill="#8b4513" stroke="#8b4513" points="603.4692,-1066.8859 611.1803,-1059.6202 600.6214,-1060.4913 603.4692,-1066.8859"/>
<polyline fill="none" stroke="#8b4513" points="602.0453,-1063.6886 597.4778,-1065.7228 "/>
<polygon fill="none" stroke="#8b4513" points="586.5158,-1070.6048 590.3694,-1064.5098 597.4778,-1065.7228 593.6241,-1071.8178 586.5158,-1070.6048"/>
</g>
</g>
</svg>