summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2024-05-21 01:26:37 +0200
committerTor Andersson <tor@ccxvii.net>2024-08-21 00:28:20 +0200
commit447f30551abb5b21740d22d453bc20837c5f7983 (patch)
treed6c62917508e5a68f83d05968697e857d174b8fc /tools
parent6595a0e76d5ee24f352c529cd82ceb794fa37697 (diff)
downloadwashingtons-war-447f30551abb5b21740d22d453bc20837c5f7983.tar.gz
layout processor
Diffstat (limited to 'tools')
-rw-r--r--tools/layout.svg2906
-rw-r--r--tools/parse-layout.js466
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")
+*/