44 Commits
Author SHA1 Message Date
lukarioandClaude Sonnet 5.5 c2f6d6da5a Exportdateien mit 25x25 im Namen
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 18:55:43 +02:00
lukarioandClaude Sonnet 5.5 0f02ddb2b7 Exportierte DXF- und SVG-Dateien von Wortfolie, Rueckwand und Trennwaenden
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 18:52:06 +02:00
lukarioandClaude Sonnet 5.5 231d1e2e54 Trennwaende (lange Wuende 1-9 mit eindeutigen Fuessen, Trennstuecke) ergaenzt; gemeinsame Einstellungen in gemeinsam.scad; Rueckwand mit Steckschlitzen und Wandnummern
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 18:45:17 +02:00
lukarioandClaude Sonnet 5.5 f0b2e57faa Rueckwand: Ecke unten rechts ebenfalls abgeschraegt
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 13:04:44 +02:00
lukarioandClaude Sonnet 5.5 1c5a86bafa Minutenpunkte standardmaessig abgeschaltet
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 13:01:54 +02:00
lukarioandClaude Sonnet 5.5 7f24b0fafa Rueckwand: Fuellwoerter NTP, API, RTC, ESP als beleuchtete Streifen ergaenzt
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 12:21:52 +02:00
lukarioandClaude Sonnet 5.5 4944aa24ce Rueckwand: LED-Streifen je Wort, S von EINS einzeln, DATA-Pfeile pro Zeile, Raster unabhaengig von Software
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 12:10:15 +02:00
lukarioandClaude Sonnet 5.5 8ee13b92b4 OpenSCAD-Vorlage fuer Rueckwand (SANNAHED 25/35/50 cm umschaltbar)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 11:45:06 +02:00
lukarioandClaude Sonnet 5.5 18e137c2d2 Wortfolie: Fuellbuchstaben in der Mitte durch NTP, API, RTC, ESP ersetzt
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 11:31:43 +02:00
lukarioandClaude Sonnet 5.5 71d865caf7 OpenSCAD-Vorlage fuer Wortfolie (SANNAHED 25/35/50 cm umschaltbar)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 11:24:54 +02:00
lukarioandClaude Sonnet 5.5 eb0c0f5325 Ordner cad/openscad angelegt
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 11:19:04 +02:00
lukarioandClaude Sonnet 5.5 7861c55b8c cad/ALT mit DXF-Dateien aus c3e/wordclock (cad-files) angelegt
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 11:18:04 +02:00
lukarioandClaude Sonnet 5.5 58ca7dc7ef Ordner cad geleert
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 11:15:41 +02:00
lukarioandClaude Sonnet 5.5 f072bbf575 OpenSCAD entfernt, LASER in cad zusammengeführt, Hinweis in README
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 10:25:51 +02:00
lukarioandClaude Sonnet 5.5 f70d007811 Struktur aufgeräumt: SOFTWARE -> software, KiCad V2 nach board/kicad, alte KiCAD-Versionen entfernt
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 10:13:46 +02:00
lukarioandClaude Sonnet 5.5 251d3a20fb Software bereinigt: getrennte Projekte für Arduino IDE und PlatformIO
Fehlerkorrekturen u.a.: ZEHN-Wort (LED 18-21), Fade-Flackern, Nacht-Helligkeit,
EEPROM-Erkennung per Magic-Wert, String-Terminierung, Warten auf NTP-Sync,
Validierung der Web-Eingaben.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 09:14:32 +02:00
lukario 1c79c9f5ef Wortuhr_alt entfernt 2026-10-17 09:14:32 +02:00
lukario 917d832b18 V2.4 2026-09-13 11:33:29 +02:00
lukario 736ee4b4b1 V2.4 2026-09-13 11:22:14 +02:00
lukario d22249c5a4 V1.6 2026-09-13 11:13:50 +02:00
lukario d3af2efdc8 V2.4 2026-09-12 23:16:42 +02:00
lukario 8d3e0001a4 V1.5 2026-09-12 20:52:41 +02:00
lukario 183b316459 V2.2 2026-08-30 19:16:26 +00:00
lukario f8dd93edbc V1.4 2026-08-30 19:14:05 +00:00
lukario ce1f39b043 KiCAD/Steuerungsplatine.kicad_sch gelöscht 2026-08-30 18:11:36 +00:00
lukario 77124df55b KiCAD/Steuerungsplatine.kicad_pcb gelöscht 2026-08-30 18:11:26 +00:00
lukario 5334c152eb V2
NodeMCU und RTC
2026-08-30 18:10:09 +00:00
lukario fce7ac94f7 V1.3
D1mini und minRTC
2026-08-30 18:08:45 +00:00
lukario 7a0abb0285 Steuerungsplatine_V1
Mit D1mini und miniRTC
V1.3
2026-08-30 18:07:13 +00:00
lukario 950016a457 Dateien nach "KiCAD/Steuerungsplatine_V0" hochladen
Erster Draft
2026-08-30 18:04:58 +00:00
lukario 434cc44607 Delete directory 'cad-files' 2026-05-03 00:21:08 +00:00
lukario 2366dc790e Delete directory 'wordclock' 2026-05-03 00:20:44 +00:00
lukario f21094a404 Neue Version von Hubert 2026-05-03 02:17:45 +02:00
lukario 2b6977a97e Neue Version von Hubert 2026-05-03 02:15:13 +02:00
lukario d7bdae65df Make brightness a bit look better - the second 2023-01-01 10:27:02 +01:00
lukario bb8da924df Make brightness a bit look better 2022-12-31 18:27:02 +01:00
lukario cadd97909d Set brightness at 10pm low and 8am high 2022-12-31 10:56:35 +01:00
Merlin 5162083180 Use hyperlinks for cad-files 2022-01-16 23:18:07 +01:00
Merlin 396138383e Add DXF files for lasercutting
Updated description and added the files used to cut the wooden panels.
2022-01-16 23:10:39 +01:00
friesenkiwi 26ace4849c Fix six/eight swap 2019-03-03 10:39:16 +01:00
friesenkiwi 106a8be897 fix inverse lines
partly again
also fix "zehn vor halb"=>"zwanzig nach"
2019-02-24 13:12:08 +01:00
telegnom bebbc539cc brightness in global setting 2019-02-24 00:26:57 +01:00
friesenkiwi 50272d6ed5 Fix small bugs (inverse pin numbers) 2019-02-23 21:30:47 +01:00
friesenkiwi 3e770bdcac Fix zehn/zwanzig bug 2019-02-23 21:01:00 +01:00
25 changed files with 1274631 additions and 507 deletions

No files matched your search

+2
View File
@@ -0,0 +1,2 @@
# SSH-Schluessel nie committen
.ssh/
+14
View File
@@ -1,5 +1,7 @@
# Wordclock
> **⚠️ Hinweis:** Dieses Projekt ist aktuell nicht ausgereift. Die neue Version befindet sich noch im Aufbau, daher sind Teile dieser Anleitung (z. B. Dateipfade und Links) veraltet.
Firmware für die WordClock (in der Art von https://www.amazon.de/dp/B01N5TKXP3/) vom c3e. Als Rahmen bietet sich ["RIBBA" von IKEA](https://www.ikea.com/de/de/catalog/products/40378401/) an.
Außerdem wird benötigt:
* Ein ESP8266 (z.B. [WeMos D1 Mini](https://www.amazon.de/dp/B076F53B6S/))
@@ -20,6 +22,18 @@ Am Anfang den ESP anlöten:
* G->GND
* D1->Din (Pin-Benennung im Quelltext ist etwas anders)
### Material
* 230 mm x 230 mm Pappe (schwarz) für Wortfolie
- -> [Wortfolie.dxf](cad-files/Wortfolie.dxf) verwenden
* 230 mm x 230 mm Transparentpapier (z.B. für technisches Zeichnen) als Diffusor, alternativ weißes Backpapier
* min 280 mm x 280 mm MDF für Trennwände
- -> [Trennwaende_fuer_Laser.dxf](cad-files/Trennwaende_fuer_Laser.dxf) verwenden
- Zahlen auf der linken Seite nach Möglichkeit nur gravieren oder weglassen
* Rückwand der Rahmens (CAD-Datei ist passend für "RIBBA" von IKEA)
- -> [Rueckwand-ohne-Gravuren.dxf](cad-files/Rueckwand-ohne-Gravuren.dxf) (alle Konturen außer der Umrandung ganz ausschneiden) **oder**
- -> [Rueckwand-mit-Gravuren.dxf](cad-files/Rueckwand-mit-Gravuren.dxf) (LED-Markierungen und Pfeile nur mit einer Tiefe von ca. 0.2-0.5 mm gravieren) verwenden
## Flashen
1. Dieses Repo clonen (`git clone https://github.com/c3e/wordclock.git`)
2. Die Arduino IDE installieren (https://www.arduino.cc/en/Main/Software)
File diff suppressed because it is too large. Load diff
+127
View File
@@ -0,0 +1,127 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"shapes": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"prototype_zone_fills": false,
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": false,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
"vias",
"footprint_text",
"footprint_anchors",
"ratsnest",
"grid",
"footprints_front",
"footprints_back",
"footprint_values",
"footprint_references",
"tracks",
"drc_errors",
"drawing_sheet",
"bitmaps",
"pads",
"zones",
"drc_warnings",
"drc_exclusions",
"locked_item_shadows",
"conflict_shadows",
"shapes",
"board_outline_area",
"ly_points"
],
"visible_layers": "ffffffff_ffffffff_ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"integration_disabled": false,
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "Steuerungsplatine.kicad_prl",
"version": 5
},
"net_inspector_panel": {
"col_hidden": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"col_widths": [],
"custom_group_rules": [],
"expanded_rows": [],
"filter_by_net_name": true,
"filter_by_netclass": true,
"filter_text": "",
"group_by_constraint": false,
"group_by_netclass": false,
"show_time_domain_details": false,
"show_unconnected_nets": false,
"show_zero_pad_nets": false,
"sort_ascending": true,
"sorting_column": -1
},
"open_jobsets": [],
"project": {
"files": []
},
"schematic": {
"hierarchy_collapsed": [],
"selection_filter": {
"graphics": true,
"images": true,
"labels": true,
"lockedItems": false,
"otherItems": true,
"pins": true,
"ruleAreas": true,
"symbols": true,
"text": true,
"wires": true
}
}
}
+680
View File
@@ -0,0 +1,680 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"apply_defaults_to_fp_barcodes": false,
"apply_defaults_to_fp_dimensions": false,
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": true,
"text_position": 0,
"units_format": 0
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.8,
"height": 1.27,
"width": 1.27
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"border_display_style": 2,
"border_hatch_pitch": 0.5,
"corner_radius": 0.0,
"corner_smoothing": 0,
"fill_mode": 0,
"hatch_gap": 1.5,
"hatch_orientation": 0.0,
"hatch_smoothing_level": 0,
"hatch_smoothing_value": 0.1,
"hatch_thickness": 1.0,
"min_clearance": 0.5,
"min_island_area": 10.0,
"min_thickness": 0.25,
"pad_connection": 1,
"remove_islands": 0,
"thermal_relief_gap": 0.5,
"thermal_relief_spoke_width": 0.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"creepage": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_field_mismatch": "warning",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_to_hole": "warning",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"mirrored_text_on_front_layer": "warning",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"missing_tuning_profile": "warning",
"net_conflict": "warning",
"nonmirrored_text_on_back_layer": "warning",
"npth_inside_courtyard": "error",
"padstack": "warning",
"pth_inside_courtyard": "error",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_on_edge_cuts": "error",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_angle": "error",
"track_dangling": "warning",
"track_not_centered_on_via": "ignore",
"track_on_post_machined_layer": "error",
"track_segment_length": "error",
"track_width": "error",
"tracks_crossing": "error",
"tuning_profile_track_geometries": "ignore",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_groove_width": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.2,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpthpad": true,
"td_onroundshapesonly": false,
"td_onsmdpad": true,
"td_ontrackend": false,
"td_onvia": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [],
"zones_allow_external_fillets": false
},
"ipc2581": {
"bom_rev": "",
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": "",
"sch_revision": "26-1"
},
"layer_pairs": [],
"layer_presets": [],
"viewports": []
},
"boards": [],
"component_class_settings": {
"assignments": [],
"meta": {
"version": 0
},
"sheet_component_classes": {
"enabled": false
}
},
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"field_name_whitespace": "warning",
"footprint_filter": "ignore",
"footprint_link_issues": "warning",
"four_way_junction": "ignore",
"ground_pin_not_ground": "warning",
"hier_label_mismatch": "error",
"isolated_pin_label": "warning",
"label_dangling": "error",
"label_multiple_wires": "warning",
"lib_symbol_issues": "warning",
"lib_symbol_mismatch": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
"missing_unit": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"same_local_global_label": "warning",
"similar_label_and_power": "warning",
"similar_labels": "warning",
"similar_power": "warning",
"simulation_model_issue": "ignore",
"single_global_label": "ignore",
"stacked_pin_name": "warning",
"unannotated": "error",
"unconnected_wire_endpoint": "warning",
"undefined_netclass": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "Steuerungsplatine.kicad_pro",
"version": 3
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 2147483647,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2,
"tuning_profile": "",
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
}
],
"meta": {
"version": 5
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
"idf": "",
"netlist": "",
"plot": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"annotation": {
"method": 0,
"sort_order": 0
},
"bom_export_filename": "${PROJECTNAME}.csv",
"bom_fmt_presets": [],
"bom_fmt_settings": {
"field_delimiter": ",",
"keep_line_breaks": false,
"keep_tabs": false,
"name": "CSV",
"ref_delimiter": ",",
"ref_range_delimiter": "",
"string_delimiter": "\""
},
"bom_presets": [],
"bom_settings": {
"exclude_dnp": false,
"fields_ordered": [
{
"group_by": false,
"label": "Reference",
"name": "Reference",
"show": true
},
{
"group_by": false,
"label": "Qty",
"name": "${QUANTITY}",
"show": true
},
{
"group_by": true,
"label": "Value",
"name": "Value",
"show": true
},
{
"group_by": true,
"label": "DNP",
"name": "${DNP}",
"show": true
},
{
"group_by": true,
"label": "Exclude from BOM",
"name": "${EXCLUDE_FROM_BOM}",
"show": true
},
{
"group_by": true,
"label": "Exclude from Board",
"name": "${EXCLUDE_FROM_BOARD}",
"show": true
},
{
"group_by": true,
"label": "Exclude from Simulation",
"name": "${EXCLUDE_FROM_SIM}",
"show": true
},
{
"group_by": true,
"label": "Exclude from Position Files",
"name": "${EXCLUDE_FROM_POS_FILES}",
"show": true
},
{
"group_by": true,
"label": "Footprint",
"name": "Footprint",
"show": true
},
{
"group_by": false,
"label": "Datasheet",
"name": "Datasheet",
"show": true
}
],
"filter_string": "",
"group_symbols": true,
"include_excluded_from_bom": true,
"name": "Default Editing",
"sort_asc": true,
"sort_field": "Referenz"
},
"bus_aliases": {},
"connection_grid_size": 50.0,
"drawing": {
"dashed_lines_dash_length_ratio": 12.0,
"dashed_lines_gap_length_ratio": 3.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"hop_over_size_choice": 0,
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"operating_point_overlay_i_precision": 3,
"operating_point_overlay_i_range": "~A",
"operating_point_overlay_v_precision": 3,
"operating_point_overlay_v_range": "~V",
"overbar_offset_ratio": 1.23,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"page_layout_descr_file": "",
"plot_directory": "",
"reuse_designators": true,
"subpart_first_id": 65,
"subpart_id_separator": 0,
"top_level_sheets": [
{
"filename": "Steuerungsplatine.kicad_sch",
"name": "Steuerungsplatine",
"uuid": "2236e95b-ee24-4f92-8cb3-ee17e346aa36"
}
],
"used_designators": "",
"variants": []
},
"sheets": [
[
"2236e95b-ee24-4f92-8cb3-ee17e346aa36",
"Steuerungsplatine"
]
],
"text_variables": {},
"tuning_profiles": {
"meta": {
"version": 0
},
"tuning_profiles_impedance_geometric": []
}
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+1083320
View File
File diff suppressed because it is too large. Load diff
+58
View File
@@ -0,0 +1,58 @@
// Gemeinsame Einstellungen und Maße für wortfolie.scad, rueckwand.scad und
// trennwaende.scad. Wird per include eingebunden, hier die Rahmengröße wählen.
// ---------- Rahmen ----------
// Rahmengröße (Bildfläche des IKEA SANNAHED): 25, 35 oder 50 (cm)
rahmen_cm = 25; // [25, 35, 50]
spiel_mm = 1; // Luft pro Seite zwischen Platte/Folie und Rahmen-Innenmaß
rand_mm = 15; // freier Rand von der Kante bis zum Buchstabenfeld
// (Rahmenfalz verdeckt ca. 1 cm der Bildfläche)
minutenpunkte = false; // 4 Punkte/LEDs in den Ecken für die Minuten
// ---------- Material und Aufbau ----------
mdf_mm = 2.5; // Materialstärke der Rückwand und der Trennwände
tiefe_mm = 20; // Höhe der Trennwände (Abstand Rückwand bis Folie)
toleranz = 0.2; // Luft in Stecklöchern
schlitz_b = 10; // Breite der Füße/Schlitze der Trennwände
// ---------- Raster ----------
spalten = 11;
zeilen = 10;
// Wörter mit LED-Streifen: [Zeile, erste Spalte, Anzahl Buchstaben, Name]
// Zeile 0 = oben, Spalte 0 = links. Das "S" von EINS ist ein eigener Streifen,
// damit es bei "ein Uhr" (EIN) aus und bei "viertel vor eins" (EINS) an sein kann.
woerter = [
[0, 0, 2, "ES"], [0, 3, 3, "IST"], [0, 7, 4, "FÜNF"],
[1, 0, 7, "ZWANZIG"], [1, 7, 4, "ZEHN"],
[2, 0, 7, "VIERTEL"], [2, 8, 3, "VOR"],
[3, 0, 4, "HALB"], [3, 4, 3, "NTP"], [3, 7, 4, "NACH"],
[4, 0, 4, "NEUN"], [4, 4, 3, "API"], [4, 7, 4, "FÜNF"],
[5, 0, 4, "ZWEI"], [5, 4, 3, "RTC"], [5, 7, 3, "EIN"], [5, 10, 1, "S"],
[6, 0, 4, "DREI"], [6, 4, 3, "ESP"], [6, 7, 4, "VIER"],
[7, 0, 4, "ACHT"], [7, 6, 5, "SECHS"],
[8, 0, 6, "SIEBEN"], [8, 6, 5, "ZWÖLF"],
[9, 0, 3, "UHR"], [9, 4, 3, "ELF"], [9, 7, 4, "ZEHN"]
];
// Trennwand n (1 = oben) steht zwischen Zeile n-1 und n. Ihre drei Füße stecken in
// diesen Spalten der Rückwand. Jede Kombination gibt es nur einmal, auch gespiegelt:
// so passt jede Wand nur an genau eine Stelle.
fuss_spalten = [
[2, 3, 5], [4, 6, 8], [3, 4, 5], [4, 5, 8], [2, 4, 7],
[3, 6, 7], [6, 7, 8], [2, 4, 5], [2, 3, 7]
];
// ---------- Berechnung ----------
platte = rahmen_cm * 10 - 2 * spiel_mm; // Kantenlänge von Platte/Folie
feld = platte - 2 * rand_mm; // Kantenlänge des Buchstabenfelds
raster_a = feld / spalten; // Zellenabstand (quadratische Zellen)
mass = raster_a / 19.8; // Skalierung der Beschriftung
// Zellenmitte (Spalte s, Zeile z), Ursprung = Plattenmitte, y nach oben
function zx(s) = (s - (spalten - 1) / 2) * raster_a;
function zy(z) = ((zeilen - 1) / 2 - z) * raster_a;
// y-Mitte der Trennwand n (n = 1 .. zeilen-1), zwischen Zeile n-1 und n
function wand_y(n) = (zy(n - 1) + zy(n)) / 2;
+124
View File
@@ -0,0 +1,124 @@
// Rückwand der Wortuhr (Trägerplatte für die LEDs) für IKEA SANNAHED
// Vorlage: cad/ALT/Rueckwand-mit-Gravuren.dxf (abgeschrägte Ecke oben links, hier zusätzlich unten rechts,
// LED-Markierungen als Kreise, Durchführungen für die Kabel, Richtungspfeil).
// Das LED-Raster ist identisch mit wortfolie.scad, damit LEDs und Buchstaben passen.
//
// Export als 2D: F6 rendern, dann Datei -> Export -> als DXF / SVG.
// Die Steckschlitze nehmen die Füße der Trennwände aus trennwaende.scad auf.
// Für den Laser: erst teil = "schneiden", dann teil = "gravur" exportieren.
// Rückwand der Wortuhr (Trägerplatte für die LEDs) für IKEA SANNAHED
// Vorlage: cad/ALT/Rueckwand-mit-Gravuren.dxf (abgeschrägte Ecke oben links, hier zusätzlich unten rechts,
// LED-Streifen als Rechtecke, LED-Markierungen als Kreise, Richtungspfeile).
// Das Buchstabenraster ist identisch mit wortfolie.scad, damit die Streifen unter
// den Wörtern sitzen. Die Wortliste unten ist unabhängig von der Software.
//
// Pro Wort wird ein Stück LED-Streifen (60 LED/m = 16,67 mm Abstand) am Stück
// aufgeklebt. Passt es nicht in die Wortbreite, wird eine LED weggekürzt. Die Lücken
// zwischen den Streifenstücken werden mit Kabel (+5V, GND, DATA) überbrückt.
//
// Export als 2D: F6 rendern, dann Datei -> Export -> als DXF / SVG.
// Für den Laser: erst teil = "schneiden", dann teil = "gravur" exportieren.
include <gemeinsam.scad> // Rahmengröße (rahmen_cm), Wortliste, Fußpositionen
// ---------- Einstellungen ----------
// Welcher Teil soll ausgegeben werden?
teil = "beide"; // ["beide" (Vorschau), "schneiden", "gravur"]
fase_mm = 10; // abgeschrägte Ecken oben links und unten rechts (klein genug für den Minutenpunkt)
led_pitch = 1000 / 60; // LED-Abstand des Streifens (60 LED/m)
streifen_b = 10; // Breite des LED-Streifens (WS2812)
led_marke_d = 5; // Ø der LED-Markierungen (Gravur)
dicke_mm = 0; // 0 = flache 2D-Ausgabe (für Laser/DXF), >0 = 3D-Vorschau
fase = fase_mm;
// Anzahl LEDs, die am Stück in die Wortbreite passen (höchstens eine je Buchstabe)
function led_anzahl(w) = min(w[2], floor(w[2] * raster_a / led_pitch));
function streifen_x(w) = (zx(w[1]) + zx(w[1] + w[2] - 1)) / 2; // Mitte des Wortes
// ---------- Teile ----------
module umriss() {
h = platte / 2;
polygon([[-h + fase, h], [h, h], [h, -h + fase], [h - fase, -h], [-h, -h], [-h, h - fase]]);
}
// Steckschlitze für die Füße der Trennwände (siehe trennwaende.scad):
// drei je Wand, Position nur für genau diese Wand passend.
module schlitze() {
for (n = [1 : zeilen - 1], c = fuss_spalten[n - 1])
translate([zx(c), wand_y(n)])
square([schlitz_b, mdf_mm + toleranz], center = true);
}
// Nummer der Trennwand (von oben nach unten) im linken Rand neben ihrem Schlitz
module wandnummern() {
for (n = [1 : zeilen - 1])
translate([-platte / 2 + rand_mm / 2, wand_y(n)])
text(str(n), size = 4 * mass, font = "Liberation Sans:style=Bold",
halign = "center", valign = "center");
}
// Ein Streifenstück je Wort: Umriss + LED-Markierungen, mittig unter dem Wort
module streifen(w) {
k = led_anzahl(w);
translate([streifen_x(w), zy(w[0])]) {
difference() {
square([k * led_pitch, streifen_b], center = true);
square([k * led_pitch - 0.6, streifen_b - 0.6], center = true);
}
for (i = [0 : k - 1])
translate([(i - (k - 1) / 2) * led_pitch, 0]) circle(d = led_marke_d, $fn = 32);
}
}
module minuten_marken() {
if (minutenpunkte)
for (sx = [-1, 1], sy = [-1, 1])
translate([sx * (platte / 2 - rand_mm / 2), sy * (platte / 2 - rand_mm / 2)])
circle(d = led_marke_d, $fn = 32);
}
// Pfeil mit Beschriftung DATA unter jeder Zeile, am Zeilenanfang.
// Die Reihen laufen im Zickzack: gerade Zeilen nach rechts, ungerade nach links.
module pfeil(z) {
l = 7 * mass;
r = z % 2 == 0 ? 1 : -1;
x0 = r > 0 ? zx(0) - raster_a / 2 + 2 : zx(spalten - 1) + raster_a / 2 - 2;
// unter der Trennwand (Mitte der Lücke), damit sie nicht verdeckt wird
translate([x0, zy(z) - raster_a / 2 - (mdf_mm / 2 + 0.3 + l * 0.18)]) {
translate([r > 0 ? 0 : -l * 0.6, -l * 0.07]) square([l * 0.6, l * 0.14]);
translate([r * l * 0.6, 0])
polygon([[0, -l * 0.18], [r * l * 0.4, 0], [0, l * 0.18]]);
translate([r * (l + 2 * mass), 0])
text("DATA", size = 2.2 * mass, font = "Liberation Sans",
halign = r > 0 ? "left" : "right", valign = "center");
}
}
module schnitt() { difference() { umriss(); schlitze(); } }
module gravur() {
for (w = woerter) streifen(w);
minuten_marken();
for (z = [0 : zeilen - 1]) pfeil(z);
wandnummern();
}
// "beide" ist nur eine Vorschau: die Gravur erscheint als Aussparung in der Platte.
// Zum Lasern teil = "schneiden" und teil = "gravur" getrennt exportieren.
module ausgabe_2d() {
if (teil == "schneiden") schnitt();
else if (teil == "gravur") gravur();
else difference() { schnitt(); gravur(); }
}
if (dicke_mm > 0) {
linear_extrude(dicke_mm) schnitt();
if (teil != "schneiden") translate([0, 0, dicke_mm]) linear_extrude(0.2) gravur();
} else ausgabe_2d();
for (w = woerter)
echo(str(w[3], ": ", led_anzahl(w), " LEDs", led_anzahl(w) < w[2] ? " (gekürzt!)" : ""));
echo(str("Platte ", platte, " x ", platte, " mm, Zellenabstand ", raster_a, " mm, LEDs gesamt: ",
len([for (w = woerter) for (i = [1 : led_anzahl(w)]) 1]) + (minutenpunkte ? 4 : 0)));
File diff suppressed because it is too large. Load diff
+956
View File
@@ -0,0 +1,956 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="248mm" height="248mm" viewBox="-124 -124 248 248" xmlns="http://www.w3.org/2000/svg" version="1.1">
<title>OpenSCAD Model</title>
<path d="
M 124,114 L 124,-124 L -114,-124 L -124,-114 L -124,124 L 114,124
z
M -105.848,-84.1818 L -105.848,-94.1818 L -72.5152,-94.1818 L -72.5152,-84.1818 z
M -72.8152,-93.8818 L -105.548,-93.8818 L -105.548,-84.4818 L -72.8152,-84.4818 z
M -81.3362,-86.7299 L -81.8052,-86.8721 L -82.2374,-87.1031 L -82.6163,-87.414 L -82.9272,-87.7929 L -83.1582,-88.2251
L -83.3004,-88.6941 L -83.3485,-89.1818 L -83.3004,-89.6695 L -83.1582,-90.1385 L -82.9272,-90.5707 L -82.6163,-90.9496
L -82.2374,-91.2605 L -81.8052,-91.4915 L -81.3362,-91.6338 L -80.8485,-91.6818 L -80.3608,-91.6338 L -79.8918,-91.4915
L -79.4596,-91.2605 L -79.0807,-90.9496 L -78.7698,-90.5707 L -78.5388,-90.1385 L -78.3965,-89.6695 L -78.3485,-89.1818
L -78.3965,-88.6941 L -78.5388,-88.2251 L -78.7698,-87.7929 L -79.0807,-87.414 L -79.4596,-87.1031 L -79.8918,-86.8721
L -80.3608,-86.7299 L -80.8485,-86.6818 z
M -98.0029,-86.7299 L -98.4718,-86.8721 L -98.9041,-87.1031 L -99.2829,-87.414 L -99.5938,-87.7929 L -99.8248,-88.2251
L -99.9671,-88.6941 L -100.015,-89.1818 L -99.9671,-89.6695 L -99.8248,-90.1385 L -99.5938,-90.5707 L -99.2829,-90.9496
L -98.9041,-91.2605 L -98.4718,-91.4915 L -98.0029,-91.6338 L -97.5151,-91.6818 L -97.0274,-91.6338 L -96.5584,-91.4915
L -96.1262,-91.2605 L -95.7474,-90.9496 L -95.4365,-90.5707 L -95.2054,-90.1385 L -95.0632,-89.6695 L -95.0151,-89.1818
L -95.0632,-88.6941 L -95.2054,-88.2251 L -95.4365,-87.7929 L -95.7474,-87.414 L -96.1262,-87.1031 L -96.5584,-86.8721
L -97.0274,-86.7299 L -97.5151,-86.6818 z
M 36.0303,-84.1818 L 36.0303,-94.1818 L 102.697,-94.1818 L 102.697,-84.1818 z
M 102.397,-93.8818 L 36.3303,-93.8818 L 36.3303,-84.4818 L 102.397,-84.4818 z
M 60.5426,-86.7299 L 60.0736,-86.8721 L 59.6414,-87.1031 L 59.2625,-87.414 L 58.9516,-87.7929 L 58.7206,-88.2251
L 58.5783,-88.6941 L 58.5303,-89.1818 L 58.5783,-89.6695 L 58.7206,-90.1385 L 58.9516,-90.5707 L 59.2625,-90.9496
L 59.6414,-91.2605 L 60.0736,-91.4915 L 60.5426,-91.6338 L 61.0303,-91.6818 L 61.518,-91.6338 L 61.987,-91.4915
L 62.4192,-91.2605 L 62.7981,-90.9496 L 63.109,-90.5707 L 63.34,-90.1385 L 63.4823,-89.6695 L 63.5303,-89.1818
L 63.4823,-88.6941 L 63.34,-88.2251 L 63.109,-87.7929 L 62.7981,-87.414 L 62.4192,-87.1031 L 61.987,-86.8721
L 61.518,-86.7299 L 61.0303,-86.6818 z
M 93.8759,-86.7299 L 93.4069,-86.8721 L 92.9747,-87.1031 L 92.5959,-87.414 L 92.285,-87.7929 L 92.0539,-88.2251
L 91.9117,-88.6941 L 91.8636,-89.1818 L 91.9117,-89.6695 L 92.0539,-90.1385 L 92.285,-90.5707 L 92.5959,-90.9496
L 92.9747,-91.2605 L 93.4069,-91.4915 L 93.8759,-91.6338 L 94.3636,-91.6818 L 94.8513,-91.6338 L 95.3203,-91.4915
L 95.7525,-91.2605 L 96.1314,-90.9496 L 96.4423,-90.5707 L 96.6733,-90.1385 L 96.8156,-89.6695 L 96.8636,-89.1818
L 96.8156,-88.6941 L 96.6733,-88.2251 L 96.4423,-87.7929 L 96.1314,-87.414 L 95.7525,-87.1031 L 95.3203,-86.8721
L 94.8513,-86.7299 L 94.3636,-86.6818 z
M 77.2092,-86.7299 L 76.7402,-86.8721 L 76.308,-87.1031 L 75.9292,-87.414 L 75.6183,-87.7929 L 75.3873,-88.2251
L 75.245,-88.6941 L 75.197,-89.1818 L 75.245,-89.6695 L 75.3873,-90.1385 L 75.6183,-90.5707 L 75.9292,-90.9496
L 76.308,-91.2605 L 76.7402,-91.4915 L 77.2092,-91.6338 L 77.697,-91.6818 L 78.1847,-91.6338 L 78.6537,-91.4915
L 79.0859,-91.2605 L 79.4647,-90.9496 L 79.7756,-90.5707 L 80.0067,-90.1385 L 80.1489,-89.6695 L 80.197,-89.1818
L 80.1489,-88.6941 L 80.0067,-88.2251 L 79.7756,-87.7929 L 79.4647,-87.414 L 79.0859,-87.1031 L 78.6537,-86.8721
L 78.1847,-86.7299 L 77.697,-86.6818 z
M 43.8759,-86.7299 L 43.4069,-86.8721 L 42.9747,-87.1031 L 42.5959,-87.414 L 42.285,-87.7929 L 42.0539,-88.2251
L 41.9117,-88.6941 L 41.8636,-89.1818 L 41.9117,-89.6695 L 42.0539,-90.1385 L 42.285,-90.5707 L 42.5959,-90.9496
L 42.9747,-91.2605 L 43.4069,-91.4915 L 43.8759,-91.6338 L 44.3636,-91.6818 L 44.8514,-91.6338 L 45.3203,-91.4915
L 45.7526,-91.2605 L 46.1314,-90.9496 L 46.4423,-90.5707 L 46.6733,-90.1385 L 46.8156,-89.6695 L 46.8636,-89.1818
L 46.8156,-88.6941 L 46.6733,-88.2251 L 46.4423,-87.7929 L 46.1314,-87.414 L 45.7526,-87.1031 L 45.3203,-86.8721
L 44.8514,-86.7299 L 44.3636,-86.6818 z
M -44.8182,-84.1818 L -44.8182,-94.1818 L 5.18181,-94.1818 L 5.18181,-84.1818 z
M 4.88181,-93.8818 L -44.5182,-93.8818 L -44.5182,-84.4818 L 4.88181,-84.4818 z
M -20.3059,-86.7299 L -20.7749,-86.8721 L -21.2071,-87.1031 L -21.5859,-87.414 L -21.8968,-87.7929 L -22.1279,-88.2251
L -22.2701,-88.6941 L -22.3182,-89.1818 L -22.2701,-89.6695 L -22.1279,-90.1385 L -21.8968,-90.5707 L -21.5859,-90.9496
L -21.2071,-91.2605 L -20.7749,-91.4915 L -20.3059,-91.6338 L -19.8182,-91.6818 L -19.3305,-91.6338 L -18.8615,-91.4915
L -18.4293,-91.2605 L -18.0504,-90.9496 L -17.7395,-90.5707 L -17.5085,-90.1385 L -17.3662,-89.6695 L -17.3182,-89.1818
L -17.3662,-88.6941 L -17.5085,-88.2251 L -17.7395,-87.7929 L -18.0504,-87.414 L -18.4293,-87.1031 L -18.8615,-86.8721
L -19.3305,-86.7299 L -19.8182,-86.6818 z
M -36.9726,-86.7299 L -37.4415,-86.8721 L -37.8738,-87.1031 L -38.2526,-87.414 L -38.5635,-87.7929 L -38.7945,-88.2251
L -38.9368,-88.6941 L -38.9848,-89.1818 L -38.9368,-89.6695 L -38.7945,-90.1385 L -38.5635,-90.5707 L -38.2526,-90.9496
L -37.8738,-91.2605 L -37.4415,-91.4915 L -36.9726,-91.6338 L -36.4848,-91.6818 L -35.9971,-91.6338 L -35.5281,-91.4915
L -35.0959,-91.2605 L -34.7171,-90.9496 L -34.4062,-90.5707 L -34.1751,-90.1385 L -34.0329,-89.6695 L -33.9848,-89.1818
L -34.0329,-88.6941 L -34.1751,-88.2251 L -34.4062,-87.7929 L -34.7171,-87.414 L -35.0959,-87.1031 L -35.5281,-86.8721
L -35.9971,-86.7299 L -36.4848,-86.6818 z
M -3.63924,-86.7299 L -4.10823,-86.8721 L -4.54044,-87.1031 L -4.91928,-87.414 L -5.23019,-87.7929 L -5.46121,-88.2251
L -5.60349,-88.6941 L -5.65152,-89.1818 L -5.60349,-89.6695 L -5.46121,-90.1385 L -5.23019,-90.5707 L -4.91928,-90.9496
L -4.54044,-91.2605 L -4.10823,-91.4915 L -3.63924,-91.6338 L -3.15152,-91.6818 L -2.66379,-91.6338 L -2.19481,-91.4915
L -1.76259,-91.2605 L -1.38374,-90.9496 L -1.07285,-90.5707 L -0.841812,-90.1385 L -0.699554,-89.6695 L -0.65152,-89.1818
L -0.699554,-88.6941 L -0.841812,-88.2251 L -1.07285,-87.7929 L -1.38374,-87.414 L -1.76259,-87.1031 L -2.19481,-86.8721
L -2.66379,-86.7299 L -3.15152,-86.6818 z
M -117.66,-77.4048 L -117.66,-77.9722 L -116.712,-77.9722 L -116.712,-80.5813 L -117.63,-80.0084 L -117.63,-80.6084
L -116.672,-81.2302 L -115.949,-81.2302 L -115.949,-77.9722 L -115.072,-77.9722 L -115.072,-77.4048 z
M -44.6364,-77.9227 L -44.6364,-80.6227 L -34.6364,-80.6227 L -34.6364,-77.9227 z
M -5,-77.9227 L -5,-80.6227 L 5,-80.6227 L 5,-77.9227 z
M -64.4545,-77.9227 L -64.4545,-80.6227 L -54.4545,-80.6227 L -54.4545,-77.9227 z
M -102.796,-75.9711 L -107,-75.9711 L -107,-76.952 L -102.796,-76.952 L -102.796,-77.7227 L -99.9936,-76.4616
L -102.796,-75.2004 z
M -97.7409,-75.4342 L -97.7409,-77.5382 L -97.045,-77.5382 L -96.5715,-77.4711 L -96.22,-77.2701 L -96.0022,-76.9455
L -95.9296,-76.5078 L -95.9613,-76.2027 L -96.0565,-75.9381 L -96.2099,-75.7226 L -96.4164,-75.5641 L -96.6672,-75.4667
L -96.9539,-75.4342 z
M -96.7693,-75.688 L -96.5799,-75.7642 L -96.4248,-75.8881 L -96.3103,-76.0569 L -96.2398,-76.2652 L -96.2163,-76.5078
L -96.2698,-76.8526 L -96.4305,-77.1044 L -96.6928,-77.2584 L -97.051,-77.3097 L -97.4557,-77.3097 L -97.4557,-75.6626
L -96.9868,-75.6626 z
M -92.4557,-75.4342 L -91.5971,-77.5382 L -91.2731,-77.5382 L -90.4279,-75.4342 L -90.7191,-75.4342 L -90.9595,-76.0494
L -91.9182,-76.0494 L -92.1601,-75.4342 z
M -91.3149,-76.9662 L -91.3567,-77.076 L -91.3985,-77.1992 L -91.4388,-77.3231 L -91.4523,-77.2813 L -91.4986,-77.1398
L -91.5628,-76.9633 L -91.8315,-76.2719 L -91.0446,-76.2719 z
M -93.273,-75.4342 L -93.273,-77.3052 L -93.9957,-77.3052 L -93.9957,-77.5382 L -92.2666,-77.5382 L -92.2666,-77.3052
L -92.9893,-77.3052 L -92.9893,-75.4342 z
M -95.8289,-75.4342 L -94.9703,-77.5382 L -94.6462,-77.5382 L -93.801,-75.4342 L -94.0922,-75.4342 L -94.3327,-76.0494
L -95.2913,-76.0494 L -95.5332,-75.4342 z
M -94.688,-76.9662 L -94.7299,-77.076 L -94.7717,-77.1992 L -94.812,-77.3231 L -94.8254,-77.2813 L -94.8717,-77.1398
L -94.9359,-76.9633 L -95.2047,-76.2719 L -94.4178,-76.2719 z
M 36.0303,-64.3636 L 36.0303,-74.3636 L 102.697,-74.3636 L 102.697,-64.3636 z
M 102.397,-74.0636 L 36.3303,-74.0636 L 36.3303,-64.6636 L 102.397,-64.6636 z
M 77.2092,-66.9117 L 76.7402,-67.0539 L 76.308,-67.285 L 75.9292,-67.5959 L 75.6183,-67.9747 L 75.3873,-68.4069
L 75.245,-68.8759 L 75.197,-69.3636 L 75.245,-69.8513 L 75.3873,-70.3203 L 75.6183,-70.7525 L 75.9292,-71.1314
L 76.308,-71.4423 L 76.7402,-71.6733 L 77.2092,-71.8156 L 77.697,-71.8636 L 78.1847,-71.8156 L 78.6537,-71.6733
L 79.0859,-71.4423 L 79.4647,-71.1314 L 79.7756,-70.7525 L 80.0067,-70.3203 L 80.1489,-69.8513 L 80.197,-69.3636
L 80.1489,-68.8759 L 80.0067,-68.4069 L 79.7756,-67.9747 L 79.4647,-67.5959 L 79.0859,-67.285 L 78.6537,-67.0539
L 78.1847,-66.9117 L 77.697,-66.8636 z
M 43.8759,-66.9117 L 43.4069,-67.0539 L 42.9747,-67.285 L 42.5959,-67.5959 L 42.285,-67.9747 L 42.0539,-68.4069
L 41.9117,-68.8759 L 41.8636,-69.3636 L 41.9117,-69.8513 L 42.0539,-70.3203 L 42.285,-70.7525 L 42.5959,-71.1314
L 42.9747,-71.4423 L 43.4069,-71.6733 L 43.8759,-71.8156 L 44.3636,-71.8636 L 44.8514,-71.8156 L 45.3203,-71.6733
L 45.7526,-71.4423 L 46.1314,-71.1314 L 46.4423,-70.7525 L 46.6733,-70.3203 L 46.8156,-69.8513 L 46.8636,-69.3636
L 46.8156,-68.8759 L 46.6733,-68.4069 L 46.4423,-67.9747 L 46.1314,-67.5959 L 45.7526,-67.285 L 45.3203,-67.0539
L 44.8514,-66.9117 L 44.3636,-66.8636 z
M 60.5426,-66.9117 L 60.0736,-67.0539 L 59.6414,-67.285 L 59.2625,-67.5959 L 58.9516,-67.9747 L 58.7206,-68.4069
L 58.5783,-68.8759 L 58.5303,-69.3636 L 58.5783,-69.8513 L 58.7206,-70.3203 L 58.9516,-70.7525 L 59.2625,-71.1314
L 59.6414,-71.4423 L 60.0736,-71.6733 L 60.5426,-71.8156 L 61.0303,-71.8636 L 61.518,-71.8156 L 61.987,-71.6733
L 62.4192,-71.4423 L 62.7981,-71.1314 L 63.109,-70.7525 L 63.34,-70.3203 L 63.4823,-69.8513 L 63.5303,-69.3636
L 63.4823,-68.8759 L 63.34,-68.4069 L 63.109,-67.9747 L 62.7981,-67.5959 L 62.4192,-67.285 L 61.987,-67.0539
L 61.518,-66.9117 L 61.0303,-66.8636 z
M 93.8759,-66.9117 L 93.4069,-67.0539 L 92.9747,-67.285 L 92.5959,-67.5959 L 92.285,-67.9747 L 92.0539,-68.4069
L 91.9117,-68.8759 L 91.8636,-69.3636 L 91.9117,-69.8513 L 92.0539,-70.3203 L 92.285,-70.7525 L 92.5959,-71.1314
L 92.9747,-71.4423 L 93.4069,-71.6733 L 93.8759,-71.8156 L 94.3636,-71.8636 L 94.8513,-71.8156 L 95.3203,-71.6733
L 95.7525,-71.4423 L 96.1314,-71.1314 L 96.4423,-70.7525 L 96.6733,-70.3203 L 96.8156,-69.8513 L 96.8636,-69.3636
L 96.8156,-68.8759 L 96.6733,-68.4069 L 96.4423,-67.9747 L 96.1314,-67.5959 L 95.7525,-67.285 L 95.3203,-67.0539
L 94.8513,-66.9117 L 94.3636,-66.8636 z
M -97.9697,-64.3636 L -97.9697,-74.3636 L 18.697,-74.3636 L 18.697,-64.3636 z
M 18.397,-74.0636 L -97.6697,-74.0636 L -97.6697,-64.6636 L 18.397,-64.6636 z
M -56.7907,-66.9117 L -57.2597,-67.0539 L -57.6919,-67.285 L -58.0708,-67.5959 L -58.3817,-67.9747 L -58.6127,-68.4069
L -58.755,-68.8759 L -58.803,-69.3636 L -58.755,-69.8513 L -58.6127,-70.3203 L -58.3817,-70.7525 L -58.0708,-71.1314
L -57.6919,-71.4423 L -57.2597,-71.6733 L -56.7907,-71.8156 L -56.303,-71.8636 L -55.8153,-71.8156 L -55.3463,-71.6733
L -54.9141,-71.4423 L -54.5352,-71.1314 L -54.2243,-70.7525 L -53.9933,-70.3203 L -53.851,-69.8513 L -53.803,-69.3636
L -53.851,-68.8759 L -53.9933,-68.4069 L -54.2243,-67.9747 L -54.5352,-67.5959 L -54.9141,-67.285 L -55.3463,-67.0539
L -55.8153,-66.9117 L -56.303,-66.8636 z
M -40.1241,-66.9117 L -40.593,-67.0539 L -41.0253,-67.285 L -41.4041,-67.5959 L -41.715,-67.9747 L -41.946,-68.4069
L -42.0883,-68.8759 L -42.1364,-69.3636 L -42.0883,-69.8513 L -41.946,-70.3203 L -41.715,-70.7525 L -41.4041,-71.1314
L -41.0253,-71.4423 L -40.593,-71.6733 L -40.1241,-71.8156 L -39.6364,-71.8636 L -39.1486,-71.8156 L -38.6797,-71.6733
L -38.2474,-71.4423 L -37.8686,-71.1314 L -37.5577,-70.7525 L -37.3267,-70.3203 L -37.1844,-69.8513 L -37.1364,-69.3636
L -37.1844,-68.8759 L -37.3267,-68.4069 L -37.5577,-67.9747 L -37.8686,-67.5959 L -38.2474,-67.285 L -38.6797,-67.0539
L -39.1486,-66.9117 L -39.6364,-66.8636 z
M 9.8759,-66.9117 L 9.40692,-67.0539 L 8.9747,-67.285 L 8.59586,-67.5959 L 8.28496,-67.9747 L 8.05392,-68.4069
L 7.91167,-68.8759 L 7.86363,-69.3636 L 7.91167,-69.8513 L 8.05392,-70.3203 L 8.28496,-70.7525 L 8.59586,-71.1314
L 8.9747,-71.4423 L 9.40692,-71.6733 L 9.8759,-71.8156 L 10.3636,-71.8636 L 10.8513,-71.8156 L 11.3203,-71.6733
L 11.7525,-71.4423 L 12.1314,-71.1314 L 12.4423,-70.7525 L 12.6733,-70.3203 L 12.8156,-69.8513 L 12.8636,-69.3636
L 12.8156,-68.8759 L 12.6733,-68.4069 L 12.4423,-67.9747 L 12.1314,-67.5959 L 11.7525,-67.285 L 11.3203,-67.0539
L 10.8513,-66.9117 L 10.3636,-66.8636 z
M -6.79076,-66.9117 L -7.25974,-67.0539 L -7.69196,-67.285 L -8.0708,-67.5959 L -8.3817,-67.9747 L -8.61273,-68.4069
L -8.75499,-68.8759 L -8.80302,-69.3636 L -8.75499,-69.8513 L -8.61273,-70.3203 L -8.3817,-70.7525 L -8.0708,-71.1314
L -7.69196,-71.4423 L -7.25974,-71.6733 L -6.79076,-71.8156 L -6.30302,-71.8636 L -5.81531,-71.8156 L -5.34631,-71.6733
L -4.91411,-71.4423 L -4.53526,-71.1314 L -4.22435,-70.7525 L -3.99333,-70.3203 L -3.85106,-69.8513 L -3.80302,-69.3636
L -3.85106,-68.8759 L -3.99333,-68.4069 L -4.22435,-67.9747 L -4.53526,-67.5959 L -4.91411,-67.285 L -5.34631,-67.0539
L -5.81531,-66.9117 L -6.30302,-66.8636 z
M -23.4574,-66.9117 L -23.9264,-67.0539 L -24.3586,-67.285 L -24.7375,-67.5959 L -25.0484,-67.9747 L -25.2794,-68.4069
L -25.4217,-68.8759 L -25.4697,-69.3636 L -25.4217,-69.8513 L -25.2794,-70.3203 L -25.0484,-70.7525 L -24.7375,-71.1314
L -24.3586,-71.4423 L -23.9264,-71.6733 L -23.4574,-71.8156 L -22.9697,-71.8636 L -22.482,-71.8156 L -22.013,-71.6733
L -21.5808,-71.4423 L -21.2019,-71.1314 L -20.891,-70.7525 L -20.66,-70.3203 L -20.5177,-69.8513 L -20.4697,-69.3636
L -20.5177,-68.8759 L -20.66,-68.4069 L -20.891,-67.9747 L -21.2019,-67.5959 L -21.5808,-67.285 L -22.013,-67.0539
L -22.482,-66.9117 L -22.9697,-66.8636 z
M -73.4574,-66.9117 L -73.9264,-67.0539 L -74.3586,-67.285 L -74.7374,-67.5959 L -75.0484,-67.9747 L -75.2794,-68.4069
L -75.4216,-68.8759 L -75.4697,-69.3636 L -75.4216,-69.8513 L -75.2794,-70.3203 L -75.0484,-70.7525 L -74.7374,-71.1314
L -74.3586,-71.4423 L -73.9264,-71.6733 L -73.4574,-71.8156 L -72.9697,-71.8636 L -72.4819,-71.8156 L -72.013,-71.6733
L -71.5807,-71.4423 L -71.2019,-71.1314 L -70.891,-70.7525 L -70.66,-70.3203 L -70.5177,-69.8513 L -70.4697,-69.3636
L -70.5177,-68.8759 L -70.66,-68.4069 L -70.891,-67.9747 L -71.2019,-67.5959 L -71.5807,-67.285 L -72.013,-67.0539
L -72.4819,-66.9117 L -72.9697,-66.8636 z
M -90.1241,-66.9117 L -90.593,-67.0539 L -91.0253,-67.285 L -91.4041,-67.5959 L -91.715,-67.9747 L -91.946,-68.4069
L -92.0883,-68.8759 L -92.1364,-69.3636 L -92.0883,-69.8513 L -91.946,-70.3203 L -91.715,-70.7525 L -91.4041,-71.1314
L -91.0253,-71.4423 L -90.593,-71.6733 L -90.1241,-71.8156 L -89.6364,-71.8636 L -89.1486,-71.8156 L -88.6796,-71.6733
L -88.2474,-71.4423 L -87.8686,-71.1314 L -87.5577,-70.7525 L -87.3266,-70.3203 L -87.1844,-69.8513 L -87.1364,-69.3636
L -87.1844,-68.8759 L -87.3266,-68.4069 L -87.5577,-67.9747 L -87.8686,-67.5959 L -88.2474,-67.285 L -88.6796,-67.0539
L -89.1486,-66.9117 L -89.6364,-66.8636 z
M -117.817,-57.5578 L -117.817,-58.0872 L -117.636,-58.4117 L -117.392,-58.728 L -117.081,-59.047 L -116.699,-59.3796
L -116.357,-59.6768 L -116.135,-59.9171 L -116.014,-60.1268 L -115.974,-60.3325 L -116.099,-60.7072 L -116.476,-60.8321
L -116.692,-60.7992 L -116.849,-60.7004 L -116.956,-60.5358 L -117.016,-60.3054 L -117.785,-60.3488 L -117.653,-60.8178
L -117.387,-61.1606 L -116.994,-61.3703 L -116.482,-61.4402 L -115.934,-61.3696 L -115.531,-61.1579 L -115.283,-60.8185
L -115.2,-60.3651 L -115.227,-60.1092 L -115.306,-59.8791 L -115.427,-59.6704 L -115.577,-59.4786 L -115.752,-59.3012
L -115.945,-59.1352 L -116.145,-58.9771 L -116.338,-58.823 L -116.519,-58.6703 L -116.684,-58.5162 L -116.82,-58.356
L -116.916,-58.185 L -115.14,-58.185 L -115.14,-57.5578 z
M 54.4545,-58.1045 L 54.4545,-60.8045 L 64.4545,-60.8045 L 64.4545,-58.1045 z
M 14.8182,-58.1045 L 14.8182,-60.8045 L 24.8182,-60.8045 L 24.8182,-58.1045 z
M -24.8182,-58.1045 L -24.8182,-60.8045 L -14.8182,-60.8045 L -14.8182,-58.1045 z
M 99.9936,-56.6434 L 102.796,-57.9045 L 102.796,-57.1338 L 107,-57.1338 L 107,-56.1529 L 102.796,-56.1529
L 102.796,-55.3822 z
M 96.0056,-55.616 L 96.8642,-57.72 L 97.1883,-57.72 L 98.0334,-55.616 L 97.7422,-55.616 L 97.5018,-56.2312
L 96.5432,-56.2312 L 96.3013,-55.616 z
M 97.1465,-57.1481 L 97.1046,-57.2578 L 97.0628,-57.381 L 97.0225,-57.505 L 97.0091,-57.4631 L 96.9628,-57.3217
L 96.8986,-57.1451 L 96.6298,-56.4537 L 97.4167,-56.4537 z
M 90.7205,-55.616 L 90.7205,-57.72 L 91.4163,-57.72 L 91.8899,-57.653 L 92.2413,-57.4519 L 92.4592,-57.1273
L 92.5318,-56.6896 L 92.5,-56.3845 L 92.4048,-56.12 L 92.2514,-55.9044 L 92.045,-55.7459 L 91.7941,-55.6485
L 91.5074,-55.616 z
M 91.692,-55.8699 L 91.8815,-55.946 L 92.0366,-56.07 L 92.151,-56.2387 L 92.2216,-56.447 L 92.2451,-56.6896
L 92.1915,-57.0344 L 92.0308,-57.2862 L 91.7685,-57.4402 L 91.4104,-57.4915 L 91.0057,-57.4915 L 91.0057,-55.8445
L 91.4746,-55.8445 z
M 92.6324,-55.616 L 93.4911,-57.72 L 93.8151,-57.72 L 94.6603,-55.616 L 94.3691,-55.616 L 94.1287,-56.2312
L 93.17,-56.2312 L 92.9281,-55.616 z
M 93.7733,-57.1481 L 93.7315,-57.2578 L 93.6897,-57.381 L 93.6494,-57.505 L 93.6359,-57.4631 L 93.5896,-57.3217
L 93.5254,-57.1451 L 93.2566,-56.4537 L 94.0436,-56.4537 z
M 95.1883,-55.616 L 95.1883,-57.487 L 94.4656,-57.487 L 94.4656,-57.72 L 96.1948,-57.72 L 96.1948,-57.487
L 95.4721,-57.487 L 95.4721,-55.616 z
M -97.9697,-44.5454 L -97.9697,-54.5454 L 18.697,-54.5454 L 18.697,-44.5454 z
M 18.397,-54.2454 L -97.6697,-54.2454 L -97.6697,-44.8454 L 18.397,-44.8454 z
M -90.1241,-47.0935 L -90.593,-47.2357 L -91.0253,-47.4668 L -91.4041,-47.7777 L -91.715,-48.1565 L -91.946,-48.5887
L -92.0883,-49.0577 L -92.1364,-49.5454 L -92.0883,-50.0332 L -91.946,-50.5021 L -91.715,-50.9344 L -91.4041,-51.3132
L -91.0253,-51.6241 L -90.593,-51.8551 L -90.1241,-51.9974 L -89.6364,-52.0454 L -89.1486,-51.9974 L -88.6796,-51.8551
L -88.2474,-51.6241 L -87.8686,-51.3132 L -87.5577,-50.9344 L -87.3266,-50.5021 L -87.1844,-50.0332 L -87.1364,-49.5454
L -87.1844,-49.0577 L -87.3266,-48.5887 L -87.5577,-48.1565 L -87.8686,-47.7777 L -88.2474,-47.4668 L -88.6796,-47.2357
L -89.1486,-47.0935 L -89.6364,-47.0454 z
M -23.4574,-47.0935 L -23.9264,-47.2357 L -24.3586,-47.4668 L -24.7375,-47.7777 L -25.0484,-48.1565 L -25.2794,-48.5887
L -25.4217,-49.0577 L -25.4697,-49.5454 L -25.4217,-50.0332 L -25.2794,-50.5021 L -25.0484,-50.9344 L -24.7375,-51.3132
L -24.3586,-51.6241 L -23.9264,-51.8551 L -23.4574,-51.9974 L -22.9697,-52.0454 L -22.482,-51.9974 L -22.013,-51.8551
L -21.5808,-51.6241 L -21.2019,-51.3132 L -20.891,-50.9344 L -20.66,-50.5021 L -20.5177,-50.0332 L -20.4697,-49.5454
L -20.5177,-49.0577 L -20.66,-48.5887 L -20.891,-48.1565 L -21.2019,-47.7777 L -21.5808,-47.4668 L -22.013,-47.2357
L -22.482,-47.0935 L -22.9697,-47.0454 z
M 9.8759,-47.0935 L 9.40692,-47.2357 L 8.9747,-47.4668 L 8.59586,-47.7777 L 8.28496,-48.1565 L 8.05392,-48.5887
L 7.91167,-49.0577 L 7.86363,-49.5454 L 7.91167,-50.0332 L 8.05392,-50.5021 L 8.28496,-50.9344 L 8.59586,-51.3132
L 8.9747,-51.6241 L 9.40692,-51.8551 L 9.8759,-51.9974 L 10.3636,-52.0454 L 10.8513,-51.9974 L 11.3203,-51.8551
L 11.7525,-51.6241 L 12.1314,-51.3132 L 12.4423,-50.9344 L 12.6733,-50.5021 L 12.8156,-50.0332 L 12.8636,-49.5454
L 12.8156,-49.0577 L 12.6733,-48.5887 L 12.4423,-48.1565 L 12.1314,-47.7777 L 11.7525,-47.4668 L 11.3203,-47.2357
L 10.8513,-47.0935 L 10.3636,-47.0454 z
M -73.4574,-47.0935 L -73.9264,-47.2357 L -74.3586,-47.4668 L -74.7374,-47.7777 L -75.0484,-48.1565 L -75.2794,-48.5887
L -75.4216,-49.0577 L -75.4697,-49.5454 L -75.4216,-50.0332 L -75.2794,-50.5021 L -75.0484,-50.9344 L -74.7374,-51.3132
L -74.3586,-51.6241 L -73.9264,-51.8551 L -73.4574,-51.9974 L -72.9697,-52.0454 L -72.4819,-51.9974 L -72.013,-51.8551
L -71.5807,-51.6241 L -71.2019,-51.3132 L -70.891,-50.9344 L -70.66,-50.5021 L -70.5177,-50.0332 L -70.4697,-49.5454
L -70.5177,-49.0577 L -70.66,-48.5887 L -70.891,-48.1565 L -71.2019,-47.7777 L -71.5807,-47.4668 L -72.013,-47.2357
L -72.4819,-47.0935 L -72.9697,-47.0454 z
M -6.79076,-47.0935 L -7.25974,-47.2357 L -7.69196,-47.4668 L -8.0708,-47.7777 L -8.3817,-48.1565 L -8.61273,-48.5887
L -8.75499,-49.0577 L -8.80302,-49.5454 L -8.75499,-50.0332 L -8.61273,-50.5021 L -8.3817,-50.9344 L -8.0708,-51.3132
L -7.69196,-51.6241 L -7.25974,-51.8551 L -6.79076,-51.9974 L -6.30302,-52.0454 L -5.81531,-51.9974 L -5.34631,-51.8551
L -4.91411,-51.6241 L -4.53526,-51.3132 L -4.22435,-50.9344 L -3.99333,-50.5021 L -3.85106,-50.0332 L -3.80302,-49.5454
L -3.85106,-49.0577 L -3.99333,-48.5887 L -4.22435,-48.1565 L -4.53526,-47.7777 L -4.91411,-47.4668 L -5.34631,-47.2357
L -5.81531,-47.0935 L -6.30302,-47.0454 z
M -56.7907,-47.0935 L -57.2597,-47.2357 L -57.6919,-47.4668 L -58.0708,-47.7777 L -58.3817,-48.1565 L -58.6127,-48.5887
L -58.755,-49.0577 L -58.803,-49.5454 L -58.755,-50.0332 L -58.6127,-50.5021 L -58.3817,-50.9344 L -58.0708,-51.3132
L -57.6919,-51.6241 L -57.2597,-51.8551 L -56.7907,-51.9974 L -56.303,-52.0454 L -55.8153,-51.9974 L -55.3463,-51.8551
L -54.9141,-51.6241 L -54.5352,-51.3132 L -54.2243,-50.9344 L -53.9933,-50.5021 L -53.851,-50.0332 L -53.803,-49.5454
L -53.851,-49.0577 L -53.9933,-48.5887 L -54.2243,-48.1565 L -54.5352,-47.7777 L -54.9141,-47.4668 L -55.3463,-47.2357
L -55.8153,-47.0935 L -56.303,-47.0454 z
M -40.1241,-47.0935 L -40.593,-47.2357 L -41.0253,-47.4668 L -41.4041,-47.7777 L -41.715,-48.1565 L -41.946,-48.5887
L -42.0883,-49.0577 L -42.1364,-49.5454 L -42.0883,-50.0332 L -41.946,-50.5021 L -41.715,-50.9344 L -41.4041,-51.3132
L -41.0253,-51.6241 L -40.593,-51.8551 L -40.1241,-51.9974 L -39.6364,-52.0454 L -39.1486,-51.9974 L -38.6797,-51.8551
L -38.2474,-51.6241 L -37.8686,-51.3132 L -37.5577,-50.9344 L -37.3267,-50.5021 L -37.1844,-50.0332 L -37.1364,-49.5454
L -37.1844,-49.0577 L -37.3267,-48.5887 L -37.5577,-48.1565 L -37.8686,-47.7777 L -38.2474,-47.4668 L -38.6797,-47.2357
L -39.1486,-47.0935 L -39.6364,-47.0454 z
M 54.2727,-44.5454 L 54.2727,-54.5454 L 104.273,-54.5454 L 104.273,-44.5454 z
M 103.973,-54.2454 L 54.5727,-54.2454 L 54.5727,-44.8454 L 103.973,-44.8454 z
M 62.1183,-47.0935 L 61.6494,-47.2357 L 61.2171,-47.4668 L 60.8383,-47.7777 L 60.5274,-48.1565 L 60.2964,-48.5887
L 60.1541,-49.0577 L 60.1061,-49.5454 L 60.1541,-50.0332 L 60.2964,-50.5021 L 60.5274,-50.9344 L 60.8383,-51.3132
L 61.2171,-51.6241 L 61.6494,-51.8551 L 62.1183,-51.9974 L 62.6061,-52.0454 L 63.0938,-51.9974 L 63.5628,-51.8551
L 63.995,-51.6241 L 64.3738,-51.3132 L 64.6847,-50.9344 L 64.9158,-50.5021 L 65.058,-50.0332 L 65.1061,-49.5454
L 65.058,-49.0577 L 64.9158,-48.5887 L 64.6847,-48.1565 L 64.3738,-47.7777 L 63.995,-47.4668 L 63.5628,-47.2357
L 63.0938,-47.0935 L 62.6061,-47.0454 z
M 95.4517,-47.0935 L 94.9827,-47.2357 L 94.5505,-47.4668 L 94.1716,-47.7777 L 93.8607,-48.1565 L 93.6297,-48.5887
L 93.4874,-49.0577 L 93.4394,-49.5454 L 93.4874,-50.0332 L 93.6297,-50.5021 L 93.8607,-50.9344 L 94.1716,-51.3132
L 94.5505,-51.6241 L 94.9827,-51.8551 L 95.4517,-51.9974 L 95.9394,-52.0454 L 96.4271,-51.9974 L 96.8961,-51.8551
L 97.3283,-51.6241 L 97.7072,-51.3132 L 98.0181,-50.9344 L 98.2491,-50.5021 L 98.3913,-50.0332 L 98.4394,-49.5454
L 98.3913,-49.0577 L 98.2491,-48.5887 L 98.0181,-48.1565 L 97.7072,-47.7777 L 97.3283,-47.4668 L 96.8961,-47.2357
L 96.4271,-47.0935 L 95.9394,-47.0454 z
M 78.785,-47.0935 L 78.316,-47.2357 L 77.8838,-47.4668 L 77.505,-47.7777 L 77.1941,-48.1565 L 76.963,-48.5887
L 76.8208,-49.0577 L 76.7727,-49.5454 L 76.8208,-50.0332 L 76.963,-50.5021 L 77.1941,-50.9344 L 77.505,-51.3132
L 77.8838,-51.6241 L 78.316,-51.8551 L 78.785,-51.9974 L 79.2727,-52.0454 L 79.7604,-51.9974 L 80.2294,-51.8551
L 80.6616,-51.6241 L 81.0405,-51.3132 L 81.3514,-50.9344 L 81.5824,-50.5021 L 81.7247,-50.0332 L 81.7727,-49.5454
L 81.7247,-49.0577 L 81.5824,-48.5887 L 81.3514,-48.1565 L 81.0405,-47.7777 L 80.6616,-47.4668 L 80.2294,-47.2357
L 79.7604,-47.0935 L 79.2727,-47.0454 z
M -117.029,-37.7794 L -117.456,-37.9921 L -117.745,-38.3387 L -117.882,-38.8107 L -117.106,-38.8786 L -116.912,-38.4653
L -116.479,-38.3275 L -116.235,-38.3614 L -116.053,-38.4632 L -115.939,-38.6349 L -115.901,-38.8786 L -115.947,-39.104
L -116.085,-39.2695 L -116.315,-39.3714 L -116.634,-39.4053 L -116.9,-39.4053 L -116.9,-40.0216 L -116.65,-40.0216
L -116.362,-40.0552 L -116.156,-40.156 L -116.031,-40.3192 L -115.99,-40.5402 L -116.023,-40.7509 L -116.122,-40.9108
L -116.284,-41.0116 L -116.506,-41.0452 L -116.719,-41.0126 L -116.887,-40.9148 L -117.002,-40.7574 L -117.054,-40.5456
L -117.817,-40.5999 L -117.685,-41.0404 L -117.407,-41.3737 L -117.003,-41.5834 L -116.492,-41.6533 L -115.958,-41.5858
L -115.554,-41.3832 L -115.301,-41.0611 L -115.216,-40.6352 L -115.269,-40.3087 L -115.427,-40.0461 L -115.684,-39.854
L -116.034,-39.7392 L -116.034,-39.7284 L -115.644,-39.6303 L -115.356,-39.4392 L -115.178,-39.1688 L -115.119,-38.8325
L -115.207,-38.356 L -115.472,-38.0017 L -115.899,-37.7818 L -116.476,-37.7084 z
M -44.6364,-38.2864 L -44.6364,-40.9864 L -34.6364,-40.9864 L -34.6364,-38.2864 z
M -24.8182,-38.2864 L -24.8182,-40.9864 L -14.8182,-40.9864 L -14.8182,-38.2864 z
M -5,-38.2864 L -5,-40.9864 L 5,-40.9864 L 5,-38.2864 z
M -102.796,-36.3347 L -107,-36.3347 L -107,-37.3156 L -102.796,-37.3156 L -102.796,-38.0863 L -99.9936,-36.8252
L -102.796,-35.564 z
M -92.4557,-35.7978 L -91.5971,-37.9018 L -91.2731,-37.9018 L -90.4279,-35.7978 L -90.7191,-35.7978 L -90.9595,-36.413
L -91.9182,-36.413 L -92.1601,-35.7978 z
M -91.3149,-37.3299 L -91.3567,-37.4396 L -91.3985,-37.5628 L -91.4388,-37.6868 L -91.4523,-37.6449 L -91.4986,-37.5035
L -91.5628,-37.3269 L -91.8315,-36.6355 L -91.0446,-36.6355 z
M -97.7409,-35.7978 L -97.7409,-37.9018 L -97.045,-37.9018 L -96.5715,-37.8348 L -96.22,-37.6337 L -96.0022,-37.3092
L -95.9296,-36.8714 L -95.9613,-36.5663 L -96.0565,-36.3018 L -96.2099,-36.0862 L -96.4164,-35.9277 L -96.6672,-35.8303
L -96.9539,-35.7978 z
M -96.7693,-36.0517 L -96.5799,-36.1278 L -96.4248,-36.2518 L -96.3103,-36.4205 L -96.2398,-36.6288 L -96.2163,-36.8714
L -96.2698,-37.2162 L -96.4305,-37.468 L -96.6928,-37.622 L -97.051,-37.6733 L -97.4557,-37.6733 L -97.4557,-36.0263
L -96.9868,-36.0263 z
M -95.8289,-35.7978 L -94.9703,-37.9018 L -94.6462,-37.9018 L -93.801,-35.7978 L -94.0922,-35.7978 L -94.3327,-36.413
L -95.2913,-36.413 L -95.5332,-35.7978 z
M -94.688,-37.3299 L -94.7299,-37.4396 L -94.7717,-37.5628 L -94.812,-37.6868 L -94.8254,-37.6449 L -94.8717,-37.5035
L -94.9359,-37.3269 L -95.2047,-36.6355 L -94.4178,-36.6355 z
M -93.273,-35.7978 L -93.273,-37.6688 L -93.9957,-37.6688 L -93.9957,-37.9018 L -92.2666,-37.9018 L -92.2666,-37.6688
L -92.9893,-37.6688 L -92.9893,-35.7978 z
M -25,-24.7273 L -25,-34.7273 L 25,-34.7273 L 25,-24.7273 z
M 24.7,-34.4273 L -24.7,-34.4273 L -24.7,-25.0273 L 24.7,-25.0273 z
M -0.487717,-27.2753 L -0.956696,-27.4176 L -1.38892,-27.6486 L -1.76776,-27.9595 L -2.07866,-28.3383 L -2.30969,-28.7706
L -2.45195,-29.2395 L -2.5,-29.7273 L -2.45195,-30.215 L -2.30969,-30.684 L -2.07866,-31.1162 L -1.76776,-31.495
L -1.38892,-31.8059 L -0.956696,-32.037 L -0.487717,-32.1792 L 0,-32.2273 L 0.487717,-32.1792 L 0.956696,-32.037
L 1.38892,-31.8059 L 1.76776,-31.495 L 2.07866,-31.1162 L 2.30969,-30.684 L 2.45195,-30.215 L 2.5,-29.7273
L 2.45195,-29.2395 L 2.30969,-28.7706 L 2.07866,-28.3383 L 1.76776,-27.9595 L 1.38892,-27.6486 L 0.956696,-27.4176
L 0.487717,-27.2753 L 0,-27.2273 z
M -17.1544,-27.2753 L -17.6234,-27.4176 L -18.0556,-27.6486 L -18.4344,-27.9595 L -18.7453,-28.3383 L -18.9764,-28.7706
L -19.1186,-29.2395 L -19.1667,-29.7273 L -19.1186,-30.215 L -18.9764,-30.684 L -18.7453,-31.1162 L -18.4344,-31.495
L -18.0556,-31.8059 L -17.6234,-32.037 L -17.1544,-32.1792 L -16.6667,-32.2273 L -16.1789,-32.1792 L -15.7099,-32.037
L -15.2777,-31.8059 L -14.8989,-31.495 L -14.588,-31.1162 L -14.357,-30.684 L -14.2147,-30.215 L -14.1667,-29.7273
L -14.2147,-29.2395 L -14.357,-28.7706 L -14.588,-28.3383 L -14.8989,-27.9595 L -15.2777,-27.6486 L -15.7099,-27.4176
L -16.1789,-27.2753 L -16.6667,-27.2273 z
M 16.1789,-27.2753 L 15.7099,-27.4176 L 15.2777,-27.6486 L 14.8989,-27.9595 L 14.588,-28.3383 L 14.357,-28.7706
L 14.2147,-29.2395 L 14.1667,-29.7273 L 14.2147,-30.215 L 14.357,-30.684 L 14.588,-31.1162 L 14.8989,-31.495
L 15.2777,-31.8059 L 15.7099,-32.037 L 16.1789,-32.1792 L 16.6667,-32.2273 L 17.1544,-32.1792 L 17.6234,-32.037
L 18.0556,-31.8059 L 18.4344,-31.495 L 18.7453,-31.1162 L 18.9764,-30.684 L 19.1186,-30.215 L 19.1667,-29.7273
L 19.1186,-29.2395 L 18.9764,-28.7706 L 18.7453,-28.3383 L 18.4344,-27.9595 L 18.0556,-27.6486 L 17.6234,-27.4176
L 17.1544,-27.2753 L 16.6667,-27.2273 z
M -102.697,-24.7273 L -102.697,-34.7273 L -36.0303,-34.7273 L -36.0303,-24.7273 z
M -36.3303,-34.4273 L -102.397,-34.4273 L -102.397,-25.0273 L -36.3303,-25.0273 z
M -94.8513,-27.2753 L -95.3203,-27.4176 L -95.7525,-27.6486 L -96.1314,-27.9595 L -96.4423,-28.3383 L -96.6733,-28.7706
L -96.8156,-29.2395 L -96.8636,-29.7273 L -96.8156,-30.215 L -96.6733,-30.684 L -96.4423,-31.1162 L -96.1314,-31.495
L -95.7525,-31.8059 L -95.3203,-32.037 L -94.8513,-32.1792 L -94.3636,-32.2273 L -93.8759,-32.1792 L -93.4069,-32.037
L -92.9747,-31.8059 L -92.5959,-31.495 L -92.285,-31.1162 L -92.0539,-30.684 L -91.9117,-30.215 L -91.8636,-29.7273
L -91.9117,-29.2395 L -92.0539,-28.7706 L -92.285,-28.3383 L -92.5959,-27.9595 L -92.9747,-27.6486 L -93.4069,-27.4176
L -93.8759,-27.2753 L -94.3636,-27.2273 z
M -78.1847,-27.2753 L -78.6537,-27.4176 L -79.0859,-27.6486 L -79.4647,-27.9595 L -79.7756,-28.3383 L -80.0067,-28.7706
L -80.1489,-29.2395 L -80.197,-29.7273 L -80.1489,-30.215 L -80.0067,-30.684 L -79.7756,-31.1162 L -79.4647,-31.495
L -79.0859,-31.8059 L -78.6537,-32.037 L -78.1847,-32.1792 L -77.697,-32.2273 L -77.2092,-32.1792 L -76.7402,-32.037
L -76.308,-31.8059 L -75.9292,-31.495 L -75.6183,-31.1162 L -75.3873,-30.684 L -75.245,-30.215 L -75.197,-29.7273
L -75.245,-29.2395 L -75.3873,-28.7706 L -75.6183,-28.3383 L -75.9292,-27.9595 L -76.308,-27.6486 L -76.7402,-27.4176
L -77.2092,-27.2753 L -77.697,-27.2273 z
M -61.518,-27.2753 L -61.987,-27.4176 L -62.4192,-27.6486 L -62.7981,-27.9595 L -63.109,-28.3383 L -63.34,-28.7706
L -63.4823,-29.2395 L -63.5303,-29.7273 L -63.4823,-30.215 L -63.34,-30.684 L -63.109,-31.1162 L -62.7981,-31.495
L -62.4192,-31.8059 L -61.987,-32.037 L -61.518,-32.1792 L -61.0303,-32.2273 L -60.5426,-32.1792 L -60.0736,-32.037
L -59.6414,-31.8059 L -59.2625,-31.495 L -58.9516,-31.1162 L -58.7206,-30.684 L -58.5783,-30.215 L -58.5303,-29.7273
L -58.5783,-29.2395 L -58.7206,-28.7706 L -58.9516,-28.3383 L -59.2625,-27.9595 L -59.6414,-27.6486 L -60.0736,-27.4176
L -60.5426,-27.2753 L -61.0303,-27.2273 z
M -44.8514,-27.2753 L -45.3203,-27.4176 L -45.7526,-27.6486 L -46.1314,-27.9595 L -46.4423,-28.3383 L -46.6733,-28.7706
L -46.8156,-29.2395 L -46.8636,-29.7273 L -46.8156,-30.215 L -46.6733,-30.684 L -46.4423,-31.1162 L -46.1314,-31.495
L -45.7526,-31.8059 L -45.3203,-32.037 L -44.8514,-32.1792 L -44.3636,-32.2273 L -43.8759,-32.1792 L -43.4069,-32.037
L -42.9747,-31.8059 L -42.5959,-31.495 L -42.285,-31.1162 L -42.0539,-30.684 L -41.9117,-30.215 L -41.8636,-29.7273
L -41.9117,-29.2395 L -42.0539,-28.7706 L -42.285,-28.3383 L -42.5959,-27.9595 L -42.9747,-27.6486 L -43.4069,-27.4176
L -43.8759,-27.2753 L -44.3636,-27.2273 z
M 36.0303,-24.7273 L 36.0303,-34.7273 L 102.697,-34.7273 L 102.697,-24.7273 z
M 102.397,-34.4273 L 36.3303,-34.4273 L 36.3303,-25.0273 L 102.397,-25.0273 z
M 77.2092,-27.2753 L 76.7402,-27.4176 L 76.308,-27.6486 L 75.9292,-27.9595 L 75.6183,-28.3383 L 75.3873,-28.7706
L 75.245,-29.2395 L 75.197,-29.7273 L 75.245,-30.215 L 75.3873,-30.684 L 75.6183,-31.1162 L 75.9292,-31.495
L 76.308,-31.8059 L 76.7402,-32.037 L 77.2092,-32.1792 L 77.697,-32.2273 L 78.1847,-32.1792 L 78.6537,-32.037
L 79.0859,-31.8059 L 79.4647,-31.495 L 79.7756,-31.1162 L 80.0067,-30.684 L 80.1489,-30.215 L 80.197,-29.7273
L 80.1489,-29.2395 L 80.0067,-28.7706 L 79.7756,-28.3383 L 79.4647,-27.9595 L 79.0859,-27.6486 L 78.6537,-27.4176
L 78.1847,-27.2753 L 77.697,-27.2273 z
M 60.5426,-27.2753 L 60.0736,-27.4176 L 59.6414,-27.6486 L 59.2625,-27.9595 L 58.9516,-28.3383 L 58.7206,-28.7706
L 58.5783,-29.2395 L 58.5303,-29.7273 L 58.5783,-30.215 L 58.7206,-30.684 L 58.9516,-31.1162 L 59.2625,-31.495
L 59.6414,-31.8059 L 60.0736,-32.037 L 60.5426,-32.1792 L 61.0303,-32.2273 L 61.518,-32.1792 L 61.987,-32.037
L 62.4192,-31.8059 L 62.7981,-31.495 L 63.109,-31.1162 L 63.34,-30.684 L 63.4823,-30.215 L 63.5303,-29.7273
L 63.4823,-29.2395 L 63.34,-28.7706 L 63.109,-28.3383 L 62.7981,-27.9595 L 62.4192,-27.6486 L 61.987,-27.4176
L 61.518,-27.2753 L 61.0303,-27.2273 z
M 43.8759,-27.2753 L 43.4069,-27.4176 L 42.9747,-27.6486 L 42.5959,-27.9595 L 42.285,-28.3383 L 42.0539,-28.7706
L 41.9117,-29.2395 L 41.8636,-29.7273 L 41.9117,-30.215 L 42.0539,-30.684 L 42.285,-31.1162 L 42.5959,-31.495
L 42.9747,-31.8059 L 43.4069,-32.037 L 43.8759,-32.1792 L 44.3636,-32.2273 L 44.8514,-32.1792 L 45.3203,-32.037
L 45.7526,-31.8059 L 46.1314,-31.495 L 46.4423,-31.1162 L 46.6733,-30.684 L 46.8156,-30.215 L 46.8636,-29.7273
L 46.8156,-29.2395 L 46.6733,-28.7706 L 46.4423,-28.3383 L 46.1314,-27.9595 L 45.7526,-27.6486 L 45.3203,-27.4176
L 44.8514,-27.2753 L 44.3636,-27.2273 z
M 93.8759,-27.2753 L 93.4069,-27.4176 L 92.9747,-27.6486 L 92.5959,-27.9595 L 92.285,-28.3383 L 92.0539,-28.7706
L 91.9117,-29.2395 L 91.8636,-29.7273 L 91.9117,-30.215 L 92.0539,-30.684 L 92.285,-31.1162 L 92.5959,-31.495
L 92.9747,-31.8059 L 93.4069,-32.037 L 93.8759,-32.1792 L 94.3636,-32.2273 L 94.8513,-32.1792 L 95.3203,-32.037
L 95.7525,-31.8059 L 96.1314,-31.495 L 96.4423,-31.1162 L 96.6733,-30.684 L 96.8156,-30.215 L 96.8636,-29.7273
L 96.8156,-29.2395 L 96.6733,-28.7706 L 96.4423,-28.3383 L 96.1314,-27.9595 L 95.7525,-27.6486 L 95.3203,-27.4176
L 94.8513,-27.2753 L 94.3636,-27.2273 z
M -116.186,-17.9502 L -116.186,-18.7294 L -117.926,-18.7294 L -117.926,-19.3023 L -116.31,-21.7756 L -115.458,-21.7756
L -115.458,-19.2969 L -114.948,-19.2969 L -114.948,-18.7294 L -115.458,-18.7294 L -115.458,-17.9502 z
M -116.186,-20.5485 L -116.183,-20.7012 L -116.176,-20.8661 L -116.168,-21.0066 L -116.161,-21.086 L -116.26,-20.9
L -116.416,-20.6462 L -117.304,-19.2969 L -116.186,-19.2969 z
M -24.8182,-18.4682 L -24.8182,-21.1682 L -14.8182,-21.1682 L -14.8182,-18.4682 z
M -5,-18.4682 L -5,-21.1682 L 5,-21.1682 L 5,-18.4682 z
M 54.4545,-18.4682 L 54.4545,-21.1682 L 64.4545,-21.1682 L 64.4545,-18.4682 z
M 99.9936,-17.007 L 102.796,-18.2682 L 102.796,-17.4975 L 107,-17.4975 L 107,-16.5166 L 102.796,-16.5166
L 102.796,-15.7459 z
M 90.7205,-15.9796 L 90.7205,-18.0836 L 91.4163,-18.0836 L 91.8899,-18.0166 L 92.2413,-17.8156 L 92.4592,-17.491
L 92.5318,-17.0533 L 92.5,-16.7481 L 92.4048,-16.4836 L 92.2514,-16.268 L 92.045,-16.1095 L 91.7941,-16.0121
L 91.5074,-15.9796 z
M 91.692,-16.2335 L 91.8815,-16.3096 L 92.0366,-16.4336 L 92.151,-16.6023 L 92.2216,-16.8106 L 92.2451,-17.0533
L 92.1915,-17.398 L 92.0308,-17.6498 L 91.7685,-17.8038 L 91.4104,-17.8552 L 91.0057,-17.8552 L 91.0057,-16.2081
L 91.4746,-16.2081 z
M 92.6324,-15.9796 L 93.4911,-18.0836 L 93.8151,-18.0836 L 94.6603,-15.9796 L 94.3691,-15.9796 L 94.1287,-16.5949
L 93.17,-16.5949 L 92.9281,-15.9796 z
M 93.7733,-17.5117 L 93.7315,-17.6215 L 93.6897,-17.7446 L 93.6494,-17.8686 L 93.6359,-17.8268 L 93.5896,-17.6853
L 93.5254,-17.5087 L 93.2566,-16.8174 L 94.0436,-16.8174 z
M 95.1883,-15.9796 L 95.1883,-17.8507 L 94.4656,-17.8507 L 94.4656,-18.0836 L 96.1948,-18.0836 L 96.1948,-17.8507
L 95.4721,-17.8507 L 95.4721,-15.9796 z
M 96.0056,-15.9796 L 96.8642,-18.0836 L 97.1883,-18.0836 L 98.0334,-15.9796 L 97.7422,-15.9796 L 97.5018,-16.5949
L 96.5432,-16.5949 L 96.3013,-15.9796 z
M 97.1465,-17.5117 L 97.1046,-17.6215 L 97.0628,-17.7446 L 97.0225,-17.8686 L 97.0091,-17.8268 L 96.9628,-17.6853
L 96.8986,-17.5087 L 96.6298,-16.8174 L 97.4167,-16.8174 z
M 36.0303,-4.90909 L 36.0303,-14.9091 L 102.697,-14.9091 L 102.697,-4.90909 z
M 102.397,-14.6091 L 36.3303,-14.6091 L 36.3303,-5.20909 L 102.397,-5.20909 z
M 60.5426,-7.45714 L 60.0736,-7.5994 L 59.6414,-7.83043 L 59.2625,-8.14133 L 58.9516,-8.52017 L 58.7206,-8.95239
L 58.5783,-9.42137 L 58.5303,-9.90909 L 58.5783,-10.3968 L 58.7206,-10.8658 L 58.9516,-11.298 L 59.2625,-11.6768
L 59.6414,-11.9877 L 60.0736,-12.2188 L 60.5426,-12.361 L 61.0303,-12.4091 L 61.518,-12.361 L 61.987,-12.2188
L 62.4192,-11.9877 L 62.7981,-11.6768 L 63.109,-11.298 L 63.34,-10.8658 L 63.4823,-10.3968 L 63.5303,-9.90909
L 63.4823,-9.42137 L 63.34,-8.95239 L 63.109,-8.52017 L 62.7981,-8.14133 L 62.4192,-7.83043 L 61.987,-7.5994
L 61.518,-7.45714 L 61.0303,-7.40909 z
M 77.2092,-7.45714 L 76.7402,-7.5994 L 76.308,-7.83043 L 75.9292,-8.14133 L 75.6183,-8.52017 L 75.3873,-8.95239
L 75.245,-9.42137 L 75.197,-9.90909 L 75.245,-10.3968 L 75.3873,-10.8658 L 75.6183,-11.298 L 75.9292,-11.6768
L 76.308,-11.9877 L 76.7402,-12.2188 L 77.2092,-12.361 L 77.697,-12.4091 L 78.1847,-12.361 L 78.6537,-12.2188
L 79.0859,-11.9877 L 79.4647,-11.6768 L 79.7756,-11.298 L 80.0067,-10.8658 L 80.1489,-10.3968 L 80.197,-9.90909
L 80.1489,-9.42137 L 80.0067,-8.95239 L 79.7756,-8.52017 L 79.4647,-8.14133 L 79.0859,-7.83043 L 78.6537,-7.5994
L 78.1847,-7.45714 L 77.697,-7.40909 z
M 93.8759,-7.45714 L 93.4069,-7.5994 L 92.9747,-7.83043 L 92.5959,-8.14133 L 92.285,-8.52017 L 92.0539,-8.95239
L 91.9117,-9.42137 L 91.8636,-9.90909 L 91.9117,-10.3968 L 92.0539,-10.8658 L 92.285,-11.298 L 92.5959,-11.6768
L 92.9747,-11.9877 L 93.4069,-12.2188 L 93.8759,-12.361 L 94.3636,-12.4091 L 94.8513,-12.361 L 95.3203,-12.2188
L 95.7525,-11.9877 L 96.1314,-11.6768 L 96.4423,-11.298 L 96.6733,-10.8658 L 96.8156,-10.3968 L 96.8636,-9.90909
L 96.8156,-9.42137 L 96.6733,-8.95239 L 96.4423,-8.52017 L 96.1314,-8.14133 L 95.7525,-7.83043 L 95.3203,-7.5994
L 94.8513,-7.45714 L 94.3636,-7.40909 z
M 43.8759,-7.45714 L 43.4069,-7.5994 L 42.9747,-7.83043 L 42.5959,-8.14133 L 42.285,-8.52017 L 42.0539,-8.95239
L 41.9117,-9.42137 L 41.8636,-9.90909 L 41.9117,-10.3968 L 42.0539,-10.8658 L 42.285,-11.298 L 42.5959,-11.6768
L 42.9747,-11.9877 L 43.4069,-12.2188 L 43.8759,-12.361 L 44.3636,-12.4091 L 44.8514,-12.361 L 45.3203,-12.2188
L 45.7526,-11.9877 L 46.1314,-11.6768 L 46.4423,-11.298 L 46.6733,-10.8658 L 46.8156,-10.3968 L 46.8636,-9.90909
L 46.8156,-9.42137 L 46.6733,-8.95239 L 46.4423,-8.52017 L 46.1314,-8.14133 L 45.7526,-7.83043 L 45.3203,-7.5994
L 44.8514,-7.45714 L 44.3636,-7.40909 z
M -102.697,-4.90909 L -102.697,-14.9091 L -36.0303,-14.9091 L -36.0303,-4.90909 z
M -36.3303,-14.6091 L -102.397,-14.6091 L -102.397,-5.20909 L -36.3303,-5.20909 z
M -78.1847,-7.45714 L -78.6537,-7.5994 L -79.0859,-7.83043 L -79.4647,-8.14133 L -79.7756,-8.52017 L -80.0067,-8.95239
L -80.1489,-9.42137 L -80.197,-9.90909 L -80.1489,-10.3968 L -80.0067,-10.8658 L -79.7756,-11.298 L -79.4647,-11.6768
L -79.0859,-11.9877 L -78.6537,-12.2188 L -78.1847,-12.361 L -77.697,-12.4091 L -77.2092,-12.361 L -76.7402,-12.2188
L -76.308,-11.9877 L -75.9292,-11.6768 L -75.6183,-11.298 L -75.3873,-10.8658 L -75.245,-10.3968 L -75.197,-9.90909
L -75.245,-9.42137 L -75.3873,-8.95239 L -75.6183,-8.52017 L -75.9292,-8.14133 L -76.308,-7.83043 L -76.7402,-7.5994
L -77.2092,-7.45714 L -77.697,-7.40909 z
M -61.518,-7.45714 L -61.987,-7.5994 L -62.4192,-7.83043 L -62.7981,-8.14133 L -63.109,-8.52017 L -63.34,-8.95239
L -63.4823,-9.42137 L -63.5303,-9.90909 L -63.4823,-10.3968 L -63.34,-10.8658 L -63.109,-11.298 L -62.7981,-11.6768
L -62.4192,-11.9877 L -61.987,-12.2188 L -61.518,-12.361 L -61.0303,-12.4091 L -60.5426,-12.361 L -60.0736,-12.2188
L -59.6414,-11.9877 L -59.2625,-11.6768 L -58.9516,-11.298 L -58.7206,-10.8658 L -58.5783,-10.3968 L -58.5303,-9.90909
L -58.5783,-9.42137 L -58.7206,-8.95239 L -58.9516,-8.52017 L -59.2625,-8.14133 L -59.6414,-7.83043 L -60.0736,-7.5994
L -60.5426,-7.45714 L -61.0303,-7.40909 z
M -94.8513,-7.45714 L -95.3203,-7.5994 L -95.7525,-7.83043 L -96.1314,-8.14133 L -96.4423,-8.52017 L -96.6733,-8.95239
L -96.8156,-9.42137 L -96.8636,-9.90909 L -96.8156,-10.3968 L -96.6733,-10.8658 L -96.4423,-11.298 L -96.1314,-11.6768
L -95.7525,-11.9877 L -95.3203,-12.2188 L -94.8513,-12.361 L -94.3636,-12.4091 L -93.8759,-12.361 L -93.4069,-12.2188
L -92.9747,-11.9877 L -92.5959,-11.6768 L -92.285,-11.298 L -92.0539,-10.8658 L -91.9117,-10.3968 L -91.8636,-9.90909
L -91.9117,-9.42137 L -92.0539,-8.95239 L -92.285,-8.52017 L -92.5959,-8.14133 L -92.9747,-7.83043 L -93.4069,-7.5994
L -93.8759,-7.45714 L -94.3636,-7.40909 z
M -44.8514,-7.45714 L -45.3203,-7.5994 L -45.7526,-7.83043 L -46.1314,-8.14133 L -46.4423,-8.52017 L -46.6733,-8.95239
L -46.8156,-9.42137 L -46.8636,-9.90909 L -46.8156,-10.3968 L -46.6733,-10.8658 L -46.4423,-11.298 L -46.1314,-11.6768
L -45.7526,-11.9877 L -45.3203,-12.2188 L -44.8514,-12.361 L -44.3636,-12.4091 L -43.8759,-12.361 L -43.4069,-12.2188
L -42.9747,-11.9877 L -42.5959,-11.6768 L -42.285,-11.298 L -42.0539,-10.8658 L -41.9117,-10.3968 L -41.8636,-9.90909
L -41.9117,-9.42137 L -42.0539,-8.95239 L -42.285,-8.52017 L -42.5959,-8.14133 L -42.9747,-7.83043 L -43.4069,-7.5994
L -43.8759,-7.45714 L -44.3636,-7.40909 z
M -25,-4.90909 L -25,-14.9091 L 25,-14.9091 L 25,-4.90909 z
M 24.7,-14.6091 L -24.7,-14.6091 L -24.7,-5.20909 L 24.7,-5.20909 z
M 16.1789,-7.45714 L 15.7099,-7.5994 L 15.2777,-7.83043 L 14.8989,-8.14133 L 14.588,-8.52017 L 14.357,-8.95239
L 14.2147,-9.42137 L 14.1667,-9.90909 L 14.2147,-10.3968 L 14.357,-10.8658 L 14.588,-11.298 L 14.8989,-11.6768
L 15.2777,-11.9877 L 15.7099,-12.2188 L 16.1789,-12.361 L 16.6667,-12.4091 L 17.1544,-12.361 L 17.6234,-12.2188
L 18.0556,-11.9877 L 18.4344,-11.6768 L 18.7453,-11.298 L 18.9764,-10.8658 L 19.1186,-10.3968 L 19.1667,-9.90909
L 19.1186,-9.42137 L 18.9764,-8.95239 L 18.7453,-8.52017 L 18.4344,-8.14133 L 18.0556,-7.83043 L 17.6234,-7.5994
L 17.1544,-7.45714 L 16.6667,-7.40909 z
M -0.487717,-7.45714 L -0.956696,-7.5994 L -1.38892,-7.83043 L -1.76776,-8.14133 L -2.07866,-8.52017 L -2.30969,-8.95239
L -2.45195,-9.42137 L -2.5,-9.90909 L -2.45195,-10.3968 L -2.30969,-10.8658 L -2.07866,-11.298 L -1.76776,-11.6768
L -1.38892,-11.9877 L -0.956696,-12.2188 L -0.487717,-12.361 L 0,-12.4091 L 0.487717,-12.361 L 0.956696,-12.2188
L 1.38892,-11.9877 L 1.76776,-11.6768 L 2.07866,-11.298 L 2.30969,-10.8658 L 2.45195,-10.3968 L 2.5,-9.90909
L 2.45195,-9.42137 L 2.30969,-8.95239 L 2.07866,-8.52017 L 1.76776,-8.14133 L 1.38892,-7.83043 L 0.956696,-7.5994
L 0.487717,-7.45714 L 0,-7.40909 z
M -17.1544,-7.45714 L -17.6234,-7.5994 L -18.0556,-7.83043 L -18.4344,-8.14133 L -18.7453,-8.52017 L -18.9764,-8.95239
L -19.1186,-9.42137 L -19.1667,-9.90909 L -19.1186,-10.3968 L -18.9764,-10.8658 L -18.7453,-11.298 L -18.4344,-11.6768
L -18.0556,-11.9877 L -17.6234,-12.2188 L -17.1544,-12.361 L -16.6667,-12.4091 L -16.1789,-12.361 L -15.7099,-12.2188
L -15.2777,-11.9877 L -14.8989,-11.6768 L -14.588,-11.298 L -14.357,-10.8658 L -14.2147,-10.3968 L -14.1667,-9.90909
L -14.2147,-9.42137 L -14.357,-8.95239 L -14.588,-8.52017 L -14.8989,-8.14133 L -15.2777,-7.83043 L -15.7099,-7.5994
L -16.1789,-7.45714 L -16.6667,-7.40909 z
M -117.008,1.8299 L -117.411,1.63544 L -117.691,1.31813 L -117.839,0.88475 L -117.076,0.822296 L -116.993,1.03339
L -116.864,1.17798 L -116.693,1.26146 L -116.482,1.28929 L -116.225,1.24382 L -116.027,1.10739 L -115.899,0.885437
L -115.857,0.583405 L -115.897,0.312256 L -116.017,0.101517 L -116.209,-0.0338898 L -116.465,-0.0790405 L -116.754,-0.0172729
L -116.984,0.167984 L -117.728,0.167984 L -117.595,-1.98499 L -115.295,-1.98499 L -115.295,-1.41754 L -116.902,-1.41754
L -116.965,-0.451019 L -116.653,-0.634277 L -116.272,-0.695358 L -115.781,-0.610519 L -115.4,-0.355972 L -115.154,0.0444641
L -115.072,0.567108 L -115.167,1.11316 L -115.451,1.53499 L -115.9,1.80479 L -116.49,1.89471 z
M -24.8182,1.34999 L -24.8182,-1.34999 L -14.8182,-1.34999 L -14.8182,1.34999 z
M -64.4545,1.34999 L -64.4545,-1.34999 L -54.4545,-1.34999 L -54.4545,1.34999 z
M 34.6364,1.34999 L 34.6364,-1.34999 L 44.6364,-1.34999 L 44.6364,1.34999 z
M -102.796,3.30159 L -107,3.30159 L -107,2.32069 L -102.796,2.32069 L -102.796,1.54999 L -99.9936,2.81114
L -102.796,4.0723 z
M -95.8289,3.83852 L -94.9703,1.73454 L -94.6462,1.73454 L -93.801,3.83852 L -94.0922,3.83852 L -94.3327,3.2233
L -95.2913,3.2233 L -95.5332,3.83852 z
M -94.688,2.30646 L -94.7299,2.1967 L -94.7717,2.07352 L -94.812,1.94957 L -94.8254,1.99139 L -94.8717,2.13287
L -94.9359,2.30945 L -95.2047,3.00079 L -94.4178,3.00079 z
M -97.7409,3.83852 L -97.7409,1.73454 L -97.045,1.73454 L -96.5715,1.80156 L -96.22,2.00259 L -96.0022,2.32718
L -95.9296,2.76489 L -95.9613,3.07005 L -96.0565,3.33456 L -96.2099,3.55014 L -96.4164,3.70862 L -96.6672,3.80605
L -96.9539,3.83852 z
M -96.7693,3.58467 L -96.5799,3.50851 L -96.4248,3.38457 L -96.3103,3.21582 L -96.2398,3.00752 L -96.2163,2.76489
L -96.2698,2.42014 L -96.4305,2.16833 L -96.6928,2.01434 L -97.051,1.963 L -97.4557,1.963 L -97.4557,3.61006
L -96.9868,3.61006 z
M -92.4557,3.83852 L -91.5971,1.73454 L -91.2731,1.73454 L -90.4279,3.83852 L -90.7191,3.83852 L -90.9595,3.2233
L -91.9182,3.2233 L -92.1601,3.83852 z
M -91.3149,2.30646 L -91.3567,2.1967 L -91.3985,2.07352 L -91.4388,1.94957 L -91.4523,1.99139 L -91.4986,2.13287
L -91.5628,2.30945 L -91.8315,3.00079 L -91.0446,3.00079 z
M -93.273,3.83852 L -93.273,1.9675 L -93.9957,1.9675 L -93.9957,1.73454 L -92.2666,1.73454 L -92.2666,1.9675
L -92.9893,1.9675 L -92.9893,3.83852 z
M 34.4545,14.9091 L 34.4545,4.90909 L 84.4545,4.90909 L 84.4545,14.9091 z
M 84.1545,5.20909 L 34.7545,5.20909 L 34.7545,14.6091 L 84.1545,14.6091 z
M 75.6335,12.361 L 75.1645,12.2188 L 74.7323,11.9877 L 74.3534,11.6768 L 74.0425,11.298 L 73.8115,10.8658
L 73.6692,10.3968 L 73.6212,9.90909 L 73.6692,9.42137 L 73.8115,8.95239 L 74.0425,8.52017 L 74.3534,8.14133
L 74.7323,7.83043 L 75.1645,7.5994 L 75.6335,7.45714 L 76.1212,7.40909 L 76.6089,7.45714 L 77.0779,7.5994
L 77.5101,7.83043 L 77.889,8.14133 L 78.1999,8.52017 L 78.4309,8.95239 L 78.5732,9.42137 L 78.6212,9.90909
L 78.5732,10.3968 L 78.4309,10.8658 L 78.1999,11.298 L 77.889,11.6768 L 77.5101,11.9877 L 77.0779,12.2188
L 76.6089,12.361 L 76.1212,12.4091 z
M 58.9668,12.361 L 58.4978,12.2188 L 58.0656,11.9877 L 57.6868,11.6768 L 57.3759,11.298 L 57.1449,10.8658
L 57.0026,10.3968 L 56.9545,9.90909 L 57.0026,9.42137 L 57.1449,8.95239 L 57.3759,8.52017 L 57.6868,8.14133
L 58.0656,7.83043 L 58.4978,7.5994 L 58.9668,7.45714 L 59.4545,7.40909 L 59.9423,7.45714 L 60.4112,7.5994
L 60.8435,7.83043 L 61.2223,8.14133 L 61.5332,8.52017 L 61.7642,8.95239 L 61.9065,9.42137 L 61.9545,9.90909
L 61.9065,10.3968 L 61.7642,10.8658 L 61.5332,11.298 L 61.2223,11.6768 L 60.8435,11.9877 L 60.4112,12.2188
L 59.9423,12.361 L 59.4545,12.4091 z
M 42.3002,12.361 L 41.8312,12.2188 L 41.399,11.9877 L 41.0201,11.6768 L 40.7092,11.298 L 40.4782,10.8658
L 40.3359,10.3968 L 40.2879,9.90909 L 40.3359,9.42137 L 40.4782,8.95239 L 40.7092,8.52017 L 41.0201,8.14133
L 41.399,7.83043 L 41.8312,7.5994 L 42.3002,7.45714 L 42.7879,7.40909 L 43.2756,7.45714 L 43.7446,7.5994
L 44.1768,7.83043 L 44.5556,8.14133 L 44.8666,8.52017 L 45.0976,8.95239 L 45.2399,9.42137 L 45.2879,9.90909
L 45.2399,10.3968 L 45.0976,10.8658 L 44.8666,11.298 L 44.5556,11.6768 L 44.1768,11.9877 L 43.7446,12.2188
L 43.2756,12.361 L 42.7879,12.4091 z
M -102.697,14.9091 L -102.697,4.90909 L -36.0303,4.90909 L -36.0303,14.9091 z
M -36.3303,5.20909 L -102.397,5.20909 L -102.397,14.6091 L -36.3303,14.6091 z
M -78.1847,12.361 L -78.6537,12.2188 L -79.0859,11.9877 L -79.4647,11.6768 L -79.7756,11.298 L -80.0067,10.8658
L -80.1489,10.3968 L -80.197,9.90909 L -80.1489,9.42137 L -80.0067,8.95239 L -79.7756,8.52017 L -79.4647,8.14133
L -79.0859,7.83043 L -78.6537,7.5994 L -78.1847,7.45714 L -77.697,7.40909 L -77.2092,7.45714 L -76.7402,7.5994
L -76.308,7.83043 L -75.9292,8.14133 L -75.6183,8.52017 L -75.3873,8.95239 L -75.245,9.42137 L -75.197,9.90909
L -75.245,10.3968 L -75.3873,10.8658 L -75.6183,11.298 L -75.9292,11.6768 L -76.308,11.9877 L -76.7402,12.2188
L -77.2092,12.361 L -77.697,12.4091 z
M -61.518,12.361 L -61.987,12.2188 L -62.4192,11.9877 L -62.7981,11.6768 L -63.109,11.298 L -63.34,10.8658
L -63.4823,10.3968 L -63.5303,9.90909 L -63.4823,9.42137 L -63.34,8.95239 L -63.109,8.52017 L -62.7981,8.14133
L -62.4192,7.83043 L -61.987,7.5994 L -61.518,7.45714 L -61.0303,7.40909 L -60.5426,7.45714 L -60.0736,7.5994
L -59.6414,7.83043 L -59.2625,8.14133 L -58.9516,8.52017 L -58.7206,8.95239 L -58.5783,9.42137 L -58.5303,9.90909
L -58.5783,10.3968 L -58.7206,10.8658 L -58.9516,11.298 L -59.2625,11.6768 L -59.6414,11.9877 L -60.0736,12.2188
L -60.5426,12.361 L -61.0303,12.4091 z
M -44.8514,12.361 L -45.3203,12.2188 L -45.7526,11.9877 L -46.1314,11.6768 L -46.4423,11.298 L -46.6733,10.8658
L -46.8156,10.3968 L -46.8636,9.90909 L -46.8156,9.42137 L -46.6733,8.95239 L -46.4423,8.52017 L -46.1314,8.14133
L -45.7526,7.83043 L -45.3203,7.5994 L -44.8514,7.45714 L -44.3636,7.40909 L -43.8759,7.45714 L -43.4069,7.5994
L -42.9747,7.83043 L -42.5959,8.14133 L -42.285,8.52017 L -42.0539,8.95239 L -41.9117,9.42137 L -41.8636,9.90909
L -41.9117,10.3968 L -42.0539,10.8658 L -42.285,11.298 L -42.5959,11.6768 L -42.9747,11.9877 L -43.4069,12.2188
L -43.8759,12.361 L -44.3636,12.4091 z
M -94.8513,12.361 L -95.3203,12.2188 L -95.7525,11.9877 L -96.1314,11.6768 L -96.4423,11.298 L -96.6733,10.8658
L -96.8156,10.3968 L -96.8636,9.90909 L -96.8156,9.42137 L -96.6733,8.95239 L -96.4423,8.52017 L -96.1314,8.14133
L -95.7525,7.83043 L -95.3203,7.5994 L -94.8513,7.45714 L -94.3636,7.40909 L -93.8759,7.45714 L -93.4069,7.5994
L -92.9747,7.83043 L -92.5959,8.14133 L -92.285,8.52017 L -92.0539,8.95239 L -91.9117,9.42137 L -91.8636,9.90909
L -91.9117,10.3968 L -92.0539,10.8658 L -92.285,11.298 L -92.5959,11.6768 L -92.9747,11.9877 L -93.4069,12.2188
L -93.8759,12.361 L -94.3636,12.4091 z
M -25,14.9091 L -25,4.90909 L 25,4.90909 L 25,14.9091 z
M 24.7,5.20909 L -24.7,5.20909 L -24.7,14.6091 L 24.7,14.6091 z
M 16.1789,12.361 L 15.7099,12.2188 L 15.2777,11.9877 L 14.8989,11.6768 L 14.588,11.298 L 14.357,10.8658
L 14.2147,10.3968 L 14.1667,9.90909 L 14.2147,9.42137 L 14.357,8.95239 L 14.588,8.52017 L 14.8989,8.14133
L 15.2777,7.83043 L 15.7099,7.5994 L 16.1789,7.45714 L 16.6667,7.40909 L 17.1544,7.45714 L 17.6234,7.5994
L 18.0556,7.83043 L 18.4344,8.14133 L 18.7453,8.52017 L 18.9764,8.95239 L 19.1186,9.42137 L 19.1667,9.90909
L 19.1186,10.3968 L 18.9764,10.8658 L 18.7453,11.298 L 18.4344,11.6768 L 18.0556,11.9877 L 17.6234,12.2188
L 17.1544,12.361 L 16.6667,12.4091 z
M -17.1544,12.361 L -17.6234,12.2188 L -18.0556,11.9877 L -18.4344,11.6768 L -18.7453,11.298 L -18.9764,10.8658
L -19.1186,10.3968 L -19.1667,9.90909 L -19.1186,9.42137 L -18.9764,8.95239 L -18.7453,8.52017 L -18.4344,8.14133
L -18.0556,7.83043 L -17.6234,7.5994 L -17.1544,7.45714 L -16.6667,7.40909 L -16.1789,7.45714 L -15.7099,7.5994
L -15.2777,7.83043 L -14.8989,8.14133 L -14.588,8.52017 L -14.357,8.95239 L -14.2147,9.42137 L -14.1667,9.90909
L -14.2147,10.3968 L -14.357,10.8658 L -14.588,11.298 L -14.8989,11.6768 L -15.2777,11.9877 L -15.7099,12.2188
L -16.1789,12.361 L -16.6667,12.4091 z
M -0.487717,12.361 L -0.956696,12.2188 L -1.38892,11.9877 L -1.76776,11.6768 L -2.07866,11.298 L -2.30969,10.8658
L -2.45195,10.3968 L -2.5,9.90909 L -2.45195,9.42137 L -2.30969,8.95239 L -2.07866,8.52017 L -1.76776,8.14133
L -1.38892,7.83043 L -0.956696,7.5994 L -0.487717,7.45714 L 0,7.40909 L 0.487717,7.45714 L 0.956696,7.5994
L 1.38892,7.83043 L 1.76776,8.14133 L 2.07866,8.52017 L 2.30969,8.95239 L 2.45195,9.42137 L 2.5,9.90909
L 2.45195,10.3968 L 2.30969,10.8658 L 2.07866,11.298 L 1.76776,11.6768 L 1.38892,11.9877 L 0.956696,12.2188
L 0.487717,12.361 L 0,12.4091 z
M 90.7576,14.9091 L 90.7576,4.90909 L 107.424,4.90909 L 107.424,14.9091 z
M 107.124,5.20909 L 91.0576,5.20909 L 91.0576,14.6091 L 107.124,14.6091 z
M 98.6032,12.361 L 98.1342,12.2188 L 97.702,11.9877 L 97.3231,11.6768 L 97.0122,11.298 L 96.7812,10.8658
L 96.6389,10.3968 L 96.5909,9.90909 L 96.6389,9.42137 L 96.7812,8.95239 L 97.0122,8.52017 L 97.3231,8.14133
L 97.702,7.83043 L 98.1342,7.5994 L 98.6032,7.45714 L 99.0909,7.40909 L 99.5786,7.45714 L 100.048,7.5994
L 100.48,7.83043 L 100.859,8.14133 L 101.17,8.52017 L 101.401,8.95239 L 101.543,9.42137 L 101.591,9.90909
L 101.543,10.3968 L 101.401,10.8658 L 101.17,11.298 L 100.859,11.6768 L 100.48,11.9877 L 100.048,12.2188
L 99.5786,12.361 L 99.0909,12.4091 z
M -117.003,21.6232 L -117.444,21.2679 L -117.716,20.6798 L -117.806,19.8629 L -117.714,18.966 L -117.439,18.3222
L -116.992,17.9343 L -116.386,17.805 L -115.952,17.8586 L -115.619,18.0194 L -115.38,18.293 L -115.222,18.6846
L -115.941,18.785 L -116.108,18.502 L -116.403,18.4077 L -116.677,18.4844 L -116.885,18.7145 L -117.016,19.1007
L -117.06,19.6457 L -116.914,19.4659 L -116.72,19.3335 L -116.489,19.2521 L -116.229,19.2249 L -115.769,19.3064
L -115.417,19.5507 L -115.193,19.9349 L -115.119,20.4358 L -115.204,20.9808 L -115.461,21.3941 L -115.868,21.6548
L -116.405,21.7417 z
M -116.201,21.1013 L -116.028,20.9638 L -115.92,20.7456 L -115.884,20.4575 L -115.922,20.17 L -116.035,19.9593
L -116.214,19.83 L -116.449,19.7869 L -116.676,19.8273 L -116.853,19.9484 L -116.967,20.1361 L -117.005,20.3761
L -116.966,20.6811 L -116.847,20.9285 L -116.663,21.0925 L -116.43,21.1471 z
M -44.6364,21.1682 L -44.6364,18.4682 L -34.6364,18.4682 L -34.6364,21.1682 z
M 14.8182,21.1682 L 14.8182,18.4682 L 24.8182,18.4682 L 24.8182,21.1682 z
M 34.6364,21.1682 L 34.6364,18.4682 L 44.6364,18.4682 L 44.6364,21.1682 z
M 99.9936,22.6293 L 102.796,21.3682 L 102.796,22.1389 L 107,22.1389 L 107,23.1198 L 102.796,23.1198
L 102.796,23.8905 z
M 95.1883,23.6567 L 95.1883,21.7857 L 94.4656,21.7857 L 94.4656,21.5527 L 96.1948,21.5527 L 96.1948,21.7857
L 95.4721,21.7857 L 95.4721,23.6567 z
M 90.7205,23.6567 L 90.7205,21.5527 L 91.4163,21.5527 L 91.8899,21.6198 L 92.2413,21.8208 L 92.4592,22.1454
L 92.5318,22.5831 L 92.5,22.8882 L 92.4048,23.1528 L 92.2514,23.3683 L 92.045,23.5268 L 91.7941,23.6242
L 91.5074,23.6567 z
M 91.692,23.4029 L 91.8815,23.3267 L 92.0366,23.2028 L 92.151,23.034 L 92.2216,22.8257 L 92.2451,22.5831
L 92.1915,22.2383 L 92.0308,21.9865 L 91.7685,21.8325 L 91.4104,21.7812 L 91.0057,21.7812 L 91.0057,23.4283
L 91.4746,23.4283 z
M 92.6324,23.6567 L 93.4911,21.5527 L 93.8151,21.5527 L 94.6603,23.6567 L 94.3691,23.6567 L 94.1287,23.0415
L 93.17,23.0415 L 92.9281,23.6567 z
M 93.7733,22.1246 L 93.7315,22.0149 L 93.6897,21.8917 L 93.6494,21.7678 L 93.6359,21.8096 L 93.5896,21.9511
L 93.5254,22.1276 L 93.2566,22.819 L 94.0436,22.819 z
M 96.0056,23.6567 L 96.8642,21.5527 L 97.1883,21.5527 L 98.0334,23.6567 L 97.7422,23.6567 L 97.5018,23.0415
L 96.5432,23.0415 L 96.3013,23.6567 z
M 97.1465,22.1246 L 97.1046,22.0149 L 97.0628,21.8917 L 97.0225,21.7678 L 97.0091,21.8096 L 96.9628,21.9511
L 96.8986,22.1276 L 96.6298,22.819 L 97.4167,22.819 z
M 36.0303,34.7273 L 36.0303,24.7273 L 102.697,24.7273 L 102.697,34.7273 z
M 102.397,25.0273 L 36.3303,25.0273 L 36.3303,34.4273 L 102.397,34.4273 z
M 93.8759,32.1792 L 93.4069,32.037 L 92.9747,31.8059 L 92.5959,31.495 L 92.285,31.1162 L 92.0539,30.684
L 91.9117,30.215 L 91.8636,29.7273 L 91.9117,29.2395 L 92.0539,28.7706 L 92.285,28.3383 L 92.5959,27.9595
L 92.9747,27.6486 L 93.4069,27.4176 L 93.8759,27.2753 L 94.3636,27.2273 L 94.8513,27.2753 L 95.3203,27.4176
L 95.7525,27.6486 L 96.1314,27.9595 L 96.4423,28.3383 L 96.6733,28.7706 L 96.8156,29.2395 L 96.8636,29.7273
L 96.8156,30.215 L 96.6733,30.684 L 96.4423,31.1162 L 96.1314,31.495 L 95.7525,31.8059 L 95.3203,32.037
L 94.8513,32.1792 L 94.3636,32.2273 z
M 77.2092,32.1792 L 76.7402,32.037 L 76.308,31.8059 L 75.9292,31.495 L 75.6183,31.1162 L 75.3873,30.684
L 75.245,30.215 L 75.197,29.7273 L 75.245,29.2395 L 75.3873,28.7706 L 75.6183,28.3383 L 75.9292,27.9595
L 76.308,27.6486 L 76.7402,27.4176 L 77.2092,27.2753 L 77.697,27.2273 L 78.1847,27.2753 L 78.6537,27.4176
L 79.0859,27.6486 L 79.4647,27.9595 L 79.7756,28.3383 L 80.0067,28.7706 L 80.1489,29.2395 L 80.197,29.7273
L 80.1489,30.215 L 80.0067,30.684 L 79.7756,31.1162 L 79.4647,31.495 L 79.0859,31.8059 L 78.6537,32.037
L 78.1847,32.1792 L 77.697,32.2273 z
M 60.5426,32.1792 L 60.0736,32.037 L 59.6414,31.8059 L 59.2625,31.495 L 58.9516,31.1162 L 58.7206,30.684
L 58.5783,30.215 L 58.5303,29.7273 L 58.5783,29.2395 L 58.7206,28.7706 L 58.9516,28.3383 L 59.2625,27.9595
L 59.6414,27.6486 L 60.0736,27.4176 L 60.5426,27.2753 L 61.0303,27.2273 L 61.518,27.2753 L 61.987,27.4176
L 62.4192,27.6486 L 62.7981,27.9595 L 63.109,28.3383 L 63.34,28.7706 L 63.4823,29.2395 L 63.5303,29.7273
L 63.4823,30.215 L 63.34,30.684 L 63.109,31.1162 L 62.7981,31.495 L 62.4192,31.8059 L 61.987,32.037
L 61.518,32.1792 L 61.0303,32.2273 z
M 43.8759,32.1792 L 43.4069,32.037 L 42.9747,31.8059 L 42.5959,31.495 L 42.285,31.1162 L 42.0539,30.684
L 41.9117,30.215 L 41.8636,29.7273 L 41.9117,29.2395 L 42.0539,28.7706 L 42.285,28.3383 L 42.5959,27.9595
L 42.9747,27.6486 L 43.4069,27.4176 L 43.8759,27.2753 L 44.3636,27.2273 L 44.8514,27.2753 L 45.3203,27.4176
L 45.7526,27.6486 L 46.1314,27.9595 L 46.4423,28.3383 L 46.6733,28.7706 L 46.8156,29.2395 L 46.8636,29.7273
L 46.8156,30.215 L 46.6733,30.684 L 46.4423,31.1162 L 46.1314,31.495 L 45.7526,31.8059 L 45.3203,32.037
L 44.8514,32.1792 L 44.3636,32.2273 z
M -102.697,34.7273 L -102.697,24.7273 L -36.0303,24.7273 L -36.0303,34.7273 z
M -36.3303,25.0273 L -102.397,25.0273 L -102.397,34.4273 L -36.3303,34.4273 z
M -94.8513,32.1792 L -95.3203,32.037 L -95.7525,31.8059 L -96.1314,31.495 L -96.4423,31.1162 L -96.6733,30.684
L -96.8156,30.215 L -96.8636,29.7273 L -96.8156,29.2395 L -96.6733,28.7706 L -96.4423,28.3383 L -96.1314,27.9595
L -95.7525,27.6486 L -95.3203,27.4176 L -94.8513,27.2753 L -94.3636,27.2273 L -93.8759,27.2753 L -93.4069,27.4176
L -92.9747,27.6486 L -92.5959,27.9595 L -92.285,28.3383 L -92.0539,28.7706 L -91.9117,29.2395 L -91.8636,29.7273
L -91.9117,30.215 L -92.0539,30.684 L -92.285,31.1162 L -92.5959,31.495 L -92.9747,31.8059 L -93.4069,32.037
L -93.8759,32.1792 L -94.3636,32.2273 z
M -61.518,32.1792 L -61.987,32.037 L -62.4192,31.8059 L -62.7981,31.495 L -63.109,31.1162 L -63.34,30.684
L -63.4823,30.215 L -63.5303,29.7273 L -63.4823,29.2395 L -63.34,28.7706 L -63.109,28.3383 L -62.7981,27.9595
L -62.4192,27.6486 L -61.987,27.4176 L -61.518,27.2753 L -61.0303,27.2273 L -60.5426,27.2753 L -60.0736,27.4176
L -59.6414,27.6486 L -59.2625,27.9595 L -58.9516,28.3383 L -58.7206,28.7706 L -58.5783,29.2395 L -58.5303,29.7273
L -58.5783,30.215 L -58.7206,30.684 L -58.9516,31.1162 L -59.2625,31.495 L -59.6414,31.8059 L -60.0736,32.037
L -60.5426,32.1792 L -61.0303,32.2273 z
M -44.8514,32.1792 L -45.3203,32.037 L -45.7526,31.8059 L -46.1314,31.495 L -46.4423,31.1162 L -46.6733,30.684
L -46.8156,30.215 L -46.8636,29.7273 L -46.8156,29.2395 L -46.6733,28.7706 L -46.4423,28.3383 L -46.1314,27.9595
L -45.7526,27.6486 L -45.3203,27.4176 L -44.8514,27.2753 L -44.3636,27.2273 L -43.8759,27.2753 L -43.4069,27.4176
L -42.9747,27.6486 L -42.5959,27.9595 L -42.285,28.3383 L -42.0539,28.7706 L -41.9117,29.2395 L -41.8636,29.7273
L -41.9117,30.215 L -42.0539,30.684 L -42.285,31.1162 L -42.5959,31.495 L -42.9747,31.8059 L -43.4069,32.037
L -43.8759,32.1792 L -44.3636,32.2273 z
M -78.1847,32.1792 L -78.6537,32.037 L -79.0859,31.8059 L -79.4647,31.495 L -79.7756,31.1162 L -80.0067,30.684
L -80.1489,30.215 L -80.197,29.7273 L -80.1489,29.2395 L -80.0067,28.7706 L -79.7756,28.3383 L -79.4647,27.9595
L -79.0859,27.6486 L -78.6537,27.4176 L -78.1847,27.2753 L -77.697,27.2273 L -77.2092,27.2753 L -76.7402,27.4176
L -76.308,27.6486 L -75.9292,27.9595 L -75.6183,28.3383 L -75.3873,28.7706 L -75.245,29.2395 L -75.197,29.7273
L -75.245,30.215 L -75.3873,30.684 L -75.6183,31.1162 L -75.9292,31.495 L -76.308,31.8059 L -76.7402,32.037
L -77.2092,32.1792 L -77.697,32.2273 z
M -25,34.7273 L -25,24.7273 L 25,24.7273 L 25,34.7273 z
M 24.7,25.0273 L -24.7,25.0273 L -24.7,34.4273 L 24.7,34.4273 z
M 16.1789,32.1792 L 15.7099,32.037 L 15.2777,31.8059 L 14.8989,31.495 L 14.588,31.1162 L 14.357,30.684
L 14.2147,30.215 L 14.1667,29.7273 L 14.2147,29.2395 L 14.357,28.7706 L 14.588,28.3383 L 14.8989,27.9595
L 15.2777,27.6486 L 15.7099,27.4176 L 16.1789,27.2753 L 16.6667,27.2273 L 17.1544,27.2753 L 17.6234,27.4176
L 18.0556,27.6486 L 18.4344,27.9595 L 18.7453,28.3383 L 18.9764,28.7706 L 19.1186,29.2395 L 19.1667,29.7273
L 19.1186,30.215 L 18.9764,30.684 L 18.7453,31.1162 L 18.4344,31.495 L 18.0556,31.8059 L 17.6234,32.037
L 17.1544,32.1792 L 16.6667,32.2273 z
M -0.487717,32.1792 L -0.956696,32.037 L -1.38892,31.8059 L -1.76776,31.495 L -2.07866,31.1162 L -2.30969,30.684
L -2.45195,30.215 L -2.5,29.7273 L -2.45195,29.2395 L -2.30969,28.7706 L -2.07866,28.3383 L -1.76776,27.9595
L -1.38892,27.6486 L -0.956696,27.4176 L -0.487717,27.2753 L 0,27.2273 L 0.487717,27.2753 L 0.956696,27.4176
L 1.38892,27.6486 L 1.76776,27.9595 L 2.07866,28.3383 L 2.30969,28.7706 L 2.45195,29.2395 L 2.5,29.7273
L 2.45195,30.215 L 2.30969,30.684 L 2.07866,31.1162 L 1.76776,31.495 L 1.38892,31.8059 L 0.956696,32.037
L 0.487717,32.1792 L 0,32.2273 z
M -17.1544,32.1792 L -17.6234,32.037 L -18.0556,31.8059 L -18.4344,31.495 L -18.7453,31.1162 L -18.9764,30.684
L -19.1186,30.215 L -19.1667,29.7273 L -19.1186,29.2395 L -18.9764,28.7706 L -18.7453,28.3383 L -18.4344,27.9595
L -18.0556,27.6486 L -17.6234,27.4176 L -17.1544,27.2753 L -16.6667,27.2273 L -16.1789,27.2753 L -15.7099,27.4176
L -15.2777,27.6486 L -14.8989,27.9595 L -14.588,28.3383 L -14.357,28.7706 L -14.2147,29.2395 L -14.1667,29.7273
L -14.2147,30.215 L -14.357,30.684 L -14.588,31.1162 L -14.8989,31.495 L -15.2777,31.8059 L -15.7099,32.037
L -16.1789,32.1792 L -16.6667,32.2273 z
M -117.215,41.5043 L -117.183,41.0343 L -117.09,40.5799 L -116.937,40.1292 L -116.729,39.6703 L -116.396,39.0978
L -115.871,38.3061 L -117.771,38.3061 L -117.771,37.6789 L -115.162,37.6789 L -115.162,38.2843 L -115.413,38.6855
L -115.649,39.0744 L -115.864,39.4582 L -116.05,39.8441 L -116.203,40.2364 L -116.32,40.6396 L -116.394,41.0601
L -116.419,41.5043 z
M 14.8182,40.9864 L 14.8182,38.2864 L 24.8182,38.2864 L 24.8182,40.9864 z
M 34.6364,40.9864 L 34.6364,38.2864 L 44.6364,38.2864 L 44.6364,40.9864 z
M 54.4545,40.9864 L 54.4545,38.2864 L 64.4545,38.2864 L 64.4545,40.9864 z
M -102.796,42.938 L -107,42.938 L -107,41.9571 L -102.796,41.9571 L -102.796,41.1864 L -99.9936,42.4475
L -102.796,43.7087 z
M -92.4557,43.4749 L -91.5971,41.3709 L -91.2731,41.3709 L -90.4279,43.4749 L -90.7191,43.4749 L -90.9595,42.8597
L -91.9182,42.8597 L -92.1601,43.4749 z
M -91.3149,41.9428 L -91.3567,41.8331 L -91.3985,41.7099 L -91.4388,41.5859 L -91.4523,41.6278 L -91.4986,41.7692
L -91.5628,41.9458 L -91.8315,42.6372 L -91.0446,42.6372 z
M -95.8289,43.4749 L -94.9703,41.3709 L -94.6462,41.3709 L -93.801,43.4749 L -94.0922,43.4749 L -94.3327,42.8597
L -95.2913,42.8597 L -95.5332,43.4749 z
M -94.688,41.9428 L -94.7299,41.8331 L -94.7717,41.7099 L -94.812,41.5859 L -94.8254,41.6278 L -94.8717,41.7692
L -94.9359,41.9458 L -95.2047,42.6372 L -94.4178,42.6372 z
M -97.7409,43.4749 L -97.7409,41.3709 L -97.045,41.3709 L -96.5715,41.4379 L -96.22,41.639 L -96.0022,41.9635
L -95.9296,42.4013 L -95.9613,42.7064 L -96.0565,42.9709 L -96.2099,43.1865 L -96.4164,43.345 L -96.6672,43.4424
L -96.9539,43.4749 z
M -96.7693,43.221 L -96.5799,43.1449 L -96.4248,43.0209 L -96.3103,42.8522 L -96.2398,42.6439 L -96.2163,42.4013
L -96.2698,42.0565 L -96.4305,41.8047 L -96.6928,41.6507 L -97.051,41.5994 L -97.4557,41.5994 L -97.4557,43.2464
L -96.9868,43.2464 z
M -93.273,43.4749 L -93.273,41.6039 L -93.9957,41.6039 L -93.9957,41.3709 L -92.2666,41.3709 L -92.2666,41.6039
L -92.9893,41.6039 L -92.9893,43.4749 z
M -102.697,54.5454 L -102.697,44.5454 L -36.0303,44.5454 L -36.0303,54.5454 z
M -36.3303,44.8454 L -102.397,44.8454 L -102.397,54.2454 L -36.3303,54.2454 z
M -61.518,51.9974 L -61.987,51.8551 L -62.4192,51.6241 L -62.7981,51.3132 L -63.109,50.9344 L -63.34,50.5021
L -63.4823,50.0332 L -63.5303,49.5454 L -63.4823,49.0577 L -63.34,48.5887 L -63.109,48.1565 L -62.7981,47.7777
L -62.4192,47.4668 L -61.987,47.2357 L -61.518,47.0935 L -61.0303,47.0454 L -60.5426,47.0935 L -60.0736,47.2357
L -59.6414,47.4668 L -59.2625,47.7777 L -58.9516,48.1565 L -58.7206,48.5887 L -58.5783,49.0577 L -58.5303,49.5454
L -58.5783,50.0332 L -58.7206,50.5021 L -58.9516,50.9344 L -59.2625,51.3132 L -59.6414,51.6241 L -60.0736,51.8551
L -60.5426,51.9974 L -61.0303,52.0454 z
M -78.1847,51.9974 L -78.6537,51.8551 L -79.0859,51.6241 L -79.4647,51.3132 L -79.7756,50.9344 L -80.0067,50.5021
L -80.1489,50.0332 L -80.197,49.5454 L -80.1489,49.0577 L -80.0067,48.5887 L -79.7756,48.1565 L -79.4647,47.7777
L -79.0859,47.4668 L -78.6537,47.2357 L -78.1847,47.0935 L -77.697,47.0454 L -77.2092,47.0935 L -76.7402,47.2357
L -76.308,47.4668 L -75.9292,47.7777 L -75.6183,48.1565 L -75.3873,48.5887 L -75.245,49.0577 L -75.197,49.5454
L -75.245,50.0332 L -75.3873,50.5021 L -75.6183,50.9344 L -75.9292,51.3132 L -76.308,51.6241 L -76.7402,51.8551
L -77.2092,51.9974 L -77.697,52.0454 z
M -94.8513,51.9974 L -95.3203,51.8551 L -95.7525,51.6241 L -96.1314,51.3132 L -96.4423,50.9344 L -96.6733,50.5021
L -96.8156,50.0332 L -96.8636,49.5454 L -96.8156,49.0577 L -96.6733,48.5887 L -96.4423,48.1565 L -96.1314,47.7777
L -95.7525,47.4668 L -95.3203,47.2357 L -94.8513,47.0935 L -94.3636,47.0454 L -93.8759,47.0935 L -93.4069,47.2357
L -92.9747,47.4668 L -92.5959,47.7777 L -92.285,48.1565 L -92.0539,48.5887 L -91.9117,49.0577 L -91.8636,49.5454
L -91.9117,50.0332 L -92.0539,50.5021 L -92.285,50.9344 L -92.5959,51.3132 L -92.9747,51.6241 L -93.4069,51.8551
L -93.8759,51.9974 L -94.3636,52.0454 z
M -44.8514,51.9974 L -45.3203,51.8551 L -45.7526,51.6241 L -46.1314,51.3132 L -46.4423,50.9344 L -46.6733,50.5021
L -46.8156,50.0332 L -46.8636,49.5454 L -46.8156,49.0577 L -46.6733,48.5887 L -46.4423,48.1565 L -46.1314,47.7777
L -45.7526,47.4668 L -45.3203,47.2357 L -44.8514,47.0935 L -44.3636,47.0454 L -43.8759,47.0935 L -43.4069,47.2357
L -42.9747,47.4668 L -42.5959,47.7777 L -42.285,48.1565 L -42.0539,48.5887 L -41.9117,49.0577 L -41.8636,49.5454
L -41.9117,50.0332 L -42.0539,50.5021 L -42.285,50.9344 L -42.5959,51.3132 L -42.9747,51.6241 L -43.4069,51.8551
L -43.8759,51.9974 L -44.3636,52.0454 z
M 17.7879,54.5454 L 17.7879,44.5454 L 101.121,44.5454 L 101.121,54.5454 z
M 100.821,44.8454 L 18.0879,44.8454 L 18.0879,54.2454 L 100.821,54.2454 z
M 92.3001,51.9974 L 91.8312,51.8551 L 91.3989,51.6241 L 91.0201,51.3132 L 90.7092,50.9344 L 90.4782,50.5021
L 90.3359,50.0332 L 90.2879,49.5454 L 90.3359,49.0577 L 90.4782,48.5887 L 90.7092,48.1565 L 91.0201,47.7777
L 91.3989,47.4668 L 91.8312,47.2357 L 92.3001,47.0935 L 92.7879,47.0454 L 93.2756,47.0935 L 93.7446,47.2357
L 94.1768,47.4668 L 94.5556,47.7777 L 94.8665,48.1565 L 95.0976,48.5887 L 95.2398,49.0577 L 95.2879,49.5454
L 95.2398,50.0332 L 95.0976,50.5021 L 94.8665,50.9344 L 94.5556,51.3132 L 94.1768,51.6241 L 93.7446,51.8551
L 93.2756,51.9974 L 92.7879,52.0454 z
M 75.6335,51.9974 L 75.1645,51.8551 L 74.7323,51.6241 L 74.3534,51.3132 L 74.0425,50.9344 L 73.8115,50.5021
L 73.6692,50.0332 L 73.6212,49.5454 L 73.6692,49.0577 L 73.8115,48.5887 L 74.0425,48.1565 L 74.3534,47.7777
L 74.7323,47.4668 L 75.1645,47.2357 L 75.6335,47.0935 L 76.1212,47.0454 L 76.6089,47.0935 L 77.0779,47.2357
L 77.5101,47.4668 L 77.889,47.7777 L 78.1999,48.1565 L 78.4309,48.5887 L 78.5732,49.0577 L 78.6212,49.5454
L 78.5732,50.0332 L 78.4309,50.5021 L 78.1999,50.9344 L 77.889,51.3132 L 77.5101,51.6241 L 77.0779,51.8551
L 76.6089,51.9974 L 76.1212,52.0454 z
M 25.6335,51.9974 L 25.1645,51.8551 L 24.7323,51.6241 L 24.3535,51.3132 L 24.0425,50.9344 L 23.8115,50.5021
L 23.6693,50.0332 L 23.6212,49.5454 L 23.6693,49.0577 L 23.8115,48.5887 L 24.0425,48.1565 L 24.3535,47.7777
L 24.7323,47.4668 L 25.1645,47.2357 L 25.6335,47.0935 L 26.1212,47.0454 L 26.6089,47.0935 L 27.0779,47.2357
L 27.5101,47.4668 L 27.889,47.7777 L 28.1999,48.1565 L 28.4309,48.5887 L 28.5732,49.0577 L 28.6212,49.5454
L 28.5732,50.0332 L 28.4309,50.5021 L 28.1999,50.9344 L 27.889,51.3132 L 27.5101,51.6241 L 27.0779,51.8551
L 26.6089,51.9974 L 26.1212,52.0454 z
M 42.3002,51.9974 L 41.8312,51.8551 L 41.399,51.6241 L 41.0201,51.3132 L 40.7092,50.9344 L 40.4782,50.5021
L 40.3359,50.0332 L 40.2879,49.5454 L 40.3359,49.0577 L 40.4782,48.5887 L 40.7092,48.1565 L 41.0201,47.7777
L 41.399,47.4668 L 41.8312,47.2357 L 42.3002,47.0935 L 42.7879,47.0454 L 43.2756,47.0935 L 43.7446,47.2357
L 44.1768,47.4668 L 44.5556,47.7777 L 44.8666,48.1565 L 45.0976,48.5887 L 45.2399,49.0577 L 45.2879,49.5454
L 45.2399,50.0332 L 45.0976,50.5021 L 44.8666,50.9344 L 44.5556,51.3132 L 44.1768,51.6241 L 43.7446,51.8551
L 43.2756,51.9974 L 42.7879,52.0454 z
M 58.9668,51.9974 L 58.4978,51.8551 L 58.0656,51.6241 L 57.6868,51.3132 L 57.3759,50.9344 L 57.1449,50.5021
L 57.0026,50.0332 L 56.9545,49.5454 L 57.0026,49.0577 L 57.1449,48.5887 L 57.3759,48.1565 L 57.6868,47.7777
L 58.0656,47.4668 L 58.4978,47.2357 L 58.9668,47.0935 L 59.4545,47.0454 L 59.9423,47.0935 L 60.4112,47.2357
L 60.8435,47.4668 L 61.2223,47.7777 L 61.5332,48.1565 L 61.7642,48.5887 L 61.9065,49.0577 L 61.9545,49.5454
L 61.9065,50.0332 L 61.7642,50.5021 L 61.5332,50.9344 L 61.2223,51.3132 L 60.8435,51.6241 L 60.4112,51.8551
L 59.9423,51.9974 L 59.4545,52.0454 z
M -117.04,61.3041 L -117.474,61.0821 L -117.744,60.7265 L -117.834,60.2513 L -117.781,59.9137 L -117.622,59.6337
L -117.374,59.4304 L -117.054,59.3228 L -117.054,59.312 L -117.334,59.2013 L -117.554,59.0052 L -117.696,58.7479
L -117.744,58.454 L -117.661,58.0339 L -117.411,57.7129 L -117.01,57.5092 L -116.471,57.4413 L -115.921,57.5075
L -115.516,57.7061 L -115.267,58.0268 L -115.184,58.4595 L -115.231,58.7527 L -115.372,59.0079 L -115.593,59.2007
L -115.879,59.3065 L -115.879,59.3174 L -115.549,59.4229 L -115.299,59.6201 L -115.141,59.898 L -115.089,60.2459
L -115.178,60.7234 L -115.444,61.0808 L -115.876,61.3037 L -116.46,61.378 z
M -116.247,59.0167 L -116.092,58.921 L -115.999,58.752 L -115.968,58.5002 L -116,58.265 L -116.093,58.1024
L -116.25,58.0078 L -116.471,57.9762 L -116.841,58.1072 L -116.965,58.5002 L -116.84,58.9115 L -116.465,59.0486
z
M -116.197,60.8018 L -116.019,60.6857 L -115.914,60.4828 L -115.879,60.1835 L -116.028,59.7334 L -116.476,59.5834
L -116.721,59.6228 L -116.901,59.7409 L -117.012,59.933 L -117.049,60.1943 L -117.012,60.4855 L -116.902,60.6857
L -116.717,60.8018 L -116.454,60.8405 z
M -64.4545,60.8045 L -64.4545,58.1045 L -54.4545,58.1045 L -54.4545,60.8045 z
M -24.8182,60.8045 L -24.8182,58.1045 L -14.8182,58.1045 L -14.8182,60.8045 z
M -5,60.8045 L -5,58.1045 L 5,58.1045 L 5,60.8045 z
M 99.9936,62.2657 L 102.796,61.0045 L 102.796,61.7753 L 107,61.7753 L 107,62.7561 L 102.796,62.7561
L 102.796,63.5269 z
M 95.1883,63.2931 L 95.1883,61.4221 L 94.4656,61.4221 L 94.4656,61.1891 L 96.1948,61.1891 L 96.1948,61.4221
L 95.4721,61.4221 L 95.4721,63.2931 z
M 90.7205,63.2931 L 90.7205,61.1891 L 91.4163,61.1891 L 91.8899,61.2561 L 92.2413,61.4572 L 92.4592,61.7817
L 92.5318,62.2195 L 92.5,62.5246 L 92.4048,62.7891 L 92.2514,63.0047 L 92.045,63.1632 L 91.7941,63.2606
L 91.5074,63.2931 z
M 91.692,63.0392 L 91.8815,62.9631 L 92.0366,62.8391 L 92.151,62.6704 L 92.2216,62.4621 L 92.2451,62.2195
L 92.1915,61.8747 L 92.0308,61.6229 L 91.7685,61.4689 L 91.4104,61.4176 L 91.0057,61.4176 L 91.0057,63.0646
L 91.4746,63.0646 z
M 96.0056,63.2931 L 96.8642,61.1891 L 97.1883,61.1891 L 98.0334,63.2931 L 97.7422,63.2931 L 97.5018,62.6779
L 96.5432,62.6779 L 96.3013,63.2931 z
M 97.1465,61.761 L 97.1046,61.6513 L 97.0628,61.5281 L 97.0225,61.4041 L 97.0091,61.446 L 96.9628,61.5874
L 96.8986,61.764 L 96.6298,62.4554 L 97.4167,62.4554 z
M 92.6324,63.2931 L 93.4911,61.1891 L 93.8151,61.1891 L 94.6603,63.2931 L 94.3691,63.2931 L 94.1287,62.6779
L 93.17,62.6779 L 92.9281,63.2931 z
M 93.7733,61.761 L 93.7315,61.6513 L 93.6897,61.5281 L 93.6494,61.4041 L 93.6359,61.446 L 93.5896,61.5874
L 93.5254,61.764 L 93.2566,62.4554 L 94.0436,62.4554 z
M -99.5454,74.3636 L -99.5454,64.3636 L 0.454544,64.3636 L 0.454544,74.3636 z
M 0.154541,64.6636 L -99.2454,64.6636 L -99.2454,74.0636 L 0.154541,74.0636 z
M -25.0332,71.8156 L -25.5022,71.6733 L -25.9344,71.4423 L -26.3132,71.1314 L -26.6241,70.7525 L -26.8551,70.3203
L -26.9974,69.8513 L -27.0454,69.3636 L -26.9974,68.8759 L -26.8551,68.4069 L -26.6241,67.9747 L -26.3132,67.5959
L -25.9344,67.285 L -25.5022,67.0539 L -25.0332,66.9117 L -24.5454,66.8636 L -24.0577,66.9117 L -23.5887,67.0539
L -23.1565,67.285 L -22.7777,67.5959 L -22.4668,67.9747 L -22.2357,68.4069 L -22.0935,68.8759 L -22.0454,69.3636
L -22.0935,69.8513 L -22.2357,70.3203 L -22.4668,70.7525 L -22.7777,71.1314 L -23.1565,71.4423 L -23.5887,71.6733
L -24.0577,71.8156 L -24.5454,71.8636 z
M -41.6998,71.8156 L -42.1688,71.6733 L -42.601,71.4423 L -42.9799,71.1314 L -43.2908,70.7525 L -43.5218,70.3203
L -43.6641,69.8513 L -43.7121,69.3636 L -43.6641,68.8759 L -43.5218,68.4069 L -43.2908,67.9747 L -42.9799,67.5959
L -42.601,67.285 L -42.1688,67.0539 L -41.6998,66.9117 L -41.2121,66.8636 L -40.7244,66.9117 L -40.2554,67.0539
L -39.8232,67.285 L -39.4444,67.5959 L -39.1334,67.9747 L -38.9024,68.4069 L -38.7601,68.8759 L -38.7121,69.3636
L -38.7601,69.8513 L -38.9024,70.3203 L -39.1334,70.7525 L -39.4444,71.1314 L -39.8232,71.4423 L -40.2554,71.6733
L -40.7244,71.8156 L -41.2121,71.8636 z
M -58.3665,71.8156 L -58.8355,71.6733 L -59.2677,71.4423 L -59.6465,71.1314 L -59.9574,70.7525 L -60.1885,70.3203
L -60.3307,69.8513 L -60.3788,69.3636 L -60.3307,68.8759 L -60.1885,68.4069 L -59.9574,67.9747 L -59.6465,67.5959
L -59.2677,67.285 L -58.8355,67.0539 L -58.3665,66.9117 L -57.8788,66.8636 L -57.391,66.9117 L -56.9221,67.0539
L -56.4898,67.285 L -56.111,67.5959 L -55.8001,67.9747 L -55.5691,68.4069 L -55.4268,68.8759 L -55.3788,69.3636
L -55.4268,69.8513 L -55.5691,70.3203 L -55.8001,70.7525 L -56.111,71.1314 L -56.4898,71.4423 L -56.9221,71.6733
L -57.391,71.8156 L -57.8788,71.8636 z
M -75.0332,71.8156 L -75.5021,71.6733 L -75.9344,71.4423 L -76.3132,71.1314 L -76.6241,70.7525 L -76.8551,70.3203
L -76.9974,69.8513 L -77.0454,69.3636 L -76.9974,68.8759 L -76.8551,68.4069 L -76.6241,67.9747 L -76.3132,67.5959
L -75.9344,67.285 L -75.5021,67.0539 L -75.0332,66.9117 L -74.5454,66.8636 L -74.0577,66.9117 L -73.5887,67.0539
L -73.1565,67.285 L -72.7777,67.5959 L -72.4668,67.9747 L -72.2357,68.4069 L -72.0935,68.8759 L -72.0454,69.3636
L -72.0935,69.8513 L -72.2357,70.3203 L -72.4668,70.7525 L -72.7777,71.1314 L -73.1565,71.4423 L -73.5887,71.6733
L -74.0577,71.8156 L -74.5454,71.8636 z
M -91.6998,71.8156 L -92.1688,71.6733 L -92.601,71.4423 L -92.9799,71.1314 L -93.2908,70.7525 L -93.5218,70.3203
L -93.6641,69.8513 L -93.7121,69.3636 L -93.6641,68.8759 L -93.5218,68.4069 L -93.2908,67.9747 L -92.9799,67.5959
L -92.601,67.285 L -92.1688,67.0539 L -91.6998,66.9117 L -91.2121,66.8636 L -90.7244,66.9117 L -90.2554,67.0539
L -89.8232,67.285 L -89.4443,67.5959 L -89.1334,67.9747 L -88.9024,68.4069 L -88.7601,68.8759 L -88.7121,69.3636
L -88.7601,69.8513 L -88.9024,70.3203 L -89.1334,70.7525 L -89.4443,71.1314 L -89.8232,71.4423 L -90.2554,71.6733
L -90.7244,71.8156 L -91.2121,71.8636 z
M -8.3665,71.8156 L -8.83549,71.6733 L -9.2677,71.4423 L -9.64655,71.1314 L -9.95746,70.7525 L -10.1885,70.3203
L -10.3307,69.8513 L -10.3788,69.3636 L -10.3307,68.8759 L -10.1885,68.4069 L -9.95746,67.9747 L -9.64655,67.5959
L -9.2677,67.285 L -8.83549,67.0539 L -8.3665,66.9117 L -7.87878,66.8636 L -7.39105,66.9117 L -6.92207,67.0539
L -6.48985,67.285 L -6.11101,67.5959 L -5.80011,67.9747 L -5.56908,68.4069 L -5.42682,68.8759 L -5.37878,69.3636
L -5.42682,69.8513 L -5.56908,70.3203 L -5.80011,70.7525 L -6.11101,71.1314 L -6.48985,71.4423 L -6.92207,71.6733
L -7.39105,71.8156 L -7.87878,71.8636 z
M 17.7879,74.3636 L 17.7879,64.3636 L 101.121,64.3636 L 101.121,74.3636 z
M 100.821,64.6636 L 18.0879,64.6636 L 18.0879,74.0636 L 100.821,74.0636 z
M 92.3001,71.8156 L 91.8312,71.6733 L 91.3989,71.4423 L 91.0201,71.1314 L 90.7092,70.7525 L 90.4782,70.3203
L 90.3359,69.8513 L 90.2879,69.3636 L 90.3359,68.8759 L 90.4782,68.4069 L 90.7092,67.9747 L 91.0201,67.5959
L 91.3989,67.285 L 91.8312,67.0539 L 92.3001,66.9117 L 92.7879,66.8636 L 93.2756,66.9117 L 93.7446,67.0539
L 94.1768,67.285 L 94.5556,67.5959 L 94.8665,67.9747 L 95.0976,68.4069 L 95.2398,68.8759 L 95.2879,69.3636
L 95.2398,69.8513 L 95.0976,70.3203 L 94.8665,70.7525 L 94.5556,71.1314 L 94.1768,71.4423 L 93.7446,71.6733
L 93.2756,71.8156 L 92.7879,71.8636 z
M 25.6335,71.8156 L 25.1645,71.6733 L 24.7323,71.4423 L 24.3535,71.1314 L 24.0425,70.7525 L 23.8115,70.3203
L 23.6693,69.8513 L 23.6212,69.3636 L 23.6693,68.8759 L 23.8115,68.4069 L 24.0425,67.9747 L 24.3535,67.5959
L 24.7323,67.285 L 25.1645,67.0539 L 25.6335,66.9117 L 26.1212,66.8636 L 26.6089,66.9117 L 27.0779,67.0539
L 27.5101,67.285 L 27.889,67.5959 L 28.1999,67.9747 L 28.4309,68.4069 L 28.5732,68.8759 L 28.6212,69.3636
L 28.5732,69.8513 L 28.4309,70.3203 L 28.1999,70.7525 L 27.889,71.1314 L 27.5101,71.4423 L 27.0779,71.6733
L 26.6089,71.8156 L 26.1212,71.8636 z
M 42.3002,71.8156 L 41.8312,71.6733 L 41.399,71.4423 L 41.0201,71.1314 L 40.7092,70.7525 L 40.4782,70.3203
L 40.3359,69.8513 L 40.2879,69.3636 L 40.3359,68.8759 L 40.4782,68.4069 L 40.7092,67.9747 L 41.0201,67.5959
L 41.399,67.285 L 41.8312,67.0539 L 42.3002,66.9117 L 42.7879,66.8636 L 43.2756,66.9117 L 43.7446,67.0539
L 44.1768,67.285 L 44.5556,67.5959 L 44.8666,67.9747 L 45.0976,68.4069 L 45.2399,68.8759 L 45.2879,69.3636
L 45.2399,69.8513 L 45.0976,70.3203 L 44.8666,70.7525 L 44.5556,71.1314 L 44.1768,71.4423 L 43.7446,71.6733
L 43.2756,71.8156 L 42.7879,71.8636 z
M 58.9668,71.8156 L 58.4978,71.6733 L 58.0656,71.4423 L 57.6868,71.1314 L 57.3759,70.7525 L 57.1449,70.3203
L 57.0026,69.8513 L 56.9545,69.3636 L 57.0026,68.8759 L 57.1449,68.4069 L 57.3759,67.9747 L 57.6868,67.5959
L 58.0656,67.285 L 58.4978,67.0539 L 58.9668,66.9117 L 59.4545,66.8636 L 59.9423,66.9117 L 60.4112,67.0539
L 60.8435,67.285 L 61.2223,67.5959 L 61.5332,67.9747 L 61.7642,68.4069 L 61.9065,68.8759 L 61.9545,69.3636
L 61.9065,69.8513 L 61.7642,70.3203 L 61.5332,70.7525 L 61.2223,71.1314 L 60.8435,71.4423 L 60.4112,71.6733
L 59.9423,71.8156 L 59.4545,71.8636 z
M 75.6335,71.8156 L 75.1645,71.6733 L 74.7323,71.4423 L 74.3534,71.1314 L 74.0425,70.7525 L 73.8115,70.3203
L 73.6692,69.8513 L 73.6212,69.3636 L 73.6692,68.8759 L 73.8115,68.4069 L 74.0425,67.9747 L 74.3534,67.5959
L 74.7323,67.285 L 75.1645,67.0539 L 75.6335,66.9117 L 76.1212,66.8636 L 76.6089,66.9117 L 77.0779,67.0539
L 77.5101,67.285 L 77.889,67.5959 L 78.1999,67.9747 L 78.4309,68.4069 L 78.5732,68.8759 L 78.6212,69.3636
L 78.5732,69.8513 L 78.4309,70.3203 L 78.1999,70.7525 L 77.889,71.1314 L 77.5101,71.4423 L 77.0779,71.6733
L 76.6089,71.8156 L 76.1212,71.8636 z
M -117.002,81.1423 L -117.344,80.9804 L -117.588,80.7018 L -117.749,80.2975 L -117.033,80.1971 L -116.858,80.4964
L -116.544,80.5962 L -116.261,80.5195 L -116.051,80.2894 L -115.921,79.9086 L -115.873,79.3799 L -116.009,79.5615
L -116.211,79.6989 L -116.455,79.7855 L -116.718,79.8143 L -117.171,79.7285 L -117.52,79.4709 L -117.743,79.0667
L -117.817,78.541 L -117.73,78.0041 L -117.468,77.5989 L -117.047,77.3443 L -116.482,77.2595 L -115.883,77.3786
L -115.459,77.736 L -115.208,78.3323 L -115.124,79.1681 L -115.217,80.058 L -115.496,80.6912 L -115.946,81.07
L -116.552,81.1962 z
M -116.274,79.2051 L -116.092,79.0799 L -115.971,78.8848 L -115.93,78.6333 L -115.969,78.3139 L -116.086,78.0672
L -116.268,77.9094 L -116.5,77.8568 L -116.726,77.9026 L -116.898,78.0401 L -117.007,78.2583 L -117.044,78.5464
L -117.008,78.8325 L -116.9,79.0555 L -116.727,79.199 L -116.498,79.2469 z
M -44.6364,80.6227 L -44.6364,77.9227 L -34.6364,77.9227 L -34.6364,80.6227 z
M 34.6364,80.6227 L 34.6364,77.9227 L 44.6364,77.9227 L 44.6364,80.6227 z
M -64.4545,80.6227 L -64.4545,77.9227 L -54.4545,77.9227 L -54.4545,80.6227 z
M -102.796,82.5743 L -107,82.5743 L -107,81.5934 L -102.796,81.5934 L -102.796,80.8227 L -99.9936,82.0839
L -102.796,83.345 z
M -92.4557,83.1113 L -91.5971,81.0073 L -91.2731,81.0073 L -90.4279,83.1113 L -90.7191,83.1113 L -90.9595,82.496
L -91.9182,82.496 L -92.1601,83.1113 z
M -91.3149,81.5792 L -91.3567,81.4694 L -91.3985,81.3463 L -91.4388,81.2223 L -91.4523,81.2641 L -91.4986,81.4056
L -91.5628,81.5822 L -91.8315,82.2735 L -91.0446,82.2735 z
M -95.8289,83.1113 L -94.9703,81.0073 L -94.6462,81.0073 L -93.801,83.1113 L -94.0922,83.1113 L -94.3327,82.496
L -95.2913,82.496 L -95.5332,83.1113 z
M -94.688,81.5792 L -94.7299,81.4694 L -94.7717,81.3463 L -94.812,81.2223 L -94.8254,81.2641 L -94.8717,81.4056
L -94.9359,81.5822 L -95.2047,82.2735 L -94.4178,82.2735 z
M -93.273,83.1113 L -93.273,81.2402 L -93.9957,81.2402 L -93.9957,81.0073 L -92.2666,81.0073 L -92.2666,81.2402
L -92.9893,81.2402 L -92.9893,83.1113 z
M -97.7409,83.1113 L -97.7409,81.0073 L -97.045,81.0073 L -96.5715,81.0743 L -96.22,81.2753 L -96.0022,81.5999
L -95.9296,82.0376 L -95.9613,82.3428 L -96.0565,82.6073 L -96.2099,82.8229 L -96.4164,82.9814 L -96.6672,83.0788
L -96.9539,83.1113 z
M -96.7693,82.8574 L -96.5799,82.7812 L -96.4248,82.6573 L -96.3103,82.4886 L -96.2398,82.2803 L -96.2163,82.0376
L -96.2698,81.6929 L -96.4305,81.4411 L -96.6928,81.2871 L -97.051,81.2357 L -97.4557,81.2357 L -97.4557,82.8828
L -96.9868,82.8828 z
M -104.273,94.1818 L -104.273,84.1818 L -54.2727,84.1818 L -54.2727,94.1818 z
M -54.5727,84.4818 L -103.973,84.4818 L -103.973,93.8818 L -54.5727,93.8818 z
M -96.4271,91.6338 L -96.8961,91.4915 L -97.3283,91.2605 L -97.7072,90.9496 L -98.0181,90.5707 L -98.2491,90.1385
L -98.3913,89.6695 L -98.4394,89.1818 L -98.3913,88.6941 L -98.2491,88.2251 L -98.0181,87.7929 L -97.7072,87.414
L -97.3283,87.1031 L -96.8961,86.8721 L -96.4271,86.7299 L -95.9394,86.6818 L -95.4517,86.7299 L -94.9827,86.8721
L -94.5505,87.1031 L -94.1716,87.414 L -93.8607,87.7929 L -93.6297,88.2251 L -93.4874,88.6941 L -93.4394,89.1818
L -93.4874,89.6695 L -93.6297,90.1385 L -93.8607,90.5707 L -94.1716,90.9496 L -94.5505,91.2605 L -94.9827,91.4915
L -95.4517,91.6338 L -95.9394,91.6818 z
M -79.7604,91.6338 L -80.2294,91.4915 L -80.6616,91.2605 L -81.0405,90.9496 L -81.3514,90.5707 L -81.5824,90.1385
L -81.7247,89.6695 L -81.7727,89.1818 L -81.7247,88.6941 L -81.5824,88.2251 L -81.3514,87.7929 L -81.0405,87.414
L -80.6616,87.1031 L -80.2294,86.8721 L -79.7604,86.7299 L -79.2727,86.6818 L -78.785,86.7299 L -78.316,86.8721
L -77.8838,87.1031 L -77.505,87.414 L -77.1941,87.7929 L -76.963,88.2251 L -76.8208,88.6941 L -76.7727,89.1818
L -76.8208,89.6695 L -76.963,90.1385 L -77.1941,90.5707 L -77.505,90.9496 L -77.8838,91.2605 L -78.316,91.4915
L -78.785,91.6338 L -79.2727,91.6818 z
M -63.0938,91.6338 L -63.5628,91.4915 L -63.995,91.2605 L -64.3738,90.9496 L -64.6847,90.5707 L -64.9158,90.1385
L -65.058,89.6695 L -65.1061,89.1818 L -65.058,88.6941 L -64.9158,88.2251 L -64.6847,87.7929 L -64.3738,87.414
L -63.995,87.1031 L -63.5628,86.8721 L -63.0938,86.7299 L -62.6061,86.6818 L -62.1183,86.7299 L -61.6494,86.8721
L -61.2171,87.1031 L -60.8383,87.414 L -60.5274,87.7929 L -60.2964,88.2251 L -60.1541,88.6941 L -60.1061,89.1818
L -60.1541,89.6695 L -60.2964,90.1385 L -60.5274,90.5707 L -60.8383,90.9496 L -61.2171,91.2605 L -61.6494,91.4915
L -62.1183,91.6338 L -62.6061,91.6818 z
M 36.0303,94.1818 L 36.0303,84.1818 L 102.697,84.1818 L 102.697,94.1818 z
M 102.397,84.4818 L 36.3303,84.4818 L 36.3303,93.8818 L 102.397,93.8818 z
M 43.8759,91.6338 L 43.4069,91.4915 L 42.9747,91.2605 L 42.5959,90.9496 L 42.285,90.5707 L 42.0539,90.1385
L 41.9117,89.6695 L 41.8636,89.1818 L 41.9117,88.6941 L 42.0539,88.2251 L 42.285,87.7929 L 42.5959,87.414
L 42.9747,87.1031 L 43.4069,86.8721 L 43.8759,86.7299 L 44.3636,86.6818 L 44.8514,86.7299 L 45.3203,86.8721
L 45.7526,87.1031 L 46.1314,87.414 L 46.4423,87.7929 L 46.6733,88.2251 L 46.8156,88.6941 L 46.8636,89.1818
L 46.8156,89.6695 L 46.6733,90.1385 L 46.4423,90.5707 L 46.1314,90.9496 L 45.7526,91.2605 L 45.3203,91.4915
L 44.8514,91.6338 L 44.3636,91.6818 z
M 60.5426,91.6338 L 60.0736,91.4915 L 59.6414,91.2605 L 59.2625,90.9496 L 58.9516,90.5707 L 58.7206,90.1385
L 58.5783,89.6695 L 58.5303,89.1818 L 58.5783,88.6941 L 58.7206,88.2251 L 58.9516,87.7929 L 59.2625,87.414
L 59.6414,87.1031 L 60.0736,86.8721 L 60.5426,86.7299 L 61.0303,86.6818 L 61.518,86.7299 L 61.987,86.8721
L 62.4192,87.1031 L 62.7981,87.414 L 63.109,87.7929 L 63.34,88.2251 L 63.4823,88.6941 L 63.5303,89.1818
L 63.4823,89.6695 L 63.34,90.1385 L 63.109,90.5707 L 62.7981,90.9496 L 62.4192,91.2605 L 61.987,91.4915
L 61.518,91.6338 L 61.0303,91.6818 z
M 77.2092,91.6338 L 76.7402,91.4915 L 76.308,91.2605 L 75.9292,90.9496 L 75.6183,90.5707 L 75.3873,90.1385
L 75.245,89.6695 L 75.197,89.1818 L 75.245,88.6941 L 75.3873,88.2251 L 75.6183,87.7929 L 75.9292,87.414
L 76.308,87.1031 L 76.7402,86.8721 L 77.2092,86.7299 L 77.697,86.6818 L 78.1847,86.7299 L 78.6537,86.8721
L 79.0859,87.1031 L 79.4647,87.414 L 79.7756,87.7929 L 80.0067,88.2251 L 80.1489,88.6941 L 80.197,89.1818
L 80.1489,89.6695 L 80.0067,90.1385 L 79.7756,90.5707 L 79.4647,90.9496 L 79.0859,91.2605 L 78.6537,91.4915
L 78.1847,91.6338 L 77.697,91.6818 z
M 93.8759,91.6338 L 93.4069,91.4915 L 92.9747,91.2605 L 92.5959,90.9496 L 92.285,90.5707 L 92.0539,90.1385
L 91.9117,89.6695 L 91.8636,89.1818 L 91.9117,88.6941 L 92.0539,88.2251 L 92.285,87.7929 L 92.5959,87.414
L 92.9747,87.1031 L 93.4069,86.8721 L 93.8759,86.7299 L 94.3636,86.6818 L 94.8513,86.7299 L 95.3203,86.8721
L 95.7525,87.1031 L 96.1314,87.414 L 96.4423,87.7929 L 96.6733,88.2251 L 96.8156,88.6941 L 96.8636,89.1818
L 96.8156,89.6695 L 96.6733,90.1385 L 96.4423,90.5707 L 96.1314,90.9496 L 95.7525,91.2605 L 95.3203,91.4915
L 94.8513,91.6338 L 94.3636,91.6818 z
M -25,94.1818 L -25,84.1818 L 25,84.1818 L 25,94.1818 z
M 24.7,84.4818 L -24.7,84.4818 L -24.7,93.8818 L 24.7,93.8818 z
M -0.487717,91.6338 L -0.956696,91.4915 L -1.38892,91.2605 L -1.76776,90.9496 L -2.07866,90.5707 L -2.30969,90.1385
L -2.45195,89.6695 L -2.5,89.1818 L -2.45195,88.6941 L -2.30969,88.2251 L -2.07866,87.7929 L -1.76776,87.414
L -1.38892,87.1031 L -0.956696,86.8721 L -0.487717,86.7299 L 0,86.6818 L 0.487717,86.7299 L 0.956696,86.8721
L 1.38892,87.1031 L 1.76776,87.414 L 2.07866,87.7929 L 2.30969,88.2251 L 2.45195,88.6941 L 2.5,89.1818
L 2.45195,89.6695 L 2.30969,90.1385 L 2.07866,90.5707 L 1.76776,90.9496 L 1.38892,91.2605 L 0.956696,91.4915
L 0.487717,91.6338 L 0,91.6818 z
M 16.1789,91.6338 L 15.7099,91.4915 L 15.2777,91.2605 L 14.8989,90.9496 L 14.588,90.5707 L 14.357,90.1385
L 14.2147,89.6695 L 14.1667,89.1818 L 14.2147,88.6941 L 14.357,88.2251 L 14.588,87.7929 L 14.8989,87.414
L 15.2777,87.1031 L 15.7099,86.8721 L 16.1789,86.7299 L 16.6667,86.6818 L 17.1544,86.7299 L 17.6234,86.8721
L 18.0556,87.1031 L 18.4344,87.414 L 18.7453,87.7929 L 18.9764,88.2251 L 19.1186,88.6941 L 19.1667,89.1818
L 19.1186,89.6695 L 18.9764,90.1385 L 18.7453,90.5707 L 18.4344,90.9496 L 18.0556,91.2605 L 17.6234,91.4915
L 17.1544,91.6338 L 16.6667,91.6818 z
M -17.1544,91.6338 L -17.6234,91.4915 L -18.0556,91.2605 L -18.4344,90.9496 L -18.7453,90.5707 L -18.9764,90.1385
L -19.1186,89.6695 L -19.1667,89.1818 L -19.1186,88.6941 L -18.9764,88.2251 L -18.7453,87.7929 L -18.4344,87.414
L -18.0556,87.1031 L -17.6234,86.8721 L -17.1544,86.7299 L -16.6667,86.6818 L -16.1789,86.7299 L -15.7099,86.8721
L -15.2777,87.1031 L -14.8989,87.414 L -14.588,87.7929 L -14.357,88.2251 L -14.2147,88.6941 L -14.1667,89.1818
L -14.2147,89.6695 L -14.357,90.1385 L -14.588,90.5707 L -14.8989,90.9496 L -15.2777,91.2605 L -15.7099,91.4915
L -16.1789,91.6338 L -16.6667,91.6818 z
M 99.9936,101.902 L 102.796,100.641 L 102.796,101.412 L 107,101.412 L 107,102.393 L 102.796,102.393
L 102.796,103.163 z
M 96.0056,102.929 L 96.8642,100.825 L 97.1883,100.825 L 98.0334,102.929 L 97.7422,102.929 L 97.5018,102.314
L 96.5432,102.314 L 96.3013,102.929 z
M 97.1465,101.397 L 97.1046,101.288 L 97.0628,101.164 L 97.0225,101.04 L 97.0091,101.082 L 96.9628,101.224
L 96.8986,101.4 L 96.6298,102.092 L 97.4167,102.092 z
M 95.1883,102.929 L 95.1883,101.058 L 94.4656,101.058 L 94.4656,100.825 L 96.1948,100.825 L 96.1948,101.058
L 95.4721,101.058 L 95.4721,102.929 z
M 92.6324,102.929 L 93.4911,100.825 L 93.8151,100.825 L 94.6603,102.929 L 94.3691,102.929 L 94.1287,102.314
L 93.17,102.314 L 92.9281,102.929 z
M 93.7733,101.397 L 93.7315,101.288 L 93.6897,101.164 L 93.6494,101.04 L 93.6359,101.082 L 93.5896,101.224
L 93.5254,101.4 L 93.2566,102.092 L 94.0436,102.092 z
M 90.7205,102.929 L 90.7205,100.825 L 91.4163,100.825 L 91.8899,100.892 L 92.2413,101.094 L 92.4592,101.418
L 92.5318,101.856 L 92.5,102.161 L 92.4048,102.425 L 92.2514,102.641 L 92.045,102.8 L 91.7941,102.897
L 91.5074,102.929 z
M 91.692,102.676 L 91.8815,102.599 L 92.0366,102.475 L 92.151,102.307 L 92.2216,102.098 L 92.2451,101.856
L 92.1915,101.511 L 92.0308,101.259 L 91.7685,101.105 L 91.4104,101.054 L 91.0057,101.054 L 91.0057,102.701
L 91.4746,102.701 z
" stroke="black" fill="lightgray" stroke-width="0.5"/>
</svg>

After

Width:  |  Height:  |  Size: 88 KiB

+122
View File
@@ -0,0 +1,122 @@
// Trennwände der Wortuhr für IKEA SANNAHED (Lasercut, MDF)
// Vorlage: cad/ALT/Trennwaende_fuer_Laser.dxf
//
// - 9 lange Wände (zwischen den 10 Zeilen), von oben nach unten mit 1 bis 9 graviert.
// Jede hat drei Füße an einer eigenen Stelle und passt nur in ihre Schlitze in
// rueckwand.scad. Auch gespiegelt gibt es keine zweite passende Stelle.
// - kurze Trennstücke zwischen den Wörtern einer Zeile, u. a. zwischen EIN und S.
// Sie stecken mit Zapfen in Schlitzen der langen Wände.
// - Kabeldurchlässe: unten in den Trennstücken (Kabel zwischen den Streifen eines
// Wortes der Zeile) und in den langen Wänden am Zeilenwechsel (Zickzack der LEDs).
//
// Export als 2D: F6 rendern, dann Datei -> Export -> als DXF / SVG.
// Für den Laser: erst teil = "schneiden", dann teil = "gravur" exportieren.
include <gemeinsam.scad> // Rahmengröße (rahmen_cm), Wortliste, Fußpositionen
// ---------- Einstellungen ----------
teil = "beide"; // ["beide" (Vorschau), "schneiden", "gravur"]
zapfen_h = tiefe_mm * 0.25; // Höhe der Zapfen/Schlitze der Trennstücke
kabel_b = 8; // Breite der Kabeldurchlässe
kabel_h = 3.5; // Höhe der Kabeldurchlässe
abstand_mm = 3; // Abstand der Teile auf dem Laserbogen
nummer_gr = 8; // Größe der eingravierten Nummer
// ---------- Berechnung ----------
wand_l = platte - 1; // Länge der langen Wände
fuss_b = schlitz_b - toleranz; // Breite der Füße
// Zapfen/Schlitze: unterer und oberer Höhenbereich in der Wand, damit sich Zapfen
// von oben und unten an derselben Stelle nicht treffen
unten_y0 = tiefe_mm * 0.20;
oben_y0 = tiefe_mm * 0.60;
// Trennstellen einer Zeile: x-Mitte zwischen zwei benachbarten Wörtern
function trenn_x(z) =
let (ws = [for (w = woerter) if (w[0] == z) w])
[for (i = [0 : len(ws) - 2])
(zx(ws[i][1] + ws[i][2] - 1) + zx(ws[i + 1][1])) / 2];
// Wand n liegt zwischen Zeile n-1 (darüber) und Zeile n (darunter)
// Trennstücke der Zeile darüber stecken im oberen, die darunter im unteren Schlitz.
module wand(n) {
difference() {
union() {
translate([-wand_l / 2, 0]) square([wand_l, tiefe_mm]);
for (c = fuss_spalten[n - 1])
translate([zx(c) - fuss_b / 2, -mdf_mm]) square([fuss_b, mdf_mm + 0.01]);
}
// Schlitze für die Zapfen der Trennstücke
for (x = trenn_x(n - 1))
translate([x - (mdf_mm + toleranz) / 2, oben_y0]) square([mdf_mm + toleranz, zapfen_h + toleranz]);
for (x = trenn_x(n))
translate([x - (mdf_mm + toleranz) / 2, unten_y0]) square([mdf_mm + toleranz, zapfen_h + toleranz]);
// Kabeldurchlass am Zeilenwechsel (ungerade Wand: rechts, gerade: links)
translate([zx(n % 2 == 1 ? spalten - 1 : 0) - kabel_b / 2, -0.01])
square([kabel_b, kabel_h]);
}
}
module wand_nummer(n) {
translate([-wand_l / 2 + nummer_gr * 1.2, tiefe_mm / 2])
text(str(n), size = nummer_gr, font = "Liberation Sans:style=Bold",
halign = "center", valign = "center");
}
// Trennstück zwischen zwei Wörtern der Zeile z. Lokal: x läuft von oben nach unten
// (plattenhöhe), y ist die Tiefe. Das linke Ende stößt an die Wand über der Zeile
// (unterer Schlitz), das rechte an die Wand darunter (oberer Schlitz).
// Die erste und die letzte Zeile reichen bis zum Plattenrand.
function stueck_laenge(z) =
let (oben = z == 0 ? platte / 2 - 0.5 : zy(z) + raster_a / 2 - mdf_mm / 2,
unten = z == zeilen - 1 ? -platte / 2 + 0.5 : zy(z) - raster_a / 2 + mdf_mm / 2)
oben - unten;
function stueck_mitte(z) = // x-Position der Zeilenmitte im Stück
(z == 0 ? platte / 2 - 0.5 : zy(z) + raster_a / 2 - mdf_mm / 2) - zy(z);
module stueck(z) {
l = stueck_laenge(z);
difference() {
union() {
square([l, tiefe_mm]);
if (z > 0)
translate([-mdf_mm, unten_y0]) square([mdf_mm + 0.01, zapfen_h]);
if (z < zeilen - 1)
translate([l - 0.01, oben_y0]) square([mdf_mm + 0.01, zapfen_h]);
}
translate([stueck_mitte(z) - kabel_b / 2, -0.01]) square([kabel_b, kabel_h]);
}
}
// Alle Stücke: [Zeile] je Trennstelle
stuecke = [for (z = [0 : zeilen - 1]) for (x = trenn_x(z)) z];
// ---------- Anordnung auf dem Laserbogen ----------
wand_hoehe = tiefe_mm + mdf_mm; // mit Füßen
function stueck_breite(z) = stueck_laenge(z) + 2 * mdf_mm;
stueck_pro_reihe = floor(wand_l / (stueck_breite(1) + abstand_mm));
st_y0 = (zeilen - 1) * (wand_hoehe + abstand_mm) + abstand_mm;
module bogen(zeigen) {
for (n = [1 : zeilen - 1])
translate([0, (zeilen - 1 - n) * (wand_hoehe + abstand_mm) + mdf_mm]) {
if (zeigen == "schnitt") wand(n);
else wand_nummer(n);
}
if (zeigen == "schnitt")
for (i = [0 : len(stuecke) - 1])
translate([-wand_l / 2 + mdf_mm + (i % stueck_pro_reihe) * (stueck_breite(1) + abstand_mm),
st_y0 + floor(i / stueck_pro_reihe) * (tiefe_mm + abstand_mm)])
stueck(stuecke[i]);
}
module ausgabe() {
if (teil == "schneiden") bogen("schnitt");
else if (teil == "gravur") bogen("gravur");
else difference() { bogen("schnitt"); bogen("gravur"); }
}
ausgabe();
echo(str("Lange Wände: ", zeilen - 1, " à ", wand_l, " x ", tiefe_mm, " mm, Trennstücke: ", len(stuecke),
", Materialstärke ", mdf_mm, " mm"));
File diff suppressed because it is too large. Load diff
+225
View File
@@ -0,0 +1,225 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="248mm" height="276mm" viewBox="-124 -276 248 276" xmlns="http://www.w3.org/2000/svg" version="1.1">
<title>OpenSCAD Model</title>
<path d="
M -40.3864,-258.99 L -32.3864,-258.99 L -32.3864,-255.5 L -27.7273,-255.5 L -27.7273,-267.5 L -25.2273,-267.5
L -25.2273,-272.5 L -27.7273,-272.5 L -27.7273,-275.5 L -45.0454,-275.5 L -45.0454,-264.5 L -47.5454,-264.5
L -47.5454,-259.5 L -45.0454,-259.5 L -45.0454,-255.5 L -40.3864,-255.5 z
M -15.0682,-258.99 L -7.06818,-258.99 L -7.06818,-255.5 L -2.40909,-255.5 L -2.40909,-267.5 L 0.0908966,-267.5
L 0.0908966,-272.5 L -2.40909,-272.5 L -2.40909,-275.5 L -19.7273,-275.5 L -19.7273,-264.5 L -22.2273,-264.5
L -22.2273,-259.5 L -19.7273,-259.5 L -19.7273,-255.5 L -15.0682,-255.5 z
M 10.25,-258.99 L 18.25,-258.99 L 18.25,-255.5 L 22.9091,-255.5 L 22.9091,-267.5 L 25.4091,-267.5
L 25.4091,-272.5 L 22.9091,-272.5 L 22.9091,-275.5 L 5.5909,-275.5 L 5.5909,-264.5 L 3.0909,-264.5
L 3.0909,-259.5 L 5.5909,-259.5 L 5.5909,-255.5 L 10.25,-255.5 z
M -116.341,-258.99 L -108.341,-258.99 L -108.341,-255.5 L -103.682,-255.5 L -103.682,-267.5 L -101.182,-267.5
L -101.182,-272.5 L -103.682,-272.5 L -103.682,-275.5 L -121,-275.5 L -121,-264.5 L -123.5,-264.5
L -123.5,-259.5 L -121,-259.5 L -121,-255.5 L -116.341,-255.5 z
M -91.0227,-258.99 L -83.0227,-258.99 L -83.0227,-255.5 L -78.3636,-255.5 L -78.3636,-267.5 L -75.8636,-267.5
L -75.8636,-272.5 L -78.3636,-272.5 L -78.3636,-275.5 L -95.6818,-275.5 L -95.6818,-264.5 L -98.1818,-264.5
L -98.1818,-259.5 L -95.6818,-259.5 L -95.6818,-255.5 L -91.0227,-255.5 z
M -65.7045,-258.99 L -57.7045,-258.99 L -57.7045,-255.5 L -53.0455,-255.5 L -53.0455,-267.5 L -50.5455,-267.5
L -50.5455,-272.5 L -53.0455,-272.5 L -53.0455,-275.5 L -70.3636,-275.5 L -70.3636,-264.5 L -72.8636,-264.5
L -72.8636,-259.5 L -70.3636,-259.5 L -70.3636,-255.5 L -65.7045,-255.5 z
M 35.5682,-258.99 L 43.5682,-258.99 L 43.5682,-255.5 L 99.2045,-255.5 L 99.2045,-275.5 L 30.9091,-275.5
L 30.9091,-264.5 L 28.4091,-264.5 L 28.4091,-259.5 L 30.9091,-259.5 L 30.9091,-255.5 L 35.5682,-255.5
z
M -40.3864,-235.99 L -32.3864,-235.99 L -32.3864,-232.5 L -27.7273,-232.5 L -27.7273,-244.5 L -25.2273,-244.5
L -25.2273,-249.5 L -27.7273,-249.5 L -27.7273,-252.5 L -45.0454,-252.5 L -45.0454,-241.5 L -47.5454,-241.5
L -47.5454,-236.5 L -45.0454,-236.5 L -45.0454,-232.5 L -40.3864,-232.5 z
M 10.25,-235.99 L 18.25,-235.99 L 18.25,-232.5 L 22.9091,-232.5 L 22.9091,-244.5 L 25.4091,-244.5
L 25.4091,-249.5 L 22.9091,-249.5 L 22.9091,-252.5 L 5.5909,-252.5 L 5.5909,-241.5 L 3.0909,-241.5
L 3.0909,-236.5 L 5.5909,-236.5 L 5.5909,-232.5 L 10.25,-232.5 z
M -65.3636,-235.99 L -57.7045,-235.99 L -57.7045,-232.5 L -52.7045,-232.5 L -52.7045,-244.5 L -50.2045,-244.5
L -50.2045,-249.5 L -52.7045,-249.5 L -52.7045,-252.5 L -121,-252.5 L -121,-232.5 L -65.3636,-232.5
z
M 86.2045,-235.99 L 94.2045,-235.99 L 94.2045,-232.5 L 98.8636,-232.5 L 98.8636,-244.5 L 101.364,-244.5
L 101.364,-249.5 L 98.8636,-249.5 L 98.8636,-252.5 L 81.5454,-252.5 L 81.5454,-241.5 L 79.0454,-241.5
L 79.0454,-236.5 L 81.5454,-236.5 L 81.5454,-232.5 L 86.2045,-232.5 z
M -15.0682,-235.99 L -7.06818,-235.99 L -7.06818,-232.5 L -2.40909,-232.5 L -2.40909,-244.5 L 0.0908966,-244.5
L 0.0908966,-249.5 L -2.40909,-249.5 L -2.40909,-252.5 L -19.7273,-252.5 L -19.7273,-241.5 L -22.2273,-241.5
L -22.2273,-236.5 L -19.7273,-236.5 L -19.7273,-232.5 L -15.0682,-232.5 z
M 35.5682,-235.99 L 43.5682,-235.99 L 43.5682,-232.5 L 48.2273,-232.5 L 48.2273,-244.5 L 50.7273,-244.5
L 50.7273,-249.5 L 48.2273,-249.5 L 48.2273,-252.5 L 30.9091,-252.5 L 30.9091,-241.5 L 28.4091,-241.5
L 28.4091,-236.5 L 30.9091,-236.5 L 30.9091,-232.5 L 35.5682,-232.5 z
M 60.8864,-235.99 L 68.8864,-235.99 L 68.8864,-232.5 L 73.5454,-232.5 L 73.5454,-244.5 L 76.0454,-244.5
L 76.0454,-249.5 L 73.5454,-249.5 L 73.5454,-252.5 L 56.2273,-252.5 L 56.2273,-241.5 L 53.7273,-241.5
L 53.7273,-236.5 L 56.2273,-236.5 L 56.2273,-232.5 L 60.8864,-232.5 z
M -54.5545,-206.5 L -44.5364,-206.5 L -44.5364,-204 L -34.7364,-204 L -34.7364,-206.5 L -4.89999,-206.5
L -4.89999,-204 L 4.89999,-204 L 4.89999,-206.5 L 95.0909,-206.5 L 95.0909,-209.99 L 103.091,-209.99
L 103.091,-206.5 L 123.5,-206.5 L 123.5,-226.5 L -123.5,-226.5 L -123.5,-206.5 L -64.3545,-206.5
L -64.3545,-204 L -54.5545,-204 z
M -60.8045,-218.5 L -60.8045,-223.7 L -58.1045,-223.7 L -58.1045,-218.5 z
M 18.4682,-218.5 L 18.4682,-223.7 L 21.1682,-223.7 L 21.1682,-218.5 z
M -116.217,-212.768 L -116.217,-213.901 L -114.324,-213.901 L -114.324,-219.115 L -116.158,-217.97 L -116.158,-219.169
L -114.243,-220.411 L -112.8,-220.411 L -112.8,-213.901 L -111.047,-213.901 L -111.047,-212.768 z
M 28.3773,-210.5 L 28.3773,-215.7 L 31.0773,-215.7 L 31.0773,-210.5 z
M -14.9182,-181 L 14.9182,-181 L 14.9182,-178.5 L 24.7182,-178.5 L 24.7182,-181 L 54.5545,-181
L 54.5545,-178.5 L 64.3545,-178.5 L 64.3545,-181 L 123.5,-181 L 123.5,-201 L -123.5,-201
L -123.5,-181 L -103.091,-181 L -103.091,-184.49 L -95.0909,-184.49 L -95.0909,-181 L -24.7182,-181
L -24.7182,-178.5 L -14.9182,-178.5 z
M 28.3773,-193 L 28.3773,-198.2 L 31.0773,-198.2 L 31.0773,-193 z
M -116.532,-187.21 L -116.532,-188.268 L -116.367,-188.594 L -116.171,-188.916 L -115.943,-189.234 L -115.683,-189.548
L -115.39,-189.864 L -115.061,-190.186 L -114.697,-190.515 L -114.297,-190.85 L -113.926,-191.161 L -113.614,-191.444
L -113.363,-191.699 L -113.171,-191.924 L -113.03,-192.135 L -112.929,-192.343 L -112.869,-192.55 L -112.849,-192.754
L -112.911,-193.191 L -113.099,-193.503 L -113.413,-193.69 L -113.852,-193.753 L -114.082,-193.736 L -114.283,-193.687
L -114.455,-193.605 L -114.598,-193.489 L -114.716,-193.341 L -114.81,-193.161 L -114.882,-192.947 L -114.932,-192.7
L -116.467,-192.787 L -116.369,-193.287 L -116.203,-193.724 L -115.971,-194.098 L -115.672,-194.409 L -115.31,-194.653
L -114.888,-194.828 L -114.405,-194.933 L -113.863,-194.968 L -113.281,-194.932 L -112.77,-194.827 L -112.331,-194.65
L -111.964,-194.404 L -111.675,-194.093 L -111.468,-193.725 L -111.344,-193.301 L -111.302,-192.819 L -111.316,-192.557
L -111.355,-192.308 L -111.421,-192.072 L -111.514,-191.848 L -111.627,-191.636 L -111.755,-191.431 L -111.898,-191.236
L -112.057,-191.048 L -112.227,-190.868 L -112.406,-190.694 L -112.594,-190.525 L -112.792,-190.362 L -112.992,-190.203
L -113.19,-190.046 L -113.384,-189.891 L -113.576,-189.738 L -113.761,-189.586 L -113.938,-189.433 L -114.107,-189.279
L -114.267,-189.125 L -114.413,-188.968 L -114.539,-188.805 L -114.645,-188.637 L -114.731,-188.463 L -111.183,-188.463
L -111.183,-187.21 z
M 38.2864,-185 L 38.2864,-190.2 L 40.9864,-190.2 L 40.9864,-185 z
M -34.7364,-155.5 L -24.7182,-155.5 L -24.7182,-153 L -14.9182,-153 L -14.9182,-155.5 L -4.89999,-155.5
L -4.89999,-153 L 4.89999,-153 L 4.89999,-155.5 L 95.0909,-155.5 L 95.0909,-158.99 L 103.091,-158.99
L 103.091,-155.5 L 123.5,-155.5 L 123.5,-175.5 L -123.5,-175.5 L -123.5,-155.5 L -44.5364,-155.5
L -44.5364,-153 L -34.7364,-153 z
M 38.2864,-167.5 L 38.2864,-172.7 L 40.9864,-172.7 L 40.9864,-167.5 z
M -114.436,-161.683 L -114.957,-161.789 L -115.416,-161.967 L -115.811,-162.215 L -116.136,-162.529 L -116.387,-162.907
L -116.562,-163.347 L -116.662,-163.85 L -115.111,-163.986 L -114.977,-163.504 L -114.724,-163.16 L -114.351,-162.953
L -113.858,-162.885 L -113.599,-162.902 L -113.371,-162.952 L -113.173,-163.037 L -113.006,-163.156 L -112.873,-163.309
L -112.778,-163.499 L -112.721,-163.725 L -112.702,-163.986 L -112.725,-164.226 L -112.794,-164.436 L -112.91,-164.617
L -113.071,-164.767 L -113.278,-164.886 L -113.529,-164.971 L -113.826,-165.021 L -114.167,-165.038 L -114.698,-165.038
L -114.698,-166.27 L -114.199,-166.27 L -113.892,-166.287 L -113.624,-166.337 L -113.398,-166.421 L -113.212,-166.538
L -113.067,-166.687 L -112.964,-166.865 L -112.902,-167.071 L -112.881,-167.306 L -112.898,-167.529 L -112.947,-167.727
L -113.029,-167.9 L -113.144,-168.046 L -113.291,-168.164 L -113.468,-168.248 L -113.675,-168.298 L -113.912,-168.315
L -114.136,-168.299 L -114.338,-168.25 L -114.518,-168.169 L -114.674,-168.055 L -114.804,-167.911 L -114.903,-167.74
L -114.971,-167.542 L -115.008,-167.317 L -116.532,-167.425 L -116.436,-167.892 L -116.268,-168.306 L -116.027,-168.665
L -115.713,-168.971 L -115.336,-169.216 L -114.906,-169.391 L -114.422,-169.495 L -113.885,-169.53 L -113.318,-169.497
L -112.817,-169.395 L -112.381,-169.227 L -112.01,-168.99 L -111.715,-168.695 L -111.504,-168.347 L -111.377,-167.947
L -111.335,-167.496 L -111.361,-167.154 L -111.44,-166.844 L -111.572,-166.565 L -111.755,-166.319 L -111.989,-166.107
L -112.269,-165.935 L -112.595,-165.801 L -112.968,-165.706 L -112.968,-165.684 L -112.554,-165.609 L -112.19,-165.488
L -111.877,-165.32 L -111.614,-165.106 L -111.407,-164.852 L -111.258,-164.566 L -111.169,-164.246 L -111.14,-163.894
L -111.184,-163.387 L -111.316,-162.942 L -111.536,-162.557 L -111.845,-162.234 L -112.235,-161.977 L -112.699,-161.794
L -113.238,-161.684 L -113.852,-161.648 z
M 28.3773,-159.5 L 28.3773,-164.7 L 31.0773,-164.7 L 31.0773,-159.5 z
M -31.0773,-159.5 L -31.0773,-164.7 L -28.3773,-164.7 L -28.3773,-159.5 z
M -14.9182,-130 L -4.89999,-130 L -4.89999,-127.5 L 4.89999,-127.5 L 4.89999,-130 L 54.5545,-130
L 54.5545,-127.5 L 64.3545,-127.5 L 64.3545,-130 L 123.5,-130 L 123.5,-150 L -123.5,-150
L -123.5,-130 L -103.091,-130 L -103.091,-133.49 L -95.0909,-133.49 L -95.0909,-130 L -24.7182,-130
L -24.7182,-127.5 L -14.9182,-127.5 z
M 28.3773,-142 L 28.3773,-147.2 L 31.0773,-147.2 L 31.0773,-142 z
M -31.0773,-142 L -31.0773,-147.2 L -28.3773,-147.2 L -28.3773,-142 z
M -113.272,-136.268 L -113.272,-137.824 L -116.749,-137.824 L -116.749,-138.969 L -113.521,-143.911 L -111.818,-143.911
L -111.818,-138.958 L -110.798,-138.958 L -110.798,-137.824 L -111.818,-137.824 L -111.818,-136.268 z
M -113.272,-141.459 L -113.271,-141.609 L -113.267,-141.764 L -113.261,-141.926 L -113.253,-142.094 L -113.244,-142.25
L -113.236,-142.375 L -113.229,-142.469 L -113.223,-142.533 L -113.308,-142.365 L -113.421,-142.162 L -113.563,-141.925
L -113.733,-141.655 L -115.507,-138.958 L -113.272,-138.958 z
M 28.3773,-134 L 28.3773,-139.2 L 31.0773,-139.2 L 31.0773,-134 z
M -31.0773,-134 L -31.0773,-139.2 L -28.3773,-139.2 L -28.3773,-134 z
M -54.5545,-104.5 L -24.7182,-104.5 L -24.7182,-102 L -14.9182,-102 L -14.9182,-104.5 L 34.7364,-104.5
L 34.7364,-102 L 44.5364,-102 L 44.5364,-104.5 L 95.0909,-104.5 L 95.0909,-107.99 L 103.091,-107.99
L 103.091,-104.5 L 123.5,-104.5 L 123.5,-124.5 L -123.5,-124.5 L -123.5,-104.5 L -64.3545,-104.5
L -64.3545,-102 L -54.5545,-102 z
M -31.0773,-116.5 L -31.0773,-121.7 L -28.3773,-121.7 L -28.3773,-116.5 z
M 28.3773,-116.5 L 28.3773,-121.7 L 31.0773,-121.7 L 31.0773,-116.5 z
M -114.426,-110.746 L -114.915,-110.844 L -115.347,-111.005 L -115.721,-111.232 L -116.034,-111.52 L -116.281,-111.866
L -116.461,-112.27 L -116.576,-112.732 L -115.051,-112.857 L -114.98,-112.629 L -114.886,-112.435 L -114.768,-112.274
L -114.628,-112.146 L -114.466,-112.049 L -114.285,-111.979 L -114.084,-111.938 L -113.863,-111.924 L -113.593,-111.947
L -113.351,-112.015 L -113.138,-112.128 L -112.954,-112.287 L -112.806,-112.489 L -112.7,-112.731 L -112.636,-113.013
L -112.615,-113.334 L -112.635,-113.62 L -112.695,-113.876 L -112.795,-114.102 L -112.935,-114.297 L -113.111,-114.455
L -113.319,-114.568 L -113.559,-114.635 L -113.831,-114.658 L -114.133,-114.627 L -114.407,-114.535 L -114.651,-114.38
L -114.867,-114.164 L -116.353,-114.164 L -116.087,-118.466 L -111.492,-118.466 L -111.492,-117.332 L -114.704,-117.332
L -114.829,-115.401 L -114.535,-115.615 L -114.206,-115.767 L -113.843,-115.859 L -113.445,-115.889 L -112.927,-115.847
L -112.464,-115.72 L -112.055,-115.508 L -111.701,-115.211 L -111.415,-114.842 L -111.211,-114.411 L -111.088,-113.92
L -111.047,-113.367 L -111.095,-112.79 L -111.237,-112.276 L -111.473,-111.823 L -111.804,-111.433 L -112.218,-111.118
L -112.701,-110.894 L -113.255,-110.759 L -113.879,-110.714 z
M 87.8318,-108.5 L 87.8318,-113.7 L 90.5318,-113.7 L 90.5318,-108.5 z
M -31.0773,-108.5 L -31.0773,-113.7 L -28.3773,-113.7 L -28.3773,-108.5 z
M 28.3773,-108.5 L 28.3773,-113.7 L 31.0773,-113.7 L 31.0773,-108.5 z
M -34.7364,-79 L 14.9182,-79 L 14.9182,-76.5 L 24.7182,-76.5 L 24.7182,-79 L 34.7364,-79
L 34.7364,-76.5 L 44.5364,-76.5 L 44.5364,-79 L 123.5,-79 L 123.5,-99 L -123.5,-99
L -123.5,-79 L -103.091,-79 L -103.091,-82.49 L -95.0909,-82.49 L -95.0909,-79 L -44.5364,-79
L -44.5364,-76.5 L -34.7364,-76.5 z
M -31.0773,-91 L -31.0773,-96.2 L -28.3773,-96.2 L -28.3773,-91 z
M 28.3773,-91 L 28.3773,-96.2 L 31.0773,-96.2 L 31.0773,-91 z
M 87.8318,-91 L 87.8318,-96.2 L 90.5318,-96.2 L 90.5318,-91 z
M -114.347,-85.2157 L -114.905,-85.3932 L -115.385,-85.689 L -115.786,-86.1032 L -116.103,-86.6336 L -116.329,-87.2784
L -116.465,-88.0373 L -116.51,-88.9106 L -116.464,-89.87 L -116.327,-90.7029 L -116.097,-91.4093 L -115.775,-91.9892
L -115.368,-92.4414 L -114.882,-92.7644 L -114.317,-92.9582 L -113.673,-93.0228 L -113.213,-92.996 L -112.804,-92.9156
L -112.447,-92.7817 L -112.141,-92.5942 L -111.88,-92.3504 L -111.661,-92.0476 L -111.483,-91.6859 L -111.346,-91.2651
L -112.783,-91.0643 L -112.918,-91.3943 L -113.117,-91.6299 L -113.38,-91.7713 L -113.706,-91.8184 L -113.996,-91.7801
L -114.253,-91.6652 L -114.477,-91.4736 L -114.669,-91.2054 L -114.822,-90.8592 L -114.931,-90.4337 L -114.997,-89.9288
L -115.019,-89.3446 L -114.885,-89.5362 L -114.727,-89.704 L -114.546,-89.8481 L -114.34,-89.9684 L -114.116,-90.0634
L -113.878,-90.1312 L -113.625,-90.1719 L -113.359,-90.1855 L -112.873,-90.1448 L -112.44,-90.0227 L -112.062,-89.8193
L -111.736,-89.5344 L -111.475,-89.1798 L -111.289,-88.7668 L -111.177,-88.2956 L -111.14,-87.766 L -111.182,-87.1885
L -111.311,-86.6769 L -111.524,-86.231 L -111.823,-85.8509 L -112.198,-85.5471 L -112.637,-85.3301 L -113.141,-85.1999
L -113.711,-85.1565 z
M -113.517,-86.3675 L -113.302,-86.4361 L -113.115,-86.5506 L -112.957,-86.7108 L -112.831,-86.9113 L -112.741,-87.1468
L -112.688,-87.4172 L -112.67,-87.7225 L -112.688,-88.0289 L -112.745,-88.2969 L -112.839,-88.5266 L -112.971,-88.718
L -113.135,-88.8688 L -113.328,-88.9764 L -113.549,-89.041 L -113.798,-89.0625 L -114.038,-89.0423 L -114.252,-88.9818
L -114.442,-88.881 L -114.606,-88.7397 L -114.739,-88.5653 L -114.834,-88.3647 L -114.891,-88.138 L -114.91,-87.8853
L -114.89,-87.5661 L -114.831,-87.2757 L -114.731,-87.0141 L -114.593,-86.7813 L -114.422,-86.5903 L -114.226,-86.4538
L -114.005,-86.3719 L -113.76,-86.3446 z
M 28.3773,-83 L 28.3773,-88.2 L 31.0773,-88.2 L 31.0773,-83 z
M -31.0773,-83 L -31.0773,-88.2 L -28.3773,-88.2 L -28.3773,-83 z
M 24.7182,-53.5 L 34.7364,-53.5 L 34.7364,-51 L 44.5364,-51 L 44.5364,-53.5 L 54.5545,-53.5
L 54.5545,-51 L 64.3545,-51 L 64.3545,-53.5 L 95.0909,-53.5 L 95.0909,-56.99 L 103.091,-56.99
L 103.091,-53.5 L 123.5,-53.5 L 123.5,-73.5 L -123.5,-73.5 L -123.5,-53.5 L 14.9182,-53.5
L 14.9182,-51 L 24.7182,-51 z
M 28.3773,-65.5 L 28.3773,-70.7 L 31.0773,-70.7 L 31.0773,-65.5 z
M -31.0773,-65.5 L -31.0773,-70.7 L -28.3773,-70.7 L -28.3773,-65.5 z
M -115.328,-59.7675 L -115.312,-60.241 L -115.265,-60.7067 L -115.187,-61.1646 L -115.078,-61.6147 L -114.94,-62.0629
L -114.773,-62.5152 L -114.579,-62.9716 L -114.357,-63.4321 L -114.073,-63.9493 L -113.692,-64.576 L -113.215,-65.3123
L -112.642,-66.1581 L -116.44,-66.1581 L -116.44,-67.4113 L -111.227,-67.4113 L -111.227,-66.2016 L -111.481,-65.7977
L -111.728,-65.4 L -111.967,-65.0084 L -112.2,-64.6228 L -112.422,-64.2399 L -112.63,-63.8559 L -112.822,-63.4709
L -113.001,-63.0849 L -113.162,-62.6956 L -113.306,-62.301 L -113.432,-61.9009 L -113.54,-61.4953 L -113.627,-61.0812
L -113.689,-60.6552 L -113.726,-60.2173 L -113.738,-59.7675 z
M -11.2591,-57.5 L -11.2591,-62.7 L -8.55908,-62.7 L -8.55908,-57.5 z
M -54.5545,-28 L -24.7182,-28 L -24.7182,-25.5 L -14.9182,-25.5 L -14.9182,-28 L -4.89999,-28
L -4.89999,-25.5 L 4.89999,-25.5 L 4.89999,-28 L 123.5,-28 L 123.5,-48 L -123.5,-48
L -123.5,-28 L -103.091,-28 L -103.091,-31.49 L -95.0909,-31.49 L -95.0909,-28 L -64.3545,-28
L -64.3545,-25.5 L -54.5545,-25.5 z
M -11.2591,-40 L -11.2591,-45.2 L -8.55908,-45.2 L -8.55908,-40 z
M -114.437,-34.1935 L -114.98,-34.3044 L -115.45,-34.4891 L -115.846,-34.7478 L -116.16,-35.0733 L -116.385,-35.4585
L -116.52,-35.9034 L -116.565,-36.4079 L -116.538,-36.7597 L -116.459,-37.0826 L -116.327,-37.3768 L -116.142,-37.642
L -115.912,-37.8691 L -115.646,-38.0482 L -115.345,-38.1796 L -115.008,-38.2632 L -115.008,-38.2849 L -115.302,-38.3741
L -115.566,-38.506 L -115.801,-38.6806 L -116.006,-38.8979 L -116.172,-39.1458 L -116.291,-39.4119 L -116.362,-39.6964
L -116.386,-39.9992 L -116.344,-40.4437 L -116.219,-40.8387 L -116.012,-41.1842 L -115.721,-41.4802 L -115.354,-41.7176
L -114.919,-41.8871 L -114.414,-41.9888 L -113.841,-42.0228 L -113.256,-41.9897 L -112.743,-41.8905 L -112.303,-41.7252
L -111.934,-41.4938 L -111.644,-41.2013 L -111.436,-40.853 L -111.311,-40.4486 L -111.27,-39.9884 L -111.293,-39.6859
L -111.364,-39.4025 L -111.482,-39.138 L -111.647,-38.8925 L -111.852,-38.6782 L -112.088,-38.5073 L -112.357,-38.3799
L -112.659,-38.2958 L -112.659,-38.274 L -112.31,-38.1915 L -112,-38.0632 L -111.731,-37.8891 L -111.501,-37.6692
L -111.317,-37.409 L -111.185,-37.1138 L -111.106,-36.7838 L -111.08,-36.4188 L -111.124,-35.9117 L -111.258,-35.4646
L -111.48,-35.0776 L -111.791,-34.7505 L -112.184,-34.4906 L -112.653,-34.305 L -113.198,-34.1936 L -113.82,-34.1565
z
M -113.597,-38.8271 L -113.394,-38.8749 L -113.224,-38.9546 L -113.085,-39.0661 L -112.977,-39.2143 L -112.899,-39.4038
L -112.853,-39.6347 L -112.838,-39.907 L -112.853,-40.1601 L -112.9,-40.3769 L -112.978,-40.5574 L -113.087,-40.7017
L -113.228,-40.8121 L -113.401,-40.8909 L -113.605,-40.9383 L -113.841,-40.954 L -114.273,-40.8886 L -114.582,-40.6923
L -114.767,-40.3651 L -114.829,-39.907 L -114.766,-39.4276 L -114.579,-39.0851 L -114.267,-38.8796 L -113.831,-38.8112
z
M -113.533,-35.25 L -113.295,-35.308 L -113.097,-35.4046 L -112.938,-35.5399 L -112.816,-35.7186 L -112.729,-35.9454
L -112.676,-36.2204 L -112.659,-36.5435 L -112.733,-37.068 L -112.957,-37.4427 L -113.33,-37.6675 L -113.852,-37.7424
L -114.113,-37.7228 L -114.341,-37.6638 L -114.537,-37.5655 L -114.701,-37.4278 L -114.831,-37.2532 L -114.923,-37.044
L -114.978,-36.8002 L -114.997,-36.5218 L -114.979,-36.2082 L -114.924,-35.94 L -114.832,-35.7172 L -114.704,-35.5399
L -114.538,-35.4046 L -114.334,-35.308 L -114.091,-35.25 L -113.809,-35.2307 z
M 8.55908,-32 L 8.55908,-37.2 L 11.2591,-37.2 L 11.2591,-32 z
M -54.5545,-2.5 L -44.5364,-2.5 L -44.5364,-0 L -34.7364,-0 L -34.7364,-2.5 L 34.7364,-2.5
L 34.7364,-0 L 44.5364,-0 L 44.5364,-2.5 L 95.0909,-2.5 L 95.0909,-5.98999 L 103.091,-5.98999
L 103.091,-2.5 L 123.5,-2.5 L 123.5,-22.5 L -123.5,-22.5 L -123.5,-2.5 L -64.3545,-2.5
L -64.3545,-0 L -54.5545,-0 z
M 8.55908,-14.5 L 8.55908,-19.7 L 11.2591,-19.7 L 11.2591,-14.5 z
M -114.481,-8.68349 L -114.904,-8.76434 L -115.272,-8.89912 L -115.585,-9.08781 L -115.851,-9.33481 L -116.074,-9.64455
L -116.256,-10.017 L -116.396,-10.4522 L -114.964,-10.6529 L -114.824,-10.304 L -114.614,-10.0548 L -114.336,-9.90526
L -113.988,-9.85541 L -113.686,-9.89372 L -113.422,-10.0087 L -113.194,-10.2002 L -113.003,-10.4684 L -112.852,-10.8119
L -112.742,-11.2293 L -112.674,-11.7206 L -112.648,-12.2858 L -112.767,-12.0934 L -112.92,-11.923 L -113.105,-11.7747
L -113.323,-11.6484 L -113.562,-11.5475 L -113.811,-11.4754 L -114.068,-11.4322 L -114.335,-11.4178 L -114.814,-11.4607
L -115.24,-11.5894 L -115.615,-11.8038 L -115.938,-12.104 L -116.198,-12.4776 L -116.384,-12.9117 L -116.495,-13.4066
L -116.532,-13.9621 L -116.489,-14.5314 L -116.358,-15.0349 L -116.14,-15.4727 L -115.835,-15.8446 L -115.45,-16.1413
L -114.993,-16.3532 L -114.464,-16.4804 L -113.863,-16.5228 L -113.221,-16.4632 L -112.666,-16.2847 L -112.199,-15.9872
L -111.821,-15.5707 L -111.527,-15.0348 L -111.318,-14.3792 L -111.192,-13.6039 L -111.151,-12.709 L -111.197,-11.7559
L -111.336,-10.931 L -111.569,-10.2342 L -111.894,-9.66557 L -112.304,-9.22411 L -112.793,-8.90878 L -113.36,-8.71959
L -114.004,-8.65652 z
M -113.662,-12.5725 L -113.449,-12.635 L -113.256,-12.7393 L -113.085,-12.8852 L -112.943,-13.0661 L -112.842,-13.2752
L -112.782,-13.5124 L -112.762,-13.7777 L -112.781,-14.1149 L -112.84,-14.4158 L -112.937,-14.6804 L -113.074,-14.9088
L -113.242,-15.0927 L -113.436,-15.2241 L -113.656,-15.3029 L -113.901,-15.3292 L -114.14,-15.3063 L -114.352,-15.2377
L -114.537,-15.1232 L -114.696,-14.963 L -114.823,-14.7625 L -114.913,-14.527 L -114.968,-14.2566 L -114.986,-13.9513
L -114.968,-13.6497 L -114.914,-13.3797 L -114.824,-13.1411 L -114.698,-12.9341 L -114.54,-12.7668 L -114.354,-12.6472
L -114.139,-12.5755 L -113.896,-12.5516 z
M -40.9864,-6.5 L -40.9864,-11.7 L -38.2864,-11.7 L -38.2864,-6.5 z
M 28.3773,-6.5 L 28.3773,-11.7 L 31.0773,-11.7 L 31.0773,-6.5 z
" stroke="black" fill="lightgray" stroke-width="0.5"/>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

+58
View File
@@ -0,0 +1,58 @@
// Wortfolie der Wortuhr (11 Spalten x 10 Zeilen) für IKEA SANNAHED
// Die Buchstaben sind Aussparungen in der (schwarzen) Folie.
// Export als 2D: F6 rendern, dann Datei -> Export -> als DXF / SVG.
include <gemeinsam.scad> // Rahmengröße (rahmen_cm), Rand, Minutenpunkte
// ---------- Einstellungen ----------
buchstaben_anteil = 0.62; // Buchstabenhöhe relativ zum Zellenabstand
schrift = "Liberation Sans:style=Bold";
punkt_d_anteil = 0.18; // Punktdurchmesser relativ zum Zellenabstand
dicke_mm = 0; // 0 = flache 2D-Ausgabe (für Laser/DXF), >0 = 3D-Vorschau
// ---------- Buchstabenraster ----------
// Ein String pro Zeile, jeweils 11 Zeichen (Füllbuchstaben beliebig).
raster = [
"ESKISTAFÜNF",
"ZWANZIGZEHN",
"VIERTELTVOR",
"HALBNTPNACH",
"NEUNAPIFÜNF",
"ZWEIRTCEINS",
"DREIESPVIER",
"ACHTRLSECHS",
"SIEBENZWÖLF",
"UHRMELFZEHN"
];
// ---------- Berechnung ----------
folie = platte; // Kantenlänge der Folie in mm
buch_h = raster_a * buchstaben_anteil; // Buchstabengröße
module buchstaben() {
for (z = [0 : zeilen - 1], s = [0 : spalten - 1])
translate([zx(s), zy(z)])
text(raster[z][s], size = buch_h, font = schrift,
halign = "center", valign = "center");
}
module punkte() {
if (minutenpunkte)
for (sx = [-1, 1], sy = [-1, 1])
translate([sx * (folie / 2 - rand_mm / 2), sy * (folie / 2 - rand_mm / 2)])
circle(d = raster_a * punkt_d_anteil, $fn = 32);
}
module folie_2d() {
difference() {
square(folie, center = true);
buchstaben();
punkte();
}
}
if (dicke_mm > 0) linear_extrude(dicke_mm) folie_2d();
else folie_2d();
echo(str("Folie ", folie, " x ", folie, " mm, Zellenabstand ", raster_a,
" mm, Buchstabenhöhe ", buch_h, " mm"));
File diff suppressed because it is too large. Load diff
+612
View File
@@ -0,0 +1,612 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="248mm" height="248mm" viewBox="-124 -124 248 248" xmlns="http://www.w3.org/2000/svg" version="1.1">
<title>OpenSCAD Model</title>
<path d="
M 124,-124 L -124,-124 L -124,124 L 124,124 z
M 60.6609,-94.8958 L 60.6609,-96.7205 L 62.3024,-96.7205 L 62.3024,-94.8958 z
M 56.878,-94.8958 L 56.878,-96.7205 L 58.4945,-96.7205 L 58.4945,-94.8958 z
M -80.2161,-83.3286 L -81.1624,-83.4786 L -81.9867,-83.7285 L -82.6892,-84.0785 L -83.2735,-84.53 L -83.7433,-85.0846
L -84.0984,-85.7423 L -84.3391,-86.5031 L -81.9643,-86.8947 L -81.8149,-86.4601 L -81.6081,-86.0896 L -81.3441,-85.7831
L -81.0228,-85.5407 L -80.639,-85.3566 L -80.1875,-85.2251 L -79.6682,-85.1462 L -79.0813,-85.1199 L -77.9549,-85.2179
L -77.1503,-85.5116 L -76.6676,-86.0011 L -76.5067,-86.6865 L -76.5252,-86.9255 L -76.5806,-87.1427 L -76.6731,-87.3379
L -76.8025,-87.5113 L -76.9655,-87.667 L -77.1587,-87.8092 L -77.3821,-87.9378 L -77.6357,-88.0529 L -77.9662,-88.167
L -78.42,-88.2925 L -78.9973,-88.4295 L -79.6979,-88.578 L -80.3062,-88.7245 L -80.8145,-88.856 L -81.2228,-88.9724
L -81.5312,-89.0736 L -81.7832,-89.1715 L -82.0228,-89.2778 L -82.2498,-89.3923 L -82.4644,-89.5152 L -82.6648,-89.6488
L -82.8497,-89.7955 L -83.019,-89.9551 L -83.1726,-90.1277 L -83.3103,-90.3147 L -83.4319,-90.5173 L -83.5373,-90.7355
L -83.6266,-90.9693 L -83.6977,-91.2198 L -83.7485,-91.488 L -83.7789,-91.7739 L -83.7891,-92.0775 L -83.7143,-92.8266
L -83.4902,-93.4825 L -83.1165,-94.0452 L -82.5934,-94.5147 L -81.9276,-94.8847 L -81.1259,-95.149 L -80.1883,-95.3075
L -79.1148,-95.3604 L -78.0912,-95.3177 L -77.2035,-95.1896 L -76.4518,-94.976 L -75.836,-94.6771 L -75.3368,-94.2798
L -74.935,-93.771 L -74.6306,-93.1508 L -74.4236,-92.4191 L -76.8067,-92.0941 L -76.922,-92.4498 L -77.0847,-92.7586
L -77.2949,-93.0205 L -77.5524,-93.2355 L -77.8641,-93.4033 L -78.2367,-93.5231 L -78.6702,-93.595 L -79.1646,-93.6189
L -80.1416,-93.5314 L -80.8394,-93.269 L -81.2581,-92.8316 L -81.3977,-92.2191 L -81.3829,-92.0004 L -81.3384,-91.8025
L -81.2642,-91.6254 L -81.1603,-91.4691 L -81.0273,-91.3288 L -80.8656,-91.1994 L -80.6752,-91.0809 L -80.4563,-90.9733
L -80.1631,-90.8648 L -79.7501,-90.7432 L -79.2173,-90.6086 L -78.5648,-90.461 L -77.7792,-90.2852 L -77.1139,-90.1162
L -76.569,-89.954 L -76.1443,-89.7986 L -75.7988,-89.6403 L -75.4912,-89.4695 L -75.2218,-89.2861 L -74.9903,-89.0903
L -74.7903,-88.8784 L -74.6153,-88.6466 L -74.4653,-88.3951 L -74.3403,-88.1237 L -74.2419,-87.8318 L -74.1716,-87.5186
L -74.1294,-87.184 L -74.1153,-86.8281 L -74.1953,-86.0165 L -74.4351,-85.3064 L -74.8348,-84.6979 L -75.3944,-84.1909
L -76.1086,-83.7918 L -76.9723,-83.5067 L -77.9855,-83.3356 L -79.1481,-83.2786 z
M -20.7616,-83.3286 L -21.7078,-83.4786 L -22.5322,-83.7285 L -23.2347,-84.0785 L -23.819,-84.53 L -24.2887,-85.0846
L -24.6439,-85.7423 L -24.8845,-86.5031 L -22.5098,-86.8947 L -22.3603,-86.4601 L -22.1536,-86.0896 L -21.8896,-85.7831
L -21.5683,-85.5407 L -21.1844,-85.3566 L -20.7329,-85.2251 L -20.2137,-85.1462 L -19.6268,-85.1199 L -18.5004,-85.2179
L -17.6958,-85.5116 L -17.213,-86.0011 L -17.0521,-86.6865 L -17.0706,-86.9255 L -17.1261,-87.1427 L -17.2186,-87.3379
L -17.348,-87.5113 L -17.511,-87.667 L -17.7042,-87.8092 L -17.9276,-87.9378 L -18.1812,-88.0529 L -18.5116,-88.167
L -18.9655,-88.2925 L -19.5427,-88.4295 L -20.2434,-88.578 L -20.8517,-88.7245 L -21.36,-88.856 L -21.7683,-88.9724
L -22.0766,-89.0736 L -22.3287,-89.1715 L -22.5682,-89.2778 L -22.7953,-89.3923 L -23.0098,-89.5152 L -23.2103,-89.6488
L -23.3952,-89.7955 L -23.5644,-89.9551 L -23.7181,-90.1277 L -23.8558,-90.3147 L -23.9774,-90.5173 L -24.0828,-90.7355
L -24.1721,-90.9693 L -24.2431,-91.2198 L -24.2939,-91.488 L -24.3244,-91.7739 L -24.3345,-92.0775 L -24.2598,-92.8266
L -24.0356,-93.4825 L -23.662,-94.0452 L -23.1389,-94.5147 L -22.4731,-94.8847 L -21.6714,-95.149 L -20.7337,-95.3075
L -19.6602,-95.3604 L -18.6366,-95.3177 L -17.749,-95.1896 L -16.9973,-94.976 L -16.3815,-94.6771 L -15.8823,-94.2798
L -15.4805,-93.771 L -15.1761,-93.1508 L -14.9691,-92.4191 L -17.3522,-92.0941 L -17.4675,-92.4498 L -17.6302,-92.7586
L -17.8403,-93.0205 L -18.0979,-93.2355 L -18.4095,-93.4033 L -18.7821,-93.5231 L -19.2157,-93.595 L -19.7101,-93.6189
L -20.6871,-93.5314 L -21.3849,-93.269 L -21.8036,-92.8316 L -21.9432,-92.2191 L -21.9283,-92.0004 L -21.8838,-91.8025
L -21.8096,-91.6254 L -21.7058,-91.4691 L -21.5727,-91.3288 L -21.411,-91.1994 L -21.2207,-91.0809 L -21.0017,-90.9733
L -20.7085,-90.8648 L -20.2955,-90.7432 L -19.7628,-90.6086 L -19.1102,-90.461 L -18.3247,-90.2852 L -17.6594,-90.1162
L -17.1144,-89.954 L -16.6898,-89.7986 L -16.3442,-89.6403 L -16.0367,-89.4695 L -15.7672,-89.2861 L -15.5358,-89.0903
L -15.3357,-88.8784 L -15.1607,-88.6466 L -15.0107,-88.3951 L -14.8858,-88.1237 L -14.7873,-87.8318 L -14.717,-87.5186
L -14.6748,-87.184 L -14.6608,-86.8281 L -14.7407,-86.0165 L -14.9805,-85.3064 L -15.3803,-84.6979 L -15.9399,-84.1909
L -16.6541,-83.7918 L -17.5178,-83.5067 L -18.5309,-83.3356 L -19.6935,-83.2786 z
M 95.1423,-83.449 L 95.1423,-95.1893 L 103.8,-95.1893 L 103.8,-93.2895 L 97.6004,-93.2895 L 97.6004,-89.6566
L 103.608,-89.6566 L 103.608,-87.7568 L 97.6004,-87.7568 L 97.6004,-83.449 z
M -64.3307,-83.449 L -64.3307,-95.1893 L -61.8727,-95.1893 L -61.8727,-89.8649 L -56.5817,-95.1893 L -53.7154,-95.1893
L -58.7315,-90.2232 L -53.3071,-83.449 L -56.2067,-83.449 L -60.4229,-88.8401 L -61.8727,-87.7319 L -61.8727,-83.449
z
M -103.507,-83.449 L -103.507,-95.1893 L -94.2751,-95.1893 L -94.2751,-93.2895 L -101.049,-93.2895 L -101.049,-90.3398
L -94.7834,-90.3398 L -94.7834,-88.4401 L -101.049,-88.4401 L -101.049,-85.3488 L -93.9335,-85.3488 L -93.9335,-83.449
z
M -40.81,-83.449 L -40.81,-95.1893 L -38.3519,-95.1893 L -38.3519,-83.449 z
M -1.10724,-83.449 L -1.10724,-93.2895 L -4.89835,-93.2895 L -4.89835,-95.1893 L 5.15041,-95.1893 L 5.15041,-93.2895
L 1.35081,-93.2895 L 1.35081,-83.449 z
M 14.2254,-83.449 L 18.5082,-95.1893 L 21.4079,-95.1893 L 25.674,-83.449 L 23.241,-83.449 L 22.1994,-86.4487
L 17.725,-86.4487 L 16.6834,-83.449 z
M 20.4913,-91.673 L 20.1331,-92.8062 L 19.958,-93.3812 L 19.9081,-93.1979 L 19.8643,-93.0426 L 19.8164,-92.877
L 19.7643,-92.701 L 19.7081,-92.5146 L 19.5748,-92.1073 L 19.2915,-91.2689 L 18.8582,-89.9993 L 18.2749,-88.2984
L 21.6494,-88.2984 z
M 35.6878,-83.449 L 35.6878,-95.1893 L 44.3452,-95.1893 L 44.3452,-93.2895 L 38.1459,-93.2895 L 38.1459,-89.6566
L 44.1535,-89.6566 L 44.1535,-87.7568 L 38.1459,-87.7568 L 38.1459,-83.449 z
M 74.3965,-83.449 L 74.3965,-95.1893 L 77.2045,-95.1893 L 82.3955,-86.0737 L 82.3299,-86.6888 L 82.2831,-87.2757
L 82.255,-87.8344 L 82.2456,-88.3651 L 82.2456,-95.1893 L 84.4287,-95.1893 L 84.4287,-83.449 L 81.5456,-83.449
L 76.4297,-92.4896 L 76.4953,-91.8636 L 76.5421,-91.3022 L 76.5702,-90.8054 L 76.5796,-90.3731 L 76.5796,-83.449
z
M 58.3198,-82.0547 L 57.3207,-82.2765 L 56.4638,-82.6463 L 55.7491,-83.1639 L 55.1859,-83.819 L 54.7836,-84.6012
L 54.5422,-85.5105 L 54.4617,-86.5468 L 54.4617,-93.8876 L 56.9198,-93.8876 L 56.9198,-86.7385 L 56.9612,-86.0846
L 57.0854,-85.5146 L 57.2924,-85.0285 L 57.5822,-84.6262 L 57.9522,-84.3109 L 58.3998,-84.0856 L 58.925,-83.9505
L 59.5278,-83.9054 L 60.148,-83.9525 L 60.6922,-84.0939 L 61.1603,-84.3296 L 61.5525,-84.6595 L 61.8623,-85.0775
L 62.0836,-85.5772 L 62.2164,-86.1586 L 62.2607,-86.8218 L 62.2607,-93.8876 L 64.7188,-93.8876 L 64.7188,-86.6718
L 64.6326,-85.618 L 64.374,-84.6897 L 63.9431,-83.8869 L 63.3398,-83.2097 L 62.5802,-82.672 L 61.6806,-82.288
L 60.6409,-82.0575 L 59.461,-81.9807 z
M 18.6355,-63.5596 L 17.4507,-63.8572 L 16.4315,-64.3532 L 15.578,-65.0477 L 14.9036,-65.9244 L 14.4219,-66.9672
L 14.1329,-68.1762 L 14.0365,-69.5513 L 14.1334,-70.9165 L 14.424,-72.1124 L 14.9083,-73.1391 L 15.5863,-73.9965
L 16.4462,-74.6727 L 17.4757,-75.1558 L 18.6751,-75.4456 L 20.0441,-75.5422 L 21.9225,-75.3511 L 23.425,-74.7777
L 24.5514,-73.8221 L 25.3018,-72.4843 L 23.0355,-71.801 L 22.8261,-72.2197 L 22.5647,-72.5842 L 22.2511,-72.8946
L 21.8855,-73.1507 L 21.4767,-73.3513 L 21.0336,-73.4945 L 20.556,-73.5804 L 20.0441,-73.6091 L 19.2297,-73.5434
L 18.5193,-73.3466 L 17.9131,-73.0185 L 17.4111,-72.5592 L 17.0174,-71.9776 L 16.7363,-71.2823 L 16.5676,-70.4736
L 16.5113,-69.5513 L 16.5694,-68.6121 L 16.7436,-67.7859 L 17.0339,-67.0727 L 17.4404,-66.4725 L 17.952,-65.9968
L 18.5579,-65.6569 L 19.2581,-65.453 L 20.0525,-65.3851 L 20.5279,-65.4025 L 20.9961,-65.4549 L 21.457,-65.5421
L 21.9106,-65.6642 L 22.335,-65.8135 L 22.7084,-65.9819 L 23.0308,-66.1697 L 23.3021,-66.3767 L 23.3021,-68.0015
L 20.4357,-68.0015 L 20.4357,-69.8179 L 25.5518,-69.8179 L 25.5518,-65.5018 L 25.05,-65.0487 L 24.4779,-64.6477
L 23.8355,-64.2988 L 23.1228,-64.0019 L 22.3659,-63.765 L 21.5908,-63.5958 L 20.7974,-63.4942 L 19.9858,-63.4604
z
M 74.3965,-63.6309 L 74.3965,-75.3711 L 76.8546,-75.3711 L 76.8546,-70.6966 L 81.9706,-70.6966 L 81.9706,-75.3711
L 84.4287,-75.3711 L 84.4287,-63.6309 L 81.9706,-63.6309 L 81.9706,-68.6636 L 76.8546,-68.6636 L 76.8546,-63.6309
z
M -103.673,-63.6309 L -103.673,-65.3723 L -97.3234,-73.4463 L -103.039,-73.4463 L -103.039,-75.3711 L -94.5905,-75.3711
L -94.5905,-73.6629 L -100.94,-65.5557 L -94.2488,-65.5557 L -94.2488,-63.6309 z
M -84.0963,-63.6309 L -87.1209,-75.3711 L -84.6296,-75.3711 L -82.9299,-67.7886 L -82.5465,-65.9556 L -82.4307,-66.5282
L -82.3164,-67.0878 L -82.2037,-67.6343 L -82.0925,-68.1678 L -81.9057,-69.0133 L -81.5664,-70.4956 L -81.0746,-72.6149
L -80.4301,-75.3711 L -77.6805,-75.3711 L -76.1973,-69.1218 L -76.0947,-68.6615 L -75.9619,-67.9803 L -75.7989,-67.0784
L -75.6057,-65.9556 L -75.3974,-66.9221 L -74.9558,-68.8386 L -73.5393,-75.3711 L -71.048,-75.3711 L -74.081,-63.6309
L -76.9972,-63.6309 L -78.5887,-70.4216 L -78.7288,-71.0284 L -78.8574,-71.6486 L -78.9746,-72.2824 L -79.0803,-72.9297
L -79.1756,-72.4165 L -79.2616,-71.9683 L -79.3381,-71.5853 L -79.4053,-71.2674 L -79.563,-70.5761 L -79.9114,-69.0729
L -80.4504,-66.7578 L -81.18,-63.6309 z
M -65.0473,-63.6309 L -60.7645,-75.3711 L -57.8648,-75.3711 L -53.5987,-63.6309 L -56.0317,-63.6309 L -57.0733,-66.6306
L -61.5477,-66.6306 L -62.5893,-63.6309 z
M -58.7815,-71.8548 L -59.1396,-72.988 L -59.3147,-73.563 L -59.3646,-73.3797 L -59.4084,-73.2245 L -59.4563,-73.0588
L -59.5084,-72.8828 L -59.5646,-72.6964 L -59.6979,-72.2892 L -59.9812,-71.4507 L -60.4145,-70.1811 L -60.9978,-68.4803
L -57.6233,-68.4803 z
M -44.5126,-63.6309 L -44.5126,-75.3711 L -41.7045,-75.3711 L -36.5136,-66.2555 L -36.5791,-66.8706 L -36.626,-67.4575
L -36.6541,-68.0163 L -36.6635,-68.5469 L -36.6635,-75.3711 L -34.4804,-75.3711 L -34.4804,-63.6309 L -37.3635,-63.6309
L -42.4794,-72.6714 L -42.4138,-72.0455 L -42.367,-71.484 L -42.3389,-70.9872 L -42.3295,-70.555 L -42.3295,-63.6309
z
M -24.3999,-63.6309 L -24.3999,-65.3723 L -18.0507,-73.4463 L -23.7667,-73.4463 L -23.7667,-75.3711 L -15.3178,-75.3711
L -15.3178,-73.6629 L -21.6669,-65.5557 L -14.9761,-65.5557 L -14.9761,-63.6309 z
M -1.17365,-63.6309 L -1.17365,-75.3711 L 1.28441,-75.3711 L 1.28441,-63.6309 z
M 94.2147,-63.6309 L 94.2147,-75.3711 L 97.0227,-75.3711 L 102.214,-66.2555 L 102.148,-66.8706 L 102.101,-67.4575
L 102.073,-68.0163 L 102.064,-68.5469 L 102.064,-75.3711 L 104.247,-75.3711 L 104.247,-63.6309 L 101.364,-63.6309
L 96.2479,-72.6714 L 96.3134,-72.0455 L 96.3603,-71.484 L 96.3884,-70.9872 L 96.3978,-70.555 L 96.3978,-63.6309
z
M 35.0546,-63.6309 L 35.0546,-65.3723 L 41.4038,-73.4463 L 35.6878,-73.4463 L 35.6878,-75.3711 L 44.1368,-75.3711
L 44.1368,-73.6629 L 37.7876,-65.5557 L 44.4785,-65.5557 L 44.4785,-63.6309 z
M 55.0381,-63.6309 L 55.0381,-75.3711 L 64.2704,-75.3711 L 64.2704,-73.4714 L 57.4962,-73.4714 L 57.4962,-70.5217
L 63.762,-70.5217 L 63.762,-68.6219 L 57.4962,-68.6219 L 57.4962,-65.5306 L 64.612,-65.5306 L 64.612,-63.6309
z
M 78.0903,-43.744 L 76.9313,-44.0494 L 75.9218,-44.5585 L 75.0618,-45.2711 L 74.3746,-46.1609 L 73.8837,-47.2011
L 73.5892,-48.3919 L 73.4911,-49.7331 L 73.589,-51.0678 L 73.8827,-52.2473 L 74.3722,-53.2717 L 75.0576,-54.1408
L 75.9174,-54.8335 L 76.9303,-55.3282 L 78.0963,-55.6251 L 79.4154,-55.724 L 80.7347,-55.624 L 81.9015,-55.3241
L 82.9156,-54.8241 L 83.7772,-54.1242 L 84.4644,-53.2498 L 84.9552,-52.2265 L 85.2497,-51.0543 L 85.3479,-49.7331
L 85.3026,-48.8442 L 85.1667,-48.0104 L 84.9401,-47.2318 L 84.623,-46.5085 L 84.2215,-45.8536 L 83.7419,-45.2805
L 83.1841,-44.7892 L 82.5482,-44.3796 L 81.8452,-44.057 L 81.086,-43.8266 L 80.2704,-43.6883 L 79.3987,-43.6422
z
M 80.1764,-45.6429 L 80.86,-45.8461 L 81.4492,-46.1846 L 81.9442,-46.6585 L 82.3361,-47.2569 L 82.616,-47.9688
L 82.784,-48.7942 L 82.84,-49.7331 L 82.7837,-50.6317 L 82.615,-51.4277 L 82.3338,-52.121 L 81.94,-52.7118
L 81.4448,-53.1839 L 80.8589,-53.5211 L 80.1824,-53.7234 L 79.4154,-53.7909 L 78.6373,-53.724 L 77.953,-53.5232
L 77.3625,-53.1886 L 76.8656,-52.7202 L 76.472,-52.132 L 76.1908,-51.4381 L 76.0221,-50.6385 L 75.9659,-49.7331
L 76.0234,-48.8179 L 76.196,-48.0052 L 76.4837,-47.2951 L 76.8865,-46.6876 L 77.3888,-46.201 L 77.9749,-45.8533
L 78.6449,-45.6448 L 79.3987,-45.5752 z
M 38.5291,-43.8127 L 38.5291,-53.6532 L 34.738,-53.6532 L 34.738,-55.5529 L 44.7868,-55.5529 L 44.7868,-53.6532
L 40.9872,-53.6532 L 40.9872,-43.8127 z
M -100.191,-43.8127 L -104.532,-55.5529 L -101.966,-55.5529 L -99.5495,-48.0122 L -99.4266,-47.5987 L -99.2829,-47.0914
L -99.1183,-46.4904 L -98.9329,-45.7957 L -98.758,-46.5123 L -98.3329,-48.0122 L -95.9249,-55.5529 L -93.3835,-55.5529
L -97.6997,-43.8127 z
M -80.4464,-43.8127 L -80.4464,-55.5529 L -77.9883,-55.5529 L -77.9883,-43.8127 z
M -63.871,-43.8127 L -63.871,-55.5529 L -54.6387,-55.5529 L -54.6387,-53.6532 L -61.4129,-53.6532 L -61.4129,-50.7035
L -55.147,-50.7035 L -55.147,-48.8038 L -61.4129,-48.8038 L -61.4129,-45.7124 L -54.2971,-45.7124 L -54.2971,-43.8127
z
M -44.5126,-43.8127 L -44.5126,-55.5529 L -38.6466,-55.5529 L -37.6566,-55.4964 L -36.7864,-55.3269 L -36.036,-55.0443
L -35.4054,-54.6488 L -34.9059,-54.1476 L -34.5492,-53.5479 L -34.3351,-52.8499 L -34.2638,-52.0534 L -34.3075,-51.4578
L -34.4388,-50.9045 L -34.6575,-50.3933 L -34.9638,-49.9243 L -35.3444,-49.5148 L -35.7866,-49.1818 L -36.2901,-48.9253
L -36.8551,-48.7454 L -33.6805,-43.8127 L -36.4468,-43.8127 L -39.1715,-48.2705 L -42.0545,-48.2705 L -42.0545,-43.8127
z
M -38.3529,-50.2077 L -37.93,-50.2952 L -37.5697,-50.441 L -37.2718,-50.6451 L -37.0385,-50.9019 L -36.8719,-51.2055
L -36.7719,-51.556 L -36.7385,-51.9533 L -36.8739,-52.6934 L -37.2801,-53.2219 L -37.9571,-53.5391 L -38.9049,-53.6448
L -42.0545,-53.6448 L -42.0545,-50.1786 L -38.8382,-50.1786 z
M -20.9254,-43.8127 L -20.9254,-53.6532 L -24.7165,-53.6532 L -24.7165,-55.5529 L -14.6678,-55.5529 L -14.6678,-53.6532
L -18.4674,-53.6532 L -18.4674,-43.8127 z
M -4.41646,-43.8127 L -4.41646,-55.5529 L 4.81581,-55.5529 L 4.81581,-53.6532 L -1.95839,-53.6532 L -1.95839,-50.7035
L 4.3075,-50.7035 L 4.3075,-48.8038 L -1.95839,-48.8038 L -1.95839,-45.7124 L 5.15741,-45.7124 L 5.15741,-43.8127
z
M 15.8696,-43.8127 L 15.8696,-55.5529 L 18.3277,-55.5529 L 18.3277,-45.7124 L 24.6269,-45.7124 L 24.6269,-43.8127
z
M 94.2147,-43.8127 L 94.2147,-55.5529 L 100.081,-55.5529 L 101.071,-55.4964 L 101.941,-55.3269 L 102.691,-55.0443
L 103.322,-54.6488 L 103.821,-54.1476 L 104.178,-53.5479 L 104.392,-52.8499 L 104.463,-52.0534 L 104.42,-51.4578
L 104.288,-50.9045 L 104.07,-50.3933 L 103.763,-49.9243 L 103.383,-49.5148 L 102.941,-49.1818 L 102.437,-48.9253
L 101.872,-48.7454 L 105.047,-43.8127 L 102.28,-43.8127 L 99.5557,-48.2705 L 96.6728,-48.2705 L 96.6728,-43.8127
z
M 100.374,-50.2077 L 100.797,-50.2952 L 101.158,-50.441 L 101.455,-50.6451 L 101.689,-50.9019 L 101.855,-51.2055
L 101.955,-51.556 L 101.989,-51.9533 L 101.853,-52.6934 L 101.447,-53.2219 L 100.77,-53.5391 L 99.8223,-53.6448
L 96.6728,-53.6448 L 96.6728,-50.1786 L 99.8891,-50.1786 z
M 58.3544,-43.8127 L 54.0132,-55.5529 L 56.5797,-55.5529 L 58.9959,-48.0122 L 59.1189,-47.5987 L 59.2626,-47.0914
L 59.4271,-46.4904 L 59.6125,-45.7957 L 59.7875,-46.5123 L 60.2125,-48.0122 L 62.6205,-55.5529 L 65.1619,-55.5529
L 60.8458,-43.8127 z
M 78.5432,-23.9243 L 77.3681,-24.225 L 76.3538,-24.7263 L 75.5005,-25.428 L 74.8243,-26.3099 L 74.3413,-27.3517
L 74.0515,-28.5534 L 73.9549,-29.9149 L 74.0481,-31.2768 L 74.3278,-32.4709 L 74.7938,-33.4973 L 75.4463,-34.3561
L 76.276,-35.0341 L 77.2732,-35.5184 L 78.4382,-35.809 L 79.7708,-35.9059 L 80.7561,-35.854 L 81.6456,-35.6986
L 82.4393,-35.4395 L 83.1371,-35.0767 L 83.7386,-34.6135 L 84.2432,-34.0529 L 84.651,-33.3949 L 84.962,-32.6395
L 82.7955,-32.048 L 82.625,-32.467 L 82.3883,-32.8406 L 82.0855,-33.1689 L 81.7165,-33.452 L 81.2965,-33.6798
L 80.8406,-33.8425 L 80.3487,-33.9402 L 79.8208,-33.9727 L 79.0379,-33.9081 L 78.3554,-33.7144 L 77.7735,-33.3915
L 77.292,-32.9395 L 76.9147,-32.363 L 76.6453,-31.6668 L 76.4836,-30.8508 L 76.4297,-29.9149 L 76.4852,-28.9624
L 76.6515,-28.1297 L 76.9288,-27.4168 L 77.3171,-26.8236 L 77.81,-26.357 L 78.4013,-26.0237 L 79.091,-25.8237
L 79.8792,-25.7571 L 80.9067,-25.8966 L 81.7644,-26.3153 L 82.4523,-27.0132 L 82.9704,-27.9902 L 85.1119,-27.1819
L 84.7257,-26.3864 L 84.2589,-25.6998 L 83.7113,-25.122 L 83.083,-24.6531 L 82.3812,-24.2904 L 81.6134,-24.0313
L 80.7794,-23.8759 L 79.8792,-23.824 z
M -1.10724,-23.9945 L -1.10724,-33.835 L -4.89835,-33.835 L -4.89835,-35.7347 L 5.15041,-35.7347 L 5.15041,-33.835
L 1.35081,-33.835 L 1.35081,-23.9945 z
M -84.8655,-23.9945 L -80.5827,-35.7347 L -77.683,-35.7347 L -73.4169,-23.9945 L -75.8499,-23.9945 L -76.8915,-26.9942
L -81.3659,-26.9942 L -82.4075,-23.9945 z
M -78.5996,-32.2185 L -78.9578,-33.3516 L -79.1329,-33.9267 L -79.1828,-33.7433 L -79.2266,-33.5881 L -79.2745,-33.4225
L -79.3266,-33.2464 L -79.3828,-33.06 L -79.5161,-32.6528 L -79.7994,-31.8144 L -80.2327,-30.5447 L -80.816,-28.8439
L -77.4415,-28.8439 z
M -63.4031,-23.9945 L -63.4031,-35.7347 L -60.945,-35.7347 L -60.945,-25.8942 L -54.6458,-25.8942 L -54.6458,-23.9945
z
M -44.5126,-23.9945 L -44.5126,-35.7347 L -39.1382,-35.7347 L -38.1287,-35.6881 L -37.2499,-35.5483 L -36.5018,-35.3152
L -35.8845,-34.9889 L -35.4014,-34.5715 L -35.0564,-34.0651 L -34.8494,-33.4696 L -34.7804,-32.785 L -34.8151,-32.3047
L -34.919,-31.8633 L -35.0921,-31.461 L -35.3346,-31.0977 L -35.6478,-30.7819 L -36.0334,-30.5218 L -36.4914,-30.3174
L -37.0218,-30.1687 L -36.3518,-30.0502 L -35.7667,-29.8615 L -35.2665,-29.6024 L -34.8512,-29.273 L -34.525,-28.879
L -34.2919,-28.4263 L -34.1521,-27.9146 L -34.1055,-27.3441 L -34.1805,-26.5895 L -34.4055,-25.9255 L -34.7804,-25.3521
L -35.3054,-24.8693 L -35.9636,-24.4866 L -36.7385,-24.2132 L -37.6301,-24.0492 L -38.6383,-23.9945 z
M -38.7531,-31.0246 L -38.3394,-31.0925 L -37.997,-31.2058 L -37.726,-31.3644 L -37.52,-31.5683 L -37.3728,-31.8175
L -37.2845,-32.112 L -37.2551,-32.4518 L -37.2866,-32.8189 L -37.3811,-33.1288 L -37.5387,-33.3813 L -37.7592,-33.5766
L -38.0417,-33.7224 L -38.3852,-33.8266 L -38.7895,-33.8891 L -39.2549,-33.9099 L -42.0545,-33.9099 L -42.0545,-31.0019
L -39.2381,-31.0019 z
M -38.2948,-25.8461 L -37.8227,-25.9265 L -37.4303,-26.0606 L -37.1176,-26.2484 L -36.8788,-26.4897 L -36.7083,-26.7848
L -36.6059,-27.1334 L -36.5718,-27.5357 L -36.7197,-28.2575 L -37.1634,-28.773 L -37.9029,-29.0824 L -38.9382,-29.1855
L -42.0545,-29.1855 L -42.0545,-25.8193 L -38.8465,-25.8193 z
M -24.6944,-23.9945 L -24.6944,-35.7347 L -21.8864,-35.7347 L -16.6954,-26.6192 L -16.761,-27.2342 L -16.8078,-27.8211
L -16.8359,-28.3799 L -16.8453,-28.9105 L -16.8453,-35.7347 L -14.6622,-35.7347 L -14.6622,-23.9945 L -17.5453,-23.9945
L -22.6612,-33.0351 L -22.5956,-32.4091 L -22.5488,-31.8477 L -22.5207,-31.3508 L -22.5113,-30.9186 L -22.5113,-23.9945
z
M 15.4017,-23.9945 L 15.4017,-35.7347 L 20.6761,-35.7347 L 21.6695,-35.6741 L 22.5415,-35.4921 L 23.2921,-35.1887
L 23.9214,-34.764 L 24.4191,-34.2284 L 24.7745,-33.5923 L 24.9878,-32.8556 L 25.0589,-32.0184 L 25.0266,-31.467
L 24.9297,-30.9457 L 24.7682,-30.4546 L 24.5422,-29.9937 L 24.2561,-29.5732 L 23.9142,-29.2032 L 23.5166,-28.8837
L 23.0633,-28.6147 L 22.5595,-28.4015 L 22.0103,-28.2492 L 21.4158,-28.1578 L 20.776,-28.1273 L 17.8598,-28.1273
L 17.8598,-23.9945 z
M 20.9469,-30.0502 L 21.3676,-30.1447 L 21.7301,-30.3023 L 22.0343,-30.5228 L 22.2749,-30.8027 L 22.4467,-31.1384
L 22.5499,-31.5297 L 22.5842,-31.9768 L 22.4478,-32.7861 L 22.0385,-33.3642 L 21.3562,-33.711 L 20.4012,-33.8266
L 17.8598,-33.8266 L 17.8598,-30.0187 L 20.4677,-30.0187 z
M 34.7601,-23.9945 L 34.7601,-35.7347 L 37.5682,-35.7347 L 42.7591,-26.6192 L 42.6936,-27.2342 L 42.6467,-27.8211
L 42.6186,-28.3799 L 42.6092,-28.9105 L 42.6092,-35.7347 L 44.7923,-35.7347 L 44.7923,-23.9945 L 41.9092,-23.9945
L 36.7933,-33.0351 L 36.8589,-32.4091 L 36.9057,-31.8477 L 36.9339,-31.3508 L 36.9432,-30.9186 L 36.9432,-23.9945
z
M 94.2147,-23.9945 L 94.2147,-35.7347 L 96.6728,-35.7347 L 96.6728,-31.0603 L 101.789,-31.0603 L 101.789,-35.7347
L 104.247,-35.7347 L 104.247,-23.9945 L 101.789,-23.9945 L 101.789,-29.0272 L 96.6728,-29.0272 L 96.6728,-23.9945
z
M 53.8617,-23.9945 L 58.1446,-35.7347 L 61.0443,-35.7347 L 65.3104,-23.9945 L 62.8774,-23.9945 L 61.8358,-26.9942
L 57.3614,-26.9942 L 56.3198,-23.9945 z
M 60.1276,-32.2185 L 59.7694,-33.3516 L 59.5944,-33.9267 L 59.5445,-33.7433 L 59.5007,-33.5881 L 59.4528,-33.4225
L 59.4007,-33.2464 L 59.3445,-33.06 L 59.2112,-32.6528 L 58.9278,-31.8144 L 58.4946,-30.5447 L 57.9113,-28.8439
L 61.2858,-28.8439 z
M -103.967,-23.9945 L -103.967,-35.7347 L -101.509,-35.7347 L -101.509,-31.0603 L -96.393,-31.0603 L -96.393,-35.7347
L -93.9349,-35.7347 L -93.9349,-23.9945 L -96.393,-23.9945 L -96.393,-29.0272 L -101.509,-29.0272 L -101.509,-23.9945
z
M 60.6609,-15.623 L 60.6609,-17.4478 L 62.3024,-17.4478 L 62.3024,-15.623 z
M 56.878,-15.623 L 56.878,-17.4478 L 58.4945,-17.4478 L 58.4945,-15.623 z
M -60.5893,-4.16812 L -61.5884,-4.38995 L -62.4453,-4.75969 L -63.16,-5.27731 L -63.7232,-5.93248 L -64.1255,-6.71468
L -64.3669,-7.62393 L -64.4474,-8.66025 L -64.4474,-16.001 L -61.9893,-16.001 L -61.9893,-8.85193 L -61.9479,-8.19809
L -61.8237,-7.62808 L -61.6167,-7.14194 L -61.3269,-6.73962 L -60.9569,-6.42429 L -60.5093,-6.19905 L -59.9841,-6.0639
L -59.3813,-6.01886 L -58.7611,-6.06598 L -58.2169,-6.20737 L -57.7488,-6.44302 L -57.3566,-6.77292 L -57.0468,-7.19089
L -56.8255,-7.6906 L -56.6927,-8.27205 L -56.6484,-8.93524 L -56.6484,-16.001 L -54.1903,-16.001 L -54.1903,-8.7852
L -54.2765,-7.73141 L -54.5351,-6.80315 L -54.966,-6.0004 L -55.5693,-5.32315 L -56.3289,-4.78548 L -57.2285,-4.40141
L -58.2682,-4.17099 L -59.448,-4.09418 z
M -103.967,-4.17632 L -103.967,-15.9165 L -101.159,-15.9165 L -95.9681,-6.80099 L -96.0337,-7.41605 L -96.0805,-8.00294
L -96.1086,-8.56171 L -96.118,-9.09233 L -96.118,-15.9165 L -93.9349,-15.9165 L -93.9349,-4.17632 L -96.818,-4.17632
L -101.934,-13.2169 L -101.868,-12.5909 L -101.822,-12.0295 L -101.793,-11.5327 L -101.784,-11.1004 L -101.784,-4.17632
z
M -44.5126,-4.17632 L -44.5126,-15.9165 L -41.7045,-15.9165 L -36.5136,-6.80099 L -36.5791,-7.41605 L -36.626,-8.00294
L -36.6541,-8.56171 L -36.6635,-9.09233 L -36.6635,-15.9165 L -34.4804,-15.9165 L -34.4804,-4.17632 L -37.3635,-4.17632
L -42.4794,-13.2169 L -42.4138,-12.5909 L -42.367,-12.0295 L -42.3389,-11.5327 L -42.3295,-11.1004 L -42.3295,-4.17632
z
M -25.411,-4.17632 L -21.1281,-15.9165 L -18.2285,-15.9165 L -13.9623,-4.17632 L -16.3953,-4.17632 L -17.4369,-7.17601
L -21.9113,-7.17601 L -22.9529,-4.17632 z
M -19.1451,-12.4003 L -19.5033,-13.5334 L -19.6784,-14.1085 L -19.7283,-13.9251 L -19.772,-13.7699 L -19.82,-13.6043
L -19.872,-13.4283 L -19.9283,-13.2419 L -20.0616,-12.8346 L -20.3449,-11.9962 L -20.7782,-10.7266 L -21.3615,-9.02573
L -17.9869,-9.02573 z
M -83.6892,-4.17632 L -83.6892,-15.9165 L -74.4569,-15.9165 L -74.4569,-14.0168 L -81.2311,-14.0168 L -81.2311,-11.0671
L -74.9652,-11.0671 L -74.9652,-9.1674 L -81.2311,-9.1674 L -81.2311,-6.07605 L -74.1153,-6.07605 L -74.1153,-4.17632
z
M -4.41646,-4.17632 L -4.41646,-15.9165 L 0.857971,-15.9165 L 1.8513,-15.8559 L 2.7233,-15.6739 L 3.47395,-15.3705
L 4.10327,-14.9458 L 4.60091,-14.4102 L 4.95636,-13.7741 L 5.16962,-13.0374 L 5.24071,-12.2003 L 5.20842,-11.6488
L 5.11154,-11.1275 L 4.95007,-10.6364 L 4.72403,-10.1756 L 4.4379,-9.75505 L 4.09602,-9.38504 L 3.69844,-9.06555
L 3.24513,-8.79657 L 2.7413,-8.58333 L 2.19215,-8.431 L 1.59767,-8.3396 L 0.957855,-8.30914 L -1.95839,-8.30914
L -1.95839,-4.17632 z
M 1.12868,-10.232 L 1.54945,-10.3265 L 1.91193,-10.4841 L 2.21608,-10.7047 L 2.4567,-10.9846 L 2.62856,-11.3202
L 2.73167,-11.7115 L 2.76605,-12.1586 L 2.62961,-12.9679 L 2.22029,-13.546 L 1.53807,-13.8928 L 0.582977,-14.0085
L -1.95839,-14.0085 L -1.95839,-10.2005 L 0.649567,-10.2005 z
M 18.6445,-4.17632 L 18.6445,-15.9165 L 21.1026,-15.9165 L 21.1026,-4.17632 z
M 35.6878,-4.17632 L 35.6878,-15.9165 L 44.3452,-15.9165 L 44.3452,-14.0168 L 38.1459,-14.0168 L 38.1459,-10.3838
L 44.1535,-10.3838 L 44.1535,-8.48412 L 38.1459,-8.48412 L 38.1459,-4.17632 z
M 74.3965,-4.17632 L 74.3965,-15.9165 L 77.2045,-15.9165 L 82.3955,-6.80099 L 82.3299,-7.41605 L 82.2831,-8.00294
L 82.255,-8.56171 L 82.2456,-9.09233 L 82.2456,-15.9165 L 84.4287,-15.9165 L 84.4287,-4.17632 L 81.5456,-4.17632
L 76.4297,-13.2169 L 76.4953,-12.5909 L 76.5421,-12.0295 L 76.5702,-11.5327 L 76.5796,-11.1004 L 76.5796,-4.17632
z
M 95.1423,-4.17632 L 95.1423,-15.9165 L 103.8,-15.9165 L 103.8,-14.0168 L 97.6004,-14.0168 L 97.6004,-10.3838
L 103.608,-10.3838 L 103.608,-8.48412 L 97.6004,-8.48412 L 97.6004,-4.17632 z
M 58.3198,-2.78197 L 57.3207,-3.0038 L 56.4638,-3.37354 L 55.7491,-3.89116 L 55.1859,-4.54631 L 54.7836,-5.32852
L 54.5422,-6.23778 L 54.4617,-7.27409 L 54.4617,-14.6149 L 56.9198,-14.6149 L 56.9198,-7.46577 L 56.9612,-6.81192
L 57.0854,-6.24193 L 57.2924,-5.75577 L 57.5822,-5.35347 L 57.9522,-5.03813 L 58.3998,-4.81288 L 58.925,-4.67775
L 59.5278,-4.63269 L 60.148,-4.67982 L 60.6922,-4.82121 L 61.1603,-5.05685 L 61.5525,-5.38676 L 61.8623,-5.80473
L 62.0836,-6.30444 L 62.2164,-6.88589 L 62.2607,-7.54907 L 62.2607,-14.6149 L 64.7188,-14.6149 L 64.7188,-7.39905
L 64.6326,-6.34526 L 64.374,-5.41699 L 63.9431,-4.61423 L 63.3398,-3.937 L 62.5802,-3.39931 L 61.6806,-3.01526
L 60.6409,-2.78482 L 59.461,-2.70802 z
M 19.0886,15.7121 L 17.9135,15.4113 L 16.8993,14.9101 L 16.046,14.2083 L 15.3698,13.3264 L 14.8868,12.2846
L 14.597,11.0829 L 14.5004,9.72141 L 14.5936,8.35959 L 14.8732,7.16547 L 15.3393,6.13904 L 15.9918,5.28029
L 16.8214,4.60226 L 17.8187,4.11795 L 18.9837,3.82736 L 20.3163,3.7305 L 21.3016,3.78232 L 22.1911,3.93779
L 22.9847,4.1969 L 23.6825,4.55965 L 24.284,5.02286 L 24.7887,5.58345 L 25.1965,6.24144 L 25.5074,6.99683
L 23.3409,7.58833 L 23.1704,7.16939 L 22.9337,6.79575 L 22.6309,6.46742 L 22.262,6.18439 L 21.842,5.95657
L 21.386,5.79384 L 20.8941,5.6962 L 20.3663,5.66367 L 19.5834,5.72824 L 18.9009,5.92197 L 18.3189,6.24486
L 17.8375,6.6969 L 17.4602,7.27335 L 17.1907,7.96957 L 17.029,8.7856 L 16.9751,9.72141 L 17.0306,10.6739
L 17.197,11.5066 L 17.4743,12.2196 L 17.8625,12.8127 L 18.3554,13.2794 L 18.9468,13.6127 L 19.6365,13.8126
L 20.4247,13.8793 L 21.4521,13.7397 L 22.3098,13.321 L 22.9978,12.6232 L 23.5159,11.6462 L 25.6573,12.4545
L 25.2712,13.2499 L 24.8043,13.9366 L 24.2567,14.5144 L 23.6284,14.9833 L 22.9267,15.346 L 22.1588,15.6051
L 21.3248,15.7605 L 20.4247,15.8123 z
M 98.1475,15.7623 L 97.2013,15.6123 L 96.3769,15.3624 L 95.6744,15.0124 L 95.0901,14.5609 L 94.6203,14.0063
L 94.2652,13.3486 L 94.0246,12.5878 L 96.3993,12.1962 L 96.5488,12.6308 L 96.7555,13.0013 L 97.0195,13.3078
L 97.3408,13.5502 L 97.7246,13.7343 L 98.1762,13.8658 L 98.6954,13.9447 L 99.2823,13.9709 L 100.409,13.873
L 101.213,13.5793 L 101.696,13.0898 L 101.857,12.4044 L 101.838,12.1654 L 101.783,11.9482 L 101.691,11.753
L 101.561,11.5796 L 101.398,11.4239 L 101.205,11.2817 L 100.981,11.1531 L 100.728,11.038 L 100.397,10.9239
L 99.9436,10.7984 L 99.3664,10.6614 L 98.6657,10.5129 L 98.0574,10.3663 L 97.5491,10.2349 L 97.1408,10.1185
L 96.8325,10.0173 L 96.5804,9.91936 L 96.3409,9.81313 L 96.1138,9.69856 L 95.8992,9.57568 L 95.6988,9.44206
L 95.5139,9.29544 L 95.3447,9.1358 L 95.191,8.96317 L 95.0533,8.7762 L 94.9317,8.57362 L 94.8263,8.35542
L 94.737,8.1216 L 94.6659,7.87112 L 94.6152,7.60294 L 94.5847,7.31703 L 94.5745,7.01341 L 94.6493,6.2643
L 94.8735,5.6084 L 95.2471,5.04572 L 95.7702,4.57623 L 96.436,4.20622 L 97.2377,3.94194 L 98.1753,3.78336
L 99.2489,3.7305 L 100.272,3.77321 L 101.16,3.90132 L 101.912,4.11485 L 102.528,4.4138 L 103.027,4.81111
L 103.429,5.31989 L 103.733,5.94012 L 103.94,6.67183 L 101.557,6.99683 L 101.442,6.64114 L 101.279,6.33234
L 101.069,6.0704 L 100.811,5.85535 L 100.5,5.68762 L 100.127,5.56783 L 99.6934,5.49594 L 99.199,5.47198
L 98.222,5.55946 L 97.5242,5.82191 L 97.1055,6.25934 L 96.9659,6.87175 L 96.9807,7.09048 L 97.0252,7.28841
L 97.0994,7.4655 L 97.2033,7.62177 L 97.3363,7.76208 L 97.4981,7.89149 L 97.6884,8.00998 L 97.9073,8.11755
L 98.2006,8.2261 L 98.6136,8.34769 L 99.1463,8.4823 L 99.7988,8.62993 L 100.584,8.80569 L 101.25,8.97469
L 101.795,9.1369 L 102.219,9.29234 L 102.565,9.45064 L 102.872,9.62144 L 103.142,9.80476 L 103.373,10.0006
L 103.573,10.2125 L 103.748,10.4443 L 103.898,10.6958 L 104.023,10.9672 L 104.122,11.2591 L 104.192,11.5723
L 104.234,11.9069 L 104.248,12.2628 L 104.168,13.0744 L 103.929,13.7845 L 103.529,14.393 L 102.969,14.9
L 102.255,15.2991 L 101.391,15.5842 L 100.378,15.7553 L 99.2156,15.8123 z
M -63.871,15.6419 L -63.871,3.90163 L -54.6387,3.90163 L -54.6387,5.80136 L -61.4129,5.80136 L -61.4129,8.75105
L -55.147,8.75105 L -55.147,10.6508 L -61.4129,10.6508 L -61.4129,13.7421 L -54.2971,13.7421 L -54.2971,15.6419
z
M -103.673,15.6419 L -103.673,13.9004 L -97.3234,5.82643 L -103.039,5.82643 L -103.039,3.90163 L -94.5905,3.90163
L -94.5905,5.6098 L -100.94,13.7171 L -94.2488,13.7171 L -94.2488,15.6419 z
M -84.0963,15.6419 L -87.1209,3.90163 L -84.6296,3.90163 L -82.9299,11.4841 L -82.5465,13.3171 L -82.4307,12.7445
L -82.3164,12.185 L -82.2037,11.6384 L -82.0925,11.1049 L -81.9057,10.2594 L -81.5664,8.7771 L -81.0746,6.65782
L -80.4301,3.90163 L -77.6805,3.90163 L -76.1973,10.1509 L -76.0947,10.6113 L -75.9619,11.2924 L -75.7989,12.1944
L -75.6057,13.3171 L -75.3974,12.3506 L -74.9558,10.4341 L -73.5393,3.90163 L -71.048,3.90163 L -74.081,15.6419
L -76.9972,15.6419 L -78.5887,8.85107 L -78.7288,8.24437 L -78.8574,7.62413 L -78.9746,6.99033 L -79.0803,6.34299
L -79.1756,6.85623 L -79.2616,7.30438 L -79.3381,7.68741 L -79.4053,8.00534 L -79.563,8.69666 L -79.9114,10.1998
L -80.4504,12.5149 L -81.18,15.6419 z
M -40.81,15.6419 L -40.81,3.90163 L -38.3519,3.90163 L -38.3519,15.6419 z
M -24.6944,15.6419 L -24.6944,3.90163 L -18.8285,3.90163 L -17.8385,3.95815 L -16.9683,4.12766 L -16.2178,4.41019
L -15.5872,4.80573 L -15.0877,5.30693 L -14.731,5.90659 L -14.5169,6.60466 L -14.4456,7.40117 L -14.4893,7.99672
L -14.6206,8.55006 L -14.8393,9.06122 L -15.1456,9.53018 L -15.5263,9.93971 L -15.9684,10.2727 L -16.472,10.5292
L -17.037,10.7091 L -13.8623,15.6419 L -16.6287,15.6419 L -19.3534,11.184 L -22.2363,11.184 L -22.2363,15.6419
z
M -18.5347,9.24681 L -18.1119,9.15933 L -17.7515,9.01353 L -17.4536,8.80942 L -17.2203,8.55264 L -17.0537,8.24902
L -16.9537,7.89854 L -16.9204,7.50119 L -17.0558,6.76117 L -17.462,6.23259 L -18.1389,5.91544 L -19.0867,5.80972
L -22.2363,5.80972 L -22.2363,9.27597 L -19.02,9.27597 z
M -1.10724,15.6419 L -1.10724,5.80136 L -4.89835,5.80136 L -4.89835,3.90163 L 5.15041,3.90163 L 5.15041,5.80136
L 1.35081,5.80136 L 1.35081,15.6419 z
M 74.3965,15.6419 L 74.3965,3.90163 L 77.2045,3.90163 L 82.3955,13.0172 L 82.3299,12.4021 L 82.2831,11.8152
L 82.255,11.2565 L 82.2456,10.7258 L 82.2456,3.90163 L 84.4287,3.90163 L 84.4287,15.6419 L 81.5456,15.6419
L 76.4297,6.60127 L 76.4953,7.22726 L 76.5421,7.78868 L 76.5702,8.28551 L 76.5796,8.71776 L 76.5796,15.6419
z
M 58.2809,15.6419 L 58.2809,3.90163 L 60.739,3.90163 L 60.739,15.6419 z
M 35.2199,15.6419 L 35.2199,3.90163 L 44.4522,3.90163 L 44.4522,5.80136 L 37.678,5.80136 L 37.678,8.75105
L 43.9438,8.75105 L 43.9438,10.6508 L 37.678,10.6508 L 37.678,13.7421 L 44.7938,13.7421 L 44.7938,15.6419
z
M -0.943405,35.5805 L -1.88963,35.4305 L -2.714,35.1805 L -3.41652,34.8306 L -4.00081,34.3791 L -4.47055,33.8245
L -4.82573,33.1668 L -5.06633,32.4059 L -2.69157,32.0143 L -2.54214,32.4489 L -2.33542,32.8195 L -2.07141,33.126
L -1.75012,33.3684 L -1.36627,33.5525 L -0.914734,33.6839 L -0.395508,33.7628 L 0.191376,33.7891 L 1.31779,33.6912
L 2.12239,33.3975 L 2.60513,32.908 L 2.76605,32.2226 L 2.74756,31.9836 L 2.69208,31.7664 L 2.59962,31.5712
L 2.47018,31.3978 L 2.30719,31.2421 L 2.114,31.0999 L 1.89059,30.9712 L 1.63698,30.8562 L 1.30655,30.7421
L 0.852707,30.6166 L 0.275467,30.4796 L -0.425186,30.3311 L -1.03348,30.1845 L -1.54179,30.0531 L -1.9501,29.9367
L -2.25844,29.8354 L -2.51048,29.7375 L -2.75003,29.6313 L -2.97708,29.5167 L -3.19167,29.3939 L -3.39212,29.2602
L -3.577,29.1136 L -3.74625,28.954 L -3.8999,28.7813 L -4.03761,28.5944 L -4.15919,28.3918 L -4.26462,28.1736
L -4.35391,27.9398 L -4.42497,27.6893 L -4.47574,27.4211 L -4.5062,27.1352 L -4.51636,26.8316 L -4.44162,26.0825
L -4.21744,25.4266 L -3.84378,24.8639 L -3.32068,24.3944 L -2.65488,24.0244 L -1.85318,23.7601 L -0.915558,23.6015
L 0.157959,23.5487 L 1.18153,23.5914 L 2.06918,23.7195 L 2.82091,23.933 L 3.43669,24.232 L 3.93588,24.6293
L 4.33769,25.1381 L 4.64211,25.7583 L 4.84912,26.49 L 2.466,26.815 L 2.35069,26.4593 L 2.18797,26.1505
L 1.97783,25.8886 L 1.72029,25.6735 L 1.40863,25.5058 L 1.03604,25.386 L 0.602524,25.3141 L 0.108078,25.2902
L -0.868896,25.3776 L -1.56673,25.6401 L -1.98543,26.0775 L -2.125,26.6899 L -2.11017,26.9087 L -2.06566,27.1066
L -1.99147,27.2837 L -1.88762,27.4399 L -1.75455,27.5803 L -1.59283,27.7097 L -1.40251,27.8282 L -1.18355,27.9357
L -0.890335,28.0443 L -0.477341,28.1659 L 0.0554047,28.3005 L 0.707932,28.4481 L 1.49352,28.6239 L 2.15878,28.7929
L 2.70375,28.9551 L 3.1284,29.1105 L 3.47395,29.2688 L 3.78148,29.4396 L 4.05096,29.6229 L 4.28242,29.8187
L 4.48244,30.0307 L 4.65744,30.2625 L 4.80743,30.514 L 4.93242,30.7854 L 5.03085,31.0772 L 5.10117,31.3905
L 5.14334,31.725 L 5.15741,32.0809 L 5.07745,32.8926 L 4.83763,33.6026 L 4.43791,34.2112 L 3.8783,34.7182
L 3.16408,35.1173 L 2.3004,35.4024 L 1.28726,35.5735 L 0.124664,35.6305 z
M -103.967,35.46 L -103.967,23.7198 L -99.7175,23.7198 L -98.3183,23.8133 L -97.0867,24.0937 L -96.0228,24.5612
L -95.1266,25.2155 L -94.4157,26.0443 L -93.9079,27.0351 L -93.6032,28.1878 L -93.5017,29.5024 L -93.5462,30.3817
L -93.6798,31.2033 L -93.9024,31.967 L -94.2141,32.6729 L -94.6073,33.31 L -95.0744,33.8675 L -95.6155,34.3453
L -96.2306,34.7434 L -96.9062,35.057 L -97.6293,35.2809 L -98.3998,35.4153 L -99.2177,35.46 z
M -98.675,33.4921 L -98.0053,33.2874 L -97.4168,32.9464 L -96.9096,32.4688 L -96.5013,31.8741 L -96.2096,31.1814
L -96.0347,30.3909 L -95.9763,29.5024 L -96.0378,28.6127 L -96.2222,27.835 L -96.5294,27.1692 L -96.9596,26.6153
L -97.5038,26.1797 L -98.1532,25.8685 L -98.9078,25.6818 L -99.7676,25.6195 L -101.509,25.6195 L -101.509,33.5603
L -99.426,33.5603 z
M 15.4017,35.46 L 15.4017,23.7198 L 20.6761,23.7198 L 21.6695,23.7805 L 22.5415,23.9625 L 23.2921,24.2658
L 23.9214,24.6905 L 24.4191,25.2261 L 24.7745,25.8622 L 24.9878,26.5989 L 25.0589,27.4361 L 25.0266,27.9876
L 24.9297,28.5088 L 24.7682,28.9999 L 24.5422,29.4608 L 24.2561,29.8813 L 23.9142,30.2513 L 23.5166,30.5708
L 23.0633,30.8398 L 22.5595,31.053 L 22.0103,31.2054 L 21.4158,31.2968 L 20.776,31.3272 L 17.8598,31.3272
L 17.8598,35.46 z
M 20.9469,29.4043 L 21.3676,29.3098 L 21.7301,29.1523 L 22.0343,28.9317 L 22.2749,28.6518 L 22.4467,28.3161
L 22.5499,27.9248 L 22.5842,27.4778 L 22.4478,26.6684 L 22.0385,26.0904 L 21.3562,25.7435 L 20.4012,25.6279
L 17.8598,25.6279 L 17.8598,29.4359 L 20.4677,29.4359 z
M -40.81,35.46 L -40.81,23.7198 L -38.3519,23.7198 L -38.3519,35.46 z
M -84.1489,35.46 L -84.1489,23.7198 L -78.283,23.7198 L -77.293,23.7763 L -76.4228,23.9458 L -75.6724,24.2284
L -75.0417,24.6239 L -74.5423,25.1251 L -74.1855,25.7248 L -73.9715,26.4228 L -73.9001,27.2193 L -73.9439,27.8149
L -74.0751,28.3682 L -74.2939,28.8794 L -74.6001,29.3484 L -74.9808,29.7579 L -75.4229,30.0909 L -75.9265,30.3474
L -76.4915,30.5273 L -73.3168,35.46 L -76.0832,35.46 L -78.8079,31.0022 L -81.6909,31.0022 L -81.6909,35.46
z
M -77.9892,29.065 L -77.5664,28.9775 L -77.2061,28.8317 L -76.9082,28.6276 L -76.6749,28.3708 L -76.5082,28.0672
L -76.4082,27.7167 L -76.3749,27.3194 L -76.5103,26.5793 L -76.9165,26.0508 L -77.5935,25.7336 L -78.5413,25.6279
L -81.6909,25.6279 L -81.6909,29.0941 L -78.4746,29.0941 z
M 94.2147,35.46 L 94.2147,23.7198 L 100.081,23.7198 L 101.071,23.7763 L 101.941,23.9458 L 102.691,24.2284
L 103.322,24.6239 L 103.821,25.1251 L 104.178,25.7248 L 104.392,26.4228 L 104.463,27.2193 L 104.42,27.8149
L 104.288,28.3682 L 104.07,28.8794 L 103.763,29.3484 L 103.383,29.7579 L 102.941,30.0909 L 102.437,30.3474
L 101.872,30.5273 L 105.047,35.46 L 102.28,35.46 L 99.5557,31.0022 L 96.6728,31.0022 L 96.6728,35.46
z
M 100.374,29.065 L 100.797,28.9775 L 101.158,28.8317 L 101.455,28.6276 L 101.689,28.3708 L 101.855,28.0672
L 101.955,27.7167 L 101.989,27.3194 L 101.853,26.5793 L 101.447,26.0508 L 100.77,25.7336 L 99.8223,25.6279
L 96.6728,25.6279 L 96.6728,29.0941 L 99.8891,29.0941 z
M -63.871,35.46 L -63.871,23.7198 L -54.6387,23.7198 L -54.6387,25.6195 L -61.4129,25.6195 L -61.4129,28.5692
L -55.147,28.5692 L -55.147,30.4689 L -61.4129,30.4689 L -61.4129,33.5603 L -54.2971,33.5603 L -54.2971,35.46
z
M 74.8563,35.46 L 74.8563,23.7198 L 84.0885,23.7198 L 84.0885,25.6195 L 77.3143,25.6195 L 77.3143,28.5692
L 83.5802,28.5692 L 83.5802,30.4689 L 77.3143,30.4689 L 77.3143,33.5603 L 84.4301,33.5603 L 84.4301,35.46
z
M 58.2809,35.46 L 58.2809,23.7198 L 60.739,23.7198 L 60.739,35.46 z
M 38.5362,35.46 L 34.195,23.7198 L 36.7615,23.7198 L 39.1777,31.2605 L 39.3007,31.674 L 39.4444,32.1813
L 39.6089,32.7823 L 39.7943,33.477 L 39.9693,32.7604 L 40.3943,31.2605 L 42.8024,23.7198 L 45.3437,23.7198
L 41.0276,35.46 z
M -24.2346,35.46 L -24.2346,23.7198 L -15.0024,23.7198 L -15.0024,25.6195 L -21.7766,25.6195 L -21.7766,28.5692
L -15.5107,28.5692 L -15.5107,30.4689 L -21.7766,30.4689 L -21.7766,33.5603 L -14.6608,33.5603 L -14.6608,35.46
z
M 98.1475,55.3987 L 97.2013,55.2487 L 96.3769,54.9987 L 95.6744,54.6488 L 95.0901,54.1973 L 94.6203,53.6427
L 94.2652,52.9849 L 94.0246,52.2241 L 96.3993,51.8325 L 96.5488,52.2671 L 96.7555,52.6376 L 97.0195,52.9441
L 97.3408,53.1866 L 97.7246,53.3707 L 98.1762,53.5021 L 98.6954,53.581 L 99.2823,53.6073 L 100.409,53.5094
L 101.213,53.2157 L 101.696,52.7261 L 101.857,52.0408 L 101.838,51.8018 L 101.783,51.5846 L 101.691,51.3893
L 101.561,51.2159 L 101.398,51.0602 L 101.205,50.918 L 100.981,50.7894 L 100.728,50.6743 L 100.397,50.5603
L 99.9436,50.4348 L 99.3664,50.2978 L 98.6657,50.1493 L 98.0574,50.0027 L 97.5491,49.8712 L 97.1408,49.7549
L 96.8325,49.6536 L 96.5804,49.5557 L 96.3409,49.4495 L 96.1138,49.3349 L 95.8992,49.212 L 95.6988,49.0784
L 95.5139,48.9318 L 95.3447,48.7722 L 95.191,48.5995 L 95.0533,48.4126 L 94.9317,48.21 L 94.8263,47.9918
L 94.737,47.7579 L 94.6659,47.5075 L 94.6152,47.2393 L 94.5847,46.9534 L 94.5745,46.6498 L 94.6493,45.9007
L 94.8735,45.2448 L 95.2471,44.6821 L 95.7702,44.2126 L 96.436,43.8426 L 97.2377,43.5783 L 98.1753,43.4197
L 99.2489,43.3669 L 100.272,43.4096 L 101.16,43.5377 L 101.912,43.7512 L 102.528,44.0502 L 103.027,44.4475
L 103.429,44.9562 L 103.733,45.5765 L 103.94,46.3082 L 101.557,46.6332 L 101.442,46.2775 L 101.279,45.9687
L 101.069,45.7068 L 100.811,45.4917 L 100.5,45.324 L 100.127,45.2042 L 99.6934,45.1323 L 99.199,45.1083
L 98.222,45.1958 L 97.5242,45.4583 L 97.1055,45.8957 L 96.9659,46.5081 L 96.9807,46.7268 L 97.0252,46.9248
L 97.0994,47.1019 L 97.2033,47.2581 L 97.3363,47.3984 L 97.4981,47.5278 L 97.6884,47.6463 L 97.9073,47.7539
L 98.2006,47.8625 L 98.6136,47.984 L 99.1463,48.1187 L 99.7988,48.2663 L 100.584,48.442 L 101.25,48.611
L 101.795,48.7733 L 102.219,48.9287 L 102.565,49.087 L 102.872,49.2578 L 103.142,49.4411 L 103.373,49.6369
L 103.573,49.8489 L 103.748,50.0806 L 103.898,50.3322 L 104.023,50.6035 L 104.122,50.8954 L 104.192,51.2086
L 104.234,51.5432 L 104.248,51.8991 L 104.168,52.7107 L 103.929,53.4208 L 103.529,54.0293 L 102.969,54.5363
L 102.255,54.9355 L 101.391,55.2206 L 100.378,55.3916 L 99.2156,55.4487 z
M 58.725,55.3484 L 57.5499,55.0477 L 56.5357,54.5464 L 55.6823,53.8447 L 55.0061,52.9628 L 54.5231,51.921
L 54.2333,50.7193 L 54.1367,49.3578 L 54.2299,47.9959 L 54.5096,46.8018 L 54.9757,45.7754 L 55.6282,44.9166
L 56.4578,44.2386 L 57.4551,43.7543 L 58.62,43.4637 L 59.9527,43.3669 L 60.938,43.4187 L 61.8274,43.5741
L 62.6211,43.8333 L 63.3189,44.196 L 63.9204,44.6592 L 64.425,45.2198 L 64.8328,45.8778 L 65.1438,46.6332
L 62.9773,47.2247 L 62.8068,46.8057 L 62.5701,46.4321 L 62.2673,46.1038 L 61.8983,45.8207 L 61.4783,45.5929
L 61.0224,45.4302 L 60.5305,45.3326 L 60.0027,45.3 L 59.2197,45.3646 L 58.5373,45.5583 L 57.9553,45.8812
L 57.4738,46.3333 L 57.0966,46.9097 L 56.8271,47.6059 L 56.6654,48.422 L 56.6115,49.3578 L 56.667,50.3103
L 56.8334,51.143 L 57.1107,51.8559 L 57.4989,52.4491 L 57.9918,52.9157 L 58.5831,53.249 L 59.2729,53.449
L 60.061,53.5156 L 61.0885,53.3761 L 61.9462,52.9574 L 62.6341,52.2595 L 63.1523,51.2825 L 65.2937,52.0908
L 64.9076,52.8863 L 64.4407,53.5729 L 63.8931,54.1507 L 63.2648,54.6196 L 62.5631,54.9823 L 61.7952,55.2414
L 60.9612,55.3969 L 60.061,55.4487 z
M -80.0023,55.3484 L -81.1774,55.0477 L -82.1916,54.5464 L -83.0449,53.8447 L -83.7211,52.9628 L -84.2041,51.921
L -84.4939,50.7193 L -84.5905,49.3578 L -84.4973,47.9959 L -84.2177,46.8018 L -83.7516,45.7754 L -83.0991,44.9166
L -82.2695,44.2386 L -81.2722,43.7543 L -80.1072,43.4637 L -78.7746,43.3669 L -77.7893,43.4187 L -76.8998,43.5741
L -76.1062,43.8333 L -75.4084,44.196 L -74.8069,44.6592 L -74.3022,45.2198 L -73.8944,45.8778 L -73.5835,46.6332
L -75.75,47.2247 L -75.9205,46.8057 L -76.1572,46.4321 L -76.46,46.1038 L -76.8289,45.8207 L -77.2489,45.5929
L -77.7049,45.4302 L -78.1968,45.3326 L -78.7246,45.3 L -79.5075,45.3646 L -80.19,45.5583 L -80.772,45.8812
L -81.2534,46.3333 L -81.6307,46.9097 L -81.9002,47.6059 L -82.0619,48.422 L -82.1158,49.3578 L -82.0603,50.3103
L -81.8939,51.143 L -81.6166,51.8559 L -81.2284,52.4491 L -80.7355,52.9157 L -80.1441,53.249 L -79.4544,53.449
L -78.6662,53.5156 L -77.6388,53.3761 L -76.7811,52.9574 L -76.0931,52.2595 L -75.575,51.2825 L -73.4336,52.0908
L -73.8197,52.8863 L -74.2866,53.5729 L -74.8342,54.1507 L -75.4625,54.6196 L -76.1642,54.9823 L -76.9321,55.2414
L -77.7661,55.3969 L -78.6662,55.4487 z
M 18.8748,55.3987 L 17.9285,55.2487 L 17.1042,54.9987 L 16.4017,54.6488 L 15.8174,54.1973 L 15.3476,53.6427
L 14.9924,52.9849 L 14.7518,52.2241 L 17.1266,51.8325 L 17.276,52.2671 L 17.4828,52.6376 L 17.7468,52.9441
L 18.0681,53.1866 L 18.4519,53.3707 L 18.9034,53.5021 L 19.4227,53.581 L 20.0096,53.6073 L 21.136,53.5094
L 21.9406,53.2157 L 22.4233,52.7261 L 22.5842,52.0408 L 22.5657,51.8018 L 22.5103,51.5846 L 22.4178,51.3893
L 22.2884,51.2159 L 22.1254,51.0602 L 21.9322,50.918 L 21.7088,50.7894 L 21.4552,50.6743 L 21.1247,50.5603
L 20.6709,50.4348 L 20.0936,50.2978 L 19.393,50.1493 L 18.7847,50.0027 L 18.2764,49.8712 L 17.8681,49.7549
L 17.5597,49.6536 L 17.3077,49.5557 L 17.0681,49.4495 L 16.8411,49.3349 L 16.6265,49.212 L 16.4261,49.0784
L 16.2412,48.9318 L 16.0719,48.7722 L 15.9183,48.5995 L 15.7806,48.4126 L 15.659,48.21 L 15.5536,47.9918
L 15.4643,47.7579 L 15.3932,47.5075 L 15.3424,47.2393 L 15.312,46.9534 L 15.3018,46.6498 L 15.3766,45.9007
L 15.6007,45.2448 L 15.9744,44.6821 L 16.4975,44.2126 L 17.1633,43.8426 L 17.965,43.5783 L 18.9026,43.4197
L 19.9761,43.3669 L 20.9997,43.4096 L 21.8874,43.5377 L 22.6391,43.7512 L 23.2549,44.0502 L 23.7541,44.4475
L 24.1559,44.9562 L 24.4603,45.5765 L 24.6673,46.3082 L 22.2842,46.6332 L 22.1689,46.2775 L 22.0061,45.9687
L 21.796,45.7068 L 21.5385,45.4917 L 21.2268,45.324 L 20.8542,45.2042 L 20.4207,45.1323 L 19.9263,45.1083
L 18.9493,45.1958 L 18.2514,45.4583 L 17.8327,45.8957 L 17.6932,46.5081 L 17.708,46.7268 L 17.7525,46.9248
L 17.8267,47.1019 L 17.9306,47.2581 L 18.0636,47.3984 L 18.2253,47.5278 L 18.4157,47.6463 L 18.6346,47.7539
L 18.9278,47.8625 L 19.3408,47.984 L 19.8736,48.1187 L 20.5261,48.2663 L 21.3117,48.442 L 21.977,48.611
L 22.5219,48.7733 L 22.9466,48.9287 L 23.2921,49.087 L 23.5997,49.2578 L 23.8691,49.4411 L 24.1006,49.6369
L 24.3006,49.8489 L 24.4756,50.0806 L 24.6256,50.3322 L 24.7506,50.6035 L 24.849,50.8954 L 24.9193,51.2086
L 24.9615,51.5432 L 24.9756,51.8991 L 24.8956,52.7107 L 24.6558,53.4208 L 24.2561,54.0293 L 23.6965,54.5363
L 22.9823,54.9355 L 22.1186,55.2206 L 21.1054,55.3916 L 19.9428,55.4487 z
M 74.3965,55.2782 L 74.3965,43.538 L 76.8546,43.538 L 76.8546,48.2124 L 81.9706,48.2124 L 81.9706,43.538
L 84.4287,43.538 L 84.4287,55.2782 L 81.9706,55.2782 L 81.9706,50.2455 L 76.8546,50.2455 L 76.8546,55.2782
z
M 35.2199,55.2782 L 35.2199,43.538 L 44.4522,43.538 L 44.4522,45.4377 L 37.678,45.4377 L 37.678,48.3874
L 43.9438,48.3874 L 43.9438,50.2871 L 37.678,50.2871 L 37.678,53.3785 L 44.7938,53.3785 L 44.7938,55.2782
z
M -3.94855,55.2782 L -3.94855,43.538 L -1.49048,43.538 L -1.49048,53.3785 L 4.8087,53.3785 L 4.8087,55.2782
z
M -64.3307,55.2782 L -64.3307,43.538 L -61.8727,43.538 L -61.8727,48.2124 L -56.7567,48.2124 L -56.7567,43.538
L -54.2986,43.538 L -54.2986,55.2782 L -56.7567,55.2782 L -56.7567,50.2455 L -61.8727,50.2455 L -61.8727,55.2782
z
M -24.6944,55.2782 L -24.6944,43.538 L -18.8285,43.538 L -17.8385,43.5945 L -16.9683,43.764 L -16.2178,44.0465
L -15.5872,44.4421 L -15.0877,44.9433 L -14.731,45.5429 L -14.5169,46.241 L -14.4456,47.0375 L -14.4893,47.6331
L -14.6206,48.1864 L -14.8393,48.6976 L -15.1456,49.1665 L -15.5263,49.5761 L -15.9684,49.9091 L -16.472,50.1655
L -17.037,50.3455 L -13.8623,55.2782 L -16.6287,55.2782 L -19.3534,50.8204 L -22.2363,50.8204 L -22.2363,55.2782
z
M -18.5347,48.8832 L -18.1119,48.7957 L -17.7515,48.6499 L -17.4536,48.4458 L -17.2203,48.189 L -17.0537,47.8854
L -16.9537,47.5349 L -16.9204,47.1375 L -17.0558,46.3975 L -17.462,45.8689 L -18.1389,45.5518 L -19.0867,45.4461
L -22.2363,45.4461 L -22.2363,48.9123 L -19.02,48.9123 z
M -40.7436,55.2782 L -40.7436,45.4377 L -44.5347,45.4377 L -44.5347,43.538 L -34.4859,43.538 L -34.4859,45.4377
L -38.2855,45.4377 L -38.2855,55.2782 z
M -104.684,55.2782 L -100.401,43.538 L -97.5012,43.538 L -93.235,55.2782 L -95.668,55.2782 L -96.7096,52.2785
L -101.184,52.2785 L -102.226,55.2782 z
M -98.4178,47.0542 L -98.776,45.9211 L -98.9511,45.3461 L -99.001,45.5294 L -99.0448,45.6846 L -99.0927,45.8502
L -99.1448,46.0263 L -99.201,46.2127 L -99.3343,46.6199 L -99.6176,47.4583 L -100.051,48.728 L -100.634,50.4288
L -97.2596,50.4288 z
M 56.8809,63.6497 L 56.8809,61.8249 L 58.4974,61.8249 L 58.4974,63.6497 z
M 60.6637,63.6497 L 60.6637,61.8249 L 62.3052,61.8249 L 62.3052,63.6497 z
M -100.034,75.2169 L -100.981,75.0669 L -101.805,74.8169 L -102.507,74.467 L -103.092,74.0155 L -103.561,73.4608
L -103.917,72.8031 L -104.157,72.0423 L -101.782,71.6507 L -101.633,72.0853 L -101.426,72.4558 L -101.162,72.7623
L -100.841,73.0048 L -100.457,73.1888 L -100.006,73.3203 L -99.4864,73.3992 L -98.8995,73.4255 L -97.7731,73.3276
L -96.9685,73.0339 L -96.4858,72.5443 L -96.3248,71.859 L -96.3433,71.6199 L -96.3988,71.4028 L -96.4913,71.2075
L -96.6207,71.0341 L -96.7837,70.8784 L -96.9769,70.7362 L -97.2003,70.6076 L -97.4539,70.4925 L -97.7843,70.3785
L -98.2382,70.2529 L -98.8154,70.116 L -99.5161,69.9675 L -100.124,69.8209 L -100.633,69.6894 L -101.041,69.5731
L -101.349,69.4718 L -101.601,69.3739 L -101.841,69.2677 L -102.068,69.1531 L -102.283,69.0302 L -102.483,68.8966
L -102.668,68.75 L -102.837,68.5903 L -102.991,68.4177 L -103.129,68.2307 L -103.25,68.0282 L -103.356,67.81
L -103.445,67.5761 L -103.516,67.3257 L -103.567,67.0575 L -103.597,66.7716 L -103.607,66.468 L -103.533,65.7188
L -103.308,65.0629 L -102.935,64.5003 L -102.412,64.0308 L -101.746,63.6608 L -100.944,63.3965 L -100.006,63.2379
L -98.9329,63.185 L -97.9094,63.2278 L -97.0217,63.3559 L -96.27,63.5694 L -95.6542,63.8683 L -95.155,64.2657
L -94.7532,64.7744 L -94.4488,65.3947 L -94.2418,66.1264 L -96.6249,66.4514 L -96.7402,66.0957 L -96.9029,65.7869
L -97.1131,65.5249 L -97.3706,65.3099 L -97.6823,65.1422 L -98.0549,65.0224 L -98.4884,64.9505 L -98.9828,64.9265
L -99.9598,65.014 L -100.658,65.2765 L -101.076,65.7139 L -101.216,66.3263 L -101.201,66.545 L -101.157,66.743
L -101.082,66.92 L -100.979,67.0763 L -100.845,67.2166 L -100.684,67.346 L -100.493,67.4645 L -100.274,67.5721
L -99.9812,67.6806 L -99.5682,67.8022 L -99.0355,67.9368 L -98.383,68.0845 L -97.5974,68.2602 L -96.9321,68.4292
L -96.3871,68.5914 L -95.9625,68.7469 L -95.6169,68.9052 L -95.3094,69.076 L -95.0399,69.2593 L -94.8085,69.4551
L -94.6085,69.6671 L -94.4335,69.8988 L -94.2835,70.1504 L -94.1585,70.4217 L -94.06,70.7136 L -93.9897,71.0268
L -93.9476,71.3614 L -93.9335,71.7173 L -94.0134,72.5289 L -94.2533,73.239 L -94.653,73.8475 L -95.2126,74.3545
L -95.9268,74.7537 L -96.7905,75.0388 L -97.8036,75.2098 L -98.9662,75.2669 z
M -80.4464,75.0964 L -80.4464,63.3562 L -77.9883,63.3562 L -77.9883,75.0964 z
M -63.871,75.0964 L -63.871,63.3562 L -54.6387,63.3562 L -54.6387,65.2559 L -61.4129,65.2559 L -61.4129,68.2056
L -55.147,68.2056 L -55.147,70.1053 L -61.4129,70.1053 L -61.4129,73.1967 L -54.2971,73.1967 L -54.2971,75.0964
z
M -44.5126,75.0964 L -44.5126,63.3562 L -39.1382,63.3562 L -38.1287,63.4028 L -37.2499,63.5426 L -36.5018,63.7757
L -35.8845,64.102 L -35.4014,64.5194 L -35.0564,65.0258 L -34.8494,65.6213 L -34.7804,66.3059 L -34.8151,66.7862
L -34.919,67.2276 L -35.0921,67.6299 L -35.3346,67.9931 L -35.6478,68.309 L -36.0334,68.5691 L -36.4914,68.7735
L -37.0218,68.9222 L -36.3518,69.0406 L -35.7667,69.2294 L -35.2665,69.4885 L -34.8512,69.8179 L -34.525,70.2119
L -34.2919,70.6646 L -34.1521,71.1763 L -34.1055,71.7468 L -34.1805,72.5014 L -34.4055,73.1654 L -34.7804,73.7388
L -35.3054,74.2216 L -35.9636,74.6043 L -36.7385,74.8777 L -37.6301,75.0417 L -38.6383,75.0964 z
M -38.7531,68.0663 L -38.3394,67.9984 L -37.997,67.8851 L -37.726,67.7265 L -37.52,67.5226 L -37.3728,67.2734
L -37.2845,66.9789 L -37.2551,66.6391 L -37.2866,66.272 L -37.3811,65.9621 L -37.5387,65.7096 L -37.7592,65.5143
L -38.0417,65.3685 L -38.3852,65.2643 L -38.7895,65.2018 L -39.2549,65.181 L -42.0545,65.181 L -42.0545,68.089
L -39.2381,68.089 z
M -38.2948,73.2448 L -37.8227,73.1644 L -37.4303,73.0303 L -37.1176,72.8425 L -36.8788,72.6012 L -36.7083,72.3061
L -36.6059,71.9575 L -36.5718,71.5552 L -36.7197,70.8334 L -37.1634,70.3179 L -37.9029,70.0085 L -38.9382,69.9054
L -42.0545,69.9054 L -42.0545,73.2716 L -38.8465,73.2716 z
M -24.2346,75.0964 L -24.2346,63.3562 L -15.0024,63.3562 L -15.0024,65.2559 L -21.7766,65.2559 L -21.7766,68.2056
L -15.5107,68.2056 L -15.5107,70.1053 L -21.7766,70.1053 L -21.7766,73.1967 L -14.6608,73.1967 L -14.6608,75.0964
z
M -4.87621,75.0964 L -4.87621,63.3562 L -2.06819,63.3562 L 3.12279,72.4717 L 3.05721,71.8567 L 3.01036,71.2698
L 2.98225,70.711 L 2.97289,70.1804 L 2.97289,63.3562 L 5.15596,63.3562 L 5.15596,75.0964 L 2.27287,75.0964
L -2.84303,66.0558 L -2.77745,66.6818 L -2.73061,67.2432 L -2.7025,67.7401 L -2.69313,68.1723 L -2.69313,75.0964
z
M 15.2365,75.0964 L 15.2365,73.3549 L 21.5857,65.281 L 15.8696,65.281 L 15.8696,63.3562 L 24.3186,63.3562
L 24.3186,65.0643 L 17.9694,73.1716 L 24.6603,73.1716 L 24.6603,75.0964 z
M 34.8128,75.0964 L 31.7881,63.3562 L 34.2795,63.3562 L 35.9792,70.9386 L 36.3626,72.7717 L 36.4784,72.1991
L 36.5927,71.6395 L 36.7054,71.093 L 36.8166,70.5594 L 37.0033,69.714 L 37.3426,68.2316 L 37.8345,66.1124
L 38.4789,63.3562 L 41.2286,63.3562 L 42.7117,69.6055 L 42.8143,70.0658 L 42.9471,70.747 L 43.1102,71.6489
L 43.3034,72.7717 L 43.5117,71.8051 L 43.9533,69.8887 L 45.3697,63.3562 L 47.8611,63.3562 L 44.8281,75.0964
L 41.9118,75.0964 L 40.3204,68.3056 L 40.1803,67.6989 L 40.0517,67.0787 L 39.9345,66.4449 L 39.8288,65.7975
L 39.7335,66.3108 L 39.6475,66.7589 L 39.571,67.142 L 39.5038,67.4599 L 39.346,68.1512 L 38.9976,69.6544
L 38.4586,71.9695 L 37.729,75.0964 z
M 95.1423,75.0964 L 95.1423,63.3562 L 103.8,63.3562 L 103.8,65.2559 L 97.6004,65.2559 L 97.6004,68.8889
L 103.608,68.8889 L 103.608,70.7886 L 97.6004,70.7886 L 97.6004,75.0964 z
M 75.3242,75.0964 L 75.3242,63.3562 L 77.7822,63.3562 L 77.7822,73.1967 L 84.0814,73.1967 L 84.0814,75.0964
z
M 58.2721,76.4629 L 57.1131,76.1575 L 56.1036,75.6484 L 55.2436,74.9358 L 54.5564,74.0461 L 54.0656,73.0058
L 53.7711,71.8151 L 53.6729,70.4738 L 53.7708,69.1391 L 54.0645,67.9596 L 54.5541,66.9352 L 55.2394,66.0661
L 56.0992,65.3734 L 57.1121,64.8787 L 58.2781,64.5818 L 59.5972,64.4829 L 60.9165,64.5829 L 62.0833,64.8828
L 63.0975,65.3828 L 63.959,66.0827 L 64.6462,66.9571 L 65.1371,67.9804 L 65.4316,69.1526 L 65.5297,70.4738
L 65.4844,71.3627 L 65.3485,72.1965 L 65.1219,72.9751 L 64.8048,73.6985 L 64.4033,74.3533 L 63.9237,74.9264
L 63.366,75.4177 L 62.7301,75.8273 L 62.0271,76.1499 L 61.2678,76.3804 L 60.4523,76.5186 L 59.5805,76.5647
z
M 60.3583,74.564 L 61.0418,74.3609 L 61.631,74.0223 L 62.126,73.5484 L 62.5179,72.95 L 62.7978,72.2381
L 62.9658,71.4127 L 63.0218,70.4738 L 62.9655,69.5752 L 62.7968,68.7793 L 62.5156,68.0859 L 62.1219,67.4951
L 61.6266,67.023 L 61.0407,66.6858 L 60.3643,66.4835 L 59.5972,66.416 L 58.8192,66.483 L 58.1349,66.6837
L 57.5443,67.0183 L 57.0475,67.4868 L 56.6538,68.0749 L 56.3726,68.7688 L 56.2039,69.5684 L 56.1477,70.4738
L 56.2052,71.3891 L 56.3779,72.2017 L 56.6656,72.9118 L 57.0684,73.5193 L 57.5706,74.006 L 58.1567,74.3536
L 58.8267,74.5621 L 59.5805,74.6317 z
M -100.226,94.9228 L -101.225,94.7009 L -102.082,94.3312 L -102.796,93.8136 L -103.36,93.1584 L -103.762,92.3762
L -104.003,91.467 L -104.084,90.4306 L -104.084,83.0899 L -101.626,83.0899 L -101.626,90.239 L -101.584,90.8928
L -101.46,91.4628 L -101.253,91.949 L -100.963,92.3513 L -100.593,92.6666 L -100.146,92.8918 L -99.6205,93.027
L -99.0177,93.072 L -98.3975,93.0249 L -97.8533,92.8835 L -97.3851,92.6479 L -96.993,92.318 L -96.6831,91.9
L -96.4618,91.4003 L -96.329,90.8188 L -96.2847,90.1557 L -96.2847,83.0899 L -93.8267,83.0899 L -93.8267,90.3057
L -93.9129,91.3595 L -94.1714,92.2878 L -94.6024,93.0905 L -95.2057,93.7677 L -95.9652,94.3054 L -96.8649,94.6895
L -97.9046,94.9199 L -99.0844,94.9967 z
M -84.1489,94.9146 L -84.1489,83.1743 L -81.6909,83.1743 L -81.6909,87.8488 L -76.5748,87.8488 L -76.5748,83.1743
L -74.1168,83.1743 L -74.1168,94.9146 L -76.5748,94.9146 L -76.5748,89.8818 L -81.6909,89.8818 L -81.6909,94.9146
z
M -64.3307,94.9146 L -64.3307,83.1743 L -58.4648,83.1743 L -57.4748,83.2309 L -56.6046,83.4004 L -55.8542,83.6829
L -55.2236,84.0784 L -54.7241,84.5797 L -54.3674,85.1793 L -54.1533,85.8774 L -54.082,86.6739 L -54.1257,87.2694
L -54.257,87.8228 L -54.4757,88.3339 L -54.782,88.8029 L -55.1626,89.2124 L -55.6048,89.5454 L -56.1083,89.8019
L -56.6733,89.9819 L -53.4987,94.9146 L -56.265,94.9146 L -58.9897,90.4568 L -61.8727,90.4568 L -61.8727,94.9146
z
M -58.1711,88.5195 L -57.7482,88.4321 L -57.3879,88.2863 L -57.09,88.0821 L -56.8567,87.8254 L -56.69,87.5217
L -56.5901,87.1713 L -56.5567,86.7739 L -56.6921,86.0339 L -57.0983,85.5053 L -57.7753,85.1882 L -58.7231,85.0824
L -61.8727,85.0824 L -61.8727,88.5487 L -58.6564,88.5487 z
M -45.4362,94.9146 L -45.4362,83.1743 L -42.1449,83.1743 L -40.0452,89.7402 L -39.8618,90.3735 L -39.4619,91.9483
L -38.937,90.0652 L -36.7789,83.1743 L -33.5043,83.1743 L -33.5043,94.9146 L -35.6874,94.9146 L -35.6874,87.7988
L -35.6871,87.678 L -35.6863,87.5572 L -35.685,87.4364 L -35.6832,87.3155 L -35.6767,87.0952 L -35.6613,86.676
L -35.6371,86.0579 L -35.6041,85.2408 L -35.8806,86.2766 L -36.1186,87.1426 L -36.318,87.8389 L -36.4789,88.3654
L -38.5954,94.9146 L -40.3451,94.9146 L -42.4616,88.3654 L -43.3531,85.2408 L -43.3094,86.1256 L -43.2781,86.8468
L -43.2594,87.4046 L -43.2531,87.7988 L -43.2531,94.9146 z
M -24.2346,94.9146 L -24.2346,83.1743 L -15.0024,83.1743 L -15.0024,85.0741 L -21.7766,85.0741 L -21.7766,88.0238
L -15.5107,88.0238 L -15.5107,89.9235 L -21.7766,89.9235 L -21.7766,93.0148 L -14.6608,93.0148 L -14.6608,94.9146
z
M -3.94855,94.9146 L -3.94855,83.1743 L -1.49048,83.1743 L -1.49048,93.0148 L 4.8087,93.0148 L 4.8087,94.9146
z
M 15.8696,94.9146 L 15.8696,83.1743 L 24.527,83.1743 L 24.527,85.0741 L 18.3277,85.0741 L 18.3277,88.7071
L 24.3353,88.7071 L 24.3353,90.6068 L 18.3277,90.6068 L 18.3277,94.9146 z
M 35.0546,94.9146 L 35.0546,93.1731 L 41.4038,85.0992 L 35.6878,85.0992 L 35.6878,83.1743 L 44.1368,83.1743
L 44.1368,84.8825 L 37.7876,92.9898 L 44.4785,92.9898 L 44.4785,94.9146 z
M 55.0381,94.9146 L 55.0381,83.1743 L 64.2704,83.1743 L 64.2704,85.0741 L 57.4962,85.0741 L 57.4962,88.0238
L 63.762,88.0238 L 63.762,89.9235 L 57.4962,89.9235 L 57.4962,93.0148 L 64.612,93.0148 L 64.612,94.9146
z
M 74.3965,94.9146 L 74.3965,83.1743 L 76.8546,83.1743 L 76.8546,87.8488 L 81.9706,87.8488 L 81.9706,83.1743
L 84.4287,83.1743 L 84.4287,94.9146 L 81.9706,94.9146 L 81.9706,89.8818 L 76.8546,89.8818 L 76.8546,94.9146
z
M 94.2147,94.9146 L 94.2147,83.1743 L 97.0227,83.1743 L 102.214,92.2899 L 102.148,91.6749 L 102.101,91.088
L 102.073,90.5292 L 102.064,89.9986 L 102.064,83.1743 L 104.247,83.1743 L 104.247,94.9146 L 101.364,94.9146
L 96.2479,85.874 L 96.3134,86.5 L 96.3603,87.0614 L 96.3884,87.5582 L 96.3978,87.9905 L 96.3978,94.9146
z
" stroke="black" fill="lightgray" stroke-width="0.5"/>
</svg>

After

Width:  |  Height:  |  Size: 57 KiB

+467
View File
@@ -0,0 +1,467 @@
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <Adafruit_NeoPixel.h>
#include <EEPROM.h>
#include <time.h>
#include <WiFiManager.h>
// ================= LED =================
#define LED_PIN D4
#define NUMPIXELS 110
Adafruit_NeoPixel pixels(NUMPIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);
// ================= SERVER & NTP =================
ESP8266WebServer server(80);
const char DEFAULT_NTP[] = "de.pool.ntp.org";
const char DEFAULT_TZ[] = "CET-1CEST,M3.5.0/02,M10.5.0/03";
String ntpServer = DEFAULT_NTP;
String tzString = DEFAULT_TZ;
// ================= SETTINGS =================
#define SETTINGS_MAGIC 0x57554852UL // erkennt gueltige EEPROM-Daten
struct Settings {
uint32_t magic;
int brightness;
int nightBrightness;
bool autoNight;
int nightStart;
int nightEnd;
uint32_t color;
uint32_t bgColor;
bool backgroundMode;
bool nightBackgroundDisabled;
char ntpServer[64];
char tzString[64];
} settings;
// ================= VAR =================
uint32_t currentColor = 0x00FFFF;
uint32_t bgColor = 0x000000;
bool backgroundMode = false;
bool nightBackgroundDisabled = false;
bool forceInstant = false;
bool updateNeeded = true;
int brightness = 120;
int nightBrightness = 10;
bool autoNight = true;
int nightStart = 22;
int nightEnd = 6;
uint32_t targetBuffer[NUMPIXELS]; // Soll-Farben (ohne Helligkeit/Gamma)
uint32_t currentBuffer[NUMPIXELS]; // zuletzt angezeigte Soll-Farben
int lastMinute = -1;
int lastH = -1;
// ================= ZEIT =================
bool timeSynced(){
return time(nullptr) > 100000;
}
// ================= EEPROM =================
void saveSettings(){
settings.magic = SETTINGS_MAGIC;
settings.brightness = brightness;
settings.nightBrightness = nightBrightness;
settings.autoNight = autoNight;
settings.nightStart = nightStart;
settings.nightEnd = nightEnd;
settings.color = currentColor;
settings.bgColor = bgColor;
settings.backgroundMode = backgroundMode;
settings.nightBackgroundDisabled = nightBackgroundDisabled;
strncpy(settings.ntpServer, ntpServer.c_str(), sizeof(settings.ntpServer) - 1);
settings.ntpServer[sizeof(settings.ntpServer) - 1] = '\0';
strncpy(settings.tzString, tzString.c_str(), sizeof(settings.tzString) - 1);
settings.tzString[sizeof(settings.tzString) - 1] = '\0';
EEPROM.put(0, settings);
EEPROM.commit();
}
void loadSettings(){
EEPROM.begin(512);
EEPROM.get(0, settings);
if(settings.magic == SETTINGS_MAGIC){
brightness = constrain(settings.brightness, 0, 255);
nightBrightness = constrain(settings.nightBrightness, 0, 255);
autoNight = settings.autoNight;
nightStart = constrain(settings.nightStart, 0, 23);
nightEnd = constrain(settings.nightEnd, 0, 23);
currentColor = settings.color & 0xFFFFFF;
bgColor = settings.bgColor & 0xFFFFFF;
backgroundMode = settings.backgroundMode;
nightBackgroundDisabled = settings.nightBackgroundDisabled;
settings.ntpServer[sizeof(settings.ntpServer) - 1] = '\0';
settings.tzString[sizeof(settings.tzString) - 1] = '\0';
ntpServer = String(settings.ntpServer);
tzString = String(settings.tzString);
if(ntpServer.length() == 0) ntpServer = DEFAULT_NTP;
if(tzString.length() == 0) tzString = DEFAULT_TZ;
}
configTime(tzString.c_str(), ntpServer.c_str());
}
// ================= HELFER =================
bool isNightTime(struct tm *t){
if(!autoNight) return false;
int h = t->tm_hour;
if(nightStart > nightEnd){
return (h >= nightStart || h < nightEnd);
} else {
return (h >= nightStart && h < nightEnd);
}
}
void setRange(int a,int b){
for(int i=a;i<=b;i++) targetBuffer[i]=currentColor;
}
uint32_t blend(uint32_t c1, uint32_t c2, float t){
uint8_t r1=(c1>>16)&255, g1=(c1>>8)&255, b1=c1&255;
uint8_t r2=(c2>>16)&255, g2=(c2>>8)&255, b2=c2&255;
return pixels.Color((uint8_t)(r1+(r2-r1)*t + 0.5f),
(uint8_t)(g1+(g2-g1)*t + 0.5f),
(uint8_t)(b1+(b2-b1)*t + 0.5f));
}
uint8_t gamma8(uint8_t x){
float f = (float)x / 255.0f;
return (uint8_t)(f * f * 255.0f + 0.5f);
}
// Skaliert einen Farbkanal mit der Helligkeit und korrigiert Gamma.
// Ein aktiver Kanal bleibt bei Helligkeit > 0 mindestens auf 1, damit er nicht erlischt.
uint8_t scaleChannel(uint8_t c, float factor){
if(c == 0 || factor <= 0) return 0;
uint8_t v = gamma8((uint8_t)(c * factor));
return v ? v : 1;
}
uint32_t applyGammaBrightness(uint32_t c, float brightnessFactor){
return pixels.Color(scaleChannel((c >> 16) & 255, brightnessFactor),
scaleChannel((c >> 8) & 255, brightnessFactor),
scaleChannel(c & 255, brightnessFactor));
}
int getBrightness(struct tm *t){
return isNightTime(t) ? nightBrightness : brightness;
}
void showInstant(){
time_t now = time(nullptr);
struct tm *t = localtime(&now);
float b = getBrightness(t) / 255.0f;
for(int i=0;i<NUMPIXELS;i++){
pixels.setPixelColor(i, applyGammaBrightness(targetBuffer[i], b));
}
pixels.show();
}
void fadeToTargetSmooth(int steps = 30, int delayMs = 15){
time_t now = time(nullptr);
struct tm *t = localtime(&now);
float bTarget = getBrightness(t) / 255.0f;
// Im Nachtmodus faden wir langsamer (mehr Schritte), um das Springen zu kaschieren
if(isNightTime(t)){
steps = 60;
delayMs = 25;
}
for(int s = 0; s <= steps; s++){
float tBlend = (float)s / steps;
for(int i = 0; i < NUMPIXELS; i++){
uint32_t c = blend(currentBuffer[i], targetBuffer[i], tBlend);
pixels.setPixelColor(i, applyGammaBrightness(c, bTarget));
}
pixels.show();
yield(); // Verhindert WDT-Reset beim ESP8266
delay(delayMs);
}
}
// ================= WORTUHR LOGIK =================
void word_ES(){ setRange(0,1); }
void word_IST(){ setRange(3,5); }
void word_FUENF_M(){ setRange(7,10); }
void word_ZEHN_M(){ setRange(18,21); }
void word_ZWANZIG(){ setRange(11,17); }
void word_VIERTEL(){ setRange(22,28); }
void word_VOR(){ setRange(30,32); }
void word_NACH(){ setRange(40,43); }
void word_HALB(){ setRange(33,36); }
void word_EINS(){ setRange(62,65); }
void word_EIN(){ setRange(62,64); }
void word_ZWEI(){ setRange(55,58); }
void word_DREI(){ setRange(66,69); }
void word_VIER(){ setRange(73,76); }
void word_FUENF_H(){ setRange(51,54); }
void word_SECHS(){ setRange(83,87); }
void word_SIEBEN(){ setRange(88,93); }
void word_ACHT(){ setRange(77,80); }
void word_NEUN(){ setRange(44,47); }
void word_ZEHN_H(){ setRange(106,109); }
void word_ELF(){ setRange(103,105); }
void word_ZWOELF(){ setRange(94,98); }
void word_UHR(){ setRange(99,101); }
String getTimeText(int h, int m){
int m5 = (m/5)*5;
if(m5 >= 25) h++;
const char* arr[] = {"Zwölf","Eins","Zwei","Drei","Vier","Fünf","Sechs","Sieben","Acht","Neun","Zehn","Elf"};
String hName = arr[h%12];
String t = "Es ist ";
switch(m5){
case 0: t += (h%12 == 1) ? String("ein") : hName; t += " Uhr"; break;
case 5: t += "fünf nach " + hName; break;
case 10: t += "zehn nach " + hName; break;
case 15: t += "viertel nach " + hName; break;
case 20: t += "zwanzig nach " + hName; break;
case 25: t += "fünf vor halb " + hName; break;
case 30: t += "halb " + hName; break;
case 35: t += "fünf nach halb " + hName; break;
case 40: t += "zwanzig vor " + hName; break;
case 45: t += "viertel vor " + hName; break;
case 50: t += "zehn vor " + hName; break;
case 55: t += "fünf vor " + hName; break;
}
return t;
}
void showTimeWords(int h, int m){
time_t now = time(nullptr);
struct tm *t = localtime(&now);
// Startpunkt des Fades ist die zuletzt angezeigte Soll-Farbe (ohne Helligkeit/Gamma)
for(int i=0;i<NUMPIXELS;i++) currentBuffer[i] = targetBuffer[i];
// Hintergrund mit Nacht-Aus-Option
uint32_t activeBg = 0;
if(backgroundMode && !(nightBackgroundDisabled && isNightTime(t))){
activeBg = bgColor;
}
for(int i=0;i<NUMPIXELS;i++) targetBuffer[i] = activeBg;
word_ES(); word_IST();
int m5 = (m/5)*5; bool full = (m5 == 0); if(m5 >= 25) h++;
switch(m5){
case 0: word_UHR(); break;
case 5: word_FUENF_M(); word_NACH(); break;
case 10: word_ZEHN_M(); word_NACH(); break;
case 15: word_VIERTEL(); word_NACH(); break;
case 20: word_ZWANZIG(); word_NACH(); break;
case 25: word_FUENF_M(); word_VOR(); word_HALB(); break;
case 30: word_HALB(); break;
case 35: word_FUENF_M(); word_NACH(); word_HALB(); break;
case 40: word_ZWANZIG(); word_VOR(); break;
case 45: word_VIERTEL(); word_VOR(); break;
case 50: word_ZEHN_M(); word_VOR(); break;
case 55: word_FUENF_M(); word_VOR(); break;
}
int hh = h % 12;
if(hh == 1 && full) word_EIN();
else if(hh == 1) word_EINS(); else if(hh == 2) word_ZWEI(); else if(hh == 3) word_DREI();
else if(hh == 4) word_VIER(); else if(hh == 5) word_FUENF_H(); else if(hh == 6) word_SECHS();
else if(hh == 7) word_SIEBEN(); else if(hh == 8) word_ACHT(); else if(hh == 9) word_NEUN();
else if(hh == 10) word_ZEHN_H(); else if(hh == 11) word_ELF(); else word_ZWOELF();
if(forceInstant){ showInstant(); forceInstant = false; }
else { fadeToTargetSmooth(20, 10); }
}
// ================= WEB HANDLERS =================
String jsonEscape(const String &s){
String out;
for(unsigned int i = 0; i < s.length(); i++){
char c = s[i];
if(c == '"' || c == '\\'){ out += '\\'; out += c; }
else if((uint8_t)c < 0x20) out += ' ';
else out += c;
}
return out;
}
void sendOK(){ server.send(200, "text/plain", "OK"); }
// Liest den Parameter "val" als Zahl; sendet 400 und liefert false bei ungueltigem Wert.
bool argInRange(int lo, int hi, int &out){
if(!server.hasArg("val")){ server.send(400, "text/plain", "Fehlender Wert"); return false; }
int v = server.arg("val").toInt();
if(v < lo || v > hi){ server.send(400, "text/plain", "Ungueltiger Wert"); return false; }
out = v;
return true;
}
void handleStatus(){
time_t now = time(nullptr);
struct tm *t = localtime(&now);
char hexCol[10], hexBg[10];
snprintf(hexCol, sizeof(hexCol), "#%06X", (unsigned int)currentColor);
snprintf(hexBg, sizeof(hexBg), "#%06X", (unsigned int)bgColor);
String ntpStat = timeSynced() ? "OK" : "SYNC...";
String json = "{";
json += "\"txt\":\"" + (timeSynced() ? jsonEscape(getTimeText(t->tm_hour, t->tm_min)) : String("Warte auf Zeit...")) + "\",";
json += "\"ip\":\"" + WiFi.localIP().toString() + "\",";
json += "\"ntp\":\"" + ntpStat + "\",";
json += "\"ntpServer\":\"" + jsonEscape(ntpServer) + "\",";
json += "\"tzString\":\"" + jsonEscape(tzString) + "\",";
json += "\"brightness\":" + String(brightness) + ",";
json += "\"nightBrightness\":" + String(nightBrightness) + ",";
json += "\"color\":\"" + String(hexCol) + "\",";
json += "\"bgColor\":\"" + String(hexBg) + "\",";
json += "\"night\":" + String(autoNight ? 1 : 0) + ",";
json += "\"nightStart\":" + String(nightStart) + ",";
json += "\"nightEnd\":" + String(nightEnd) + ",";
json += "\"bg\":" + String(backgroundMode ? 1 : 0) + ",";
json += "\"nightBgOff\":" + String(nightBackgroundDisabled ? 1 : 0);
json += "}";
server.send(200, "application/json", json);
}
static const char INDEX_HTML[] PROGMEM = R"rawliteral(
<!DOCTYPE html>
<html><head><meta charset='UTF-8'><meta name='viewport' content='width=device-width, initial-scale=1'>
<title>Wortuhr</title>
<style>
body{font-family:Arial,sans-serif; background:#fff; margin:0; color:#333; display:flex; flex-direction:column; align-items:center}
.card{width:90%; max-width:400px; margin:10px; padding:15px; border-radius:12px; background:#f2f2f2; box-shadow: 0 2px 5px rgba(0,0,0,0.1); box-sizing:border-box}
.big{font-size:26px; text-align:center; font-weight:bold; color:#0055ff}
#status{font-size:0.85em; color:#666; text-align:center}
input[type='range'], input[type='color'], input[type='text']{width:100%; margin-bottom:10px; box-sizing:border-box}
button{width:100%; padding:12px; border-radius:8px; background:#0055ff; color:#fff; border:none; cursor:pointer}
label{font-weight:bold; display:block; margin-bottom:5px}
</style></head><body>
<div class='card big' id='txt'>Lade...</div>
<div class='card' id='status'>Verbinde...</div>
<div class='card'>
<label>Farbe Worte</label>
<input type='color' id='col' onchange="f('/color?c='+this.value.substring(1))">
<label>Helligkeit</label>
<input type='range' id='br' min='0' max='255' oninput="f('/brightness?val='+this.value)">
</div>
<div class='card'>
<input type='checkbox' id='bg' onchange="f('/bg?val='+(this.checked?1:0))"> <b>Hintergrund</b><br><br>
<input type='color' id='bgcol' onchange="f('/bgcolor?c='+this.value.substring(1))">
</div>
<div class='card'>
<input type='checkbox' id='night' onchange="f('/night?val='+(this.checked?1:0))"> <b>Nachtmodus</b><br><br>
Von: <input type='number' id='nS' min='0' max='23' style='width:50px' oninput="n('/nightStart',this.value)"> Uhr
Bis: <input type='number' id='nE' min='0' max='23' style='width:50px' oninput="n('/nightEnd',this.value)"> Uhr<br><br>
<label>Nacht-Helligkeit</label>
<input type='range' id='nbr' min='0' max='255' oninput="f('/nightBrightness?val='+this.value)">
<input type='checkbox' id='nightBgOff' onchange="f('/nightBgOff?val='+(this.checked?1:0))"> Hintergrund in Nacht aus
</div>
<div class='card'>
<label>NTP Server:</label>
<input type='text' id='ntpS' onchange="f('/setNTP?val='+encodeURIComponent(this.value))">
<label>Zeitzone (POSIX TZ):</label>
<input type='text' id='tzS' onchange="f('/setTZ?val='+encodeURIComponent(this.value))">
</div>
<div class='card'><button onclick="f('/save').then(()=>alert('Gespeichert!'))">EEPROM Speichern</button></div>
<script>
function f(u){return fetch(u)}
function n(u,v){ if(v==='') return; f(u+'?val='+Math.min(23,Math.max(0,parseInt(v)||0))); }
function u(){fetch('/status').then(r=>r.json()).then(d=>{
document.getElementById('txt').innerText=d.txt;
document.getElementById('status').innerText="IP: "+d.ip+" | NTP: "+d.ntp;
const s=(i,v,c=false)=>{const e=document.getElementById(i);if(e&&document.activeElement!==e){if(c)e.checked=(v==1);else e.value=v;}};
s('col',d.color);s('br',d.brightness);s('night',d.night,true);s('nS',d.nightStart);s('nE',d.nightEnd);
s('nbr',d.nightBrightness);s('bg',d.bg,true);s('bgcol',d.bgColor);s('ntpS',d.ntpServer);s('tzS',d.tzString);
s('nightBgOff',d.nightBgOff,true);
}).catch(()=>{document.getElementById('status').innerText='Verbindung unterbrochen...';})}
setInterval(u, 2500); u();
</script></body></html>
)rawliteral";
void handleRoot(){
server.send_P(200, "text/html", INDEX_HTML);
}
void handleColor(){
if(server.hasArg("c")){
currentColor = strtoul(server.arg("c").c_str(), NULL, 16) & 0xFFFFFF;
forceInstant = true; updateNeeded = true;
}
sendOK();
}
void handleBGColor(){
if(server.hasArg("c")){
bgColor = strtoul(server.arg("c").c_str(), NULL, 16) & 0xFFFFFF;
forceInstant = true; updateNeeded = true;
}
sendOK();
}
void handleBrightness(){ int v; if(!argInRange(0,255,v)) return; brightness=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleNight(){ int v; if(!argInRange(0,1,v)) return; autoNight=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleNightStart(){ int v; if(!argInRange(0,23,v)) return; nightStart=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleNightEnd(){ int v; if(!argInRange(0,23,v)) return; nightEnd=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleNightBrightness(){ int v; if(!argInRange(0,255,v)) return; nightBrightness=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleNightBgOff(){ int v; if(!argInRange(0,1,v)) return; nightBackgroundDisabled=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleBG(){ int v; if(!argInRange(0,1,v)) return; backgroundMode=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleNTP(){
String v = server.arg("val"); v.trim();
if(v.length() == 0 || v.length() >= sizeof(settings.ntpServer)){ server.send(400, "text/plain", "Ungueltiger Wert"); return; }
ntpServer = v;
configTime(tzString.c_str(), ntpServer.c_str());
sendOK();
}
void handleTZ(){
String v = server.arg("val"); v.trim();
if(v.length() == 0 || v.length() >= sizeof(settings.tzString)){ server.send(400, "text/plain", "Ungueltiger Wert"); return; }
tzString = v;
configTime(tzString.c_str(), ntpServer.c_str());
sendOK();
}
void handleSave(){ saveSettings(); sendOK(); }
// ================= SETUP & LOOP =================
void setup(){
Serial.begin(115200);
pixels.begin();
pixels.clear();
pixels.show();
loadSettings();
WiFiManager wm;
wm.autoConnect("Wortuhr");
server.on("/", handleRoot);
server.on("/status", handleStatus);
server.on("/color", handleColor);
server.on("/bgcolor", handleBGColor);
server.on("/brightness", handleBrightness);
server.on("/night", handleNight);
server.on("/nightStart", handleNightStart);
server.on("/nightEnd", handleNightEnd);
server.on("/nightBrightness", handleNightBrightness);
server.on("/nightBgOff", handleNightBgOff);
server.on("/bg", handleBG);
server.on("/setNTP", handleNTP);
server.on("/setTZ", handleTZ);
server.on("/save", handleSave);
server.begin();
}
void loop(){
server.handleClient();
// Erst anzeigen, wenn die Zeit per NTP synchronisiert ist
if(!timeSynced()) return;
time_t now = time(nullptr);
struct tm *t = localtime(&now);
int currentM5 = (t->tm_min / 5) * 5;
if(currentM5 != lastMinute || t->tm_hour != lastH){
lastMinute = currentM5;
lastH = t->tm_hour;
updateNeeded = true;
}
if(updateNeeded){
updateNeeded = false;
showTimeWords(t->tm_hour, t->tm_min);
}
}
+1
View File
@@ -0,0 +1 @@
.pio/
+8
View File
@@ -0,0 +1,8 @@
[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
monitor_speed = 115200
lib_deps =
adafruit/Adafruit NeoPixel
tzapu/WiFiManager
+467
View File
@@ -0,0 +1,467 @@
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <Adafruit_NeoPixel.h>
#include <EEPROM.h>
#include <time.h>
#include <WiFiManager.h>
// ================= LED =================
#define LED_PIN D4
#define NUMPIXELS 110
Adafruit_NeoPixel pixels(NUMPIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);
// ================= SERVER & NTP =================
ESP8266WebServer server(80);
const char DEFAULT_NTP[] = "de.pool.ntp.org";
const char DEFAULT_TZ[] = "CET-1CEST,M3.5.0/02,M10.5.0/03";
String ntpServer = DEFAULT_NTP;
String tzString = DEFAULT_TZ;
// ================= SETTINGS =================
#define SETTINGS_MAGIC 0x57554852UL // erkennt gueltige EEPROM-Daten
struct Settings {
uint32_t magic;
int brightness;
int nightBrightness;
bool autoNight;
int nightStart;
int nightEnd;
uint32_t color;
uint32_t bgColor;
bool backgroundMode;
bool nightBackgroundDisabled;
char ntpServer[64];
char tzString[64];
} settings;
// ================= VAR =================
uint32_t currentColor = 0x00FFFF;
uint32_t bgColor = 0x000000;
bool backgroundMode = false;
bool nightBackgroundDisabled = false;
bool forceInstant = false;
bool updateNeeded = true;
int brightness = 120;
int nightBrightness = 10;
bool autoNight = true;
int nightStart = 22;
int nightEnd = 6;
uint32_t targetBuffer[NUMPIXELS]; // Soll-Farben (ohne Helligkeit/Gamma)
uint32_t currentBuffer[NUMPIXELS]; // zuletzt angezeigte Soll-Farben
int lastMinute = -1;
int lastH = -1;
// ================= ZEIT =================
bool timeSynced(){
return time(nullptr) > 100000;
}
// ================= EEPROM =================
void saveSettings(){
settings.magic = SETTINGS_MAGIC;
settings.brightness = brightness;
settings.nightBrightness = nightBrightness;
settings.autoNight = autoNight;
settings.nightStart = nightStart;
settings.nightEnd = nightEnd;
settings.color = currentColor;
settings.bgColor = bgColor;
settings.backgroundMode = backgroundMode;
settings.nightBackgroundDisabled = nightBackgroundDisabled;
strncpy(settings.ntpServer, ntpServer.c_str(), sizeof(settings.ntpServer) - 1);
settings.ntpServer[sizeof(settings.ntpServer) - 1] = '\0';
strncpy(settings.tzString, tzString.c_str(), sizeof(settings.tzString) - 1);
settings.tzString[sizeof(settings.tzString) - 1] = '\0';
EEPROM.put(0, settings);
EEPROM.commit();
}
void loadSettings(){
EEPROM.begin(512);
EEPROM.get(0, settings);
if(settings.magic == SETTINGS_MAGIC){
brightness = constrain(settings.brightness, 0, 255);
nightBrightness = constrain(settings.nightBrightness, 0, 255);
autoNight = settings.autoNight;
nightStart = constrain(settings.nightStart, 0, 23);
nightEnd = constrain(settings.nightEnd, 0, 23);
currentColor = settings.color & 0xFFFFFF;
bgColor = settings.bgColor & 0xFFFFFF;
backgroundMode = settings.backgroundMode;
nightBackgroundDisabled = settings.nightBackgroundDisabled;
settings.ntpServer[sizeof(settings.ntpServer) - 1] = '\0';
settings.tzString[sizeof(settings.tzString) - 1] = '\0';
ntpServer = String(settings.ntpServer);
tzString = String(settings.tzString);
if(ntpServer.length() == 0) ntpServer = DEFAULT_NTP;
if(tzString.length() == 0) tzString = DEFAULT_TZ;
}
configTime(tzString.c_str(), ntpServer.c_str());
}
// ================= HELFER =================
bool isNightTime(struct tm *t){
if(!autoNight) return false;
int h = t->tm_hour;
if(nightStart > nightEnd){
return (h >= nightStart || h < nightEnd);
} else {
return (h >= nightStart && h < nightEnd);
}
}
void setRange(int a,int b){
for(int i=a;i<=b;i++) targetBuffer[i]=currentColor;
}
uint32_t blend(uint32_t c1, uint32_t c2, float t){
uint8_t r1=(c1>>16)&255, g1=(c1>>8)&255, b1=c1&255;
uint8_t r2=(c2>>16)&255, g2=(c2>>8)&255, b2=c2&255;
return pixels.Color((uint8_t)(r1+(r2-r1)*t + 0.5f),
(uint8_t)(g1+(g2-g1)*t + 0.5f),
(uint8_t)(b1+(b2-b1)*t + 0.5f));
}
uint8_t gamma8(uint8_t x){
float f = (float)x / 255.0f;
return (uint8_t)(f * f * 255.0f + 0.5f);
}
// Skaliert einen Farbkanal mit der Helligkeit und korrigiert Gamma.
// Ein aktiver Kanal bleibt bei Helligkeit > 0 mindestens auf 1, damit er nicht erlischt.
uint8_t scaleChannel(uint8_t c, float factor){
if(c == 0 || factor <= 0) return 0;
uint8_t v = gamma8((uint8_t)(c * factor));
return v ? v : 1;
}
uint32_t applyGammaBrightness(uint32_t c, float brightnessFactor){
return pixels.Color(scaleChannel((c >> 16) & 255, brightnessFactor),
scaleChannel((c >> 8) & 255, brightnessFactor),
scaleChannel(c & 255, brightnessFactor));
}
int getBrightness(struct tm *t){
return isNightTime(t) ? nightBrightness : brightness;
}
void showInstant(){
time_t now = time(nullptr);
struct tm *t = localtime(&now);
float b = getBrightness(t) / 255.0f;
for(int i=0;i<NUMPIXELS;i++){
pixels.setPixelColor(i, applyGammaBrightness(targetBuffer[i], b));
}
pixels.show();
}
void fadeToTargetSmooth(int steps = 30, int delayMs = 15){
time_t now = time(nullptr);
struct tm *t = localtime(&now);
float bTarget = getBrightness(t) / 255.0f;
// Im Nachtmodus faden wir langsamer (mehr Schritte), um das Springen zu kaschieren
if(isNightTime(t)){
steps = 60;
delayMs = 25;
}
for(int s = 0; s <= steps; s++){
float tBlend = (float)s / steps;
for(int i = 0; i < NUMPIXELS; i++){
uint32_t c = blend(currentBuffer[i], targetBuffer[i], tBlend);
pixels.setPixelColor(i, applyGammaBrightness(c, bTarget));
}
pixels.show();
yield(); // Verhindert WDT-Reset beim ESP8266
delay(delayMs);
}
}
// ================= WORTUHR LOGIK =================
void word_ES(){ setRange(0,1); }
void word_IST(){ setRange(3,5); }
void word_FUENF_M(){ setRange(7,10); }
void word_ZEHN_M(){ setRange(18,21); }
void word_ZWANZIG(){ setRange(11,17); }
void word_VIERTEL(){ setRange(22,28); }
void word_VOR(){ setRange(30,32); }
void word_NACH(){ setRange(40,43); }
void word_HALB(){ setRange(33,36); }
void word_EINS(){ setRange(62,65); }
void word_EIN(){ setRange(62,64); }
void word_ZWEI(){ setRange(55,58); }
void word_DREI(){ setRange(66,69); }
void word_VIER(){ setRange(73,76); }
void word_FUENF_H(){ setRange(51,54); }
void word_SECHS(){ setRange(83,87); }
void word_SIEBEN(){ setRange(88,93); }
void word_ACHT(){ setRange(77,80); }
void word_NEUN(){ setRange(44,47); }
void word_ZEHN_H(){ setRange(106,109); }
void word_ELF(){ setRange(103,105); }
void word_ZWOELF(){ setRange(94,98); }
void word_UHR(){ setRange(99,101); }
String getTimeText(int h, int m){
int m5 = (m/5)*5;
if(m5 >= 25) h++;
const char* arr[] = {"Zwölf","Eins","Zwei","Drei","Vier","Fünf","Sechs","Sieben","Acht","Neun","Zehn","Elf"};
String hName = arr[h%12];
String t = "Es ist ";
switch(m5){
case 0: t += (h%12 == 1) ? String("ein") : hName; t += " Uhr"; break;
case 5: t += "fünf nach " + hName; break;
case 10: t += "zehn nach " + hName; break;
case 15: t += "viertel nach " + hName; break;
case 20: t += "zwanzig nach " + hName; break;
case 25: t += "fünf vor halb " + hName; break;
case 30: t += "halb " + hName; break;
case 35: t += "fünf nach halb " + hName; break;
case 40: t += "zwanzig vor " + hName; break;
case 45: t += "viertel vor " + hName; break;
case 50: t += "zehn vor " + hName; break;
case 55: t += "fünf vor " + hName; break;
}
return t;
}
void showTimeWords(int h, int m){
time_t now = time(nullptr);
struct tm *t = localtime(&now);
// Startpunkt des Fades ist die zuletzt angezeigte Soll-Farbe (ohne Helligkeit/Gamma)
for(int i=0;i<NUMPIXELS;i++) currentBuffer[i] = targetBuffer[i];
// Hintergrund mit Nacht-Aus-Option
uint32_t activeBg = 0;
if(backgroundMode && !(nightBackgroundDisabled && isNightTime(t))){
activeBg = bgColor;
}
for(int i=0;i<NUMPIXELS;i++) targetBuffer[i] = activeBg;
word_ES(); word_IST();
int m5 = (m/5)*5; bool full = (m5 == 0); if(m5 >= 25) h++;
switch(m5){
case 0: word_UHR(); break;
case 5: word_FUENF_M(); word_NACH(); break;
case 10: word_ZEHN_M(); word_NACH(); break;
case 15: word_VIERTEL(); word_NACH(); break;
case 20: word_ZWANZIG(); word_NACH(); break;
case 25: word_FUENF_M(); word_VOR(); word_HALB(); break;
case 30: word_HALB(); break;
case 35: word_FUENF_M(); word_NACH(); word_HALB(); break;
case 40: word_ZWANZIG(); word_VOR(); break;
case 45: word_VIERTEL(); word_VOR(); break;
case 50: word_ZEHN_M(); word_VOR(); break;
case 55: word_FUENF_M(); word_VOR(); break;
}
int hh = h % 12;
if(hh == 1 && full) word_EIN();
else if(hh == 1) word_EINS(); else if(hh == 2) word_ZWEI(); else if(hh == 3) word_DREI();
else if(hh == 4) word_VIER(); else if(hh == 5) word_FUENF_H(); else if(hh == 6) word_SECHS();
else if(hh == 7) word_SIEBEN(); else if(hh == 8) word_ACHT(); else if(hh == 9) word_NEUN();
else if(hh == 10) word_ZEHN_H(); else if(hh == 11) word_ELF(); else word_ZWOELF();
if(forceInstant){ showInstant(); forceInstant = false; }
else { fadeToTargetSmooth(20, 10); }
}
// ================= WEB HANDLERS =================
String jsonEscape(const String &s){
String out;
for(unsigned int i = 0; i < s.length(); i++){
char c = s[i];
if(c == '"' || c == '\\'){ out += '\\'; out += c; }
else if((uint8_t)c < 0x20) out += ' ';
else out += c;
}
return out;
}
void sendOK(){ server.send(200, "text/plain", "OK"); }
// Liest den Parameter "val" als Zahl; sendet 400 und liefert false bei ungueltigem Wert.
bool argInRange(int lo, int hi, int &out){
if(!server.hasArg("val")){ server.send(400, "text/plain", "Fehlender Wert"); return false; }
int v = server.arg("val").toInt();
if(v < lo || v > hi){ server.send(400, "text/plain", "Ungueltiger Wert"); return false; }
out = v;
return true;
}
void handleStatus(){
time_t now = time(nullptr);
struct tm *t = localtime(&now);
char hexCol[10], hexBg[10];
snprintf(hexCol, sizeof(hexCol), "#%06X", (unsigned int)currentColor);
snprintf(hexBg, sizeof(hexBg), "#%06X", (unsigned int)bgColor);
String ntpStat = timeSynced() ? "OK" : "SYNC...";
String json = "{";
json += "\"txt\":\"" + (timeSynced() ? jsonEscape(getTimeText(t->tm_hour, t->tm_min)) : String("Warte auf Zeit...")) + "\",";
json += "\"ip\":\"" + WiFi.localIP().toString() + "\",";
json += "\"ntp\":\"" + ntpStat + "\",";
json += "\"ntpServer\":\"" + jsonEscape(ntpServer) + "\",";
json += "\"tzString\":\"" + jsonEscape(tzString) + "\",";
json += "\"brightness\":" + String(brightness) + ",";
json += "\"nightBrightness\":" + String(nightBrightness) + ",";
json += "\"color\":\"" + String(hexCol) + "\",";
json += "\"bgColor\":\"" + String(hexBg) + "\",";
json += "\"night\":" + String(autoNight ? 1 : 0) + ",";
json += "\"nightStart\":" + String(nightStart) + ",";
json += "\"nightEnd\":" + String(nightEnd) + ",";
json += "\"bg\":" + String(backgroundMode ? 1 : 0) + ",";
json += "\"nightBgOff\":" + String(nightBackgroundDisabled ? 1 : 0);
json += "}";
server.send(200, "application/json", json);
}
static const char INDEX_HTML[] PROGMEM = R"rawliteral(
<!DOCTYPE html>
<html><head><meta charset='UTF-8'><meta name='viewport' content='width=device-width, initial-scale=1'>
<title>Wortuhr</title>
<style>
body{font-family:Arial,sans-serif; background:#fff; margin:0; color:#333; display:flex; flex-direction:column; align-items:center}
.card{width:90%; max-width:400px; margin:10px; padding:15px; border-radius:12px; background:#f2f2f2; box-shadow: 0 2px 5px rgba(0,0,0,0.1); box-sizing:border-box}
.big{font-size:26px; text-align:center; font-weight:bold; color:#0055ff}
#status{font-size:0.85em; color:#666; text-align:center}
input[type='range'], input[type='color'], input[type='text']{width:100%; margin-bottom:10px; box-sizing:border-box}
button{width:100%; padding:12px; border-radius:8px; background:#0055ff; color:#fff; border:none; cursor:pointer}
label{font-weight:bold; display:block; margin-bottom:5px}
</style></head><body>
<div class='card big' id='txt'>Lade...</div>
<div class='card' id='status'>Verbinde...</div>
<div class='card'>
<label>Farbe Worte</label>
<input type='color' id='col' onchange="f('/color?c='+this.value.substring(1))">
<label>Helligkeit</label>
<input type='range' id='br' min='0' max='255' oninput="f('/brightness?val='+this.value)">
</div>
<div class='card'>
<input type='checkbox' id='bg' onchange="f('/bg?val='+(this.checked?1:0))"> <b>Hintergrund</b><br><br>
<input type='color' id='bgcol' onchange="f('/bgcolor?c='+this.value.substring(1))">
</div>
<div class='card'>
<input type='checkbox' id='night' onchange="f('/night?val='+(this.checked?1:0))"> <b>Nachtmodus</b><br><br>
Von: <input type='number' id='nS' min='0' max='23' style='width:50px' oninput="n('/nightStart',this.value)"> Uhr
Bis: <input type='number' id='nE' min='0' max='23' style='width:50px' oninput="n('/nightEnd',this.value)"> Uhr<br><br>
<label>Nacht-Helligkeit</label>
<input type='range' id='nbr' min='0' max='255' oninput="f('/nightBrightness?val='+this.value)">
<input type='checkbox' id='nightBgOff' onchange="f('/nightBgOff?val='+(this.checked?1:0))"> Hintergrund in Nacht aus
</div>
<div class='card'>
<label>NTP Server:</label>
<input type='text' id='ntpS' onchange="f('/setNTP?val='+encodeURIComponent(this.value))">
<label>Zeitzone (POSIX TZ):</label>
<input type='text' id='tzS' onchange="f('/setTZ?val='+encodeURIComponent(this.value))">
</div>
<div class='card'><button onclick="f('/save').then(()=>alert('Gespeichert!'))">EEPROM Speichern</button></div>
<script>
function f(u){return fetch(u)}
function n(u,v){ if(v==='') return; f(u+'?val='+Math.min(23,Math.max(0,parseInt(v)||0))); }
function u(){fetch('/status').then(r=>r.json()).then(d=>{
document.getElementById('txt').innerText=d.txt;
document.getElementById('status').innerText="IP: "+d.ip+" | NTP: "+d.ntp;
const s=(i,v,c=false)=>{const e=document.getElementById(i);if(e&&document.activeElement!==e){if(c)e.checked=(v==1);else e.value=v;}};
s('col',d.color);s('br',d.brightness);s('night',d.night,true);s('nS',d.nightStart);s('nE',d.nightEnd);
s('nbr',d.nightBrightness);s('bg',d.bg,true);s('bgcol',d.bgColor);s('ntpS',d.ntpServer);s('tzS',d.tzString);
s('nightBgOff',d.nightBgOff,true);
}).catch(()=>{document.getElementById('status').innerText='Verbindung unterbrochen...';})}
setInterval(u, 2500); u();
</script></body></html>
)rawliteral";
void handleRoot(){
server.send_P(200, "text/html", INDEX_HTML);
}
void handleColor(){
if(server.hasArg("c")){
currentColor = strtoul(server.arg("c").c_str(), NULL, 16) & 0xFFFFFF;
forceInstant = true; updateNeeded = true;
}
sendOK();
}
void handleBGColor(){
if(server.hasArg("c")){
bgColor = strtoul(server.arg("c").c_str(), NULL, 16) & 0xFFFFFF;
forceInstant = true; updateNeeded = true;
}
sendOK();
}
void handleBrightness(){ int v; if(!argInRange(0,255,v)) return; brightness=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleNight(){ int v; if(!argInRange(0,1,v)) return; autoNight=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleNightStart(){ int v; if(!argInRange(0,23,v)) return; nightStart=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleNightEnd(){ int v; if(!argInRange(0,23,v)) return; nightEnd=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleNightBrightness(){ int v; if(!argInRange(0,255,v)) return; nightBrightness=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleNightBgOff(){ int v; if(!argInRange(0,1,v)) return; nightBackgroundDisabled=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleBG(){ int v; if(!argInRange(0,1,v)) return; backgroundMode=v; forceInstant=true; updateNeeded=true; sendOK(); }
void handleNTP(){
String v = server.arg("val"); v.trim();
if(v.length() == 0 || v.length() >= sizeof(settings.ntpServer)){ server.send(400, "text/plain", "Ungueltiger Wert"); return; }
ntpServer = v;
configTime(tzString.c_str(), ntpServer.c_str());
sendOK();
}
void handleTZ(){
String v = server.arg("val"); v.trim();
if(v.length() == 0 || v.length() >= sizeof(settings.tzString)){ server.send(400, "text/plain", "Ungueltiger Wert"); return; }
tzString = v;
configTime(tzString.c_str(), ntpServer.c_str());
sendOK();
}
void handleSave(){ saveSettings(); sendOK(); }
// ================= SETUP & LOOP =================
void setup(){
Serial.begin(115200);
pixels.begin();
pixels.clear();
pixels.show();
loadSettings();
WiFiManager wm;
wm.autoConnect("Wortuhr");
server.on("/", handleRoot);
server.on("/status", handleStatus);
server.on("/color", handleColor);
server.on("/bgcolor", handleBGColor);
server.on("/brightness", handleBrightness);
server.on("/night", handleNight);
server.on("/nightStart", handleNightStart);
server.on("/nightEnd", handleNightEnd);
server.on("/nightBrightness", handleNightBrightness);
server.on("/nightBgOff", handleNightBgOff);
server.on("/bg", handleBG);
server.on("/setNTP", handleNTP);
server.on("/setTZ", handleTZ);
server.on("/save", handleSave);
server.begin();
}
void loop(){
server.handleClient();
// Erst anzeigen, wenn die Zeit per NTP synchronisiert ist
if(!timeSynced()) return;
time_t now = time(nullptr);
struct tm *t = localtime(&now);
int currentM5 = (t->tm_min / 5) * 5;
if(currentM5 != lastMinute || t->tm_hour != lastH){
lastMinute = currentM5;
lastH = t->tm_hour;
updateNeeded = true;
}
if(updateNeeded){
updateNeeded = false;
showTimeWords(t->tm_hour, t->tm_min);
}
}
-507
View File
@@ -1,507 +0,0 @@
/**
* @file wordclock.ino
* @author telegnom (ccc@telegnom.org)
* @date 2019-02-23
* @version 1.1
*
* @brief firmware for the c3e wordclock
*
* requires the time.h and timezone.h libraries
* https://github.com/PaulStoffregen/Time/
* https://github.com/JChristensen/Timezone/
*
*/
#include <FastLED.h>
#include <TimeLib.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <Timezone.h>
#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <WiFiManager.h>
#define NUM_LEDS 43
#define DATA_PIN 5
CRGB leds[NUM_LEDS];
// NTP Servers:
static const char ntpServerName[] = "pool.ntp.org";
// defining words
#define M_ES 0
#define M_IST 1
#define M_FUENF 2
#define M_ZEHN 3
#define M_ZWANZIG 4
#define M_VIERTEL 5
#define M_VOR 6
#define M_NACH 8
#define M_HALB 7
#define M_UHR 21
#define H_EINS 11
#define H_ZWEI 12
#define H_DREI 13
#define H_VIER 14
#define H_FUENF 10
#define H_SECHS 15
#define H_SIEBEN 17
#define H_ACHT 16
#define H_NEUN 9
#define H_ZEHN 19
#define H_ELF 20
#define H_ZWOELF 18
TimeChangeRule myDST = {"CEST", Last, Sun, Mar, 2, 120}; //Daylight time = UTC - 4 hours
TimeChangeRule mySTD = {"CET", Last, Sun, Oct, 2, 60}; //Standard time = UTC - 5 hours
Timezone myTZ(myDST, mySTD);
int clockWords[22][10] = {
{0,-1,-1,-1,-1,-1,-1,-1,-1,-1}, // es 0
{1,-1,-1,-1,-1,-1,-1,-1,-1,-1}, // ist 1
{2,3,-1,-1,-1,-1,-1,-1,-1,-1}, // fuenf 2
{4,5,-1,-1,-1,-1,-1,-1,-1,-1}, // zehn 3
{6,7,8,-1,-1,-1,-1,-1,-1,-1}, // zwanzig 4
{9,10,11,-1,-1,-1,-1,-1,-1,-1}, // viertel 5
{12,-1,-1,-1,-1,-1,-1,-1,-1,-1}, // vor 6
{13,14,-1,-1,-1,-1,-1,-1,-1,-1}, // nach 8
{15,16,-1,-1,-1,-1,-1,-1,-1,-1}, // halb 7
{17,18,-1,-1,-1,-1,-1,-1,-1,-1}, // neun 9
{19,20,-1,-1,-1,-1,-1,-1,-1,-1}, // fuenf 10
{21,22,-1,-1,-1,-1,-1,-1,-1,-1}, // ein 11
{23,24,-1,-1,-1,-1,-1,-1,-1,-1}, // zwei 12
{25,26,-1,-1,-1,-1,-1,-1,-1,-1}, // drei 13
{27,28,-1,-1,-1,-1,-1,-1,-1,-1}, // vier 14
{29,30,-1,-1,-1,-1,-1,-1,-1,-1}, // sechs 15
{31,32,-1,-1,-1,-1,-1,-1,-1,-1}, // acht 16
{33,34,35,-1,-1,-1,-1,-1,-1,-1}, // sieben 17
{36,37,38,-1,-1,-1,-1,-1,-1,-1}, // zwölf 18
{39,40,-1,-1,-1,-1,-1,-1,-1,-1}, // zehn 19
{41,-1,-1,-1,-1,-1,-1,-1,-1,-1}, // elf 20
{42,-1,-1,-1,-1,-1,-1,-1,-1}, // uhr 21
};
WiFiUDP Udp;
unsigned int localPort = 8888; // local port to listen for UDP packets
time_t getNtpTime();
time_t loctime;
uint8_t color = 0;
int lastmin = 100;
void printDigits(int digits);
void sendNTPpacket(IPAddress &address);
void clear(bool show=true)
{
for(int i = 0; i<NUM_LEDS;i++) {
leds[i] = 0x000000;
}
if (show) {
FastLED.show();
}
}
void noWifi()
{
for(int i=0; i<NUM_LEDS; i++)
{
leds[i] = CHSV((255/(NUM_LEDS-1))*i, 255, 128);
FastLED.show();
}
}
void printDigits(uint8_t digits, bool colon = true)
{
// utility for digital clock display: prints preceding colon and leading 0
if (colon)
{
Serial.print(":");
}
if (digits < 10)
Serial.print('0');
Serial.print(digits);
}
void digitalClockDisplay()
{
// digital clock display of the time
printDigits((uint8_t) hour(loctime));
printDigits((uint8_t) minute(loctime));
printDigits((uint8_t) second(loctime));
Serial.print(" ");
Serial.print(day(loctime));
Serial.print(".");
Serial.print(month(loctime));
Serial.print(".");
Serial.print(year(loctime));
Serial.println();
}
void setup()
{
FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
clear();
for (int initcount=0; initcount <= NUM_LEDS; initcount++) {
clear();
leds[initcount] = CHSV((255/NUM_LEDS)*initcount, 255, 128);
FastLED.show();
delay(100);
}
clear();
Serial.begin(115200);
WiFiManager wifiManager;
while (!Serial) ; // Needed for Leonardo only
delay(250);
Serial.println("WordClock by telegnom");
Serial.print("Setup Wifi ... ");
wifiManager.autoConnect("WordClock");
Serial.println('[ ok ]');
while (WiFi.status() != WL_CONNECTED) {
noWifi();
delay(500);
}
Serial.print("IP number assigned by DHCP is ");
Serial.println(WiFi.localIP());
Serial.println("Starting UDP");
Udp.begin(localPort);
Serial.print("Local port: ");
Serial.println(Udp.localPort());
Serial.println("waiting for sync");
setSyncProvider(getNtpTime);
setSyncInterval(600);
}
int prevDisplay = 100; // when the digital clock was displayed
void loop()
{
// time_t utc = now();
loctime = myTZ.toLocal(now());
if (timeStatus() != timeNotSet) {
// if (prevDisplay != second(localtime))
if (prevDisplay != second(loctime)) { //update the display only if time has changed
prevDisplay = second(loctime);
if (second()%10 == 0)
{
digitalClockDisplay();
if (lastmin != minute(loctime))
{
setClock();
}
prevDisplay = second(loctime);
}
// }
}
}
}
void set_word(int word, time_t current_time = loctime) {
int wordlen = sizeof(clockWords[word])/sizeof(clockWords[word][0]);
if (lastmin != minute(loctime))
{
color += 40;
}
for (int i=0; i<wordlen; i++)
{
if (clockWords[word][i] >= 0)
{
leds[clockWords[word][i]] = CHSV(color, 255, 128);
Serial.print(clockWords[word][i]);
Serial.print(" ");
}
}
Serial.println();
}
void setClock() {
Serial.println("Updating display...");
time_t current_time = loctime;
clear(false);
set_word(M_ES); // switch es on
set_word(M_IST); // switch ist on
getMinuteWord(); //get word for "minute"
getHourWord(); // get word for hour
FastLED.show(); //writing to led stipe
lastmin = minute(loctime);
Serial.println("... display updated.");
}
int getHour()
{
int h = int(hour(loctime));
int m = int(minute(loctime));
/*
get current hour if minute < 20
Es ist viertel nach zehn
get next hour if minute >=20
Es ist zehn vor halb elf
adjust hour to correct word around midnight:
23:25 --> Es ist fuenf vor halb zwoelf
*/
Serial.println(m);
if (m >= 20)
{
if (h < 23)
{
return h+1;
} else
{
return 0;
}
} else
{
return h;
}
}
void getHourWord()
{
switch(getHour())
{
case 12:
case 0:
set_word(H_ZWOELF);
Serial.println("zwoelf");
break;
case 1:
case 13:
// special case to get sigular @ "ein uhr"
if (int(minute(loctime)) < 5)
{
set_word(H_EINS);
Serial.println("ein");
} else
{
set_word(H_EINS);
Serial.println("eins");
}
break;
case 2:
case 14:
set_word(H_ZWEI);
Serial.println("zwei");
break;
case 3:
case 15:
set_word(H_DREI);
Serial.println("drei");
break;
case 4:
case 16:
set_word(H_VIER);
Serial.println("vier");
break;
case 5:
case 17:
set_word(H_FUENF);
Serial.println("fuenf");
break;
case 6:
case 18:
set_word(H_SECHS);
Serial.println("sechs");
break;
case 7:
case 19:
set_word(H_SIEBEN);
Serial.println("sieben");
break;
case 8:
case 20:
set_word(H_ACHT);
Serial.println("acht");
break;
case 9:
case 21:
set_word(H_NEUN);
Serial.println("neun");
break;
case 10:
case 22:
set_word(H_ZEHN);
Serial.println("zehn");
break;
case 11:
case 23:
set_word(H_ELF);
Serial.println("elf");
break;
}
}
void getMinuteWord()
{
/*
get word for current "minute"
*/
switch(int(minute(loctime)))
{
case 0:
case 1:
case 2:
case 3:
case 4:
set_word(M_UHR);
Serial.println("uhr");
break;
case 5:
case 6:
case 7:
case 8:
case 9:
set_word(M_FUENF);
set_word(M_NACH);
Serial.println("fuenf nach");
break;
case 10:
case 11:
case 12:
case 13:
case 14:
set_word(M_ZEHN);
set_word(M_NACH);
Serial.println("zehn nach");
break;
case 15:
case 16:
case 17:
case 18:
case 19:
set_word(M_VIERTEL);
set_word(M_NACH);
Serial.println("viertel nach");
break;
case 20:
case 21:
case 22:
case 23:
case 24:
set_word(M_ZWANZIG);
set_word(M_NACH);
Serial.println("zehn vor halb");
break;
case 25:
case 26:
case 27:
case 28:
case 29:
set_word(M_FUENF);
set_word(M_VOR);
set_word(M_HALB);
Serial.println("fuenf vor halb");
break;
case 30:
case 31:
case 32:
case 33:
case 34:
set_word(M_HALB);
Serial.println("halb");
break;
case 35:
case 36:
case 37:
case 38:
case 39:
set_word(M_FUENF);
set_word(M_NACH);
set_word(M_HALB);
Serial.println("fuenf nach halb");
break;
case 40:
case 41:
case 42:
case 43:
case 44:
set_word(M_ZWANZIG);
set_word(M_VOR);
Serial.println("zehn nach halb");
break;
case 45:
case 46:
case 47:
case 48:
case 49:
set_word(M_VIERTEL);
set_word(M_VOR);
Serial.println("viertel vor");
break;
case 50:
case 51:
case 52:
case 53:
case 54:
set_word(M_ZEHN);
set_word(M_VOR);
Serial.println("zehn vor");
break;
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
set_word(M_FUENF);
set_word(M_VOR);
Serial.println("fuenf vor");
break;
}
}
/*-------- NTP code ----------*/
const int NTP_PACKET_SIZE = 48; // NTP time is in the first 48 bytes of message
byte packetBuffer[NTP_PACKET_SIZE]; //buffer to hold incoming & outgoing packets
time_t getNtpTime()
{
IPAddress ntpServerIP; // NTP server's ip address
while (Udp.parsePacket() > 0) ; // discard any previously received packets
Serial.println("Transmit NTP Request");
// get a random server from the pool
WiFi.hostByName(ntpServerName, ntpServerIP);
Serial.print(ntpServerName);
Serial.print(": ");
Serial.println(ntpServerIP);
sendNTPpacket(ntpServerIP);
uint32_t beginWait = millis();
while (millis() - beginWait < 1500) {
int size = Udp.parsePacket();
if (size >= NTP_PACKET_SIZE) {
Serial.println("Receive NTP Response");
Udp.read(packetBuffer, NTP_PACKET_SIZE); // read packet into the buffer
unsigned long secsSince1900;
// convert four bytes starting at location 40 to a long integer
secsSince1900 = (unsigned long)packetBuffer[40] << 24;
secsSince1900 |= (unsigned long)packetBuffer[41] << 16;
secsSince1900 |= (unsigned long)packetBuffer[42] << 8;
secsSince1900 |= (unsigned long)packetBuffer[43];
return secsSince1900 - 2208988800UL;
}
}
Serial.println("No NTP Response :-(");
return 0; // return 0 if unable to get the time
}
// send an NTP request to the time server at the given address
void sendNTPpacket(IPAddress &address)
{
// set all bytes in the buffer to 0
memset(packetBuffer, 0, NTP_PACKET_SIZE);
packetBuffer[0] = 0b11100011; // LI, Version, Mode
packetBuffer[1] = 0; // Stratum, or type of clock
packetBuffer[2] = 6; // Polling Interval
packetBuffer[3] = 0xEC; // Peer Clock Precision
packetBuffer[12] = 49;
packetBuffer[13] = 0x4E;
packetBuffer[14] = 49;
packetBuffer[15] = 52;
Udp.beginPacket(address, 123); //NTP requests are to port 123
Udp.write(packetBuffer, NTP_PACKET_SIZE);
Udp.endPacket();
}