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.
- {mapwright-0.16.0 → mapwright-0.17.0}/CHANGELOG.md +16 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/PKG-INFO +45 -3
- {mapwright-0.16.0 → mapwright-0.17.0}/README.md +44 -2
- mapwright-0.17.0/docs/gallery/atlas.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/README.md +17 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/city_castle_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/city_large_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/city_town_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/city_village_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/decoration_compass_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/decoration_creature_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/decoration_ship_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/dune_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/hill_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/hill_2.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/manifest.json +122 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/mountain_mid_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/mountain_old_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/mountain_old_2.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/mountain_young_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/mountain_young_2.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/tree_cactus_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/tree_deciduous_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/tree_deciduous_2.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/tree_pine_1.png +0 -0
- mapwright-0.17.0/docs/gallery/atlas_pack/tree_pine_2.png +0 -0
- mapwright-0.17.0/docs/gallery/theme-blueprint.png +0 -0
- mapwright-0.17.0/docs/gallery/theme-blueprint.svg +1 -0
- mapwright-0.17.0/docs/gallery/theme-dune.png +0 -0
- mapwright-0.17.0/docs/gallery/theme-dune.svg +1 -0
- mapwright-0.17.0/docs/gallery/theme-neon.png +0 -0
- mapwright-0.17.0/docs/gallery/theme-neon.svg +1 -0
- mapwright-0.17.0/docs/gallery/theme-parchment.png +0 -0
- mapwright-0.17.0/docs/gallery/theme-parchment.svg +1 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/examples/gallery.py +65 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/pyproject.toml +1 -1
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/__init__.py +4 -1
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/svg_renderer.py +28 -45
- mapwright-0.17.0/src/mapwright/themes.py +177 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_api_contract.py +2 -0
- mapwright-0.17.0/tests/test_themes.py +100 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/.github/workflows/ci.yml +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/.github/workflows/publish.yml +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/.gitignore +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/LICENSE +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/NOTICE +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/age-old.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/age-old.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/age-young.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/age-young.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/archipelago.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/archipelago.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/arctic.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/arctic.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/citadel.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/citadel.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/continent.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/continent.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/desert.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/desert.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/dungeon.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/dungeon.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/highlands.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/highlands.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/islands.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/islands.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/pangaea.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/pangaea.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/port.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/port.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/regions.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/regions.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/roads.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/roads.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/template-atoll.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/template-atoll.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/template-isthmus.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/template-isthmus.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/town.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/town.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/tropical.png +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/docs/gallery/tropical.svg +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/examples/benchmark.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/_geometry.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/_graph.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/_serde.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/atlas_renderer.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/config.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/dungeon.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/dungeon_renderer.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/names.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/regions.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/rng.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/roads.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/settlement.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/settlement_renderer.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/src/mapwright/terrain.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_atlas_renderer.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_config.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_dungeon.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_dungeon_renderer.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_geometry.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_graph.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_names.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_properties.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_regions.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_rng.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_roads.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_serialize.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_settlement.py +0 -0
- {mapwright-0.16.0 → mapwright-0.17.0}/tests/test_svg_renderer.py +0 -0
- {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.
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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>
|
|
Binary file
|