mapwright 0.16.0__tar.gz → 0.17.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 (112) hide show
  1. {mapwright-0.16.0 → mapwright-0.17.0}/CHANGELOG.md +16 -0
  2. {mapwright-0.16.0 → mapwright-0.17.0}/PKG-INFO +45 -3
  3. {mapwright-0.16.0 → mapwright-0.17.0}/README.md +44 -2
  4. mapwright-0.17.0/docs/gallery/atlas.png +0 -0
  5. mapwright-0.17.0/docs/gallery/atlas_pack/README.md +17 -0
  6. mapwright-0.17.0/docs/gallery/atlas_pack/city_castle_1.png +0 -0
  7. mapwright-0.17.0/docs/gallery/atlas_pack/city_large_1.png +0 -0
  8. mapwright-0.17.0/docs/gallery/atlas_pack/city_town_1.png +0 -0
  9. mapwright-0.17.0/docs/gallery/atlas_pack/city_village_1.png +0 -0
  10. mapwright-0.17.0/docs/gallery/atlas_pack/decoration_compass_1.png +0 -0
  11. mapwright-0.17.0/docs/gallery/atlas_pack/decoration_creature_1.png +0 -0
  12. mapwright-0.17.0/docs/gallery/atlas_pack/decoration_ship_1.png +0 -0
  13. mapwright-0.17.0/docs/gallery/atlas_pack/dune_1.png +0 -0
  14. mapwright-0.17.0/docs/gallery/atlas_pack/hill_1.png +0 -0
  15. mapwright-0.17.0/docs/gallery/atlas_pack/hill_2.png +0 -0
  16. mapwright-0.17.0/docs/gallery/atlas_pack/manifest.json +122 -0
  17. mapwright-0.17.0/docs/gallery/atlas_pack/mountain_mid_1.png +0 -0
  18. mapwright-0.17.0/docs/gallery/atlas_pack/mountain_old_1.png +0 -0
  19. mapwright-0.17.0/docs/gallery/atlas_pack/mountain_old_2.png +0 -0
  20. mapwright-0.17.0/docs/gallery/atlas_pack/mountain_young_1.png +0 -0
  21. mapwright-0.17.0/docs/gallery/atlas_pack/mountain_young_2.png +0 -0
  22. mapwright-0.17.0/docs/gallery/atlas_pack/tree_cactus_1.png +0 -0
  23. mapwright-0.17.0/docs/gallery/atlas_pack/tree_deciduous_1.png +0 -0
  24. mapwright-0.17.0/docs/gallery/atlas_pack/tree_deciduous_2.png +0 -0
  25. mapwright-0.17.0/docs/gallery/atlas_pack/tree_pine_1.png +0 -0
  26. mapwright-0.17.0/docs/gallery/atlas_pack/tree_pine_2.png +0 -0
  27. mapwright-0.17.0/docs/gallery/theme-blueprint.png +0 -0
  28. mapwright-0.17.0/docs/gallery/theme-blueprint.svg +1 -0
  29. mapwright-0.17.0/docs/gallery/theme-dune.png +0 -0
  30. mapwright-0.17.0/docs/gallery/theme-dune.svg +1 -0
  31. mapwright-0.17.0/docs/gallery/theme-neon.png +0 -0
  32. mapwright-0.17.0/docs/gallery/theme-neon.svg +1 -0
  33. mapwright-0.17.0/docs/gallery/theme-parchment.png +0 -0
  34. mapwright-0.17.0/docs/gallery/theme-parchment.svg +1 -0
  35. {mapwright-0.16.0 → mapwright-0.17.0}/examples/gallery.py +65 -0
  36. {mapwright-0.16.0 → mapwright-0.17.0}/pyproject.toml +1 -1
  37. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/__init__.py +4 -1
  38. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/svg_renderer.py +28 -45
  39. mapwright-0.17.0/src/mapwright/themes.py +177 -0
  40. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_api_contract.py +2 -0
  41. mapwright-0.17.0/tests/test_themes.py +100 -0
  42. {mapwright-0.16.0 → mapwright-0.17.0}/.github/workflows/ci.yml +0 -0
  43. {mapwright-0.16.0 → mapwright-0.17.0}/.github/workflows/publish.yml +0 -0
  44. {mapwright-0.16.0 → mapwright-0.17.0}/.gitignore +0 -0
  45. {mapwright-0.16.0 → mapwright-0.17.0}/LICENSE +0 -0
  46. {mapwright-0.16.0 → mapwright-0.17.0}/NOTICE +0 -0
  47. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/age-old.png +0 -0
  48. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/age-old.svg +0 -0
  49. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/age-young.png +0 -0
  50. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/age-young.svg +0 -0
  51. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/archipelago.png +0 -0
  52. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/archipelago.svg +0 -0
  53. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/arctic.png +0 -0
  54. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/arctic.svg +0 -0
  55. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/citadel.png +0 -0
  56. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/citadel.svg +0 -0
  57. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/continent.png +0 -0
  58. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/continent.svg +0 -0
  59. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/desert.png +0 -0
  60. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/desert.svg +0 -0
  61. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/dungeon.png +0 -0
  62. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/dungeon.svg +0 -0
  63. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/highlands.png +0 -0
  64. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/highlands.svg +0 -0
  65. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/islands.png +0 -0
  66. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/islands.svg +0 -0
  67. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/pangaea.png +0 -0
  68. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/pangaea.svg +0 -0
  69. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/port.png +0 -0
  70. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/port.svg +0 -0
  71. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/regions.png +0 -0
  72. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/regions.svg +0 -0
  73. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/roads.png +0 -0
  74. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/roads.svg +0 -0
  75. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/template-atoll.png +0 -0
  76. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/template-atoll.svg +0 -0
  77. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/template-isthmus.png +0 -0
  78. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/template-isthmus.svg +0 -0
  79. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/town.png +0 -0
  80. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/town.svg +0 -0
  81. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/tropical.png +0 -0
  82. {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/tropical.svg +0 -0
  83. {mapwright-0.16.0 → mapwright-0.17.0}/examples/benchmark.py +0 -0
  84. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/_geometry.py +0 -0
  85. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/_graph.py +0 -0
  86. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/_serde.py +0 -0
  87. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/atlas_renderer.py +0 -0
  88. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/config.py +0 -0
  89. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/dungeon.py +0 -0
  90. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/dungeon_renderer.py +0 -0
  91. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/names.py +0 -0
  92. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/regions.py +0 -0
  93. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/rng.py +0 -0
  94. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/roads.py +0 -0
  95. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/settlement.py +0 -0
  96. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/settlement_renderer.py +0 -0
  97. {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/terrain.py +0 -0
  98. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_atlas_renderer.py +0 -0
  99. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_config.py +0 -0
  100. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_dungeon.py +0 -0
  101. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_dungeon_renderer.py +0 -0
  102. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_geometry.py +0 -0
  103. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_graph.py +0 -0
  104. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_names.py +0 -0
  105. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_properties.py +0 -0
  106. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_regions.py +0 -0
  107. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_rng.py +0 -0
  108. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_roads.py +0 -0
  109. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_serialize.py +0 -0
  110. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_settlement.py +0 -0
  111. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_svg_renderer.py +0 -0
  112. {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_terrain.py +0 -0
@@ -8,6 +8,22 @@ 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.17.0] — 2026-06-02
12
+
13
+ ### Added
14
+ - **Render themes — `Theme` + `THEMES`.** `RegionalSVGRenderer` now takes a
15
+ `theme=` (a name or a `Theme`): a palette plus an optional biome *vocabulary*
16
+ that re-skins the same neutral terrain without regenerating anything. The
17
+ `Biome` enum is unchanged — a theme only decides how each biome looks and is
18
+ named — so this is purely additive and the contract is stable. Built-ins:
19
+ `parchment` (default, **byte-identical** to the previous output), `neon`
20
+ (Tron / digital-grid), `dune` (Tatooine / sand medium), and `blueprint`.
21
+ `Theme` is plain hex-string data (JSON-friendly), so a host or image service
22
+ can author new ones; `Theme.biome_label()` exposes the vocabulary (e.g.
23
+ `OCEAN` → "Void"). This is the first slice of the "Dominant Medium" /
24
+ render-theme direction — pair a theme with a matching `ArtPack` for a full
25
+ restyle. Gallery gains a same-continent neon/dune/blueprint showcase.
26
+
11
27
  ## [0.16.0] — 2026-06-02
12
28
 
13
29
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mapwright
3
- Version: 0.16.0
3
+ Version: 0.17.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
@@ -41,7 +41,27 @@ own tiles/entities however you like.
41
41
 
42
42
  ## Gallery
43
43
 
44
- Every image below is a deterministic render of a built-in preset (or a dungeon),
44
+ **`AtlasRenderer`** the same neutral terrain, skinned with a hand-drawn *art pack*.
45
+ The art here is original, generated through mapwright's companion image service and
46
+ stamped where the physics put it (mountains on the ranges, forests by climate, sea
47
+ serpents offshore). mapwright itself ships no art — the pack is the skin:
48
+
49
+ <p align="center">
50
+ <img width="640" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/atlas.png" alt="hand-drawn atlas rendered from a sample art pack">
51
+ </p>
52
+
53
+ **Render themes** — the *same* continent (same cells, rivers, roads, settlements),
54
+ re-skinned by swapping a `Theme` (palette + biome vocabulary). No regeneration:
55
+
56
+ <table>
57
+ <tr>
58
+ <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/theme-neon.png" alt="neon (Tron) theme"><br><sub><code>theme="neon"</code></sub></td>
59
+ <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/theme-dune.png" alt="dune (sand) theme"><br><sub><code>theme="dune"</code></sub></td>
60
+ <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/theme-blueprint.png" alt="blueprint theme"><br><sub><code>theme="blueprint"</code></sub></td>
61
+ </tr>
62
+ </table>
63
+
64
+ Below: deterministic shaded-relief renders of each built-in preset (or a dungeon),
45
65
  produced by [`examples/gallery.py`](examples/gallery.py):
46
66
 
47
67
  <table>
@@ -197,7 +217,8 @@ Settlement presets: `hamlet`, `village`, `town`, `city`, `port`, `citadel`.
197
217
  | `NameGenerator` | Order-k character Markov names over hand-authored culture namebases; reproducible across processes. |
198
218
  | `RegionalTerrainGenerator` | Voronoi cells (Lloyd-relaxed) → **tectonic-plate** heightmap (organic coasts + mountain ranges at plate collisions; percentile sea level) → Planchon–Darboux depression fill → flux + hydraulic/creep erosion → rivers + inland lakes → latitude/elevation climate with **rain-shadow** → Whittaker biomes. |
199
219
  | `compute_cell_polygons` | Reconstructs convex Voronoi polygons (half-plane clipping) for vector rendering. |
200
- | `RegionalSVGRenderer` | Shaded-relief (hillshade) SVG: biome polygons, coastline, rivers, roads, labelled markers. |
220
+ | `RegionalSVGRenderer` | Shaded-relief (hillshade) SVG: biome polygons, coastline, rivers, roads, labelled markers. Takes a `theme=`. |
221
+ | `Theme` / `THEMES` | A render palette + biome vocabulary; re-skins the same terrain (parchment / neon / dune / blueprint, or your own). The "Dominant Medium" layer. |
201
222
  | `AtlasRenderer` / `ArtPack` | Hand-drawn / themed PNG: stamps symbols from an external *art pack* (mountains, forests, hills, settlements, sea decorations) onto the terrain. mapwright ships no art — a pack is a skin. Needs `pip install "mapwright[atlas]"`. |
202
223
  | `RegionalRoadGenerator` | Connects settlement sites with trade routes — an MST whose edges are A*-routed over the terrain (avoids sea, climbs/crosses rivers at a cost). |
203
224
  | `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. |
@@ -259,6 +280,27 @@ sibling (`mountain.mid` → any `mountain.*`), so partial packs still render. Wi
259
280
  folder layout. Because packs are pure data, a host like an image-generation service can
260
281
  **produce them on demand** in any style — the generation stays the same; the pack is the skin.
261
282
 
283
+ ### Render themes
284
+
285
+ The vector `RegionalSVGRenderer` takes a **`Theme`** — a palette plus an optional biome
286
+ *vocabulary* — so the same neutral terrain re-skins into wildly different worlds without
287
+ regenerating anything. The neutral `Biome` enum never changes; a theme just decides how
288
+ each biome looks and is named:
289
+
290
+ ```python
291
+ from mapwright import RegionalSVGRenderer, THEMES
292
+
293
+ svg = RegionalSVGRenderer(theme="neon").render(terrain, markers, roads=roads)
294
+ # built-ins: "parchment" (default), "neon" (Tron/digital-grid), "dune" (sand), "blueprint"
295
+ THEMES["neon"].biome_label(Biome.OCEAN) # -> "Void" (the vocabulary layer)
296
+ ```
297
+
298
+ A `Theme` is plain hex-string data (JSON-friendly), so a host — or the same image service
299
+ that makes art packs — can author new ones. This is the "Dominant Medium" idea from
300
+ mapwright's longer-term vision: a sand planet, a digital grid, and an irradiated waste are
301
+ the *same map* wearing different skins. Pair a theme with a matching `ArtPack` for a full
302
+ restyle of both the vector and hand-drawn renders.
303
+
262
304
  ## Determinism
263
305
 
264
306
  Every generator draws from a `SeededRNG`. The same seed (and parameters) reproduces an
@@ -14,7 +14,27 @@ own tiles/entities however you like.
14
14
 
15
15
  ## Gallery
16
16
 
17
- Every image below is a deterministic render of a built-in preset (or a dungeon),
17
+ **`AtlasRenderer`** the same neutral terrain, skinned with a hand-drawn *art pack*.
18
+ The art here is original, generated through mapwright's companion image service and
19
+ stamped where the physics put it (mountains on the ranges, forests by climate, sea
20
+ serpents offshore). mapwright itself ships no art — the pack is the skin:
21
+
22
+ <p align="center">
23
+ <img width="640" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/atlas.png" alt="hand-drawn atlas rendered from a sample art pack">
24
+ </p>
25
+
26
+ **Render themes** — the *same* continent (same cells, rivers, roads, settlements),
27
+ re-skinned by swapping a `Theme` (palette + biome vocabulary). No regeneration:
28
+
29
+ <table>
30
+ <tr>
31
+ <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/theme-neon.png" alt="neon (Tron) theme"><br><sub><code>theme="neon"</code></sub></td>
32
+ <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/theme-dune.png" alt="dune (sand) theme"><br><sub><code>theme="dune"</code></sub></td>
33
+ <td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/theme-blueprint.png" alt="blueprint theme"><br><sub><code>theme="blueprint"</code></sub></td>
34
+ </tr>
35
+ </table>
36
+
37
+ Below: deterministic shaded-relief renders of each built-in preset (or a dungeon),
18
38
  produced by [`examples/gallery.py`](examples/gallery.py):
19
39
 
20
40
  <table>
@@ -170,7 +190,8 @@ Settlement presets: `hamlet`, `village`, `town`, `city`, `port`, `citadel`.
170
190
  | `NameGenerator` | Order-k character Markov names over hand-authored culture namebases; reproducible across processes. |
171
191
  | `RegionalTerrainGenerator` | Voronoi cells (Lloyd-relaxed) → **tectonic-plate** heightmap (organic coasts + mountain ranges at plate collisions; percentile sea level) → Planchon–Darboux depression fill → flux + hydraulic/creep erosion → rivers + inland lakes → latitude/elevation climate with **rain-shadow** → Whittaker biomes. |
172
192
  | `compute_cell_polygons` | Reconstructs convex Voronoi polygons (half-plane clipping) for vector rendering. |
173
- | `RegionalSVGRenderer` | Shaded-relief (hillshade) SVG: biome polygons, coastline, rivers, roads, labelled markers. |
193
+ | `RegionalSVGRenderer` | Shaded-relief (hillshade) SVG: biome polygons, coastline, rivers, roads, labelled markers. Takes a `theme=`. |
194
+ | `Theme` / `THEMES` | A render palette + biome vocabulary; re-skins the same terrain (parchment / neon / dune / blueprint, or your own). The "Dominant Medium" layer. |
174
195
  | `AtlasRenderer` / `ArtPack` | Hand-drawn / themed PNG: stamps symbols from an external *art pack* (mountains, forests, hills, settlements, sea decorations) onto the terrain. mapwright ships no art — a pack is a skin. Needs `pip install "mapwright[atlas]"`. |
175
196
  | `RegionalRoadGenerator` | Connects settlement sites with trade routes — an MST whose edges are A*-routed over the terrain (avoids sea, climbs/crosses rivers at a cost). |
176
197
  | `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. |
@@ -232,6 +253,27 @@ sibling (`mountain.mid` → any `mountain.*`), so partial packs still render. Wi
232
253
  folder layout. Because packs are pure data, a host like an image-generation service can
233
254
  **produce them on demand** in any style — the generation stays the same; the pack is the skin.
234
255
 
256
+ ### Render themes
257
+
258
+ The vector `RegionalSVGRenderer` takes a **`Theme`** — a palette plus an optional biome
259
+ *vocabulary* — so the same neutral terrain re-skins into wildly different worlds without
260
+ regenerating anything. The neutral `Biome` enum never changes; a theme just decides how
261
+ each biome looks and is named:
262
+
263
+ ```python
264
+ from mapwright import RegionalSVGRenderer, THEMES
265
+
266
+ svg = RegionalSVGRenderer(theme="neon").render(terrain, markers, roads=roads)
267
+ # built-ins: "parchment" (default), "neon" (Tron/digital-grid), "dune" (sand), "blueprint"
268
+ THEMES["neon"].biome_label(Biome.OCEAN) # -> "Void" (the vocabulary layer)
269
+ ```
270
+
271
+ A `Theme` is plain hex-string data (JSON-friendly), so a host — or the same image service
272
+ that makes art packs — can author new ones. This is the "Dominant Medium" idea from
273
+ mapwright's longer-term vision: a sand planet, a digital grid, and an irradiated waste are
274
+ the *same map* wearing different skins. Pair a theme with a matching `ArtPack` for a full
275
+ restyle of both the vector and hand-drawn renders.
276
+
235
277
  ## Determinism
236
278
 
237
279
  Every generator draws from a `SeededRNG`. The same seed (and parameters) reproduces an
Binary file
@@ -0,0 +1,17 @@
1
+ # Sample art pack (`atlas_pack`)
2
+
3
+ A small **example** art pack for `AtlasRenderer`, used only to render the
4
+ hand-drawn atlas thumbnail in the project README (`docs/gallery/atlas.png`,
5
+ produced by `examples/gallery.py`).
6
+
7
+ - **Provenance:** the symbols were generated by an OpenRouter image model through
8
+ mapwright's companion service (storyflow `media_service`), via
9
+ `scripts/gen_mapwright_pack.py` there. They are original, model-generated art —
10
+ not copied from any third-party asset set.
11
+ - **Scope:** this pack lives under `docs/` and is **not** shipped in the PyPI
12
+ wheel (which packages `src/mapwright/` only). mapwright ships no art; this is a
13
+ demo skin.
14
+ - **Layout:** `manifest.json` maps mapwright's neutral slots
15
+ (`mountain.young`, `tree.pine`, `city.castle`, …) to the PNG variants here.
16
+ See the *Atlas rendering & art packs* section of the top-level README for the
17
+ schema.
@@ -0,0 +1,122 @@
1
+ {
2
+ "name": "atlas_pack",
3
+ "style": "antique-ink",
4
+ "colors": {
5
+ "parchment": "#ecdfbf",
6
+ "water": "#a9c2cc",
7
+ "coast": "#463c2c",
8
+ "label": "#2b2218"
9
+ },
10
+ "slots": {
11
+ "mountain.young": {
12
+ "files": [
13
+ "mountain_young_1.png",
14
+ "mountain_young_2.png"
15
+ ],
16
+ "width": 2.0,
17
+ "anchor": "bottom"
18
+ },
19
+ "mountain.mid": {
20
+ "files": [
21
+ "mountain_mid_1.png"
22
+ ],
23
+ "width": 2.0,
24
+ "anchor": "bottom"
25
+ },
26
+ "mountain.old": {
27
+ "files": [
28
+ "mountain_old_1.png",
29
+ "mountain_old_2.png"
30
+ ],
31
+ "width": 2.0,
32
+ "anchor": "bottom"
33
+ },
34
+ "hill": {
35
+ "files": [
36
+ "hill_1.png",
37
+ "hill_2.png"
38
+ ],
39
+ "width": 1.5,
40
+ "anchor": "bottom"
41
+ },
42
+ "tree.pine": {
43
+ "files": [
44
+ "tree_pine_1.png",
45
+ "tree_pine_2.png"
46
+ ],
47
+ "width": 1.0,
48
+ "anchor": "bottom"
49
+ },
50
+ "tree.deciduous": {
51
+ "files": [
52
+ "tree_deciduous_1.png",
53
+ "tree_deciduous_2.png"
54
+ ],
55
+ "width": 1.0,
56
+ "anchor": "bottom"
57
+ },
58
+ "tree.cactus": {
59
+ "files": [
60
+ "tree_cactus_1.png"
61
+ ],
62
+ "width": 1.0,
63
+ "anchor": "bottom"
64
+ },
65
+ "dune": {
66
+ "files": [
67
+ "dune_1.png"
68
+ ],
69
+ "width": 0.9,
70
+ "anchor": "bottom"
71
+ },
72
+ "city.castle": {
73
+ "files": [
74
+ "city_castle_1.png"
75
+ ],
76
+ "width": 1.7,
77
+ "anchor": "bottom"
78
+ },
79
+ "city.large": {
80
+ "files": [
81
+ "city_large_1.png"
82
+ ],
83
+ "width": 1.7,
84
+ "anchor": "bottom"
85
+ },
86
+ "city.town": {
87
+ "files": [
88
+ "city_town_1.png"
89
+ ],
90
+ "width": 1.7,
91
+ "anchor": "bottom"
92
+ },
93
+ "city.village": {
94
+ "files": [
95
+ "city_village_1.png"
96
+ ],
97
+ "width": 1.7,
98
+ "anchor": "bottom"
99
+ },
100
+ "decoration.compass": {
101
+ "files": [
102
+ "decoration_compass_1.png"
103
+ ],
104
+ "width": 3.0,
105
+ "anchor": "center"
106
+ },
107
+ "decoration.ship": {
108
+ "files": [
109
+ "decoration_ship_1.png"
110
+ ],
111
+ "width": 3.0,
112
+ "anchor": "center"
113
+ },
114
+ "decoration.creature": {
115
+ "files": [
116
+ "decoration_creature_1.png"
117
+ ],
118
+ "width": 3.0,
119
+ "anchor": "center"
120
+ }
121
+ }
122
+ }
@@ -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="#071925"/><g stroke-linejoin="round"><polygon points="0.0,0.0 17.7,0.0 20.2,22.5 0.0,23.4" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="17.7,0.0 42.1,0.0 40.0,21.2 20.2,22.6" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="42.1,0.0 62.7,0.0 65.0,20.8 40.1,20.0" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="62.7,0.0 86.4,0.0 87.2,15.2 75.3,23.5 65.1,21.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="86.4,0.0 111.4,0.0 105.1,22.1 87.2,15.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="111.4,0.0 127.0,0.0 131.7,23.7 105.1,21.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="127.0,0.0 153.0,0.0 154.1,13.4 146.4,19.7 130.9,19.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="153.0,0.0 181.5,0.0 179.8,13.0 166.3,19.2 154.1,13.4" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="181.5,0.0 202.2,0.0 206.2,15.4 195.2,26.7 179.8,13.0" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="202.2,0.0 225.5,0.0 218.4,16.0 206.2,15.4" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="225.5,0.0 236.1,0.0 241.7,15.0 227.2,24.9 218.4,16.0" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="236.1,0.0 259.2,0.0 256.2,18.9 241.7,15.0" fill="#236687" stroke="#236687" stroke-width="0.5"/><polygon points="259.2,0.0 283.9,0.0 276.2,21.0 268.9,22.9 256.6,16.5" fill="#4ab6cd" stroke="#4ab6cd" stroke-width="0.5"/><polygon points="283.9,0.0 294.3,0.0 303.8,21.8 294.5,30.1 290.4,30.7 276.2,21.0" fill="#4ab6cd" stroke="#4ab6cd" stroke-width="0.5"/><polygon points="294.3,0.0 323.8,0.0 323.6,11.5 310.6,21.9 303.8,21.8" fill="#4ab6cd" stroke="#4ab6cd" stroke-width="0.5"/><polygon points="323.8,0.0 353.9,0.0 352.5,20.7 337.5,22.4 323.6,11.5" fill="#42a1b5" stroke="#42a1b5" stroke-width="0.5"/><polygon points="353.9,0.0 376.2,0.0 380.7,14.4 377.6,20.3 352.5,21.7" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="376.2,0.0 401.1,0.0 399.0,11.8 380.7,14.4" fill="#2b6876" stroke="#2b6876" stroke-width="0.5"/><polygon points="401.1,0.0 423.3,0.0 420.8,22.6 406.3,21.6 399.0,11.8" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="423.3,0.0 443.3,0.0 444.3,18.7 436.9,24.5 420.9,21.0" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="443.3,0.0 462.2,0.0 464.6,22.7 444.3,18.7" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="462.2,0.0 482.7,0.0 481.3,16.7 464.4,20.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="482.7,0.0 504.7,0.0 507.4,14.1 490.5,23.6 481.3,16.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="504.7,0.0 533.3,0.0 530.7,12.7 508.1,18.0" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="533.3,0.0 551.8,0.0 555.6,15.2 549.6,22.2 539.2,22.9 530.7,12.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="551.8,0.0 576.0,0.0 576.0,14.3 555.6,15.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,48.9 0.0,23.4 20.2,22.5 20.2,44.6" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="20.2,44.6 20.2,22.6 38.7,21.3 43.3,38.7 38.7,46.2 27.4,50.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="43.3,38.7 38.4,19.9 66.2,20.8 57.8,39.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="57.8,39.7 65.9,21.6 75.3,23.5 82.4,42.1 63.0,48.6" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="82.4,42.1 75.3,23.5 87.2,15.2 104.9,22.0 102.9,35.7 85.0,43.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="102.9,35.7 104.9,21.8 127.5,23.4 129.1,42.3 112.4,46.4" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="128.9,40.5 127.2,19.7 146.4,19.7 149.7,40.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="149.9,41.7 146.4,19.7 154.1,13.4 166.3,19.2 167.9,38.4" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="167.9,38.4 166.3,19.2 179.8,13.0 195.2,26.7 195.2,29.0 174.3,42.8" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="195.2,29.0 195.2,26.7 206.2,15.4 218.4,16.0 227.2,24.9 227.6,37.0 223.6,39.5 202.4,38.1" fill="#236787" stroke="#236787" stroke-width="0.5"/><polygon points="227.6,37.0 227.2,24.9 241.7,15.0 252.4,17.9 246.2,38.5 238.8,42.0" fill="#4ab6cd" stroke="#4ab6cd" stroke-width="0.5"/><polygon points="253.3,14.8 268.9,22.9 264.4,43.0 246.2,38.5" fill="#4ab6cd" stroke="#4ab6cd" stroke-width="0.5"/><polygon points="267.4,48.4 264.4,43.0 268.9,22.9 276.2,21.0 290.4,30.7 282.5,46.7" fill="#4ab6cd" stroke="#4ab6cd" stroke-width="0.5"/><polygon points="294.5,30.1 303.8,21.8 310.6,21.9 321.0,40.0 306.1,47.4" fill="#47aec4" stroke="#47aec4" stroke-width="0.5"/><polygon points="321.0,40.0 310.6,21.9 323.6,11.5 337.5,22.4 327.8,42.0" fill="#45a9be" stroke="#45a9be" stroke-width="0.5"/><polygon points="327.8,42.0 337.5,22.4 353.3,20.6 356.4,39.3 350.8,46.1 331.5,47.7" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="356.4,39.3 353.5,21.6 377.6,20.3 382.8,33.3 374.1,44.6" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="382.8,33.3 377.6,20.3 380.7,14.4 399.0,11.8 406.3,21.6 396.0,35.2" fill="#3a8fa1" stroke="#3a8fa1" stroke-width="0.5"/><polygon points="406.3,21.6 418.5,22.4 418.5,48.9 401.6,46.9 396.0,35.2" fill="#3a8fa1" stroke="#3a8fa1" stroke-width="0.5"/><polygon points="418.5,20.5 436.9,24.5 440.1,40.5 436.9,45.9 418.5,47.2" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="440.1,40.5 436.9,24.5 444.3,18.7 462.9,22.4 464.2,40.5" fill="#153f53" stroke="#153f53" stroke-width="0.5"/><polygon points="464.3,41.9 462.8,21.2 481.3,16.7 490.5,23.6 490.5,40.6" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="490.5,39.5 490.5,23.6 511.3,11.9 516.5,39.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="516.7,40.5 512.3,17.1 530.7,12.7 539.2,22.9 531.5,39.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="539.1,48.0 531.5,39.5 539.2,22.9 549.6,22.2 560.1,38.7 551.6,47.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="576.0,14.3 576.0,38.7 560.1,38.7 549.6,22.2 555.6,15.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,63.2 0.0,48.9 20.3,44.6 27.4,50.7 26.9,59.9 16.0,69.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="26.9,59.9 27.4,50.7 38.7,46.2 51.2,58.7 42.4,72.3" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="38.7,46.2 43.3,38.7 57.8,39.7 63.0,48.6 61.0,56.4 51.2,58.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="61.0,56.4 63.0,48.6 82.4,42.1 85.0,43.8 87.1,55.7 69.3,66.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="87.1,55.7 85.0,43.8 102.9,35.7 112.4,46.4 109.2,58.4 93.4,61.1" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="109.2,58.4 112.4,46.4 127.3,42.8 134.3,61.6 125.7,70.9 116.5,68.5" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="134.3,61.6 126.5,40.5 151.0,40.5 149.2,60.7" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="149.2,60.7 150.9,41.5 167.9,38.4 174.3,42.8 176.1,52.8 154.0,65.1" fill="#236787" stroke="#236787" stroke-width="0.5"/><polygon points="176.1,52.8 174.3,42.8 195.2,29.0 202.4,38.1 199.5,56.4 194.9,60.6 183.3,60.1" fill="#236586" stroke="#236586" stroke-width="0.5"/><polygon points="199.5,56.4 202.4,38.1 223.6,39.5 218.6,59.4" fill="#49b3c9" stroke="#49b3c9" stroke-width="0.5"/><polygon points="218.6,59.4 223.6,39.5 227.6,37.0 238.8,42.0 242.3,59.5 236.8,67.5 223.5,67.5" fill="#4ab5cc" stroke="#4ab5cc" stroke-width="0.5"/><polygon points="242.3,59.5 238.8,42.0 246.2,38.5 264.4,43.0 267.4,48.4 263.7,59.5" fill="#48b1c7" stroke="#48b1c7" stroke-width="0.5"/><polygon points="265.6,64.2 263.7,59.5 267.4,48.4 282.5,46.7 292.2,58.0 287.5,69.9 284.8,71.5" fill="#46acc2" stroke="#46acc2" stroke-width="0.5"/><polygon points="282.5,46.7 290.4,30.7 294.5,30.1 306.1,47.4 303.6,54.6 292.2,58.0" fill="#48b1c7" stroke="#48b1c7" stroke-width="0.5"/><polygon points="303.6,54.6 306.1,47.4 321.0,40.0 327.8,42.0 331.5,47.7 330.2,55.0 312.8,63.8" fill="#27606c" stroke="#27606c" stroke-width="0.5"/><polygon points="330.2,55.1 331.5,47.7 350.8,46.1 356.0,66.0 348.6,71.7 335.5,65.8" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="356.0,66.0 350.8,46.1 356.4,39.3 374.1,44.6 378.0,59.6 370.9,66.8" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="378.0,59.6 374.1,44.6 382.8,33.3 396.0,35.2 401.6,46.9 391.5,61.1" fill="#2a6673" stroke="#2a6673" stroke-width="0.5"/><polygon points="391.5,61.1 401.6,46.9 416.9,48.7 418.2,60.7 415.1,66.9 397.6,69.6" fill="#327b8b" stroke="#327b8b" stroke-width="0.5"/><polygon points="418.2,60.7 416.7,47.3 436.9,45.9 441.7,59.6 436.6,65.3" fill="#307684" stroke="#307684" stroke-width="0.5"/><polygon points="441.7,59.5 436.9,45.9 440.1,40.5 465.3,40.5 463.4,56.9 455.5,62.3" fill="#2b6a77" stroke="#2b6a77" stroke-width="0.5"/><polygon points="463.4,56.9 465.2,41.8 489.7,40.6 492.0,58.5 486.2,68.9 482.9,69.8" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="492.0,58.5 489.5,39.5 517.7,39.5 513.9,58.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="513.9,58.5 517.5,40.4 531.5,39.5 539.1,48.0 535.2,63.2 519.5,67.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="535.2,63.2 539.1,48.0 551.6,47.5 558.0,61.9 542.4,69.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="576.0,38.7 576.0,67.5 569.2,67.5 558.0,61.9 551.6,47.5 560.1,38.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,92.0 0.0,63.2 16.0,69.8 17.8,81.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="17.8,81.8 16.0,69.8 26.9,59.9 42.4,72.3 43.6,78.5 41.5,83.0 30.1,89.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="43.6,78.5 42.4,72.3 51.2,58.7 61.0,56.4 69.3,66.8 69.3,76.9" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="69.3,76.9 69.3,66.8 87.1,55.7 93.4,61.1 91.7,80.1" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="91.7,80.1 93.4,61.1 109.2,58.4 116.5,68.5 100.1,85.8 95.5,84.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="100.1,85.8 116.5,68.5 125.7,70.9 132.0,87.8 127.5,92.2 108.6,95.1" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="132.0,87.8 125.7,70.9 134.3,61.6 149.2,60.7 154.0,65.1 157.3,79.3 156.3,80.9 138.4,88.6" fill="#1f708f" stroke="#1f708f" stroke-width="0.5"/><polygon points="157.3,79.3 154.0,65.1 176.1,52.8 183.3,60.1 176.2,77.8" fill="#44a6bb" stroke="#44a6bb" stroke-width="0.5"/><polygon points="176.2,77.8 183.3,60.1 194.9,60.6 202.7,80.1 193.8,89.1 186.4,89.7" fill="#47adc3" stroke="#47adc3" stroke-width="0.5"/><polygon points="202.7,80.1 194.9,60.6 199.5,56.4 218.6,59.4 223.5,67.5 214.6,80.3" fill="#4ab4cb" stroke="#4ab4cb" stroke-width="0.5"/><polygon points="214.6,80.3 223.5,67.5 236.8,67.5 244.8,83.1 237.7,92.1 221.0,90.9" fill="#49b2c8" stroke="#49b2c8" stroke-width="0.5"/><polygon points="236.8,67.5 242.3,59.5 263.7,59.5 265.6,64.2 257.7,83.8 244.8,83.1" fill="#4ab6cd" stroke="#4ab6cd" stroke-width="0.5"/><polygon points="265.6,64.2 284.8,71.5 281.6,85.5 257.0,85.5" fill="#4ab6cd" stroke="#4ab6cd" stroke-width="0.5"/><polygon points="287.5,69.9 292.2,58.0 303.6,54.6 312.8,63.8 312.8,82.5" fill="#3b91a4" stroke="#3b91a4" stroke-width="0.5"/><polygon points="312.8,77.6 312.8,63.7 330.1,55.0 335.5,65.8 321.7,80.8" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="335.5,65.8 348.6,71.7 347.6,82.1 327.8,88.7 321.7,80.8" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="347.6,82.1 348.6,71.7 356.0,66.0 370.9,66.8 375.5,89.2 373.1,92.7 352.4,89.5" fill="#296471" stroke="#296471" stroke-width="0.5"/><polygon points="375.5,89.2 370.9,66.8 378.0,59.6 391.5,61.1 397.6,69.6 396.7,85.2" fill="#2e7180" stroke="#2e7180" stroke-width="0.5"/><polygon points="396.7,85.5 397.6,69.6 415.1,66.9 421.3,80.5 417.9,85.5" fill="#368596" stroke="#368596" stroke-width="0.5"/><polygon points="421.3,80.5 415.1,66.9 418.2,60.7 436.6,65.3 434.5,78.4" fill="#2d6f7d" stroke="#2d6f7d" stroke-width="0.5"/><polygon points="434.5,78.4 436.6,65.3 441.8,59.5 455.5,62.3 455.5,84.6 444.1,86.9" fill="#3b8fa1" stroke="#3b8fa1" stroke-width="0.5"/><polygon points="458.9,86.4 455.5,84.6 455.5,62.3 463.4,56.9 482.9,69.8 475.7,81.1" fill="#2e707e" stroke="#2e707e" stroke-width="0.5"/><polygon points="486.2,68.9 492.0,58.5 513.9,58.5 519.5,67.8 518.4,71.5 499.2,79.6" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="500.8,98.1 499.2,79.6 518.4,71.5 524.3,85.5 517.2,95.5 504.5,98.9" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="524.3,85.5 518.4,71.5 519.5,67.8 535.2,63.2 542.4,69.7 544.0,78.7 535.3,87.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="553.2,82.2 544.0,78.7 542.4,69.7 558.0,61.9 569.2,67.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,100.4 0.0,92.0 17.8,81.8 30.1,89.2 27.5,106.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="27.6,106.9 27.5,106.7 30.1,89.2 41.5,83.0 56.5,101.3 42.7,112.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="56.5,101.3 41.5,83.0 43.6,78.5 69.3,76.9 67.3,101.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="67.5,99.2 69.3,76.9 91.7,80.1 95.5,84.7 82.7,101.3" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="88.9,111.4 82.7,101.3 95.5,84.7 100.1,85.8 108.6,95.1 106.0,109.8" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="128.5,121.3 127.5,92.2 132.0,87.8 138.4,88.6 148.8,110.9" fill="#216281" stroke="#216281" stroke-width="0.5"/><polygon points="148.8,110.9 138.4,88.6 156.3,80.9 164.7,102.8 153.3,111.7" fill="#1d6b88" stroke="#1d6b88" stroke-width="0.5"/><polygon points="164.7,102.8 156.3,80.9 157.3,79.3 176.2,77.8 186.4,89.7 176.0,104.7" fill="#43a4b9" stroke="#43a4b9" stroke-width="0.5"/><polygon points="178.1,108.8 176.0,104.7 186.4,89.7 193.8,89.1 215.3,123.9" fill="#409db1" stroke="#409db1" stroke-width="0.5"/><polygon points="205.9,108.8 193.8,89.1 202.7,80.1 214.6,80.3 221.0,90.9 215.1,105.4" fill="#47aec4" stroke="#47aec4" stroke-width="0.5"/><polygon points="215.1,105.4 221.0,90.9 237.7,92.1 239.2,99.8 226.4,112.6" fill="#42a1b5" stroke="#42a1b5" stroke-width="0.5"/><polygon points="239.2,99.8 237.7,92.1 244.8,83.1 259.0,83.9 262.6,103.7 254.8,111.6 250.0,110.5" fill="#47adc3" stroke="#47adc3" stroke-width="0.5"/><polygon points="262.6,103.7 259.3,85.5 281.6,85.5 286.3,94.8 278.7,105.8" fill="#48b0c6" stroke="#48b0c6" stroke-width="0.5"/><polygon points="286.3,94.8 281.6,85.5 284.8,71.5 287.5,69.9 308.0,80.1 300.6,95.7" fill="#49b3c9" stroke="#49b3c9" stroke-width="0.5"/><polygon points="309.8,76.5 321.7,80.8 327.8,88.7 327.3,99.5 318.8,107.2 306.3,104.1 300.6,95.7" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="327.3,99.5 327.8,88.7 347.6,82.1 352.4,89.5 345.1,106.3" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="345.1,106.3 352.4,89.5 373.1,92.7 373.8,102.6 347.4,111.4" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="374.1,106.9 373.1,92.7 375.5,89.2 396.9,85.2 401.6,106.0 399.3,110.2" fill="#337d8d" stroke="#337d8d" stroke-width="0.5"/><polygon points="401.6,106.0 397.0,85.5 417.9,85.5 421.5,101.1" fill="#3a8fa1" stroke="#3a8fa1" stroke-width="0.5"/><polygon points="421.5,101.1 417.9,85.5 421.3,80.5 434.5,78.4 444.1,86.9 436.3,103.6 427.8,105.4" fill="#3a8d9f" stroke="#3a8d9f" stroke-width="0.5"/><polygon points="436.3,103.6 444.1,86.9 455.5,84.6 458.9,86.4 464.1,106.2 462.7,109.3 446.2,111.9" fill="#358293" stroke="#358293" stroke-width="0.5"/><polygon points="464.1,106.2 458.9,86.4 475.7,81.1 485.5,100.8" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="475.7,81.1 482.9,69.8 486.2,68.9 499.2,79.6 500.8,98.1 491.4,103.4 485.5,100.8" fill="#13384a" stroke="#13384a" stroke-width="0.5"/><polygon points="517.2,95.5 524.3,85.5 535.3,87.2 542.1,102.9 532.5,112.5 532.0,112.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="542.1,102.9 535.3,87.2 544.0,78.7 553.2,82.2 558.6,94.5 550.7,102.6" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="576.0,67.5 576.0,94.5 558.6,94.5 553.2,82.2 569.2,67.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,122.3 0.0,100.4 27.5,106.7 27.6,106.9 19.5,124.4" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="19.5,124.4 27.6,106.9 42.7,112.2 47.5,127.1 42.2,132.4 21.9,129.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="47.5,127.1 42.7,112.2 56.5,101.3 64.2,101.7 67.1,122.0 60.1,128.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="67.1,122.0 63.8,98.6 82.7,101.3 88.9,111.4 83.7,124.6" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="87.3,131.1 83.7,124.6 88.9,111.4 106.0,109.8 112.1,118.4 106.3,129.3" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="106.0,109.8 108.6,95.1 127.5,92.2 128.4,118.7 112.1,118.4" fill="#216281" stroke="#216281" stroke-width="0.5"/><polygon points="132.8,128.3 130.6,120.2 148.8,110.9 153.3,111.7 158.8,126.0 151.6,139.3" fill="#165977" stroke="#165977" stroke-width="0.5"/><polygon points="158.8,126.0 153.3,111.7 164.7,102.8 176.0,104.7 178.1,108.8 173.8,126.0" fill="#1d6784" stroke="#1d6784" stroke-width="0.5"/><polygon points="172.5,131.3 178.1,108.8 200.8,118.0 200.9,118.8 191.8,132.2" fill="#1f7190" stroke="#1f7190" stroke-width="0.5"/><polygon points="200.9,118.8 200.2,110.9 215.1,105.4 226.4,112.6 230.7,123.7 230.5,125.1 220.4,134.2" fill="#1a6688" stroke="#1a6688" stroke-width="0.5"/><polygon points="230.7,123.7 226.4,112.6 239.2,99.7 250.0,110.5" fill="#42a2b7" stroke="#42a2b7" stroke-width="0.5"/><polygon points="230.5,125.1 230.7,123.7 250.0,110.5 254.8,111.6 258.6,125.5 246.4,133.9" fill="#1d6784" stroke="#1d6784" stroke-width="0.5"/><polygon points="258.6,125.5 254.8,111.6 262.6,103.7 278.7,105.8 283.4,120.0 267.8,130.4" fill="#43a4b9" stroke="#43a4b9" stroke-width="0.5"/><polygon points="283.4,120.0 278.7,105.8 286.3,94.8 300.6,95.7 306.3,104.1 293.5,124.1" fill="#347e8e" stroke="#347e8e" stroke-width="0.5"/><polygon points="293.5,124.1 306.3,104.1 318.8,107.2 322.3,121.6 313.1,131.5 296.3,128.7" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="322.3,121.6 318.8,107.2 327.3,99.5 345.1,106.3 347.4,111.4 347.3,115.8 334.8,125.2" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="347.3,115.8 347.4,111.4 377.3,101.5 373.6,119.8 358.3,125.6" fill="#1a5e78" stroke="#1a5e78" stroke-width="0.5"/><polygon points="373.6,119.8 376.2,107.2 399.3,110.2 402.3,123.7 399.1,129.0 380.7,129.0" fill="#195971" stroke="#195971" stroke-width="0.5"/><polygon points="402.3,123.8 399.3,110.2 401.6,106.0 421.5,101.1 427.8,105.4 422.4,123.8" fill="#114258" stroke="#114258" stroke-width="0.5"/><polygon points="422.4,123.7 427.8,105.4 436.3,103.6 446.2,111.9 444.2,126.0 428.9,132.4" fill="#104156" stroke="#104156" stroke-width="0.5"/><polygon points="444.2,126.0 446.2,111.9 462.7,109.3 468.3,123.4 453.7,132.8" fill="#18576f" stroke="#18576f" stroke-width="0.5"/><polygon points="468.3,123.4 462.7,109.3 464.1,106.2 485.5,100.8 491.4,103.4 490.1,118.8 469.4,124.0" fill="#2d6e7c" stroke="#2d6e7c" stroke-width="0.5"/><polygon points="500.8,98.1 504.5,98.9 516.2,122.3 512.2,130.3 510.8,130.4 489.8,121.8 491.4,103.4" fill="#164054" stroke="#164054" stroke-width="0.5"/><polygon points="516.2,122.2 504.5,98.9 517.2,95.5 532.0,112.5" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="545.0,131.3 532.5,112.5 542.1,102.9 550.7,102.6 561.1,120.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="576.0,94.5 576.0,122.0 561.1,120.5 550.7,102.6 558.6,94.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,146.2 0.0,122.3 19.5,124.4 21.9,129.2 18.4,146.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="17.9,149.1 21.9,129.2 42.2,132.4 41.5,146.9" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="41.5,148.5 42.2,132.4 47.5,127.1 60.1,128.8 66.2,148.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="66.2,148.3 60.1,128.8 67.1,122.0 83.7,124.6 87.3,131.1 83.7,147.4" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="83.9,146.6 87.3,131.1 106.3,129.3 114.1,149.7" fill="#24688a" stroke="#24688a" stroke-width="0.5"/><polygon points="106.3,129.3 112.1,118.4 130.2,118.7 132.8,128.2 121.9,146.9 113.2,147.2" fill="#226382" stroke="#226382" stroke-width="0.5"/><polygon points="134.8,158.1 121.9,146.9 132.7,128.3 152.5,139.8 136.2,157.9" fill="#185f7e" stroke="#185f7e" stroke-width="0.5"/><polygon points="150.3,141.8 158.8,126.0 180.4,126.0 173.7,141.8" fill="#18607f" stroke="#18607f" stroke-width="0.5"/><polygon points="178.3,154.2 173.7,141.8 178.0,131.6 191.8,132.2 196.6,146.1" fill="#207494" stroke="#207494" stroke-width="0.5"/><polygon points="196.6,146.1 191.8,132.2 200.9,118.8 220.1,134.0 208.4,149.2 203.7,150.2" fill="#1f7191" stroke="#1f7191" stroke-width="0.5"/><polygon points="220.8,133.9 230.5,125.1 246.4,133.9 245.8,146.4 237.6,153.5" fill="#2a86a2" stroke="#2a86a2" stroke-width="0.5"/><polygon points="245.8,146.4 246.4,133.9 258.6,125.5 267.8,130.4 269.8,141.8 262.1,150.5" fill="#e7ffff" stroke="#e7ffff" stroke-width="0.5"/><polygon points="269.8,141.8 267.8,130.4 283.4,120.0 293.5,124.1 296.3,128.7 291.3,144.2 284.3,147.6" fill="#809fab" stroke="#809fab" stroke-width="0.5"/><polygon points="291.3,144.2 296.3,128.7 313.1,131.5 317.7,145.2 307.0,156.8" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="317.7,145.2 313.1,131.5 322.3,121.6 334.8,125.2 338.8,142.7 334.3,148.9" fill="#14495d" stroke="#14495d" stroke-width="0.5"/><polygon points="338.8,142.7 334.8,125.2 347.3,115.8 358.3,125.6 357.0,139.8" fill="#14516c" stroke="#14516c" stroke-width="0.5"/><polygon points="357.0,139.8 358.3,125.6 373.6,119.8 380.7,129.0 374.1,145.8 365.0,147.6" fill="#11465c" stroke="#11465c" stroke-width="0.5"/><polygon points="374.1,145.8 380.7,129.0 399.1,129.0 400.7,138.6 380.9,150.0" fill="#103e53" stroke="#103e53" stroke-width="0.5"/><polygon points="400.7,138.6 399.1,129.0 402.3,123.8 422.4,123.8 428.9,132.4 428.2,141.3 424.6,146.2 406.2,146.2" fill="#2a86a8" stroke="#2a86a8" stroke-width="0.5"/><polygon points="428.2,141.3 428.9,132.4 444.2,126.0 453.7,132.8 454.1,149.2" fill="#2a86a8" stroke="#2a86a8" stroke-width="0.5"/><polygon points="454.1,147.8 453.7,132.8 468.3,123.4 469.4,124.0 476.2,142.5 467.2,150.6" fill="#1c647f" stroke="#1c647f" stroke-width="0.5"/><polygon points="476.2,142.5 469.4,124.0 495.9,117.3 484.0,142.8" fill="#2a86a8" stroke="#2a86a8" stroke-width="0.5"/><polygon points="493.1,123.2 510.8,130.4 493.7,150.5 484.0,142.8" fill="#2a86a8" stroke="#2a86a8" stroke-width="0.5"/><polygon points="512.2,130.3 516.2,122.3 532.0,112.5 532.5,112.5 545.3,131.7 520.1,139.4" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="520.7,144.9 520.1,139.4 544.9,131.8 548.1,141.0 537.6,155.0" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="576.0,122.0 576.0,149.8 563.4,150.0 548.1,141.0 544.8,131.4 561.1,120.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,166.5 0.0,146.2 20.3,146.2 21.6,166.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="21.3,161.0 20.5,148.8 42.9,146.8 42.3,166.3" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="42.3,167.1 42.8,148.5 66.0,148.5 62.0,165.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="62.0,165.2 66.0,148.3 83.1,147.5 87.9,167.9 84.1,174.0 67.4,173.5" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="87.9,167.9 82.8,146.4 110.8,149.4 106.7,166.3" fill="#226382" stroke="#226382" stroke-width="0.5"/><polygon points="112.9,174.5 106.7,166.3 111.3,147.3 121.9,146.9 134.8,158.1 126.5,175.1" fill="#165874" stroke="#165874" stroke-width="0.5"/><polygon points="136.2,157.9 152.5,139.8 152.8,139.8 163.8,161.9 156.8,170.9" fill="#175d7b" stroke="#175d7b" stroke-width="0.5"/><polygon points="153.8,141.8 173.7,141.8 179.7,158.0 163.8,161.9" fill="#1e6b88" stroke="#1e6b88" stroke-width="0.5"/><polygon points="174.4,156.0 196.6,146.1 203.7,150.2 199.1,166.9 185.7,170.7" fill="#2b89a5" stroke="#2b89a5" stroke-width="0.5"/><polygon points="212.8,180.0 199.1,166.9 203.7,150.2 208.4,149.2 221.6,160.7" fill="#2d8eac" stroke="#2d8eac" stroke-width="0.5"/><polygon points="208.4,149.2 220.5,133.5 237.6,153.5 236.2,158.5 221.6,160.7" fill="#2b89a6" stroke="#2b89a6" stroke-width="0.5"/><polygon points="236.2,158.5 237.6,153.5 245.8,146.4 262.1,150.5 264.1,166.2 246.5,171.2 241.8,169.2" fill="#b0dbeb" stroke="#b0dbeb" stroke-width="0.5"/><polygon points="264.6,170.9 262.1,150.5 269.8,141.8 284.3,147.6 281.9,164.4" fill="#86a7b3" stroke="#86a7b3" stroke-width="0.5"/><polygon points="281.9,164.4 284.3,147.6 291.3,144.2 307.0,156.8 306.8,164.8 293.0,170.3" fill="#7e9da8" stroke="#7e9da8" stroke-width="0.5"/><polygon points="306.7,169.6 307.0,156.8 317.7,145.2 334.3,148.9 338.4,167.4" fill="#a7d0df" stroke="#a7d0df" stroke-width="0.5"/><polygon points="338.3,166.9 334.3,148.9 338.8,142.7 357.0,139.8 365.0,147.6 360.5,160.9 345.6,168.3" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="360.5,160.9 365.0,147.6 374.1,145.8 380.9,150.0 386.6,160.4 375.5,174.4" fill="#12475e" stroke="#12475e" stroke-width="0.5"/><polygon points="386.6,160.4 380.9,150.0 400.7,138.6 406.2,146.3 400.4,162.5" fill="#165976" stroke="#165976" stroke-width="0.5"/><polygon points="400.4,162.5 406.2,146.2 424.6,146.2 428.5,167.7 401.8,164.9" fill="#134d66" stroke="#134d66" stroke-width="0.5"/><polygon points="428.2,165.8 424.6,146.2 428.2,141.3 452.6,148.7 444.6,167.0" fill="#144e68" stroke="#144e68" stroke-width="0.5"/><polygon points="444.6,167.0 453.1,147.6 467.2,150.6 473.2,168.7 450.8,174.9" fill="#15526d" stroke="#15526d" stroke-width="0.5"/><polygon points="472.9,167.7 467.2,150.6 476.2,142.5 484.0,142.8 493.7,150.5 495.5,156.6 486.4,167.2" fill="#134d67" stroke="#134d67" stroke-width="0.5"/><polygon points="493.7,150.5 510.8,130.4 512.2,130.3 520.1,139.4 520.7,144.9 512.8,159.5 509.2,160.9 495.5,156.6" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="520.7,144.9 537.6,155.0 538.9,165.4 529.2,170.1 512.8,159.5" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="538.9,165.4 537.6,155.0 548.1,141.0 563.4,150.0 547.1,169.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="576.0,149.8 576.0,176.1 550.6,174.6 547.1,169.2 563.4,150.0" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,184.5 0.0,166.5 17.6,166.5 21.6,184.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="21.4,183.6 16.1,159.8 42.9,166.4 40.7,178.4" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="40.7,178.4 42.8,167.0 62.0,165.2 67.4,173.5 60.6,187.1 48.0,187.9" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="60.6,187.1 67.4,173.5 84.1,174.0 88.2,187.0 68.2,197.1" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="88.2,187.0 84.1,174.0 87.9,167.9 106.7,166.3 112.9,174.5 104.1,191.5 93.7,191.5" fill="#1f5a77" stroke="#1f5a77" stroke-width="0.5"/><polygon points="104.1,191.5 112.9,174.5 126.5,175.1 134.1,186.5 115.0,203.3" fill="#14506b" stroke="#14506b" stroke-width="0.5"/><polygon points="134.1,186.5 126.5,175.1 134.8,158.1 136.2,157.9 156.8,170.9 156.8,176.3 134.4,186.6" fill="#155570" stroke="#155570" stroke-width="0.5"/><polygon points="156.8,177.0 156.8,170.9 163.8,161.9 176.5,158.8 185.7,170.7 183.3,180.3 176.2,184.3" fill="#165a77" stroke="#165a77" stroke-width="0.5"/><polygon points="183.3,180.2 185.7,170.7 199.1,166.9 212.0,179.2 196.8,191.0" fill="#29839e" stroke="#29839e" stroke-width="0.5"/><polygon points="213.2,179.3 221.6,160.7 236.2,158.5 241.8,169.2 225.4,185.6 221.8,185.8" fill="#25758e" stroke="#25758e" stroke-width="0.5"/><polygon points="225.4,185.6 241.8,169.2 246.5,171.2 251.3,190.7 242.8,198.5" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="251.3,190.7 246.5,171.2 268.5,165.0 271.0,184.9 263.4,191.8" fill="#184d5d" stroke="#184d5d" stroke-width="0.5"/><polygon points="271.0,184.9 269.0,169.2 281.9,164.4 293.0,170.3 290.1,189.4 287.6,190.9" fill="#7e9da8" stroke="#7e9da8" stroke-width="0.5"/><polygon points="290.1,189.4 293.0,170.3 311.3,163.0 313.0,194.0" fill="#7e9da8" stroke="#7e9da8" stroke-width="0.5"/><polygon points="312.8,191.2 311.7,169.2 337.6,167.4 330.5,190.4" fill="#7e9da8" stroke="#7e9da8" stroke-width="0.5"/><polygon points="330.5,190.4 337.8,166.8 345.6,168.3 357.1,188.4 341.5,199.4 338.5,199.3" fill="#1e5562" stroke="#1e5562" stroke-width="0.5"/><polygon points="357.1,188.4 345.6,168.3 360.5,160.9 375.5,174.4 376.1,180.8 362.5,189.5" fill="#11455b" stroke="#11455b" stroke-width="0.5"/><polygon points="376.1,180.8 375.5,174.4 386.6,160.4 400.4,162.5 401.8,164.9 400.1,180.8 390.4,189.1" fill="#114459" stroke="#114459" stroke-width="0.5"/><polygon points="400.1,180.8 401.8,164.9 426.5,167.5 422.4,185.9 420.4,186.9" fill="#12475f" stroke="#12475f" stroke-width="0.5"/><polygon points="422.4,185.9 426.9,165.7 444.6,167.0 450.8,174.9 450.1,185.6 435.1,193.1" fill="#134a62" stroke="#134a62" stroke-width="0.5"/><polygon points="450.1,185.6 450.8,174.9 471.7,169.2 474.0,190.9 457.0,192.4" fill="#12475e" stroke="#12475e" stroke-width="0.5"/><polygon points="474.0,190.9 471.6,167.7 486.4,167.2 495.1,184.7 486.8,195.3 479.7,194.9" fill="#104055" stroke="#104055" stroke-width="0.5"/><polygon points="495.1,184.7 486.4,167.2 495.5,156.6 509.2,160.9 506.9,183.2" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="506.9,183.2 509.2,160.9 512.8,159.5 529.2,170.1 524.6,183.4 516.5,188.7" fill="#13384a" stroke="#13384a" stroke-width="0.5"/><polygon points="524.6,183.4 529.2,170.1 538.9,165.4 547.1,169.2 550.6,174.6 546.2,192.6" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="576.0,176.1 576.0,195.8 546.2,192.6 550.6,174.6" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,204.8 0.0,184.5 20.9,184.5 23.2,204.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="23.0,202.9 20.8,183.7 40.7,178.4 48.0,187.9 41.8,202.6" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="41.8,202.6 48.0,187.9 60.6,187.1 68.2,197.1 68.2,205.6 56.9,213.9 49.1,212.4" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="68.2,205.6 68.2,197.1 88.2,187.0 93.7,191.5 85.8,215.0" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="85.8,215.0 93.7,191.5 104.1,191.5 115.0,203.3 115.8,210.1 89.3,218.1 86.5,216.4" fill="#1e5975" stroke="#1e5975" stroke-width="0.5"/><polygon points="115.5,207.6 115.0,203.3 134.1,186.5 134.4,186.6 145.6,205.1 139.5,214.2" fill="#155672" stroke="#155672" stroke-width="0.5"/><polygon points="145.6,205.1 134.4,186.6 157.5,176.0 157.5,202.9" fill="#15536e" stroke="#15536e" stroke-width="0.5"/><polygon points="157.5,202.9 157.5,177.3 176.2,184.3 173.9,200.4 165.3,206.3" fill="#1e6d8b" stroke="#1e6d8b" stroke-width="0.5"/><polygon points="173.9,200.4 176.2,184.3 183.3,180.3 196.8,191.0 196.2,206.0" fill="#29839f" stroke="#29839f" stroke-width="0.5"/><polygon points="196.2,206.5 196.8,191.0 212.5,178.8 221.8,185.8 216.9,203.7" fill="#24728a" stroke="#24728a" stroke-width="0.5"/><polygon points="226.4,214.5 216.9,203.7 221.8,185.8 225.4,185.6 248.2,202.5" fill="#195060" stroke="#195060" stroke-width="0.5"/><polygon points="238.4,202.5 251.3,190.7 263.4,191.8 268.3,211.5 248.3,211.5" fill="#184c5c" stroke="#184c5c" stroke-width="0.5"/><polygon points="268.1,210.6 263.4,191.8 271.0,184.9 287.6,190.8 284.0,208.8" fill="#194e5f" stroke="#194e5f" stroke-width="0.5"/><polygon points="283.7,210.4 287.6,190.9 290.1,189.4 310.5,193.5 310.5,210.4" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="310.5,209.5 310.5,191.3 330.5,190.4 338.5,199.3 328.2,215.8" fill="#1d5c6f" stroke="#1d5c6f" stroke-width="0.5"/><polygon points="341.5,199.4 357.1,188.4 362.5,189.5 368.6,210.3 355.1,215.7" fill="#38a1bb" stroke="#38a1bb" stroke-width="0.5"/><polygon points="368.6,210.3 362.5,189.5 376.1,180.8 389.0,188.3 382.1,207.7 370.6,211.1" fill="#7e9da8" stroke="#7e9da8" stroke-width="0.5"/><polygon points="382.1,207.7 389.9,185.7 407.9,206.7 393.8,215.6" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="409.9,208.9 391.8,187.9 400.1,180.8 420.4,186.9" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="410.9,206.9 420.4,186.9 422.4,185.9 435.1,193.1 435.9,207.8 418.5,214.5" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="435.9,207.8 435.1,193.1 450.1,185.6 457.0,192.5 455.4,210.8 445.0,214.2" fill="#114359" stroke="#114359" stroke-width="0.5"/><polygon points="466.6,216.4 455.4,210.8 457.1,192.4 474.0,190.9 479.7,194.9" fill="#114358" stroke="#114358" stroke-width="0.5"/><polygon points="486.8,195.3 495.1,184.7 506.9,183.2 516.5,188.7 516.7,192.5 502.4,213.2 496.0,211.4" fill="#13384a" stroke="#13384a" stroke-width="0.5"/><polygon points="507.9,219.8 502.4,213.2 516.7,192.5 527.8,205.0 526.8,211.5" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="527.8,205.0 516.7,192.5 516.5,188.7 524.6,183.4 546.2,192.6 544.6,198.2" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="576.0,195.8 576.0,211.5 549.4,211.5 544.6,198.2 546.2,192.6" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,227.2 0.0,204.8 21.5,204.8 22.5,227.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="22.5,227.4 21.4,202.9 41.8,202.6 49.1,212.4 36.8,228.4" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="36.8,228.4 49.1,212.4 56.9,213.9 63.2,231.1 48.8,242.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="63.2,231.1 56.9,213.9 68.2,205.6 85.8,215.0 86.5,216.4 69.5,232.5" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="89.3,218.1 113.8,210.7 116.2,229.5 110.8,237.0 95.2,232.0" fill="#226383" stroke="#226383" stroke-width="0.5"/><polygon points="116.2,229.5 113.3,207.0 139.5,214.2 141.3,229.5" fill="#175a78" stroke="#175a78" stroke-width="0.5"/><polygon points="141.3,229.5 139.5,214.2 145.6,205.1 157.5,202.9 165.3,206.3 168.2,219.7 156.1,230.2" fill="#165874" stroke="#165874" stroke-width="0.5"/><polygon points="168.2,219.7 165.3,206.3 173.9,200.4 196.5,206.1 196.0,210.9 185.8,220.5 169.9,220.5" fill="#226b81" stroke="#226b81" stroke-width="0.5"/><polygon points="189.3,239.4 185.8,220.5 196.0,210.9 209.7,230.6 198.3,241.6" fill="#29829d" stroke="#29829d" stroke-width="0.5"/><polygon points="209.7,230.6 196.0,210.9 196.5,206.4 216.9,203.7 226.4,214.5 225.2,220.7 211.7,230.5" fill="#226d83" stroke="#226d83" stroke-width="0.5"/><polygon points="225.2,220.7 226.4,214.5 242.1,205.9 248.3,211.5 248.3,234.9 245.1,238.7" fill="#1e6175" stroke="#1e6175" stroke-width="0.5"/><polygon points="248.3,234.9 248.3,211.5 267.3,211.5 266.6,227.8" fill="#20667b" stroke="#20667b" stroke-width="0.5"/><polygon points="266.6,227.8 267.3,210.7 285.3,208.6 288.3,227.7 276.1,234.6" fill="#1d5c6f" stroke="#1d5c6f" stroke-width="0.5"/><polygon points="288.3,227.7 285.6,210.4 309.6,210.4 303.3,233.7" fill="#1f6478" stroke="#1f6478" stroke-width="0.5"/><polygon points="303.9,231.5 309.9,209.3 328.2,215.8 330.5,221.8 316.4,236.5" fill="#20677c" stroke="#20677c" stroke-width="0.5"/><polygon points="330.5,221.8 328.2,215.8 338.5,199.3 341.5,199.4 355.1,215.7 351.8,222.2 337.0,225.5" fill="#226d84" stroke="#226d84" stroke-width="0.5"/><polygon points="351.8,222.2 355.1,215.7 368.6,210.3 370.6,211.1 375.6,231.0 372.7,236.7 362.9,241.3 361.3,241.0" fill="#1d5360" stroke="#1d5360" stroke-width="0.5"/><polygon points="375.6,231.0 370.6,211.1 382.1,207.7 393.8,215.6 393.8,225.8" fill="#215f6e" stroke="#215f6e" stroke-width="0.5"/><polygon points="393.8,225.8 393.8,215.6 409.6,205.6 418.5,214.5 418.5,227.2 400.3,233.3" fill="#215f6e" stroke="#215f6e" stroke-width="0.5"/><polygon points="418.5,227.2 418.5,214.5 435.9,207.8 445.0,214.2 442.3,227.4 425.2,233.9" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="442.3,227.4 445.0,214.2 455.4,210.8 466.6,216.4 467.8,218.5 461.2,235.7 452.4,238.1" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="467.8,218.5 466.6,216.4 479.7,194.9 486.8,195.3 496.0,211.4 481.9,222.7" fill="#104155" stroke="#104155" stroke-width="0.5"/><polygon points="487.2,244.5 481.9,222.7 496.0,211.4 502.4,213.2 507.9,219.8 509.3,226.6" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="516.3,233.0 509.3,226.6 507.9,219.8 526.8,211.5 537.3,223.7 532.7,230.0" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="526.8,211.5 527.8,205.0 544.6,198.2 549.4,211.5 544.2,221.9 537.3,223.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="576.0,211.5 576.0,228.6 555.6,232.7 544.2,221.9 549.4,211.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,249.8 0.0,227.2 22.6,227.2 19.8,249.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="19.5,252.0 22.6,227.4 36.8,228.4 48.8,242.5 48.4,246.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="48.4,246.8 48.8,242.5 63.2,231.1 69.5,232.5 79.5,247.5 67.5,259.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="69.5,232.5 86.5,216.4 89.3,218.1 95.2,232.0 82.8,247.5 79.5,247.5" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="82.8,247.5 95.2,232.0 110.8,237.0 112.8,246.4 111.4,250.5 95.2,257.8" fill="#21617f" stroke="#21617f" stroke-width="0.5"/><polygon points="112.8,246.4 110.8,237.0 116.2,229.5 141.4,229.5 138.6,246.4" fill="#175c7a" stroke="#175c7a" stroke-width="0.5"/><polygon points="138.7,245.3 141.4,229.5 156.1,230.2 166.9,249.1 157.8,256.2" fill="#165875" stroke="#165875" stroke-width="0.5"/><polygon points="166.9,249.1 156.1,230.2 168.2,219.7 169.9,220.5 178.9,243.0 173.0,248.9" fill="#104055" stroke="#104055" stroke-width="0.5"/><polygon points="169.9,220.5 185.8,220.5 189.3,239.4 178.9,243.0" fill="#1a5364" stroke="#1a5364" stroke-width="0.5"/><polygon points="201.5,253.1 198.3,241.6 209.7,230.6 211.7,230.5 226.4,249.3 221.9,259.4" fill="#216a7f" stroke="#216a7f" stroke-width="0.5"/><polygon points="226.4,249.3 211.7,230.5 225.2,220.7 245.7,239.2" fill="#20677c" stroke="#20677c" stroke-width="0.5"/><polygon points="245.5,238.2 248.3,234.9 266.6,227.8 276.1,234.6 275.9,248.6 269.8,253.0" fill="#1e5f73" stroke="#1e5f73" stroke-width="0.5"/><polygon points="275.9,248.6 276.1,234.6 288.3,227.7 300.8,232.7 295.8,250.0 290.4,253.6" fill="#1d5c6f" stroke="#1d5c6f" stroke-width="0.5"/><polygon points="295.8,250.0 301.4,230.5 316.4,236.5 322.7,250.1 312.2,256.6" fill="#1d5c6f" stroke="#1d5c6f" stroke-width="0.5"/><polygon points="322.7,250.1 316.4,236.5 330.5,221.8 337.0,225.5 339.2,246.6 325.4,251.0" fill="#21687e" stroke="#21687e" stroke-width="0.5"/><polygon points="339.2,246.6 337.0,225.5 351.8,222.2 361.3,241.0 346.3,248.9" fill="#1f6377" stroke="#1f6377" stroke-width="0.5"/><polygon points="371.6,264.4 362.9,241.3 372.7,236.7 387.7,247.8 379.8,265.2" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="372.7,236.7 375.6,231.0 393.8,225.8 400.3,233.3 398.2,244.9 387.7,247.8" fill="#1d5360" stroke="#1d5360" stroke-width="0.5"/><polygon points="397.3,249.9 400.3,233.3 418.5,227.2 425.2,233.9 425.7,243.8 418.5,253.0" fill="#246879" stroke="#246879" stroke-width="0.5"/><polygon points="425.7,243.8 425.2,233.9 442.3,227.4 452.4,238.1 446.4,252.5" fill="#1d5360" stroke="#1d5360" stroke-width="0.5"/><polygon points="446.9,251.2 452.4,238.1 461.2,235.7 474.6,246.1 465.5,260.5" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="461.2,235.7 467.8,218.5 481.9,222.7 487.0,243.8 474.6,246.1" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="486.5,247.1 487.2,244.5 509.3,226.6 516.3,233.0 516.5,245.0 506.0,253.4" fill="#13384a" stroke="#13384a" stroke-width="0.5"/><polygon points="516.5,245.0 516.3,233.0 532.7,230.0 538.1,246.2 529.8,253.6" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="538.1,246.2 532.7,230.0 537.3,223.7 544.2,221.9 555.6,232.7 550.1,247.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="576.0,228.6 576.0,252.6 554.9,254.1 550.1,247.2 555.6,232.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,270.9 0.0,249.8 21.0,249.8 23.5,264.5 14.2,273.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="23.5,264.5 21.3,251.6 49.1,246.1 40.0,271.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="40.0,271.2 48.8,247.0 67.5,259.5 67.5,263.9 54.1,276.2 40.5,271.9" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="67.5,263.9 67.5,259.5 79.5,247.5 82.8,247.5 95.2,257.8 94.0,270.2 79.9,275.2" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="94.0,270.2 95.2,257.8 111.4,250.5 119.2,264.7 108.1,282.4 107.6,282.5" fill="#205e7b" stroke="#205e7b" stroke-width="0.5"/><polygon points="119.2,264.7 111.4,250.5 112.8,246.4 137.5,246.4 132.7,265.6" fill="#155570" stroke="#155570" stroke-width="0.5"/><polygon points="132.7,265.6 137.9,244.8 157.8,256.2 155.2,268.9 136.5,269.9" fill="#165a77" stroke="#165a77" stroke-width="0.5"/><polygon points="157.3,272.1 155.2,268.9 157.8,256.2 166.9,249.1 173.0,248.9 185.3,269.5 176.6,275.1" fill="#175c7a" stroke="#175c7a" stroke-width="0.5"/><polygon points="173.0,248.9 178.9,243.0 189.3,239.4 198.3,241.6 201.5,253.1 190.3,270.2 185.3,269.5" fill="#287e98" stroke="#287e98" stroke-width="0.5"/><polygon points="185.0,278.3 201.5,253.1 221.9,259.4 223.0,263.5 214.6,276.3" fill="#1f6377" stroke="#1f6377" stroke-width="0.5"/><polygon points="223.0,263.5 221.9,259.4 226.4,249.3 243.9,240.2 249.2,268.4 241.2,272.1" fill="#1e5f72" stroke="#1e5f72" stroke-width="0.5"/><polygon points="249.4,269.5 243.2,236.8 269.8,253.0 267.0,261.0" fill="#206479" stroke="#206479" stroke-width="0.5"/><polygon points="267.0,261.0 269.8,253.0 275.9,248.6 290.4,253.6 291.3,266.5 282.0,279.8" fill="#1e5e71" stroke="#1e5e71" stroke-width="0.5"/><polygon points="291.3,266.5 290.4,253.6 295.8,250.0 312.2,256.6 308.9,269.8" fill="#20677c" stroke="#20677c" stroke-width="0.5"/><polygon points="308.9,269.8 312.2,256.6 322.7,250.1 325.4,251.0 331.2,273.9 314.1,280.7" fill="#21697f" stroke="#21697f" stroke-width="0.5"/><polygon points="331.2,273.9 325.4,251.0 339.2,246.6 346.3,248.9 349.6,267.0 335.9,275.5" fill="#1e5e71" stroke="#1e5e71" stroke-width="0.5"/><polygon points="349.6,267.0 346.3,248.9 361.3,241.0 362.9,241.3 371.6,264.4 361.0,271.5" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="379.4,266.0 387.7,247.8 406.3,242.6 398.3,268.4" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="398.3,268.4 403.7,250.9 418.5,253.0 422.2,266.7 417.0,274.4 402.1,273.1" fill="#1f6276" stroke="#1f6276" stroke-width="0.5"/><polygon points="422.2,266.7 418.5,253.0 425.7,243.8 445.4,252.1 439.9,267.6" fill="#1d5360" stroke="#1d5360" stroke-width="0.5"/><polygon points="439.9,267.6 445.9,250.7 465.5,260.5 466.0,263.4 445.9,277.2" fill="#1d5360" stroke="#1d5360" stroke-width="0.5"/><polygon points="466.0,263.4 465.5,260.5 474.6,246.1 491.5,242.9 487.1,269.8 478.9,275.5 476.3,274.9" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="487.1,269.8 490.6,248.5 506.0,253.4 511.0,268.5 506.6,274.9" fill="#0e3648" stroke="#0e3648" stroke-width="0.5"/><polygon points="511.0,268.5 506.0,253.4 516.5,245.0 529.8,253.6 529.3,265.6" fill="#174359" stroke="#174359" stroke-width="0.5"/><polygon points="529.3,265.6 529.8,253.6 538.1,246.2 550.1,247.2 554.9,254.1 550.6,268.6 532.8,269.2" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="576.0,252.6 576.0,273.4 551.0,267.1 554.9,254.1" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,293.0 0.0,270.9 14.3,273.8 17.5,290.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="17.5,290.2 14.2,273.8 23.5,264.5 40.0,271.2 40.5,271.9 31.4,293.8 21.4,293.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="31.4,293.8 40.5,271.9 54.1,276.2 58.2,288.7 39.2,300.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="58.2,288.8 54.1,276.2 67.5,263.9 79.9,275.3 77.5,287.6 66.3,293.6" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="77.5,287.6 79.9,275.2 94.0,270.2 107.6,282.5 101.3,293.7 90.9,296.0" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="108.1,282.4 119.2,264.7 132.7,265.6 136.5,269.9 132.1,291.7" fill="#165874" stroke="#165874" stroke-width="0.5"/><polygon points="132.4,290.2 136.5,269.9 155.2,268.9 157.3,272.1 154.3,291.3" fill="#165976" stroke="#165976" stroke-width="0.5"/><polygon points="153.3,297.4 157.3,272.1 176.6,275.1 173.5,294.6" fill="#155570" stroke="#155570" stroke-width="0.5"/><polygon points="173.5,294.6 176.6,275.1 185.3,269.5 197.2,271.1 196.2,284.6 180.4,299.1" fill="#236e85" stroke="#236e85" stroke-width="0.5"/><polygon points="205.0,299.1 196.2,284.6 196.7,277.5 214.6,276.3 222.4,292.7 217.2,302.4" fill="#20657a" stroke="#20657a" stroke-width="0.5"/><polygon points="222.4,292.7 214.6,276.3 223.0,263.5 241.2,272.1 237.3,288.4" fill="#20657a" stroke="#20657a" stroke-width="0.5"/><polygon points="237.3,288.4 241.2,272.1 250.4,267.9 264.0,289.0 245.2,295.9" fill="#1f6277" stroke="#1f6277" stroke-width="0.5"/><polygon points="264.1,289.1 250.9,268.8 267.0,261.0 281.1,278.6" fill="#1f6378" stroke="#1f6378" stroke-width="0.5"/><polygon points="282.7,278.8 291.3,266.5 308.9,269.8 315.8,284.2 290.5,287.4" fill="#2a86a8" stroke="#2a86a8" stroke-width="0.5"/><polygon points="313.9,280.8 331.2,273.9 335.9,275.5 341.1,290.0 328.8,303.0" fill="#1c586a" stroke="#1c586a" stroke-width="0.5"/><polygon points="341.1,290.0 335.9,275.5 349.6,267.0 361.0,271.5 361.9,285.6 352.3,292.9" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="361.9,285.6 361.0,271.5 371.6,264.4 380.7,265.4 383.3,289.7 375.9,292.6" fill="#194e5f" stroke="#194e5f" stroke-width="0.5"/><polygon points="383.3,289.7 380.8,266.2 398.3,268.4 402.1,273.1 393.5,292.4" fill="#24748c" stroke="#24748c" stroke-width="0.5"/><polygon points="394.1,291.1 402.1,273.1 417.0,274.4 421.1,289.6 413.8,296.1" fill="#226b81" stroke="#226b81" stroke-width="0.5"/><polygon points="421.1,289.6 417.0,274.4 422.2,266.7 439.9,267.6 445.9,277.2 446.1,280.2 433.7,292.6" fill="#1b5567" stroke="#1b5567" stroke-width="0.5"/><polygon points="446.1,280.2 445.9,277.2 466.0,263.4 476.3,274.9 458.5,287.8" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="462.1,301.4 458.5,287.8 476.3,274.9 478.9,275.5 485.2,293.6 483.8,296.3 471.3,302.5" fill="#1d5b6e" stroke="#1d5b6e" stroke-width="0.5"/><polygon points="485.2,293.6 478.9,275.5 487.1,269.8 506.6,274.9 508.8,290.5" fill="#184c5c" stroke="#184c5c" stroke-width="0.5"/><polygon points="508.4,288.2 506.6,274.9 511.0,268.5 529.3,265.6 532.8,269.2 530.4,291.3" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="530.6,289.4 532.8,269.2 549.6,268.6 553.4,285.2 546.8,292.6" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="576.0,273.4 576.0,287.0 553.4,285.2 549.1,266.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,309.2 0.0,293.0 17.5,290.2 21.4,293.8 14.4,311.3" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="17.9,318.5 14.4,311.3 21.4,293.8 31.4,293.8 39.2,300.2 42.4,312.3 39.5,318.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="42.4,312.3 39.2,300.2 58.2,288.7 66.3,293.6 66.9,310.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="66.9,309.7 66.3,293.6 77.5,287.6 90.9,296.0 83.6,312.4" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="89.6,320.6 83.6,312.4 90.9,296.0 101.3,293.7 109.6,311.3 95.1,321.4" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="109.6,311.3 101.3,293.7 107.6,282.5 108.1,282.4 131.0,291.3 129.0,307.5 112.2,312.0" fill="#1d546f" stroke="#1d546f" stroke-width="0.5"/><polygon points="128.5,311.4 131.1,290.1 159.7,291.6 155.1,312.8" fill="#134d66" stroke="#134d66" stroke-width="0.5"/><polygon points="156.7,315.5 155.1,312.8 158.6,296.7 173.5,294.6 180.4,299.1 185.8,311.7 176.8,321.0" fill="#104054" stroke="#104054" stroke-width="0.5"/><polygon points="185.8,311.7 180.4,299.1 196.2,284.6 205.0,299.1 186.0,311.8" fill="#1a5365" stroke="#1a5365" stroke-width="0.5"/><polygon points="186.0,311.8 205.0,299.1 217.2,302.4 219.5,310.4 201.2,322.2" fill="#20657a" stroke="#20657a" stroke-width="0.5"/><polygon points="219.5,310.5 217.2,302.4 222.4,292.7 237.3,288.4 245.2,295.9 245.2,310.5" fill="#206479" stroke="#206479" stroke-width="0.5"/><polygon points="245.2,312.8 245.2,295.9 264.1,289.0 270.8,309.1" fill="#1b5668" stroke="#1b5668" stroke-width="0.5"/><polygon points="270.3,307.6 264.1,289.0 282.1,278.1 290.5,287.4 288.9,302.4" fill="#1d5d71" stroke="#1d5d71" stroke-width="0.5"/><polygon points="288.9,302.4 290.5,287.4 308.2,285.2 308.2,308.0 300.8,314.3" fill="#226d84" stroke="#226d84" stroke-width="0.5"/><polygon points="308.2,308.0 308.2,280.0 313.9,280.8 329.9,304.7" fill="#237087" stroke="#237087" stroke-width="0.5"/><polygon points="327.9,304.0 341.1,290.0 352.3,292.9 355.2,309.0 346.2,314.8 331.5,310.5" fill="#195971" stroke="#195971" stroke-width="0.5"/><polygon points="355.2,309.0 352.3,292.9 361.9,285.6 375.9,292.6 371.1,310.2 367.5,312.8" fill="#195c75" stroke="#195c75" stroke-width="0.5"/><polygon points="371.1,310.2 375.9,292.6 383.3,289.7 392.0,292.0 393.5,315.4" fill="#267790" stroke="#267790" stroke-width="0.5"/><polygon points="393.5,315.4 391.9,290.5 413.8,296.1 412.9,308.3 395.8,318.3" fill="#226d83" stroke="#226d83" stroke-width="0.5"/><polygon points="412.9,308.3 413.8,296.1 421.1,289.6 433.7,292.6 437.9,303.8 427.5,319.5" fill="#1e5f73" stroke="#1e5f73" stroke-width="0.5"/><polygon points="437.9,303.8 433.7,292.6 446.1,280.2 458.5,287.8 462.1,301.4 454.8,308.7" fill="#195060" stroke="#195060" stroke-width="0.5"/><polygon points="477.9,322.2 471.3,302.5 483.8,296.2 494.0,316.8" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="494.0,316.8 483.8,296.3 485.2,293.6 506.2,290.8 507.5,309.7 498.1,318.2" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="507.5,309.7 506.0,287.8 528.3,291.0 527.3,314.2" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="527.4,313.0 528.4,289.0 546.8,292.6 552.6,310.6" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="576.0,287.0 576.0,303.5 551.8,307.9 546.8,292.6 553.4,285.2" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="0.0,330.8 0.0,309.2 14.4,311.3 17.9,318.5 13.0,330.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="17.1,337.5 13.0,330.8 17.9,318.5 39.5,318.5 42.6,330.7 38.1,337.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="42.6,330.7 39.5,318.5 42.4,312.3 65.9,310.7 64.9,335.3" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="64.7,341.6 65.9,309.5 83.6,312.4 89.6,320.6 76.2,337.9" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="95.1,321.4 109.6,311.3 112.2,312.0 118.2,335.9 104.7,339.5" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="118.2,335.9 112.2,312.0 133.2,306.4 132.1,339.9" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="132.2,335.8 133.0,311.6 155.1,312.8 156.7,315.5 149.1,339.7" fill="#1b4e66" stroke="#1b4e66" stroke-width="0.5"/><polygon points="149.7,337.8 156.7,315.5 176.8,321.0 177.5,331.4 170.6,340.8" fill="#175a78" stroke="#175a78" stroke-width="0.5"/><polygon points="177.5,331.4 176.8,321.0 185.8,311.7 186.0,311.8 201.2,322.2 202.2,334.4 195.4,339.4" fill="#29839e" stroke="#29839e" stroke-width="0.5"/><polygon points="202.2,334.4 201.2,322.2 219.6,310.3 225.1,329.1 214.9,338.6" fill="#237088" stroke="#237088" stroke-width="0.5"/><polygon points="225.1,329.1 219.7,310.5 246.9,310.5 246.3,328.1 239.8,333.3" fill="#1e5f73" stroke="#1e5f73" stroke-width="0.5"/><polygon points="246.3,328.1 246.9,312.5 269.5,309.3 273.5,327.5 264.7,334.2" fill="#2a86a8" stroke="#2a86a8" stroke-width="0.5"/><polygon points="273.5,327.5 269.2,307.9 288.9,302.4 299.2,312.8 287.2,328.8 283.5,330.0" fill="#1a607a" stroke="#1a607a" stroke-width="0.5"/><polygon points="287.2,328.8 301.0,310.4 314.5,329.0 303.8,339.8" fill="#25748c" stroke="#25748c" stroke-width="0.5"/><polygon points="314.5,329.0 302.7,312.7 308.2,308.0 328.4,304.9 331.5,310.5 324.0,330.1" fill="#1c6581" stroke="#1c6581" stroke-width="0.5"/><polygon points="324.0,330.1 331.5,310.5 346.2,314.8 347.7,331.3 330.2,338.0" fill="#24738a" stroke="#24738a" stroke-width="0.5"/><polygon points="347.7,331.3 346.2,314.8 355.2,309.0 367.5,312.8 368.5,331.5 368.3,331.7 356.2,335.8" fill="#277c96" stroke="#277c96" stroke-width="0.5"/><polygon points="368.5,331.5 367.5,312.8 371.1,310.2 393.5,315.4 395.8,318.3 396.0,330.0" fill="#267790" stroke="#267790" stroke-width="0.5"/><polygon points="396.0,329.1 395.8,318.3 412.9,308.3 428.3,320.1 420.5,333.4" fill="#1d5d70" stroke="#1d5d70" stroke-width="0.5"/><polygon points="426.7,320.7 437.9,303.8 454.8,308.7 455.2,315.0 448.1,328.7" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="448.1,328.7 455.2,315.0 474.7,326.6 473.6,335.2 462.7,343.1 450.5,336.4" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="455.2,315.0 454.8,308.7 462.1,301.4 471.3,302.5 480.6,330.2" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="473.6,335.2 475.1,323.1 494.0,316.8 498.1,318.2 502.5,331.9 487.8,341.9" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="502.5,331.9 498.1,318.2 507.5,309.7 526.5,314.0 526.5,328.3 510.1,336.0" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="526.5,328.3 526.5,313.1 550.1,310.9 553.8,329.9 534.5,334.6" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="576.0,303.5 576.0,329.9 553.7,329.1 549.6,308.3" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="0.0,354.3 0.0,330.8 13.0,330.8 17.1,337.5 13.9,353.5" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="13.9,353.5 17.1,337.5 38.1,337.5 40.0,358.0 22.2,362.4" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="40.0,358.0 38.1,337.5 42.6,330.7 70.0,336.3 69.0,341.5 49.4,363.3" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="82.6,366.9 69.0,341.5 69.2,340.1 76.2,337.9 99.5,347.3 100.0,358.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="76.2,337.9 89.6,320.6 95.1,321.4 104.7,339.5 99.5,347.3" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="100.0,358.7 99.5,347.3 104.7,339.5 118.2,335.9 126.7,338.3 123.9,363.3 109.9,365.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="123.9,363.3 127.1,334.6 147.4,339.3 149.5,362.2 131.2,367.8" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="149.5,362.2 147.3,337.5 170.6,340.8 174.3,354.7 167.0,364.7 158.8,367.8" fill="#1e5874" stroke="#1e5874" stroke-width="0.5"/><polygon points="174.3,354.7 170.6,340.8 177.5,331.4 195.4,339.4 192.8,355.2" fill="#25768e" stroke="#25768e" stroke-width="0.5"/><polygon points="192.2,359.1 195.4,339.4 202.2,334.4 214.9,338.6 219.6,358.0 216.5,360.3" fill="#174a59" stroke="#174a59" stroke-width="0.5"/><polygon points="219.6,358.0 214.9,338.6 225.1,329.1 239.8,333.3 239.8,359.1" fill="#1f6478" stroke="#1f6478" stroke-width="0.5"/><polygon points="239.8,358.1 239.8,333.3 246.3,328.1 264.7,334.2 263.4,358.7" fill="#226d83" stroke="#226d83" stroke-width="0.5"/><polygon points="263.4,358.4 264.7,334.2 273.5,327.5 283.5,330.0 285.7,357.5" fill="#25748c" stroke="#25748c" stroke-width="0.5"/><polygon points="285.7,357.5 283.5,330.0 287.2,328.8 303.8,339.8 303.8,356.5 292.4,360.8" fill="#24738b" stroke="#24738b" stroke-width="0.5"/><polygon points="303.8,356.5 303.8,339.8 314.5,329.0 324.0,330.1 330.2,338.0 329.8,347.0 309.6,358.2" fill="#25768e" stroke="#25768e" stroke-width="0.5"/><polygon points="329.8,347.0 330.2,338.0 347.7,331.3 356.2,335.8 352.4,360.0 351.5,360.7 342.6,359.8" fill="#287e99" stroke="#287e99" stroke-width="0.5"/><polygon points="352.4,360.0 356.2,335.8 368.3,331.7 377.9,358.5" fill="#28809b" stroke="#28809b" stroke-width="0.5"/><polygon points="377.9,358.5 368.3,331.7 368.5,331.5 395.3,330.0 393.2,357.4 379.8,359.4" fill="#267992" stroke="#267992" stroke-width="0.5"/><polygon points="393.3,356.5 395.4,329.0 420.5,333.4 426.7,353.4 426.3,354.9 422.2,358.0" fill="#195061" stroke="#195061" stroke-width="0.5"/><polygon points="426.7,353.4 420.5,333.4 427.7,321.1 448.1,328.7 450.5,336.4" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="426.3,354.9 426.7,353.4 450.5,336.4 462.7,343.1 463.2,357.1 446.2,367.0" fill="#113e4f" stroke="#113e4f" stroke-width="0.5"/><polygon points="463.2,357.1 462.7,343.1 473.6,335.2 487.8,341.9 490.9,361.5 475.2,365.9" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="490.9,361.5 487.8,341.9 502.5,331.9 510.1,336.0 512.6,353.8 507.5,359.9 495.4,363.4" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="512.6,353.8 510.1,336.0 526.5,328.3 534.5,334.6 533.9,354.8" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="533.8,357.3 534.5,334.6 552.6,330.2 555.5,357.8 547.2,361.4" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="576.0,329.9 576.0,360.1 555.5,357.8 552.5,329.0" fill="#113e4f" stroke="#113e4f" stroke-width="0.5"/><polygon points="0.0,377.0 0.0,354.3 13.9,353.5 22.2,362.4 19.4,371.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="45.3,396.0 29.1,396.0 19.4,371.7 22.2,362.4 40.0,358.0 51.3,364.4" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="82.8,396.0 45.3,396.0 50.8,366.8 79.4,372.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="46.9,366.0 69.0,341.5 82.6,366.9 79.4,372.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="104.7,396.0 82.8,396.0 79.4,372.8 82.6,366.9 100.0,358.7 109.9,365.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="132.7,396.0 104.7,396.0 109.9,365.7 123.9,363.3 131.2,367.8" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/><polygon points="156.8,396.0 132.7,396.0 131.2,367.8 149.5,362.2 158.8,367.8" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="193.0,396.0 156.8,396.0 158.8,367.8 167.0,364.7 189.6,382.5" fill="#123a55" stroke="#123a55" stroke-width="0.5"/><polygon points="189.6,382.5 167.0,364.7 174.3,354.7 197.4,355.3" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="212.1,396.0 193.0,396.0 189.6,382.5 196.3,359.3 216.5,360.3" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="238.5,396.0 212.1,396.0 216.5,360.3 219.6,358.0 238.5,359.0" fill="#2a86a8" stroke="#2a86a8" stroke-width="0.5"/><polygon points="266.3,396.0 238.5,396.0 238.5,358.0 263.1,358.7" fill="#2a86a8" stroke="#2a86a8" stroke-width="0.5"/><polygon points="289.6,396.0 266.3,396.0 263.1,358.4 285.7,357.5 292.4,360.8" fill="#277a93" stroke="#277a93" stroke-width="0.5"/><polygon points="322.7,396.0 289.6,396.0 292.4,360.8 303.8,356.5 309.6,358.2 323.3,381.4" fill="#267891" stroke="#267891" stroke-width="0.5"/><polygon points="323.3,381.4 309.6,358.2 329.8,347.0 342.6,359.8" fill="#29819c" stroke="#29819c" stroke-width="0.5"/><polygon points="358.0,396.0 322.7,396.0 323.3,381.4 342.6,359.8 351.5,360.7" fill="#2a87a2" stroke="#2a87a2" stroke-width="0.5"/><polygon points="370.6,396.0 358.0,396.0 351.5,360.7 352.4,360.0 377.9,358.5 379.8,359.4" fill="#28809b" stroke="#28809b" stroke-width="0.5"/><polygon points="401.9,396.0 370.6,396.0 379.8,359.4 392.1,357.5" fill="#226c82" stroke="#226c82" stroke-width="0.5"/><polygon points="416.3,396.0 401.9,396.0 391.8,356.5 422.2,358.0" fill="#174958" stroke="#174958" stroke-width="0.5"/><polygon points="448.5,396.0 416.3,396.0 422.2,358.0 426.3,354.9 446.2,367.0" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="469.8,396.0 448.5,396.0 446.2,367.0 463.2,357.1 475.2,365.9" fill="#265e6a" stroke="#265e6a" stroke-width="0.5"/><polygon points="499.2,396.0 469.8,396.0 475.2,365.9 490.9,361.5 495.4,363.4" fill="#113e4f" stroke="#113e4f" stroke-width="0.5"/><polygon points="522.2,396.0 499.2,396.0 495.4,363.4 507.5,359.9 522.0,380.4" fill="#113e4f" stroke="#113e4f" stroke-width="0.5"/><polygon points="522.0,380.4 507.5,359.9 512.6,353.8 539.3,355.1" fill="#0d3546" stroke="#0d3546" stroke-width="0.5"/><polygon points="547.7,396.0 522.2,396.0 522.0,380.4 537.1,358.3 547.2,361.4" fill="#113e4f" stroke="#113e4f" stroke-width="0.5"/><polygon points="576.0,360.1 576.0,396.0 547.7,396.0 547.2,361.4 555.5,357.8" fill="#113e4f" stroke="#113e4f" stroke-width="0.5"/><polygon points="29.1,396.0 0.0,396.0 0.0,377.0 19.4,371.7" fill="#0a2236" stroke="#0a2236" stroke-width="0.5"/></g><path d="M241.7,15.0 L236.1,0.0 M423.3,0.0 L420.8,22.6 M195.2,29.0 L195.2,26.7 M195.2,26.7 L206.2,15.4 M206.2,15.4 L218.4,16.0 M218.4,16.0 L227.2,24.9 M227.2,24.9 L241.7,15.0 M418.5,20.5 L436.9,24.5 M436.9,24.5 L444.3,18.7 M444.3,18.7 L462.9,22.4 M462.9,22.4 L464.2,40.5 M149.2,60.7 L150.9,41.5 M150.9,41.5 L167.9,38.4 M167.9,38.4 L174.3,42.8 M174.3,42.8 L195.2,29.0 M465.3,40.5 L463.4,56.9 M132.0,87.8 L125.7,70.9 M125.7,70.9 L134.3,61.6 M134.3,61.6 L149.2,60.7 M463.4,56.9 L482.9,69.8 M127.5,92.2 L132.0,87.8 M482.9,69.8 L486.2,68.9 M486.2,68.9 L499.2,79.6 M499.2,79.6 L500.8,98.1 M106.0,109.8 L108.6,95.1 M108.6,95.1 L127.5,92.2 M112.1,118.4 L106.0,109.8 M500.8,98.1 L504.5,98.9 M504.5,98.9 L516.2,122.3 M516.2,122.3 L512.2,130.3 M83.9,146.6 L87.3,131.1 M87.3,131.1 L106.3,129.3 M106.3,129.3 L112.1,118.4 M87.9,167.9 L82.8,146.4 M512.2,130.3 L520.1,139.4 M520.1,139.4 L520.7,144.9 M520.7,144.9 L512.8,159.5 M88.2,187.0 L84.1,174.0 M84.1,174.0 L87.9,167.9 M93.7,191.5 L88.2,187.0 M512.8,159.5 L529.2,170.1 M529.2,170.1 L524.6,183.4 M524.6,183.4 L516.5,188.7 M85.8,215.0 L93.7,191.5 M89.3,218.1 L86.5,216.4 M86.5,216.4 L85.8,215.0 M516.5,188.7 L516.7,192.5 M516.7,192.5 L502.4,213.2 M95.2,232.0 L89.3,218.1 M502.4,213.2 L507.9,219.8 M507.9,219.8 L509.3,226.6 M82.8,247.5 L95.2,232.0 M95.2,257.8 L82.8,247.5 M509.3,226.6 L516.3,233.0 M516.3,233.0 L516.5,245.0 M94.0,270.2 L95.2,257.8 M107.6,282.5 L94.0,270.2 M516.5,245.0 L529.8,253.6 M529.8,253.6 L529.3,265.6 M529.3,265.6 L532.8,269.2 M532.8,269.2 L530.4,291.3 M109.6,311.3 L101.3,293.7 M101.3,293.7 L107.6,282.5 M129.0,307.5 L112.2,312.0 M112.2,312.0 L109.6,311.3 M528.3,291.0 L527.3,314.2 M132.2,335.8 L133.0,311.6 M149.1,339.7 L132.2,335.8 M526.5,313.1 L550.1,310.9 M550.1,310.9 L553.8,329.9 M149.5,362.2 L147.3,337.5 M167.0,364.7 L158.8,367.8 M158.8,367.8 L149.5,362.2 M552.5,329.0 L576.0,329.9 M189.6,382.5 L167.0,364.7 M193.0,396.0 L189.6,382.5" fill="none" stroke="#8fe6ff" stroke-width="2.0" stroke-linecap="round"/><g opacity="0.9"><path d="M558.8,374.7 L562.5,342.0" fill="none" stroke="#8fe6ff" stroke-width="2.0" stroke-linecap="round" stroke-linejoin="round"/><path d="M536.0,375.0 L558.8,374.7" fill="none" stroke="#8fe6ff" stroke-width="2.0" stroke-linecap="round" stroke-linejoin="round"/><path d="M318.0,316.5 L283.5,315.0" fill="none" stroke="#8fe6ff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"/><path d="M343.8,302.4 L318.0,316.5" fill="none" stroke="#8fe6ff" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><path d="M507.9,375.4 L536.0,375.0" fill="none" stroke="#8fe6ff" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M486.0,378.0 L507.9,375.4" fill="none" stroke="#8fe6ff" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M151.5,97.5 L141.0,73.0" fill="none" stroke="#8fe6ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M363.6,298.8 L343.8,302.4" fill="none" stroke="#8fe6ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M166.5,117.0 L151.5,97.5" fill="none" stroke="#8fe6ff" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M454.5,121.5 L464.4,136.8" fill="none" stroke="#8fe6ff" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M184.5,121.5 L166.5,117.0" fill="none" stroke="#8fe6ff" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/><path d="M361.8,113.4 L387.0,118.5" fill="none" stroke="#8fe6ff" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/></g><g fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M247.5,4.5 L241.5,27.0 L229.5,54.0 L208.8,66.6 L189.0,74.6 L171.0,90.0 M171.0,90.0 L191.6,104.1 L208.3,93.9 L228.0,102.0 L237.0,111.0 L244.8,122.4 L235.8,138.6 L252.0,157.5 L258.4,180.0 L256.5,202.5 L256.5,220.5 L264.0,240.0 L255.6,253.8 M255.6,253.8 L237.9,257.1 L227.6,279.0 L208.5,288.0 L193.5,297.0 L169.9,307.1 L163.8,329.4 M255.6,253.8 L264.0,240.0 L277.2,221.4 L297.0,218.2 L316.5,223.5 L342.0,213.8 L355.5,202.5 L375.4,196.7 M375.4,196.7 L394.2,203.4 L424.5,201.0 L436.5,180.0 L459.0,162.0 L480.6,154.8 L507.0,147.0 L495.0,136.8" stroke="#0a2236" stroke-width="3.4" opacity="0.7"/><path d="M247.5,4.5 L241.5,27.0 L229.5,54.0 L208.8,66.6 L189.0,74.6 L171.0,90.0 M171.0,90.0 L191.6,104.1 L208.3,93.9 L228.0,102.0 L237.0,111.0 L244.8,122.4 L235.8,138.6 L252.0,157.5 L258.4,180.0 L256.5,202.5 L256.5,220.5 L264.0,240.0 L255.6,253.8 M255.6,253.8 L237.9,257.1 L227.6,279.0 L208.5,288.0 L193.5,297.0 L169.9,307.1 L163.8,329.4 M255.6,253.8 L264.0,240.0 L277.2,221.4 L297.0,218.2 L316.5,223.5 L342.0,213.8 L355.5,202.5 L375.4,196.7 M375.4,196.7 L394.2,203.4 L424.5,201.0 L436.5,180.0 L459.0,162.0 L480.6,154.8 L507.0,147.0 L495.0,136.8" stroke="#cfeff8" stroke-width="1.6" stroke-dasharray="5,3"/></g><g font-family="Georgia, serif"><circle cx="247.5" cy="4.5" r="5.5" fill="#8fe6ff" stroke="#071925" stroke-width="1.2"/><text x="255.0" y="7.5" font-size="11" stroke="#071925" stroke-width="3" paint-order="stroke" fill="#d8f4ff">Faronhollowford</text><circle cx="171.0" cy="90.0" r="4.0" fill="#8fe6ff" stroke="#071925" stroke-width="1.2"/><text x="177.0" y="93.0" font-size="9" stroke="#071925" stroke-width="3" paint-order="stroke" fill="#d8f4ff">Eldrickgate</text><circle cx="495.0" cy="136.8" r="3.0" fill="#8fe6ff" stroke="#071925" stroke-width="1.2"/><text x="500.0" y="139.8" font-size="9" stroke="#071925" stroke-width="3" paint-order="stroke" fill="#d8f4ff">Aldorford</text><circle cx="375.4" cy="196.7" r="5.5" fill="#8fe6ff" stroke="#071925" stroke-width="1.2"/><text x="382.9" y="199.7" font-size="11" stroke="#071925" stroke-width="3" paint-order="stroke" fill="#d8f4ff">Faronholt</text><circle cx="255.6" cy="253.8" r="4.0" fill="#8fe6ff" stroke="#071925" stroke-width="1.2"/><text x="261.6" y="256.8" font-size="9" stroke="#071925" stroke-width="3" paint-order="stroke" fill="#d8f4ff">Ulmardley</text><circle cx="163.8" cy="329.4" r="3.0" fill="#8fe6ff" stroke="#071925" stroke-width="1.2"/><text x="168.8" y="332.4" font-size="9" stroke="#071925" stroke-width="3" paint-order="stroke" fill="#d8f4ff">Ironhollowaygate</text></g></svg>