feat(SAC_LSTM_Bot): embedded plain-English reading guides in graphs

This commit is contained in:
2026-08-23 10:11:44 +02:00
parent 002a568c7e
commit 03a1853e57
3 changed files with 334 additions and 275 deletions
+270 -252
View File
@@ -1,5 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="838" viewBox="0 0 1200 838" font-family="sans-serif">
<rect width="1200" height="838" fill="white"/>
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="962" viewBox="0 0 1200 962" font-family="sans-serif">
<rect width="1200" height="962" fill="white"/>
<text x="600" y="22" text-anchor="middle" font-size="17" font-weight="bold">SAC-LSTM campaign: eval win rate vs opponents (Run 3 live, Run 1 archived)</text>
<line x1="64" y1="78.0" x2="1176" y2="78.0" stroke="#dddddd"/>
<line x1="64" y1="140.0" x2="1176" y2="140.0" stroke="#dddddd"/>
@@ -11,20 +11,22 @@
<text x="70" y="62" font-size="11" fill="#555">win % per test match — thick line = trend</text>
<line x1="64" y1="388" x2="1176" y2="388" stroke="black"/>
<line x1="64" y1="388" x2="64" y2="78" stroke="black"/>
<line x1="1047.7" y1="388" x2="1047.7" y2="392" stroke="black"/>
<text x="1047.7" y="405" text-anchor="middle" font-size="11">10</text>
<line x1="905.1" y1="388" x2="905.1" y2="392" stroke="black"/>
<text x="905.1" y="405" text-anchor="middle" font-size="11">20</text>
<line x1="762.6" y1="388" x2="762.6" y2="392" stroke="black"/>
<text x="762.6" y="405" text-anchor="middle" font-size="11">30</text>
<line x1="620.0" y1="388" x2="620.0" y2="392" stroke="black"/>
<text x="620.0" y="405" text-anchor="middle" font-size="11">40</text>
<line x1="477.4" y1="388" x2="477.4" y2="392" stroke="black"/>
<text x="477.4" y="405" text-anchor="middle" font-size="11">50</text>
<line x1="334.9" y1="388" x2="334.9" y2="392" stroke="black"/>
<text x="334.9" y="405" text-anchor="middle" font-size="11">60</text>
<line x1="192.3" y1="388" x2="192.3" y2="392" stroke="black"/>
<text x="192.3" y="405" text-anchor="middle" font-size="11">70</text>
<line x1="1052.4" y1="388" x2="1052.4" y2="392" stroke="black"/>
<text x="1052.4" y="405" text-anchor="middle" font-size="11">10</text>
<line x1="915.2" y1="388" x2="915.2" y2="392" stroke="black"/>
<text x="915.2" y="405" text-anchor="middle" font-size="11">20</text>
<line x1="777.9" y1="388" x2="777.9" y2="392" stroke="black"/>
<text x="777.9" y="405" text-anchor="middle" font-size="11">30</text>
<line x1="640.6" y1="388" x2="640.6" y2="392" stroke="black"/>
<text x="640.6" y="405" text-anchor="middle" font-size="11">40</text>
<line x1="503.3" y1="388" x2="503.3" y2="392" stroke="black"/>
<text x="503.3" y="405" text-anchor="middle" font-size="11">50</text>
<line x1="366.0" y1="388" x2="366.0" y2="392" stroke="black"/>
<text x="366.0" y="405" text-anchor="middle" font-size="11">60</text>
<line x1="228.7" y1="388" x2="228.7" y2="392" stroke="black"/>
<text x="228.7" y="405" text-anchor="middle" font-size="11">70</text>
<line x1="91.5" y1="388" x2="91.5" y2="392" stroke="black"/>
<text x="91.5" y="405" text-anchor="middle" font-size="11">80</text>
<line x1="60" y1="388.0" x2="64" y2="388.0" stroke="black"/>
<text x="57" y="392.0" text-anchor="end" font-size="11">0</text>
<line x1="60" y1="326.0" x2="64" y2="326.0" stroke="black"/>
@@ -40,250 +42,258 @@
<text x="620" y="421" text-anchor="middle" font-size="12">eval number</text>
<text x="16" y="233" text-anchor="middle" font-size="12" transform="rotate(-90 16 233)">win rate (%)</text>
<circle cx="1176.0" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1161.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1147.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1133.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1119.0" cy="171.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1104.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1090.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1076.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1061.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1047.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1033.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1019.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1004.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="990.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="976.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="962.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="947.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="933.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="919.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="905.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="890.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="876.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="862.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="848.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="833.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="819.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="805.3" cy="109.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="791.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="776.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="762.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="748.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="734.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="719.8" cy="109.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="705.5" cy="109.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="691.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="677.0" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="662.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="648.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="634.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="620.0" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="605.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="591.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="577.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="563.0" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="548.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="534.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="520.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="505.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="491.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="477.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="463.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="448.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1162.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1148.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1134.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1121.1" cy="171.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1107.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1093.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1079.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1066.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1052.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1038.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1025.0" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="1011.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="997.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="983.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="970.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="956.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="942.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="928.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="915.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="901.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="887.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="874.0" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="860.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="846.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="832.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="819.1" cy="109.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="805.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="791.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="777.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="764.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="750.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="736.7" cy="109.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="723.0" cy="109.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="709.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="695.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="681.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="668.0" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="654.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="640.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="626.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="613.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="599.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="585.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="572.0" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="558.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="544.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="530.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="517.0" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="503.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="489.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="475.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="462.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="448.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="434.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="420.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="406.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="391.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="377.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="363.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="349.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="334.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="320.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="306.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="292.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="277.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="263.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="249.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="235.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="220.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="206.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="192.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="178.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="163.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="149.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="135.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="121.0" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="106.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="92.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="78.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="420.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="407.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="393.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="379.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="366.0" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="352.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="338.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="324.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="311.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="297.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="283.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="269.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="256.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="242.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="228.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="215.0" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="201.3" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="187.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="173.8" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="160.1" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="146.4" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="132.6" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="118.9" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="105.2" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="91.5" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="77.7" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<circle cx="64.0" cy="78.0" r="2" fill="#d62728" opacity="0.25"/>
<polyline points="1176.0,78.0 1161.7,78.0 1147.5,78.0 1133.2,78.0 1119.0,96.6 1104.7,93.5 1090.5,91.3 1076.2,89.6 1061.9,88.3 1047.7,87.3 1033.4,87.3 1019.2,87.3 1004.9,87.3 990.7,87.3 976.4,78.0 962.2,78.0 947.9,78.0 933.6,78.0 919.4,78.0 905.1,78.0 890.9,78.0 876.6,78.0 862.4,78.0 848.1,78.0 833.8,78.0 819.6,78.0 805.3,81.1 791.1,81.1 776.8,81.1 762.6,81.1 748.3,81.1 734.1,81.1 719.8,84.2 705.5,87.3 691.3,87.3 677.0,87.3 662.8,84.2 648.5,84.2 634.3,84.2 620.0,84.2 605.7,84.2 591.5,84.2 577.2,81.1 563.0,78.0 548.7,78.0 534.5,78.0 520.2,78.0 505.9,78.0 491.7,78.0 477.4,78.0 463.2,78.0 448.9,78.0 434.7,78.0 420.4,78.0 406.2,78.0 391.9,78.0 377.6,78.0 363.4,78.0 349.1,78.0 334.9,78.0 320.6,78.0 306.4,78.0 292.1,78.0 277.8,78.0 263.6,78.0 249.3,78.0 235.1,78.0 220.8,78.0 206.6,78.0 192.3,78.0 178.1,78.0 163.8,78.0 149.5,78.0 135.3,78.0 121.0,78.0 106.8,78.0 92.5,78.0 78.3,78.0 64.0,78.0" fill="none" stroke="#d62728" stroke-width="3.5" opacity="1.0"/>
<polyline points="1176.0,78.0 1162.3,78.0 1148.5,78.0 1134.8,78.0 1121.1,96.6 1107.4,93.5 1093.6,91.3 1079.9,89.6 1066.2,88.3 1052.4,87.3 1038.7,87.3 1025.0,87.3 1011.3,87.3 997.5,87.3 983.8,78.0 970.1,78.0 956.3,78.0 942.6,78.0 928.9,78.0 915.2,78.0 901.4,78.0 887.7,78.0 874.0,78.0 860.2,78.0 846.5,78.0 832.8,78.0 819.1,81.1 805.3,81.1 791.6,81.1 777.9,81.1 764.1,81.1 750.4,81.1 736.7,84.2 723.0,87.3 709.2,87.3 695.5,87.3 681.8,84.2 668.0,84.2 654.3,84.2 640.6,84.2 626.9,84.2 613.1,84.2 599.4,81.1 585.7,78.0 572.0,78.0 558.2,78.0 544.5,78.0 530.8,78.0 517.0,78.0 503.3,78.0 489.6,78.0 475.9,78.0 462.1,78.0 448.4,78.0 434.7,78.0 420.9,78.0 407.2,78.0 393.5,78.0 379.8,78.0 366.0,78.0 352.3,78.0 338.6,78.0 324.8,78.0 311.1,78.0 297.4,78.0 283.7,78.0 269.9,78.0 256.2,78.0 242.5,78.0 228.7,78.0 215.0,78.0 201.3,78.0 187.6,78.0 173.8,78.0 160.1,78.0 146.4,78.0 132.6,78.0 118.9,78.0 105.2,78.0 91.5,78.0 77.7,78.0 64.0,78.0" fill="none" stroke="#d62728" stroke-width="3.5" opacity="1.0"/>
<circle cx="1176.0" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1161.7" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1147.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1133.2" cy="357.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1119.0" cy="202.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1104.7" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1090.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1076.2" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1061.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1047.7" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1033.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1019.2" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1004.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="990.7" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="976.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="962.2" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="947.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="933.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="919.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="905.1" cy="264.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="890.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="876.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="862.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="848.1" cy="388.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="833.8" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="819.6" cy="140.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="805.3" cy="140.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="791.1" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="776.8" cy="388.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="762.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="748.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="734.1" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="719.8" cy="171.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="705.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="691.3" cy="140.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="677.0" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="662.8" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="648.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="634.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="620.0" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="605.7" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="591.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="577.2" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="563.0" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="548.7" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="534.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="520.2" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="505.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="491.7" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="477.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="463.2" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="448.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1162.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1148.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1134.8" cy="357.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1121.1" cy="202.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1107.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1093.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1079.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1066.2" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1052.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1038.7" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1025.0" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="1011.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="997.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="983.8" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="970.1" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="956.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="942.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="928.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="915.2" cy="264.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="901.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="887.7" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="874.0" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="860.2" cy="388.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="846.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="832.8" cy="140.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="819.1" cy="140.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="805.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="791.6" cy="388.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="777.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="764.1" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="750.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="736.7" cy="171.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="723.0" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="709.2" cy="140.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="695.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="681.8" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="668.0" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="654.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="640.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="626.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="613.1" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="599.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="585.7" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="572.0" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="558.2" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="544.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="530.8" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="517.0" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="503.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="489.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="475.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="462.1" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="448.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="434.7" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="420.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="406.2" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="391.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="377.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="363.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="349.1" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="334.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="320.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="306.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="292.1" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="277.8" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="263.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="249.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="235.1" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="220.8" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="206.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="192.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="178.1" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="163.8" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="149.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="135.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="121.0" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="106.8" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="92.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="78.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="64.0" cy="171.0" r="2" fill="#1f77b4" opacity="0.25"/>
<polyline points="1176.0,78.0 1161.7,78.0 1147.5,78.0 1133.2,147.8 1119.0,158.6 1104.7,145.2 1090.5,135.6 1076.2,128.4 1061.9,122.8 1047.7,118.3 1033.4,118.3 1019.2,118.3 1004.9,118.3 990.7,90.4 976.4,78.0 962.2,78.0 947.9,78.0 933.6,78.0 919.4,78.0 905.1,96.6 890.9,96.6 876.6,96.6 862.4,96.6 848.1,127.6 833.8,127.6 819.6,133.8 805.3,140.0 791.1,140.0 776.8,171.0 762.6,152.4 748.3,152.4 734.1,152.4 719.8,161.7 705.5,130.7 691.3,136.9 677.0,130.7 662.8,124.5 648.5,124.5 634.3,93.5 620.0,93.5 605.7,93.5 591.5,93.5 577.2,84.2 563.0,84.2 548.7,78.0 534.5,78.0 520.2,78.0 505.9,78.0 491.7,78.0 477.4,78.0 463.2,78.0 448.9,78.0 434.7,78.0 420.4,78.0 406.2,78.0 391.9,78.0 377.6,78.0 363.4,78.0 349.1,78.0 334.9,78.0 320.6,78.0 306.4,78.0 292.1,78.0 277.8,78.0 263.6,78.0 249.3,78.0 235.1,78.0 220.8,78.0 206.6,78.0 192.3,78.0 178.1,78.0 163.8,78.0 149.5,78.0 135.3,78.0 121.0,78.0 106.8,78.0 92.5,78.0 78.3,78.0 64.0,87.3" fill="none" stroke="#1f77b4" stroke-width="3.5" opacity="1.0"/>
<circle cx="420.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="407.2" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="393.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="379.8" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="366.0" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="352.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="338.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="324.8" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="311.1" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="297.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="283.7" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="269.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="256.2" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="242.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="228.7" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="215.0" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="201.3" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="187.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="173.8" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="160.1" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="146.4" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="132.6" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="118.9" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="105.2" cy="171.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="91.5" cy="78.0" r="2" fill="#1f77b4" opacity="0.25"/>
<circle cx="77.7" cy="140.0" r="2" fill="#1f77b4" opacity="0.25"/>
<polyline points="1176.0,78.0 1162.3,78.0 1148.5,78.0 1134.8,147.8 1121.1,158.6 1107.4,145.2 1093.6,135.6 1079.9,128.4 1066.2,122.8 1052.4,118.3 1038.7,118.3 1025.0,118.3 1011.3,118.3 997.5,90.4 983.8,78.0 970.1,78.0 956.3,78.0 942.6,78.0 928.9,78.0 915.2,96.6 901.4,96.6 887.7,96.6 874.0,96.6 860.2,127.6 846.5,127.6 832.8,133.8 819.1,140.0 805.3,140.0 791.6,171.0 777.9,152.4 764.1,152.4 750.4,152.4 736.7,161.7 723.0,130.7 709.2,136.9 695.5,130.7 681.8,124.5 668.0,124.5 654.3,93.5 640.6,93.5 626.9,93.5 613.1,93.5 599.4,84.2 585.7,84.2 572.0,78.0 558.2,78.0 544.5,78.0 530.8,78.0 517.0,78.0 503.3,78.0 489.6,78.0 475.9,78.0 462.1,78.0 448.4,78.0 434.7,78.0 420.9,78.0 407.2,78.0 393.5,78.0 379.8,78.0 366.0,78.0 352.3,78.0 338.6,78.0 324.8,78.0 311.1,78.0 297.4,78.0 283.7,78.0 269.9,78.0 256.2,78.0 242.5,78.0 228.7,78.0 215.0,78.0 201.3,78.0 187.6,78.0 173.8,78.0 160.1,78.0 146.4,78.0 132.6,78.0 118.9,78.0 105.2,87.3 91.5,87.3 77.7,93.5" fill="none" stroke="#1f77b4" stroke-width="3.5" opacity="1.0"/>
<circle cx="1176.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1161.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1147.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1133.2" cy="140.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1119.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1104.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1090.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1076.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1061.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1047.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1033.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1019.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1004.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="990.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="976.4" cy="109.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="962.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="947.9" cy="326.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="933.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="919.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="905.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="890.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="876.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="862.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="848.1" cy="109.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="833.8" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="819.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="805.3" cy="264.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="791.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="776.8" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="762.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="748.3" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="734.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="719.8" cy="109.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="705.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="691.3" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="677.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="662.8" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="648.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="634.3" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="620.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="605.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="591.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="577.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="563.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="548.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="534.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="520.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="505.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="491.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="477.4" cy="109.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="463.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="448.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1162.3" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1148.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1134.8" cy="140.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1121.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1107.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1093.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1079.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1066.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1052.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1038.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1025.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="1011.3" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="997.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="983.8" cy="109.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="970.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="956.3" cy="326.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="942.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="928.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="915.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="901.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="887.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="874.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="860.2" cy="109.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="846.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="832.8" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="819.1" cy="264.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="805.3" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="791.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="777.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="764.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="750.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="736.7" cy="109.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="723.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="709.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="695.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="681.8" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="668.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="654.3" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="640.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="626.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="613.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="599.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="585.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="572.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="558.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="544.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="530.8" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="517.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="503.3" cy="109.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="489.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="475.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="462.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="448.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="434.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="420.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="406.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="391.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="377.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="363.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="349.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="334.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="320.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="306.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="292.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="277.8" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="263.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="249.3" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="235.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="220.8" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="206.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="192.3" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="178.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="163.8" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="149.5" cy="109.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="135.3" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="121.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="106.8" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="92.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="78.3" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<polyline points="1176.0,78.0 1161.7,78.0 1147.5,78.0 1133.2,93.5 1119.0,90.4 1104.7,88.3 1090.5,86.9 1076.2,85.8 1061.9,84.9 1047.7,84.2 1033.4,84.2 1019.2,84.2 1004.9,84.2 990.7,78.0 976.4,81.1 962.2,81.1 947.9,105.9 933.6,105.9 919.4,105.9 905.1,105.9 890.9,105.9 876.6,105.9 862.4,105.9 848.1,109.0 833.8,105.9 819.6,105.9 805.3,99.7 791.1,99.7 776.8,99.7 762.6,99.7 748.3,99.7 734.1,99.7 719.8,102.8 705.5,99.7 691.3,99.7 677.0,99.7 662.8,81.1 648.5,81.1 634.3,81.1 620.0,81.1 605.7,81.1 591.5,81.1 577.2,78.0 563.0,78.0 548.7,78.0 534.5,78.0 520.2,78.0 505.9,78.0 491.7,78.0 477.4,81.1 463.2,81.1 448.9,81.1 434.7,81.1 420.4,81.1 406.2,81.1 391.9,81.1 377.6,81.1 363.4,81.1 349.1,81.1 334.9,78.0 320.6,78.0 306.4,78.0 292.1,78.0 277.8,78.0 263.6,78.0 249.3,78.0 235.1,78.0 220.8,78.0 206.6,78.0 192.3,78.0 178.1,78.0 163.8,78.0 149.5,81.1 135.3,81.1 121.0,81.1 106.8,81.1 92.5,81.1 78.3,81.1" fill="none" stroke="#2ca02c" stroke-width="3.5" opacity="1.0"/>
<circle cx="420.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="407.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="393.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="379.8" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="366.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="352.3" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="338.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="324.8" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="311.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="297.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="283.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="269.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="256.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="242.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="228.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="215.0" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="201.3" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="187.6" cy="109.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="173.8" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="160.1" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="146.4" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="132.6" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="118.9" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="105.2" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="91.5" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<circle cx="77.7" cy="78.0" r="2" fill="#2ca02c" opacity="0.25"/>
<polyline points="1176.0,78.0 1162.3,78.0 1148.5,78.0 1134.8,93.5 1121.1,90.4 1107.4,88.3 1093.6,86.9 1079.9,85.8 1066.2,84.9 1052.4,84.2 1038.7,84.2 1025.0,84.2 1011.3,84.2 997.5,78.0 983.8,81.1 970.1,81.1 956.3,105.9 942.6,105.9 928.9,105.9 915.2,105.9 901.4,105.9 887.7,105.9 874.0,105.9 860.2,109.0 846.5,105.9 832.8,105.9 819.1,99.7 805.3,99.7 791.6,99.7 777.9,99.7 764.1,99.7 750.4,99.7 736.7,102.8 723.0,99.7 709.2,99.7 695.5,99.7 681.8,81.1 668.0,81.1 654.3,81.1 640.6,81.1 626.9,81.1 613.1,81.1 599.4,78.0 585.7,78.0 572.0,78.0 558.2,78.0 544.5,78.0 530.8,78.0 517.0,78.0 503.3,81.1 489.6,81.1 475.9,81.1 462.1,81.1 448.4,81.1 434.7,81.1 420.9,81.1 407.2,81.1 393.5,81.1 379.8,81.1 366.0,78.0 352.3,78.0 338.6,78.0 324.8,78.0 311.1,78.0 297.4,78.0 283.7,78.0 269.9,78.0 256.2,78.0 242.5,78.0 228.7,78.0 215.0,78.0 201.3,78.0 187.6,81.1 173.8,81.1 160.1,81.1 146.4,81.1 132.6,81.1 118.9,81.1 105.2,81.1 91.5,81.1 77.7,81.1" fill="none" stroke="#2ca02c" stroke-width="3.5" opacity="1.0"/>
<line x1="76" y1="92" x2="104" y2="92" stroke="#d62728" stroke-width="3"/>
<text x="110" y="96" font-size="12">Corners — 79 evals</text>
<text x="110" y="96" font-size="12">Corners — 82 evals</text>
<line x1="76" y1="110" x2="104" y2="110" stroke="#1f77b4" stroke-width="3"/>
<text x="110" y="114" font-size="12">Crazy — 79 evals</text>
<text x="110" y="114" font-size="12">Crazy — 81 evals</text>
<line x1="76" y1="128" x2="104" y2="128" stroke="#2ca02c" stroke-width="3"/>
<text x="110" y="132" font-size="12">Target — 78 evals</text>
<text x="110" y="132" font-size="12">Target — 81 evals</text>
<line x1="64" y1="472.0" x2="1176" y2="472.0" stroke="#dddddd"/>
<line x1="64" y1="534.0" x2="1176" y2="534.0" stroke="#dddddd"/>
<line x1="64" y1="596.0" x2="1176" y2="596.0" stroke="#dddddd"/>
@@ -320,9 +330,17 @@
<text x="620" y="815" text-anchor="middle" font-size="12">fraction of run (start → end)</text>
<text x="16" y="627" text-anchor="middle" font-size="12" transform="rotate(-90 16 627)">win rate (%)</text>
<polyline points="77.9,473.9 105.7,476.7 133.5,484.2 161.3,508.6 189.1,499.2 216.9,494.5 244.7,495.5 272.5,492.3 300.3,505.9 328.1,489.4 355.9,491.4 383.7,514.6 411.5,495.2 439.3,492.3 467.1,503.0 494.9,491.4 522.7,497.2 550.5,502.0 578.3,504.0 606.1,495.2 633.9,507.8 661.7,510.8 689.5,494.3 717.3,481.7 745.1,511.7 772.9,501.1 800.7,502.0 828.5,492.3 856.3,489.4 884.1,500.1 911.9,477.8 939.7,492.3 967.5,491.4 995.3,519.5 1023.1,502.0 1050.9,490.4 1078.7,487.5 1106.5,490.4 1134.3,490.4 1162.1,496.2" fill="none" stroke="#999999" stroke-width="1.5" opacity="1.0"/>
<polyline points="78.1,472.0 92.2,472.0 106.2,472.0 120.3,472.0 134.4,490.6 148.5,487.5 162.5,485.3 176.6,483.6 190.7,482.3 204.8,481.3 218.8,481.3 232.9,481.3 247.0,481.3 261.1,481.3 275.1,472.0 289.2,472.0 303.3,472.0 317.4,472.0 331.4,472.0 345.5,472.0 359.6,472.0 373.7,472.0 387.7,472.0 401.8,472.0 415.9,472.0 430.0,472.0 444.1,475.1 458.1,475.1 472.2,475.1 486.3,475.1 500.4,475.1 514.4,475.1 528.5,478.2 542.6,481.3 556.7,481.3 570.7,481.3 584.8,478.2 598.9,478.2 613.0,478.2 627.0,478.2 641.1,478.2 655.2,478.2 669.3,475.1 683.3,472.0 697.4,472.0 711.5,472.0 725.6,472.0 739.6,472.0 753.7,472.0 767.8,472.0 781.9,472.0 795.9,472.0 810.0,472.0 824.1,472.0 838.2,472.0 852.3,472.0 866.3,472.0 880.4,472.0 894.5,472.0 908.6,472.0 922.6,472.0 936.7,472.0 950.8,472.0 964.9,472.0 978.9,472.0 993.0,472.0 1007.1,472.0 1021.2,472.0 1035.2,472.0 1049.3,472.0 1063.4,472.0 1077.5,472.0 1091.5,472.0 1105.6,472.0 1119.7,472.0 1133.8,472.0 1147.8,472.0 1161.9,472.0 1176.0,472.0" fill="none" stroke="#d62728" stroke-width="3.5" opacity="1.0"/>
<polyline points="77.6,472.0 91.1,472.0 104.7,472.0 118.2,472.0 131.8,490.6 145.4,487.5 158.9,485.3 172.5,483.6 186.0,482.3 199.6,481.3 213.2,481.3 226.7,481.3 240.3,481.3 253.9,481.3 267.4,472.0 281.0,472.0 294.5,472.0 308.1,472.0 321.7,472.0 335.2,472.0 348.8,472.0 362.3,472.0 375.9,472.0 389.5,472.0 403.0,472.0 416.6,472.0 430.1,475.1 443.7,475.1 457.3,475.1 470.8,475.1 484.4,475.1 498.0,475.1 511.5,478.2 525.1,481.3 538.6,481.3 552.2,481.3 565.8,478.2 579.3,478.2 592.9,478.2 606.4,478.2 620.0,478.2 633.6,478.2 647.1,475.1 660.7,472.0 674.2,472.0 687.8,472.0 701.4,472.0 714.9,472.0 728.5,472.0 742.0,472.0 755.6,472.0 769.2,472.0 782.7,472.0 796.3,472.0 809.9,472.0 823.4,472.0 837.0,472.0 850.5,472.0 864.1,472.0 877.7,472.0 891.2,472.0 904.8,472.0 918.3,472.0 931.9,472.0 945.5,472.0 959.0,472.0 972.6,472.0 986.1,472.0 999.7,472.0 1013.3,472.0 1026.8,472.0 1040.4,472.0 1054.0,472.0 1067.5,472.0 1081.1,472.0 1094.6,472.0 1108.2,472.0 1121.8,472.0 1135.3,472.0 1148.9,472.0 1162.4,472.0 1176.0,472.0" fill="none" stroke="#d62728" stroke-width="3.5" opacity="1.0"/>
<line x1="76" y1="486" x2="104" y2="486" stroke="#999999" stroke-width="3"/>
<text x="110" y="490" font-size="12">Run 1 (old) — 1287 evals in 40 buckets</text>
<line x1="76" y1="504" x2="104" y2="504" stroke="#d62728" stroke-width="3"/>
<text x="110" y="508" font-size="12">Run 3 trend (rolling-10)</text>
<rect x="0" y="838" width="1200" height="124" fill="#f2f2f2"/>
<text x="16" y="859" font-size="15" font-weight="bold">How to read</text>
<text x="1184" y="858" text-anchor="end" font-size="11" fill="#666">Regenerate anytime: python3 tools/plot_progress.py</text>
<text x="16" y="879" font-size="13">One small dot = one test match. 0 means lost all ten fights.</text>
<text x="16" y="896" font-size="13">A thick line shows the recent trend. Up = learning.</text>
<text x="16" y="913" font-size="13">Watch the three colors. Red = Corners. Blue = Crazy. Green = Target.</text>
<text x="16" y="930" font-size="13">Gray line = old run. Red line = new run. Same enemy.</text>
<text x="16" y="947" font-size="13">If red ends higher than gray, the new training worked.</text>
</svg>

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 27 KiB