add peripherals

Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
Sean Cross 2023-08-15 15:20:22 +02:00
parent b1e2e836bc
commit c0a5872a98
6 changed files with 247 additions and 10 deletions

229
img/DSubminiatures.svg Normal file
View File

@ -0,0 +1,229 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.0" width="377.99701" height="326.66599" viewBox="-138.624 -137.291 377.997 326.666" id="Layer_1" xml:space="preserve"><defs id="defs2584"/>
<g id="g2173">
<path d="M 146.732,-16.145 C 146.732,-12.833 144.047,-10.145 140.732,-10.145 L -52.715,-10.145 C -56.029,-10.145 -58.715,-12.833 -58.715,-16.145 L -58.715,-51.809 C -58.715,-55.124 -56.029,-57.809 -52.715,-57.809 L 140.733,-57.809 C 144.048,-57.809 146.733,-55.125 146.733,-51.809 L 146.733,-16.145 L 146.732,-16.145 z " style="fill:#ffffff;stroke:#000000;stroke-width:2" id="path2175"/>
<g id="g2177">
<circle cx="-22.146" cy="-39.546001" r="2.24" style="fill:none;stroke:#000000" id="circle2179"/>
<circle cx="-11.118" cy="-39.546001" r="2.24" style="fill:none;stroke:#000000" id="circle2181"/>
<circle cx="-0.090000004" cy="-39.544998" r="2.2379999" style="fill:none;stroke:#000000" id="circle2183"/>
<circle cx="10.935" cy="-39.546001" r="2.24" style="fill:none;stroke:#000000" id="circle2185"/>
<circle cx="-16.632" cy="-28.406" r="2.2390001" style="fill:none;stroke:#000000" id="circle2187"/>
<circle cx="-5.6040001" cy="-28.406" r="2.2390001" style="fill:none;stroke:#000000" id="circle2189"/>
<circle cx="5.4200001" cy="-28.406" r="2.2390001" style="fill:none;stroke:#000000" id="circle2191"/>
<path d="M 16.449,-30.645 C 17.685,-30.645 18.686,-29.642 18.686,-28.407 C 18.686,-27.171 17.685,-26.167 16.449,-26.167 C 15.21,-26.167 14.21,-27.171 14.21,-28.407 C 14.21,-29.642 15.21,-30.645 16.449,-30.645 z " style="fill:none;stroke:#000000" id="path2193"/>
<circle cx="55.037998" cy="-39.547001" r="2.24" style="fill:none;stroke:#000000" id="circle2195"/>
<circle cx="44.011002" cy="-39.547001" r="2.2390001" style="fill:none;stroke:#000000" id="circle2197"/>
<circle cx="32.985001" cy="-39.547001" r="2.24" style="fill:none;stroke:#000000" id="circle2199"/>
<circle cx="21.959" cy="-39.547001" r="2.24" style="fill:none;stroke:#000000" id="circle2201"/>
<circle cx="49.523998" cy="-28.408001" r="2.24" style="fill:none;stroke:#000000" id="circle2203"/>
<circle cx="38.5" cy="-28.408001" r="2.24" style="fill:none;stroke:#000000" id="circle2205"/>
<path d="M 27.47,-30.647 C 26.235,-30.647 25.233,-29.645 25.233,-28.407 C 25.233,-27.171 26.235,-26.168 27.47,-26.168 C 28.709,-26.168 29.709,-27.17 29.709,-28.407 C 29.709,-29.645 28.709,-30.647 27.47,-30.647 z " style="fill:none;stroke:#000000" id="path2207"/>
<path d="M 110.168,-41.787 C 108.928,-41.787 107.924,-40.783 107.924,-39.546 C 107.924,-38.31 108.928,-37.307 110.168,-37.307 C 111.401,-37.307 112.403,-38.309 112.403,-39.546 C 112.403,-40.783 111.401,-41.787 110.168,-41.787 z " style="fill:none;stroke:#000000" id="path2209"/>
<circle cx="104.648" cy="-28.408001" r="2.2390001" style="fill:none;stroke:#000000" id="circle2211"/>
<circle cx="66.063004" cy="-39.548" r="2.24" style="fill:none;stroke:#000000" id="circle2213"/>
<path d="M 77.086,-41.787 C 78.325,-41.787 79.328,-40.784 79.328,-39.547 C 79.328,-38.312 78.325,-37.309 77.086,-37.309 C 75.853,-37.309 74.849,-38.312 74.849,-39.547 C 74.849,-40.784 75.853,-41.787 77.086,-41.787 z " style="fill:none;stroke:#000000" id="path2215"/>
<path d="M 88.111,-41.788 C 89.348,-41.788 90.355,-40.784 90.355,-39.547 C 90.355,-38.311 89.348,-37.309 88.111,-37.309 C 86.88,-37.309 85.875,-38.311 85.875,-39.547 C 85.875,-40.784 86.88,-41.788 88.111,-41.788 z " style="fill:none;stroke:#000000" id="path2217"/>
<circle cx="99.140999" cy="-39.548" r="2.24" style="fill:none;stroke:#000000" id="circle2219"/>
<circle cx="60.549" cy="-28.41" r="2.24" style="fill:none;stroke:#000000" id="circle2221"/>
<circle cx="71.574997" cy="-28.41" r="2.24" style="fill:none;stroke:#000000" id="circle2223"/>
<circle cx="82.598999" cy="-28.41" r="2.24" style="fill:none;stroke:#000000" id="circle2225"/>
<path d="M 93.63,-30.65 C 94.865,-30.65 95.865,-29.646 95.865,-28.41 C 95.865,-27.174 94.865,-26.17 93.63,-26.17 C 92.391,-26.17 91.39,-27.174 91.39,-28.41 C 91.39,-29.646 92.391,-30.65 93.63,-30.65 z " style="fill:none;stroke:#000000" id="path2227"/>
</g>
<path d="M -25,-50.677 C -30.61,-50.677 -34.401,-46.158 -33.425,-40.634 L -31.071,-27.325 C -30.094,-21.801 -24.705,-17.279 -19.095,-17.279 L 107.115,-17.279 C 112.723,-17.279 118.111,-21.8 119.091,-27.325 L 121.445,-40.634 C 122.423,-46.158 118.632,-50.677 113.02,-50.677 L -25,-50.677 z " style="fill:none;stroke:#000000" id="path2229"/>
<g id="g2231">
<circle cx="-47.511002" cy="-33.978001" r="5.0539999" style="fill:none;stroke:#000000" id="circle2233"/>
<circle cx="135.528" cy="-33.978001" r="5.0539999" style="fill:none;stroke:#000000" id="circle2235"/>
</g>
</g>
<g id="g2237">
<path d="M 146.732,164.752 C 146.732,168.064 144.047,170.751 140.732,170.751 L 36.555,170.751 C 33.24,170.751 30.555,168.064 30.555,164.752 L 30.555,129.089 C 30.555,125.773 33.24,123.089 36.555,123.089 L 140.733,123.089 C 144.048,123.089 146.733,125.773 146.733,129.089 L 146.733,164.752 L 146.732,164.752 z " style="fill:#ffffff;stroke:#000000;stroke-width:2" id="path2239"/>
<g id="g2241">
<circle cx="66.588997" cy="141.351" r="2.2409999" style="fill:none;stroke:#000000" id="circle2243"/>
<circle cx="77.617996" cy="141.351" r="2.2409999" style="fill:none;stroke:#000000" id="circle2245"/>
<circle cx="88.643997" cy="141.351" r="2.2379999" style="fill:none;stroke:#000000" id="circle2247"/>
<path d="M 99.668,139.11 C 100.906,139.11 101.91,140.114 101.91,141.351 C 101.91,142.588 100.906,143.591 99.668,143.591 C 98.435,143.591 97.431,142.588 97.431,141.351 C 97.431,140.114 98.435,139.11 99.668,139.11 z " style="fill:none;stroke:#000000" id="path2249"/>
<circle cx="110.697" cy="141.351" r="2.2409999" style="fill:none;stroke:#000000" id="circle2251"/>
<circle cx="72.102997" cy="152.491" r="2.2390001" style="fill:none;stroke:#000000" id="circle2253"/>
<circle cx="83.130997" cy="152.491" r="2.2390001" style="fill:none;stroke:#000000" id="circle2255"/>
<path d="M 94.156,150.252 C 95.393,150.252 96.394,151.255 96.394,152.489 C 96.394,153.726 95.393,154.73 94.156,154.73 C 92.918,154.73 91.914,153.726 91.914,152.489 C 91.914,151.255 92.918,150.252 94.156,150.252 z " style="fill:none;stroke:#000000" id="path2257"/>
<circle cx="105.185" cy="152.491" r="2.2390001" style="fill:none;stroke:#000000" id="circle2259"/>
</g>
<path d="M 63.644,130.222 C 58.035,130.222 54.244,134.74 55.219,140.264 L 57.573,153.573 C 58.549,159.098 63.939,163.622 69.548,163.622 L 107.739,163.622 C 113.347,163.622 118.735,159.099 119.714,153.573 L 122.068,140.264 C 123.043,134.74 119.255,130.222 113.643,130.222 L 63.644,130.222 z " style="fill:none;stroke:#000000" id="path2261"/>
<g id="g2263">
<circle cx="41.759998" cy="146.922" r="5.0539999" style="fill:none;stroke:#000000" id="circle2265"/>
<circle cx="135.528" cy="146.922" r="5.0539999" style="fill:none;stroke:#000000" id="circle2267"/>
</g>
</g>
<g id="g2269">
<path d="M 146.732,-72.108 C 146.732,-68.796 144.047,-66.11 140.732,-66.11 L 8.625,-66.11 C 5.312,-66.11 2.625,-68.796 2.625,-72.108 L 2.625,-107.774 C 2.625,-111.088 5.312,-113.774 8.625,-113.774 L 140.733,-113.774 C 144.048,-113.774 146.733,-111.088 146.733,-107.774 L 146.733,-72.108 L 146.732,-72.108 z " style="fill:#ffffff;stroke:#000000;stroke-width:2" id="path2271"/>
<g id="g2273">
<circle cx="36.09" cy="-95.511002" r="2.24" style="fill:none;stroke:#000000" id="circle2275"/>
<circle cx="47.118999" cy="-95.511002" r="2.24" style="fill:none;stroke:#000000" id="circle2277"/>
<circle cx="58.146" cy="-95.511002" r="2.2390001" style="fill:none;stroke:#000000" id="circle2279"/>
<path d="M 69.169,-97.751 C 70.406,-97.751 71.41,-96.748 71.41,-95.51 C 71.41,-94.272 70.406,-93.27 69.169,-93.27 C 67.935,-93.27 66.931,-94.273 66.931,-95.51 C 66.931,-96.747 67.935,-97.751 69.169,-97.751 z " style="fill:none;stroke:#000000" id="path2281"/>
<circle cx="80.196999" cy="-95.511002" r="2.24" style="fill:none;stroke:#000000" id="circle2283"/>
<circle cx="41.604" cy="-84.371002" r="2.24" style="fill:none;stroke:#000000" id="circle2285"/>
<circle cx="52.632" cy="-84.371002" r="2.24" style="fill:none;stroke:#000000" id="circle2287"/>
<circle cx="63.655998" cy="-84.371002" r="2.24" style="fill:none;stroke:#000000" id="circle2289"/>
<circle cx="74.684998" cy="-84.371002" r="2.24" style="fill:none;stroke:#000000" id="circle2291"/>
<circle cx="102.244" cy="-95.512001" r="2.2390001" style="fill:none;stroke:#000000" id="circle2293"/>
<circle cx="91.219002" cy="-95.513" r="2.24" style="fill:none;stroke:#000000" id="circle2295"/>
<circle cx="96.735001" cy="-84.373001" r="2.24" style="fill:none;stroke:#000000" id="circle2297"/>
<path d="M 113.266,-97.753 C 114.505,-97.753 115.507,-96.75 115.507,-95.513 C 115.507,-94.277 114.505,-93.274 113.266,-93.274 C 112.032,-93.274 111.028,-94.277 111.028,-95.513 C 111.027,-96.75 112.031,-97.753 113.266,-97.753 z " style="fill:none;stroke:#000000" id="path2299"/>
<circle cx="107.752" cy="-84.375" r="2.24" style="fill:none;stroke:#000000" id="circle2301"/>
<circle cx="85.706001" cy="-84.373001" r="2.2379999" style="fill:none;stroke:#000000" id="circle2303"/>
</g>
<path d="M 35.714,-106.642 C 30.104,-106.642 26.314,-102.123 27.289,-96.599 L 29.643,-83.291 C 30.619,-77.766 36.008,-73.242 41.619,-73.242 L 107.739,-73.242 C 113.347,-73.242 118.736,-77.765 119.715,-83.291 L 122.069,-96.599 C 123.045,-102.124 119.256,-106.642 113.644,-106.642 L 35.714,-106.642 z " style="fill:none;stroke:#000000" id="path2305"/>
<g id="g2307">
<circle cx="13.829" cy="-89.941002" r="5.0539999" style="fill:none;stroke:#000000" id="circle2309"/>
<circle cx="135.528" cy="-89.941002" r="5.0539999" style="fill:none;stroke:#000000" id="circle2311"/>
</g>
</g>
<g id="g2313">
<rect width="72.666" height="26.666" x="161.386" y="-101.289" style="fill:none" id="rect2315"/>
<path d="M 175.621,-92.552 C 175.621,-91.091 175.325,-89.773 174.734,-88.598 C 174.143,-87.423 173.35,-86.506 172.355,-85.847 C 171.546,-85.338 170.724,-84.998 169.89,-84.826 C 169.056,-84.654 167.991,-84.568 166.695,-84.568 L 163.011,-84.568 L 163.011,-100.568 L 166.652,-100.568 C 168.156,-100.568 169.336,-100.455 170.191,-100.23 C 171.046,-100.005 171.775,-99.694 172.377,-99.3 C 173.408,-98.619 174.206,-97.715 174.773,-96.587 C 175.338,-95.458 175.621,-94.113 175.621,-92.552 z M 173.402,-92.584 C 173.402,-93.813 173.198,-94.861 172.79,-95.729 C 172.382,-96.597 171.777,-97.274 170.976,-97.76 C 170.411,-98.103 169.806,-98.349 169.163,-98.499 C 168.518,-98.649 167.717,-98.724 166.758,-98.724 L 165.138,-98.724 L 165.138,-86.412 L 166.758,-86.412 C 167.703,-86.412 168.529,-86.487 169.238,-86.637 C 169.946,-86.787 170.593,-87.066 171.18,-87.473 C 171.917,-87.973 172.472,-88.639 172.844,-89.472 C 173.216,-90.303 173.402,-91.341 173.402,-92.584 z " id="path2317"/>
<path d="M 176.198,-84.568 L 181.591,-100.568 L 184.212,-100.568 L 189.605,-84.568 L 187.362,-84.568 L 185.913,-89.037 L 179.792,-89.037 L 178.343,-84.568 L 176.198,-84.568 z M 185.324,-90.849 L 182.845,-98.403 L 180.378,-90.849 L 185.324,-90.849 z " id="path2319"/>
<path d="M 196.025,-90.599 L 189.963,-90.599 L 189.963,-92.537 L 196.025,-92.537 L 196.025,-90.599 z " id="path2321"/>
<path d="M 207.221,-84.568 L 199.409,-84.568 L 199.409,-86.209 L 202.315,-86.209 L 202.315,-96.912 L 199.409,-96.912 L 199.409,-98.381 C 200.507,-98.381 201.315,-98.537 201.835,-98.848 C 202.356,-99.16 202.647,-99.748 202.713,-100.615 L 204.378,-100.615 L 204.378,-86.209 L 207.222,-86.209 L 207.222,-84.568 L 207.221,-84.568 z " id="path2323"/>
<path d="M 219.855,-89.665 C 219.855,-88.892 219.731,-88.175 219.484,-87.517 C 219.237,-86.858 218.891,-86.288 218.447,-85.809 C 217.996,-85.322 217.435,-84.938 216.765,-84.659 C 216.095,-84.38 215.345,-84.24 214.514,-84.24 C 213.747,-84.24 212.993,-84.324 212.252,-84.493 C 211.51,-84.662 210.867,-84.883 210.323,-85.156 L 210.323,-87.428 L 210.473,-87.428 C 210.637,-87.304 210.873,-87.164 211.181,-87.008 C 211.489,-86.851 211.828,-86.704 212.202,-86.566 C 212.624,-86.413 213.011,-86.295 213.361,-86.211 C 213.712,-86.128 214.105,-86.086 214.542,-86.086 C 214.972,-86.086 215.391,-86.163 215.799,-86.317 C 216.206,-86.471 216.558,-86.72 216.851,-87.065 C 217.116,-87.38 217.318,-87.75 217.457,-88.172 C 217.596,-88.594 217.667,-89.093 217.667,-89.667 C 217.667,-90.233 217.59,-90.699 217.436,-91.065 C 217.283,-91.431 217.059,-91.732 216.765,-91.968 C 216.457,-92.24 216.08,-92.432 215.633,-92.544 C 215.186,-92.655 214.686,-92.711 214.135,-92.711 C 213.556,-92.711 212.972,-92.666 212.385,-92.575 C 211.798,-92.484 211.33,-92.4 210.98,-92.32 L 210.98,-100.57 L 219.761,-100.57 L 219.761,-98.695 L 213.042,-98.695 L 213.042,-94.437 C 213.3,-94.466 213.555,-94.487 213.806,-94.501 C 214.057,-94.515 214.286,-94.522 214.494,-94.522 C 215.312,-94.522 216.005,-94.454 216.571,-94.318 C 217.138,-94.182 217.683,-93.917 218.207,-93.523 C 218.738,-93.122 219.145,-92.621 219.429,-92.019 C 219.713,-91.417 219.855,-90.632 219.855,-89.665 z " id="path2325"/>
</g>
<g id="g2327">
<rect width="72.666" height="26.666" x="161.386" y="-45.515999" style="fill:none" id="rect2329"/>
<path d="M 175.621,-36.779 C 175.621,-35.318 175.325,-34 174.734,-32.825 C 174.143,-31.65 173.35,-30.733 172.355,-30.074 C 171.546,-29.565 170.724,-29.225 169.89,-29.053 C 169.056,-28.881 167.991,-28.795 166.695,-28.795 L 163.011,-28.795 L 163.011,-44.795 L 166.652,-44.795 C 168.156,-44.795 169.336,-44.682 170.191,-44.457 C 171.046,-44.232 171.775,-43.921 172.377,-43.527 C 173.408,-42.846 174.206,-41.942 174.773,-40.814 C 175.338,-39.686 175.621,-38.341 175.621,-36.779 z M 173.402,-36.812 C 173.402,-38.041 173.198,-39.089 172.79,-39.957 C 172.382,-40.825 171.777,-41.502 170.976,-41.988 C 170.411,-42.331 169.806,-42.577 169.163,-42.727 C 168.518,-42.877 167.717,-42.952 166.758,-42.952 L 165.138,-42.952 L 165.138,-30.64 L 166.758,-30.64 C 167.703,-30.64 168.529,-30.715 169.238,-30.865 C 169.946,-31.015 170.593,-31.294 171.18,-31.701 C 171.917,-32.201 172.472,-32.867 172.844,-33.7 C 173.216,-34.531 173.402,-35.568 173.402,-36.812 z " id="path2331"/>
<path d="M 188.776,-33.708 C 188.776,-32.913 188.626,-32.21 188.325,-31.601 C 188.024,-30.992 187.62,-30.49 187.112,-30.096 C 186.51,-29.623 185.866,-29.288 185.179,-29.091 C 184.491,-28.894 183.604,-28.795 182.516,-28.795 L 177.932,-28.795 L 177.932,-44.795 L 182.173,-44.795 C 183.311,-44.795 184.165,-44.757 184.734,-44.682 C 185.303,-44.607 185.849,-44.43 186.372,-44.15 C 186.945,-43.842 187.363,-43.439 187.629,-42.941 C 187.894,-42.443 188.026,-41.858 188.026,-41.185 C 188.026,-40.433 187.827,-39.76 187.429,-39.165 C 187.032,-38.571 186.483,-38.106 185.781,-37.77 L 185.781,-37.684 C 186.733,-37.426 187.469,-36.955 187.992,-36.27 C 188.515,-35.585 188.776,-34.732 188.776,-33.708 z M 185.808,-40.887 C 185.808,-41.274 185.744,-41.609 185.615,-41.892 C 185.486,-42.175 185.279,-42.399 184.993,-42.564 C 184.649,-42.757 184.266,-42.876 183.845,-42.918 C 183.424,-42.96 182.84,-42.982 182.097,-42.982 L 180.059,-42.982 L 180.059,-38.294 L 182.472,-38.294 C 183.137,-38.294 183.627,-38.328 183.942,-38.396 C 184.256,-38.464 184.583,-38.606 184.919,-38.821 C 185.24,-39.029 185.47,-39.301 185.606,-39.638 C 185.742,-39.975 185.808,-40.392 185.808,-40.887 z M 186.558,-33.623 C 186.558,-34.226 186.472,-34.723 186.3,-35.114 C 186.128,-35.505 185.781,-35.837 185.26,-36.11 C 184.923,-36.29 184.557,-36.404 184.16,-36.455 C 183.763,-36.505 183.2,-36.53 182.471,-36.53 L 180.058,-36.53 L 180.058,-30.608 L 181.785,-30.608 C 182.715,-30.608 183.447,-30.651 183.984,-30.737 C 184.52,-30.823 184.992,-31.006 185.399,-31.286 C 185.799,-31.566 186.092,-31.884 186.279,-32.239 C 186.464,-32.594 186.558,-33.056 186.558,-33.623 z " id="path2333"/>
<path d="M 196.412,-34.827 L 190.35,-34.827 L 190.35,-36.765 L 196.412,-36.765 L 196.412,-34.827 z " id="path2335"/>
<path d="M 208.42,-28.795 L 198.545,-28.795 L 198.545,-31.047 C 199.254,-31.721 199.923,-32.366 200.554,-32.982 C 201.184,-33.598 201.8,-34.239 202.402,-34.906 C 203.62,-36.246 204.451,-37.319 204.894,-38.125 C 205.338,-38.931 205.561,-39.765 205.561,-40.625 C 205.561,-41.069 205.491,-41.459 205.351,-41.796 C 205.211,-42.133 205.019,-42.412 204.776,-42.634 C 204.525,-42.849 204.235,-43.01 203.905,-43.118 C 203.575,-43.226 203.214,-43.279 202.819,-43.279 C 202.439,-43.279 202.054,-43.23 201.664,-43.132 C 201.274,-43.034 200.898,-42.912 200.54,-42.767 C 200.239,-42.643 199.948,-42.494 199.669,-42.32 C 199.39,-42.146 199.164,-41.997 198.992,-41.873 L 198.874,-41.873 L 198.874,-44.155 C 199.317,-44.377 199.936,-44.594 200.728,-44.806 C 201.519,-45.017 202.269,-45.123 202.979,-45.123 C 204.468,-45.123 205.636,-44.727 206.481,-43.936 C 207.327,-43.145 207.75,-42.073 207.75,-40.721 C 207.75,-40.098 207.676,-39.522 207.529,-38.992 C 207.382,-38.462 207.18,-37.972 206.923,-37.521 C 206.658,-37.056 206.339,-36.594 205.967,-36.136 C 205.595,-35.678 205.201,-35.227 204.786,-34.783 C 204.113,-34.053 203.363,-33.294 202.536,-32.507 C 201.71,-31.72 201.049,-31.097 200.556,-30.639 L 208.422,-30.639 L 208.422,-28.795 L 208.42,-28.795 z " id="path2337"/>
<path d="M 220.242,-33.893 C 220.242,-33.12 220.118,-32.403 219.871,-31.745 C 219.624,-31.086 219.278,-30.516 218.834,-30.037 C 218.383,-29.55 217.822,-29.166 217.152,-28.887 C 216.482,-28.608 215.732,-28.468 214.901,-28.468 C 214.134,-28.468 213.38,-28.552 212.639,-28.721 C 211.897,-28.89 211.254,-29.111 210.71,-29.384 L 210.71,-31.656 L 210.86,-31.656 C 211.024,-31.532 211.26,-31.392 211.568,-31.236 C 211.876,-31.079 212.215,-30.932 212.589,-30.794 C 213.011,-30.641 213.398,-30.523 213.748,-30.439 C 214.099,-30.356 214.492,-30.314 214.929,-30.314 C 215.359,-30.314 215.778,-30.391 216.186,-30.545 C 216.593,-30.699 216.945,-30.948 217.238,-31.293 C 217.503,-31.608 217.705,-31.978 217.844,-32.4 C 217.983,-32.822 218.054,-33.321 218.054,-33.895 C 218.054,-34.461 217.977,-34.927 217.823,-35.293 C 217.67,-35.659 217.446,-35.96 217.152,-36.196 C 216.844,-36.468 216.467,-36.66 216.02,-36.772 C 215.573,-36.883 215.073,-36.939 214.522,-36.939 C 213.943,-36.939 213.359,-36.894 212.772,-36.803 C 212.185,-36.712 211.717,-36.628 211.367,-36.548 L 211.367,-44.798 L 220.148,-44.798 L 220.148,-42.923 L 213.429,-42.923 L 213.429,-38.665 C 213.687,-38.694 213.942,-38.715 214.193,-38.729 C 214.444,-38.743 214.673,-38.75 214.881,-38.75 C 215.699,-38.75 216.392,-38.682 216.958,-38.546 C 217.525,-38.41 218.07,-38.145 218.594,-37.751 C 219.125,-37.35 219.532,-36.849 219.816,-36.247 C 220.1,-35.645 220.242,-34.859 220.242,-33.893 z " id="path2339"/>
</g>
<g id="g2341">
<rect width="72.666" height="26.665001" x="161.386" y="11.258" style="fill:none" id="rect2343"/>
<path d="M 175.621,19.994 C 175.621,21.455 175.325,22.773 174.734,23.948 C 174.143,25.123 173.35,26.04 172.355,26.699 C 171.546,27.208 170.724,27.548 169.89,27.72 C 169.056,27.892 167.991,27.978 166.695,27.978 L 163.011,27.978 L 163.011,11.978 L 166.652,11.978 C 168.156,11.978 169.336,12.091 170.191,12.316 C 171.046,12.541 171.775,12.852 172.377,13.246 C 173.408,13.927 174.206,14.831 174.773,15.959 C 175.338,17.087 175.621,18.433 175.621,19.994 z M 173.402,19.962 C 173.402,18.733 173.198,17.685 172.79,16.817 C 172.382,15.949 171.777,15.272 170.976,14.786 C 170.411,14.443 169.806,14.197 169.163,14.047 C 168.518,13.897 167.717,13.822 166.758,13.822 L 165.138,13.822 L 165.138,26.134 L 166.758,26.134 C 167.703,26.134 168.529,26.059 169.238,25.909 C 169.946,25.759 170.593,25.48 171.18,25.073 C 171.917,24.573 172.472,23.907 172.844,23.074 C 173.216,22.243 173.402,21.205 173.402,19.962 z " id="path2345"/>
<path d="M 184.186,28.275 C 183.139,28.275 182.176,28.099 181.297,27.749 C 180.419,27.398 179.66,26.875 179.023,26.18 C 178.384,25.485 177.889,24.618 177.538,23.58 C 177.187,22.542 177.012,21.349 177.012,20.002 C 177.012,18.663 177.182,17.495 177.523,16.5 C 177.864,15.505 178.36,14.638 179.013,13.9 C 179.651,13.184 180.408,12.637 181.283,12.261 C 182.158,11.885 183.137,11.697 184.22,11.697 C 184.758,11.697 185.262,11.737 185.732,11.815 C 186.202,11.893 186.637,11.994 187.039,12.116 C 187.384,12.223 187.736,12.358 188.099,12.519 C 188.462,12.68 188.819,12.857 189.17,13.051 L 189.17,15.619 L 188.997,15.619 C 188.81,15.447 188.571,15.239 188.277,14.994 C 187.983,14.75 187.624,14.51 187.201,14.273 C 186.793,14.05 186.348,13.868 185.868,13.724 C 185.388,13.58 184.832,13.509 184.201,13.509 C 183.519,13.509 182.874,13.649 182.264,13.928 C 181.654,14.207 181.12,14.619 180.661,15.163 C 180.21,15.707 179.858,16.392 179.607,17.215 C 179.356,18.039 179.231,18.966 179.231,19.997 C 179.231,21.093 179.363,22.036 179.628,22.827 C 179.894,23.619 180.255,24.286 180.714,24.83 C 181.158,25.36 181.682,25.759 182.284,26.028 C 182.886,26.297 183.524,26.431 184.199,26.431 C 184.815,26.431 185.386,26.356 185.909,26.206 C 186.432,26.057 186.898,25.868 187.306,25.64 C 187.701,25.419 188.041,25.193 188.328,24.962 C 188.614,24.731 188.84,24.533 189.005,24.369 L 189.167,24.369 L 189.167,26.902 C 188.815,27.067 188.483,27.224 188.172,27.374 C 187.86,27.524 187.482,27.671 187.036,27.814 C 186.57,27.964 186.138,28.079 185.74,28.157 C 185.342,28.235 184.824,28.275 184.186,28.275 z " id="path2347"/>
<path d="M 196.047,21.947 L 189.985,21.947 L 189.985,20.009 L 196.047,20.009 L 196.047,21.947 z " id="path2349"/>
<path d="M 202.487,13.494 C 202.101,13.494 201.716,13.541 201.331,13.635 C 200.946,13.729 200.566,13.851 200.195,14.003 C 199.852,14.148 199.553,14.299 199.3,14.458 C 199.046,14.617 198.82,14.764 198.619,14.901 L 198.491,14.901 L 198.491,12.638 C 198.956,12.388 199.588,12.16 200.387,11.957 C 201.185,11.753 201.947,11.651 202.669,11.651 C 203.393,11.651 204.024,11.724 204.565,11.871 C 205.106,12.018 205.594,12.245 206.032,12.553 C 206.505,12.897 206.86,13.312 207.1,13.799 C 207.34,14.286 207.46,14.855 207.46,15.507 C 207.46,16.388 207.17,17.161 206.59,17.827 C 206.011,18.493 205.317,18.915 204.508,19.094 L 204.508,19.245 C 204.844,19.309 205.203,19.42 205.587,19.578 C 205.97,19.735 206.326,19.968 206.655,20.276 C 206.984,20.584 207.253,20.979 207.461,21.463 C 207.668,21.946 207.773,22.535 207.773,23.229 C 207.773,23.952 207.649,24.616 207.402,25.221 C 207.155,25.826 206.806,26.361 206.355,26.826 C 205.89,27.313 205.328,27.681 204.669,27.932 C 204.01,28.182 203.262,28.308 202.424,28.308 C 201.622,28.308 200.827,28.211 200.04,28.018 C 199.252,27.825 198.59,27.593 198.054,27.321 L 198.054,25.058 L 198.203,25.058 C 198.654,25.39 199.259,25.707 200.016,26.01 C 200.774,26.313 201.533,26.465 202.29,26.465 C 202.727,26.465 203.164,26.395 203.604,26.255 C 204.043,26.115 204.41,25.886 204.704,25.569 C 204.99,25.253 205.208,24.903 205.358,24.522 C 205.508,24.141 205.584,23.659 205.584,23.076 C 205.584,22.493 205.5,22.015 205.332,21.641 C 205.164,21.267 204.93,20.972 204.63,20.756 C 204.329,20.54 203.974,20.391 203.564,20.308 C 203.153,20.225 202.709,20.184 202.229,20.184 L 201.319,20.184 L 201.319,18.418 L 202.024,18.418 C 202.985,18.418 203.767,18.188 204.369,17.729 C 204.971,17.27 205.272,16.602 205.272,15.726 C 205.272,15.324 205.193,14.977 205.036,14.686 C 204.879,14.395 204.679,14.164 204.436,13.991 C 204.165,13.804 203.865,13.675 203.536,13.603 C 203.209,13.529 202.859,13.494 202.487,13.494 z " id="path2351"/>
<path d="M 220.236,14.369 L 213.32,27.978 L 211.033,27.978 L 218.351,13.853 L 210.08,13.853 L 210.08,11.978 L 220.236,11.978 L 220.236,14.369 L 220.236,14.369 z " id="path2353"/>
</g>
<g id="g2355">
<rect width="72.666" height="26.666" x="161.386" y="76.033997" style="fill:none" id="rect2357"/>
<path d="M 175.621,84.771 C 175.621,86.232 175.325,87.55 174.734,88.725 C 174.143,89.9 173.35,90.817 172.355,91.476 C 171.546,91.985 170.724,92.325 169.89,92.497 C 169.056,92.669 167.991,92.755 166.695,92.755 L 163.011,92.755 L 163.011,76.755 L 166.652,76.755 C 168.156,76.755 169.336,76.868 170.191,77.094 C 171.046,77.32 171.775,77.629 172.377,78.024 C 173.408,78.705 174.206,79.609 174.773,80.737 C 175.338,81.864 175.621,83.21 175.621,84.771 z M 173.402,84.739 C 173.402,83.51 173.198,82.462 172.79,81.593 C 172.382,80.724 171.777,80.048 170.976,79.563 C 170.411,79.22 169.806,78.973 169.163,78.824 C 168.518,78.674 167.717,78.598 166.758,78.598 L 165.138,78.598 L 165.138,90.91 L 166.758,90.91 C 167.703,90.91 168.529,90.835 169.238,90.685 C 169.946,90.535 170.593,90.256 171.18,89.849 C 171.917,89.349 172.472,88.683 172.844,87.85 C 173.216,87.02 173.402,85.982 173.402,84.739 z " id="path2359"/>
<path d="M 190.542,84.771 C 190.542,86.232 190.246,87.55 189.655,88.725 C 189.064,89.9 188.271,90.817 187.276,91.476 C 186.467,91.985 185.645,92.325 184.811,92.497 C 183.977,92.669 182.912,92.755 181.616,92.755 L 177.932,92.755 L 177.932,76.755 L 181.573,76.755 C 183.077,76.755 184.257,76.868 185.112,77.094 C 185.967,77.32 186.696,77.629 187.298,78.024 C 188.329,78.705 189.127,79.609 189.694,80.737 C 190.259,81.864 190.542,83.21 190.542,84.771 z M 188.323,84.739 C 188.323,83.51 188.119,82.462 187.711,81.593 C 187.303,80.724 186.698,80.048 185.897,79.563 C 185.332,79.22 184.727,78.973 184.084,78.824 C 183.439,78.674 182.638,78.598 181.679,78.598 L 180.059,78.598 L 180.059,90.91 L 181.679,90.91 C 182.624,90.91 183.45,90.835 184.159,90.685 C 184.867,90.535 185.514,90.256 186.101,89.849 C 186.838,89.349 187.393,88.683 187.765,87.85 C 188.137,87.02 188.323,85.982 188.323,84.739 z " id="path2361"/>
<path d="M 198.26,86.724 L 192.198,86.724 L 192.198,84.786 L 198.26,84.786 L 198.26,86.724 z " id="path2363"/>
<path d="M 210.08,87.658 C 210.08,88.431 209.956,89.147 209.709,89.806 C 209.462,90.465 209.116,91.035 208.672,91.514 C 208.221,92.001 207.66,92.384 206.99,92.663 C 206.32,92.942 205.57,93.082 204.739,93.082 C 203.972,93.082 203.218,92.998 202.477,92.829 C 201.735,92.66 201.092,92.439 200.548,92.167 L 200.548,89.895 L 200.698,89.895 C 200.862,90.019 201.098,90.16 201.406,90.316 C 201.714,90.472 202.053,90.62 202.427,90.758 C 202.849,90.911 203.236,91.029 203.586,91.113 C 203.937,91.196 204.33,91.238 204.767,91.238 C 205.197,91.238 205.616,91.161 206.024,91.007 C 206.431,90.854 206.783,90.604 207.076,90.26 C 207.341,89.945 207.543,89.575 207.682,89.153 C 207.821,88.731 207.892,88.231 207.892,87.658 C 207.892,87.092 207.815,86.626 207.661,86.26 C 207.508,85.895 207.284,85.593 206.99,85.357 C 206.682,85.085 206.305,84.893 205.858,84.782 C 205.411,84.671 204.911,84.615 204.36,84.615 C 203.781,84.615 203.197,84.661 202.61,84.751 C 202.023,84.842 201.555,84.927 201.205,85.006 L 201.205,76.756 L 209.986,76.756 L 209.986,78.631 L 203.267,78.631 L 203.267,82.889 C 203.525,82.861 203.78,82.839 204.031,82.825 C 204.282,82.811 204.511,82.804 204.719,82.804 C 205.537,82.804 206.23,82.872 206.796,83.008 C 207.363,83.145 207.908,83.409 208.432,83.803 C 208.963,84.204 209.37,84.705 209.654,85.307 C 209.938,85.909 210.08,86.691 210.08,87.658 z " id="path2365"/>
<path d="M 222.355,84.744 C 222.355,87.617 221.937,89.724 221.102,91.068 C 220.267,92.411 218.979,93.083 217.238,93.083 C 215.474,93.083 214.181,92.399 213.357,91.03 C 212.533,89.662 212.121,87.574 212.121,84.765 C 212.121,81.878 212.538,79.767 213.373,78.43 C 214.208,77.094 215.496,76.426 217.238,76.426 C 219.001,76.426 220.295,77.117 221.119,78.5 C 221.943,79.883 222.355,81.965 222.355,84.744 z M 219.599,89.629 C 219.807,89.098 219.953,88.428 220.039,87.617 C 220.125,86.806 220.168,85.848 220.168,84.744 C 220.168,83.647 220.125,82.693 220.039,81.883 C 219.953,81.073 219.803,80.399 219.588,79.861 C 219.373,79.316 219.078,78.901 218.703,78.618 C 218.327,78.335 217.839,78.193 217.238,78.193 C 216.644,78.193 216.156,78.335 215.773,78.618 C 215.39,78.901 215.087,79.323 214.866,79.883 C 214.651,80.428 214.505,81.116 214.426,81.948 C 214.348,82.78 214.309,83.719 214.309,84.766 C 214.309,85.885 214.342,86.821 214.411,87.574 C 214.478,88.328 214.628,89.002 214.856,89.597 C 215.063,90.149 215.359,90.574 215.742,90.871 C 216.125,91.168 216.624,91.317 217.239,91.317 C 217.833,91.317 218.321,91.175 218.704,90.892 C 219.087,90.609 219.384,90.188 219.599,89.629 z " id="path2367"/>
</g>
<g id="g2369">
<rect width="72.666" height="26.663" x="161.386" y="136.47301" style="fill:none" id="rect2371"/>
<path d="M 175.621,145.209 C 175.621,146.67 175.325,147.988 174.734,149.163 C 174.143,150.338 173.35,151.255 172.355,151.914 C 171.546,152.423 170.724,152.763 169.89,152.935 C 169.056,153.107 167.991,153.193 166.695,153.193 L 163.011,153.193 L 163.011,137.193 L 166.652,137.193 C 168.156,137.193 169.336,137.306 170.191,137.532 C 171.046,137.758 171.775,138.067 172.377,138.462 C 173.408,139.143 174.206,140.047 174.773,141.175 C 175.338,142.302 175.621,143.647 175.621,145.209 z M 173.402,145.177 C 173.402,143.948 173.198,142.9 172.79,142.031 C 172.382,141.162 171.777,140.486 170.976,140.001 C 170.411,139.658 169.806,139.411 169.163,139.262 C 168.518,139.112 167.717,139.036 166.758,139.036 L 165.138,139.036 L 165.138,151.348 L 166.758,151.348 C 167.703,151.348 168.529,151.273 169.238,151.123 C 169.946,150.973 170.593,150.694 171.18,150.287 C 171.917,149.787 172.472,149.121 172.844,148.288 C 173.216,147.457 173.402,146.42 173.402,145.177 z " id="path2373"/>
<path d="M 177.933,153.192 L 177.933,137.192 L 187.949,137.192 L 187.949,139.083 L 180.058,139.083 L 180.058,143.474 L 187.417,143.474 L 187.417,145.365 L 180.058,145.365 L 180.058,151.303 L 187.949,151.303 L 187.949,153.194 L 177.933,153.194 L 177.933,153.192 z " id="path2375"/>
<path d="M 195.682,147.161 L 189.62,147.161 L 189.62,145.223 L 195.682,145.223 L 195.682,147.161 z " id="path2377"/>
<path d="M 197.361,142.393 C 197.361,141.569 197.495,140.816 197.763,140.135 C 198.032,139.453 198.399,138.865 198.864,138.37 C 199.308,137.897 199.85,137.527 200.491,137.263 C 201.133,136.997 201.782,136.865 202.441,136.865 C 203.178,136.865 203.845,136.989 204.444,137.236 C 205.042,137.483 205.559,137.84 205.996,138.305 C 206.547,138.893 206.975,139.663 207.279,140.617 C 207.584,141.57 207.736,142.774 207.736,144.228 C 207.736,145.554 207.587,146.81 207.29,147.997 C 206.993,149.183 206.555,150.166 205.976,150.947 C 205.361,151.779 204.622,152.413 203.759,152.85 C 202.897,153.287 201.832,153.505 200.566,153.505 C 200.28,153.505 199.976,153.488 199.654,153.457 C 199.332,153.424 199.031,153.365 198.753,153.279 L 198.753,151.223 L 198.86,151.223 C 199.039,151.326 199.317,151.424 199.697,151.519 C 200.076,151.614 200.463,151.661 200.856,151.661 C 202.259,151.661 203.361,151.199 204.163,150.274 C 204.965,149.35 205.42,148.028 205.527,146.308 C 204.954,146.695 204.408,146.978 203.888,147.158 C 203.368,147.337 202.805,147.427 202.196,147.427 C 201.601,147.427 201.061,147.363 200.574,147.234 C 200.087,147.105 199.596,146.854 199.102,146.481 C 198.529,146.043 198.095,145.49 197.802,144.819 C 197.508,144.148 197.361,143.34 197.361,142.393 z M 205.58,143.768 C 205.58,142.678 205.479,141.79 205.279,141.106 C 205.079,140.42 204.803,139.892 204.453,139.519 C 204.138,139.174 203.819,138.938 203.498,138.808 C 203.176,138.679 202.821,138.615 202.436,138.615 C 201.556,138.615 200.855,138.93 200.332,139.562 C 199.81,140.193 199.549,141.107 199.549,142.305 C 199.549,142.979 199.634,143.535 199.806,143.973 C 199.978,144.411 200.257,144.786 200.644,145.102 C 200.915,145.325 201.223,145.474 201.567,145.549 C 201.91,145.624 202.278,145.661 202.671,145.661 C 203.129,145.661 203.623,145.581 204.152,145.419 C 204.681,145.258 205.143,145.045 205.537,144.779 C 205.544,144.672 205.553,144.53 205.563,144.354 C 205.573,144.178 205.58,143.983 205.58,143.768 z " id="path2379"/>
</g>
<g id="g2381">
<path d="M 146.732,40.818 C 146.732,44.132 144.047,46.818 140.732,46.818 L -118.416,46.818 C -121.729,46.818 -124.416,44.132 -124.416,40.818 L -124.416,5.159 C -124.416,1.844 -121.729,-0.841 -118.416,-0.841 L 140.732,-0.841 C 144.047,-0.841 146.732,1.844 146.732,5.159 L 146.732,40.818 z " style="fill:#ffffff;stroke:#000000;stroke-width:2" id="path2383"/>
<path d="M -90.701,6.292 C -96.311,6.292 -100.101,10.81 -99.126,16.335 L -96.772,29.639 C -95.796,35.165 -90.406,39.685 -84.796,39.685 L 107.114,39.685 C 112.722,39.685 118.11,35.165 119.09,29.639 L 121.444,16.335 C 122.42,10.81 118.631,6.292 113.019,6.292 L -90.701,6.292 L -90.701,6.292 z " style="fill:none;stroke:#000000" id="path2385"/>
<g id="g2387">
<path d="M -113.212,17.937 C -110.42,17.937 -108.157,20.2 -108.157,22.992 C -108.157,25.779 -110.42,28.041 -113.212,28.041 C -116.003,28.041 -118.266,25.779 -118.266,22.992 C -118.266,20.2 -116.003,17.937 -113.212,17.937 z " style="fill:none;stroke:#000000" id="path2389"/>
<path d="M 135.528,17.937 C 138.319,17.937 140.584,20.2 140.584,22.992 C 140.584,25.779 138.319,28.041 135.528,28.041 C 132.739,28.041 130.475,25.779 130.475,22.992 C 130.476,20.2 132.739,17.937 135.528,17.937 z " style="fill:none;stroke:#000000" id="path2391"/>
</g>
<g id="g2393">
<circle cx="-88.069" cy="17.422001" r="2.2409999" style="fill:none;stroke:#000000" id="circle2395"/>
<circle cx="-77.041" cy="17.422001" r="2.2409999" style="fill:none;stroke:#000000" id="circle2397"/>
<circle cx="-66.014999" cy="17.422001" r="2.2390001" style="fill:none;stroke:#000000" id="circle2399"/>
<circle cx="-54.988998" cy="17.422001" r="2.2409999" style="fill:none;stroke:#000000" id="circle2401"/>
<path d="M -82.556,26.321 C -81.319,26.321 -80.315,27.323 -80.315,28.56 C -80.315,29.793 -81.319,30.798 -82.556,30.798 C -83.794,30.798 -84.796,29.793 -84.796,28.56 C -84.795,27.323 -83.793,26.321 -82.556,26.321 z " style="fill:none;stroke:#000000" id="path2403"/>
<path d="M -71.527,26.321 C -70.29,26.321 -69.286,27.323 -69.286,28.56 C -69.286,29.793 -70.29,30.798 -71.527,30.798 C -72.764,30.798 -73.767,29.793 -73.767,28.56 C -73.768,27.323 -72.765,26.321 -71.527,26.321 z " style="fill:none;stroke:#000000" id="path2405"/>
<path d="M -60.503,26.321 C -59.266,26.321 -58.264,27.323 -58.264,28.56 C -58.264,29.793 -59.266,30.798 -60.503,30.798 C -61.742,30.798 -62.744,29.793 -62.744,28.56 C -62.744,27.323 -61.742,26.321 -60.503,26.321 z " style="fill:none;stroke:#000000" id="path2407"/>
<path d="M -49.474,26.321 C -48.239,26.321 -47.237,27.323 -47.237,28.56 C -47.237,29.793 -48.239,30.798 -49.474,30.798 C -50.713,30.798 -51.714,29.793 -51.714,28.56 C -51.714,27.323 -50.712,26.321 -49.474,26.321 z " style="fill:none;stroke:#000000" id="path2409"/>
<circle cx="-10.885" cy="17.421" r="2.24" style="fill:none;stroke:#000000" id="circle2411"/>
<path d="M -21.911,15.183 C -23.148,15.183 -24.151,16.184 -24.151,17.421 C -24.151,18.658 -23.148,19.659 -21.911,19.659 C -20.677,19.659 -19.673,18.658 -19.673,17.421 C -19.673,16.184 -20.677,15.183 -21.911,15.183 z " style="fill:none;stroke:#000000" id="path2413"/>
<circle cx="-32.937" cy="17.421" r="2.24" style="fill:none;stroke:#000000" id="circle2415"/>
<circle cx="-43.964001" cy="17.421" r="2.24" style="fill:none;stroke:#000000" id="circle2417"/>
<path d="M -16.398,26.319 C -17.635,26.319 -18.639,27.319 -18.639,28.556 C -18.639,29.793 -17.635,30.798 -16.398,30.798 C -15.164,30.798 -14.16,29.793 -14.16,28.556 C -14.16,27.319 -15.164,26.319 -16.398,26.319 z " style="fill:none;stroke:#000000" id="path2419"/>
<circle cx="-27.423" cy="28.558001" r="2.24" style="fill:none;stroke:#000000" id="circle2421"/>
<circle cx="-38.452" cy="28.558001" r="2.24" style="fill:none;stroke:#000000" id="circle2423"/>
<path d="M 44.243,15.181 C 43.006,15.181 42.002,16.184 42.002,17.421 C 42.002,18.658 43.006,19.66 44.243,19.66 C 45.476,19.66 46.481,18.658 46.481,17.421 C 46.481,16.184 45.477,15.181 44.243,15.181 z " style="fill:none;stroke:#000000" id="path2425"/>
<path d="M 38.727,26.319 C 37.49,26.319 36.49,27.319 36.49,28.556 C 36.49,29.793 37.49,30.798 38.727,30.798 C 39.964,30.798 40.968,29.793 40.968,28.556 C 40.968,27.319 39.964,26.319 38.727,26.319 z " style="fill:none;stroke:#000000" id="path2427"/>
<circle cx="0.139" cy="17.42" r="2.24" style="fill:none;stroke:#000000" id="circle2429"/>
<path d="M 11.164,15.181 C 12.401,15.181 13.406,16.183 13.406,17.421 C 13.406,18.655 12.401,19.658 11.164,19.658 C 9.931,19.658 8.927,18.655 8.927,17.421 C 8.927,16.183 9.931,15.181 11.164,15.181 z " style="fill:none;stroke:#000000" id="path2431"/>
<path d="M 22.189,15.18 C 23.426,15.18 24.43,16.183 24.43,17.421 C 24.43,18.657 23.426,19.659 22.189,19.659 C 20.956,19.659 19.951,18.657 19.951,17.421 C 19.952,16.183 20.956,15.18 22.189,15.18 z " style="fill:none;stroke:#000000" id="path2433"/>
<circle cx="33.219002" cy="17.42" r="2.24" style="fill:none;stroke:#000000" id="circle2435"/>
<circle cx="-5.3730001" cy="28.554001" r="2.2390001" style="fill:none;stroke:#000000" id="circle2437"/>
<path d="M 5.651,26.315 C 6.889,26.315 7.893,27.319 7.893,28.556 C 7.893,29.79 6.889,30.793 5.651,30.793 C 4.414,30.793 3.414,29.79 3.414,28.556 C 3.414,27.319 4.414,26.315 5.651,26.315 z " style="fill:none;stroke:#000000" id="path2439"/>
<circle cx="16.677" cy="28.554001" r="2.2390001" style="fill:none;stroke:#000000" id="circle2441"/>
<circle cx="27.705999" cy="28.554001" r="2.2390001" style="fill:none;stroke:#000000" id="circle2443"/>
<path d="M 49.757,26.315 C 50.993,26.315 51.994,27.318 51.994,28.556 C 51.994,29.79 50.993,30.793 49.757,30.793 C 48.519,30.793 47.516,29.79 47.516,28.556 C 47.516,27.318 48.519,26.315 49.757,26.315 z " style="fill:none;stroke:#000000" id="path2445"/>
<path d="M 77.318,15.179 C 76.08,15.179 75.076,16.181 75.076,17.418 C 75.076,18.654 76.08,19.657 77.318,19.657 C 78.551,19.657 79.555,18.654 79.555,17.418 C 79.556,16.181 78.552,15.179 77.318,15.179 z " style="fill:none;stroke:#000000" id="path2447"/>
<path d="M 66.293,15.179 C 65.056,15.179 64.051,16.181 64.051,17.418 C 64.051,18.655 65.056,19.658 66.293,19.658 C 67.526,19.658 68.53,18.655 68.53,17.418 C 68.53,16.181 67.526,15.179 66.293,15.179 z " style="fill:none;stroke:#000000" id="path2449"/>
<circle cx="55.264" cy="17.419001" r="2.24" style="fill:none;stroke:#000000" id="circle2451"/>
<circle cx="82.830002" cy="28.552999" r="2.24" style="fill:none;stroke:#000000" id="circle2453"/>
<path d="M 88.34,15.177 C 89.578,15.177 90.584,16.181 90.584,17.417 C 90.584,18.653 89.578,19.655 88.34,19.655 C 87.107,19.655 86.103,18.653 86.103,17.417 C 86.103,16.181 87.106,15.177 88.34,15.177 z " style="fill:none;stroke:#000000" id="path2455"/>
<circle cx="71.806" cy="28.552999" r="2.24" style="fill:none;stroke:#000000" id="circle2457"/>
<path d="M 99.359,15.177 C 100.597,15.177 101.601,16.181 101.601,17.418 C 101.601,18.653 100.597,19.655 99.359,19.655 C 98.126,19.655 97.122,18.653 97.122,17.418 C 97.122,16.181 98.126,15.177 99.359,15.177 z " style="fill:none;stroke:#000000" id="path2459"/>
<path d="M 110.385,15.177 C 111.622,15.177 112.627,16.181 112.627,17.418 C 112.627,18.655 111.622,19.657 110.385,19.657 C 109.152,19.657 108.148,18.655 108.148,17.418 C 108.148,16.181 109.151,15.177 110.385,15.177 z " style="fill:none;stroke:#000000" id="path2461"/>
<circle cx="93.848" cy="28.551001" r="2.2390001" style="fill:none;stroke:#000000" id="circle2463"/>
<circle cx="104.872" cy="28.551001" r="2.2390001" style="fill:none;stroke:#000000" id="circle2465"/>
<circle cx="60.777" cy="28.552999" r="2.24" style="fill:none;stroke:#000000" id="circle2467"/>
</g>
</g>
<g id="g2469">
<path d="M 146.732,107.672 C 146.732,111.706 143.461,114.981 139.423,114.981 L -100.983,114.981 C -105.016,114.981 -108.292,111.707 -108.292,107.672 L -108.292,64.234 C -108.292,60.197 -105.017,56.926 -100.983,56.926 L 139.423,56.926 C 143.46,56.926 146.732,60.197 146.732,64.234 L 146.732,107.672 L 146.732,107.672 z " style="fill:#ffffff;stroke:#000000;stroke-width:2" id="path2471"/>
<path d="M -76.863,65.072 C -82.473,65.072 -86.264,69.59 -85.288,75.115 L -81.418,96.789 C -80.44,102.314 -75.052,106.835 -69.44,106.835 L 107.782,106.835 C 113.39,106.835 118.778,102.314 119.758,96.789 L 123.732,75.115 C 124.708,69.59 120.92,65.072 115.307,65.072 L -76.863,65.072 L -76.863,65.072 z " style="fill:none;stroke:#000000" id="path2473"/>
<g id="g2475">
<path d="M -96.123,80.901 C -93.331,80.901 -91.069,83.164 -91.069,85.956 C -91.069,88.743 -93.331,91.006 -96.123,91.006 C -98.914,91.006 -101.177,88.743 -101.177,85.956 C -101.176,83.164 -98.914,80.901 -96.123,80.901 z " style="fill:none;stroke:#000000" id="path2477"/>
<path d="M 134.564,80.901 C 137.355,80.901 139.618,83.164 139.618,85.956 C 139.618,88.743 137.355,91.006 134.564,91.006 C 131.773,91.006 129.509,88.743 129.509,85.956 C 129.51,83.164 131.773,80.901 134.564,80.901 z " style="fill:none;stroke:#000000" id="path2479"/>
</g>
<g id="g2481">
<circle cx="-68.985001" cy="74.825996" r="2.2409999" style="fill:none;stroke:#000000" id="circle2483"/>
<circle cx="-57.956001" cy="74.825996" r="2.2409999" style="fill:none;stroke:#000000" id="circle2485"/>
<circle cx="-46.93" cy="74.824997" r="2.24" style="fill:none;stroke:#000000" id="circle2487"/>
<circle cx="-35.904999" cy="74.825996" r="2.2409999" style="fill:none;stroke:#000000" id="circle2489"/>
<circle cx="-63.472" cy="85.961998" r="2.2390001" style="fill:none;stroke:#000000" id="circle2491"/>
<circle cx="-52.443001" cy="85.961998" r="2.2390001" style="fill:none;stroke:#000000" id="circle2493"/>
<path d="M -41.418,83.723 C -40.181,83.723 -39.18,84.727 -39.18,85.964 C -39.18,87.197 -40.181,88.201 -41.418,88.201 C -42.658,88.201 -43.659,87.197 -43.659,85.964 C -43.66,84.727 -42.657,83.723 -41.418,83.723 z " style="fill:none;stroke:#000000" id="path2495"/>
<path d="M -30.389,83.723 C -29.153,83.723 -28.152,84.727 -28.152,85.964 C -28.152,87.197 -29.153,88.201 -30.389,88.201 C -31.628,88.201 -32.629,87.197 -32.629,85.964 C -32.629,84.727 -31.628,83.723 -30.389,83.723 z " style="fill:none;stroke:#000000" id="path2497"/>
<circle cx="8.1990004" cy="74.824997" r="2.24" style="fill:none;stroke:#000000" id="circle2499"/>
<path d="M -2.827,72.585 C -4.064,72.585 -5.068,73.586 -5.068,74.825 C -5.068,76.062 -4.065,77.063 -2.827,77.063 C -1.594,77.063 -0.589,76.062 -0.589,74.825 C -0.589,73.588 -1.592,72.585 -2.827,72.585 z " style="fill:none;stroke:#000000" id="path2501"/>
<circle cx="-13.853" cy="74.824997" r="2.24" style="fill:none;stroke:#000000" id="circle2503"/>
<circle cx="-24.879" cy="74.824997" r="2.24" style="fill:none;stroke:#000000" id="circle2505"/>
<circle cx="2.6849999" cy="85.961998" r="2.2390001" style="fill:none;stroke:#000000" id="circle2507"/>
<circle cx="-8.3380003" cy="85.961998" r="2.2390001" style="fill:none;stroke:#000000" id="circle2509"/>
<circle cx="-19.368" cy="85.960999" r="2.2390001" style="fill:none;stroke:#000000" id="circle2511"/>
<path d="M 63.326,72.584 C 62.089,72.584 61.085,73.586 61.085,74.825 C 61.085,76.062 62.089,77.064 63.326,77.064 C 64.559,77.064 65.564,76.062 65.564,74.825 C 65.564,73.588 64.56,72.584 63.326,72.584 z " style="fill:none;stroke:#000000" id="path2513"/>
<circle cx="57.810001" cy="85.960999" r="2.2390001" style="fill:none;stroke:#000000" id="circle2515"/>
<circle cx="19.223" cy="74.822998" r="2.2409999" style="fill:none;stroke:#000000" id="circle2517"/>
<path d="M 30.247,72.584 C 31.484,72.584 32.489,73.585 32.489,74.823 C 32.489,76.059 31.484,77.062 30.247,77.062 C 29.014,77.062 28.01,76.059 28.01,74.823 C 28.01,73.586 29.014,72.584 30.247,72.584 z " style="fill:none;stroke:#000000" id="path2519"/>
<path d="M 41.272,72.582 C 42.507,72.582 43.513,73.585 43.513,74.823 C 43.513,76.06 42.507,77.062 41.272,77.062 C 40.039,77.062 39.035,76.06 39.035,74.823 C 39.035,73.586 40.039,72.582 41.272,72.582 z " style="fill:none;stroke:#000000" id="path2521"/>
<circle cx="52.301998" cy="74.822998" r="2.2409999" style="fill:none;stroke:#000000" id="circle2523"/>
<circle cx="13.71" cy="85.958" r="2.24" style="fill:none;stroke:#000000" id="circle2525"/>
<path d="M 24.735,83.718 C 25.973,83.718 26.977,84.723 26.977,85.96 C 26.977,87.193 25.973,88.197 24.735,88.197 C 23.497,88.197 22.497,87.193 22.497,85.96 C 22.498,84.723 23.498,83.718 24.735,83.718 z " style="fill:none;stroke:#000000" id="path2527"/>
<circle cx="35.759998" cy="85.958" r="2.24" style="fill:none;stroke:#000000" id="circle2529"/>
<circle cx="46.789001" cy="85.958" r="2.24" style="fill:none;stroke:#000000" id="circle2531"/>
<circle cx="68.838997" cy="85.958" r="2.24" style="fill:none;stroke:#000000" id="circle2533"/>
<path d="M 96.401,72.582 C 95.164,72.582 94.16,73.585 94.16,74.822 C 94.16,76.058 95.164,77.06 96.401,77.06 C 97.634,77.06 98.638,76.058 98.638,74.822 C 98.639,73.585 97.635,72.582 96.401,72.582 z " style="fill:none;stroke:#000000" id="path2535"/>
<path d="M 85.377,72.581 C 84.139,72.581 83.135,73.585 83.135,74.822 C 83.135,76.059 84.139,77.062 85.377,77.062 C 86.61,77.062 87.614,76.059 87.614,74.822 C 87.614,73.585 86.61,72.581 85.377,72.581 z " style="fill:none;stroke:#000000" id="path2537"/>
<circle cx="74.348" cy="74.821999" r="2.2409999" style="fill:none;stroke:#000000" id="circle2539"/>
<circle cx="101.914" cy="85.957001" r="2.24" style="fill:none;stroke:#000000" id="circle2541"/>
<path d="M 107.423,72.581 C 108.661,72.581 109.665,73.584 109.665,74.821 C 109.665,76.056 108.661,77.059 107.423,77.059 C 106.19,77.059 105.186,76.056 105.186,74.821 C 105.185,73.584 106.189,72.581 107.423,72.581 z " style="fill:none;stroke:#000000" id="path2543"/>
<circle cx="90.889" cy="85.957001" r="2.24" style="fill:none;stroke:#000000" id="circle2545"/>
<circle cx="-68.984001" cy="97.081001" r="2.24" style="fill:none;stroke:#000000" id="circle2547"/>
<circle cx="-57.955002" cy="97.081001" r="2.24" style="fill:none;stroke:#000000" id="circle2549"/>
<circle cx="-46.929001" cy="97.084999" r="2.2390001" style="fill:none;stroke:#000000" id="circle2551"/>
<circle cx="-35.903999" cy="97.081001" r="2.24" style="fill:none;stroke:#000000" id="circle2553"/>
<circle cx="8.1999998" cy="97.084999" r="2.24" style="fill:none;stroke:#000000" id="circle2555"/>
<path d="M -0.588,97.085 C -0.588,95.848 -1.593,94.847 -2.826,94.847 C -4.064,94.847 -5.067,95.848 -5.067,97.085 C -5.067,98.322 -4.063,99.322 -2.826,99.322 C -1.592,99.322 -0.588,98.321 -0.588,97.085 z " style="fill:none;stroke:#000000" id="path2557"/>
<path d="M -16.094,97.085 C -16.094,95.848 -15.09,94.843 -13.853,94.843 C -12.617,94.843 -11.614,95.848 -11.614,97.085 C -11.614,98.321 -12.616,99.322 -13.853,99.322 C -15.09,99.322 -16.094,98.321 -16.094,97.085 z " style="fill:none;stroke:#000000" id="path2559"/>
<circle cx="-24.879" cy="97.084999" r="2.24" style="fill:none;stroke:#000000" id="circle2561"/>
<path d="M 65.564,97.085 C 65.564,95.848 64.559,94.843 63.326,94.843 C 62.089,94.843 61.085,95.848 61.085,97.085 C 61.085,98.322 62.089,99.325 63.326,99.325 C 64.56,99.325 65.564,98.321 65.564,97.085 z " style="fill:none;stroke:#000000" id="path2563"/>
<circle cx="19.224001" cy="97.084999" r="2.24" style="fill:none;stroke:#000000" id="circle2565"/>
<path d="M 28.01,97.085 C 28.01,95.848 29.014,94.848 30.247,94.848 C 31.484,94.848 32.489,95.851 32.489,97.085 C 32.489,98.322 31.484,99.325 30.247,99.325 C 29.014,99.325 28.01,98.322 28.01,97.085 z " style="fill:none;stroke:#000000" id="path2567"/>
<path d="M 39.035,97.085 C 39.035,95.848 40.039,94.848 41.272,94.848 C 42.507,94.848 43.513,95.848 43.513,97.085 C 43.513,98.322 42.507,99.326 41.272,99.326 C 40.039,99.326 39.035,98.322 39.035,97.085 z " style="fill:none;stroke:#000000" id="path2569"/>
<circle cx="52.300999" cy="97.084999" r="2.24" style="fill:none;stroke:#000000" id="circle2571"/>
<path d="M 98.639,97.085 C 98.639,95.852 97.635,94.848 96.402,94.848 C 95.165,94.848 94.161,95.852 94.161,97.085 C 94.161,98.322 95.165,99.326 96.402,99.326 C 97.635,99.326 98.639,98.322 98.639,97.085 z " style="fill:none;stroke:#000000" id="path2573"/>
<path d="M 87.614,97.085 C 87.614,95.848 86.61,94.848 85.377,94.848 C 84.139,94.848 83.135,95.848 83.135,97.085 C 83.135,98.322 84.139,99.326 85.377,99.326 C 86.61,99.326 87.614,98.322 87.614,97.085 z " style="fill:none;stroke:#000000" id="path2575"/>
<path d="M 72.105,97.088 C 72.105,95.851 73.11,94.848 74.347,94.848 C 75.581,94.848 76.584,95.851 76.584,97.088 C 76.584,98.322 75.581,99.326 74.347,99.326 C 73.11,99.326 72.105,98.322 72.105,97.088 z " style="fill:none;stroke:#000000" id="path2577"/>
<path d="M 105.186,97.089 C 105.186,95.852 106.19,94.848 107.423,94.848 C 108.661,94.848 109.665,95.852 109.665,97.089 C 109.665,98.325 108.661,99.326 107.423,99.326 C 106.189,99.326 105.185,98.325 105.186,97.089 z " style="fill:none;stroke:#000000" id="path2579"/>
<circle cx="79.860001" cy="85.957001" r="2.24" style="fill:none;stroke:#000000" id="circle2581"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

BIN
img/computer-layout.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

BIN
img/memory-write.afdesign Normal file

Binary file not shown.

BIN
img/memory-write.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

View File

@ -45,15 +45,7 @@
<img data-src="img/renode-base.png"> <img data-src="img/renode-base.png">
</section> </section>
<section> <section>
<h2>Whole-system Emulator</h2> <h2>Renode is an Emulator</h2>
<ul>
<li>CPU cores</li>
<li>Peripherals</li>
<li>Interconnections</li>
</ul>
</section>
<section>
<h2>Target platforms</h2>
<ul> <ul>
<li>Windows</li> <li>Windows</li>
<li>Mac</li> <li>Mac</li>
@ -64,6 +56,18 @@
</ul> </ul>
</ul> </ul>
</section> </section>
<section>
<h2>Whole-system Emulator</h2>
<ul>
<li>CPU cores</li>
<li>Peripherals</li>
<li>Interconnections</li>
</ul>
</section>
<section>
<h2>Whole-system Emulator</h2>
<img data-src="img/computer-layout.png">
</section>
<section> <section>
<h2>CPU Cores</h2> <h2>CPU Cores</h2>
<ul> <ul>
@ -88,6 +92,10 @@
<li>Interrupts are just GPIOs</li> <li>Interrupts are just GPIOs</li>
</ul> </ul>
</section> </section>
<section>
<h2>Peripherals Are Just Special Memory</h2>
<img data-src="img/memory-write.png">
</section>
<section> <section>
<h2>10% of the Functionality Gets You 90% of the Way There</h2> <h2>10% of the Functionality Gets You 90% of the Way There</h2>
<ul> <ul>
@ -123,7 +131,7 @@
<h2>Creating Peripherals</h2> <h2>Creating Peripherals</h2>
<ul> <ul>
<li>Renode is written in C#</li> <li>Renode is written in C#</li>
<li>Like Java, C# has an `eval()` function</li> <li>Like Java, C# has an <code>eval()</code> function</li>
<li>Peripherals can be written and loaded at runtime</li> <li>Peripherals can be written and loaded at runtime</li>
</ul> </ul>
</section> </section>