diff options
author | Tor Andersson <tor@ccxvii.net> | 2024-05-21 01:26:37 +0200 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2024-08-21 00:28:20 +0200 |
commit | 447f30551abb5b21740d22d453bc20837c5f7983 (patch) | |
tree | d6c62917508e5a68f83d05968697e857d174b8fc /tools | |
parent | 6595a0e76d5ee24f352c529cd82ceb794fa37697 (diff) | |
download | washingtons-war-447f30551abb5b21740d22d453bc20837c5f7983.tar.gz |
layout processor
Diffstat (limited to 'tools')
-rw-r--r-- | tools/layout.svg | 2906 | ||||
-rw-r--r-- | tools/parse-layout.js | 466 |
2 files changed, 3372 insertions, 0 deletions
diff --git a/tools/layout.svg b/tools/layout.svg new file mode 100644 index 0000000..fd2a090 --- /dev/null +++ b/tools/layout.svg @@ -0,0 +1,2906 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="1650" + height="2550" + version="1.1" + id="svg6" + sodipodi:docname="layout.svg" + inkscape:version="1.0.2 (e86c870879, 2021-01-15)"> + <metadata + id="metadata12"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs10" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview8" + showgrid="false" + inkscape:zoom="0.80430074" + inkscape:cx="1622.7634" + inkscape:cy="601.9656" + inkscape:current-layer="g2530" + inkscape:snap-center="false" + inkscape:snap-others="true" + inkscape:snap-object-midpoints="true" + inkscape:document-rotation="0"> + <inkscape:grid + type="xygrid" + id="grid14" /> + </sodipodi:namedview> + <image + sodipodi:absref="/home/tor/src/rally/public/washingtons-war/tools/mapmask.png" + xlink:href="mapmask.png" + style="display:inline" + id="image2" + sodipodi:insensitive="true" + image-rendering="pixelated" + height="2550" + width="1650" + y="0" + x="0" /> + <image + sodipodi:absref="/home/tor/src/rally/public/washingtons-war/tools/map75.png" + xlink:href="map75.png" + sodipodi:insensitive="true" + inkscape:label="texture" + style="display:inline" + id="image4" + opacity="0.535871" + image-rendering="pixelated" + height="2550" + width="1650" + y="0" + x="0" /> + <g + id="g2693" + inkscape:label="fortress" + style="display:inline"> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect887" + width="68" + height="68" + x="450" + y="2052" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect889" + width="68" + height="67" + x="852" + y="964" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect891" + width="68" + height="68" + x="1006" + y="161" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect893" + width="67" + height="67" + x="1129" + y="60" /> + </g> + <g + id="g2712" + inkscape:label="winter_quarters" + style="display:inline"> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect845" + width="79" + height="79" + x="995" + y="353" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect855" + width="79" + height="79" + x="1126" + y="339" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect857" + width="79" + height="79" + x="878" + y="481" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect859" + width="79" + height="79" + x="967" + y="624" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect861" + width="79" + height="78" + x="1097" + y="622" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect863" + width="79" + height="78" + x="1328" + y="590" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect865" + width="78" + height="79" + x="1291" + y="733" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect867" + width="78" + height="78" + x="1185" + y="747" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect869" + width="79" + height="79" + x="1025" + y="835" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect871" + width="78" + height="78" + x="687" + y="745" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect873" + width="78" + height="79" + x="441" + y="955" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect875" + width="78" + height="79" + x="887" + y="1077" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect877" + width="79" + height="79" + x="771" + y="1103" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect879" + width="79" + height="78" + x="654" + y="1215" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect881" + width="78" + height="78" + x="610" + y="1321" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect883" + width="78" + height="79" + x="436" + y="1254" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect885" + width="78" + height="79" + x="783" + y="1448" /> + </g> + <g + id="g2687" + inkscape:label="space" + style="display:inline"> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle910" + cx="267" + cy="2307" + r="40.5" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle912" + cx="179.51387" + cy="2096.4861" + r="40.5" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle914" + cx="262.51385" + cy="1968" + r="40.5" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle916" + cx="443.55807" + cy="1941.5138" + r="40.5" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle918" + cx="614.0592" + cy="1951.0598" + r="40.5" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle920" + cx="715.5592" + cy="1852.3098" + r="40.5" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle922" + cx="535.5592" + cy="1830.5598" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle924" + cx="385.8092" + cy="1808.8098" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle926" + cx="646.3092" + cy="1707.0598" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle928" + cx="803.8092" + cy="1706.0598" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle930" + cx="524.0592" + cy="1618.0598" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle932" + cx="348.8092" + cy="1596.5598" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle934" + cx="255.0592" + cy="1689.0598" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle936" + cx="162.8092" + cy="1603.8098" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle938" + cx="114.0592" + cy="1809.3098" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle940" + cx="100.76058" + cy="1487.2491" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle942" + cx="251.90466" + cy="1444.1156" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle944" + cx="389.08337" + cy="1437.7516" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle946" + cx="526.43884" + cy="1479.6477" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle948" + cx="674.57404" + cy="1482.144" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle950" + cx="806.62952" + cy="1352.5383" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle952" + cx="172.20384" + cy="1253.9077" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle954" + cx="187.45384" + cy="1020.2827" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle956" + cx="486.71503" + cy="1133.975" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle958" + cx="686.2276" + cy="1132.9473" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle960" + cx="629.25372" + cy="1027.8384" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle962" + cx="723.75372" + cy="936.08838" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle964" + cx="594.50372" + cy="915.83838" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle966" + cx="904.10297" + cy="867.41376" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle968" + cx="1001.3301" + cy="977.54565" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle970" + cx="1037.3301" + cy="1110.2957" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle972" + cx="1186.3301" + cy="904.04565" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle974" + cx="1128.0801" + cy="772.04565" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle976" + cx="994.83008" + cy="782.79565" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle978" + cx="1258.3301" + cy="664.04565" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle980" + cx="1434.3301" + cy="741.04565" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle982" + cx="1374.0618" + cy="446.47501" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle984" + cx="1254.0618" + cy="496.97501" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle986" + cx="1141.3118" + cy="522.47504" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle988" + cx="1031.8118" + cy="531.72504" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle990" + cx="808.06177" + cy="459.97504" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle992" + cx="708.06177" + cy="618.47504" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle994" + cx="501.56177" + cy="561.97504" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle996" + cx="95.328918" + cy="708.34613" + r="40.5" + inkscape:transform-center-x="-191.25" + inkscape:transform-center-y="13.75" /> + <circle + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="circle2588" + cx="219.89716" + cy="2429.5383" + r="40.5" /> + </g> + <g + id="g2555" + inkscape:label="sea" + style="display:inline"> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1000" + width="97" + height="83" + x="351" + y="2352" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1004" + width="97" + height="83" + x="629" + y="2022" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1006" + width="97" + height="83" + x="938" + y="1389" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1008" + width="97" + height="83" + x="1049" + y="1169" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1010" + width="97" + height="83" + x="1205" + y="975" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1012" + width="97" + height="84" + x="1461" + y="508" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1014" + width="97" + height="83" + x="1268" + y="60" /> + </g> + <g + id="g2546" + inkscape:label="colony" + style="display:inline"> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1016" + width="66" + height="57" + x="1171" + y="1558" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1018" + width="67" + height="58" + x="1218" + y="1486" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1020" + width="66" + height="57" + x="1267" + y="1415" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1022" + width="67" + height="58" + x="1248" + y="1344" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1024" + width="66" + height="57" + x="1306" + y="1274" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1026" + width="66" + height="57" + x="1383" + y="1274" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1028" + width="66" + height="58" + x="1306" + y="1201" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1030" + width="66" + height="58" + x="1383" + y="1196" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1032" + width="66" + height="58" + x="1462" + y="1163" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1034" + width="66" + height="58" + x="1540" + y="1163" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1036" + width="67" + height="58" + x="1498" + y="1088" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1038" + width="66" + height="58" + x="1382" + y="1089" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1040" + width="66" + height="58" + x="1465" + y="1014" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1042" + width="66" + height="57" + x="1383" + y="975" /> + </g> + <g + id="g2584" + inkscape:label="box" + style="display:inline" + sodipodi:insensitive="true"> + <rect + style="opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1606" + width="88" + height="104" + x="542" + y="332" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1044" + width="64" + height="71" + x="905" + y="2241" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1046" + width="64" + height="71" + x="971" + y="2241" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1048" + width="64" + height="71" + x="1037" + y="2241" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1050" + width="64" + height="71" + x="1103" + y="2241" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1052" + width="65" + height="71" + x="1169" + y="2241" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1054" + width="64" + height="71" + x="1236" + y="2241" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1056" + width="64" + height="71" + x="1302" + y="2241" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1058" + width="64" + height="71" + x="1368" + y="2241" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1060" + width="65" + height="71" + x="1434" + y="2241" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1062" + width="63" + height="71" + x="1501" + y="2241" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1066" + width="64" + height="72" + x="904" + y="2368" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1068" + width="64" + height="72" + x="970" + y="2368" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1070" + width="64" + height="72" + x="1036" + y="2368" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1072" + width="64" + height="72" + x="1102" + y="2368" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1074" + width="65" + height="72" + x="1168" + y="2368" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1076" + width="64" + height="72" + x="1235" + y="2368" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1078" + width="64" + height="72" + x="1301" + y="2368" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1080" + width="64" + height="72" + x="1367" + y="2368" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1082" + width="64" + height="72" + x="1433" + y="2368" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1084" + width="199" + height="277" + x="904" + y="1915" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3" + id="rect1086" + width="199" + height="277" + x="1137" + y="1915" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:2.97641" + id="rect1088" + width="199.00003" + height="277" + x="1370" + y="1915" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3.0365" + id="rect1090" + width="278" + height="198.99998" + x="1027" + y="1679" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:2.99946" + id="rect1092" + width="214" + height="206" + x="1358" + y="1673" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3.23342" + id="rect1094" + width="205" + height="136" + x="1400" + y="46" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3.00286" + id="rect1096" + width="214" + height="206" + x="294" + y="258" /> + <rect + style="opacity:0.99;fill:#ff0000;fill-opacity:0.46748;stroke:none;stroke-width:3.08098" + id="rect1098" + width="214" + height="207" + x="63" + y="258" /> + </g> + <g + id="g2117" + inkscape:label="path" + style="display:inline"> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 225.95199,2404.7242 26.2076,-70.1231" + id="path1812" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 191.95294,2128.4819 64.45653,150.8708 0.70831,0.7083" + id="path1814" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 274.82562,2277.936 174.95342,-176.37" + id="path1818" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 199.74439,2066.8586 43.91544,-68.7064" + id="path1820" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 145.20426,1830.9903 97.74725,111.9135" + id="path1822" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 283.32538,1938.6539 79.33111,-105.5387" + id="path1824" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 398.07216,1843.0316 36.12398,69.4147" + id="path1826" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 458.98711,1974.7779 19.12447,79.3311" + id="path1828" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 497.23604,2055.5256 82.16436,-90.6641" + id="path1830" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 645.98186,1932.2791 46.04038,-50.9986" + id="path1832" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 552.48449,1860.7394 38.95724,62.3316" + id="path1834" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 570.19233,1830.9903 109.78858,10.6247" + id="path1836" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 422.86313,1809.7409 72.24797,12.0413" + id="path1838" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 284.03369,1714.1185 358.4066,1780.7" + id="path1840" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 148.74582,1641.8706 -24.79097,129.6213" + id="path1842" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 89.955808,1524.9989 7.791448,247.9097" + id="path1844" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 189.828,1627.7043 36.8323,31.1658" + id="path1846" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 279.0755,1657.4535 39.66555,-38.9573" + id="path1848" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 385.32252,1600.0801 103.41376,12.0413" + id="path1850" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 364.07311,1631.2459 142.37101,168.5786" + id="path1852" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 666.52295,1739.6178 41.08218,81.4561" + id="path1854" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 553.90112,1635.4958 67.28977,44.6237" + id="path1856" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 684.9391,1705.6188 80.03942,-0.7083" + id="path1858" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 673.60609,1524.2905 -23.37434,145.9126" + id="path1860" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 549.65124,1596.5385 97.03894,-83.581" + id="path1862" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 709.73008,1483.9167 75.78953,0.7083" + id="path1864" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 822.35191,1521.4573 811.0189,1666.6615" + id="path1866" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 382.48926,1573.8725 111.91353,-72.248" + id="path1868" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 425.69638,1447.0844 63.74821,18.4161" + id="path1870" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 551.06786,1449.2093 69.04245,-60.3196" + id="path1872" + sodipodi:nodetypes="cc" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 667.93958,1399.6274 0.70832,46.7487" + id="path1874" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 554.95299,1484.0395 86.28954,4.4937" + id="path1876" + sodipodi:nodetypes="cc" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 685.64742,1384.7528 98.45557,75.0812" + id="path1878" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 684.9391,1355.0036 83.58099,-2.1249" + id="path1880" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 654.48163,1323.1295 16.29121,-32.5824" + id="path1882" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 514.23556,1299.0469 97.03895,42.4988" + id="path1884" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 504.31918,1333.7542 29.74916,109.0803" + id="path1886" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 404.44698,1404.5856 40.37387,-75.7896" + id="path1888" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 186.99475,1293.3804 50.99857,111.2052" + id="path1890" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 133.87124,1469.7504 76.49785,-20.5411" + id="path1892" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 288.28357,1440.7096 2.83326,-0.7084 h 60.20664" + id="path1894" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 140.95438,1503.7495 23.37434,62.3315" + id="path1896" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 505.91845,1263.9465 v 0 l 143.60498,-109.3956" + id="path1898" + sodipodi:nodetypes="ccc" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 693.43887,1170.8421 9.20807,50.2903" + id="path1900" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 733,1215 38,-33" + id="path1902" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 726.02128,1131.8849 46.04038,4.2499" + id="path1904" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 648.10681,1129.0516 -126.78811,1.4167" + id="path1906" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 478.11158,1034.1376 5.66651,67.2898" + id="path1908" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 228.78524,1014.3049 440.57096,999.43028" + id="path1910" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 514.94388,976.05593 565.94245,942.7652" + id="path1912" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 619.06595,951.26496 7.08314,33.29073" + id="path1914" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 660.85645,1005.0968 38.24892,-38.24894" + id="path1916" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 759.31202,949.84833 92.08074,31.1658" + id="path1918" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 905.22459,1026.3462 1.41662,2.8332 13.45796,48.8737" + id="path1920" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 845.72626,1138.2597 46.74868,-9.9164" + id="path1922" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 913.01603,1019.9714 96.33067,71.5396" + id="path1924" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1017.8464,1017.1381 17.7079,58.0817" + id="path1926" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 920.09917,990.93051 39.66555,-9.20807" + id="path1928" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 930.01556,893.89157 48.16531,49.58194" + id="path1930" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1027.7628,947.01508 17.7078,-33.99905" + id="path1932" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1103.5524,881.85024 41.7904,8.49976" + id="path1934" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 757.18708,913.72435 3.54156,-1.41663 101.28883,-37.54061" + id="path1936" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 875.47542,846.43457 -110.4969,-58.0817" + id="path1938" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 736.64599,819.51866 2.83325,79.33111" + id="path1940" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 631.8156,917.26592 53.83182,10.6247" + id="path1942" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 482.66664,961.74649 511.40231,602.77474" + id="path1944" + sodipodi:nodetypes="cc" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 543.27641,576.56715 123.24654,31.16579" + id="path1946" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 706.18851,658.02319 9.20807,91.37244" + id="path1948" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 128.20473,692.02224 3.54157,-0.70831 327.94913,-126.0798" + id="path1950" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 539.73485,548.94292 794.72769,495.1111" + id="path1952" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 837.93481,488.73628 41.79049,23.37434" + id="path1954" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 880.43362,539.02653 745.14575,608.44125" + id="path1956" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 957,560 34.63883,64.02415" + id="path1958" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1012.1799,626.14909 9.9164,-55.24845" + id="path1960" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1004.3885,700.522 -4.95822,43.91543" + id="path1962" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 932.1405,839.35144 31.16579,-29.04086" + id="path1964" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1023.5129,809.60227 16.2912,29.74917" + id="path1966" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 939.93195,871.22554 84.99765,2.83326" + id="path1968" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1087.2611,838.64312 19.1245,-31.16579" + id="path1970" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1031.3044,778.43648 58.79,-3.54157" + id="path1972" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1044.054,660.14813 52.4152,0.70832" + id="path1974" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1176,700 32.3827,46.56237" + id="path1976" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1163.759,781.97805 25.4993,2.83325" + id="path1978" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1260.0896,777.72817 32.5824,-0.70832" + id="path1980" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1305.4217,735.93767 -24.791,-36.12398" + id="path1982" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1330.921,730.27117 15.5829,-63.74822" + id="path1984" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1290.5471,653.77331 36.124,-14.16627" + id="path1986" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1173.6754,660.85645 46.0404,4.95819" + id="path1988" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1134.0098,560.98425 v 3.54157 l -2.8332,59.49833" + id="path1990" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1394.6692,667.23127 21.2494,38.24892" + id="path1992" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1364.92,593.56667 4.2499,-105.5387" + id="path1994" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1348.6288,468.9035 -50.2902,22.66603" + id="path1996" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1214.0493,513.52725 -28.3326,8.49976" + id="path1998" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1101.4274,534.77665 -29.0408,0.70832" + id="path2000" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1034.1376,433.48783 1.4167,60.20664" + id="path2002" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1076.6364,387.44746 50.2903,-7.08314" + id="path2004" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1163.759,417.90493 -0.7083,2.83326 -16.2912,60.20664" + id="path2006" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1205,418 24.6321,45.94531" + id="path2008" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1038.3875,237.28501 -0.7083,113.33015" + id="path2010" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 1010.055,220.28548 828.01842,424.98807" + id="path2012" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 1068.845,174.24511 1129,127" + id="path2014" /> + </g> + <g + id="g2128" + inkscape:label="wilderness" + style="display:none" + sodipodi:insensitive="true"> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1" + d="M 87.148464,748.27474 166.28328,983.67577" + id="path2119" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1" + d="m 196.33447,1058.8038 -23.03925,154.2628" + id="path2121" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1" + d="m 1196,127 150.2935,291.71331" + id="path2123" /> + </g> + <g + id="g2298" + inkscape:label="sea" + style="display:none" + sodipodi:insensitive="true"> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 1040,195 276.5,-93.5" + id="path2162" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 1162.5,93.5 154,8" + id="path2164" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 1374.0618,446.47501 1509.5,550" + id="path2166" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 1367.5,629 142,-79" + id="path2168" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 1434.3301,741.04565 1509.5,550" + id="path2170" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 1330,772.5 1509.5,550" + id="path2172" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 1186.3301,904.04565 1253.5,1016.5" + id="path2174" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 1128.0801,772.04565 1253.5,1016.5" + id="path2176" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 1064.5,874.5 189,142" + id="path2178" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 926,1116.5 171.5,94" + id="path2180" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 886,997.5 211.5,213" + id="path2182" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 810.5,1142.5 176,288" + id="path2184" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 693.5,1254 293,176.5" + id="path2186" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 806.62952,1352.5383 986.5,1430.5" + id="path2188" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 822,1487.5 164.5,-57" + id="path2190" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 803.8092,1706.0598 677.5,2063.5" + id="path2192" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 715.5592,1852.3098 677.5,2063.5" + id="path2194" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 484,2086 193.5,-22.5" + id="path2196" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 267,2307 132.5,86.5" + id="path2198" /> + <path + style="opacity:1;fill:none;fill-opacity:0.46748;stroke:#0042f5;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 220.5,2429.5 179,-36" + id="path2200" /> + </g> + <g + id="g2530" + inkscape:label="colony" + style="display:inline"> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 1250.8815,498.65267 252.1596,543.98473" + id="path2342" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 1136.1348,519.90207 366.9063,522.73533" + id="path2344" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 1172.9671,382.48926 330.074,660.14814" + id="path2346" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 1537.0402,1120.5519 1138.968,660.14813" + id="path2348" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 1255.1314,671.48115 281.9088,449.07075" + id="path2350" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 1437.8763,745.14575 99.1639,375.40615" + id="path2352" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 1365.6283,633.23222 171.4119,487.31968" + id="path2354" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 1365.6283,437.73771 171.4119,682.81419" + id="path2356" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 1333.0459,770.64503 243.6598,422.15477" + id="path2358" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 1212.6326,780.56142 290.4085,416.48828" + id="path2360" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 1126.2184,772.06166 376.8227,424.98804" + id="path2362" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 1408.5453,1122.5186 1058.6385,878.85875" + id="path2364" + sodipodi:nodetypes="cc" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 1416.6269,1116.302 987.38895,781.97805" + id="path2366" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 1002.9718,665.81464 1416.6269,1116.302" + id="path2368" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 1031.3044,535.48497 1416.6269,1116.302" + id="path2370" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 1034.1376,390.98902 1416.6269,1116.302" + id="path2372" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 913.72435,511.40231 1416.6269,1116.302" + id="path2374" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 807.47733,461.82037 1416.6269,1116.302" + id="path2376" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 708.31345,623.31583 C 980.54699,766.80087 1182.617,950.76484 1416.6269,1116.302" + id="path2378" + sodipodi:nodetypes="cc" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 488.73628,558.151 c 295.70004,181.51806 613.04962,370.25263 927.89062,558.151" + id="path2380" + sodipodi:nodetypes="cc" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 83.580987,716.81321 1418.0435,1001.5552" + id="path2382" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 1415.2103,1226.7989 903.80796,859.89253" + id="path2384" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 993.05545,970.38942 1415.2103,1226.7989" + id="path2386" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 1045.4706,1114.8854 369.7397,111.9135" + id="path2388" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 1345.7956,1233.882 716.81321,934.97375" + id="path2390" + sodipodi:nodetypes="cc" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 1345.7956,1233.882 628.98234,1031.3044" + id="path2392" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 594.9833,912.30772 1345.7956,1233.882" + id="path2394" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 722.47972,784.8113 1345.7956,1233.882" + id="path2396" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 470.32013,995.88871 1345.7956,1233.882" + id="path2398" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 179.91162,1025.6379 1345.7956,1233.882" + id="path2400" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 925.57679,1115.901 499.85151,186.3174" + id="path2402" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 1333.2713,1315.2406 804.37031,1143.9488" + id="path2404" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 672.14505,1127.9215 661.12625,187.3191" + id="path2406" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 478.8157,1132.93 854.4556,182.3106" + id="path2408" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 805.37201,1355.3089 473.80719,17.029" + id="path2410" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 820.39761,1484.529 1279.1792,1372.3379" + id="path2412" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 672.14505,1480.5222 1279.1792,1372.3379" + id="path2414" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 643.09556,1356.3106 636.08364,16.0273" + id="path2416" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 695.1843,1262.1502 583.9949,110.1877" + id="path2418" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 479.81741,1295.2065 799.36179,77.1314" + id="path2420" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 527.89932,1483.5273 1279.1792,1372.3379" + id="path2422" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="m 388.66212,1440.4539 890.51708,-68.116" + id="path2424" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 248.42321,1450.471 1279.1792,1372.3379" + id="path2426" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 166.28328,1249.128 1279.1792,1372.3379" + id="path2428" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 97.165529,1485.5307 1279.1792,1372.3379" + id="path2430" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 162.27645,1606.7372 1301.2167,1441.4556" + id="path2432" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 335.57167,1597.7218 1301.2167,1441.4556" + id="path2434" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 244.41638,1691.8823 1301.2167,1441.4556" + id="path2436" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 517.88225,1624.7679 1301.2167,1441.4556" + id="path2438" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 646.10068,1711.9164 1301.2167,1441.4556" + id="path2440" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 802.36689,1711.9164 1301.2167,1441.4556" + id="path2442" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 713.21502,1850.1519 1301.2167,1441.4556" + id="path2444" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 1258.1433,1528.6041 615.04778,1957.3345" + id="path2446" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 482.82253,2090.5614 1258.1433,1528.6041" + id="path2448" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 442.75427,1942.3089 1258.1433,1528.6041" + id="path2450" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 534.91126,1833.1229 1258.1433,1528.6041" + id="path2452" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 379.64676,1809.0819 1258.1433,1528.6041" + id="path2454" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 257.43857,1972.3601 1258.1433,1528.6041" + id="path2456" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 114.19454,1813.0887 1258.1433,1528.6041" + id="path2458" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 173.29522,2094.5683 1208.058,1596.7201" + id="path2460" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 266.45392,2315.9454 1208.058,1596.7201" + id="path2462" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 220.37543,2437.1519 1208.058,1596.7201" + id="path2464" /> + <path + style="opacity:1;fill:none;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + d="M 1408.5453,1122.5186 1186.3301,904.04565" + id="path1381" + sodipodi:nodetypes="cc" /> + <path + style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-dasharray:3, 3" + d="m 886,997.5 459.7956,236.382" + id="path1383" /> + <path + style="fill:#000000;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-dasharray:3, 3;stroke-opacity:1" + d="m 1162.5,93.5 255.5435,908.0552" + id="path1385" /> + <path + style="fill:#000000;fill-opacity:1;stroke:#f50000;stroke-width:3;stroke-dasharray:3, 3;stroke-opacity:1" + d="m 1040,195 378.0435,806.5552" + id="path1389" /> + </g> + <g + id="g1810" + inkscape:label="labels" + style="display:none"> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1527.1014" + y="2281.8875" + id="text2276"><tspan + sodipodi:role="line" + id="tspan2274" + x="1527.1014" + y="2281.8875">9</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1468.5017" + y="2409.605" + id="text2272"><tspan + sodipodi:role="line" + id="tspan2270" + x="1468.5017" + y="2409.605">1783</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1399.8848" + y="2412.6101" + id="text2268"><tspan + sodipodi:role="line" + id="tspan2266" + x="1399.8848" + y="2412.6101">1782</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1329.2645" + y="2408.6033" + id="text2264"><tspan + sodipodi:role="line" + id="tspan2262" + x="1329.2645" + y="2408.6033">1781</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1265.1553" + y="2410.1057" + id="text2260"><tspan + sodipodi:role="line" + id="tspan2258" + x="1265.1553" + y="2410.1057">1780</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1201.0461" + y="2410.1057" + id="text2256"><tspan + sodipodi:role="line" + id="tspan2254" + x="1201.0461" + y="2410.1057">1779</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1138.4395" + y="2409.605" + id="text2252"><tspan + sodipodi:role="line" + id="tspan2250" + x="1138.4395" + y="2409.605">1778</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1062.8105" + y="2408.1025" + id="text2248"><tspan + sodipodi:role="line" + id="tspan2246" + x="1062.8105" + y="2408.1025">1777</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="998.2005" + y="2408.6033" + id="text2244"><tspan + sodipodi:role="line" + id="tspan2242" + x="998.2005" + y="2408.6033">1776</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="928.08105" + y="2411.1077" + id="text2240"><tspan + sodipodi:role="line" + id="tspan2238" + x="928.08105" + y="2411.1077">1775</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1476.0145" + y="2284.8926" + id="text2236"><tspan + sodipodi:role="line" + id="tspan2234" + x="1476.0145" + y="2284.8926">8</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1416.9138" + y="2286.896" + id="text2232"><tspan + sodipodi:role="line" + id="tspan2230" + x="1416.9138" + y="2286.896">7</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1342.2867" + y="2285.3933" + id="text2228"><tspan + sodipodi:role="line" + id="tspan2226" + x="1342.2867" + y="2285.3933">6</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1264.6544" + y="2282.3882" + id="text2224"><tspan + sodipodi:role="line" + id="tspan2222" + x="1264.6544" + y="2282.3882">5</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1213.5674" + y="2279.884" + id="text2220"><tspan + sodipodi:role="line" + id="tspan2218" + x="1213.5674" + y="2279.884">4</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1144.4497" + y="2280.3848" + id="text2216"><tspan + sodipodi:role="line" + id="tspan2214" + x="1144.4497" + y="2280.3848">3</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1082.3439" + y="2282.3882" + id="text2212"><tspan + sodipodi:role="line" + id="tspan2210" + x="1082.3439" + y="2282.3882">2</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="1004.2108" + y="2285.8943" + id="text2208"><tspan + sodipodi:role="line" + id="tspan2206" + x="1004.2108" + y="2285.8943">1</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:12, 6, 3, 6;stroke-dashoffset:0;stroke-opacity:1" + x="932.08789" + y="2283.8909" + id="text2204"><tspan + sodipodi:role="line" + id="tspan2202" + x="932.08789" + y="2283.8909">0</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="166.09312" + y="365.55655" + id="text1218"><tspan + sodipodi:role="line" + x="166.09312" + y="365.55655" + id="tspan1220">French Reinforcements</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="395.46118" + y="363.54544" + id="text1226"><tspan + sodipodi:role="line" + id="tspan1224" + x="395.46118" + y="363.54544">American Leader Reinforcements</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1308.392" + y="100.05029" + id="text1230"><tspan + sodipodi:role="line" + id="tspan1228" + x="1308.392" + y="100.05029">Sea1</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1503.4926" + y="111.18933" + id="text1234"><tspan + sodipodi:role="line" + id="tspan1232" + x="1503.4926" + y="111.18933">Captured Generals</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1155" + y="95" + id="text1238"><tspan + sodipodi:role="line" + id="tspan1236" + x="1155" + y="95">Quebec</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1030" + y="200" + id="text1242"><tspan + sodipodi:role="line" + id="tspan1240" + x="1030" + y="200">Montreal</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1170" + y="380" + id="text1246"><tspan + sodipodi:role="line" + id="tspan1244" + x="1170" + y="380">Norwich</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1030" + y="400" + id="text1250"><tspan + sodipodi:role="line" + id="tspan1248" + x="1030" + y="400">Ticonderoga</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="815" + y="470" + id="text1254"><tspan + sodipodi:role="line" + id="tspan1252" + x="815" + y="470">Oswego</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="910" + y="515" + id="text1258"><tspan + sodipodi:role="line" + id="tspan1256" + x="910" + y="515">Fort Stanwix</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1025" + y="540" + id="text1262"><tspan + sodipodi:role="line" + id="tspan1260" + x="1025" + y="540">Saratoga</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1145" + y="535" + id="text1266"><tspan + sodipodi:role="line" + id="tspan1264" + x="1145" + y="535">Brattleboro</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1240" + y="500" + id="text1270"><tspan + sodipodi:role="line" + id="tspan1268" + x="1240" + y="500">Concord</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1715" + y="465" + id="text1274"><tspan + sodipodi:role="line" + id="tspan1272" + x="1715" + y="465" /></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1363.8234" + y="463.28925" + id="text1278"><tspan + sodipodi:role="line" + id="tspan1276" + x="1363.8234" + y="463.28925">Falmouth</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1363.3225" + y="632.07678" + id="text1282"><tspan + sodipodi:role="line" + id="tspan1280" + x="1363.3225" + y="632.07678">Boston</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1428.9343" + y="738.75854" + id="text1286"><tspan + sodipodi:role="line" + id="tspan1284" + x="1428.9343" + y="738.75854">Barnstable</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1330" + y="772.5" + id="text1290"><tspan + sodipodi:role="line" + id="tspan1288" + x="1330" + y="772.5">Newport</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1254.1365" + y="673.64758" + id="text1294"><tspan + sodipodi:role="line" + id="tspan1292" + x="1254.1365" + y="673.64758">Lexington Concord</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1215.0699" + y="800.36346" + id="text1298"><tspan + sodipodi:role="line" + id="tspan1296" + x="1215.0699" + y="800.36346">Hartford</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1110.3916" + y="778.82678" + id="text1302"><tspan + sodipodi:role="line" + id="tspan1300" + x="1110.3916" + y="778.82678">New Haven</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1121.9113" + y="655.61688" + id="text1306"><tspan + sodipodi:role="line" + id="tspan1304" + x="1121.9113" + y="655.61688">Springfield</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="997.19879" + y="667.63739" + id="text1310"><tspan + sodipodi:role="line" + id="tspan1308" + x="997.19879" + y="667.63739">Albany</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="989.18512" + y="794.85413" + id="text1314"><tspan + sodipodi:role="line" + id="tspan1312" + x="989.18512" + y="794.85413">Westchester</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1057.802" + y="875.99231" + id="text1318"><tspan + sodipodi:role="line" + id="tspan1316" + x="1057.802" + y="875.99231">New York</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1188.0239" + y="912.55463" + id="text1322"><tspan + sodipodi:role="line" + id="tspan1320" + x="1188.0239" + y="912.55463">Long Island</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1001.3301" + y="977.54565" + id="text1326"><tspan + sodipodi:role="line" + id="tspan1324" + x="1001.3301" + y="977.54565">New Brunswick</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1033.7611" + y="1103.8805" + id="text1330"><tspan + sodipodi:role="line" + id="tspan1328" + x="1033.7611" + y="1103.8805">Monmouth</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="893.0213" + y="871.98547" + id="text1334"><tspan + sodipodi:role="line" + id="tspan1332" + x="893.0213" + y="871.98547">Morristown</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="715.7193" + y="630.07336" + id="text1338"><tspan + sodipodi:role="line" + id="tspan1336" + x="715.7193" + y="630.07336">Genesee</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="501.56177" + y="561.97504" + id="text1342"><tspan + sodipodi:role="line" + id="tspan1340" + x="501.56177" + y="561.97504">Fort Niagara</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="83.14164" + y="710.2099" + id="text1346"><tspan + sodipodi:role="line" + id="tspan1344" + x="83.14164" + y="710.2099">Fort Detroit</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="181.30887" + y="1032.7594" + id="text1350"><tspan + sodipodi:role="line" + id="tspan1348" + x="181.30887" + y="1032.7594">Bassett Town</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="471.30289" + y="1001.2056" + id="text1354"><tspan + sodipodi:role="line" + id="tspan1352" + x="471.30289" + y="1001.2056">Pittsburgh</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="598.0188" + y="923.07251" + id="text1358"><tspan + sodipodi:role="line" + id="tspan1356" + x="598.0188" + y="923.07251">Harrisburg</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="723.75372" + y="936.08838" + id="text1362"><tspan + sodipodi:role="line" + id="tspan1360" + x="723.75372" + y="936.08838">Reading</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="624.56396" + y="1030.756" + id="text1366"><tspan + sodipodi:role="line" + id="tspan1364" + x="624.56396" + y="1030.756">York</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="718.72443" + y="786.84045" + id="text1370"><tspan + sodipodi:role="line" + id="tspan1368" + x="718.72443" + y="786.84045">Wyoming Valley</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="872.98718" + y="1009.2193" + id="text1374"><tspan + sodipodi:role="line" + id="tspan1372" + x="872.98718" + y="1009.2193">Philadelphia</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="909.04865" + y="1123.4138" + id="text1378"><tspan + sodipodi:role="line" + id="tspan1376" + x="909.04865" + y="1123.4138">Wilmington</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="800.36346" + y="1153.465" + id="text1382"><tspan + sodipodi:role="line" + id="tspan1380" + x="800.36346" + y="1153.465">Baltimore</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="661.62714" + y="1143.448" + id="text1386"><tspan + sodipodi:role="line" + id="tspan1384" + x="661.62714" + y="1143.448">Frederick Town</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="682.16211" + y="1260.1469" + id="text1390"><tspan + sodipodi:role="line" + id="tspan1388" + x="682.16211" + y="1260.1469">Alexandria</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="467.79694" + y="1297.21" + id="text1394"><tspan + sodipodi:role="line" + id="tspan1392" + x="467.79694" + y="1297.21">Charlottesville</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="636.08362" + y="1367.8302" + id="text1398"><tspan + sodipodi:role="line" + id="tspan1396" + x="636.08362" + y="1367.8302">Richmond</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="808.37714" + y="1357.3123" + id="text1402"><tspan + sodipodi:role="line" + id="tspan1400" + x="808.37714" + y="1357.3123">Yorktown</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="819.89679" + y="1495.5479" + id="text1406"><tspan + sodipodi:role="line" + id="tspan1404" + x="819.89679" + y="1495.5479">Norfolk</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="660.62543" + y="1496.5496" + id="text1410"><tspan + sodipodi:role="line" + id="tspan1408" + x="660.62543" + y="1496.5496">Petersburg</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="512.87372" + y="1485.5306" + id="text1414"><tspan + sodipodi:role="line" + id="tspan1412" + x="512.87372" + y="1485.5306">Lynch's Ferry</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="386.15784" + y="1446.4642" + id="text1418"><tspan + sodipodi:role="line" + id="tspan1416" + x="386.15784" + y="1446.4642">Fincastle</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="237.90529" + y="1447.9667" + id="text1422"><tspan + sodipodi:role="line" + id="tspan1420" + x="237.90529" + y="1447.9667">Fort Chiswell</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="160.7739" + y="1260.1469" + id="text1426"><tspan + sodipodi:role="line" + id="tspan1424" + x="160.7739" + y="1260.1469">Point Pleasant</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="91.656143" + y="1496.5496" + id="text1430"><tspan + sodipodi:role="line" + id="tspan1428" + x="91.656143" + y="1496.5496">Abingdon</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="162.8092" + y="1603.8098" + id="text1434"><tspan + sodipodi:role="line" + id="tspan1432" + x="162.8092" + y="1603.8098">Gilbert Town</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="341.58191" + y="1604.7338" + id="text1438"><tspan + sodipodi:role="line" + id="tspan1436" + x="341.58191" + y="1604.7338">Salem</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="514.87714" + y="1625.2688" + id="text1442"><tspan + sodipodi:role="line" + id="tspan1440" + x="514.87714" + y="1625.2688">Hillsboro</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="646.3092" + y="1707.0598" + id="text1446"><tspan + sodipodi:role="line" + id="tspan1444" + x="646.3092" + y="1707.0598">Wake (Raleigh)</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="815.88995" + y="1717.4258" + id="text1450"><tspan + sodipodi:role="line" + id="tspan1448" + x="815.88995" + y="1717.4258">New Bern</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="713.71588" + y="1857.1638" + id="text1454"><tspan + sodipodi:role="line" + x="713.71588" + y="1857.1638" + id="tspan1456">Wilmington</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="605.0307" + y="1954.3293" + id="text1462"><tspan + sodipodi:role="line" + id="tspan1460" + x="605.0307" + y="1954.3293">Georgetown</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="523.89252" + y="1833.6237" + id="text1466"><tspan + sodipodi:role="line" + id="tspan1464" + x="523.89252" + y="1833.6237">Cheraw</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="368.62799" + y="1816.5947" + id="text1470"><tspan + sodipodi:role="line" + id="tspan1468" + x="368.62799" + y="1816.5947">Camden</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="249.42491" + y="1701.8993" + id="text1474"><tspan + sodipodi:role="line" + id="tspan1472" + x="249.42491" + y="1701.8993">Charlotte</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="110.68857" + y="1818.5981" + id="text1478"><tspan + sodipodi:role="line" + id="tspan1476" + x="110.68857" + y="1818.5981">Fort Prince George</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="252.93089" + y="1970.8575" + id="text1482"><tspan + sodipodi:role="line" + id="tspan1480" + x="252.93089" + y="1970.8575">Ninety Six</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="434.7406" + y="1951.3242" + id="text1486"><tspan + sodipodi:role="line" + id="tspan1484" + x="434.7406" + y="1951.3242">Eutaw Springs</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="478.8157" + y="2099.0759" + id="text1490"><tspan + sodipodi:role="line" + id="tspan1488" + x="478.8157" + y="2099.0759">Charleston</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="264.4505" + y="2315.4446" + id="text1494"><tspan + sodipodi:role="line" + id="tspan1492" + x="264.4505" + y="2315.4446">Savannah</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="179.8063" + y="2104.0845" + id="text1498"><tspan + sodipodi:role="line" + id="tspan1496" + x="179.8063" + y="2104.0845">Augusta</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="215.3669" + y="2438.6543" + id="text1502"><tspan + sodipodi:role="line" + id="tspan1500" + x="215.3669" + y="2438.6543">St. Mary's</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1008.5179" + y="2050.7935" + id="text1506"><tspan + sodipodi:role="line" + id="tspan1504" + x="1008.5179" + y="2050.7935">BRC</tspan><tspan + sodipodi:role="line" + x="1008.5179" + y="2068.2935" + id="tspan1512" /></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1231.9423" + y="2050.9939" + id="text1510"><tspan + sodipodi:role="line" + id="tspan1508" + x="1231.9423" + y="2050.9939">ARC1</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1466.2352" + y="2057.8745" + id="text1516"><tspan + sodipodi:role="line" + id="tspan1514" + x="1466.2352" + y="2057.8745">ARC2</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1465" + y="1776" + id="text1520"><tspan + sodipodi:role="line" + id="tspan1518" + x="1465" + y="1776">British Reinforcement Box</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1167.4889" + y="1789.0479" + id="text1524"><tspan + sodipodi:role="line" + id="tspan1522" + x="1167.4889" + y="1789.0479">War Ends Card</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1197.0392" + y="1587.2039" + id="text1528"><tspan + sodipodi:role="line" + id="tspan1526" + x="1197.0392" + y="1587.2039">GA</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1252.1331" + y="1520.0896" + id="text1532"><tspan + sodipodi:role="line" + id="tspan1530" + x="1252.1331" + y="1520.0896">SC</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1300" + y="1443.5" + id="text1536"><tspan + sodipodi:role="line" + id="tspan1534" + x="1300" + y="1443.5">NC</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1290.6989" + y="1383.3567" + id="text1540"><tspan + sodipodi:role="line" + id="tspan1538" + x="1290.6989" + y="1383.3567">VA</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1339" + y="1302.5" + id="text1544"><tspan + sodipodi:role="line" + id="tspan1542" + x="1339" + y="1302.5">MD</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1407.3976" + y="1313.7382" + id="text1548"><tspan + sodipodi:role="line" + id="tspan1546" + x="1407.3976" + y="1313.7382">DE</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1414.9104" + y="1234.1024" + id="text1552"><tspan + sodipodi:role="line" + id="tspan1550" + x="1414.9104" + y="1234.1024">NJ</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1339" + y="1230" + id="text1556"><tspan + sodipodi:role="line" + id="tspan1554" + x="1339" + y="1230">PA</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1504.0623" + y="1195.0358" + id="text1560"><tspan + sodipodi:role="line" + id="tspan1558" + x="1504.0623" + y="1195.0358">CT</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1577.6877" + y="1194.535" + id="text1564"><tspan + sodipodi:role="line" + id="tspan1562" + x="1577.6877" + y="1194.535">RI</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1534.1135" + y="1122.913" + id="text1568"><tspan + sodipodi:role="line" + id="tspan1566" + x="1534.1135" + y="1122.913">MA</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1406.8969" + y="1122.4121" + id="text1572"><tspan + sodipodi:role="line" + id="tspan1570" + x="1406.8969" + y="1122.4121">NY</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1498" + y="1043" + id="text1576"><tspan + sodipodi:role="line" + id="tspan1574" + x="1498" + y="1043">NH</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1416" + y="1003.5" + id="text1580"><tspan + sodipodi:role="line" + id="tspan1578" + x="1416" + y="1003.5">Canada</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1509.5" + y="550" + id="text1584"><tspan + sodipodi:role="line" + id="tspan1582" + x="1509.5" + y="550">Sea2</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1253.5" + y="1016.5" + id="text1588"><tspan + sodipodi:role="line" + id="tspan1586" + x="1253.5" + y="1016.5">Sea3</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="1088.8549" + y="1218.0751" + id="text1592"><tspan + sodipodi:role="line" + id="tspan1590" + x="1088.8549" + y="1218.0751">Sea4</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="981.17151" + y="1441.9565" + id="text1596"><tspan + sodipodi:role="line" + id="tspan1594" + x="981.17151" + y="1441.9565">Sea5</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="671.14337" + y="2067.0212" + id="text1600"><tspan + sodipodi:role="line" + id="tspan1598" + x="671.14337" + y="2067.0212">Sea6</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="393.67065" + y="2394.5793" + id="text1604"><tspan + sodipodi:role="line" + id="tspan1602" + x="393.67065" + y="2394.5793">Sea7</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;opacity:1;fill:#000000;fill-opacity:0.46748;stroke:none;stroke-width:3" + x="585" + y="385" + id="text1610"><tspan + sodipodi:role="line" + x="585" + y="385" + id="tspan1612">Continental Corgress Dispersed Box</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-dasharray:3, 3" + x="479.92914" + y="1140.5603" + id="text556"><tspan + sodipodi:role="line" + id="tspan554" + x="479.92914" + y="1140.5603">Fort Cumberland</tspan></text> + </g> +</svg> diff --git a/tools/parse-layout.js b/tools/parse-layout.js new file mode 100644 index 0000000..b382849 --- /dev/null +++ b/tools/parse-layout.js @@ -0,0 +1,466 @@ +"use strict" + +/* COMMON PARSING */ + +const fs = require("fs") + +let points = {} +let circles = {} +let rects = {} +let edges = {} +let labels = [] + +let mode, name, x, y, w, h, cx, cy, rx, ry, x2, y2 + +function array_insert(array, index, item) { + for (let i = array.length; i > index; --i) + array[i] = array[i - 1] + array[index] = item +} + +function set_add(set, item) { + let a = 0 + let b = set.length - 1 + while (a <= b) { + let m = (a + b) >> 1 + let x = set[m] + if (item < x) + b = m - 1 + else if (item > x) + a = m + 1 + else + return + } + array_insert(set, a, item) +} + +function add_point(x, y) { + if (!(name in points)) + points[name] = [] + points[name].push({x,y}) +} + +function add_circle(cx, cy, rx, ry) { + if (!(name in circles)) + circles[name] = [] + circles[name].push({x:cx-rx,y:cy-ry,w:rx*2,h:ry*2}) +} + +function add_rect(x, y, w, h) { + if (!(name in rects)) + rects[name] = [] + rects[name].push({x,y,w,h}) +} + +function add_edge(x1, y1, x2, y2) { + if (!(name in edges)) + edges[name] = [] + edges[name].push({x1,y1,x2,y2}) +} + +function flush() { + if (mode === 'path') { + add_edge(x, y, x2, y2) + } + if (mode === 'rect') { + add_rect(x, y, w, h) + add_point(x + w/2, y + h/2) + } + if (mode === 'circle') { + add_circle(cx, cy, rx, ry) + add_point(cx, cy) + } + x = y = x2 = y2 = w = h = cx = cy = rx = ry = 0 +} + +function parse_path_data(path) { + let cx = 0 + let cy = 0 + let abs = 0 + for (let i = 0; i < path.length;) { + switch (path[i]) { + case 'M': + x2 = x = cx = Number(path[i+1]) + y2 = y = cy = Number(path[i+2]) + i += 3 + abs = true + break + case 'm': + x2 = x = cx = cx + Number(path[i+1]) + y2 = y = cy = cy + Number(path[i+2]) + i += 3 + abs = false + break + case 'C': + x2 = cx = Number(path[i+5]) + y2 = cy = Number(path[i+6]) + i += 7 + abs = true + break + case 'L': + i += 1 + abs = true + break + case 'H': + x2 = cx = Number(path[i+1]) + i += 2 + abs = true + break + case 'V': + y2 = cy = Number(path[i+1]) + i += 2 + abs = true + break + case 'c': + x2 = cx = cx + Number(path[i+5]) + y2 = cy = cy + Number(path[i+6]) + i += 7 + abs = false + break + case 'l': + i += 1 + abs = false + break + case 'h': + x2 = cx = cx + Number(path[i+1]) + i += 2 + abs = false + break + case 'v': + y2 = cy = cy + Number(path[i+1]) + i += 2 + abs = false + break + default: + if (abs) { + x2 = cx = Number(path[i+0]) + y2 = cy = Number(path[i+1]) + } else { + x2 = cx = cx + Number(path[i+0]) + y2 = cy = cy + Number(path[i+1]) + } + i += 2 + break + } + } +} + +for (let line of fs.readFileSync("tools/layout.svg", "utf-8").split("\n")) { + line = line.trim() + if (line.startsWith("<rect")) { + flush() + mode = "rect" + x = y = w = h = 0 + } + else if (line.startsWith("<ellipse") || line.startsWith("<circle")) { + flush() + mode = "circle" + cx = cy = rx = ry = 0 + } + else if (line.startsWith("<path")) { + flush() + mode = "path" + } + else if (line.startsWith("<g")) { + flush() + mode = "g" + } + else if (line.startsWith('x="')) + x = (Number(line.split('"')[1])) + else if (line.startsWith('y="')) + y = (Number(line.split('"')[1])) + else if (line.startsWith('width="')) + w = (Number(line.split('"')[1])) + else if (line.startsWith('height="')) + h = (Number(line.split('"')[1])) + else if (line.startsWith('cx="')) + cx = (Number(line.split('"')[1])) + else if (line.startsWith('cy="')) + cy = (Number(line.split('"')[1])) + else if (line.startsWith('r="')) + rx = ry = (Number(line.split('"')[1])) + else if (line.startsWith('rx="')) + rx = (Number(line.split('"')[1])) + else if (line.startsWith('ry="')) + ry = (Number(line.split('"')[1])) + else if (line.startsWith('inkscape:label="') && mode === "g") + name = line.split('"')[1] + else if (line.startsWith('d="')) + parse_path_data(line.split('"')[1].split(/[ ,]/)) + if (line.includes("</tspan>")) { + let name = line.replace(/^[^>]*>/, "").replace(/<\/tspan.*/, "") + labels.push({x, y, name}) + } +} + +flush() + +function find_closest_label(x, y) { + let nd = Infinity, nn = null + + for (let n of labels) { + let d = Math.hypot(n.x - x, n.y - y) + if (d < nd) { + nd = d + nn = n + } + } + + if (!nn) { + console.log("NOT FOUND", x, y) + return null + } + + if (nd > 50) { + console.log("NO LABEL", x, y, nd) + return null + } + + return nn.name +} + +function find_closest_node(nodes, x, y) { + let nd = Infinity, nn = -1 + + for (let i = 0; i < nodes.length; ++i) { + let n = nodes[i] + let d = Math.hypot(n.x - x, n.y - y) + if (d < nd) { + nd = d + nn = i + } + } + + if (nd > 100) + return -1 + + return nn +} + +function label_boxes(top) { + for (let key in top) { + console.log("BOX", key) + for (let item of top[key]) + item.name = find_closest_label(item.x + item.w/2, item.y + item.h/2) + } +} + +function label_points(top) { + for (let key in top) { + console.log("POINT", key) + for (let item of top[key]) + item.name = find_closest_label(item.x, item.y) + } +} + +label_boxes(rects) +label_boxes(circles) +label_points(points) + +function connect_edge_2way(node_list, edge_name) { + console.log("EDGE", edge_name) + for (let e of edges[edge_name]) { + let a = find_closest_node(node_list, e.x1, e.y1) + let b = find_closest_node(node_list, e.x2, e.y2) + if (a < 0 || b < 0) + console.log("CANNOT FIND EDGE", e, node_list[a], node_list[b]) + if (!node_list[a][edge_name]) + node_list[a][edge_name] = [] + if (!node_list[b][edge_name]) + node_list[b][edge_name] = [] + set_add(node_list[a][edge_name], b) + set_add(node_list[b][edge_name], a) + } +} + +function connect_edge_1way(a_list, b_list, edge_name, prop_name) { + console.log("EDGE", edge_name) + for (let e of edges[edge_name]) { + let a1 = find_closest_node(a_list, e.x1, e.y1) + let a2 = find_closest_node(a_list, e.x2, e.y2) + let b1 = find_closest_node(b_list, e.x1, e.y1) + let b2 = find_closest_node(b_list, e.x2, e.y2) + let a = a1 >= 0 ? a1 : a2 + let b = b1 >= 0 ? b1 : b2 + if (a < 0 || b < 0) + console.log("CANNOT FIND EDGE", e, a_list[a], b_list[b]) + if (!a_list[a][prop_name]) + a_list[a][prop_name] = [] + set_add(a_list[a][prop_name], b) + } +} + +/* WASHINGTON'S WAR */ + +function sort_alpha(list) { + list.sort((a,b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0) +} + +sort_alpha(points.fortress) +sort_alpha(points.winter_quarters) +sort_alpha(points.space) +points.colony.reverse() + +const data = {} + +data.spaces = [ ...points.fortress, ...points.winter_quarters, ...points.space ] +data.colonies = [ ...points.colony ] +data.seas = [ ...points.sea ] + +connect_edge_2way(data.spaces, "path") +connect_edge_2way(data.spaces, "wilderness") +connect_edge_1way(data.colonies, data.spaces, "colony", "spaces") +connect_edge_1way(data.seas, data.spaces, "sea", "spaces") + +console.log(JSON.stringify(data,0,4)) + +/* +function find_closest_node(list, x, y) { + let nd = Infinity, nn = null + + for (let n of list) { + let d = Math.hypot(n.x - x, n.y - y) + if (d < nd) { + nd = d + nn = n + } + } + + if (!nn) { + console.log("NOT FOUND", x, y) + return [ null, 0 ] + } + + return [ nn, nd ] +} + +function find_enclosing_rect(list, x, y) { + for (let [x1, y1, x2, y2] of list) { + if (x >= x1 && x <= x2) + if (y >= y1 && y <= y2) + return true + } + return false +} + + +function make_spaces(points) { + let spaces = [] + for (let [x,y] of points) { + let [ name, dist ] = find_closest_node(labels, x, y) + if (dist > 50) console.log("DISTANCE TOO FAR", x, y, dist) + + spaces.push({ name: name.name, x, y }) + } + return spaces +} + +let data = {} + +data.spaces = make_spaces([ ...points.fortress, ...points.winter_quarters, ...points.space ]) + +console.log(data) + +function find_closest_point(x, y) { + let nd = Infinity, nn = -1 + + for (let i = 0; i < points.length; ++i) { + let n = points[i] + let d = Math.hypot(n.x - x, n.y - y) + if (d < nd) { + nd = d + nn = i + } + } + + return nn +} + +// FIND and label all points! +let all_labels = labels.slice() +let cities = [] +for (let key in points) { + for (let [x, y] of points[key]) { + let [ node, dist ] = find_closest_node(labels, x, y) + if (dist > 15) { + console.log("DISTANCE TOO FAR", key,x,y, "dist=" + dist, "name=" + node.name) + } + if (node) { + labels = labels.filter(x => x !== node) + let suit = "UNKNOWN" + + if (find_enclosing_rect(rects.$CLUBS, x, y)) + suit = CLUBS + else if (find_enclosing_rect(rects.$HEARTS, x, y)) + suit = HEARTS + else if (find_enclosing_rect(rects.$DIAMONDS, x, y)) + suit = DIAMONDS + else if (find_enclosing_rect(rects.$SPADES, x, y)) + suit = SPADES + else + console.log("NOT ASSIGNED SUIT", x, y) + + let country = "UNKNOWN" + if (find_enclosing_rect(rects.$Empire, x, y)) { + country = EMPIRE + } + else if (find_enclosing_rect(rects.$Austria, x, y)) { + country = AUSTRIA + } + else if (find_enclosing_rect(rects.$Hanover, x, y)) { + country = HANOVER + } + else if (find_enclosing_rect(rects.$Saxony, x, y)) { + country = SAXONY + } + else if (find_enclosing_rect(rects.$Sweden, x, y)) { + country = SWEDEN + } + else if (find_enclosing_rect(rects.$Poland, x, y)) { + country = POLAND + } + else if (find_enclosing_rect(rects.$Prussia, x, y)) { + country = PRUSSIA + } + + if (country === "UNKNOWN") + console.log("no country:", node) + + cities.push({ + name: node.name, + country, + suit, + type: key, + x: Math.round(x), + y: Math.round(y), + adjacent: [], + major_roads: [], + roads: [], + }) + } else { + let [ dupname, dupdist ] = find_closest_node(all_labels, x, y) + console.log("ALREADY USED", dupname, dupdist, x, y) + } + } +} + +for (let e of edges.major_road) { + let a = find_closest_point(e.x1, e.y1) + let b = find_closest_point(e.x2, e.y2) + set_add(cities[a].major_roads, b) + set_add(cities[b].major_roads, a) + set_add(cities[a].adjacent, b) + set_add(cities[b].adjacent, a) +} + +for (let e of edges.road) { + let a = find_closest_point(e.x1, e.y1) + let b = find_closest_point(e.x2, e.y2) + set_add(cities[a].roads, b) + set_add(cities[b].roads, a) + set_add(cities[a].adjacent, b) + set_add(cities[b].adjacent, a) +} + +console.log("if (typeof module === 'object') module.exports = data") +*/ |