mapwright 0.21.0__tar.gz → 0.23.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. {mapwright-0.21.0 → mapwright-0.23.0}/CHANGELOG.md +54 -0
  2. {mapwright-0.21.0 → mapwright-0.23.0}/PKG-INFO +25 -7
  3. {mapwright-0.21.0 → mapwright-0.23.0}/README.md +24 -6
  4. mapwright-0.23.0/docs/gallery/age-old.png +0 -0
  5. mapwright-0.23.0/docs/gallery/age-old.svg +1 -0
  6. mapwright-0.23.0/docs/gallery/age-young.png +0 -0
  7. mapwright-0.23.0/docs/gallery/age-young.svg +1 -0
  8. mapwright-0.23.0/docs/gallery/arctic.png +0 -0
  9. mapwright-0.23.0/docs/gallery/arctic.svg +1 -0
  10. mapwright-0.23.0/docs/gallery/citadel.png +0 -0
  11. mapwright-0.23.0/docs/gallery/citadel.svg +1 -0
  12. mapwright-0.23.0/docs/gallery/continent.png +0 -0
  13. mapwright-0.23.0/docs/gallery/continent.svg +1 -0
  14. mapwright-0.23.0/docs/gallery/desert.png +0 -0
  15. mapwright-0.23.0/docs/gallery/desert.svg +1 -0
  16. mapwright-0.23.0/docs/gallery/fortress-town.png +0 -0
  17. mapwright-0.23.0/docs/gallery/fortress-town.svg +1 -0
  18. mapwright-0.23.0/docs/gallery/grid-city.png +0 -0
  19. mapwright-0.23.0/docs/gallery/grid-city.svg +1 -0
  20. mapwright-0.23.0/docs/gallery/highlands.png +0 -0
  21. mapwright-0.23.0/docs/gallery/highlands.svg +1 -0
  22. mapwright-0.23.0/docs/gallery/metropolis.png +0 -0
  23. mapwright-0.23.0/docs/gallery/metropolis.svg +1 -0
  24. mapwright-0.23.0/docs/gallery/pangaea.png +0 -0
  25. mapwright-0.23.0/docs/gallery/pangaea.svg +1 -0
  26. mapwright-0.23.0/docs/gallery/port.png +0 -0
  27. mapwright-0.23.0/docs/gallery/port.svg +1 -0
  28. mapwright-0.23.0/docs/gallery/regions.png +0 -0
  29. mapwright-0.23.0/docs/gallery/regions.svg +1 -0
  30. mapwright-0.23.0/docs/gallery/roads.png +0 -0
  31. mapwright-0.23.0/docs/gallery/roads.svg +1 -0
  32. mapwright-0.23.0/docs/gallery/shantytown.png +0 -0
  33. mapwright-0.23.0/docs/gallery/shantytown.svg +1 -0
  34. mapwright-0.23.0/docs/gallery/terrain-town.png +0 -0
  35. mapwright-0.23.0/docs/gallery/terrain-town.svg +1 -0
  36. mapwright-0.23.0/docs/gallery/theme-blueprint.png +0 -0
  37. mapwright-0.23.0/docs/gallery/theme-blueprint.svg +1 -0
  38. mapwright-0.23.0/docs/gallery/theme-citadel-neon.png +0 -0
  39. mapwright-0.23.0/docs/gallery/theme-citadel-neon.svg +1 -0
  40. mapwright-0.23.0/docs/gallery/theme-dune.png +0 -0
  41. mapwright-0.23.0/docs/gallery/theme-dune.svg +1 -0
  42. mapwright-0.23.0/docs/gallery/theme-neon.png +0 -0
  43. mapwright-0.23.0/docs/gallery/theme-neon.svg +1 -0
  44. mapwright-0.23.0/docs/gallery/theme-parchment.png +0 -0
  45. mapwright-0.23.0/docs/gallery/theme-parchment.svg +1 -0
  46. mapwright-0.23.0/docs/gallery/town.png +0 -0
  47. mapwright-0.23.0/docs/gallery/town.svg +1 -0
  48. mapwright-0.23.0/docs/gallery/tropical.png +0 -0
  49. mapwright-0.23.0/docs/gallery/tropical.svg +1 -0
  50. {mapwright-0.21.0 → mapwright-0.23.0}/examples/gallery.py +24 -0
  51. {mapwright-0.21.0 → mapwright-0.23.0}/pyproject.toml +1 -1
  52. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/__init__.py +7 -1
  53. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/settlement.py +389 -55
  54. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/settlement_renderer.py +22 -0
  55. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/terrain.py +81 -13
  56. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_api_contract.py +4 -0
  57. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_settlement.py +172 -5
  58. mapwright-0.21.0/docs/gallery/age-old.png +0 -0
  59. mapwright-0.21.0/docs/gallery/age-old.svg +0 -1
  60. mapwright-0.21.0/docs/gallery/age-young.png +0 -0
  61. mapwright-0.21.0/docs/gallery/age-young.svg +0 -1
  62. mapwright-0.21.0/docs/gallery/arctic.png +0 -0
  63. mapwright-0.21.0/docs/gallery/arctic.svg +0 -1
  64. mapwright-0.21.0/docs/gallery/citadel.png +0 -0
  65. mapwright-0.21.0/docs/gallery/citadel.svg +0 -1
  66. mapwright-0.21.0/docs/gallery/continent.png +0 -0
  67. mapwright-0.21.0/docs/gallery/continent.svg +0 -1
  68. mapwright-0.21.0/docs/gallery/desert.png +0 -0
  69. mapwright-0.21.0/docs/gallery/desert.svg +0 -1
  70. mapwright-0.21.0/docs/gallery/grid-city.png +0 -0
  71. mapwright-0.21.0/docs/gallery/grid-city.svg +0 -1
  72. mapwright-0.21.0/docs/gallery/highlands.png +0 -0
  73. mapwright-0.21.0/docs/gallery/highlands.svg +0 -1
  74. mapwright-0.21.0/docs/gallery/metropolis.png +0 -0
  75. mapwright-0.21.0/docs/gallery/metropolis.svg +0 -1
  76. mapwright-0.21.0/docs/gallery/pangaea.png +0 -0
  77. mapwright-0.21.0/docs/gallery/pangaea.svg +0 -1
  78. mapwright-0.21.0/docs/gallery/port.png +0 -0
  79. mapwright-0.21.0/docs/gallery/port.svg +0 -1
  80. mapwright-0.21.0/docs/gallery/regions.png +0 -0
  81. mapwright-0.21.0/docs/gallery/regions.svg +0 -1
  82. mapwright-0.21.0/docs/gallery/roads.png +0 -0
  83. mapwright-0.21.0/docs/gallery/roads.svg +0 -1
  84. mapwright-0.21.0/docs/gallery/shantytown.png +0 -0
  85. mapwright-0.21.0/docs/gallery/shantytown.svg +0 -1
  86. mapwright-0.21.0/docs/gallery/theme-blueprint.png +0 -0
  87. mapwright-0.21.0/docs/gallery/theme-blueprint.svg +0 -1
  88. mapwright-0.21.0/docs/gallery/theme-citadel-neon.png +0 -0
  89. mapwright-0.21.0/docs/gallery/theme-citadel-neon.svg +0 -1
  90. mapwright-0.21.0/docs/gallery/theme-dune.png +0 -0
  91. mapwright-0.21.0/docs/gallery/theme-dune.svg +0 -1
  92. mapwright-0.21.0/docs/gallery/theme-neon.png +0 -0
  93. mapwright-0.21.0/docs/gallery/theme-neon.svg +0 -1
  94. mapwright-0.21.0/docs/gallery/theme-parchment.png +0 -0
  95. mapwright-0.21.0/docs/gallery/theme-parchment.svg +0 -1
  96. mapwright-0.21.0/docs/gallery/town.png +0 -0
  97. mapwright-0.21.0/docs/gallery/town.svg +0 -1
  98. mapwright-0.21.0/docs/gallery/tropical.png +0 -0
  99. mapwright-0.21.0/docs/gallery/tropical.svg +0 -1
  100. {mapwright-0.21.0 → mapwright-0.23.0}/.github/workflows/ci.yml +0 -0
  101. {mapwright-0.21.0 → mapwright-0.23.0}/.github/workflows/publish.yml +0 -0
  102. {mapwright-0.21.0 → mapwright-0.23.0}/.gitignore +0 -0
  103. {mapwright-0.21.0 → mapwright-0.23.0}/LICENSE +0 -0
  104. {mapwright-0.21.0 → mapwright-0.23.0}/NOTICE +0 -0
  105. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/archipelago.png +0 -0
  106. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/archipelago.svg +0 -0
  107. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas.png +0 -0
  108. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/README.md +0 -0
  109. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/city_castle_1.png +0 -0
  110. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/city_large_1.png +0 -0
  111. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/city_town_1.png +0 -0
  112. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/city_village_1.png +0 -0
  113. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/decoration_compass_1.png +0 -0
  114. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/decoration_creature_1.png +0 -0
  115. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/decoration_ship_1.png +0 -0
  116. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/dune_1.png +0 -0
  117. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/hill_1.png +0 -0
  118. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/hill_2.png +0 -0
  119. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/manifest.json +0 -0
  120. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/mountain_mid_1.png +0 -0
  121. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/mountain_old_1.png +0 -0
  122. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/mountain_old_2.png +0 -0
  123. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/mountain_young_1.png +0 -0
  124. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/mountain_young_2.png +0 -0
  125. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/tree_cactus_1.png +0 -0
  126. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/tree_deciduous_1.png +0 -0
  127. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/tree_deciduous_2.png +0 -0
  128. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/tree_pine_1.png +0 -0
  129. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/tree_pine_2.png +0 -0
  130. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/dungeon.png +0 -0
  131. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/dungeon.svg +0 -0
  132. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/hint.png +0 -0
  133. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/hint.svg +0 -0
  134. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/islands.png +0 -0
  135. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/islands.svg +0 -0
  136. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/template-atoll.png +0 -0
  137. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/template-atoll.svg +0 -0
  138. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/template-isthmus.png +0 -0
  139. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/template-isthmus.svg +0 -0
  140. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/theme-dungeon-blueprint.png +0 -0
  141. {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/theme-dungeon-blueprint.svg +0 -0
  142. {mapwright-0.21.0 → mapwright-0.23.0}/examples/benchmark.py +0 -0
  143. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/_geometry.py +0 -0
  144. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/_graph.py +0 -0
  145. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/_serde.py +0 -0
  146. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/affordances.py +0 -0
  147. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/atlas_renderer.py +0 -0
  148. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/config.py +0 -0
  149. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/dungeon.py +0 -0
  150. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/dungeon_renderer.py +0 -0
  151. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/names.py +0 -0
  152. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/regions.py +0 -0
  153. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/rng.py +0 -0
  154. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/roads.py +0 -0
  155. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/svg_renderer.py +0 -0
  156. {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/themes.py +0 -0
  157. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_affordances.py +0 -0
  158. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_atlas_renderer.py +0 -0
  159. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_config.py +0 -0
  160. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_dungeon.py +0 -0
  161. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_dungeon_renderer.py +0 -0
  162. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_geometry.py +0 -0
  163. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_graph.py +0 -0
  164. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_names.py +0 -0
  165. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_properties.py +0 -0
  166. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_regions.py +0 -0
  167. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_rng.py +0 -0
  168. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_roads.py +0 -0
  169. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_serialize.py +0 -0
  170. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_svg_renderer.py +0 -0
  171. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_terrain.py +0 -0
  172. {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_themes.py +0 -0
@@ -8,6 +8,60 @@ All notable changes to mapwright are documented here. The format follows
8
8
  `tests/test_api_contract.py`). While the version is `0.x`, minor versions may
9
9
  make breaking changes; these will always be noted here.
10
10
 
11
+ ## [0.23.0] — 2026-06-05
12
+
13
+ ### Added
14
+ - **Terrain-shaped settlements — a town takes the shape of its ground.**
15
+ `SettlementGenerator.generate` accepts an optional `terrain=` field (a callable
16
+ over normalised canvas coords `(xn, yn) -> elevation`, negative = water, or a 2D
17
+ grid). The footprint is then grown out from the core, each ray stopping at water
18
+ or ground too high to build — so a coastal town hugs its shore, a town between
19
+ lakes grows fingers, and a town on open flats spreads round. The shoreline is
20
+ derived from the real terrain (no synthetic straight coast needed); docks/harbour
21
+ follow it.
22
+ - New public `world_terrain_field(terrain, region=None)` builds such a field from
23
+ a generated `RegionalTerrain`, mapping the town's canvas onto a world rectangle.
24
+ - New public `TerrainField` type alias. Gallery **`terrain-town`** showcase.
25
+ - `terrain=None` is **unchanged** from before.
26
+
27
+ ### Changed
28
+ - **Continents are no longer roughly circular.** The single-continent heightmap no
29
+ longer frames the map with a radial distance-from-centre falloff (which forced a
30
+ disk). Instead it picks a per-world ocean-facing direction, offsets the landmass
31
+ toward the far (passive) margin, seeds it from two cratonic sub-plates, and frames
32
+ the sea with a **noise-warped, directional** term — so the coastline is ragged and
33
+ the continent sits off-centre, running off one edge like a real continental
34
+ margin. Multi-continent / template / hint worlds keep the prior radial frame and
35
+ are byte-identical (`archipelago`/`islands` unchanged).
36
+ - **Organic town outlines are concave, not oval.** The procedural footprint drops
37
+ the convex hull in favour of a star-shaped polar curve with several harmonics
38
+ (arms + bays); wards are clipped back to it so the fill matches. Planned (`grid`)
39
+ towns stay convex by design. The seeded RNG stream for settlements changed, so
40
+ exact organic-town geometry differs from 0.22.0.
41
+
42
+ ## [0.22.0] — 2026-06-02
43
+
44
+ ### Added
45
+ - **Settlement `purpose` + landmarks — what a town exists for.** A new
46
+ `SettlementConfig.purpose` field (`"general"` default, or `"trade"`,
47
+ `"fortress"`, `"religious"`, `"harbor"`, `"extraction"`, `"transit"`). Anything
48
+ but `"general"`:
49
+ - promotes the central ward to a purpose-specific **landmark** kind
50
+ (fortress→`citadel`, religious→`temple`, trade→`market`, harbor→`docks`,
51
+ extraction→`mine`, transit→`plaza`), recorded on the new
52
+ `Settlement.landmark` field (a new public `Landmark` type);
53
+ - focuses the **main roads** on that landmark (they radiate from it to the
54
+ gates);
55
+ - **biases the ward-kind mix** toward the purpose (e.g. fortress → more
56
+ garrison wards).
57
+ - The renderer draws a star glyph over the landmark ward.
58
+ - New presets **`fortress_town`**, **`pilgrimage_site`**, **`mining_camp`**;
59
+ gallery `fortress-town` showcase.
60
+ - `"general"` output is **byte-identical** to before (no landmark, unchanged
61
+ ward bag and roads). New `Landmark` public type; `Settlement` serialisation
62
+ bumps to `mapwright/settlement@5` (back-compatible — older payloads load with
63
+ no landmark and `purpose="general"`).
64
+
11
65
  ## [0.21.0] — 2026-06-02
12
66
 
13
67
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mapwright
3
- Version: 0.21.0
3
+ Version: 0.23.0
4
4
  Summary: Domain-neutral procedural fantasy map & world generation: Voronoi terrain, hydraulic erosion, biomes, rivers, Markov place-names, and shaded-relief SVG.
5
5
  Project-URL: Homepage, https://github.com/sligara7/mapwright
6
6
  Project-URL: Repository, https://github.com/sligara7/mapwright
@@ -100,6 +100,14 @@ produced by [`examples/gallery.py`](examples/gallery.py):
100
100
  <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/grid-city.png" alt="planned town with a geometric street grid"><br><sub><code>layout="grid"</code> (grid_city)</sub></td>
101
101
  </tr>
102
102
  <tr>
103
+ <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/fortress-town.png" alt="walled fortress town with a central citadel landmark"><br><sub><code>purpose="fortress"</code> (fortress_town)</sub></td>
104
+ <td align="center" colspan="2"><sub>A <code>purpose</code> seeds a central <b>landmark</b> (★) the main roads focus on — citadel, temple, mine, … — and biases the ward mix toward what the town is for.</sub></td>
105
+ </tr>
106
+ <tr>
107
+ <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/terrain-town.png" alt="a coastal town whose outline is carved by the world's shoreline"><br><sub><code>terrain=…</code> (terrain-shaped)</sub></td>
108
+ <td colspan="2" align="left"><sub>Pass a <code>terrain</code> field and the town <b>takes the shape of its ground</b> — grown out from the core until it meets water or ground too high to build. A coast hugs its shore, land between lakes grows fingers, open flats spread round. <code>world_terrain_field(world, region)</code> derives the field from a generated map, so a town seated on a real coastline follows that coastline.</sub></td>
109
+ </tr>
110
+ <tr>
103
111
  <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/roads.png" alt="settlements linked by terrain-routed roads"><br><sub><code>RegionalRoadGenerator</code></sub></td>
104
112
  <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/regions.png" alt="land partitioned into named territories"><br><sub><code>RegionGenerator</code></sub></td>
105
113
  <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/template-isthmus.png" alt="isthmus heightmap template"><br><sub><code>template="isthmus"</code></sub></td>
@@ -223,14 +231,24 @@ town = SettlementGenerator(SeededRNG(7)).generate(90, 90)
223
231
  port = SettlementGenerator(SeededRNG(5)).generate(90, 90, SettlementConfig.preset("port"))
224
232
  citadel = SettlementGenerator(SeededRNG(3)).generate(90, 90, SettlementConfig.preset("citadel"))
225
233
  open("town.svg", "w").write(SettlementSVGRenderer().render(town))
234
+
235
+ # Let the town take the shape of real terrain: seat it on a stretch of a world.
236
+ from mapwright import RegionalTerrainGenerator, world_terrain_field
237
+
238
+ world = RegionalTerrainGenerator(SeededRNG(103)).generate(64, 44)
239
+ field = world_terrain_field(world, region=(43, 14, 16, 16)) # a 16×16 world patch
240
+ coastal_town = SettlementGenerator(SeededRNG(5)).generate(90, 90, terrain=field)
226
241
  ```
227
242
 
228
243
  Settlement presets: `hamlet`, `village`, `town`, `city`, `port`, `citadel`,
229
- `shantytown`, `metropolis`, `grid_city`. The `wealth` (poor ⇄ rich) and `era`
230
- (ancientmodern) knobs drive the shanty↔skyscraper axis plot size, ward-kind
231
- mix, and block regularity. The `layout` knob picks the street pattern: `"organic"`
232
- (winding ward-to-ward roads, the default) or `"grid"` (a geometric street grid
233
- aligned to the town's long axis, with grid-aligned lots).
244
+ `shantytown`, `metropolis`, `grid_city`, `fortress_town`, `pilgrimage_site`,
245
+ `mining_camp`. The `wealth` (poorrich) and `era` (ancient modern) knobs drive
246
+ the shanty↔skyscraper axis — plot size, ward-kind mix, and block regularity. The
247
+ `layout` knob picks the street pattern: `"organic"` (winding ward-to-ward roads,
248
+ the default) or `"grid"` (a geometric street grid aligned to the town's long axis,
249
+ with grid-aligned lots). The `purpose` knob (`"fortress"`, `"religious"`,
250
+ `"extraction"`, …) gives the town a central **landmark** the main roads focus on
251
+ and biases its ward mix toward what it's for.
234
252
 
235
253
  ## What's inside
236
254
 
@@ -248,7 +266,7 @@ aligned to the town's long axis, with grid-aligned lots).
248
266
  | `RegionGenerator` | Partitions land into named factions/territories: spread capitals seed a flood fill over the land graph (sea divides them); each `Region` is Markov-named. |
249
267
  | `DungeonGenerator` | BSP-partitioned rooms + minimum-spanning-tree corridors → rooms, corridor cells, and a walkable grid (with `Dungeon.ascii()`). |
250
268
  | `DungeonSVGRenderer` | Renders a `Dungeon` to SVG: walls, carved floor, room outlines, optional tile grid and per-room labels. Takes a `theme=`. |
251
- | `SettlementGenerator` | Self-contained town layout: an organic footprint divided into named Voronoi **wards** (market, docks, …), each subdivided into building **lots**, a **street** network (`layout="organic"` → MST over ward adjacency + gate-to-market roads; `layout="grid"` → a geometric street grid + grid-aligned lots), an optional defensive **wall** (towers + gate gaps, opened at the harbour when coastal), and optional coastline. |
269
+ | `SettlementGenerator` | Town layout: an organic (concave, lobed) footprint divided into named Voronoi **wards** (market, docks, …), each subdivided into building **lots**, a **street** network (`layout="organic"` → MST over ward adjacency + gate-to-hub roads; `layout="grid"` → a geometric street grid + grid-aligned lots), an optional defensive **wall** (towers + gate gaps, opened at the harbour when coastal), an optional **`purpose`** that places a central **landmark** (citadel/temple/mine/…) the main roads focus on, and optional coastline. Pass an optional **`terrain`** field (or `world_terrain_field(world, region)`) to make the footprint **take the shape of its ground** — hugging shores, fingering between lakes, spreading round on flats. |
252
270
  | `SettlementSVGRenderer` | Renders a `Settlement` to SVG: sea, footprint, kind-coloured wards, building lots, streets, wall with towers/gatehouses, labels. Takes a `theme=`. |
253
271
 
254
272
  Everything is neutral: `RegionalTerrainGenerator` returns a `TerrainResult` of `TerrainCell`s
@@ -73,6 +73,14 @@ produced by [`examples/gallery.py`](examples/gallery.py):
73
73
  <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/grid-city.png" alt="planned town with a geometric street grid"><br><sub><code>layout="grid"</code> (grid_city)</sub></td>
74
74
  </tr>
75
75
  <tr>
76
+ <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/fortress-town.png" alt="walled fortress town with a central citadel landmark"><br><sub><code>purpose="fortress"</code> (fortress_town)</sub></td>
77
+ <td align="center" colspan="2"><sub>A <code>purpose</code> seeds a central <b>landmark</b> (★) the main roads focus on — citadel, temple, mine, … — and biases the ward mix toward what the town is for.</sub></td>
78
+ </tr>
79
+ <tr>
80
+ <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/terrain-town.png" alt="a coastal town whose outline is carved by the world's shoreline"><br><sub><code>terrain=…</code> (terrain-shaped)</sub></td>
81
+ <td colspan="2" align="left"><sub>Pass a <code>terrain</code> field and the town <b>takes the shape of its ground</b> — grown out from the core until it meets water or ground too high to build. A coast hugs its shore, land between lakes grows fingers, open flats spread round. <code>world_terrain_field(world, region)</code> derives the field from a generated map, so a town seated on a real coastline follows that coastline.</sub></td>
82
+ </tr>
83
+ <tr>
76
84
  <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/roads.png" alt="settlements linked by terrain-routed roads"><br><sub><code>RegionalRoadGenerator</code></sub></td>
77
85
  <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/regions.png" alt="land partitioned into named territories"><br><sub><code>RegionGenerator</code></sub></td>
78
86
  <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/template-isthmus.png" alt="isthmus heightmap template"><br><sub><code>template="isthmus"</code></sub></td>
@@ -196,14 +204,24 @@ town = SettlementGenerator(SeededRNG(7)).generate(90, 90)
196
204
  port = SettlementGenerator(SeededRNG(5)).generate(90, 90, SettlementConfig.preset("port"))
197
205
  citadel = SettlementGenerator(SeededRNG(3)).generate(90, 90, SettlementConfig.preset("citadel"))
198
206
  open("town.svg", "w").write(SettlementSVGRenderer().render(town))
207
+
208
+ # Let the town take the shape of real terrain: seat it on a stretch of a world.
209
+ from mapwright import RegionalTerrainGenerator, world_terrain_field
210
+
211
+ world = RegionalTerrainGenerator(SeededRNG(103)).generate(64, 44)
212
+ field = world_terrain_field(world, region=(43, 14, 16, 16)) # a 16×16 world patch
213
+ coastal_town = SettlementGenerator(SeededRNG(5)).generate(90, 90, terrain=field)
199
214
  ```
200
215
 
201
216
  Settlement presets: `hamlet`, `village`, `town`, `city`, `port`, `citadel`,
202
- `shantytown`, `metropolis`, `grid_city`. The `wealth` (poor ⇄ rich) and `era`
203
- (ancientmodern) knobs drive the shanty↔skyscraper axis plot size, ward-kind
204
- mix, and block regularity. The `layout` knob picks the street pattern: `"organic"`
205
- (winding ward-to-ward roads, the default) or `"grid"` (a geometric street grid
206
- aligned to the town's long axis, with grid-aligned lots).
217
+ `shantytown`, `metropolis`, `grid_city`, `fortress_town`, `pilgrimage_site`,
218
+ `mining_camp`. The `wealth` (poorrich) and `era` (ancient modern) knobs drive
219
+ the shanty↔skyscraper axis — plot size, ward-kind mix, and block regularity. The
220
+ `layout` knob picks the street pattern: `"organic"` (winding ward-to-ward roads,
221
+ the default) or `"grid"` (a geometric street grid aligned to the town's long axis,
222
+ with grid-aligned lots). The `purpose` knob (`"fortress"`, `"religious"`,
223
+ `"extraction"`, …) gives the town a central **landmark** the main roads focus on
224
+ and biases its ward mix toward what it's for.
207
225
 
208
226
  ## What's inside
209
227
 
@@ -221,7 +239,7 @@ aligned to the town's long axis, with grid-aligned lots).
221
239
  | `RegionGenerator` | Partitions land into named factions/territories: spread capitals seed a flood fill over the land graph (sea divides them); each `Region` is Markov-named. |
222
240
  | `DungeonGenerator` | BSP-partitioned rooms + minimum-spanning-tree corridors → rooms, corridor cells, and a walkable grid (with `Dungeon.ascii()`). |
223
241
  | `DungeonSVGRenderer` | Renders a `Dungeon` to SVG: walls, carved floor, room outlines, optional tile grid and per-room labels. Takes a `theme=`. |
224
- | `SettlementGenerator` | Self-contained town layout: an organic footprint divided into named Voronoi **wards** (market, docks, …), each subdivided into building **lots**, a **street** network (`layout="organic"` → MST over ward adjacency + gate-to-market roads; `layout="grid"` → a geometric street grid + grid-aligned lots), an optional defensive **wall** (towers + gate gaps, opened at the harbour when coastal), and optional coastline. |
242
+ | `SettlementGenerator` | Town layout: an organic (concave, lobed) footprint divided into named Voronoi **wards** (market, docks, …), each subdivided into building **lots**, a **street** network (`layout="organic"` → MST over ward adjacency + gate-to-hub roads; `layout="grid"` → a geometric street grid + grid-aligned lots), an optional defensive **wall** (towers + gate gaps, opened at the harbour when coastal), an optional **`purpose`** that places a central **landmark** (citadel/temple/mine/…) the main roads focus on, and optional coastline. Pass an optional **`terrain`** field (or `world_terrain_field(world, region)`) to make the footprint **take the shape of its ground** — hugging shores, fingering between lakes, spreading round on flats. |
225
243
  | `SettlementSVGRenderer` | Renders a `Settlement` to SVG: sea, footprint, kind-coloured wards, building lots, streets, wall with towers/gatehouses, labels. Takes a `theme=`. |
226
244
 
227
245
  Everything is neutral: `RegionalTerrainGenerator` returns a `TerrainResult` of `TerrainCell`s
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="576" height="396" viewBox="0 0 576 396"><rect width="576" height="396" fill="#183e56"/><g stroke-linejoin="round"><polygon points="0.0,0.0 13.2,0.0 16.3,18.3 0.0,27.9" fill="#d5c398" stroke="#d5c398" stroke-width="0.5"/><polygon points="13.2,0.0 41.2,0.0 41.5,8.2 24.3,21.4 16.3,18.3" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="41.2,0.0 70.8,0.0 66.9,20.2 51.0,19.4 41.5,8.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="70.8,0.0 89.5,0.0 95.2,15.0 90.7,21.5 66.7,21.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="89.5,0.0 117.5,0.0 111.8,15.0 95.2,15.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="117.5,0.0 133.2,0.0 139.4,21.5 116.3,21.5 111.8,15.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="133.2,0.0 157.1,0.0 154.5,18.1 139.3,21.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="157.1,0.0 177.1,0.0 175.9,19.0 153.5,25.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="177.1,0.0 196.3,0.0 198.2,17.1 183.9,24.0 175.9,19.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="196.3,0.0 220.0,0.0 221.2,20.9 210.5,23.6 198.2,17.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="220.0,0.0 245.4,0.0 243.9,14.4 221.2,20.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="245.4,0.0 267.8,0.0 267.8,21.4 253.7,24.2 243.9,14.4" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="267.8,0.0 290.2,0.0 293.3,14.2 287.5,21.5 272.2,24.0 267.8,21.4" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="290.2,0.0 316.8,0.0 311.7,16.3 293.3,14.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="316.8,0.0 335.7,0.0 335.0,21.4 314.5,20.3 311.7,16.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="335.7,0.0 350.5,0.0 357.6,15.9 353.4,20.8 335.0,21.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="350.5,0.0 374.5,0.0 374.0,14.0 357.6,15.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="374.5,0.0 398.2,0.0 398.2,13.9 395.3,16.3 374.1,13.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="398.2,0.0 420.2,0.0 415.8,17.5 398.2,14.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="420.2,0.0 438.8,0.0 438.8,20.2 418.0,20.2 415.8,17.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="438.8,0.0 463.7,0.0 466.1,14.0 464.0,17.5 442.6,24.1 438.8,20.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="463.7,0.0 494.1,0.0 490.2,15.6 466.1,14.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="494.1,0.0 515.3,0.0 516.2,17.3 508.7,24.0 494.4,22.8 490.2,15.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="515.3,0.0 535.5,0.0 535.5,21.6 516.2,17.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="535.5,0.0 553.5,0.0 553.5,21.0 547.8,24.2 535.5,21.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="553.5,0.0 576.0,0.0 576.0,23.9 553.5,21.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,33.3 0.0,27.9 16.3,18.3 24.3,21.4 29.9,35.0 21.9,45.5" fill="#cfbd94" stroke="#cfbd94" stroke-width="0.5"/><polygon points="29.9,35.0 24.3,21.4 41.5,8.2 51.0,19.4 42.8,35.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="42.8,35.9 51.0,19.4 68.0,20.2 68.6,38.4 49.1,44.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="68.6,37.8 68.0,21.5 90.7,21.5 93.6,36.1 86.9,41.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="93.6,36.1 90.7,21.5 95.2,15.0 111.8,15.0 116.3,21.5 113.3,36.7 106.8,41.4" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="113.3,36.7 116.3,21.5 138.9,21.5 137.8,45.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="137.8,45.0 138.9,21.1 161.6,16.7 161.9,40.4 155.6,47.5 147.5,49.3" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="161.9,40.4 161.7,22.8 175.9,19.0 183.9,24.0 185.4,42.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="185.1,39.8 183.9,24.0 198.2,17.1 210.5,23.6 201.5,45.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="202.2,44.3 210.5,23.6 221.1,20.9 230.4,39.0 220.7,52.7" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="230.4,39.0 221.1,20.8 243.9,14.4 253.7,24.2 246.5,40.9" fill="#edf7e3" stroke="#edf7e3" stroke-width="0.5"/><polygon points="246.5,40.9 253.7,24.2 267.8,21.4 272.2,24.0 273.3,45.7 266.1,51.3 248.8,44.9" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="273.3,45.7 272.2,24.0 287.5,21.5 297.3,41.1 290.5,49.1" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="297.3,41.1 287.5,21.5 293.3,14.2 311.7,16.3 314.5,20.3 310.7,39.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="310.5,40.5 314.5,20.3 335.2,21.4 335.2,40.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="335.2,42.8 335.2,21.6 353.4,20.8 358.9,42.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="357.9,38.8 353.4,20.8 357.6,15.9 373.7,14.1 375.1,36.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="373.6,13.6 395.3,16.3 393.8,41.1 380.4,40.6 375.1,36.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="393.7,42.2 395.3,16.3 398.2,14.0 415.8,17.5 418.1,20.2 414.9,36.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="414.9,36.0 418.1,20.2 438.8,20.2 442.6,24.1 442.4,31.9 425.3,45.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="442.4,31.9 442.6,24.1 464.0,17.5 470.2,37.3 464.8,43.6 452.4,44.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="470.2,37.3 464.0,17.5 466.1,14.0 490.2,15.6 494.4,22.8 487.5,38.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="494.4,22.8 508.7,24.0 515.8,41.3 512.6,47.3 491.2,46.0 487.5,38.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="515.8,41.3 508.7,24.0 516.2,17.3 534.7,21.4 527.3,38.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="534.9,20.9 547.8,24.2 548.8,41.7 537.6,47.3 527.3,38.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,23.9 576.0,44.6 555.8,46.3 548.8,41.7 547.8,24.2 553.5,21.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,58.5 0.0,33.3 21.9,45.5 21.9,58.5" fill="#d7c599" stroke="#d7c599" stroke-width="0.5"/><polygon points="21.9,59.4 21.9,45.5 29.9,35.0 42.8,35.9 49.1,44.2 47.6,57.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="47.3,60.2 49.1,44.2 68.1,38.5 71.7,64.0" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="70.8,57.4 68.0,37.7 86.9,41.1 85.2,60.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="85.2,60.8 86.9,41.1 93.6,36.1 106.8,41.4 107.3,60.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="107.3,59.4 106.8,41.4 113.3,36.7 136.9,45.4 123.9,61.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="137.3,44.8 147.5,49.3 147.5,74.1 131.7,78.8 123.9,61.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="155.6,47.5 161.9,40.4 181.4,42.3 176.4,65.4 172.6,65.7" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="182.2,38.7 199.8,45.3 195.2,65.1 176.7,63.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="200.2,43.4 220.7,52.7 224.1,68.9 195.0,65.9" fill="#61a05b" stroke="#61a05b" stroke-width="0.5"/><polygon points="222.8,62.9 220.7,52.7 230.4,39.0 246.5,40.9 248.8,44.9 240.0,68.3" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="248.8,44.9 266.1,51.3 266.6,63.5 258.8,70.9 241.4,64.5" fill="#6b8e5a" stroke="#6b8e5a" stroke-width="0.5"/><polygon points="266.6,63.5 266.1,51.3 273.3,45.7 290.5,49.1 292.6,61.3 283.2,71.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="292.6,61.3 290.5,49.1 297.3,41.1 311.4,39.6 316.6,61.7 311.3,68.1" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="316.6,61.7 311.7,40.5 337.5,40.5 333.6,59.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="333.6,59.8 337.1,42.8 354.6,42.8 358.7,58.5 353.4,66.1 340.7,67.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="358.7,58.5 353.7,39.3 375.1,36.6 380.4,40.6 372.5,58.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="372.5,58.5 380.4,40.6 394.6,41.1 396.8,49.8 392.6,61.3 379.7,67.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="396.8,49.8 394.8,41.9 414.9,36.0 425.3,45.6 426.2,56.6 416.8,61.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="426.2,56.6 425.3,45.6 442.4,31.9 452.4,44.5 446.2,57.6 434.4,61.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="446.2,57.6 452.4,44.5 464.8,43.6 471.4,62.3 464.2,72.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="471.4,62.3 464.8,43.6 470.2,37.3 487.5,38.2 491.2,46.0 487.7,59.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="487.7,59.1 491.2,46.0 512.6,47.3 514.1,52.9 497.0,70.0 496.2,70.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="514.1,52.9 512.6,47.3 515.8,41.3 527.3,38.7 537.6,47.3 534.9,59.3 525.3,64.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="534.9,59.3 537.6,47.3 548.8,41.7 555.8,46.3 551.3,67.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,44.6 576.0,59.6 551.7,65.7 555.8,46.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,81.3 0.0,58.5 22.5,58.5 22.5,78.8" fill="#d8c69b" stroke="#d8c69b" stroke-width="0.5"/><polygon points="22.5,73.2 22.5,59.3 50.4,57.7 45.4,81.1 45.1,81.3" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="45.4,81.1 49.8,60.6 62.9,62.6 70.6,88.0" fill="#decc9f" stroke="#decc9f" stroke-width="0.5"/><polygon points="69.2,83.4 60.7,55.3 85.4,60.6 82.8,79.0" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="82.8,79.0 85.4,60.8 105.8,60.8 104.7,81.0 92.9,85.7" fill="#f0dcab" stroke="#f0dcab" stroke-width="0.5"/><polygon points="104.7,81.0 105.9,59.2 123.9,61.9 131.7,78.8 129.3,83.3 112.8,85.6" fill="#f9e5b2" stroke="#f9e5b2" stroke-width="0.5"/><polygon points="147.5,74.1 147.5,49.3 155.6,47.5 172.6,65.7 157.2,78.8" fill="#64a45e" stroke="#64a45e" stroke-width="0.5"/><polygon points="159.0,85.2 157.2,78.8 172.6,65.7 173.8,65.6 184.6,89.3 183.5,91.3" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="184.6,89.3 172.8,63.5 195.9,65.2 195.4,82.7" fill="#63a25c" stroke="#63a25c" stroke-width="0.5"/><polygon points="195.4,82.7 195.9,66.0 217.5,68.3 214.4,89.9" fill="#62a15c" stroke="#62a15c" stroke-width="0.5"/><polygon points="218.5,61.6 236.2,67.1 238.2,85.5 234.8,90.0 228.8,91.6 214.9,86.8" fill="#609e5a" stroke="#609e5a" stroke-width="0.5"/><polygon points="235.7,62.4 258.8,70.9 258.8,85.5 238.2,85.5" fill="#88b471" stroke="#88b471" stroke-width="0.5"/><polygon points="258.8,85.9 258.8,70.9 266.6,63.5 283.2,71.9 284.1,83.9 272.2,88.6" fill="#467241" stroke="#467241" stroke-width="0.5"/><polygon points="284.2,85.2 283.2,71.9 292.6,61.3 311.3,68.1 312.0,75.3 302.4,86.4" fill="#477543" stroke="#477543" stroke-width="0.5"/><polygon points="312.0,75.3 311.3,68.1 316.6,61.7 333.6,59.8 340.7,67.6 335.6,83.3 328.7,86.1" fill="#446f3f" stroke="#446f3f" stroke-width="0.5"/><polygon points="335.6,83.3 340.7,67.6 353.4,66.1 361.5,79.0 353.7,95.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="361.5,79.0 353.4,66.1 358.7,58.5 372.5,58.5 379.7,67.8 378.3,77.5" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="378.1,78.8 379.7,67.8 392.6,61.3 406.0,78.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="405.2,77.8 392.6,61.3 396.8,49.8 416.8,61.5 409.5,76.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="409.5,76.6 416.8,61.5 426.2,56.6 434.4,61.3 436.9,83.9 425.2,87.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="436.9,83.9 434.4,61.3 446.2,57.6 464.2,72.3 464.2,73.4 442.7,86.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="473.7,85.3 464.2,73.4 464.2,72.3 471.4,62.3 487.7,59.1 496.2,70.0 488.6,82.3" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="497.0,70.0 514.1,52.9 525.3,64.0 525.2,64.2 506.9,75.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="506.9,75.2 525.2,64.2 530.8,89.1 512.1,86.4" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="530.6,88.1 525.2,64.2 525.3,64.0 534.9,59.3 550.4,67.3 551.5,77.1 532.7,88.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,59.6 576.0,79.0 551.6,78.2 550.2,66.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,101.3 0.0,81.3 18.4,79.2 23.2,97.5 19.8,102.3" fill="#52874d" stroke="#52874d" stroke-width="0.5"/><polygon points="23.2,97.5 16.2,70.9 45.1,81.3 39.3,96.2" fill="#dcca9d" stroke="#dcca9d" stroke-width="0.5"/><polygon points="39.3,96.2 45.1,81.3 45.4,81.1 66.4,86.8 66.6,92.1 46.6,105.8" fill="#dfcd9f" stroke="#dfcd9f" stroke-width="0.5"/><polygon points="66.6,92.1 66.3,84.3 82.8,79.0 92.9,85.7 91.6,101.4 87.1,106.0 72.7,102.6" fill="#e2cfa2" stroke="#e2cfa2" stroke-width="0.5"/><polygon points="91.6,101.4 92.9,85.7 104.7,81.0 112.8,85.6 110.1,104.3" fill="#558c50" stroke="#558c50" stroke-width="0.5"/><polygon points="109.1,111.4 112.8,85.6 129.3,83.3 132.5,93.8" fill="#5d9a57" stroke="#5d9a57" stroke-width="0.5"/><polygon points="132.5,93.8 129.3,83.3 131.7,78.8 147.5,74.1 157.2,78.8 159.0,85.2 154.1,103.4 150.7,106.2 139.8,102.1" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="154.1,103.4 159.0,85.2 183.5,91.3 184.0,107.5" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="183.9,104.5 183.5,91.3 184.6,89.3 195.4,82.7 211.4,88.8 206.8,104.5" fill="#62a25c" stroke="#62a25c" stroke-width="0.5"/><polygon points="211.3,111.5 206.8,104.5 212.2,85.9 228.8,91.6 225.2,110.9" fill="#c3bc7a" stroke="#c3bc7a" stroke-width="0.5"/><polygon points="234.8,90.0 238.3,85.5 259.3,85.5 254.4,105.3 244.8,105.0" fill="#9ed184" stroke="#9ed184" stroke-width="0.5"/><polygon points="254.4,105.3 259.2,86.0 272.2,88.6 272.2,110.0 264.5,116.6" fill="#cdc580" stroke="#cdc580" stroke-width="0.5"/><polygon points="272.2,110.0 272.2,88.7 285.9,83.2 288.1,107.6" fill="#b6af72" stroke="#b6af72" stroke-width="0.5"/><polygon points="288.1,107.6 286.1,85.4 302.4,86.4 309.5,104.7 292.3,110.3" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="309.1,103.7 302.4,86.4 312.0,75.3 328.7,86.1 323.2,101.7" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="323.2,101.7 328.7,86.1 335.6,83.3 353.7,95.9 355.3,101.5 331.9,110.9" fill="#416a3d" stroke="#416a3d" stroke-width="0.5"/><polygon points="354.8,99.6 353.7,95.9 361.5,79.0 379.0,77.5 381.7,98.1" fill="#5a9454" stroke="#5a9454" stroke-width="0.5"/><polygon points="381.7,97.6 379.2,78.8 404.2,78.8 399.2,95.1" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="399.2,95.1 404.5,78.0 409.5,76.6 425.2,87.8 418.4,105.3 408.3,105.1" fill="#5c9756" stroke="#5c9756" stroke-width="0.5"/><polygon points="418.4,105.3 425.2,87.8 436.9,83.9 442.7,86.6 448.6,101.5 437.4,112.7 420.8,108.3" fill="#53894e" stroke="#53894e" stroke-width="0.5"/><polygon points="448.6,101.5 442.7,86.6 464.2,73.4 473.7,85.3 471.0,101.5 463.5,106.5" fill="#395d35" stroke="#395d35" stroke-width="0.5"/><polygon points="471.0,101.5 473.7,85.3 488.6,82.3 499.6,97.9 484.9,107.1" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="488.6,82.3 496.2,70.0 497.0,70.0 506.9,75.2 512.1,86.4 500.0,98.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="511.1,111.4 500.5,98.0 512.1,86.4 529.4,88.9 524.6,105.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="532.7,88.1 552.8,76.3 559.1,101.7 551.9,106.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,79.0 576.0,101.7 559.1,101.7 553.3,78.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,123.1 0.0,101.3 19.8,102.3 23.3,121.6" fill="#548a4f" stroke="#548a4f" stroke-width="0.5"/><polygon points="23.3,121.5 19.8,102.3 23.2,97.5 39.3,96.2 46.6,105.8 47.4,112.4 40.3,121.5" fill="#4f834a" stroke="#4f834a" stroke-width="0.5"/><polygon points="47.4,112.4 46.6,105.8 66.6,92.1 72.7,102.6 63.7,116.4" fill="#6e7f4c" stroke="#6e7f4c" stroke-width="0.5"/><polygon points="63.7,116.4 72.7,102.6 87.1,106.0 88.6,116.2 84.7,124.0 69.6,128.9" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="88.6,116.2 87.1,106.0 91.6,101.4 112.5,104.7 116.8,123.2" fill="#748550" stroke="#748550" stroke-width="0.5"/><polygon points="115.9,119.5 113.3,108.2 132.5,93.8 139.8,102.1 119.6,120.7" fill="#609f5a" stroke="#609f5a" stroke-width="0.5"/><polygon points="119.6,120.7 139.8,102.1 150.7,106.2 150.8,118.0 129.0,129.5" fill="#64a45e" stroke="#64a45e" stroke-width="0.5"/><polygon points="150.8,118.0 150.7,106.2 154.1,103.4 182.1,107.2 182.4,119.2 173.0,128.6 157.7,127.0" fill="#609f5a" stroke="#609f5a" stroke-width="0.5"/><polygon points="182.4,119.2 182.0,104.5 206.8,104.5 211.3,111.5 207.7,122.7 199.0,128.5" fill="#cdc580" stroke="#cdc580" stroke-width="0.5"/><polygon points="207.7,122.7 211.3,111.5 231.9,110.6 234.7,123.2 221.3,131.8" fill="#a8a269" stroke="#a8a269" stroke-width="0.5"/><polygon points="221.7,129.3 228.8,91.6 234.8,90.0 244.8,105.0" fill="#a8a269" stroke="#a8a269" stroke-width="0.5"/><polygon points="234.7,123.2 233.3,117.1 244.8,105.0 254.4,105.3 264.5,116.6 264.1,121.4 240.5,127.7" fill="#93c27a" stroke="#93c27a" stroke-width="0.5"/><polygon points="264.3,119.2 264.5,116.6 272.3,110.0 288.1,107.6 292.3,110.3 292.0,131.4 285.9,131.9" fill="#b9b274" stroke="#b9b274" stroke-width="0.5"/><polygon points="292.0,131.0 292.3,110.3 307.9,105.3 313.8,131.8" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="312.9,127.8 307.6,103.9 323.2,101.7 331.9,110.9 331.3,120.9" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="331.3,120.9 331.9,110.9 354.0,102.1 359.6,120.4 349.9,131.1 339.2,130.1" fill="#457140" stroke="#457140" stroke-width="0.5"/><polygon points="359.6,120.4 353.2,99.7 381.3,98.2 383.0,114.0 372.1,123.1" fill="#53894e" stroke="#53894e" stroke-width="0.5"/><polygon points="383.0,114.0 381.2,97.7 399.2,95.1 408.3,105.1 396.8,119.9" fill="#599354" stroke="#599354" stroke-width="0.5"/><polygon points="396.8,119.9 408.3,105.1 418.4,105.3 420.8,108.3 417.6,128.6 411.8,132.2 399.0,126.0" fill="#50834b" stroke="#50834b" stroke-width="0.5"/><polygon points="420.8,108.3 437.4,112.7 441.8,134.6 417.6,128.6" fill="#436f3f" stroke="#436f3f" stroke-width="0.5"/><polygon points="440.3,126.8 437.4,112.7 448.6,101.5 463.5,106.5 463.5,118.1 453.5,129.4" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="463.5,118.1 463.5,106.5 471.0,101.5 484.9,107.1 489.5,123.7 481.5,131.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="489.5,123.7 484.9,107.1 500.1,97.6 511.1,111.4 507.8,124.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="507.8,124.1 511.1,111.4 524.6,105.6 538.5,119.1 532.2,130.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="538.5,119.1 524.6,105.6 529.7,88.1 532.7,88.1 551.9,106.1 547.7,116.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,101.7 576.0,127.8 558.8,127.2 547.7,116.0 551.9,106.1 559.1,101.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,142.3 0.0,123.1 23.2,121.6 20.7,144.6" fill="#52874d" stroke="#52874d" stroke-width="0.5"/><polygon points="20.6,145.2 23.2,121.5 40.3,121.5 46.8,135.4 39.1,146.8" fill="#4f824a" stroke="#4f824a" stroke-width="0.5"/><polygon points="46.8,135.4 40.3,121.5 47.4,112.4 63.7,116.4 69.6,128.9 65.8,137.8" fill="#50844b" stroke="#50844b" stroke-width="0.5"/><polygon points="65.2,139.1 69.6,128.9 84.7,124.0 96.5,140.5 87.0,150.0" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="96.5,140.5 84.7,124.0 88.6,116.2 111.7,122.0 101.4,140.0" fill="#788a53" stroke="#788a53" stroke-width="0.5"/><polygon points="101.4,140.0 113.6,118.7 119.6,120.7 129.0,129.5 130.3,138.6 113.0,149.7" fill="#599354" stroke="#599354" stroke-width="0.5"/><polygon points="130.3,138.6 129.0,129.5 150.8,118.0 157.7,127.0 150.1,145.8 141.7,148.5" fill="#609e5a" stroke="#609e5a" stroke-width="0.5"/><polygon points="150.1,145.8 157.7,127.0 173.0,128.6 176.5,143.4 160.2,151.3" fill="#5f9c59" stroke="#5f9c59" stroke-width="0.5"/><polygon points="176.5,143.4 173.0,128.6 182.4,119.2 199.0,128.5 199.0,139.8 190.5,149.5 185.1,150.0" fill="#bab374" stroke="#bab374" stroke-width="0.5"/><polygon points="199.0,139.8 199.0,128.5 207.7,122.7 221.3,131.8 219.9,147.4" fill="#bab375" stroke="#bab375" stroke-width="0.5"/><polygon points="219.8,148.3 221.3,131.8 234.7,123.2 240.5,127.7 242.0,146.0 227.0,150.7" fill="#908b5a" stroke="#908b5a" stroke-width="0.5"/><polygon points="242.0,146.0 240.5,127.7 262.1,122.0 262.1,139.7 246.5,148.6" fill="#b0aa6e" stroke="#b0aa6e" stroke-width="0.5"/><polygon points="262.1,117.9 285.9,131.9 272.4,147.0 262.1,139.7" fill="#bfb878" stroke="#bfb878" stroke-width="0.5"/><polygon points="294.2,156.7 291.5,131.0 310.4,131.7 314.8,141.8 306.3,155.3" fill="#6f6961" stroke="#6f6961" stroke-width="0.5"/><polygon points="314.8,141.8 309.3,129.2 331.3,120.9 339.2,130.1 328.9,146.4" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="333.9,157.2 328.9,146.4 339.2,130.1 349.9,131.1 355.2,144.3 342.9,156.6" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="355.2,144.3 349.9,131.1 359.6,120.4 372.1,123.1 378.4,140.7 371.6,149.2 368.8,149.7" fill="#487744" stroke="#487744" stroke-width="0.5"/><polygon points="378.4,140.7 372.1,123.1 383.0,114.0 396.8,119.9 399.0,126.0 387.7,140.2" fill="#578f52" stroke="#578f52" stroke-width="0.5"/><polygon points="399.0,126.0 411.8,132.2 411.8,147.5 401.8,154.3 387.7,140.2" fill="#487743" stroke="#487743" stroke-width="0.5"/><polygon points="411.7,147.5 411.7,132.2 417.6,128.6 434.2,132.8 434.2,143.9 423.4,151.8" fill="#395e36" stroke="#395e36" stroke-width="0.5"/><polygon points="434.2,143.9 434.2,125.5 453.5,129.4 458.8,143.0 455.5,150.4 446.3,151.6" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="458.8,143.0 453.5,129.4 463.5,118.1 481.5,131.6 480.4,138.5" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="480.4,138.5 481.5,131.6 489.5,123.7 507.8,124.2 507.4,146.8 488.4,152.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="507.8,124.1 532.2,130.2 534.2,141.7 516.2,152.0 507.4,146.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="534.2,141.7 532.2,130.2 538.5,119.1 547.7,116.0 558.8,127.2 550.1,144.6 542.2,146.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,127.8 576.0,142.5 558.0,148.5 550.1,144.6 558.8,127.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,166.7 0.0,142.3 21.3,144.6 18.4,164.8" fill="#4e8049" stroke="#4e8049" stroke-width="0.5"/><polygon points="17.1,173.8 21.2,145.3 39.1,146.8 44.2,157.5" fill="#4d7f48" stroke="#4d7f48" stroke-width="0.5"/><polygon points="44.2,157.5 39.1,146.8 46.8,135.4 67.1,138.0 60.6,157.9 49.4,160.9" fill="#50834b" stroke="#50834b" stroke-width="0.5"/><polygon points="60.6,157.9 66.5,139.8 87.0,150.0 87.0,159.8 70.9,167.2" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="87.0,159.8 87.0,150.0 96.5,140.5 101.4,140.0 113.0,149.7 113.8,162.8 96.2,168.6" fill="#788a53" stroke="#788a53" stroke-width="0.5"/><polygon points="113.8,162.8 113.0,149.7 130.3,138.6 141.7,148.5 140.3,153.5 120.9,168.1" fill="#609e5a" stroke="#609e5a" stroke-width="0.5"/><polygon points="140.3,153.5 141.7,148.5 150.1,145.8 160.2,151.3 164.3,165.9 149.6,174.3" fill="#5a9454" stroke="#5a9454" stroke-width="0.5"/><polygon points="164.3,165.9 160.2,151.3 176.5,143.4 185.1,150.0 175.1,169.4" fill="#5c9857" stroke="#5c9857" stroke-width="0.5"/><polygon points="177.9,174.5 175.1,169.4 185.1,150.0 190.5,149.5 205.5,168.4 201.2,174.5" fill="#cac27e" stroke="#cac27e" stroke-width="0.5"/><polygon points="205.3,168.2 190.5,149.5 199.0,139.8 221.1,147.8" fill="#bdb676" stroke="#bdb676" stroke-width="0.5"/><polygon points="232.7,176.4 227.0,150.7 242.0,146.0 246.5,148.6 250.6,158.6 239.7,175.7" fill="#aea76c" stroke="#aea76c" stroke-width="0.5"/><polygon points="250.6,158.6 246.5,148.6 262.1,139.7 272.4,147.0 274.5,156.9 266.8,163.7" fill="#bcb576" stroke="#bcb576" stroke-width="0.5"/><polygon points="272.4,147.0 285.9,131.9 291.5,131.4 294.7,161.2 274.5,156.9" fill="#c7c07c" stroke="#c7c07c" stroke-width="0.5"/><polygon points="292.9,178.4 289.9,157.2 306.3,155.3 319.1,169.9 317.7,172.9" fill="#988f84" stroke="#988f84" stroke-width="0.5"/><polygon points="306.3,155.3 314.8,141.8 328.9,146.4 333.9,157.2 329.4,165.1 319.1,169.9" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="342.9,156.6 355.2,144.3 368.7,149.7 357.8,171.5" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="358.2,173.5 357.9,171.5 368.8,149.7 371.6,149.2 383.5,165.6 375.1,176.2" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="383.5,165.6 371.6,149.2 378.4,140.7 387.7,140.2 401.8,154.3 398.6,165.6" fill="#487643" stroke="#487643" stroke-width="0.5"/><polygon points="398.4,166.3 401.8,154.3 411.8,147.5 423.4,151.8 427.2,167.3 419.7,176.2" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="427.2,167.3 423.4,151.8 434.2,143.9 446.3,151.6 437.7,167.0" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="437.7,167.0 446.3,151.6 455.5,150.4 464.4,165.7 464.1,167.0 450.7,178.4" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="464.4,165.7 455.5,150.4 458.8,143.0 480.4,138.5 488.4,152.6 487.6,155.0" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="487.6,155.0 488.4,152.6 507.4,146.8 516.2,152.0 518.7,166.8 509.1,176.4 493.7,171.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="518.7,166.8 516.2,152.0 534.2,141.7 542.2,146.6 542.2,163.1 531.8,170.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="542.2,163.1 542.2,146.6 550.1,144.6 558.0,148.5 561.8,159.8 553.0,168.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,142.5 576.0,162.6 561.8,159.8 558.0,148.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,185.7 0.0,166.7 21.6,164.5 25.7,177.6 20.7,188.7" fill="#487744" stroke="#487744" stroke-width="0.5"/><polygon points="25.7,177.6 23.3,170.1 44.2,157.5 49.4,160.9 47.2,180.0" fill="#4c7e48" stroke="#4c7e48" stroke-width="0.5"/><polygon points="47.2,180.0 49.4,160.9 60.6,157.9 70.9,167.2 69.1,184.5 50.8,184.5" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="69.2,183.4 70.9,167.2 87.0,159.8 96.2,168.6 94.0,183.1 86.5,187.5" fill="#7f9258" stroke="#7f9258" stroke-width="0.5"/><polygon points="94.0,183.1 96.2,168.6 113.8,162.8 120.9,168.1 122.7,173.2 121.5,179.8 108.1,191.0" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="121.5,179.8 122.7,173.2 148.7,176.4 149.7,183.6 134.2,195.0" fill="#64a55e" stroke="#64a55e" stroke-width="0.5"/><polygon points="122.7,173.2 120.9,168.1 140.3,153.5 150.6,176.6" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="149.7,183.6 148.5,174.9 164.3,165.9 175.1,169.4 177.9,174.5 174.9,187.4 157.7,190.6" fill="#c9c17e" stroke="#c9c17e" stroke-width="0.5"/><polygon points="174.9,187.4 177.9,174.5 201.2,174.5 202.3,189.2 195.8,195.8 177.5,191.2" fill="#cbc37f" stroke="#cbc37f" stroke-width="0.5"/><polygon points="220.5,196.3 202.3,189.2 201.2,174.5 205.3,168.6 230.8,177.7 225.5,193.7" fill="#b2ac70" stroke="#b2ac70" stroke-width="0.5"/><polygon points="205.0,168.5 220.5,148.5 227.0,150.7 233.2,178.6" fill="#a7a168" stroke="#a7a168" stroke-width="0.5"/><polygon points="239.7,175.7 250.6,158.6 266.8,163.7 266.8,183.8 256.0,186.8" fill="#afa86d" stroke="#afa86d" stroke-width="0.5"/><polygon points="266.8,183.8 266.8,163.7 274.5,156.9 290.3,160.2 292.9,178.4 291.0,182.9 271.3,186.2" fill="#b7b173" stroke="#b7b173" stroke-width="0.5"/><polygon points="290.8,183.2 292.9,178.4 317.7,172.9 320.3,189.0 310.5,195.0" fill="#888177" stroke="#888177" stroke-width="0.5"/><polygon points="320.3,189.0 317.7,172.9 319.1,169.9 329.4,165.1 344.9,184.2 330.3,193.9" fill="#5f5952" stroke="#5f5952" stroke-width="0.5"/><polygon points="329.4,165.1 333.9,157.2 342.9,156.6 357.9,171.5 358.2,173.5 350.6,184.3 344.9,184.2" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="350.6,184.3 358.2,173.5 375.1,176.2 380.3,190.5 374.9,195.4 355.2,192.3" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="380.3,190.5 375.1,176.2 383.5,165.6 399.6,165.6 393.2,192.0" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="399.3,166.7 419.7,176.2 420.6,182.8 417.6,190.2 396.3,195.0 393.2,192.0" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="420.6,182.8 419.7,176.2 427.2,167.3 437.7,167.0 450.7,178.4 449.3,186.6 447.2,189.0" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="449.3,186.6 450.7,178.4 464.1,167.0 480.3,186.8 471.1,194.6" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="464.1,167.0 464.4,165.7 487.6,155.0 493.7,171.6 480.7,187.2" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="481.1,186.7 493.7,171.6 509.1,176.4 510.8,188.2 493.5,197.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="510.8,188.2 509.1,176.4 518.7,166.8 531.8,170.9 535.7,184.5 532.3,190.5 513.8,190.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="535.7,184.5 531.8,170.9 542.2,163.1 553.0,168.5 556.7,178.0 551.8,184.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,162.6 576.0,179.4 556.7,178.0 553.0,168.5 561.8,159.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,204.9 0.0,185.7 20.7,188.7 23.6,199.7 12.4,208.3" fill="#487643" stroke="#487643" stroke-width="0.5"/><polygon points="23.6,199.7 20.7,188.7 25.7,177.6 47.3,180.0 50.9,184.5 44.1,201.3 32.5,204.1" fill="#697848" stroke="#697848" stroke-width="0.5"/><polygon points="44.1,201.3 50.9,184.5 67.5,184.5 67.5,209.2 59.8,215.4" fill="#819459" stroke="#819459" stroke-width="0.5"/><polygon points="67.5,209.2 67.5,183.0 86.5,187.5 86.5,209.2" fill="#65a65e" stroke="#65a65e" stroke-width="0.5"/><polygon points="86.5,209.2 86.5,187.5 94.0,183.1 108.1,191.0 110.0,201.7 107.6,206.9 90.0,212.4" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="110.0,201.7 108.1,191.0 121.5,179.8 134.2,195.0 133.0,201.7" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="133.0,201.7 134.2,195.0 149.7,183.6 157.7,190.6 156.0,210.5 136.0,208.2" fill="#d3f49e" stroke="#d3f49e" stroke-width="0.5"/><polygon points="155.7,213.6 157.7,190.6 174.9,187.4 177.5,191.2 174.8,208.4" fill="#cdc580" stroke="#cdc580" stroke-width="0.5"/><polygon points="174.8,208.4 177.5,191.2 195.8,195.8 195.8,208.1 183.4,214.3" fill="#b5ae71" stroke="#b5ae71" stroke-width="0.5"/><polygon points="203.3,213.8 195.7,208.1 195.7,195.8 202.3,189.2 220.5,196.3 216.1,211.6" fill="#95905d" stroke="#95905d" stroke-width="0.5"/><polygon points="225.5,193.7 231.2,176.5 239.7,175.7 256.0,186.8 246.6,208.3" fill="#a29b65" stroke="#a29b65" stroke-width="0.5"/><polygon points="246.8,209.5 246.6,208.3 256.0,186.8 266.8,183.8 271.3,186.2 275.9,217.4" fill="#908a5a" stroke="#908a5a" stroke-width="0.5"/><polygon points="275.3,213.3 271.3,186.2 291.4,182.8 291.4,211.3" fill="#a09a64" stroke="#a09a64" stroke-width="0.5"/><polygon points="291.4,210.7 291.4,183.6 310.5,195.0 308.7,203.3" fill="#aaa46b" stroke="#aaa46b" stroke-width="0.5"/><polygon points="308.7,203.3 310.5,195.0 320.3,189.0 330.3,193.9 332.7,210.3 319.1,215.7" fill="#898177" stroke="#898177" stroke-width="0.5"/><polygon points="332.7,210.3 330.3,193.9 344.9,184.2 350.6,184.3 355.2,192.3 352.6,208.6 334.7,211.4" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="351.6,215.1 355.2,192.3 374.9,195.4 373.6,211.9" fill="#708154" stroke="#708154" stroke-width="0.5"/><polygon points="373.6,211.9 374.9,195.4 380.3,190.5 393.2,192.0 396.3,195.0 396.8,204.3 378.3,215.9" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="396.8,204.3 396.3,195.0 417.6,190.2 423.4,204.7 420.7,209.8 402.2,211.5" fill="#375a33" stroke="#375a33" stroke-width="0.5"/><polygon points="423.4,204.7 417.6,190.2 420.6,182.8 447.2,189.0 443.9,203.6" fill="#385b34" stroke="#385b34" stroke-width="0.5"/><polygon points="443.6,204.9 447.2,189.0 449.3,186.6 471.1,194.6 469.1,209.9 466.3,211.6" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="469.1,209.9 471.1,194.6 480.7,186.4 493.5,197.8 493.8,205.2 483.8,215.2" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="493.8,205.2 493.5,197.8 510.8,188.2 513.8,190.8 515.7,209.5 509.8,214.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="515.7,209.5 513.8,190.8 532.3,190.5 536.7,205.0 533.0,211.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="536.7,205.0 532.3,190.5 535.7,184.5 551.8,184.5 556.3,202.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,179.4 576.0,201.1 556.1,201.8 551.8,184.5 556.7,178.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,228.1 0.0,204.9 12.4,208.3 12.4,222.2" fill="#4b7b46" stroke="#4b7b46" stroke-width="0.5"/><polygon points="12.4,222.2 12.4,208.3 23.6,199.7 32.5,204.1 32.5,225.3 24.5,230.1" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="32.5,225.3 32.5,204.1 44.1,201.3 59.8,215.4 59.4,218.7 45.8,229.1" fill="#7c8f56" stroke="#7c8f56" stroke-width="0.5"/><polygon points="59.4,218.7 59.8,215.4 67.5,209.2 86.5,209.2 90.0,212.4 90.0,227.9 88.6,229.5 68.1,229.5" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="90.0,227.9 90.0,212.4 107.6,206.9 116.1,221.3 109.3,232.3" fill="#64a45d" stroke="#64a45d" stroke-width="0.5"/><polygon points="116.1,221.3 107.6,206.9 110.0,201.8 133.0,201.8 136.0,208.2 130.2,220.8" fill="#64a45e" stroke="#64a45e" stroke-width="0.5"/><polygon points="130.2,220.8 136.0,208.2 158.1,210.7 158.5,223.8 152.2,230.8 134.7,229.2" fill="#cdc580" stroke="#cdc580" stroke-width="0.5"/><polygon points="158.5,223.8 158.2,213.0 174.8,208.4 183.4,214.3 182.8,227.6 177.0,233.4" fill="#aca66c" stroke="#aca66c" stroke-width="0.5"/><polygon points="182.8,227.6 183.4,214.3 195.8,208.1 203.3,213.8 200.7,230.4" fill="#7d794e" stroke="#7d794e" stroke-width="0.5"/><polygon points="205.3,236.7 200.7,230.4 203.3,213.8 216.1,211.6 224.2,221.7 219.8,232.0" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="216.1,211.6 220.5,196.3 225.5,193.7 246.6,208.3 246.8,209.5 241.4,218.9 224.2,221.7" fill="#817c50" stroke="#817c50" stroke-width="0.5"/><polygon points="241.4,218.9 246.8,209.5 272.0,216.3 271.3,236.7 267.8,239.0 246.4,234.7" fill="#827e52" stroke="#827e52" stroke-width="0.5"/><polygon points="271.2,238.8 272.1,213.6 290.9,211.4 299.2,224.2 297.7,235.0" fill="#aca56b" stroke="#aca56b" stroke-width="0.5"/><polygon points="299.2,224.2 290.7,211.0 308.7,203.3 319.1,215.7 317.4,219.0" fill="#a9a36a" stroke="#a9a36a" stroke-width="0.5"/><polygon points="321.5,235.2 317.4,219.0 319.1,215.7 332.7,210.3 334.7,211.4 339.4,230.6 330.1,239.9" fill="#e2e5e9" stroke="#e2e5e9" stroke-width="0.5"/><polygon points="339.4,230.5 334.7,211.4 359.1,207.6 355.6,231.7" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="355.5,232.3 358.1,214.1 373.6,211.9 378.3,215.9 381.8,227.0 372.6,235.4" fill="#708154" stroke="#708154" stroke-width="0.5"/><polygon points="381.8,227.0 378.3,215.9 396.8,204.3 402.2,211.5 400.6,221.5 388.5,229.0" fill="#708154" stroke="#708154" stroke-width="0.5"/><polygon points="400.6,221.5 402.2,211.5 420.7,209.8 423.3,223.5 413.0,230.5" fill="#3c6338" stroke="#3c6338" stroke-width="0.5"/><polygon points="423.3,223.5 420.7,209.8 423.4,204.7 445.2,203.5 441.6,228.9 438.7,230.7" fill="#5a784b" stroke="#5a784b" stroke-width="0.5"/><polygon points="441.6,228.9 444.9,205.3 466.3,211.6 460.7,231.7" fill="#546f46" stroke="#546f46" stroke-width="0.5"/><polygon points="459.3,236.6 466.3,211.6 469.1,209.9 483.8,215.2 487.3,228.2" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="487.6,229.5 483.8,215.2 493.8,205.2 509.8,214.6 508.4,226.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="508.1,228.7 509.8,214.6 515.7,209.5 533.0,211.0 535.8,222.0 530.0,230.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="535.8,222.0 533.0,211.0 536.7,205.0 555.3,202.6 555.3,226.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,201.1 576.0,230.6 555.3,228.6 555.3,201.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,240.9 0.0,228.1 12.4,222.2 24.5,230.1 21.6,246.2" fill="#6e7f4c" stroke="#6e7f4c" stroke-width="0.5"/><polygon points="21.6,246.5 24.5,230.1 32.5,225.3 45.8,229.1 48.5,251.0" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="48.4,249.9 45.8,229.1 59.4,218.7 68.1,229.5 65.7,246.8" fill="#809358" stroke="#809358" stroke-width="0.5"/><polygon points="65.7,246.8 68.1,229.5 88.6,229.5 87.1,247.3 74.1,252.5" fill="#5e9a58" stroke="#5e9a58" stroke-width="0.5"/><polygon points="87.1,247.3 88.6,229.5 90.0,227.9 109.3,232.3 112.5,241.4 104.8,252.8 98.2,254.6" fill="#c4bd7b" stroke="#c4bd7b" stroke-width="0.5"/><polygon points="112.5,241.4 109.3,232.3 116.1,221.3 130.2,220.8 134.7,229.2 129.2,244.4" fill="#cdc580" stroke="#cdc580" stroke-width="0.5"/><polygon points="127.3,249.6 134.7,229.2 152.2,230.8 153.3,246.9" fill="#c6be7c" stroke="#c6be7c" stroke-width="0.5"/><polygon points="153.3,246.9 152.2,230.8 158.5,223.8 177.0,233.4 177.0,236.2 165.8,252.0 160.2,254.0" fill="#938e5c" stroke="#938e5c" stroke-width="0.5"/><polygon points="177.0,236.2 177.0,233.4 182.8,227.6 200.7,230.4 205.3,236.7 203.1,245.3 194.0,251.3" fill="#6c6843" stroke="#6c6843" stroke-width="0.5"/><polygon points="203.1,245.3 205.3,236.7 219.8,232.0 232.3,247.7 220.7,259.3" fill="#6c6843" stroke="#6c6843" stroke-width="0.5"/><polygon points="219.8,232.0 224.2,221.7 241.4,218.9 246.3,234.7 236.7,247.2 232.3,247.7" fill="#6e6a45" stroke="#6e6a45" stroke-width="0.5"/><polygon points="246.8,258.4 236.7,247.2 246.3,234.7 267.8,239.0 263.0,254.3" fill="#736f48" stroke="#736f48" stroke-width="0.5"/><polygon points="275.2,238.2 303.3,234.2 303.3,247.7 290.1,262.6" fill="#9d9762" stroke="#9d9762" stroke-width="0.5"/><polygon points="296.3,244.4 299.2,224.2 317.4,219.0 321.5,235.2" fill="#b1aa6f" stroke="#b1aa6f" stroke-width="0.5"/><polygon points="303.3,247.7 303.3,241.9 321.5,235.2 330.1,239.9 331.3,246.0 326.5,256.4 319.5,259.9" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="331.3,246.0 330.1,239.9 339.5,230.5 356.3,231.8 352.6,252.5" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="352.6,252.5 356.2,232.4 372.6,235.4 375.2,251.8 356.0,258.8" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="375.2,251.8 372.6,235.4 381.8,227.0 388.5,229.0 396.8,244.5 378.4,253.6" fill="#708154" stroke="#708154" stroke-width="0.5"/><polygon points="396.8,244.5 388.5,229.0 400.6,221.5 413.0,230.5 409.6,247.3 405.6,248.1" fill="#3d6539" stroke="#3d6539" stroke-width="0.5"/><polygon points="409.6,247.3 413.0,230.5 423.3,223.5 438.7,230.7 435.0,246.0 418.2,252.2" fill="#3f673b" stroke="#3f673b" stroke-width="0.5"/><polygon points="435.0,246.0 438.7,230.7 441.6,228.9 463.3,232.0 465.1,246.6 462.2,252.2 444.8,255.8" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="465.1,246.6 463.7,235.3 488.7,227.7 489.6,249.2" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="489.5,247.5 488.7,229.3 510.4,226.2 509.5,247.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="509.5,246.5 510.3,228.9 530.0,230.8 533.8,246.8 529.1,249.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="533.8,246.8 530.0,230.8 535.8,222.0 558.4,227.3 545.1,250.4" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,230.6 576.0,255.0 547.5,254.0 545.1,250.4 557.5,228.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,266.2 0.0,240.9 21.9,246.2 17.1,264.6" fill="#568d50" stroke="#568d50" stroke-width="0.5"/><polygon points="17.1,264.6 21.8,246.5 47.6,250.8 47.0,266.8 22.5,270.8" fill="#8cb975" stroke="#8cb975" stroke-width="0.5"/><polygon points="47.0,266.8 47.6,250.0 65.7,246.8 74.1,252.5 73.4,266.0 58.0,275.6 51.7,273.1" fill="#599354" stroke="#599354" stroke-width="0.5"/><polygon points="73.4,266.0 74.1,252.5 87.1,247.3 98.2,254.6 93.9,271.3 87.5,275.1" fill="#51854c" stroke="#51854c" stroke-width="0.5"/><polygon points="93.9,271.3 98.2,254.6 104.8,252.8 120.7,267.9 111.5,278.7" fill="#948e5c" stroke="#948e5c" stroke-width="0.5"/><polygon points="120.7,267.9 104.8,252.8 112.5,241.4 132.4,245.0 130.0,266.0" fill="#bcb575" stroke="#bcb575" stroke-width="0.5"/><polygon points="130.1,264.7 131.9,249.1 153.3,246.9 160.2,254.0 158.4,260.6 149.6,268.1" fill="#858053" stroke="#858053" stroke-width="0.5"/><polygon points="175.9,280.9 158.4,260.6 160.2,254.0 165.8,252.0 185.2,261.4" fill="#6e6a45" stroke="#6e6a45" stroke-width="0.5"/><polygon points="165.8,252.0 177.0,236.2 194.0,251.3 191.2,258.7 185.2,261.4" fill="#6c6843" stroke="#6c6843" stroke-width="0.5"/><polygon points="191.2,258.7 194.0,251.3 203.1,245.3 220.7,259.3 220.1,264.8 203.2,272.0" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="220.1,264.8 220.7,259.3 232.3,247.7 236.7,247.2 246.8,258.4 244.6,273.6 224.5,270.6" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="244.5,274.5 246.8,258.4 263.0,254.3 268.4,264.2 263.2,274.5" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="268.4,264.2 263.0,254.3 267.8,239.0 273.5,235.3 290.1,262.6 289.9,263.4 287.0,265.7" fill="#7e794e" stroke="#7e794e" stroke-width="0.5"/><polygon points="289.9,263.4 290.1,262.6 303.3,247.7 319.5,259.9 316.7,266.8 305.8,273.6" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="330.8,284.4 316.7,266.8 319.5,259.9 326.5,256.4 339.3,268.3 332.5,284.5" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="326.5,256.4 331.3,246.0 352.6,252.5 356.0,258.8 354.8,264.1 339.3,268.3" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="354.6,264.7 356.0,258.8 375.2,251.8 378.4,253.6 384.0,267.7 375.5,277.1" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="384.0,267.7 378.4,253.6 396.8,244.5 405.6,248.1 395.0,269.1" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="395.0,269.1 405.6,248.1 409.6,247.3 418.2,252.2 420.1,266.1 404.7,280.3" fill="#385c34" stroke="#385c34" stroke-width="0.5"/><polygon points="420.1,266.1 418.2,252.2 435.0,246.0 444.8,255.8 441.8,270.3 429.7,272.0" fill="#3e663a" stroke="#3e663a" stroke-width="0.5"/><polygon points="440.2,278.2 444.8,255.7 462.2,252.2 467.5,265.5 463.8,274.9" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="467.5,265.5 462.2,252.2 465.1,246.6 488.2,249.0 488.2,265.5" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="488.2,270.4 488.2,247.5 508.5,247.5 508.5,266.4" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="508.5,266.4 508.5,246.3 529.1,249.6 520.4,273.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="520.8,272.6 529.1,249.6 533.8,246.8 545.1,250.4 547.5,254.0 546.5,265.9 536.3,275.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,255.0 576.0,277.1 562.3,277.7 546.5,265.9 547.5,254.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,292.3 0.0,266.2 17.1,264.6 22.5,270.8 22.5,289.5" fill="#50844b" stroke="#50844b" stroke-width="0.5"/><polygon points="22.5,289.7 22.5,270.8 47.0,266.8 51.7,273.1 38.3,290.9" fill="#84af6e" stroke="#84af6e" stroke-width="0.5"/><polygon points="38.3,290.9 51.7,273.1 58.0,275.6 61.7,283.6 59.0,298.7 49.6,305.5" fill="#548b4f" stroke="#548b4f" stroke-width="0.5"/><polygon points="61.7,283.6 58.0,275.6 73.4,266.0 87.5,275.1 84.9,289.4" fill="#4b7c47" stroke="#4b7c47" stroke-width="0.5"/><polygon points="84.8,290.3 87.5,275.1 93.9,271.3 111.5,278.7 112.0,287.4 102.4,296.5" fill="#b6beae" stroke="#b6beae" stroke-width="0.5"/><polygon points="112.0,287.4 111.5,278.7 120.7,267.9 128.4,266.3 138.8,300.8" fill="#9e9863" stroke="#9e9863" stroke-width="0.5"/><polygon points="135.7,290.3 127.8,264.4 149.6,268.1 151.1,285.5" fill="#807b50" stroke="#807b50" stroke-width="0.5"/><polygon points="151.1,285.5 149.6,268.1 158.4,260.6 175.9,280.9 175.9,281.1 158.5,289.8" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="175.9,281.1 175.9,280.9 185.2,261.4 191.2,258.7 203.2,272.0 200.1,284.0 182.3,286.2" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="200.1,284.0 203.2,272.0 220.1,264.8 224.5,270.6 221.9,290.4 203.1,287.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="221.5,293.3 224.5,270.6 245.3,273.7 243.7,293.1" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="243.8,292.5 245.3,274.5 263.2,274.5 268.5,285.0 264.9,292.5" fill="#546f46" stroke="#546f46" stroke-width="0.5"/><polygon points="268.5,285.0 263.2,274.5 268.4,264.2 287.0,265.7 283.1,282.9" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="283.1,282.9 287.0,265.7 289.9,263.4 305.8,273.6 305.8,284.4 291.8,293.4" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="305.8,284.4 305.8,273.6 316.7,266.8 330.8,284.4 316.7,291.2" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="332.5,284.5 339.3,268.3 355.5,263.9 352.8,288.3 339.9,291.2" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="352.8,288.3 355.3,265.1 375.5,277.1 375.2,282.1 359.9,291.9" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="386.0,293.8 375.2,282.1 375.5,277.1 384.0,267.7 395.0,269.1 405.4,281.2 396.2,293.9" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="403.4,281.4 420.1,266.1 429.7,272.0 425.3,292.8" fill="#385c34" stroke="#385c34" stroke-width="0.5"/><polygon points="425.2,293.2 429.7,272.0 449.3,269.2 446.6,282.7 430.7,294.6" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="457.2,301.9 446.6,282.7 447.7,277.2 463.8,274.9 470.2,285.3 460.0,302.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="470.2,285.3 463.8,274.9 467.5,265.5 492.4,265.5 488.9,286.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="489.1,285.3 491.7,269.8 508.5,266.4 519.6,273.1 515.4,287.5 501.8,292.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="515.4,287.5 519.8,272.4 536.3,275.2 543.2,293.1 526.8,300.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="544.2,295.7 536.3,275.2 546.5,265.9 562.3,277.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,277.1 576.0,299.7 551.4,301.5 545.9,294.1 562.3,277.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,306.9 0.0,292.3 22.7,289.5 23.5,316.3" fill="#acb3a5" stroke="#acb3a5" stroke-width="0.5"/><polygon points="23.3,309.4 22.8,289.8 38.3,290.9 49.6,305.5 49.0,308.3 43.5,312.6" fill="#7ba367" stroke="#7ba367" stroke-width="0.5"/><polygon points="49.0,308.3 49.6,305.5 59.0,298.7 77.7,304.9 79.0,311.6 67.0,325.0" fill="#d0d9c7" stroke="#d0d9c7" stroke-width="0.5"/><polygon points="77.7,304.9 59.0,298.7 61.7,283.6 85.7,289.6" fill="#568e51" stroke="#568e51" stroke-width="0.5"/><polygon points="79.0,311.6 77.7,304.9 85.3,290.4 102.4,296.5 104.6,309.9 92.5,317.3" fill="#b4bbac" stroke="#b4bbac" stroke-width="0.5"/><polygon points="104.6,309.9 102.4,296.5 112.0,287.4 130.9,296.8 131.3,303.1 110.0,312.6" fill="#948f5d" stroke="#948f5d" stroke-width="0.5"/><polygon points="131.3,302.4 130.6,291.9 151.1,285.5 158.5,289.8 159.6,308.1 153.5,312.6" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="159.6,308.1 158.5,289.8 175.9,281.1 182.2,286.2 182.2,309.3 179.6,312.7" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="182.2,309.3 182.2,286.2 200.1,284.0 203.1,287.5 201.2,306.3" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="201.2,306.3 203.1,287.5 224.7,290.9 217.8,316.1 213.8,315.7" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="217.7,316.7 224.1,293.3 243.3,293.2 245.6,309.8 238.1,317.3" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="245.6,309.8 243.2,292.5 264.9,292.5 269.0,302.9 259.9,313.8" fill="#546f46" stroke="#546f46" stroke-width="0.5"/><polygon points="269.0,302.9 264.9,292.5 268.5,285.0 283.1,282.9 291.8,293.4 291.0,299.8 282.5,305.8" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="291.0,299.8 291.8,293.4 305.8,284.4 316.7,291.2 315.8,306.1 305.1,310.4" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="315.8,306.1 316.7,291.2 330.8,284.4 332.5,284.5 339.9,291.2 337.5,309.7 328.2,313.0" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="337.5,309.7 339.9,291.2 352.8,288.3 359.9,291.9 364.8,308.5 349.9,317.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="364.8,308.5 359.9,291.9 375.2,282.1 386.0,293.8 372.9,310.8" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="377.5,317.3 372.9,310.8 386.0,293.8 396.2,293.9 403.4,310.5 397.8,318.3" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="403.4,310.5 396.2,293.9 404.7,282.1 425.9,293.1 414.8,310.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="427.5,323.9 414.8,310.5 425.7,293.4 430.7,294.6 439.7,304.9 434.1,322.9" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="430.7,294.6 446.6,282.7 457.2,301.9 439.7,304.9" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="460.0,302.9 470.2,285.3 486.8,286.5 479.4,311.2 475.2,311.9 461.9,306.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="487.5,284.4 501.8,292.9 501.8,308.7 485.6,313.7 479.4,311.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="501.8,308.7 501.8,293.0 515.4,287.5 526.8,300.1 525.0,307.8 508.2,314.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="525.0,307.8 526.8,300.1 544.7,292.4 551.4,301.5 550.4,309.7 533.1,319.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,299.7 576.0,319.5 556.6,319.5 550.4,309.7 551.4,301.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,330.9 0.0,306.9 19.0,314.5 18.2,327.6" fill="#abb2a4" stroke="#abb2a4" stroke-width="0.5"/><polygon points="18.0,330.8 19.3,308.8 43.5,312.6 39.4,330.8" fill="#bac2b2" stroke="#bac2b2" stroke-width="0.5"/><polygon points="39.4,330.8 43.5,312.6 49.0,308.3 67.0,325.0 66.8,327.8 56.8,338.0 45.2,337.1" fill="#84af6f" stroke="#84af6f" stroke-width="0.5"/><polygon points="66.8,327.8 67.0,325.0 79.0,311.6 92.5,317.3 93.6,333.7 86.2,340.6" fill="#c2cab9" stroke="#c2cab9" stroke-width="0.5"/><polygon points="93.6,333.7 92.5,317.3 104.6,309.9 110.0,312.6 116.4,329.6 111.4,336.0" fill="#9ba194" stroke="#9ba194" stroke-width="0.5"/><polygon points="116.4,329.6 110.0,312.6 130.5,303.5 130.5,328.1" fill="#6f6a45" stroke="#6f6a45" stroke-width="0.5"/><polygon points="130.5,331.8 130.5,302.0 153.5,312.6 151.1,322.8" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="151.1,322.8 153.5,312.6 159.6,308.1 179.6,312.7 181.7,325.2 167.5,338.3 161.0,336.4" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="181.7,325.2 179.6,312.7 182.2,309.3 201.2,306.3 213.8,315.7 192.5,331.4" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="196.5,340.7 192.5,331.4 213.8,315.7 218.4,316.2 220.2,338.1" fill="#546f46" stroke="#546f46" stroke-width="0.5"/><polygon points="220.3,338.9 218.5,316.8 238.1,317.3 245.0,335.7 238.6,341.2" fill="#546f46" stroke="#546f46" stroke-width="0.5"/><polygon points="245.0,335.7 238.1,317.3 245.6,309.8 259.9,313.8 264.5,327.5 256.6,336.4" fill="#546f46" stroke="#546f46" stroke-width="0.5"/><polygon points="264.5,327.5 259.9,313.8 269.0,302.9 282.5,305.8 282.5,328.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="282.5,330.5 282.5,305.8 291.0,299.8 305.1,310.4 301.6,328.2" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="300.8,332.0 305.1,310.4 315.8,306.1 328.2,313.0 323.6,329.2" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="333.1,340.7 323.6,329.2 328.2,313.0 337.5,309.7 351.3,318.4" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="348.8,318.1 364.8,308.5 372.9,310.8 377.5,317.3 373.5,337.5 361.1,337.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="373.3,338.5 377.5,317.3 397.8,318.3 401.5,338.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="401.0,336.1 397.8,318.3 403.4,310.5 414.8,310.5 427.5,323.9 419.5,335.4" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="434.1,322.9 439.7,304.9 457.2,301.9 460.0,302.9 461.9,306.0 451.0,327.9 445.3,329.3" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="451.0,327.9 461.9,306.0 475.2,311.9 469.6,337.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="469.5,337.4 475.2,311.9 479.4,311.2 485.6,313.7 491.3,332.6 483.9,340.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="491.3,332.6 485.6,313.7 501.8,308.7 508.2,314.2 508.6,331.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="508.6,332.2 508.2,314.2 525.0,307.8 533.1,319.3 532.9,330.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="532.9,330.6 533.1,319.3 550.4,309.7 556.6,319.5 551.0,331.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,319.5 576.0,339.5 556.0,338.6 551.0,331.9 556.6,319.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,350.7 0.0,330.9 21.6,327.0 20.0,356.7" fill="#bbc3b3" stroke="#bbc3b3" stroke-width="0.5"/><polygon points="20.0,356.7 21.4,330.8 39.4,330.8 45.2,337.1 35.9,355.7" fill="#bec6b6" stroke="#bec6b6" stroke-width="0.5"/><polygon points="35.9,355.7 45.2,337.1 56.8,338.0 63.6,356.3 47.8,365.9" fill="#b5bdad" stroke="#b5bdad" stroke-width="0.5"/><polygon points="63.6,356.3 56.8,338.0 66.8,327.8 86.2,340.6 85.5,348.2 76.0,360.3" fill="#c0c8b8" stroke="#c0c8b8" stroke-width="0.5"/><polygon points="85.5,348.2 86.2,340.6 93.6,333.7 111.4,336.0 116.5,361.9" fill="#888d82" stroke="#888d82" stroke-width="0.5"/><polygon points="115.6,357.4 111.4,336.0 116.4,329.6 133.6,327.8 138.9,351.9 123.5,359.5" fill="#8a9084" stroke="#8a9084" stroke-width="0.5"/><polygon points="139.0,352.2 134.1,330.2 151.1,322.8 161.0,336.4" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="139.2,352.0 161.0,336.4 167.5,338.3 173.4,358.2 154.8,365.8" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="174.0,360.1 167.5,338.3 181.7,325.2 192.5,331.4 196.5,340.7 193.8,353.9" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="193.8,353.9 196.5,340.7 221.1,338.0 217.1,360.9 203.5,361.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="215.7,368.8 220.9,339.0 238.6,341.2 240.2,363.2" fill="#7e8479" stroke="#7e8479" stroke-width="0.5"/><polygon points="240.2,363.2 238.6,341.2 245.0,335.7 256.6,336.4 263.0,352.6 242.0,364.0" fill="#5e7d4f" stroke="#5e7d4f" stroke-width="0.5"/><polygon points="263.0,352.6 256.6,336.4 264.5,327.5 284.7,328.7 282.0,358.7 274.9,358.9" fill="#81867b" stroke="#81867b" stroke-width="0.5"/><polygon points="282.0,358.8 284.6,330.2 305.1,327.7 308.5,357.9" fill="#80857b" stroke="#80857b" stroke-width="0.5"/><polygon points="308.7,359.6 305.6,331.4 323.6,329.2 333.1,340.7 333.6,343.5 324.3,357.1" fill="#83887d" stroke="#83887d" stroke-width="0.5"/><polygon points="333.6,343.5 333.1,340.7 350.0,320.0 361.1,337.5 351.4,347.7" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="356.1,364.2 351.4,347.7 361.1,337.5 374.4,337.5 377.0,360.9 367.3,367.7" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="377.0,360.9 374.5,338.5 399.2,338.5 399.9,355.6 389.6,363.1" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="399.9,355.6 399.1,336.1 419.5,335.4 428.3,357.2 417.1,362.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="428.3,357.2 419.5,335.4 427.5,323.9 434.1,322.9 445.3,329.3 442.1,352.3 432.9,358.0" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="442.1,352.3 445.3,329.3 451.0,327.9 469.8,337.3 461.0,355.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="466.0,364.9 461.0,355.8 469.7,337.4 483.9,340.0 491.0,358.2 480.6,368.4" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="491.0,358.2 483.9,340.0 491.3,332.6 509.3,331.4 511.0,359.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="510.9,357.8 509.3,332.2 533.2,330.2 533.2,357.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="533.2,357.8 533.2,330.6 551.0,331.9 556.0,338.6 547.9,357.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,339.5 576.0,361.5 555.0,362.7 547.9,357.8 556.0,338.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,382.3 0.0,350.7 20.0,356.7 18.0,368.2" fill="#c0c8b8" stroke="#c0c8b8" stroke-width="0.5"/><polygon points="46.4,396.0 42.9,396.0 18.0,368.2 20.0,356.7 35.9,355.7 47.8,365.9" fill="#bbc3b3" stroke="#bbc3b3" stroke-width="0.5"/><polygon points="60.5,396.0 46.4,396.0 47.8,365.9 63.6,356.3 76.0,360.3 77.6,365.6" fill="#b2baab" stroke="#b2baab" stroke-width="0.5"/><polygon points="100.9,396.0 60.5,396.0 77.6,365.6 98.0,378.2" fill="#cfd8c6" stroke="#cfd8c6" stroke-width="0.5"/><polygon points="98.0,378.2 77.6,365.6 76.0,360.3 85.5,348.2 111.1,359.5" fill="#bac2b2" stroke="#bac2b2" stroke-width="0.5"/><polygon points="133.5,396.0 100.9,396.0 98.0,378.2 113.1,356.7 123.5,359.5" fill="#b3bbab" stroke="#b3bbab" stroke-width="0.5"/><polygon points="148.4,396.0 133.5,396.0 123.5,359.5 139.0,351.9 154.8,365.8" fill="#a0a799" stroke="#a0a799" stroke-width="0.5"/><polygon points="185.0,396.0 148.4,396.0 154.8,365.8 175.6,357.4" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="194.5,396.0 185.0,396.0 176.1,359.4 193.8,353.9 203.5,361.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="220.0,396.0 194.5,396.0 203.5,361.5 225.4,360.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="254.8,396.0 220.0,396.0 224.4,366.8 240.2,363.2 242.0,364.0 254.3,385.1" fill="#71955e" stroke="#71955e" stroke-width="0.5"/><polygon points="254.3,385.1 242.0,364.0 263.0,352.6 274.9,358.9" fill="#769c63" stroke="#769c63" stroke-width="0.5"/><polygon points="287.4,396.0 254.8,396.0 254.3,385.1 274.9,358.9 282.2,358.7" fill="#7ba266" stroke="#7ba266" stroke-width="0.5"/><polygon points="309.1,396.0 287.4,396.0 282.2,358.8 310.9,357.8" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="336.4,396.0 309.1,396.0 310.8,359.3 324.3,357.1 339.9,374.0" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="339.9,374.0 324.3,357.1 333.6,343.5 351.4,347.7 356.1,364.2" fill="#939a8d" stroke="#939a8d" stroke-width="0.5"/><polygon points="371.3,396.0 336.4,396.0 339.9,374.0 356.1,364.2 367.3,367.7" fill="#84897e" stroke="#84897e" stroke-width="0.5"/><polygon points="398.9,396.0 371.3,396.0 367.3,367.7 377.0,360.9 389.6,363.1" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="409.0,396.0 398.9,396.0 389.6,363.1 399.9,355.6 417.1,362.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="445.7,396.0 409.0,396.0 417.1,362.8 428.3,357.2 432.9,358.0 446.2,391.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="446.2,391.0 432.9,358.0 442.1,352.3 461.0,355.8 466.0,364.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="487.7,396.0 445.7,396.0 446.2,391.0 466.0,364.9 480.6,368.4" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="509.4,396.0 487.7,396.0 480.6,368.4 491.0,358.2 509.4,359.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="533.2,396.0 509.4,396.0 509.4,357.8 533.2,357.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="551.6,396.0 533.2,396.0 533.2,357.8 547.9,357.8 555.0,362.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,361.5 576.0,396.0 551.6,396.0 555.0,362.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="42.9,396.0 0.0,396.0 0.0,382.3 18.0,368.2" fill="#bec6b6" stroke="#bec6b6" stroke-width="0.5"/></g><path d="M13.2,0.0 L16.3,18.3 M16.3,18.3 L24.3,21.4 M24.3,21.4 L29.9,35.0 M29.9,35.0 L21.9,45.5 M230.4,39.0 L221.1,20.8 M221.1,20.8 L243.9,14.4 M243.9,14.4 L253.7,24.2 M253.7,24.2 L267.8,21.4 M267.8,21.4 L272.2,24.0 M272.2,24.0 L273.3,45.7 M273.3,45.7 L266.1,51.3 M21.9,45.5 L21.9,58.5 M200.2,43.4 L220.7,52.7 M195.0,65.9 L200.2,43.4 M220.7,52.7 L230.4,39.0 M266.1,51.3 L266.6,63.5 M22.5,58.5 L22.5,78.8 M45.4,81.1 L49.8,60.6 M49.8,60.6 L62.9,62.6 M62.9,62.6 L70.6,88.0 M82.8,79.0 L85.4,60.8 M85.4,60.8 L105.8,60.8 M105.9,59.2 L123.9,61.9 M123.9,61.9 L131.7,78.8 M147.5,74.1 L147.5,49.3 M147.5,49.3 L155.6,47.5 M155.6,47.5 L172.6,65.7 M172.6,65.7 L173.8,65.6 M172.8,63.5 L195.9,65.2 M266.6,63.5 L283.2,71.9 M283.2,71.9 L292.6,61.3 M292.6,61.3 L311.3,68.1 M311.3,68.1 L316.6,61.7 M316.6,61.7 L333.6,59.8 M333.6,59.8 L340.7,67.6 M340.7,67.6 L335.6,83.3 M16.2,70.9 L45.1,81.3 M45.1,81.3 L45.4,81.1 M66.3,84.3 L82.8,79.0 M131.7,78.8 L147.5,74.1 M335.6,83.3 L353.7,95.9 M353.7,95.9 L361.5,79.0 M361.5,79.0 L379.0,77.5 M379.0,77.5 L381.7,98.1 M399.2,95.1 L404.5,78.0 M404.5,78.0 L409.5,76.6 M409.5,76.6 L425.2,87.8 M425.2,87.8 L436.9,83.9 M436.9,83.9 L442.7,86.6 M442.7,86.6 L464.2,73.4 M464.2,73.4 L473.7,85.3 M473.7,85.3 L471.0,101.5 M471.0,101.5 L463.5,106.5 M381.2,97.7 L399.2,95.1 M463.5,106.5 L463.5,118.1 M463.5,118.1 L453.5,129.4 M453.5,129.4 L458.8,143.0 M464.4,165.7 L464.1,167.0 M458.8,143.0 L480.4,138.5 M480.4,138.5 L488.4,152.6 M488.4,152.6 L487.6,155.0 M487.6,155.0 L464.4,165.7 M464.1,167.0 L480.3,186.8 M480.3,186.8 L471.1,194.6 M471.1,194.6 L469.1,209.9 M469.1,209.9 L466.3,211.6 M466.3,211.6 L460.7,231.7 M463.3,232.0 L465.1,246.6 M465.1,246.6 L462.2,252.2 M462.2,252.2 L467.5,265.5 M467.5,265.5 L463.8,274.9 M463.8,274.9 L440.2,278.2 M449.3,269.2 L446.6,282.7 M403.4,310.5 L397.8,318.3 M414.8,310.5 L403.4,310.5 M427.5,323.9 L414.8,310.5 M439.7,304.9 L434.1,322.9 M434.1,322.9 L427.5,323.9 M446.6,282.7 L457.2,301.9 M457.2,301.9 L439.7,304.9 M397.8,318.3 L401.5,338.5 M377.0,360.9 L367.3,367.7 M399.2,338.5 L399.9,355.6 M399.9,355.6 L389.6,363.1 M389.6,363.1 L377.0,360.9 M367.3,367.7 L371.3,396.0" fill="none" stroke="#283640" stroke-width="2.0" stroke-linecap="round"/><g opacity="0.9"><path d="M258.0,366.0 L272.0,377.0" fill="none" stroke="#4a82af" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M249.0,349.5 L258.0,366.0" fill="none" stroke="#4a82af" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M36.0,279.0 L32.6,258.8" fill="none" stroke="#4a82af" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/><path d="M34.2,302.4 L36.0,279.0" fill="none" stroke="#4a82af" stroke-width="2.0" stroke-linecap="round" stroke-linejoin="round"/><path d="M232.2,329.4 L249.0,349.5" fill="none" stroke="#4a82af" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"/><path d="M247.5,76.5 L253.8,59.4" fill="none" stroke="#4a82af" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M247.5,94.5 L247.5,76.5" fill="none" stroke="#4a82af" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M207.0,331.5 L232.2,329.4" fill="none" stroke="#4a82af" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M246.9,115.7 L247.5,94.5" fill="none" stroke="#4a82af" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M51.4,324.0 L34.2,302.4" fill="none" stroke="#4a82af" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M235.8,378.9 L272.0,377.0" fill="none" stroke="#4a82af" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M433.1,214.9 L453.6,217.8" fill="none" stroke="#4a82af" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M250.5,322.5 L249.0,349.5" fill="none" stroke="#4a82af" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M256.5,301.5 L250.5,322.5" fill="none" stroke="#4a82af" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/><path d="M256.5,283.5 L256.5,301.5" fill="none" stroke="#4a82af" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/></g></svg>