@tscircuit/schematic-trace-solver 0.0.120 → 0.0.122
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +10 -3
- package/dist/index.js +350 -78
- package/lib/solvers/RailNetLabelCornerPlacementSolver/RailNetLabelCornerPlacementSolver.ts +223 -21
- package/lib/solvers/RailNetLabelCornerPlacementSolver/types.ts +3 -3
- package/lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts +34 -9
- package/lib/solvers/TraceCleanupSolver/sameNetRailAlignment/evaluateRailGroup.ts +79 -59
- package/lib/solvers/TraceCleanupSolver/sameNetRailAlignment/getRailAlignmentFallbackCoordinates.ts +96 -0
- package/lib/utils/doesPathCoincideWithTraces.ts +71 -1
- package/package.json +1 -1
- package/site/bug-reports/bug-report-20260804T095800Z.page.tsx +4 -0
- package/tests/bug-reports/bug-report-20260706T213649Z/__snapshots__/bug-report-20260706T213649Z.snap.svg +4 -4
- package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +5 -5
- package/tests/bug-reports/bug-report-20260717T042845Z/__snapshots__/bug-report-20260717T042845Z.snap.svg +12 -12
- package/tests/bug-reports/bug-report-20260721T221026Z/__snapshots__/bug-report-20260721T221026Z.snap.svg +2 -2
- package/tests/bug-reports/bug-report-20260728T144234Z/__snapshots__/bug-report-20260728T144234Z.snap.svg +2 -2
- package/tests/bug-reports/bug-report-20260804T095800Z/__snapshots__/bug-report-20260804T095800Z.snap.svg +135 -0
- package/tests/bug-reports/bug-report-20260804T095800Z/bug-report-20260804T095800Z.json +634 -0
- package/tests/bug-reports/bug-report-20260804T095800Z/bug-report-20260804T095800Z.test.ts +12 -0
- package/tests/examples/__snapshots__/example12.snap.svg +2 -2
- package/tests/examples/__snapshots__/example13.snap.svg +4 -4
- package/tests/examples/__snapshots__/example14.snap.svg +36 -36
- package/tests/examples/__snapshots__/example31.snap.svg +6 -6
- package/tests/examples/__snapshots__/example43.snap.svg +2 -2
- package/tests/examples/__snapshots__/example44.snap.svg +2 -2
- package/tests/repros/__snapshots__/board-15984-same-net-junction.snap.svg +2 -2
- package/tests/repros/__snapshots__/bugreport-001-gnd-overlap.snap.svg +26 -26
- package/tests/repros/__snapshots__/netlabel-connector-through-rail-label.snap.svg +2 -2
- package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +2 -2
- package/tests/repros/__snapshots__/repro-atmega328p-missing-gnd-netlabel.snap.svg +2 -2
- package/tests/repros/__snapshots__/repro-bq25895-cross-net-trace-overlap.snap.svg +101 -0
- package/tests/repros/__snapshots__/repro-missing-trace-netlabel.snap.svg +18 -18
- package/tests/repros/__snapshots__/repro-netlabel-overlap-trace.snap.svg +3 -3
- package/tests/repros/__snapshots__/repro-nrf52810-clock-routing.snap.svg +82 -0
- package/tests/repros/assets/repro-bq25895-cross-net-trace-overlap.input.json +498 -0
- package/tests/repros/assets/repro-nrf52810-clock-routing.input.json +234 -0
- package/tests/repros/repro-bq25895-cross-net-trace-overlap.test.ts +88 -0
- package/tests/repros/repro-missing-trace-netlabel.test.ts +12 -0
- package/tests/repros/repro-netlabel-overlap-trace.test.ts +38 -0
- package/tests/repros/repro-nrf52810-clock-routing.test.ts +28 -0
- package/tests/solvers/TraceCleanupSolver/alignSameNetRails-trace-clearance.test.ts +68 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-0.6000000000000001,0.1 -0.6000000000000001,-0.1" data-type="line" data-label="" points="
|
|
2
|
-
globalConnNetId: connectivity_net0" data-x="-1.15" data-y="2.5709999999999997" x="
|
|
3
|
-
globalConnNetId: connectivity_net1" data-x="1.
|
|
4
|
-
x-" data-x="-0.6000000000000001" data-y="0.1" cx="
|
|
5
|
-
x-" data-x="-0.6000000000000001" data-y="-0.1" cx="
|
|
6
|
-
x+" data-x="0.6000000000000001" data-y="0.1" cx="
|
|
7
|
-
x+" data-x="0.6000000000000001" data-y="-0.1" cx="
|
|
8
|
-
x-" data-x="-0.6599999999999999" data-y="2.36" cx="
|
|
9
|
-
x+" data-x="0.6599999999999999" data-y="2.36" cx="
|
|
10
|
-
orientation: y+" data-x="-1.15" data-y="2.3609999999999998" cx="
|
|
11
|
-
orientation: y+" data-x="1.
|
|
1
|
+
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-0.6000000000000001,0.1 -0.6000000000000001,-0.1" data-type="line" data-label="" points="188.5246894880339,494.81975159042713 188.5246894880339,528.748863980612" fill="none" stroke="hsl(27, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.6000000000000001,0.1 -0.6599999999999999,2.36" data-type="line" data-label="" points="188.5246894880339,494.81975159042713 178.3459557709785,111.42078158133899" fill="none" stroke="hsl(27, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.6000000000000001,-0.1 -0.6599999999999999,2.36" data-type="line" data-label="" points="188.5246894880339,528.748863980612 178.3459557709785,111.42078158133899" fill="none" stroke="hsl(27, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.6000000000000001,0.1 0.6000000000000001,-0.1" data-type="line" data-label="" points="392.0993638291427,494.81975159042713 392.0993638291427,528.748863980612" fill="none" stroke="hsl(64, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.6000000000000001,0.1 0.6599999999999999,2.36" data-type="line" data-label="" points="392.0993638291427,494.81975159042713 402.2780975461981,111.42078158133899" fill="none" stroke="hsl(64, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.6000000000000001,-0.1 0.6599999999999999,2.36" data-type="line" data-label="" points="392.0993638291427,528.748863980612 402.2780975461981,111.42078158133899" fill="none" stroke="hsl(64, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.6000000000000001,-0.1 -0.8,-0.1 -0.8,0.1 -0.6000000000000001,0.1" data-type="line" data-label="" points="188.5246894880339,528.748863980612 154.59557709784912,528.748863980612 154.59557709784912,494.81975159042713 188.5246894880339,494.81975159042713" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.6599999999999999,2.36 -0.8599999999999999,2.36 -0.8599999999999999,0.1 -0.6000000000000001,0.1" data-type="line" data-label="" points="178.3459557709785,111.42078158133899 144.4168433807937,111.42078158133899 144.4168433807937,494.81975159042713 188.5246894880339,494.81975159042713" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.6000000000000001,0.1 1.4400000000000002,0.1 1.4400000000000002,-0.1 0.6000000000000001,-0.1" data-type="line" data-label="" points="392.0993638291427,494.81975159042713 534.6016358679188,494.81975159042713 534.6016358679188,528.748863980612 392.0993638291427,528.748863980612" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.6599999999999999,2.36 1.4400000000000002,2.36 1.4400000000000002,0.1 0.6000000000000001,0.1" data-type="line" data-label="" points="402.2780975461981,111.42078158133899 534.6016358679188,111.42078158133899 534.6016358679188,494.81975159042713 392.0993638291427,494.81975159042713" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.8599999999999999,2.36 -1.15,2.36 -1.15,2.3609999999999998" data-type="line" data-label="" points="144.4168433807937,111.42078158133899 95.21963041502573,111.42078158133899 95.21963041502573,111.25113601938807" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="188.5246894880339" y="460.8906392002424" width="203.5746743411088" height="101.7873371705544" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.005894642857142856"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="0" data-y="2.32" x="178.3459557709785" y="46.95546803998786" width="223.93214177521963" height="142.50227203877614" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.005894642857142856"/></g><g><rect data-type="rect" data-label="5x20-BLX-A" data-x="0.4" data-y="-0.43000000000000005" x="256.3829142684035" y="569.4637988488337" width="203.5746743411088" height="30.536201151166324" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.005894642857142856"/></g><g><rect data-type="rect" data-label="FUSEX20MM" data-x="0.3400000000000001" data-y="0.41500000000000004" x="246.2041805513481" y="420.1757043320206" width="203.57467434110882" height="42.41139048773101" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.005894642857142856"/></g><g><rect data-type="rect" data-label="netId: VIN
|
|
2
|
+
globalConnNetId: connectivity_net0" data-x="-1.15" data-y="2.5709999999999997" x="54.50469554680399" y="39.99999999999997" width="81.4298697364435" height="71.25113601938807" fill="#ef444466" stroke="#ef4444" stroke-width="0.005894642857142856"/></g><g><rect data-type="rect" data-label="netId: VOUT
|
|
3
|
+
globalConnNetId: connectivity_net1" data-x="1.4400000000000002" data-y="2.57" x="483.7079672826417" y="40.16964556195089" width="101.78733717055434" height="71.25113601938807" fill="#ef444466" stroke="#ef4444" stroke-width="0.005894642857142856"/></g><g><circle data-type="point" data-label="F1.1
|
|
4
|
+
x-" data-x="-0.6000000000000001" data-y="0.1" cx="188.5246894880339" cy="494.81975159042713" r="3" fill="hsl(214, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="F1.2
|
|
5
|
+
x-" data-x="-0.6000000000000001" data-y="-0.1" cx="188.5246894880339" cy="528.748863980612" r="3" fill="hsl(215, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="F1.4
|
|
6
|
+
x+" data-x="0.6000000000000001" data-y="0.1" cx="392.0993638291427" cy="494.81975159042713" r="3" fill="hsl(217, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="F1.3
|
|
7
|
+
x+" data-x="0.6000000000000001" data-y="-0.1" cx="392.0993638291427" cy="528.748863980612" r="3" fill="hsl(216, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="F2.1
|
|
8
|
+
x-" data-x="-0.6599999999999999" data-y="2.36" cx="178.3459557709785" cy="111.42078158133899" r="3" fill="hsl(95, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="F2.2
|
|
9
|
+
x+" data-x="0.6599999999999999" data-y="2.36" cx="402.2780975461981" cy="111.42078158133899" r="3" fill="hsl(96, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
10
|
+
orientation: y+" data-x="-1.15" data-y="2.3609999999999998" cx="95.21963041502573" cy="111.25113601938807" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
11
|
+
orientation: y+" data-x="1.4400000000000002" data-y="2.36" cx="534.6016358679188" cy="111.42078158133899" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
|
|
12
12
|
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
13
13
|
const svg = e.currentTarget;
|
|
14
14
|
const rect = svg.getBoundingClientRect();
|
|
@@ -30,7 +30,7 @@ orientation: y+" data-x="1.05" data-y="2.36" cx="493.8867009996971" cy="111.4207
|
|
|
30
30
|
v.setAttribute('y2', '640');
|
|
31
31
|
|
|
32
32
|
// Calculate real coordinates using inverse transformation
|
|
33
|
-
const matrix = {"a":169.645561950924,"c":0,"e":
|
|
33
|
+
const matrix = {"a":169.645561950924,"c":0,"e":290.3120266585883,"b":0,"d":-169.645561950924,"f":511.78430778551956};
|
|
34
34
|
// Manually invert and apply the affine transform
|
|
35
35
|
// Since we only use translate and scale, we can directly compute:
|
|
36
36
|
// x' = (x - tx) / sx
|
|
@@ -22,7 +22,7 @@ globalConnNetId: connectivity_net9" data-x="-2.3549999999999995" data-y="-8.6899
|
|
|
22
22
|
globalConnNetId: connectivity_net9" data-x="-4.8109999999999955" data-y="-13.132333333333335" x="182.73350923482855" y="352.72287866620775" width="7.709074222783045" height="5.396351955948205" fill="#ef444466" stroke="#ef4444" stroke-width="0.07783035714285715"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
23
23
|
globalConnNetId: connectivity_net9" data-x="3.339999999999999" data-y="-12.783333333333335" x="287.46128255133647" y="348.2387671599556" width="7.709074222783045" height="5.396351955948205" fill="#ef444466" stroke="#ef4444" stroke-width="0.07783035714285715"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
24
24
|
globalConnNetId: connectivity_net9" data-x="-3.184444444444444" data-y="-1.009999999999999" x="203.63223841025837" y="196.96959963290124" width="7.709074222783073" height="5.396351955948148" fill="#ef444466" stroke="#ef4444" stroke-width="0.07783035714285715"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
25
|
-
globalConnNetId: connectivity_net9" data-x="8.
|
|
25
|
+
globalConnNetId: connectivity_net9" data-x="8.691" data-y="-7.19" x="356.2133761615234" y="276.37306412756686" width="7.7090742227831015" height="5.396351955948148" fill="#ef444466" stroke="#ef4444" stroke-width="0.07783035714285715"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
26
26
|
globalConnNetId: connectivity_net9" data-x="11.915000000000001" data-y="-7.87" x="397.63680165194444" y="285.11001491338766" width="7.7090742227831015" height="5.396351955948148" fill="#ef444466" stroke="#ef4444" stroke-width="0.07783035714285715"/></g><g><rect data-type="rect" data-label="netId: SCK
|
|
27
27
|
globalConnNetId: connectivity_net10" data-x="-1.0510000000000004" data-y="-10.493333333333334" x="231.81461511988067" y="320.2291308171772" width="6.167259378226447" height="2.569691407594348" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.07783035714285715"/></g><g><rect data-type="rect" data-label="netId: SCK
|
|
28
28
|
globalConnNetId: connectivity_net10" data-x="15.781" data-y="-9.16" x="448.07984398302165" y="303.09785476654815" width="6.167259378226447" height="2.569691407594348" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.07783035714285715"/></g><g><rect data-type="rect" data-label="netId: MOSI
|
|
@@ -244,7 +244,7 @@ orientation: y+" data-x="-2.3549999999999995" data-y="-8.899999999999999" cx="21
|
|
|
244
244
|
orientation: y+" data-x="-4.8109999999999955" data-y="-13.342333333333336" cx="186.58804634622007" cy="358.119230622156" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
245
245
|
orientation: y+" data-x="3.339999999999999" data-y="-12.993333333333336" cx="291.31581966272796" cy="353.6351191159038" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
246
246
|
orientation: y+" data-x="-3.184444444444444" data-y="-1.2199999999999989" cx="207.4867755216499" cy="202.36595158884938" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
247
|
-
orientation: y+" data-x="8.
|
|
247
|
+
orientation: y+" data-x="8.691" data-y="-7.4" cx="360.06791327291495" cy="281.769416083515" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
248
248
|
orientation: y+" data-x="11.915000000000001" data-y="-8.08" cx="401.491338763336" cy="290.5063668693358" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
249
249
|
orientation: x-" data-x="-0.8100000000000005" data-y="-10.493333333333334" cx="237.99472295514508" cy="321.5139765209743" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
250
250
|
orientation: x+" data-x="15.540000000000001" data-y="-9.16" cx="448.06699552598366" cy="304.3827004703453" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
@@ -3,7 +3,7 @@ globalConnNetId: connectivity_net2" data-x="4.72" data-y="-4.395000000000001" x=
|
|
|
3
3
|
globalConnNetId: connectivity_net2" data-x="4.84" data-y="-0.9110000000000008" x="536.6464646464647" y="257.2404040404041" width="27.151515151515127" height="23.75757575757575" fill="#00000066" stroke="#000000" stroke-width="0.01767857142857143"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
4
4
|
globalConnNetId: connectivity_net2" data-x="5.125" data-y="0.8189999999999992" x="552.7676767676767" y="159.3818181818182" width="27.15151515151524" height="23.75757575757575" fill="#00000066" stroke="#000000" stroke-width="0.01767857142857143"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
5
5
|
globalConnNetId: connectivity_net2" data-x="-0.1449999999999998" data-y="-5.821" x="254.66666666666663" y="534.9777777777778" width="27.151515151515127" height="23.75757575757575" fill="#00000066" stroke="#000000" stroke-width="0.01767857142857143"/></g><g><rect data-type="rect" data-label="netId: V5
|
|
6
|
-
globalConnNetId: connectivity_net3" data-x="1.
|
|
6
|
+
globalConnNetId: connectivity_net3" data-x="1.45" data-y="1.6549999999999991" x="348.28282828282823" y="112.09292929292931" width="20.363636363636374" height="23.757575757575765" fill="#ef444466" stroke="#ef4444" stroke-width="0.01767857142857143"/></g><g><rect data-type="rect" data-label="netId: DP
|
|
7
7
|
globalConnNetId: connectivity_net4" data-x="1.63" data-y="0.2999999999999998" x="358.4646464646464" y="194.96161616161612" width="20.363636363636374" height="11.313131313131322" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01767857142857143"/></g><g><rect data-type="rect" data-label="netId: DM
|
|
8
8
|
globalConnNetId: connectivity_net5" data-x="1.63" data-y="-0.10000000000000009" x="358.4646464646464" y="217.58787878787876" width="20.363636363636374" height="11.313131313131322" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01767857142857143"/></g><g><rect data-type="rect" data-label="netId: VBUS
|
|
9
9
|
globalConnNetId: connectivity_net6" data-x="5.125" data-y="2.199999999999999" x="549.3737373737374" y="81.26464646464652" width="33.93939393939388" height="23.75757575757575" fill="#ef444466" stroke="#ef4444" stroke-width="0.01767857142857143"/></g><g><rect data-type="rect" data-label="netId: BATT
|
|
@@ -55,7 +55,7 @@ orientation: y-" data-x="4.72" data-y="-4.185000000000001" cx="543.4343434343434
|
|
|
55
55
|
orientation: y-" data-x="4.84" data-y="-0.7000000000000008" cx="550.2222222222222" cy="257.1838383838384" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
56
56
|
orientation: y-" data-x="5.125" data-y="1.0299999999999991" cx="566.3434343434343" cy="159.32525252525255" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
57
57
|
orientation: y-" data-x="-0.1449999999999998" data-y="-5.609999999999999" cx="268.2424242424242" cy="534.921212121212" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
58
|
-
orientation: y+" data-x="1.
|
|
58
|
+
orientation: y+" data-x="1.45" data-y="1.4449999999999992" cx="358.4646464646464" cy="135.8505050505051" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
59
59
|
orientation: x+" data-x="1.45" data-y="0.2999999999999998" cx="358.4646464646464" cy="200.6181818181818" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
60
60
|
orientation: x+" data-x="1.45" data-y="-0.10000000000000009" cx="358.4646464646464" cy="223.2444444444444" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
61
61
|
orientation: y+" data-x="5.125" data-y="1.9899999999999989" cx="566.3434343434343" cy="105.02222222222227" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-3.9,4.1000000000000005 3,3.4000000000000004" data-type="line" data-label="" points="193.04528891202497,196.83498178032272 394.19052576782923,217.24102030192603" fill="none" stroke="hsl(196, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.9,4.1000000000000005 0.3,-1.4" data-type="line" data-label="" points="193.04528891202497,196.83498178032272 315.48152004164496,357.16814159292034" fill="none" stroke="hsl(196, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.9,4.1000000000000005 0.75,-4.95" data-type="line" data-label="" points="193.04528891202497,196.83498178032272 328.59968766267565,460.6559083810515" fill="none" stroke="hsl(196, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3,3.4000000000000004 0.3,-1.4" data-type="line" data-label="" points="394.19052576782923,217.24102030192603 315.48152004164496,357.16814159292034" fill="none" stroke="hsl(196, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3,3.4000000000000004 0.75,-4.95" data-type="line" data-label="" points="394.19052576782923,217.24102030192603 328.59968766267565,460.6559083810515" fill="none" stroke="hsl(196, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.3,-1.4 0.75,-4.95" data-type="line" data-label="" points="315.48152004164496,357.16814159292034 328.59968766267565,460.6559083810515" fill="none" stroke="hsl(196, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.9,4.7 -2.5,5.1000000000000005" data-type="line" data-label="" points="193.04528891202497,179.34409161894843 233.85736595523161,167.68349817803224" fill="none" stroke="hsl(295, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.9,4.7 -6.2749999999999995,-5" data-type="line" data-label="" points="193.04528891202497,179.34409161894843 123.81051535658511,462.11348256116605" fill="none" stroke="hsl(295, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.5,5.1000000000000005 -6.2749999999999995,-5" data-type="line" data-label="" points="233.85736595523161,167.68349817803224 123.81051535658511,462.11348256116605" fill="none" stroke="hsl(295, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.5 -8.7,4.58" data-type="line" data-label="" points="99.76054138469547,185.17438833940653 53.11816762103072,182.8422696512233" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.5 -2.5,5.7" data-type="line" data-label="" points="99.76054138469547,185.17438833940653 233.85736595523161,150.19260801665797" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.5 -5.2,1.45" data-type="line" data-label="" points="99.76054138469547,185.17438833940653 155.14836022904734,274.08641332639246" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.5 -2.9,1.05" data-type="line" data-label="" points="99.76054138469547,185.17438833940653 222.19677251431546,285.7470067673087" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.5 3.9,5.4775" data-type="line" data-label="" points="99.76054138469547,185.17438833940653 420.4268610098907,156.6788131181676" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.5 9.3,5.1" data-type="line" data-label="" points="99.76054138469547,185.17438833940653 577.8448724622592,167.68349817803227" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.5 0.3,-0.7" data-type="line" data-label="" points="99.76054138469547,185.17438833940653 315.48152004164496,336.762103071317" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.5 0.75,-5.35" data-type="line" data-label="" points="99.76054138469547,185.17438833940653 328.59968766267565,472.3165018219677" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8.7,4.58 -2.5,5.7" data-type="line" data-label="" points="53.11816762103072,182.8422696512233 233.85736595523161,150.19260801665797" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8.7,4.58 -5.2,1.45" data-type="line" data-label="" points="53.11816762103072,182.8422696512233 155.14836022904734,274.08641332639246" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8.7,4.58 -2.9,1.05" data-type="line" data-label="" points="53.11816762103072,182.8422696512233 222.19677251431546,285.7470067673087" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8.7,4.58 3.9,5.4775" data-type="line" data-label="" points="53.11816762103072,182.8422696512233 420.4268610098907,156.6788131181676" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8.7,4.58 9.3,5.1" data-type="line" data-label="" points="53.11816762103072,182.8422696512233 577.8448724622592,167.68349817803227" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8.7,4.58 0.3,-0.7" data-type="line" data-label="" points="53.11816762103072,182.8422696512233 315.48152004164496,336.762103071317" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8.7,4.58 0.75,-5.35" data-type="line" data-label="" points="53.11816762103072,182.8422696512233 328.59968766267565,472.3165018219677" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.5,5.7 -5.2,1.45" data-type="line" data-label="" points="233.85736595523161,150.19260801665797 155.14836022904734,274.08641332639246" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.5,5.7 -2.9,1.05" data-type="line" data-label="" points="233.85736595523161,150.19260801665797 222.19677251431546,285.7470067673087" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.5,5.7 3.9,5.4775" data-type="line" data-label="" points="233.85736595523161,150.19260801665797 420.4268610098907,156.6788131181676" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.5,5.7 9.3,5.1" data-type="line" data-label="" points="233.85736595523161,150.19260801665797 577.8448724622592,167.68349817803227" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.5,5.7 0.3,-0.7" data-type="line" data-label="" points="233.85736595523161,150.19260801665797 315.48152004164496,336.762103071317" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.5,5.7 0.75,-5.35" data-type="line" data-label="" points="233.85736595523161,150.19260801665797 328.59968766267565,472.3165018219677" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5.2,1.45 -2.9,1.05" data-type="line" data-label="" points="155.14836022904734,274.08641332639246 222.19677251431546,285.7470067673087" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5.2,1.45 3.9,5.4775" data-type="line" data-label="" points="155.14836022904734,274.08641332639246 420.4268610098907,156.6788131181676" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5.2,1.45 9.3,5.1" data-type="line" data-label="" points="155.14836022904734,274.08641332639246 577.8448724622592,167.68349817803227" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5.2,1.45 0.3,-0.7" data-type="line" data-label="" points="155.14836022904734,274.08641332639246 315.48152004164496,336.762103071317" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5.2,1.45 0.75,-5.35" data-type="line" data-label="" points="155.14836022904734,274.08641332639246 328.59968766267565,472.3165018219677" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.9,1.05 3.9,5.4775" data-type="line" data-label="" points="222.19677251431546,285.7470067673087 420.4268610098907,156.6788131181676" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.9,1.05 9.3,5.1" data-type="line" data-label="" points="222.19677251431546,285.7470067673087 577.8448724622592,167.68349817803227" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.9,1.05 0.3,-0.7" data-type="line" data-label="" points="222.19677251431546,285.7470067673087 315.48152004164496,336.762103071317" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.9,1.05 0.75,-5.35" data-type="line" data-label="" points="222.19677251431546,285.7470067673087 328.59968766267565,472.3165018219677" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.9,5.4775 9.3,5.1" data-type="line" data-label="" points="420.4268610098907,156.6788131181676 577.8448724622592,167.68349817803227" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.9,5.4775 0.3,-0.7" data-type="line" data-label="" points="420.4268610098907,156.6788131181676 315.48152004164496,336.762103071317" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.9,5.4775 0.75,-5.35" data-type="line" data-label="" points="420.4268610098907,156.6788131181676 328.59968766267565,472.3165018219677" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.3,5.1 0.3,-0.7" data-type="line" data-label="" points="577.8448724622592,167.68349817803227 315.48152004164496,336.762103071317" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.3,5.1 0.75,-5.35" data-type="line" data-label="" points="577.8448724622592,167.68349817803227 328.59968766267565,472.3165018219677" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.3,-0.7 0.75,-5.35" data-type="line" data-label="" points="315.48152004164496,336.762103071317 328.59968766267565,472.3165018219677" fill="none" stroke="hsl(73, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.9,4.5 -3.35,1.4275" data-type="line" data-label="" points="193.04528891202497,185.17438833940653 209.0786048932847,274.74232170744403" fill="none" stroke="hsl(193, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.300000000000001 -5.5,3.2750000000000004" data-type="line" data-label="" points="99.76054138469547,191.0046850598646 146.40291514836022,220.88495575221236" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.300000000000001 -8.7,3.8200000000000003" data-type="line" data-label="" points="99.76054138469547,191.0046850598646 53.11816762103072,204.99739718896404" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.300000000000001 9.2999378,1.5" data-type="line" data-label="" points="99.76054138469547,191.0046850598646 577.8430592399791,272.628839146278" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.300000000000001 0.3,-1.75" data-type="line" data-label="" points="99.76054138469547,191.0046850598646 315.48152004164496,367.371160853722" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.300000000000001 0.75,-5.55" data-type="line" data-label="" points="99.76054138469547,191.0046850598646 328.59968766267565,478.1467985424258" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.1,4.300000000000001 -6.2749999999999995,-5.75" data-type="line" data-label="" points="99.76054138469547,191.0046850598646 123.81051535658511,483.9770952628839" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5.5,3.2750000000000004 -8.7,3.8200000000000003" data-type="line" data-label="" points="146.40291514836022,220.88495575221236 53.11816762103072,204.99739718896404" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5.5,3.2750000000000004 9.2999378,1.5" data-type="line" data-label="" points="146.40291514836022,220.88495575221236 577.8430592399791,272.628839146278" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5.5,3.2750000000000004 0.3,-1.75" data-type="line" data-label="" points="146.40291514836022,220.88495575221236 315.48152004164496,367.371160853722" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5.5,3.2750000000000004 0.75,-5.55" data-type="line" data-label="" points="146.40291514836022,220.88495575221236 328.59968766267565,478.1467985424258" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5.5,3.2750000000000004 -6.2749999999999995,-5.75" data-type="line" data-label="" points="146.40291514836022,220.88495575221236 123.81051535658511,483.9770952628839" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8.7,3.8200000000000003 9.2999378,1.5" data-type="line" data-label="" points="53.11816762103072,204.99739718896404 577.8430592399791,272.628839146278" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8.7,3.8200000000000003 0.3,-1.75" data-type="line" data-label="" points="53.11816762103072,204.99739718896404 315.48152004164496,367.371160853722" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8.7,3.8200000000000003 0.75,-5.55" data-type="line" data-label="" points="53.11816762103072,204.99739718896404 328.59968766267565,478.1467985424258" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8.7,3.8200000000000003 -6.2749999999999995,-5.75" data-type="line" data-label="" points="53.11816762103072,204.99739718896404 123.81051535658511,483.9770952628839" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.2999378,1.5 0.3,-1.75" data-type="line" data-label="" points="577.8430592399791,272.628839146278 315.48152004164496,367.371160853722" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.2999378,1.5 0.75,-5.55" data-type="line" data-label="" points="577.8430592399791,272.628839146278 328.59968766267565,478.1467985424258" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.2999378,1.5 -6.2749999999999995,-5.75" data-type="line" data-label="" points="577.8430592399791,272.628839146278 123.81051535658511,483.9770952628839" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.3,-1.75 0.75,-5.55" data-type="line" data-label="" points="315.48152004164496,367.371160853722 328.59968766267565,478.1467985424258" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.3,-1.75 -6.2749999999999995,-5.75" data-type="line" data-label="" points="315.48152004164496,367.371160853722 123.81051535658511,483.9770952628839" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.75,-5.55 -6.2749999999999995,-5.75" data-type="line" data-label="" points="328.59968766267565,478.1467985424258 123.81051535658511,483.9770952628839" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.9,4.300000000000001 4.8,3.4000000000000004" data-type="line" data-label="" points="193.04528891202497,191.0046850598646 446.66319625195206,217.24102030192603" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.9,4.300000000000001 0.3,-1.05" data-type="line" data-label="" points="193.04528891202497,191.0046850598646 315.48152004164496,346.96512233211865" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.9,4.300000000000001 0.75,-5.15" data-type="line" data-label="" points="193.04528891202497,191.0046850598646 328.59968766267565,466.4862051015096" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.8,3.4000000000000004 0.3,-1.05" data-type="line" data-label="" points="446.66319625195206,217.24102030192603 315.48152004164496,346.96512233211865" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.8,3.4000000000000004 0.75,-5.15" data-type="line" data-label="" points="446.66319625195206,217.24102030192603 328.59968766267565,466.4862051015096" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.3,-1.05 0.75,-5.15" data-type="line" data-label="" points="315.48152004164496,346.96512233211865 328.59968766267565,466.4862051015096" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5.2,0.8499999999999999 -3.8000000000000003,1.0499999999999998" data-type="line" data-label="" points="155.14836022904734,291.57730348776676 195.960437272254,285.7470067673087" fill="none" stroke="hsl(345, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.35,5.1000000000000005 3,4" data-type="line" data-label="" points="433.54502863092137,167.68349817803224 394.19052576782923,199.7501301405518" fill="none" stroke="hsl(96, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.4499999999999993,5.1000000000000005 4.8,4" data-type="line" data-label="" points="407.3086933888599,167.68349817803224 446.66319625195206,199.7501301405518" fill="none" stroke="hsl(116, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.3,4.5 9.3,3.89" data-type="line" data-label="" points="577.8448724622592,185.17438833940653 577.8448724622592,202.95679333680374" fill="none" stroke="hsl(133, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.3,2.81 9.300062200000001,2.4" data-type="line" data-label="" points="577.8448724622592,234.44039562727744 577.8466856845394,246.39250390421654" fill="none" stroke="hsl(143, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.5,5.1000000000000005 -2.5,4.7 -3.9,4.7" data-type="line" data-label="" points="233.85736595523161,167.68349817803224 233.85736595523161,179.34409161894843 193.04528891202497,179.34409161894843" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-8.7,4.58 -8.7,4.779999999999999 -7.8999999999999995,4.779999999999999 -7.8999999999999995,4.5 -7.1,4.5" data-type="line" data-label="" points="53.11816762103072,182.8422696512233 53.11816762103072,177.01197293076524 76.4393545028631,177.01197293076524 76.4393545028631,185.17438833940653 99.76054138469547,185.17438833940653" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-8.7,3.8200000000000003 -8.7,3.620000000000001 -7.8999999999999995,3.620000000000001 -7.8999999999999995,4.300000000000001 -7.1,4.300000000000001" data-type="line" data-label="" points="53.11816762103072,204.99739718896404 53.11816762103072,210.82769390942212 76.4393545028631,210.82769390942212 76.4393545028631,191.0046850598646 99.76054138469547,191.0046850598646" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.2,0.8499999999999999 -5.2,0.6499999999999997 -4.5,0.6499999999999997 -4.5,1.05 -3.8000000000000003,1.05" data-type="line" data-label="" points="155.14836022904734,291.57730348776676 155.14836022904734,297.4076002082249 175.55439875065068,297.4076002082249 175.55439875065068,285.7470067673087 195.960437272254,285.7470067673087" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.3,4.5 9.3,3.89" data-type="line" data-label="" points="577.8448724622592,185.17438833940653 577.8448724622592,202.95679333680374" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.3,2.81 9.300062200000001,2.4" data-type="line" data-label="" points="577.8448724622592,234.44039562727744 577.8466856845394,246.39250390421654" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.9,4.1000000000000005 -1.8,4.1000000000000005 -1.8,-1.4 0.3,-1.4" data-type="line" data-label="" points="193.04528891202497,196.83498178032272 254.26340447683495,196.83498178032272 254.26340447683495,357.16814159292034 315.48152004164496,357.16814159292034" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3,3.4000000000000004 3,-0.7749999999999999 0.725,-0.7749999999999999 0.725,-4.95 0.75,-4.95" data-type="line" data-label="" points="394.19052576782923,217.24102030192603 394.19052576782923,338.9484643414888 327.8709005726184,338.9484643414888 327.8709005726184,460.6559083810515 328.59968766267565,460.6559083810515" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.9,5.4775 3.9,5.6775 9.3,5.6775 9.3,5.1" data-type="line" data-label="" points="420.4268610098907,156.6788131181676 420.4268610098907,150.8485163977095 577.8448724622592,150.8485163977095 577.8448724622592,167.68349817803227" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.5,3.2750000000000004 -5.5,2.3625000000000003 -2.1300000000000003,2.3625000000000003 -2.1300000000000003,-1.75 0.2999999999999998,-1.75" data-type="line" data-label="" points="146.40291514836022,220.88495575221236 146.40291514836022,247.4856845393024 244.6434148880791,247.4856845393024 244.6434148880791,367.371160853722 315.48152004164496,367.371160853722" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.35,5.1000000000000005 4.55,5.1000000000000005 4.55,4.550000000000001 3,4.550000000000001 3,4" data-type="line" data-label="" points="433.54502863092137,167.68349817803224 439.37532535137944,167.68349817803224 439.37532535137944,183.716814159292 394.19052576782923,183.716814159292 394.19052576782923,199.7501301405518" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.2,1.45 -5.2,2.1285 -2.7,2.1285 -2.7,1.0500000000000005 -2.9,1.0500000000000005" data-type="line" data-label="" points="155.14836022904734,274.08641332639246 155.14836022904734,254.3071317022384 228.02706923477353,254.3071317022384 228.02706923477353,285.7470067673087 222.19677251431546,285.7470067673087" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.3,-0.7 -0.001,-0.7 -0.001,-0.599" data-type="line" data-label="" points="315.48152004164496,336.762103071317 306.70692347735553,336.762103071317 306.70692347735553,333.8178032274857" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.75,-5.35 0.249,-5.35 0.249,-5.0489999999999995" data-type="line" data-label="" points="328.59968766267565,472.3165018219677 313.99479437792814,472.3165018219677 313.99479437792814,463.54190525767825" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.35,1.4275 -3.35,1.5285 -3.801,1.5285" data-type="line" data-label="" points="209.0786048932847,274.74232170744403 209.0786048932847,271.7980218636127 195.93128578865173,271.7980218636127" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.75,-5.55 0.509,-5.55 0.509,-5.751" data-type="line" data-label="" points="328.59968766267565,478.1467985424258 321.57418011452364,478.1467985424258 321.57418011452364,484.00624674648617" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-6.2749999999999995,-5.75 -6.516,-5.75 -6.516,-5.9510000000000005" data-type="line" data-label="" points="123.81051535658511,483.9770952628839 116.78500780843308,483.9770952628839 116.78500780843308,489.83654346694425" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.8,3.4000000000000004 4.8,3.2990000000000004 4.348999999999999,3.2990000000000004" data-type="line" data-label="" points="446.66319625195206,217.24102030192603 446.66319625195206,220.18532014575737 433.51587714731903,220.18532014575737" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.8,4 4.8,4.151 4.749,4.151" data-type="line" data-label="" points="446.66319625195206,199.7501301405518 446.66319625195206,195.3482561166059 445.17647058823525,195.3482561166059" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-5.5" data-y="4.4" x="99.76054138469547" y="155.29411764705878" width="93.2847475273295" height="65.59083810515358" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-8.567499999999999" data-y="4.2" x="40.000000000000014" y="182.84226965122332" width="33.96147839666841" height="22.155127537740753" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-2.4050000000000002" data-y="5.4" x="220.73919833420092" y="150.19260801665797" width="31.77511712649661" height="17.490890161374267" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-5.105" data-y="1.15" x="142.03019260801665" y="274.08641332639246" width="31.77511712649661" height="17.490890161374296" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-3.35" data-y="1.15" x="195.96043727225398" y="274.74232170744403" width="26.236335242061443" height="16.179073399271203" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="3.8999999999999995" data-y="5.2" x="407.30869338885987" y="156.6788131181676" width="26.236335242061443" height="16.179073399271203" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="3.1550000000000002" data-y="3.7" x="381.0723581467985" y="199.7501301405518" width="35.27329515877153" height="17.49089016137424" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="4.955" data-y="3.7" x="433.54502863092137" y="199.7501301405518" width="35.273295158771475" height="17.49089016137424" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="9.455000000000002" data-y="4.8" x="564.7267048412286" y="167.68349817803227" width="35.273295158771475" height="17.490890161374267" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="9.425" data-y="3.35" x="568.8079125455492" y="202.9567933368037" width="25.36179073399262" height="31.483602290473698" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_10" data-x="9.3" data-y="1.95" x="573.4117116085372" y="246.3925039042165" width="8.866321707444058" height="26.236335242061443" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_11" data-x="0.5" data-y="-0.7" x="315.48152004164496" y="333.84695471108796" width="11.66059344091616" height="5.83029672045808" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_12" data-x="0.5" data-y="-1.05" x="315.48152004164496" y="344.0499739718896" width="11.66059344091616" height="5.830296720458136" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_13" data-x="0.5" data-y="-1.4" x="315.48152004164496" y="354.2529932326913" width="11.66059344091616" height="5.83029672045808" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_14" data-x="0.5" data-y="-1.75" x="315.48152004164496" y="364.45601249349295" width="11.66059344091616" height="5.83029672045808" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_15" data-x="1.5" data-y="-5.25" x="328.5996876626756" y="454.8256116605934" width="43.72722540343574" height="29.15148360229051" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_16" data-x="-5.6" data-y="-5" x="123.81051535658511" y="456.2831858407079" width="39.35450286309214" height="11.660593440916216" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="schematic_component_17" data-x="-5.6" data-y="-5.75" x="123.81051535658511" y="478.1467985424258" width="39.35450286309214" height="11.66059344091616" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="STTS22HTR" data-x="-3.66" data-y="5.475" x="184.2998438313378" y="154.1280583029672" width="31.483602290473726" height="5.247267048412283" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="U2" data-x="-4.08" data-y="5.24" x="182.55075481520043" y="159.95835502342527" width="10.494534096824538" height="7.287870900572614" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="SM04B_SRSS_TB_LF_SN" data-x="2.29" data-y="-5.88" x="340.26028110359186" y="485.14315460697554" width="66.46538261322223" height="5.2472670484122546" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="J1" data-x="1.27" data-y="-4.635" x="338.51119208745445" y="447.8292555960437" width="10.494534096824566" height="7.287870900572557" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="J3" data-x="-5.755" data-y="-4.6850000000000005" x="133.72201978136385" y="449.28682977615824" width="10.494534096824566" height="7.287870900572614" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="J4" data-x="-5.755" data-y="-5.4350000000000005" x="133.72201978136385" y="471.150442477876" width="10.494534096824566" height="7.287870900572614" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: SCL
|
|
2
|
+
globalConnNetId: connectivity_net0" data-x="-1.56" data-y="4.1000000000000005" x="254.26340447683492" y="193.9198334200937" width="13.99271212909943" height="5.830296720458051" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: SCL
|
|
3
|
+
globalConnNetId: connectivity_net0" data-x="2.76" data-y="1.3125000000000002" x="380.19781363872977" y="275.1795939614784" width="13.99271212909946" height="5.83029672045808" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: INT
|
|
4
|
+
globalConnNetId: connectivity_net1" data-x="-2.74" data-y="4.9" x="219.8646538261322" y="170.5986465382613" width="13.99271212909943" height="5.83029672045808" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: INT
|
|
5
|
+
globalConnNetId: connectivity_net1" data-x="-6.516" data-y="-5" x="109.78865174388336" y="459.198334200937" width="13.99271212909943" height="5.83029672045808" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: V3_3
|
|
6
|
+
globalConnNetId: connectivity_net2" data-x="-8.7" data-y="4.989999999999999" x="44.37272254034356" y="164.7683498178032" width="17.490890161374324" height="12.243623112962013" fill="#ef444466" stroke="#ef4444" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: V3_3
|
|
7
|
+
globalConnNetId: connectivity_net2" data-x="-2.5" data-y="5.9110000000000005" x="225.11192087454447" y="137.91983342009368" width="17.490890161374267" height="12.243623112961984" fill="#ef444466" stroke="#ef4444" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: V3_3
|
|
8
|
+
globalConnNetId: connectivity_net2" data-x="-4.99" data-y="1.78925" x="155.14836022904734" y="255.4513274336283" width="12.243623112962013" height="17.490890161374296" fill="#ef444466" stroke="#ef4444" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: V3_3
|
|
9
|
+
globalConnNetId: connectivity_net2" data-x="3.9" data-y="5.8875" x="411.6814159292036" y="138.6048932847475" width="17.49089016137424" height="12.243623112961984" fill="#ef444466" stroke="#ef4444" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: V3_3
|
|
10
|
+
globalConnNetId: connectivity_net2" data-x="-0.001" data-y="-0.389" x="297.9614783966684" y="321.57418011452364" width="17.490890161374296" height="12.243623112962041" fill="#ef444466" stroke="#ef4444" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: V3_3
|
|
11
|
+
globalConnNetId: connectivity_net2" data-x="0.249" data-y="-4.8389999999999995" x="305.249349297241" y="451.29828214471627" width="17.490890161374296" height="12.243623112961984" fill="#ef444466" stroke="#ef4444" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: ADDR
|
|
12
|
+
globalConnNetId: connectivity_net3" data-x="-3.599" data-y="4.5" x="193.07444039562728" y="182.2592399791775" width="17.490890161374267" height="5.83029672045808" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: ADDR
|
|
13
|
+
globalConnNetId: connectivity_net3" data-x="-4.101" data-y="1.5285" x="178.44039562727744" y="268.8828735033836" width="17.490890161374296" height="5.830296720458136" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
14
|
+
globalConnNetId: connectivity_net4" data-x="-8.7" data-y="3.410000000000001" x="46.121811556481006" y="210.82769390942215" width="13.99271212909943" height="12.243623112961984" fill="#00000066" stroke="#000000" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
15
|
+
globalConnNetId: connectivity_net4" data-x="-5.5" data-y="2.1525000000000003" x="139.40655908381052" y="247.48568453930238" width="13.99271212909943" height="12.243623112962013" fill="#00000066" stroke="#000000" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
16
|
+
globalConnNetId: connectivity_net4" data-x="9.2999378" data-y="1.2890000000000001" x="570.8467031754294" y="272.65799062988026" width="13.99271212909946" height="12.243623112961984" fill="#00000066" stroke="#000000" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
17
|
+
globalConnNetId: connectivity_net4" data-x="0.509" data-y="-5.961" x="314.57782404997397" y="484.0062467464862" width="13.992712129099402" height="12.243623112961984" fill="#00000066" stroke="#000000" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
18
|
+
globalConnNetId: connectivity_net4" data-x="-6.516" data-y="-6.1610000000000005" x="109.78865174388336" y="489.83654346694425" width="13.99271212909943" height="12.243623112962041" fill="#00000066" stroke="#000000" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: SDA
|
|
19
|
+
globalConnNetId: connectivity_net5" data-x="-3.6590000000000003" data-y="4.300000000000001" x="193.07444039562722" y="188.08953669963557" width="13.99271212909943" height="5.83029672045808" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: SDA
|
|
20
|
+
globalConnNetId: connectivity_net5" data-x="4.108999999999999" data-y="3.2990000000000004" x="419.52316501821963" y="217.2701717855283" width="13.992712129099402" height="5.830296720458108" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: SDA
|
|
21
|
+
globalConnNetId: connectivity_net5" data-x="0.059" data-y="-1.05" x="301.4596564289432" y="344.0499739718896" width="13.99271212909946" height="5.830296720458136" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: SDA
|
|
22
|
+
globalConnNetId: connectivity_net5" data-x="0.509" data-y="-5.15" x="314.57782404997397" y="463.5710567412806" width="13.992712129099402" height="5.830296720458023" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: ADDR_15K
|
|
23
|
+
globalConnNetId: connectivity_net6" data-x="-5.74" data-y="0.7499999999999998" x="123.66475793857364" y="291.5773034877668" width="31.483602290473698" height="5.83029672045808" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: SCL_PU
|
|
24
|
+
globalConnNetId: connectivity_net7" data-x="4.97" data-y="5.1000000000000005" x="439.3753253513794" y="164.7683498178032" width="24.487246225924025" height="5.83029672045808" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: SDA_PU
|
|
25
|
+
globalConnNetId: connectivity_net8" data-x="3.0289999999999995" data-y="5.1000000000000005" x="382.7922956793336" y="164.7683498178032" width="24.487246225924025" height="5.83029672045808" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: SDA_PU
|
|
26
|
+
globalConnNetId: connectivity_net8" data-x="4.329" data-y="4.151" x="420.6892243623113" y="192.4331077563769" width="24.48724622592397" height="5.830296720458051" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><rect data-type="rect" data-label="netId: LED_A
|
|
27
|
+
globalConnNetId: connectivity_net9" data-x="8.940000000000001" data-y="4.195" x="556.8558042686102" y="191.15044247787608" width="20.989068193649132" height="5.83029672045808" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03430357142857143"/></g><g><circle data-type="point" data-label="schematic_port_0
|
|
28
|
+
x+" data-x="-3.9" data-y="4.1000000000000005" cx="193.04528891202497" cy="196.83498178032272" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_1
|
|
29
|
+
x+" data-x="-3.9" data-y="4.7" cx="193.04528891202497" cy="179.34409161894843" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_2
|
|
30
|
+
x-" data-x="-7.1" data-y="4.5" cx="99.76054138469547" cy="185.17438833940653" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_3
|
|
31
|
+
x+" data-x="-3.9" data-y="4.5" cx="193.04528891202497" cy="185.17438833940653" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_4
|
|
32
|
+
x-" data-x="-7.1" data-y="4.300000000000001" cx="99.76054138469547" cy="191.0046850598646" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_5
|
|
33
|
+
x+" data-x="-3.9" data-y="4.300000000000001" cx="193.04528891202497" cy="191.0046850598646" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_6
|
|
34
|
+
y-" data-x="-5.5" data-y="3.2750000000000004" cx="146.40291514836022" cy="220.88495575221236" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_7
|
|
35
|
+
y+" data-x="-8.7" data-y="4.58" cx="53.11816762103072" cy="182.8422696512233" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_8
|
|
36
|
+
y-" data-x="-8.7" data-y="3.8200000000000003" cx="53.11816762103072" cy="204.99739718896404" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_9
|
|
37
|
+
y-" data-x="-2.5" data-y="5.1000000000000005" cx="233.85736595523161" cy="167.68349817803224" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_10
|
|
38
|
+
y+" data-x="-2.5" data-y="5.7" cx="233.85736595523161" cy="150.19260801665797" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_11
|
|
39
|
+
y-" data-x="-5.2" data-y="0.8499999999999999" cx="155.14836022904734" cy="291.57730348776676" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_12
|
|
40
|
+
y+" data-x="-5.2" data-y="1.45" cx="155.14836022904734" cy="274.08641332639246" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_13
|
|
41
|
+
x+" data-x="-2.9" data-y="1.05" cx="222.19677251431546" cy="285.7470067673087" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_14
|
|
42
|
+
y+" data-x="-3.35" data-y="1.4275" cx="209.0786048932847" cy="274.74232170744403" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_15
|
|
43
|
+
x-" data-x="-3.8000000000000003" data-y="1.0499999999999998" cx="195.960437272254" cy="285.7470067673087" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_16
|
|
44
|
+
x+" data-x="4.35" data-y="5.1000000000000005" cx="433.54502863092137" cy="167.68349817803224" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_17
|
|
45
|
+
y+" data-x="3.9" data-y="5.4775" cx="420.4268610098907" cy="156.6788131181676" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_18
|
|
46
|
+
x-" data-x="3.4499999999999993" data-y="5.1000000000000005" cx="407.3086933888599" cy="167.68349817803224" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_19
|
|
47
|
+
y-" data-x="3" data-y="3.4000000000000004" cx="394.19052576782923" cy="217.24102030192603" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_20
|
|
48
|
+
y+" data-x="3" data-y="4" cx="394.19052576782923" cy="199.7501301405518" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_21
|
|
49
|
+
y-" data-x="4.8" data-y="3.4000000000000004" cx="446.66319625195206" cy="217.24102030192603" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_22
|
|
50
|
+
y+" data-x="4.8" data-y="4" cx="446.66319625195206" cy="199.7501301405518" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_23
|
|
51
|
+
y-" data-x="9.3" data-y="4.5" cx="577.8448724622592" cy="185.17438833940653" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_24
|
|
52
|
+
y+" data-x="9.3" data-y="5.1" cx="577.8448724622592" cy="167.68349817803227" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_25
|
|
53
|
+
y+" data-x="9.3" data-y="3.89" cx="577.8448724622592" cy="202.95679333680374" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_26
|
|
54
|
+
y-" data-x="9.3" data-y="2.81" cx="577.8448724622592" cy="234.44039562727744" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_27
|
|
55
|
+
y-" data-x="9.2999378" data-y="1.5" cx="577.8430592399791" cy="272.628839146278" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_28
|
|
56
|
+
y+" data-x="9.300062200000001" data-y="2.4" cx="577.8466856845394" cy="246.39250390421654" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_29
|
|
57
|
+
x-" data-x="0.3" data-y="-0.7" cx="315.48152004164496" cy="336.762103071317" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_30
|
|
58
|
+
x-" data-x="0.3" data-y="-1.05" cx="315.48152004164496" cy="346.96512233211865" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_31
|
|
59
|
+
x-" data-x="0.3" data-y="-1.4" cx="315.48152004164496" cy="357.16814159292034" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_32
|
|
60
|
+
x-" data-x="0.3" data-y="-1.75" cx="315.48152004164496" cy="367.371160853722" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_33
|
|
61
|
+
x-" data-x="0.75" data-y="-5.55" cx="328.59968766267565" cy="478.1467985424258" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_34
|
|
62
|
+
x-" data-x="0.75" data-y="-5.35" cx="328.59968766267565" cy="472.3165018219677" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_35
|
|
63
|
+
x-" data-x="0.75" data-y="-5.15" cx="328.59968766267565" cy="466.4862051015096" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_36
|
|
64
|
+
x-" data-x="0.75" data-y="-4.95" cx="328.59968766267565" cy="460.6559083810515" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_37
|
|
65
|
+
x-" data-x="-6.2749999999999995" data-y="-5" cx="123.81051535658511" cy="462.11348256116605" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_38
|
|
66
|
+
x-" data-x="-6.2749999999999995" data-y="-5.75" cx="123.81051535658511" cy="483.9770952628839" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
67
|
+
orientation: x+" data-x="-1.8" data-y="4.1000000000000005" cx="254.26340447683495" cy="196.83498178032272" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
68
|
+
orientation: x-" data-x="3" data-y="1.3125000000000002" cx="394.19052576782923" cy="278.09474232170743" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
69
|
+
orientation: x-" data-x="-2.5" data-y="4.9" cx="233.85736595523161" cy="173.51379489849035" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
70
|
+
orientation: x-" data-x="-6.2749999999999995" data-y="-5" cx="123.81051535658511" cy="462.11348256116605" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
71
|
+
orientation: y+" data-x="-8.7" data-y="4.779999999999999" cx="53.11816762103072" cy="177.01197293076524" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
72
|
+
orientation: y+" data-x="-2.5" data-y="5.7" cx="233.85736595523161" cy="150.19260801665797" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
73
|
+
orientation: x+" data-x="-5.2" data-y="1.78925" cx="155.14836022904734" cy="264.19677251431546" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
74
|
+
orientation: y+" data-x="3.9" data-y="5.6775" cx="420.4268610098907" cy="150.8485163977095" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
75
|
+
orientation: y+" data-x="-0.001" data-y="-0.599" cx="306.70692347735553" cy="333.8178032274857" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
76
|
+
orientation: y+" data-x="0.249" data-y="-5.0489999999999995" cx="313.99479437792814" cy="463.54190525767825" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
77
|
+
orientation: x+" data-x="-3.9" data-y="4.5" cx="193.04528891202497" cy="185.17438833940653" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
78
|
+
orientation: x-" data-x="-3.801" data-y="1.5285" cx="195.93128578865173" cy="271.7980218636127" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
79
|
+
orientation: y-" data-x="-8.7" data-y="3.620000000000001" cx="53.11816762103072" cy="210.82769390942212" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
80
|
+
orientation: y-" data-x="-5.5" data-y="2.3625000000000003" cx="146.40291514836022" cy="247.4856845393024" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
81
|
+
orientation: y-" data-x="9.2999378" data-y="1.5" cx="577.8430592399791" cy="272.628839146278" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
82
|
+
orientation: y-" data-x="0.509" data-y="-5.751" cx="321.57418011452364" cy="484.00624674648617" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
83
|
+
orientation: y-" data-x="-6.516" data-y="-5.9510000000000005" cx="116.78500780843308" cy="489.83654346694425" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
84
|
+
orientation: x+" data-x="-3.9" data-y="4.300000000000001" cx="193.04528891202497" cy="191.0046850598646" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
85
|
+
orientation: x-" data-x="4.348999999999999" data-y="3.2990000000000004" cx="433.51587714731903" cy="220.18532014575737" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
86
|
+
orientation: x-" data-x="0.3" data-y="-1.05" cx="315.48152004164496" cy="346.96512233211865" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
87
|
+
orientation: x-" data-x="0.75" data-y="-5.15" cx="328.59968766267565" cy="466.4862051015096" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
88
|
+
orientation: x-" data-x="-5.2" data-y="0.7499999999999998" cx="155.14836022904734" cy="294.4924518479958" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
89
|
+
orientation: x+" data-x="4.55" data-y="5.1000000000000005" cx="439.37532535137944" cy="167.68349817803224" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
90
|
+
orientation: x-" data-x="3.4499999999999993" data-y="5.1000000000000005" cx="407.3086933888599" cy="167.68349817803224" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
91
|
+
orientation: x-" data-x="4.749" data-y="4.151" cx="445.17647058823525" cy="195.3482561166059" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
92
|
+
orientation: x-" data-x="9.3" data-y="4.195" cx="577.8448724622592" cy="194.06559083810512" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
|
|
93
|
+
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
94
|
+
const svg = e.currentTarget;
|
|
95
|
+
const rect = svg.getBoundingClientRect();
|
|
96
|
+
const x = e.clientX - rect.left;
|
|
97
|
+
const y = e.clientY - rect.top;
|
|
98
|
+
const crosshair = svg.getElementById('crosshair');
|
|
99
|
+
const h = svg.getElementById('crosshair-h');
|
|
100
|
+
const v = svg.getElementById('crosshair-v');
|
|
101
|
+
const coords = svg.getElementById('coordinates');
|
|
102
|
+
|
|
103
|
+
crosshair.style.display = 'block';
|
|
104
|
+
h.setAttribute('x1', '0');
|
|
105
|
+
h.setAttribute('x2', '640');
|
|
106
|
+
h.setAttribute('y1', y);
|
|
107
|
+
h.setAttribute('y2', y);
|
|
108
|
+
v.setAttribute('x1', x);
|
|
109
|
+
v.setAttribute('x2', x);
|
|
110
|
+
v.setAttribute('y1', '0');
|
|
111
|
+
v.setAttribute('y2', '640');
|
|
112
|
+
|
|
113
|
+
// Calculate real coordinates using inverse transformation
|
|
114
|
+
const matrix = {"a":29.151483602290472,"c":0,"e":306.7360749609578,"b":0,"d":-29.151483602290472,"f":316.35606454971366};
|
|
115
|
+
// Manually invert and apply the affine transform
|
|
116
|
+
// Since we only use translate and scale, we can directly compute:
|
|
117
|
+
// x' = (x - tx) / sx
|
|
118
|
+
// y' = (y - ty) / sy
|
|
119
|
+
const sx = matrix.a;
|
|
120
|
+
const sy = matrix.d;
|
|
121
|
+
const tx = matrix.e;
|
|
122
|
+
const ty = matrix.f;
|
|
123
|
+
const realPoint = {
|
|
124
|
+
x: (x - tx) / sx,
|
|
125
|
+
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
129
|
+
coords.setAttribute('x', (x + 5).toString());
|
|
130
|
+
coords.setAttribute('y', (y - 5).toString());
|
|
131
|
+
});
|
|
132
|
+
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
133
|
+
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
134
|
+
});
|
|
135
|
+
]]></script></svg>
|