diff --git a/README.md b/README.md
index 6e5f4e7..6c2f1d2 100644
--- a/README.md
+++ b/README.md
@@ -47,7 +47,7 @@ scorer: red for a dupe, green for a new multiplier, blue for points.
| Contests | CQ WW (CW, SSB, RTTY), CQ WPX (CW, SSB, RTTY), WAE (CW, SSB, RTTY), ARRL DX, IARU HF, Sweepstakes, RTTY Roundup, NAQP, OK/OM DX (CW), YOTA, IOTA, EU DX Contest, CQ 160, ARRL 10M, REF, Ukrainian DX, Russian DX RTTY, RDAC, YO DX HF, Oceania DX, All Asian, SARTG RTTY, BARTG Sprint, Mexico RTTY, IARU Region 1 Field Day, general logging, and user-defined `.udc` contests |
| Log | N1MM `.s3db`, Cabrillo 3.0 out, ADIF in and out |
| While typing | dupe check, multiplier check, points, country and zone from the country file, exchange filled from a call history file |
-| Windows | entry, log, check, bandmap, available mults and Qs, score summary, telnet, digital interface |
+| Windows | entry, log, check, bandmap, available mults and Qs, score summary, grey line, telnet, digital interface |
| Editing | double-click a cell in the log, or open the whole contact with Ctrl+Y; Delete removes it. All of it goes out to the other stations |
| Radio | one or two radios over hamlib `rigctld`, split, reconnecting on its own |
| Cluster | DX cluster over telnet: a telnet window with the node's traffic, the published list of nodes, command buttons and spot filters, spots feeding the bandmap, Alt+P to spot a station |
@@ -382,6 +382,24 @@ otherwise, which puts the station in the middle of its country. Sunrise and
sunset are worked out from that position for today; inside the polar circles the
line says the sun does not rise or set.
+### The grey line
+
+**Window → Grey Line** draws the world with the night on it. The dark area is
+where the sun is down; the band along its edge is the twilight between the
+horizon and six degrees below it, which is the grey line itself — the hour when
+the low bands carry furthest along it.
+
+On the map: our own station, from the grid square in the station settings; the
+station being called; and every station spotted on the band the radio is on.
+The yellow dot is the point the sun is straight above. The map follows the
+clock, redrawing every minute. Sunrise and sunset for the station being called
+are on the line under the entry window, which is where N1MM puts them too.
+
+The coastlines are Natural Earth's 110m coastline, which is public domain, cut
+to a tenth of a degree: `src/Nonemm.App/Assets/coastline.txt`. The sun's
+position is the standard low-precision solar formula, good to about a hundredth
+of a degree.
+
### The log window
The pane under the log lists what has already been worked with the call being
diff --git a/src/Nonemm.App/Assets/coastline.txt b/src/Nonemm.App/Assets/coastline.txt
new file mode 100644
index 0000000..c366118
--- /dev/null
+++ b/src/Nonemm.App/Assets/coastline.txt
@@ -0,0 +1,138 @@
+# The world's coastlines, one polyline per line, as longitude,latitude pairs
+# in degrees. From Natural Earth's 110m coastline, which is public domain,
+# cut to a tenth of a degree and thinned: it is drawn a few hundred pixels
+# wide.
+-163.7,-78.6 -163.1,-78.2 -161.2,-78.4 -160.2,-78.7 -159.5,-79 -159.2,-79.5 -161.1,-79.6 -162.4,-79.3 -163,-78.9 -163.7,-78.6
+-6.2,53.9 -6,53.2 -6.8,52.3 -8.6,51.7 -10,51.8 -9.2,52.9 -9.7,53.9 -8.3,54.7 -7.6,55.1 -6.7,55.2 -5.7,54.6 -6.2,53.9
+141,-2.6 142.7,-3.3 144.6,-3.9 145.3,-4.4 145.8,-4.9 146,-5.5 147.6,-6.1 147.9,-6.6 147,-6.7 147.2,-7.4 148.1,-8 148.7,-9.1 149.3,-9.1 149.3,-9.5 150,-9.7 149.7,-9.9 150.8,-10.3 150.7,-10.6 150,-10.7 149.8,-10.4 148.9,-10.3 147.9,-10.1 147.1,-9.5 146.6,-8.9 146,-8.1 144.7,-7.6 143.9,-7.9 143.3,-8.2 143.4,-9 142.6,-9.3 142.1,-9.2 141,-9.1 140.1,-8.3 139.1,-8.1 138.9,-8.4 137.6,-8.4 138,-7.6 138.7,-7.3 138.4,-6.2 137.9,-5.4 136,-4.5 135.2,-4.5 133.7,-3.5 133.4,-4 133,-4.1 132.8,-3.7 132.8,-3.3 132,-2.8 133.1,-2.5 133.8,-2.5 133.7,-2.2 132.2,-2.2 131.8,-1.6 130.9,-1.4 130.5,-0.9 131.9,-0.7 132.4,-0.4 134,-0.8 134.1,-1.2 134.4,-2.8 135.5,-3.4 136.3,-2.3 137.4,-1.7 138.3,-1.7 139.2,-2.1 139.9,-2.4 141,-2.6
+114.2,4.5 114.6,4.9 115.5,5.4 116.2,6.1 116.7,6.9 117.1,6.9 117.6,6.4 117.7,6 118.3,5.7 119.2,5.4 119.1,5 118.4,5 118.6,4.5 117.9,4.1 117.3,3.2 118,2.3 117.9,1.8 119,0.9 117.8,0.8 117.5,0.1 117.5,-0.8 116.6,-1.5 116.5,-2.5 116.1,-4 116,-3.7 114.9,-4.1 114.5,-3.5 113.8,-3.4 113.3,-3.1 112.1,-3.5 111.7,-3 111,-3 110.2,-2.9 110.1,-1.6 109.6,-1.3 109.1,-0.5 109,0.4 109.1,1.3 109.7,2 110.4,1.7 111.2,1.9 111.4,2.7 111.8,2.9 113,3.1 113.7,3.9 114.2,4.5
+-93.6,75 -94.2,74.6 -95.6,74.7 -96.8,74.9 -96.3,75.4 -94.9,75.6 -94,75.3 -93.6,75
+-93.8,77.5 -94.3,77.5 -96.2,77.6 -96.4,77.8 -94.4,77.8 -93.7,77.6 -93.8,77.5
+-96.8,78.8 -95.6,78.4 -95.8,78.1 -97.3,77.9 -98.1,78.1 -98.6,78.5 -98.6,78.9 -97.3,78.8 -96.8,78.8
+-88.2,74.4 -89.8,74.5 -92.4,74.8 -92.8,75.4 -92.9,75.9 -93.9,76.3 -96,76.4 -97.1,76.8 -96.7,77.2 -94.7,77.1 -93.6,76.8 -91.6,76.8 -90.7,76.4 -91,76.1 -89.8,75.8 -89.2,75.6 -87.8,75.6 -86.4,75.5 -84.8,75.7 -82.8,75.8 -81.1,75.7 -80.1,75.3 -79.8,74.9 -80.5,74.7 -81.9,74.4 -83.2,74.6 -86.1,74.4 -88.2,74.4
+-111.3,78.2 -109.9,78 -110.2,77.7 -112.1,77.4 -113.5,77.7 -112.7,78.1 -111.3,78.2
+-111,78.8 -109.7,78.6 -110.9,78.4 -112.5,78.4 -111.5,78.8 -111,78.8
+-66.3,18.5 -65.8,18.4 -65.6,18.2 -65.8,18 -66.6,18 -67.2,17.9 -67.2,18.4 -66.3,18.5
+-77.6,18.5 -76.9,18.4 -76.4,18.2 -76.2,17.9 -76.9,17.9 -77.2,17.7 -77.8,17.9 -78.3,18.2 -78.2,18.5 -77.8,18.5 -77.6,18.5
+-82.3,23.2 -81.4,23.1 -80.6,23.1 -79.7,22.8 -79.3,22.4 -78.3,22.5 -78,22.3 -77.1,21.7 -76.5,21.2 -75.6,21 -75.7,20.7 -74.9,20.7 -74.2,20.3 -75,19.9 -75.6,19.9 -76.3,20 -77.8,19.9 -77.1,20.4 -77.5,20.7 -78.1,20.7 -78.5,21 -78.7,21.6 -79.3,21.6 -80.2,21.8 -80.5,22 -81.8,22.2 -82.2,22.4 -81.8,22.6 -82.8,22.7 -83.5,22.2 -83.9,22.2 -84.1,21.9 -84.5,21.8 -85,21.9 -84.4,22.2 -84.2,22.6 -83.8,22.8 -83.3,23 -82.5,23.1 -82.3,23.2
+-55.6,51.3 -56.1,50.7 -56.8,49.8 -56.1,50.2 -55.5,49.9 -55.8,49.6 -54.9,49.3 -54.5,49.6 -53.5,49.2 -53.8,48.5 -53.1,48.7 -53,48.2 -52.6,47.5 -53.1,46.7 -53.5,46.6 -54.2,46.8 -54,47.6 -54.2,47.8 -55.4,46.9 -56,46.9 -55.3,47.4 -56.3,47.6 -57.3,47.6 -59.3,47.6 -59.4,47.9 -58.8,48.3 -59.2,48.5 -58.4,49.1 -57.4,50.7 -56.7,51.3 -55.9,51.6 -55.4,51.6 -55.6,51.3
+-83.9,65.1 -82.8,64.8 -81.6,64.5 -81.6,64 -80.8,64.1 -80.1,63.7 -81,63.4 -82.5,63.7 -83.1,64.1 -84.1,63.6 -85.5,63.1 -85.9,63.6 -87.2,63.5 -86.4,64 -86.2,64.8 -85.9,65.7 -85.2,65.7 -85,65.2 -84.5,65.4 -83.9,65.1
+-78.8,72.4 -77.8,72.7 -75.6,72.2 -74.2,71.8 -74.1,71.3 -72.2,71.6 -71.2,70.9 -68.8,70.5 -67.9,70.1 -67,69.2 -68.8,68.7 -66.4,68.1 -64.9,67.8 -63.4,66.9 -61.9,66.9 -62.2,66.2 -63.9,65 -65.1,65.4 -66.7,66.4 -68,66.3 -68.1,65.7 -67.1,65.1 -65.7,64.6 -65.3,64.4 -64.7,63.4 -65,62.7 -66.3,62.9 -68.8,63.7 -67.4,62.9 -66.3,62.3 -66.2,61.9 -68.9,62.3 -71,62.9 -72.2,63.4 -71.9,63.7 -73.4,64.2 -74.8,64.7 -77.7,64.2 -78.6,64.6 -77.9,65.3 -76,65.3 -74,65.5 -74.3,65.8 -73.9,66.3 -72.7,67.3 -72.9,67.7 -73.3,68.1 -74.8,68.6 -76.9,68.9 -76.2,69.1 -77.3,69.8 -78.2,69.8 -79,70.2 -79.5,69.9 -81.3,69.7 -84.9,70 -87.1,70.3 -88.7,70.4 -89.5,70.8 -88.5,71.2 -89.9,71.2 -90.2,72.2 -89.4,73.1 -88.4,73.5 -85.8,73.8 -86.6,73.2 -85.8,72.5 -84.9,73.3 -82.3,73.8 -80.6,72.7 -80.7,72.1 -78.8,72.4
+-94.5,74.1 -92.4,74.1 -90.5,73.9 -92,73 -93.2,72.8 -94.3,72 -95.4,72.1 -96,72.9 -96,73.4 -95.5,73.9 -94.5,74.1
+-100.4,72.7 -101.5,73.4 -100.4,73.8 -99.2,73.6 -97.4,73.8 -97.1,73.5 -98.1,73 -96.5,72.6 -96.7,71.7 -98.4,71.3 -99.3,71.4 -100,71.7 -102.5,72.5 -100.4,72.7
+-107.8,75.8 -106.9,76 -105.9,76 -105.7,75.5 -106.3,75 -109.7,74.9 -112.2,74.4 -113.7,74.4 -113.9,74.7 -111.8,75.2 -116.3,75 -117.7,75.2 -116.3,76.2 -115.4,76.5 -112.6,76.1 -110.8,75.5 -109.1,75.5 -110.5,76.4 -109.6,76.8 -108.5,76.7 -108.2,76.2 -107.8,75.8
+-122.9,76.1 -121.2,76.9 -119.1,77.5 -117.6,77.5 -116.2,77.6 -116.3,76.9 -117.1,76.5 -118,76.5 -119.9,76.1 -121.5,75.9 -122.9,76.1
+-121.5,74.4 -120.1,74.2 -117.6,74.2 -116.6,73.9 -115.5,73.5 -116.8,73.2 -119.2,72.5 -120.5,71.8 -120.5,71.4 -123.1,70.9 -123.6,71.3 -125.9,71.9 -125.5,72.3 -124.8,73 -123.9,73.7 -124.9,74.3 -121.5,74.4
+-166.5,60.4 -165.7,60.3 -165.6,59.9 -166.2,59.8 -166.8,59.9 -167.5,60.2 -166.5,60.4
+-153.2,58 -152.6,57.9 -152.1,57.6 -153,57.1 -154,56.7 -154.5,57 -154.7,57.5 -153.8,57.8 -153.2,58
+-132.7,54 -131.7,54.1 -132,53 -131.2,52.2 -131.6,52.2 -132.2,52.6 -132.5,53.1 -133.1,53.4 -133.2,53.9 -132.7,54
+-125.4,50 -124.9,49.5 -123.9,49.1 -123.5,48.5 -124,48.4 -125.7,48.8 -126,49.2 -126.9,49.5 -127,49.8 -128.1,50 -128.4,50.5 -127.3,50.6 -126.7,50.4 -125.8,50.3 -125.4,50
+-171.7,63.8 -171.1,63.6 -170.5,63.7 -169.7,63.4 -168.7,63.3 -169.5,63 -170.3,63.2 -170.7,63.4 -171.6,63.3 -171.7,63.8
+-105.5,79.3 -103.5,79.2 -100.8,78.8 -100.1,78.3 -99.7,77.9 -101.3,78 -102.9,78.3 -105.2,78.4 -104.2,78.7 -105.4,78.9 -105.5,79.3
+32.9,35.4 33.7,35.4 34.6,35.7 33.9,35.2 33,34.6 32.5,34.7 32.3,35.1 32.8,35.1 32.9,35.4
+26.3,35.3 26.2,35 24.7,34.9 23.5,35.3 23.7,35.7 24.2,35.4 25,35.4 25.8,35.4 26.3,35.3
+49.5,-12.5 49.8,-12.9 50.1,-13.6 50.2,-14.8 50.5,-15.2 50.4,-15.7 50.2,-16 49.9,-15.4 49.7,-15.7 49.9,-16.5 49.8,-16.9 49.5,-17.1 49.4,-18 49,-19.1 48.5,-20.5 47.9,-22.4 47.5,-23.8 47.1,-24.9 46.3,-25.2 45.4,-25.6 44.8,-25.3 44,-25 43.8,-24.5 43.7,-23.6 43.3,-22.8 43.3,-22.1 43.4,-21.3 43.9,-21.2 43.9,-20.8 44.4,-20.1 44.5,-19.4 44.2,-19 44,-18.3 44,-17.4 44.3,-16.9 44.4,-16.2 44.9,-16.2 45.5,-16 45.9,-15.8 46.3,-15.8 46.9,-15.2 47.7,-14.6 48,-14.1 47.9,-13.7 48.3,-13.8 48.8,-13.1 48.9,-12.5 49.2,-12 49.5,-12.5
+167.2,-15.9 167.8,-16.5 167.5,-16.6 167.2,-16.2 167.2,-15.9
+166.8,-15.7 166.6,-15.4 166.6,-14.6 167.1,-14.9 167.3,-15.7 167,-15.6 166.8,-15.7
+134.2,-6.9 134.1,-6.1 134.3,-5.8 134.5,-5.4 134.7,-5.7 134.7,-6.2 134.2,-6.9
+-48.7,-78 -48.2,-78 -46.7,-77.8 -45.2,-78 -43.9,-78.5 -43.5,-79.1 -43.4,-79.5 -43.3,-80 -44.9,-80.3 -46.5,-80.6 -48.4,-80.8 -50.5,-81 -52.9,-81 -54.2,-80.6 -54,-80.2 -51.9,-79.9 -51,-79.6 -50.4,-79.2 -49.9,-78.8 -49.3,-78.5 -48.7,-78
+-66.3,-80.3 -64,-80.3 -61.9,-80.4 -61.1,-80 -60.6,-79.6 -59.6,-80 -59.9,-80.5 -60.2,-81 -62.3,-80.9 -64.5,-80.9 -65.7,-80.6 -66.3,-80.3
+-73.9,-71.3 -73.2,-71.2 -72.1,-71.2 -71.8,-70.7 -71.7,-70.3 -71.7,-69.5 -71.2,-69 -70.3,-68.9 -69.7,-69.3 -69.5,-69.6 -69.1,-70.1 -68.7,-70.5 -68.5,-71 -68.3,-71.4 -68.5,-71.8 -68.8,-72.2 -70,-72.3 -71.1,-72.5 -72.4,-72.5 -71.9,-72.1 -73.1,-72.2 -74.2,-72.4 -75,-72.1 -75,-71.7 -73.9,-71.3
+-102.3,-71.9 -101.7,-71.7 -100.4,-71.9 -99,-71.9 -97.9,-72.1 -96.8,-72 -96.2,-72.5 -97,-72.4 -98.2,-72.5 -99.4,-72.4 -100.8,-72.5 -101.8,-72.3 -102.3,-71.9
+-122.6,-73.7 -122.4,-73.3 -121.2,-73.5 -119.9,-73.7 -118.7,-73.5 -119.3,-73.8 -120.2,-74.1 -121.6,-74 -122.6,-73.7
+-127.3,-73.5 -126.6,-73.2 -125.6,-73.5 -124,-73.9 -124.6,-73.8 -125.9,-73.7 -127.3,-73.5
+165.8,-21.1 166.6,-21.7 167.1,-22.2 166.7,-22.4 166.2,-22.1 165.5,-21.7 164.8,-21.1 164.2,-20.4 164,-20.1 164.5,-20.1 165,-20.5 165.5,-20.8 165.8,-21.1
+152.6,-3.7 153,-4 153.1,-4.5 152.8,-4.8 152.6,-4.2 152.4,-3.8 152,-3.5 151.4,-3 150.7,-2.7 150.9,-2.5 151.5,-2.8 151.8,-3 152.2,-3.2 152.6,-3.7
+151.3,-5.8 150.8,-6.1 150.2,-6.3 149.7,-6.3 148.9,-6 148.3,-5.7 148.4,-5.4 149.3,-5.6 149.8,-5.5 150,-5 150.2,-5.5 150.8,-5.5 151.1,-5.1 151.6,-4.8 151.5,-4.2 152.1,-4.1 152.3,-4.3 152.3,-4.9 152,-5.5 151.5,-5.6 151.3,-5.8
+162.1,-10.5 162.4,-10.8 161.7,-10.8 161.3,-10.2 161.9,-10.4 162.1,-10.5
+161.7,-9.6 161.5,-9.8 160.8,-8.9 160.6,-8.3 161.3,-9.1 161.7,-9.6
+160.9,-9.9 160.5,-9.9 159.8,-9.8 159.6,-9.6 159.7,-9.2 160.4,-9.4 160.7,-9.6 160.9,-9.9
+159.6,-8 159.9,-8.3 159.1,-8.1 158.6,-7.8 158.2,-7.4 158.8,-7.6 159.6,-8
+157.1,-7 157.5,-7.3 156.9,-7.2 156.5,-6.8 157.1,-7
+154.8,-5.3 155.1,-5.6 155.5,-6.2 156,-6.5 155.9,-6.8 155.6,-6.9 155.2,-6.5 154.7,-5.9 154.5,-5.1 154.8,-5.3
+176.9,-40.1 176.5,-40.6 176,-41.3 175.2,-41.7 175.1,-41.4 174.7,-41.3 175.2,-40.5 174.9,-39.9 173.8,-39.5 173.9,-39.1 174.6,-38.8 174.7,-38 174.7,-37.4 174.3,-36.7 173.8,-36.1 173.1,-35.2 172.6,-34.5 173,-34.5 173.6,-35 174.3,-35.3 174.6,-36.2 175.3,-37.2 175.4,-36.5 175.8,-36.8 176,-37.6 176.8,-37.9 177.4,-38 178,-37.6 178.5,-37.7 178.3,-38.6 178,-39.2 177.2,-39.1 176.9,-39.4 177,-39.9 176.9,-40.1
+169.7,-43.6 170.5,-43 171.1,-42.5 171.6,-41.8 171.9,-41.5 172.1,-41 172.8,-40.5 173,-40.9 173.2,-41.3 174,-40.9 174.2,-41.3 174.2,-41.8 173.9,-42.2 173.2,-43 172.7,-43.4 173.1,-43.9 172.3,-43.9 171.5,-44.2 171.2,-44.9 170.6,-45.9 169.8,-46.4 169.3,-46.6 168.4,-46.6 167.8,-46.3 166.7,-46.2 166.5,-45.9 167,-45.1 168.3,-44.1 168.9,-43.9 169.7,-43.6
+147.7,-40.8 148.3,-40.9 148.4,-42.1 148,-42.4 147.9,-43.2 147.6,-42.9 146.9,-43.6 146,-43.5 145.4,-42.7 145.3,-42 144.7,-41.2 144.7,-40.7 145.4,-40.8 146.4,-41.1 146.9,-41 147.7,-40.8
+126.1,-32.2 125.1,-32.7 124.2,-33 124,-33.5 123.7,-33.9 122.8,-33.9 122.2,-34 121.3,-33.8 120.6,-33.9 119.9,-34 119.3,-34.5 118.5,-34.7 118,-35.1 117.3,-35 116.6,-35 115.6,-34.4 115,-34.2 115,-33.6 115.5,-33.5 115.7,-33.3 115.7,-32.9 115.8,-32.2 115.7,-31.6 115.2,-30.6 115,-30 115,-29.5 114.6,-28.8 114.2,-28.1 114,-27.3 113.5,-26.5 113.3,-26.1 113.8,-26.5 113.4,-25.6 113.9,-25.9 114.2,-26.3 114.2,-25.8 113.7,-25 113.6,-24.7 113.4,-24.4 113.5,-23.8 113.7,-23.6 113.8,-23.1 113.7,-22.5 114.1,-21.8 114.2,-22.5 114.6,-21.8 115.5,-21.5 115.9,-21.1 116.7,-20.7 117.2,-20.6 118.2,-20.4 118.8,-20.3 119,-20 119.8,-20 120.9,-19.7 121.4,-19.2 121.7,-18.7 122.2,-18.2 122.3,-17.8 122.3,-17.3 123,-16.4 123.4,-17.3 123.9,-17.1 123.5,-16.6 123.8,-16.1 124.3,-16.3 124.4,-15.6 124.9,-15.1 125.2,-14.7 125.7,-14.5 126.1,-14.3 126.6,-14 127.1,-13.8 127.8,-14.3 128.4,-14.9 129,-14.9 129.6,-15 129.4,-14.4 129.9,-13.6 130.3,-13.4 130.2,-13.1 130.6,-12.5 131.2,-12.2 131.7,-12.3 132.6,-12.1 132.6,-11.6 131.8,-11.3 132.4,-11.1 133,-11.4 133.6,-11.8 134.4,-12 134.7,-11.9 135.3,-12.2 135.9,-12 136.3,-12 137,-12.4 136.7,-12.9 136.3,-13.3 136.1,-13.7 135.8,-14.2 135.4,-14.7 135.5,-15 136.3,-15.6 137.1,-15.9 137.6,-16.2 138.3,-16.8 139.1,-17.1 139.3,-17.4 140.2,-17.7 140.9,-17.4 141.1,-16.8 141.3,-16.4 141.4,-15.8 141.7,-15 141.6,-14.6 141.5,-13.7 141.7,-12.9 141.7,-12.4 141.9,-11.9 142.1,-11.3 142.5,-10.7 142.8,-11.2 142.9,-11.8 143.2,-12.3 143.5,-12.8 143.6,-13.4 143.6,-13.8 143.9,-14.5 144.6,-14.2 144.9,-14.6 145.4,-15 145.3,-15.4 145.5,-16.3 145.6,-16.8 145.9,-16.9 146.2,-17.8 146.1,-18.3 146.4,-19 147.5,-19.5 148.2,-20 148.8,-20.4 149.3,-21.3 149.7,-22.3 150.1,-22.1 150.5,-22.6 150.7,-22.4 150.9,-23.5 151.6,-24.1 152.1,-24.5 152.9,-25.3 153.1,-26.1 153.2,-26.6 153.1,-27.3 153.6,-28.1 153.5,-29 153.3,-29.5 153.1,-30.4 153.1,-30.9 152.9,-31.6 152.5,-32.6 151.7,-33 151.3,-33.8 151,-34.3 150.7,-35.2 150.3,-35.7 150.1,-36.4 149.9,-37.1 150,-37.4 149.4,-37.8 148.3,-37.8 147.4,-38.2 146.9,-38.6 146.3,-39 145.5,-38.6 144.9,-38.4 145,-37.9 144.5,-38.1 143.6,-38.8 142.7,-38.5 142.2,-38.4 141.6,-38.3 140.6,-38 140,-37.4 139.8,-36.6 139.6,-36.1 139.1,-35.7 138.1,-35.6 138.4,-35.1 138.2,-34.4 137.7,-35.1 136.8,-35.3 137.4,-34.7 137.5,-34.1 137.9,-33.6 137.8,-32.9 137,-33.8 136.4,-34.1 136,-34.9 135.2,-34.5 135.2,-33.9 134.6,-33.2 134.1,-32.8 134.3,-32.6 133,-32 132.3,-32 131.3,-31.5 129.5,-31.6 128.2,-31.9 127.1,-32.3 126.1,-32.2
+81.8,7.5 81.6,6.5 81.2,6.2 80.3,6 79.9,6.8 79.7,8.2 80.1,9.8 80.8,9.3 81.3,8.6 81.8,7.5
+129.4,-2.8 130.5,-3.1 130.8,-3.9 130,-3.4 129.2,-3.4 128.6,-3.4 127.9,-3.4 128.1,-2.8 129.4,-2.8
+126.9,-3.8 126.2,-3.6 126,-3.2 127,-3.1 127.2,-3.5 126.9,-3.8
+127.9,2.2 128,1.6 128.6,1.5 128.7,1.1 128.6,0.3 128.1,0.4 128,-0.3 128.4,-0.8 128.1,-0.9 127.7,-0.3 127.4,1 127.6,1.8 127.9,2.2
+122.9,0.9 124.1,0.9 125.1,1.6 124.4,0.4 123.7,0.2 122.7,0.4 121.1,0.4 120.2,0.2 120,-0.5 120.9,-1.4 121.5,-1 123.3,-0.6 123.3,-1.1 122.8,-0.9 122.4,-1.5 121.5,-1.9 122.5,-3.2 122.3,-3.5 123.2,-4.7 123.2,-5.3 122.6,-5.6 122.2,-5.3 122.7,-4.5 121.7,-4.9 121.5,-4.6 121.6,-4.2 120.9,-3.6 121,-2.6 120.3,-2.9 120.4,-4.1 120.4,-5.5 119.8,-5.7 119.4,-5.4 119.7,-4.5 119.5,-3.5 119.1,-3.5 118.8,-2.8 119.2,-2.1 119.3,-1.4 119.8,0.2 120,0.6 120.9,1.3 121.7,1 122.9,0.9
+120.3,-10.3 119,-9.6 119.9,-9.4 120.4,-9.7 120.8,-10 120.3,-10.3
+121.3,-8.5 122,-8.5 122.9,-8.1 122.8,-8.6 121.3,-8.9 119.9,-8.8 119.9,-8.4 120.7,-8.2 121.3,-8.5
+118.3,-8.4 118.9,-8.3 119.1,-8.7 118,-8.9 117.3,-9 116.7,-9 117.1,-8.5 117.6,-8.4 117.9,-8.1 118.3,-8.4
+108.5,-6.4 108.6,-6.8 110.5,-6.9 110.8,-6.5 112.6,-6.9 113,-7.6 114.5,-7.8 115.7,-8.4 114.6,-8.8 113.5,-8.3 112.6,-8.4 111.5,-8.3 110.6,-8.1 109.4,-7.7 108.7,-7.6 108.3,-7.8 106.5,-7.4 106.3,-6.9 105.4,-6.9 106.1,-5.9 107.3,-6 108.1,-6.3 108.5,-6.4
+104.4,-1.1 104.5,-1.8 104.9,-2.3 105.6,-2.4 106.1,-3.1 105.9,-4.3 105.8,-5.9 104.7,-5.9 103.9,-5 102.6,-4.2 102.2,-3.6 101.4,-2.8 100.9,-2.1 100.1,-0.7 99.3,0.2 99,1 98.6,1.8 97.7,2.5 97.2,3.3 96.4,3.9 95.4,5 95.3,5.5 95.9,5.4 97.5,5.2 98.4,4.3 99.1,3.6 99.7,3.2 100.6,2.1 101.7,2.1 102.5,1.4 103.1,0.6 103.8,0.1 103.4,-0.7 104,-1.1 104.4,-1.1
+120.8,12.7 120.3,13.5 121.2,13.4 121.5,13.1 121.3,12.2 120.8,12.7
+122.6,10 122.8,10.3 122.9,10.9 123.5,10.9 123.3,10.3 124.1,11.2 124,10.3 123.6,10 123.3,9.3 123,9 122.4,9.7 122.6,10
+126.4,8.4 126.5,7.8 126.5,7.2 126.2,6.3 125.8,7.3 125.4,6.8 125.7,6 125.4,5.6 124.2,6.2 123.9,6.9 124.2,7.4 123.6,7.8 123.3,7.4 122.8,7.5 122.1,6.9 121.9,7.2 122.3,8 122.9,8.3 123.5,8.7 123.8,8.2 124.6,8.5 124.8,9 125.5,9 125.4,9.8 126.2,9.3 126.3,8.8 126.4,8.4
+109.5,18.2 108.7,18.5 108.6,19.4 109.1,19.8 110.2,20.1 110.8,20.1 111,19.7 110.6,19.3 110.3,18.7 109.5,18.2
+121.8,24.4 121.2,22.8 120.7,22 120.2,22.8 120.1,23.6 120.7,24.5 121.5,25.3 122,25 121.8,24.4
+141.9,39.2 141,38.2 141,37.1 140.6,36.3 140.8,35.8 140.3,35.1 139,34.7 137.2,34.6 135.8,33.5 135.1,33.8 135.1,34.6 133.3,34.4 132.2,33.9 131,33.9 132,33.1 131.3,31.5 130.7,31 130.2,31.4 130.4,32.3 129.8,32.6 129.4,33.3 130.4,33.6 130.9,34.2 131.9,34.7 132.6,35.4 134.6,35.7 135.7,35.5 136.7,37.3 137.4,36.8 138.9,37.8 139.4,38.2 140.1,39.4 139.9,40.6 140.3,41.2 141.4,41.4 141.9,40 141.9,39.2
+144.6,44 145.3,44.4 145.5,43.3 144.1,43 143.2,42 141.6,42.7 141.1,41.6 140,41.6 139.8,42.6 140.3,43.3 141.4,43.4 141.7,44.8 142,45.6 143.1,44.5 143.9,44.2 144.6,44
+8.7,40.9 9.2,41.2 9.8,40.5 9.7,39.2 9.2,39.2 8.8,38.9 8.4,39.2 8.4,40.4 8.2,41 8.7,40.9
+8.7,42.6 9.4,43 9.6,42.2 9.2,41.4 8.8,41.6 8.5,42.3 8.7,42.6
+12.4,56.1 12.7,55.6 12.1,54.8 11,55.4 10.9,55.8 12.4,56.1
+-4.2,58.6 -3,58.6 -4.1,57.6 -3.1,57.7 -2,57.7 -2.2,56.9 -3.1,56 -2.1,55.9 -1.1,54.6 -0.4,54.5 0.2,53.3 0.5,52.9 1.7,52.7 1.6,52.1 1.1,51.8 1.4,51.3 0.6,50.8 -0.8,50.8 -2.5,50.5 -3,50.7 -3.6,50.2 -4.5,50.3 -5.2,50 -5.8,50.2 -4.3,51.2 -3.4,51.4 -5,51.6 -5.3,52 -4.2,52.3 -4.8,52.8 -4.6,53.5 -3.1,53.4 -2.9,54 -3.6,54.6 -4.8,54.8 -5.1,55.1 -4.7,55.5 -5,55.8 -5.6,55.3 -5.6,56.3 -6.1,56.8 -5.8,57.8 -5,58.6 -4.2,58.6
+-14.5,66.5 -14.7,65.8 -13.6,65.1 -14.9,64.4 -17.8,63.7 -18.7,63.5 -20,63.6 -22.8,64 -21.8,64.4 -24,64.9 -22.2,65.1 -24.3,65.6 -23.7,66.3 -22.1,66.4 -20.6,65.7 -19.1,66.3 -17.8,66 -16.2,66.5 -14.5,66.5
+142.9,53.7 143.3,52.7 143.2,51.8 143.6,50.7 144.7,49 143.2,49.3 142.6,47.9 143.5,46.8 143.5,46.1 142.7,46.7 142.1,46 141.9,46.8 142,47.8 141.9,48.9 142.1,49.6 142.2,51 141.6,51.9 141.7,53.3 142.6,53.8 142.2,54.2 142.7,54.4 142.9,53.7
+118.5,9.3 117.2,8.4 117.7,9.1 118.4,9.7 119,10.4 119.5,11.4 119.7,10.6 119,10 118.5,9.3
+122.3,18.2 122.2,17.8 122.5,17.1 122.3,16.3 121.7,15.9 121.5,15.1 121.7,14.3 122.3,14.2 122.7,14.3 124,13.8 123.9,13.2 124.2,13 124.1,12.5 123.3,13 122.9,13.6 122.7,13.2 122,13.8 121.1,13.6 120.6,13.9 120.7,14.3 121,14.5 120.7,14.8 120.6,14.4 120.1,15 119.9,15.4 119.9,16.4 120.3,16 120.4,17.6 120.7,18.5 121.3,18.5 121.9,18.2 122.2,18.5 122.3,18.2
+122,11.4 121.9,11.9 122.5,11.6 123.1,11.6 123.1,11.2 122.6,10.7 122,10.4 122,10.9 122,11.4
+125.5,12.2 125.8,11 125,11.3 125.3,10.4 124.8,10.1 124.8,10.8 124.5,10.9 124.3,11.5 124.9,11.4 124.9,11.8 124.3,12.6 125.2,12.5 125.5,12.2
+-77.4,8.7 -76.8,8.6 -76.1,9.3 -75.7,9.4 -75.7,9.8 -75.5,10.6 -74.9,11.1 -74.3,11.1 -73.4,11.2 -72.6,11.7 -72.2,12 -71.8,12.4 -71.4,12.4 -71.1,12.1 -71.3,11.8 -71.4,11.5 -71.9,11.4 -71.6,11 -71.6,10.4 -72.1,9.9 -71.7,9.1 -71.3,9.1 -71,9.9 -71.4,10.2 -71.4,11 -70.2,11.4 -70.3,11.8 -69.9,12.2 -69.6,11.5 -68.9,11.4 -68.2,10.9 -67.3,10.5 -66.2,10.6 -65.7,10.2 -64.9,10.1 -64.3,10.4 -63.1,10.7 -61.9,10.7 -62.7,10.4 -62.4,9.9 -61.6,9.9 -60.8,9.4 -60.7,8.6 -60.2,8.6 -59.8,8.4 -59.1,8 -58.5,7.3 -58.5,6.8 -58.1,6.8 -57.5,6.3 -57.1,6 -55.9,5.8 -55,6 -54,5.8 -53.6,5.6 -52.9,5.4 -51.8,4.6 -51.7,4.2 -51.3,4.1 -51.1,3.7 -50.5,1.9 -50,1.7 -49.9,1 -50.7,0.2 -50.4,-0.1 -48.6,-0.2 -48.6,-1.2 -47.8,-0.6 -46.6,-0.9 -44.9,-1.6 -44.4,-2.1 -44.6,-2.7 -43.4,-2.4 -41.5,-2.9 -40,-2.9 -38.5,-3.7 -37.2,-4.8 -36.5,-5.1 -35.6,-5.1 -35.2,-5.5 -34.9,-6.7 -34.7,-7.3 -35.1,-9 -35.6,-9.6 -37,-11 -37.7,-12.2 -38.4,-13 -38.7,-13.1 -39,-13.8 -38.9,-15.7 -39.2,-17.2 -39.3,-17.9 -39.6,-18.3 -39.8,-19.6 -40.8,-20.9 -40.9,-21.9 -41.8,-22.4 -42,-23 -43.1,-23 -44.6,-23.4 -45.4,-23.8 -46.5,-24.1 -47.6,-24.9 -48.5,-25.9 -48.6,-26.6 -48.5,-27.2 -48.7,-28.2 -48.9,-28.7 -49.6,-29.2 -50.7,-31 -51.6,-31.8 -52.3,-32.2 -52.7,-33.2 -53.4,-33.8 -53.8,-34.4 -54.9,-35 -55.7,-34.8 -56.2,-34.9 -57.1,-34.4 -57.8,-34.5 -58.4,-33.9 -58.5,-34.4 -57.2,-35.3 -57.4,-36 -56.7,-36.4 -56.8,-36.9 -57.7,-38.2 -59.2,-38.7 -61.2,-38.9 -62.3,-38.8 -62.1,-39.4 -62.3,-40.2 -62.1,-40.7 -62.7,-41 -63.8,-41.2 -64.7,-40.8 -65.1,-41.1 -65,-42.1 -64.3,-42.4 -63.8,-42 -63.5,-42.6 -64.4,-42.9 -65.2,-43.5 -65.3,-44.5 -65.6,-45 -66.5,-45 -67.3,-45.6 -67.6,-46.3 -66.6,-47 -65.6,-47.2 -66,-48.1 -67.2,-48.7 -67.8,-49.9 -68.7,-50.3 -69.1,-50.7 -68.8,-51.8 -68.1,-52.3 -68.6,-52.3 -69.5,-52.3 -69.9,-52.5 -70.8,-52.9 -71,-53.8 -71.4,-53.9 -72.6,-53.5 -73.7,-52.8 -74.9,-52.3
+-77.9,7.2 -77.5,6.7 -77.3,5.8 -77.5,5.6 -77.3,4.7 -77.5,4.1 -77.1,3.8 -77.5,3.3 -77.9,2.7 -78.4,2.6 -78.7,2.3 -78.6,1.8 -79,1.7 -78.9,1.4 -79.5,1 -80.1,0.8 -80,0.4 -80.4,-0.3 -80.6,-0.9 -80.9,-1.1 -80.8,-2 -81,-2.2 -80.4,-2.7 -80,-2.2 -79.8,-2.7 -80.3,-3.4 -81.1,-4 -81.4,-4.7 -80.9,-5.7 -81.2,-6.1 -80.5,-6.5 -79.8,-7.2 -79.4,-7.9 -79,-8.4 -78.1,-10.4 -77.1,-12.2 -76.3,-13.5 -76.4,-13.8 -76,-14.6 -75.2,-15.3 -73.4,-16.4 -71.5,-17.4 -71.4,-17.8 -70.4,-18.3 -70.2,-19.8 -70.1,-21.4 -70.4,-23.6 -70.7,-25.7 -70.9,-27.6 -71.5,-28.9 -71.4,-30.1 -71.7,-30.9 -71.4,-32.4 -71.9,-33.9 -72.6,-35.5 -73.2,-37.1 -73.6,-37.2 -73.5,-38.3 -73.2,-39.3 -73.7,-39.9 -74,-41.8 -74.3,-43.2 -73.7,-43.4 -73.4,-42.1 -72.7,-42.4 -73.2,-44.5 -74.4,-44.1 -74.7,-45.8 -75.6,-46.6 -74.1,-46.9 -75.2,-47.7 -75.6,-48.7 -75.5,-50.4 -75,-51 -75.3,-51.6 -74.9,-52.3
+-74.7,-52.8 -73.8,-53 -72.4,-53.7 -71.1,-54.1 -70.6,-53.6 -70.3,-52.9 -69.3,-52.5 -68.6,-52.6 -68.3,-53.1 -67.7,-53.8 -66.4,-54.5 -65.1,-54.7 -65.5,-55.2 -66.4,-55.3 -67,-54.9 -67.3,-55.3 -68.1,-55.6 -68.6,-55.6 -69.2,-55.5 -70,-55.2 -71,-55.1 -72.3,-54.5 -73.3,-54 -74.7,-52.8
+44.8,80.6 46.8,80.8 48.3,80.8 48.5,80.5 49.1,80.8 50,80.9 51.5,80.7 51.1,80.5 49.8,80.4 48.9,80.3 47.6,80 46.5,80.2 47.1,80.6 44.8,80.6
+53.5,73.7 55.9,74.6 55.6,75.1 57.9,75.6 61.2,76.3 64.5,76.4 66.2,76.8 68.2,76.9 68.9,76.5 68.2,76.2 64.6,75.7 61.6,75.3 58.5,74.3 57,73.3 55.4,72.4 55.6,71.5 57.5,70.7 56.9,70.6 53.7,70.8 53.4,71.2 51.6,71.5 51.5,72 52.5,72.2 52.4,72.8 54.4,73.6 53.5,73.7
+27.4,80.1 25.9,79.5 23,79.4 20.1,79.6 19.9,79.8 18.5,79.9 17.4,80.3 20.5,80.6 21.9,80.4 22.9,80.7 25.4,80.4 27.4,80.1
+24.7,77.9 22.5,77.4 20.7,77.7 21.4,77.9 20.8,78.3 22.9,78.5 23.3,78.1 24.7,77.9
+15.1,79.7 15.5,80 17,80.1 18.3,79.7 21.5,79 19,78.6 18.5,77.8 17.6,77.6 17.1,76.8 15.9,76.8 13.8,77.4 14.7,77.7 13.2,78 11.2,78.9 10.4,79.7 13.2,80 13.7,79.7 15.1,79.7
+-77.9,7.2 -78.2,7.5 -78.4,8.1 -78.2,8.3 -78.6,8.7 -79.1,9 -79.6,8.9 -79.8,8.6 -80.2,8.3 -80.5,8.1 -80,7.5 -80.3,7.4 -80.9,7.2 -81.1,7.8 -81.5,7.7 -81.7,8.1 -82.1,8.2 -82.4,8.3 -82.8,8.3 -83.5,8.4 -83.7,8.7 -83.6,9.1 -83.9,9.3 -84.3,9.5 -84.6,9.6 -84.7,9.9 -85,10.1 -84.9,9.8 -85.1,9.6 -85.3,9.8 -85.7,9.9 -85.8,10.4 -85.7,10.8 -86.1,11.4 -86.5,11.8 -86.7,12.1 -87.2,12.5 -87.7,12.9 -87.3,13 -87.5,13.3 -87.8,13.4 -87.9,13.1 -88.5,13.2 -88.8,13.3 -89.3,13.5 -89.8,13.5 -90.1,13.7 -90.6,13.9 -91.2,13.9 -91.7,14.1 -92.2,14.5 -93.4,15.6 -93.9,15.9 -94.7,16.2 -95.3,16.1 -96.1,15.8 -96.6,15.7 -97.3,15.9 -98,16.1 -98.9,16.6 -99.7,16.7 -100.8,17.2 -101.7,17.6 -101.9,17.9 -102.5,18 -103.5,18.3 -103.9,18.7 -105,19.3 -105.5,19.9 -105.7,20.4 -105.4,20.5 -105.5,20.8 -105.3,21.1 -105.6,21.9 -105.7,22.3 -106,22.8 -106.9,23.8 -107.9,24.5 -108.4,25.2 -109.3,25.6 -109.3,26.4 -109.8,26.7 -110.4,27.2 -110.6,27.9 -111.2,27.9 -111.8,28.5 -112.2,29 -112.3,29.3 -112.8,30 -113.2,30.8 -113.1,31.2 -113.9,31.6 -114.2,31.5 -114.8,31.8 -114.9,31.4 -114.8,30.9 -114.7,30.2 -114.3,29.8 -113.6,29.1 -113.4,28.8 -113.1,28.4 -112.8,27.8 -112.5,27.5 -112.2,27.2 -111.6,26.7 -111.3,25.7 -111,25.3 -110.7,24.8 -110.7,24.3 -110.2,24.3 -109.8,23.8 -109.4,23.4 -109.9,22.8 -110.3,23.4 -110.9,24 -111.7,24.5 -112.2,24.7 -112.1,25.5 -112.3,26 -112.8,26.3 -113.5,26.8 -113.8,26.9 -114.5,27.1 -115.1,27.7 -114.6,27.7 -114.2,28.1 -114.2,28.6 -114.9,29.3 -115.5,29.6 -115.9,30.2 -116.3,30.8 -116.7,31.6 -117.1,32.5 -117.3,33 -117.9,33.6 -118.4,33.7 -118.5,34 -119.1,34.1 -119.4,34.3 -120.4,34.4 -120.6,34.6 -120.7,35.2 -121.7,36.2 -122.5,37.6 -123,38.1 -123.7,39 -123.9,39.8 -124.4,40.3 -124.2,41.1 -124.2,42 -124.5,42.8 -124.1,43.7 -124,44.6 -123.9,45.5 -124.1,46.9 -124.4,47.7 -124.7,48.2 -123.1,48 -122.6,47.1 -122.3,47.4 -122.5,48.2 -122.8,49 -124.9,50 -125.6,50.4 -127.4,50.8 -128,51.7 -127.9,52.3 -129.1,52.8 -129.3,53.6 -130.5,54.3 -130.5,54.8 -131.1,55.2 -132,55.5 -132.3,56.4 -133.5,57.2 -134.1,58.1 -135,58.2 -136.6,58.2 -137.8,58.5 -139.9,59.5 -140.8,59.7 -142.6,60.1 -144,60 -145.9,60.5 -147.1,60.9 -148.2,60.7 -148,60 -148.6,59.9 -149.7,59.7 -150.6,59.4 -151.7,59.2 -151.9,59.7 -151.4,60.7 -150.3,61 -150.6,61.3 -151.9,60.7 -152.6,60.1 -154,59.4 -153.3,58.9 -154.2,58.1 -155.3,57.7 -156.3,57.4 -156.6,57 -158.1,56.5 -158.4,56 -159.6,55.6 -160.3,55.6 -161.2,55.4 -162.2,55 -163.1,54.7 -164.8,54.4 -163.8,55 -162.9,55.3 -161.8,55.9 -160.6,56 -160.1,56.4 -158.7,57 -158.5,57.2 -157.7,57.6 -157.6,58.3 -157,58.9 -158.2,58.6 -158.5,58.8 -159.1,58.4 -159.7,58.9 -160,58.6 -160.4,59.1 -161.4,58.7 -162,58.7 -162.1,59.3 -161.9,59.6 -162.5,60 -163.8,59.8 -164.7,60.3 -165.3,60.5 -165.4,61.1 -166.1,61.5 -165.7,62.1 -164.9,62.6 -164.6,63.1 -163.8,63.2 -163.1,63.1 -162.3,63.5 -161.5,63.5 -160.8,63.8 -161,64.2 -161.5,64.4 -160.8,64.8 -161.4,64.8 -162.5,64.6 -162.8,64.3 -163.5,64.6 -165,64.4 -166.4,64.7 -166.8,65.1 -168.1,65.7 -166.7,66.1 -164.5,66.6 -163.7,66.6 -163.8,66.1 -161.7,66.1 -162.5,66.7 -163.7,67.1 -164.4,67.6 -165.4,68 -166.8,68.4 -166.2,68.9 -164.4,68.9 -163.2,69.4 -162.9,69.9 -161.9,70.3 -160.9,70.4 -159,70.9 -158.1,70.8 -156.6,71.4 -155.1,71.1 -154.3,70.7 -153.9,70.9 -152.2,70.8 -150.7,70.4 -149.7,70.5 -147.6,70.2 -145.7,70.1 -144.9,70 -143.6,70.2 -142.1,69.9 -141,69.7 -139.1,69.5 -137.5,69 -136.5,68.9 -135.6,69.3 -134.4,69.6 -132.9,69.5 -131.4,69.9 -129.8,70.2 -129.1,69.8 -128.4,70 -128.1,70.5 -127.4,70.4 -125.8,69.5 -124.4,70.2 -124.3,69.4 -123.1,69.6 -122.7,69.9 -121.5,69.8 -119.9,69.4 -117.6,69 -116.2,68.8 -115.2,68.9 -113.9,68.4 -115.3,67.9 -113.5,67.7 -110.8,67.8 -109.9,68 -108.9,67.4 -107.8,67.9 -108.8,68.3 -108.2,68.7 -107,68.7 -106.2,68.8 -105.3,68.6 -104.3,68 -103.2,68.1 -101.5,67.6 -99.9,67.8 -98.4,67.8 -98.6,68.4 -97.7,68.6 -96.1,68.2 -96.1,67.3 -95.5,68.1 -94.7,68.1 -94.2,69.1 -95.3,69.7 -96.5,70.1 -96.4,71.2 -95.2,71.9 -93.9,71.8 -92.9,71.3 -91.5,70.2 -92.4,69.7 -90.5,69.5 -90.6,68.5 -89.2,69.3 -88,68.6 -88.3,67.9 -87.4,67.2 -86.3,67.9 -85.6,68.8 -85.5,69.9 -84.1,69.8 -82.6,69.7 -81.3,69.2 -81.2,68.7 -82,68.1 -81.3,67.6 -81.4,67.1 -83.3,66.4 -84.7,66.3 -85.8,66.6 -86.1,66.1 -87,65.2 -87.3,64.8 -88.5,64.1 -89.9,64 -90.7,63.6 -90.8,63 -91.9,62.8 -93.2,62 -94.2,60.9 -94.6,60.1 -94.7,58.9 -93.2,58.8 -92.8,57.8 -92.3,57.1 -90.9,57.3 -89,56.9 -88,56.5 -87.3,56 -86.1,55.7 -85,55.3 -83.4,55.2 -82.3,55.1 -82.4,54.3 -82.1,53.3 -81.4,52.2 -79.9,51.2 -79.1,51.5 -78.6,52.6 -79.1,54.1 -79.8,54.7 -78.2,55.1 -77.1,55.8 -76.5,56.5 -76.6,57.2 -77.3,58.1 -78.5,58.8 -77.3,59.9 -77.8,60.8 -78.1,62.3 -77.4,62.6 -75.7,62.3 -74.7,62.2 -73.8,62.4 -72.9,62.1 -71.7,61.5 -71.4,61.1 -69.6,61.1 -69.6,60.2 -69.3,59 -68.4,58.8 -67.6,58.2 -66.2,58.8 -65.2,59.9 -64.6,60.3 -63.8,59.4 -62.5,58.2 -61.4,57 -61.8,56.3 -60.5,55.8 -59.6,55.2 -58,54.9 -57.3,54.6 -56.9,53.8 -56.2,53.6 -55.8,53.3 -55.7,52.1 -56.4,51.8 -57.1,51.4 -58.8,51.1 -60,50.2 -61.7,50.1 -63.9,50.3 -65.4,50.3 -66.4,50.2 -67.2,49.5 -68.5,49.1 -70,47.7 -71.1,46.8 -70.3,47 -68.6,48.3 -66.6,49.1 -65.1,49.2 -64.2,48.7 -65.1,48.1 -64.8,47 -64.5,46.2 -63.2,45.7 -61.5,45.9 -60.5,47 -60.4,46.3 -59.8,45.9 -61,45.3 -63.3,44.7 -64.2,44.3 -65.4,43.5 -66.1,43.6 -66.2,44.5 -64.4,45.3 -66,45.3 -67.1,45.1 -67,44.8 -68,44.3 -69.1,44 -70.1,43.7 -70.6,43.1 -70.8,42.9 -70.8,42.3 -70.5,41.8 -70.1,41.8 -70.2,42.1 -69.9,41.9 -70,41.6 -70.6,41.5 -71.1,41.5 -71.9,41.3 -72.3,41.3 -72.9,41.2 -73.7,40.9 -72.2,41.1 -71.9,40.9 -73.3,40.6 -74,40.6 -74.3,40.5 -74,40.4 -74.2,39.7 -74.9,38.9 -75,39.2 -75.5,39.5 -75.3,39 -75.1,38.8 -75.1,38.4 -75.4,38 -75.9,37.2 -75.7,37.9 -76.2,38.3 -76.3,39.1 -76.5,38.7 -76.3,38.1 -77,38.2 -76.3,37.9 -76.3,37 -76,36.9 -75.9,36.6 -75.7,35.6 -76.4,34.8 -77.4,34.5 -78.1,33.9 -78.6,33.9 -79.1,33.5 -79.2,33.2 -80.3,32.5 -80.9,32 -81.3,31.4 -81.5,30.7 -81.3,30 -81,29.2 -80.5,28.5 -80.5,28 -80.1,26.9 -80.1,26.2 -80.1,25.8 -80.4,25.2 -80.7,25.1 -81.2,25.2 -81.3,25.6 -81.7,25.9 -82.2,26.7 -82.7,27.5 -82.9,27.9 -82.7,28.5 -82.9,29.1 -83.7,29.9 -84.1,30.1 -85.1,29.6 -85.8,30.2 -86.4,30.4 -87.5,30.3 -88.4,30.4 -89.2,30.3 -89.6,30.2 -89.4,29.9 -89.4,29.5 -89.2,29.3 -89.8,29.3 -90.2,29.1 -90.9,29.1 -91.6,29.7 -92.5,29.6 -93.2,29.8 -93.8,29.7 -94.7,29.5 -95.6,28.7 -96.6,28.3 -97.1,27.8 -97.4,27.4 -97.4,26.7 -97.3,26.2 -97.1,25.9 -97.5,25 -97.7,24.3 -97.8,22.9 -97.9,22.4 -97.7,21.9 -97.4,21.4 -97.2,20.6 -96.5,19.9 -96.3,19.3 -95.9,18.8 -94.8,18.6 -94.4,18.1 -93.5,18.4 -92.8,18.5 -92,18.7 -91.4,18.9 -90.8,19.3 -90.5,19.9 -90.5,20.7 -90.3,21 -89.6,21.3 -88.5,21.5 -87.7,21.5 -87.1,21.5 -86.8,21.3 -86.8,20.8 -87.4,20.3 -87.6,19.6 -87.6,19 -87.8,18.3 -88.1,18.5 -88.1,18.1 -88.3,17.6 -88.3,17.1 -88.4,16.5 -88.6,16.3 -88.9,15.9 -88.6,15.7 -88.2,15.7 -87.9,15.9 -87.5,15.8 -86.9,15.8 -86.4,15.8 -86.1,15.9 -85.7,16 -85.4,15.9 -85,16 -84.5,15.9 -84.1,15.6 -83.8,15.4 -83.4,15.3 -83.1,15 -83.3,14.7 -83.2,14.3 -83.4,14 -83.5,13.6 -83.6,13.1 -83.5,12.4 -83.7,11.9 -83.9,11.4 -83.8,11.1 -83.6,10.8 -83.4,10.4 -83,10 -82.5,9.6
+-82.5,9.6 -82.2,9.2 -81.8,9 -81.4,8.8 -80.9,8.9 -80.5,9.1 -79.9,9.3 -79.6,9.6 -79,9.6 -78.5,9.4 -78.1,9.2 -77.7,8.9 -77.4,8.7
+-71.7,19.7 -71.4,19.9 -70.8,19.9 -70.2,19.6 -69.8,19.3 -69.2,19.3 -69.3,19 -68.8,19 -68.3,18.6 -68.7,18.2 -69.2,18.4 -69.6,18.4 -70,18.4 -70.5,18.2 -70.7,18.4 -71,18.3 -71.4,17.6 -71.7,17.8 -72.4,18.2 -72.8,18.1 -73.5,18.2 -73.9,18 -74.5,18.3 -74.4,18.7 -73.4,18.5 -72.7,18.4 -72.3,18.7 -72.8,19.1 -72.8,19.5 -73.4,19.6 -73.2,19.9 -72.6,19.9 -71.7,19.7
+14.8,38.1 15.5,38.2 15.2,37.4 15.3,37.1 15.1,36.6 14.3,37 13.8,37.1 12.4,37.6 12.6,38.1 13.7,38 14.8,38.1
+37.5,44.7 38.7,44.3 40,43.4
+132.4,33.5 132.9,34.1 133.5,33.9 133.9,34.4 134.6,34.1 134.8,33.8 134.2,33.2 133.8,33.5 133.3,33.3 133,32.7 132.4,33 132.4,33.5
+-16.3,19.1 -16.4,19.6 -16.3,20.1 -16.5,20.6 -17.1,21 -17,21.4 -17,21.9 -16.6,22.2 -16.3,22.7 -16,23.7 -15.4,24.4 -15.1,24.5 -14.8,25.1 -14.8,25.6 -14.4,26.3 -13.8,26.6 -13.1,27.6 -12.6,28 -11.7,28.1 -10.9,28.8 -10.4,29.1 -9.6,29.9 -9.8,31.2 -9.4,32 -9.3,32.6 -8.7,33.2 -7.7,33.7 -6.9,34.1 -6.2,35.1 -5.9,35.8 -5.2,35.8 -4.6,35.3 -3.6,35.4 -2.6,35.2 -2.2,35.2 -1.2,35.7 -0.1,35.9 0.5,36.3 1.5,36.6 3.2,36.8 4.8,36.9 5.3,36.7 6.3,37.1 7.3,37.1 7.7,36.9 8.4,36.9 9.5,37.3 10.2,37.2 10.2,36.7 11,37.1 10.6,36.4 10.6,35.9 10.9,35.7 10.8,34.8 10.1,34.3 10.3,33.8 10.9,33.8 11.1,33.3 11.5,33.1 12.7,32.8 13.1,32.9 13.9,32.7 15.2,32.3 15.7,31.4 16.6,31.2 18,30.8 19.1,30.3 19.6,30.5 20.1,31 19.8,31.8 20.1,32.2 20.9,32.7 21.5,32.8 22.9,32.6 23.2,32.2 23.6,32.2 23.9,32 24.9,31.9 25.2,31.6 26.5,31.6 27.5,31.3 28.5,31 28.9,30.9 29.7,31.2 30.1,31.5 31,31.6 31.7,31.4 32,30.9 32.2,31.3 33,31 33.8,31 34.3,31.2 34.6,31.5 34.8,32.1 35,32.8 35.1,33.1 35.5,33.9 36,34.6 35.9,35.4 36.1,35.8 35.8,36.3 36.2,36.7 35.6,36.6 34.7,36.8 34,36.2 32.5,36.1 31.7,36.6 30.6,36.7 30.4,36.3 29.7,36.1 28.7,36.7 27.6,36.7 27,37.7 26.3,38.2 26.8,39 26.2,39.5 27.3,40.4 28.8,40.5 29.2,41.2 31.1,41.1 32.3,41.7 33.5,42 35.2,42 36.9,41.3 38.3,40.9 39.5,41.1 40.4,41 41.6,41.5 41.7,42 41.5,42.6 40.9,43 40.3,43.1 40,43.4 38.7,44.3 37.5,44.7 36.7,45.2 37.4,45.4 38.2,46.2 37.7,46.6 39.1,47 38.2,47.1 37.4,47 36.8,46.7 35.8,46.6 35,46.3 35,45.7 35.5,45.4 36.5,45.5 36.3,45.1 35.2,44.9 33.9,44.4 33.3,44.6 33.5,45 32.5,45.3 33.6,45.9 33.3,46.1 31.7,46.3 31.7,46.7 30.7,46.6 30.4,46 29.6,45.3 29.1,44.8 28.8,44.9 28.6,43.7 28,43.3 27.7,42.6 28,42 28.1,41.6 29,41.3 28.8,41.1 27.6,41 27.2,40.7 26.4,40.2 26,40.6 25.4,40.9 24.9,40.9 23.7,40.7 24.4,40.1 23.9,40 23.3,40 22.8,40.5 22.6,40.3 22.8,39.7 23.4,39.2 23,39 23.5,38.5 24,38.2 24,37.7 23.1,37.9 23.4,37.4 22.8,37.3 23.2,36.4 22.5,36.4 21.7,36.8 21.3,37.6 21.1,38.3 20.7,38.8 20.2,39.3 20,39.7 19.4,40.3 19.3,40.7 19.4,41.4 19.5,41.7 19.2,42 18.9,42.3 18.5,42.5 17.5,42.8 16.9,43.2 16,43.5 15.2,44.2 14.9,44.7 14.9,45.1 14.3,45.2 14,44.8 13.7,45.1 13.7,45.5 13.1,45.7 12.3,45.4 12.4,44.9 12.3,44.6 12.6,44.1 13.5,43.6 14,42.8 15.1,42 15.9,42 16.2,41.7 15.9,41.5 16.8,41.2 17.5,40.9 18.4,40.4 18.3,39.8 17.7,40.3 16.9,40.4 16.4,39.8 17.2,39.4 17.1,38.9 16.6,38.8 16.1,38 15.7,37.9 15.9,38.8 16.1,39 15.7,39.5 15.4,40 15,40.2 14.7,40.6 14.1,40.8 13.6,41.2 12.9,41.3 12.1,41.7 11.2,42.4 10.5,42.9 10.2,43.9 9.7,44 8.9,44.4 8.4,44.2 7.9,43.8 7.4,43.7 6.5,43.1 4.6,43.4 3.1,43.1 3,42.5 3,41.9 2.1,41.2 0.8,41 0.7,40.7 0.1,40.1 -0.3,39.3 0.1,38.7 -0.5,38.3 -0.7,37.6 -1.4,37.4 -2.1,36.7 -3.4,36.7 -4.4,36.7 -5,36.3 -5.4,35.9 -5.9,36 -6.2,36.4 -6.5,36.9 -7.5,37.1 -7.9,36.8 -8.4,37 -8.9,36.9 -8.7,37.7 -8.8,38.3 -9.3,38.4 -9.5,38.7 -9.4,39.4 -9,39.8 -9,40.2 -8.8,40.8 -8.8,41.2 -9,41.5 -9,41.9 -9,42.6 -9.4,43 -8,43.7 -6.8,43.6 -5.4,43.6 -4.3,43.4 -3.5,43.5 -1.9,43.4 -1.4,44 -1.2,46 -2.2,47.1 -3,47.6 -4.5,48 -4.6,48.7 -3.3,48.9 -1.6,48.6 -1.9,49.8 -1,49.3 1.3,50.1 1.6,50.9 2.5,51.1 3.3,51.3 3.8,51.6 4.7,53.1 6.1,53.5 6.9,53.5 7.1,53.7 7.9,53.7 8.1,53.5 8.8,54 8.6,54.4 8.5,55 8.1,55.5 8.1,56.5 8.3,56.8 8.5,57.1 9.4,57.2 9.8,57.4 10.6,57.7 10.5,57.2 10.2,56.9 10.4,56.6 10.9,56.5 10.7,56.1 10.4,56.2 9.6,55.5 9.9,55 9.9,54.6 11,54.4 10.9,54 12,54.2 12.5,54.5 13.6,54.1 14.1,53.8 14.8,54.1 16.4,54.5 17.6,54.9 18.6,54.7 18.7,54.4 19.7,54.4 19.9,54.9 21.3,55.2 21.1,56 21.1,56.8 21.6,57.4 22.5,57.8 23.3,57 24.1,57 24.3,57.8 24.4,58.4 24.1,58.3 23.4,58.6 23.3,59.2 24.6,59.5 25.9,59.6 26.9,59.4 28,59.5 29.1,60 28.1,60.5 26.3,60.4 24.5,60.1 22.9,59.8 22.3,60.4 21.3,60.7 21.5,61.7 21.1,62.6 21.5,63.2 22.4,63.8 24.7,64.9 25.4,65.1 25.3,65.5 23.9,66 22.2,65.7 21.2,65 21.4,64.4 19.8,63.6 17.8,62.7 17.1,61.3 17.8,60.6 18.8,60.1 17.9,59 16.8,58.7 16.4,57 15.9,56.1 14.7,56.2 14.1,55.4 12.9,55.4 12.6,56.3 11.8,57.4 11,58.9 10.4,59.5 8.4,58.3 7,58.1 5.7,58.6 5.3,59.7 5,62 5.9,62.6 8.6,63.5 10.5,64.5 12.4,65.9 14.8,67.8 16.4,68.6 19.2,69.8 21.4,70.3 23,70.2 24.5,71 26.4,71 28.2,71.2 31.3,70.5 30,70.2 31.1,69.6 32.1,69.9 33.8,69.3 36.5,69.1 40.3,67.9 41.1,67.5 41.1,66.8 40,66.3 38.4,66 33.9,66.8 33.2,66.6 34.8,65.9 34.9,65.4 34.9,64.4 36.2,64.1 37,63.8 37.1,64.3 36.5,64.8 37.2,65.1 39.6,64.5 40.4,64.8 39.8,65.5 42.1,66.5 43,66.4 43.9,66.1 44.5,66.8 43.7,67.4 44.2,68 43.5,68.6 46.3,68.2 46.8,67.7 45.6,67.6 45.6,67 46.3,66.7 47.9,66.9 48.1,67.5 53.7,68.9 54.5,68.8 53.5,68.2 54.8,68.1 55.4,68.4 57.3,68.5 58.8,68.9 59.9,68.3 61.1,68.9 60,69.5 60.6,69.8 63.5,69.5 64.9,69.2 68.5,68.1 69.2,68.6 68.2,69.1 68.1,69.4 66.9,69.5 67.3,69.9 66.7,70.7 68.5,71.9 69.2,72.8 69.9,73 72.6,72.8 72.8,72.2 71.8,71.4 72.5,71.1 72.8,70.4 72.6,69 73.7,68.4 73.2,67.7 71.3,66.3 72.4,66.2 72.8,66.5 73.9,66.8 74.2,67.3 75.1,67.8 74.5,68.3 74.9,69 73.8,69.1 73.6,69.6 74.4,70.6 73.1,71.4 74.9,72.1 74.7,72.8 75.2,72.9 75.7,72.3 75.3,71.3 76.4,71.2 75.9,71.9 77.6,72.3 79.7,72.3 81.5,71.7 80.6,72.6 80.5,73.6 82.2,73.9 84.7,73.8 86.8,73.9 86,74.5 87.2,75.1 88.3,75.1 90.3,75.6 92.9,75.8 93.2,76 95.9,76.1 96.7,75.9 98.9,76.4 100.8,76.4 101,76.9 102,77.3 104.4,77.7 106.1,77.4 104.7,77.1 107,77 107.2,76.5 108.2,76.7 111.1,76.7 113.3,76.2 114.1,75.8 113.9,75.3 112.8,75 110.2,74.5 109.4,74.2 110.6,74 112.1,73.8 113,74 113.5,73.3 114,73.6 115.6,73.8 118.8,73.6 119,73.1 123.2,73 123.3,73.7 125.4,73.6 127,73.6 128.6,73 129.1,72.4 128.5,72 129.7,71.2 131.3,70.8 132.3,71.8 133.9,71.4 135.6,71.7 137.5,71.3 138.2,71.6 139.9,71.5 139.1,72.4 140.5,72.8 149.5,72.2 150.4,71.6 153,70.8 157,71 159,70.9 159.8,70.5 159.7,69.7 160.9,69.4 162.3,69.6 164.1,69.7 165.9,69.5 167.9,69.6 169.6,68.7 170.8,69 170,69.7 170.5,70.1 173.6,69.8 175.7,69.9 178.6,69.4 180,69
+180,65 178.7,64.5 177.4,64.6 178.3,64.1 178.9,63.3 179.4,63 179.5,62.6 179.2,62.3 177.4,62.5 174.6,61.8 173.7,61.7 172.2,61 170.7,60.3 170.3,59.9 168.9,60.6 166.3,59.8 165.8,60.2 164.9,59.7 163.5,59.9 163.2,59.2 162,58.2 162.1,57.8 163.2,57.6 163.1,56.2 162.1,56.1 161.7,55.3 162.1,54.9 160.4,54.3 160,53.2 158.5,53 158.2,51.9 156.8,51 156.4,51.7 156,53.2 155.4,55.4 155.9,56.8 156.8,57.4 156.8,57.8 158.4,58.1 160.2,59.3 161.9,60.3 163.7,61.1 164.5,62.6 163.3,62.5 162.7,61.6 160.1,60.5 159.3,61.8 156.7,61.4 154.2,59.8 155,59.1 152.8,58.9 151.3,58.8 151.3,59.5 149.8,59.7 148.5,59.2 145.5,59.3 142.2,59 139,57.1 135.1,54.7 136.7,54.6 137.2,54 138.2,53.8 138.8,54.3 139.9,54.2 141.3,53.1 141.4,52.2 140.6,51.2 140.5,50 140.1,48.4 138.6,47 138.2,46.3 136.9,45.1 135.5,44 134.9,43.4 133.5,42.8 132.9,42.8 132.3,43.3 130.9,42.6 130.8,42.2 130.4,42.3 130,41.9 129.7,41.6 129.7,40.9 129.2,40.7 129,40.5 128.6,40.2 128,40 127.5,39.8 127.5,39.3 127.8,39.1 128.3,38.6 129.2,37.4 129.5,36.8 129.5,35.6 129.1,35.1 128.2,34.9 127.4,34.5 126.5,34.4 126.4,34.9 126.6,35.7 126.1,36.7 126.9,36.9 126.2,37.7 125.7,37.9 125.3,37.7 125,37.9 124.7,38.1 125,38.5 125.2,38.7 125.4,39.4 124.7,39.7 124.3,39.9 122.9,39.6 122.1,39.2 121.1,38.9 121.6,39.4 121.4,39.8 122.2,40.4 121.6,40.9 120.8,40.6 119.6,39.9 119,39.3 118,39.2 117.5,38.7 118.1,38.1 118.9,37.9 118.9,37.4 119.7,37.2 120.8,37.9 121.7,37.5 122.4,37.5 122.5,36.9 121.1,36.7 120.6,36.1 119.7,35.6 119.2,34.9 120.2,34.4 120.6,33.4 121.2,32.5 121.9,31.7 121.9,30.9 121.3,30.7 121.5,30.1 122.1,29.8 121.9,29 121.7,28.2 121.1,28.1 120.4,27.1 119.6,25.7 118.7,24.5 117.3,23.6 115.9,22.8 114.8,22.7 114.2,22.2 113.8,22.5 113.2,22.1 111.8,21.6 110.8,21.4 110.5,20.6 110.4,20.3 109.9,20.3 109.6,21 109.9,21.4 108.5,21.7 108.1,21.6 106.7,20.7 105.9,19.8 105.7,19.1 106.4,18 107.4,16.7 108.3,16.1 108.9,15.3 109.3,13.4 109.2,11.7 108.4,11 107.2,10.4 106.4,9.5 105.2,8.6 104.8,9.2 105.1,9.9 104.3,10.5 103.5,10.6 103.1,11.2 102.6,12.2 101.7,12.6 100.8,12.6 101,13.4 100.1,13.4 100,12.3 99.5,10.8 99.2,10 99.2,9.2 99.9,9.2 100.3,8.3 100.5,7.4 101,6.9 101.6,6.7 102.1,6.2 102.4,6.1 103,5.5 103.4,4.9 103.4,4.2 103.3,3.7 103.4,3.4 103.5,2.8 103.9,2.5 104.2,1.6 103.5,1.2 102.6,2 101.4,2.8 101.3,3.3 100.7,3.9 100.6,4.8 100.2,5.3 100.3,6 100.1,6.5 99.7,6.8 99.5,7.3 99,7.9 98.5,8.4 98.3,7.8 98.2,8.4 98.3,9 98.6,9.9 98.5,10.7 98.8,11.4 98.4,12 98.5,13.1 98.1,13.6 97.8,14.8 97.6,16.1 97.2,16.9 96.5,16.4 95.4,15.7 94.8,15.8 94.2,16 94.5,17.3 94.3,18.2 93.5,19.4 93.7,19.7 93.1,19.9 92.4,20.7 92.1,21.2 92,21.7 91.8,22.2 91.4,22.8 90.5,22.8 90.6,22.4 90.3,21.8 89.8,22 89.4,22 89,22.1 88.9,21.7 88.2,21.7 87,21.5 87,20.7 86.5,20.2 85.1,19.5 83.9,18.3 83.2,17.7 82.2,17 82.2,16.6 81.7,16.3 80.8,16 80.3,15.9 80,15.1 80.2,13.8 80.3,13 79.9,12.1 79.9,10.4 79.3,10.3 78.9,9.5 79.2,9.2 78.3,8.9 77.9,8.3 77.5,8 76.6,8.9 76.1,10.3 75.7,11.3 75.4,11.8 74.9,12.7 74.6,14 74.4,14.6 73.5,16 73.1,17.9 72.8,19.2 72.8,20.4 72.6,21.4 71.2,20.8 70.5,20.9 69.2,22.1 69.6,22.5 69.3,22.8 68.2,23.7 67.4,23.9 67.1,24.7 66.4,25.4 64.5,25.2 62.9,25.2 61.5,25.1 59.6,25.4 58.5,25.6 57.4,25.7 57,27 56.5,27.1 55.7,27 54.7,26.5 53.5,26.8 52.5,27.6 51.5,27.9 50.9,28.8 50.1,30.1 49.6,30 48.9,30.3 48.6,29.9 48,30 48.2,29.5 48.4,28.6 48.8,27.7 49.3,27.5 49.5,27.1 50.2,26.7 50.2,26.3 50.1,25.9 50.2,25.6 50.5,25.3 50.7,25 50.7,25.5 51,26 51.3,26.1 51.6,25.8 51.6,25.2 51.4,24.6 51.6,24.2 51.8,24 52.6,24.2 53.4,24.2 54,24.1 54.7,24.8 55.4,25.4 56.1,26.1 56.4,26.4 56.4,25.9 56.4,24.9 56.8,24.2 57.4,23.9 58.1,23.7 58.7,23.6 59.2,23 59.5,22.7 59.8,22.5 59.4,21.7 59.3,21.4 58.9,21.1 58.5,20.4 58,20.5 57.8,20.2 57.7,19.7 57.8,19.1 57.2,18.9 56.6,18.6 56.5,18.1 56.3,17.9 55.7,17.9 55.3,17.6 55.3,17.2 54.8,17 54.2,17 53.6,16.7 53.1,16.7 52.4,16.4 52.2,15.9 51.2,15.2 49.6,14.7 48.7,14 48.2,13.9 47.9,14 47.4,13.6 46.7,13.4 45.9,13.3 45.4,13 45,12.7 44.5,12.7 44.2,12.6 43.5,12.6 43.2,13.2 43.3,13.8 43.1,14.1 42.9,14.8 42.6,15.2 42.7,15.7 42.8,16.3 42.6,16.8 42.3,17.1 42.3,17.5 41.8,17.8 41.2,18.7 40.9,19.5 40.2,20.2 39.8,20.3 39.1,21.3 39,22 39.1,22.6 38.5,23.7 38,24.1 37.5,24.3 37.2,24.9 36.9,25.6 36.6,25.8 36.2,26.6 35.6,27.4 35.1,28.1 34.6,28.1 34.8,28.6 34.8,29 35,29.4 34.6,29.1 34.4,28.3 34.2,27.8 33.9,27.6 33.6,28 33.1,28.4 32.4,29.9 32.7,28.7 33.3,27.7 34.1,26.1 34.5,25.6 34.8,25 35.7,23.9 35.5,23.1 36.7,22.2 36.9,22 37.2,21 37,20.8 37.1,19.8 37.5,18.6 37.9,18.4 38.4,18 39,16.8 39.3,15.9 39.8,15.4 41.2,14.5 41.7,13.9 42.3,13.3 42.6,13 43.1,12.7 43.3,12.4 43.3,12 42.7,11.7 43.1,11.5 43.5,11.3 43.7,10.9 44.1,10.4 44.6,10.4 45.6,10.7 46.6,10.8 47.5,11.1 48,11.2 48.4,11.4 48.9,11.4 49.3,11.4 49.7,11.6 50.3,11.7 50.7,12 51.1,12 51,11.2 51,10.6 50.8,10.3 50.6,9.2 50.1,8.1 49.5,6.8 48.6,5.3 47.7,4.2 46.6,2.9 45.6,2 44.1,1.1 43.1,0.3 42,-0.9 41.8,-1.4 41.6,-1.7 40.9,-2.1 40.6,-2.5 40.3,-2.6 40.1,-3.3 39.8,-3.7 39.6,-4.3 39.2,-4.7 38.7,-5.9 38.8,-6.5 39.4,-6.8 39.5,-7.1 39.2,-7.7 39.3,-8 39.2,-8.5 39.5,-9.1 39.9,-10.1 40.3,-10.3 40.5,-10.8 40.4,-11.8 40.6,-12.6 40.6,-14.2 40.8,-14.7 40.5,-15.4 40.1,-16.1 39.5,-16.7 38.5,-17.1 37.4,-17.6 36.3,-18.7 35.9,-18.8 35.2,-19.6 34.8,-19.8 34.7,-20.5 35.2,-21.3 35.4,-21.8 35.6,-22.1 35.5,-23.1 35.4,-23.5 35.6,-23.7 35.5,-24.1 35,-24.5 34.2,-24.8 33,-25.4 32.6,-25.7 32.7,-26.1 32.8,-26.7 32.6,-27.5 32.5,-28.3 32.2,-28.8 31.5,-29.3 30.9,-29.9 30.6,-30.4 30.1,-31.1 28.9,-32.2 28.2,-32.8 27.5,-33.2 26.4,-33.6 25.9,-33.7 25.2,-33.8 24.7,-34 23.6,-33.8 23,-33.9 22.6,-33.9 21.5,-34.3 20.7,-34.4 20.1,-34.8 19.6,-34.8 19.2,-34.5 18.9,-34.4 18.4,-34 18.3,-33.3 17.9,-32.6 18.2,-32.4 18.2,-31.7 17.6,-30.7 17.1,-29.9 16.3,-28.6 15.6,-27.8 15.2,-27.1 15,-26.1 14.7,-25.4 14.4,-23.9 14.4,-22.7 14.3,-22.1 13.9,-21.7 13.4,-20.9 12.8,-19.7 12.6,-19 11.8,-18.1 11.7,-17.3 11.6,-16.7 11.8,-15.8 12.1,-14.9 12.2,-14.4 12.5,-13.5 12.7,-13.1 13.3,-12.5 13.6,-12 13.7,-11.3 13.7,-10.7 13.4,-10.4 13.1,-9.8 12.9,-9.2 13.2,-8.6 12.9,-7.6 12.7,-6.9 12.2,-6.3 12.2,-5.8 11.9,-5 11.1,-4 10.1,-3 9.4,-2.1 8.8,-1.1 9,-0.5 9.3,0.3 9.5,1 9.3,1.2 9.6,2.3 9.8,3.1 9.4,3.7 8.9,3.9 8.7,4.4 8.5,4.8 7.5,4.4 7.1,4.5 6.7,4.2 5.9,4.3 5.4,4.9 5,5.6 4.3,6.3 3.6,6.3 2.7,6.3 1.9,6.1 1.1,5.9 -0.5,5.3 -1.1,5 -2,4.7 -2.9,5 -3.3,5 -4,5.2 -4.6,5.2 -5.8,5 -6.5,4.7 -7.5,4.3 -8,4.4 -9,4.8 -9.9,5.6 -10.8,6.1 -11.4,6.8 -11.7,6.9 -12.4,7.3 -12.9,7.8 -13.1,8.2 -13.2,8.9 -13.7,9.5 -14.1,9.9 -14.6,10.2 -14.7,10.7 -15.1,11 -15.7,11.5 -16.1,11.5 -16.3,11.8 -16.6,12.2 -16.8,13.2 -16.7,13.6 -17.1,14.4 -17.6,14.7 -17.2,14.9 -16.7,15.6 -16.5,16.1 -16.5,16.7 -16.3,17.2 -16.1,18.1 -16.3,19.1
+-177.6,68.2 -180,69
+-180,-16.1 -179.9,-16.5 -180,-16.6
+125.9,-8.4 126.6,-8.4 127,-8.3 127.3,-8.4 127,-8.7 125.9,-9.1 125.1,-9.4 124.4,-10.1 123.6,-10.4 123.6,-9.9 124,-9.3 125,-8.9 125.9,-8.4
+-180,-84.7 -179.1,-84.1 -177.3,-84.5 -176.1,-84.1 -174.4,-84.5 -173.1,-84.1 -170,-83.9 -169,-84.1 -168.5,-84.2 -167,-84.6 -164.2,-84.8 -161.9,-85.1 -158.1,-85.4 -155.2,-85.1 -150.9,-85.3 -148.5,-85.6 -145.9,-85.3 -143.1,-85 -142.9,-84.6 -146.8,-84.5 -150.1,-84.3 -150.9,-83.9 -153.6,-83.7 -153.4,-83.2 -153,-82.8 -152.7,-82.5 -152.9,-82 -154.5,-81.8 -155.3,-81.4 -156.8,-81.1 -154.4,-81.2 -152.1,-81 -150.6,-81.3 -148.9,-81 -147.2,-80.7 -146.4,-80.3 -146.8,-79.9 -148.1,-79.7 -149.5,-79.4 -151.6,-79.3 -153.4,-79.2 -155.3,-79.1 -156,-78.7 -157.3,-78.4 -158.1,-78 -158.4,-76.9 -157.9,-77 -157,-77.3 -155.3,-77.2 -153.7,-77.1 -152.9,-77.5 -151.3,-77.4 -150,-77.2 -148.7,-76.9 -147.6,-76.6 -146.1,-76.5 -146.1,-76.1 -146.5,-75.7 -146.2,-75.4 -144.9,-75.2 -144.3,-75.5 -142.8,-75.3 -141.6,-75.1 -140.2,-75.1 -138.9,-75 -137.5,-74.7 -136.4,-74.5 -135.2,-74.3 -134.4,-74.4 -133.7,-74.4 -132.3,-74.3 -130.9,-74.5 -129.6,-74.5 -128.2,-74.3 -126.9,-74.4 -125.4,-74.5 -124,-74.5 -122.6,-74.5 -121.1,-74.5 -119.7,-74.5 -118.7,-74.2 -117.5,-74 -116.2,-74.2 -115,-74.1 -113.9,-73.7 -113.3,-74 -112.9,-74.4 -112.3,-74.7 -111.3,-74.4 -110.1,-74.8 -108.7,-74.9 -107.6,-75.2 -106.1,-75.1 -104.9,-74.9 -103.4,-75 -102,-75.1 -100.6,-75.3 -100.1,-74.9 -100.8,-74.5 -101.3,-74.2 -102.5,-74.1 -103.1,-73.7 -103.3,-73.4 -103.7,-72.6 -102.9,-72.8 -101.6,-72.8 -100.3,-72.8 -99.1,-72.9 -98.1,-73.2 -97.7,-73.6 -96.3,-73.6 -95,-73.5 -93.7,-73.3 -92.4,-73.2 -91.4,-73.4 -90.1,-73.3 -89.2,-72.6 -88.4,-73 -87.3,-73.2 -86,-73.1 -85.2,-73.5 -83.9,-73.5 -82.7,-73.6 -81.5,-73.9 -80.7,-73.5 -80.3,-73.1 -79.3,-73.5 -77.9,-73.4 -76.9,-73.6 -76.2,-74 -74.9,-73.9 -73.9,-73.7 -72.8,-73.4 -71.6,-73.3 -70.2,-73.1 -68.9,-73 -68,-72.8 -67.4,-72.5 -67.1,-72 -67.3,-71.6 -67.6,-71.2 -67.9,-70.9 -68.2,-70.5 -68.5,-70.1 -68.5,-69.7 -68.4,-69.3 -68,-69 -67.6,-68.5 -67.4,-68.1 -67.6,-67.7 -67.7,-67.3 -67.3,-66.9 -66.7,-66.6 -66.1,-66.2 -65.4,-65.9 -64.6,-65.6 -64.2,-65.2 -63.6,-64.9 -63,-64.6 -62,-64.6 -61.4,-64.3 -60.7,-64.1 -59.9,-64 -59.2,-63.7 -58.6,-63.4 -57.8,-63.3 -57.2,-63.5 -57.6,-63.9 -58.6,-64.2 -59,-64.4 -59.8,-64.2 -60.6,-64.3 -61.3,-64.5 -62,-64.8 -62.5,-65.1 -62.6,-65.5 -62.6,-65.9 -62.1,-66.2 -62.8,-66.4 -63.7,-66.5 -64.3,-66.8 -64.9,-67.2 -65.5,-67.6 -65.7,-68 -65.3,-68.4 -64.8,-68.7 -64,-68.9 -63.2,-69.2 -62.8,-69.6 -62.6,-70 -62.3,-70.4 -61.8,-70.7 -61.5,-71.1 -61.4,-72 -61.1,-72.4 -61,-72.8 -60.7,-73.2 -60.8,-73.7 -61.4,-74.1 -62,-74.4 -63.3,-74.6 -63.7,-74.9 -64.4,-75.3 -65.9,-75.6 -67.2,-75.8 -68.4,-76 -69.8,-76.2 -70.6,-76.6 -72.2,-76.7 -74,-76.6 -75.6,-76.7 -77.2,-76.7 -76.9,-77.1 -75.4,-77.3 -74.3,-77.6 -73.7,-77.9 -74.8,-78.2 -76.5,-78.1 -77.9,-78.4 -78,-78.8 -78,-79.2 -76.8,-79.5 -76.6,-79.9 -75.4,-80.3 -73.2,-80.4 -71.4,-80.7 -70,-81 -68.2,-81.3 -65.7,-81.5 -63.3,-81.7 -61.6,-82 -59.7,-82.4 -58.7,-82.8 -58.2,-83.2 -57,-82.9 -55.4,-82.6 -53.6,-82.3 -51.5,-82 -49.8,-81.7 -47.3,-81.7 -44.8,-81.8 -42.8,-82.1 -42.2,-81.7 -40.8,-81.4 -38.2,-81.3 -36.3,-81.1 -34.4,-80.9 -32.3,-80.8 -30.1,-80.6 -28.5,-80.3 -29.3,-80 -29.7,-79.6 -31.6,-79.3 -33.7,-79.5 -35.6,-79.5 -35.9,-79.1 -35.8,-78.3 -35.3,-78.1 -33.9,-77.9 -32.2,-77.7 -31,-77.4 -29.8,-77.1 -28.9,-76.7 -27.5,-76.5 -26.2,-76.4 -25.5,-76.3 -23.9,-76.2 -22.5,-76.1 -21.2,-75.9 -20,-75.7 -18.9,-75.4 -17.5,-75.1 -16.6,-74.8 -15.7,-74.5 -15.4,-74.1 -16.5,-73.9 -16.1,-73.5 -15.4,-73.1 -14.4,-73 -13.3,-72.7 -12.3,-72.4 -11.5,-72 -11,-71.5 -10.3,-71.3 -9.1,-71.3 -8.6,-71.7 -7.4,-71.7 -7.4,-71.3 -6.9,-70.9 -5.8,-71 -5.5,-71.4 -4.3,-71.5 -3,-71.3 -1.8,-71.2 -0.7,-71.2 -0.2,-71.6 0.9,-71.3 1.9,-71.1 3,-71 4.1,-70.9 5.2,-70.6 6.3,-70.5 7.1,-70.2 7.7,-69.9 8.5,-70.1 9.5,-70 10.2,-70.5 10.8,-70.8 12,-70.6 12.4,-70.2 13.4,-70 14.7,-70 15.1,-70.4 15.9,-70 17,-69.9 18.2,-69.9 19.3,-69.9 20.4,-70 21.5,-70.1 21.9,-70.4 22.6,-70.7 23.7,-70.5 24.8,-70.5 26,-70.5 27.1,-70.5 28.1,-70.3 29.2,-70.2 30,-69.9 31,-69.8 32,-69.7 32.8,-69.4 33.3,-68.8 33.9,-68.5 34.9,-68.7 35.3,-69 36.2,-69.2 37.2,-69.2 37.9,-69.5 38.6,-69.8 39.7,-69.5 40,-69.1 40.9,-68.9 42,-68.6 42.9,-68.5 44.1,-68.3 44.9,-68.1 45.7,-67.8 46.5,-67.6 47.4,-67.7 48.3,-67.4 49,-67.1 49.9,-67.1 50.8,-66.9 50.9,-66.5 51.8,-66.2 52.6,-66.1 53.6,-65.9 54.5,-65.8 55.4,-65.9 56.4,-66 57.2,-66.2 57.3,-66.7 58.1,-67 58.7,-67.3 59.9,-67.4 60.6,-67.7 61.4,-68 62.4,-68 63.2,-67.8 64.1,-67.4 65,-67.6 66,-67.7 66.9,-67.9 67.9,-67.9 68.9,-67.9 69.7,-69 69.6,-69.7 68.6,-69.9 67.8,-70.3 67.9,-70.7 69.1,-70.7 68.9,-71.1 68.4,-71.4 67.9,-71.9 68.7,-72.2 69.9,-72.3 71,-72.1 71.6,-71.7 71.9,-71.3 72.5,-71 73.1,-70.7 73.3,-70.4 73.9,-69.9 74.5,-69.8 75.6,-69.7 76.6,-69.6 77.6,-69.5 78.1,-69.1 78.4,-68.7 79.1,-68.3 80.1,-68.1 80.9,-67.9 81.5,-67.5 82.1,-67.4 82.8,-67.2 83.8,-67.3 84.7,-67.2 85.7,-67.1 86.8,-67.2 87.5,-66.9 88,-66.2 88.4,-66.5 88.8,-67 89.7,-67.2 90.6,-67.2 91.6,-67.1 92.6,-67.2 93.5,-67.2 94.2,-67.1 95,-67.2 95.8,-67.4 96.7,-67.2 97.8,-67.2 98.7,-67.1 99.7,-67.2 100.4,-66.9 100.9,-66.6 101.6,-66.3 102.8,-65.6 103.5,-65.7 104.2,-66 104.9,-66.3 106.2,-66.9 107.2,-67 108.1,-67 109.2,-66.8 110.2,-66.7 111.1,-66.4 111.7,-66.1 112.9,-66.1 113.6,-65.9 114.4,-66.1 114.9,-66.4 115.6,-66.7 116.7,-66.7 117.4,-66.9 118.6,-67.2 119.8,-67.3 120.9,-67.2 121.7,-66.9 122.3,-66.6 123.2,-66.5 124.1,-66.6 125.2,-66.7 126.1,-66.6 127,-66.6 127.9,-66.7 128.8,-66.8 129.7,-66.6 130.8,-66.4 131.8,-66.4 132.9,-66.4 133.9,-66.3 134.8,-66.2 135,-65.7 135.1,-65.3 135.7,-65.6 135.9,-66 136.2,-66.4 136.6,-66.8 137.5,-67 138.6,-66.9 139.9,-66.9 140.8,-66.8 142.1,-66.8 143.1,-66.8 144.4,-66.8 145.5,-66.9 146.2,-67.2 146,-67.6 146.6,-67.9 147.7,-68.1 148.8,-68.4 150.1,-68.6 151.5,-68.7 152.5,-68.9 153.6,-68.9 154.3,-68.6 155.2,-68.8 155.9,-69.1 156.8,-69.4 158,-69.5 159.2,-69.6 159.7,-70 160.8,-70.2 161.6,-70.6 162.7,-70.7 163.8,-70.7 164.9,-70.8 166.1,-70.8 167.3,-70.8 168.4,-71 169.5,-71.2 170.5,-71.4 171.2,-71.7 171.1,-72.1 170.6,-72.4 170.1,-72.9 169.8,-73.2 169.3,-73.7 168,-73.8 167.4,-74.2 166.1,-74.4 165.6,-74.8 165,-75.1 164.2,-75.5 163.8,-75.9 163.6,-76.2 163.5,-76.7 163.5,-77.1 164.1,-77.5 164.3,-77.8 164.7,-78.2 166.6,-78.3 167,-78.8 165.2,-78.9 163.7,-79.1 161.8,-79.2 160.9,-79.7 160.7,-80.2 160.3,-80.6 159.8,-80.9 161.1,-81.3 161.6,-81.7 162.5,-82.1 163.7,-82.4 165.1,-82.7 166.6,-83 168.9,-83.3 169.4,-83.8 172.3,-84 173.2,-84.4 176,-84.2 178.3,-84.5 180,-84.7
+-180,69 -177.6,68.2 -174.9,67.2 -175,66.6 -174.3,66.3 -174.6,67.1 -171.9,66.9 -169.9,66 -170.9,65.5 -172.5,65.4 -172.6,64.5 -173,64.3 -173.9,64.3 -174.7,64.6 -176,64.9 -176.2,65.4 -177.2,65.5 -178.4,65.4 -178.9,65.7 -178.7,66.1 -179.9,65.9 -179.4,65.4 -180,65
+-180,71.5 -179,71.6 -177.6,71.3 -178.7,70.9 -180,70.8
+180,70.8 178.9,70.8 178.7,71.1 180,71.5
+180,-16.6 179.4,-16.8 178.7,-17 178.6,-16.6 179.1,-16.4 180,-16.1
+-61.2,-51.9 -60,-51.2 -59.1,-51.5 -58.5,-51.1 -57.8,-51.5 -58,-51.9 -59.4,-52.2 -59.9,-51.9 -60.7,-52.3 -61.2,-51.9
+68.9,-48.6 69.6,-48.9 70.5,-49.1 70.3,-49.7 68.7,-49.8 68.7,-49.2 68.9,-48.8 68.9,-48.6
+178.1,-17.5 178.4,-17.3 178.7,-17.6 178.6,-18.2 177.9,-18.3 177.4,-18.2 177.3,-17.7 177.7,-17.4 178.1,-17.5
+-61.7,10.8 -61.1,10.9 -60.9,10.1 -61.8,10 -61.7,10.4 -61.7,10.8
+-155.4,20.1 -155.1,19.9 -154.8,19.5 -155.2,19.2 -155.5,19.1 -155.7,18.9 -155.9,19.1 -156.1,19.7 -155.9,20 -155.4,20.1
+-156,20.8 -156.4,20.6 -156.6,20.8 -156.3,20.9 -156,20.8
+-156.8,21.2 -157.3,21.1 -156.8,21.2
+-158,21.7 -157.7,21.3 -158.1,21.3 -158.3,21.5 -158,21.7
+-159.4,22.2 -159.5,21.9 -159.8,22.1 -159.4,22.2
+-78.2,25.2 -77.5,24.3 -77.5,23.8 -77.8,23.7 -78,24.3 -78.4,24.6 -78.2,25.2
+-79,26.8 -78.5,26.9 -77.8,26.8 -78.9,26.4 -79,26.8
+-77.8,27 -77,26.6 -77.2,25.9 -77.3,26.5 -77.8,26.9 -77.8,27
+-64,47 -63.7,46.6 -62.9,46.4 -62,46.4 -62.5,46 -62.9,46 -64.1,46.4 -64.4,46.7 -64,47
+46.7,44.6 47.7,45.6 48.6,45.8 49.1,46.4 50,46.6 51.2,47 52,46.8 53,46.9 53.2,46.2 53,45.3 52.2,45.4 51.3,45.2 51.3,44.5 50.3,44.6 50.9,44 51.3,43.1 52.5,42.8 52.7,42.4 52.4,42 52.8,41.1 52.9,41.9 53.7,42.1 54,41.6 54.7,41 53.9,40.6 52.9,40.9 52.7,40 53.4,40 53.1,39.3 53.9,39 53.7,37.9 53.9,37.2 52.3,36.7 50.8,36.9 50.1,37.4 49.2,37.6 48.9,38.3 48.9,38.8 49.2,39 49.4,39.4 49.6,40.2 50.4,40.3 50.1,40.5 49.6,40.6 49.1,41.3 48.6,41.8 47.5,43 47.6,43.7 46.7,44.6
+-64.5,49.9 -64.2,50 -62.9,49.7 -61.8,49.3 -62.3,49.1 -63.6,49.4 -64.5,49.9
+-80.3,62.1 -79.9,62.4 -79.5,62.4 -79.3,62.2 -79.7,61.6 -80.1,61.7 -80.4,62 -80.3,62.1
+-84,62.5 -83.3,62.9 -81.9,62.9 -83.1,62.2 -83.8,62.2 -84,62.5
+-75.2,67.4 -75.9,67.1 -77,67.1 -77.2,67.6 -76.8,68.1 -75.9,68.3 -75.1,68 -75.1,67.6 -75.2,67.4
+-96.6,69.7 -95.6,69.1 -96.3,68.8 -97.6,69.1 -98.4,69 -99.8,69.4 -98.9,69.7 -98.2,70.1 -97.2,69.9 -96.6,69.7
+-106.5,73.1 -105.4,72.7 -104.8,71.7 -104.5,71 -102.8,70.5 -101,70 -101.1,69.6 -102.7,69.5 -102.1,69.1 -102.4,68.8 -104.2,68.9 -106,69.2 -107.1,69.1 -109,68.8 -111.5,68.6 -113.3,68.5 -113.9,69 -115.2,69.3 -116.1,69.2 -117.3,70 -116.7,70.1 -115.1,70.2 -113.7,70.2 -112.4,70.4 -114.3,70.6 -116.5,70.5 -117.9,70.5 -118.4,70.9 -116.1,71.3 -117.7,71.3 -119.4,71.6 -118.6,72.3 -117.9,72.7 -115.2,73.3 -114.2,73.1 -114.7,72.7 -112.4,73 -111.1,72.5 -109.9,73 -109,72.6 -108.2,71.7 -107.7,72.1 -108.4,73.1 -107.5,73.2 -106.5,73.1
+-79.8,72.8 -80.9,73.3 -80.8,73.7 -80.4,73.8 -78.1,73.7 -76.3,73.1 -77.3,72.9 -78.4,72.9 -79.5,72.7 -79.8,72.8
+139.9,73.4 140.8,73.8 142.1,73.9 143.5,73.5 143.6,73.2 142.1,73.2 140,73.3 139.9,73.4
+148.2,75.3 150.7,75.1 149.6,74.7 148,74.8 146.1,75.2 146.4,75.5 148.2,75.3
+138.8,76.1 141.5,76.1 145.1,75.6 144.3,74.8 140.6,74.8 139,74.6 137,75.3 137.5,75.9 138.8,76.1
+-98.6,76.6 -97.7,76.3 -97.7,75.7 -98.2,75 -99.8,74.9 -100.9,75.1 -100.9,75.6 -102.5,75.6 -102.6,76.3 -101.5,76.3 -100,76.6 -98.6,76.6
+102.8,79.3 105.4,78.7 105.1,78.3 99.4,77.9 101.3,79.2 102.1,79.3 102.8,79.3
+93.8,81 95.9,81.3 97.9,80.7 100.2,79.8 99.9,78.9 97.8,78.8 95,79 93.3,79.4 92.5,80.1 91.2,80.3 93.8,81
+-96,80.6 -95.3,80.9 -94.3,81 -94.7,81.2 -92.4,81.3 -91.1,80.7 -87.8,80.3 -87,79.7 -85.8,79.3 -87.2,79 -89,78.3 -90.8,78.2 -92.9,78.3 -94,78.8 -93.9,79.1 -93.1,79.4 -95,79.4 -96.1,79.7 -96.7,80.2 -96,80.6
+-91.6,81.9 -90.1,82.1 -88.9,82.1 -87,82.3 -85.5,82.7 -84.3,82.6 -83.2,82.3 -82.4,82.9 -81.1,83 -79.3,83.1 -76.2,83.2 -75.7,83.1 -72.8,83.2 -70.7,83.2 -68.5,83.1 -65.8,83 -63.7,82.9 -61.9,82.6 -64.3,81.9 -66.8,81.7 -67.7,81.5 -65.5,81.5 -67.8,80.9 -69.5,80.6 -71.2,79.8 -73.2,79.6 -73.9,79.4 -76.9,79.3 -75.5,79.2 -76.2,79 -75.4,78.5 -76.3,78.2 -77.9,77.9 -78.4,77.5 -79.8,77.2 -79.6,77 -77.9,77 -80.6,76.2 -83.2,76.5 -86.1,76.3 -87.6,76.4 -89.5,76.5 -89.6,77 -87.8,77.2 -88.3,77.9 -87.7,78 -85,77.5 -86.3,78.2 -88,78.4 -87.2,78.8 -85.4,79 -85.1,79.3 -86.5,79.7 -86.9,80.3 -84.2,80.2 -83.4,80.1 -81.8,80.5 -84.1,80.6 -87.6,80.5 -89.4,80.9 -90.2,81.3 -91.4,81.6 -91.6,81.9
+-46.8,82.6 -43.4,83.2 -39.9,83.2 -38.6,83.5 -35.1,83.6 -27.1,83.5 -20.8,82.7 -22.7,82.3 -26.5,82.3 -31.9,82.2 -31.4,82 -27.9,82.1 -24.8,81.8 -22.9,82.1 -22.1,81.7 -23.2,81.2 -20.6,81.5 -15.8,81.9 -12.8,81.7 -12.2,81.3 -16.3,80.6 -16.9,80.3 -20,80.2 -17.7,80.1 -18.9,79.4 -19.7,78.8 -19.7,77.6 -18.5,77 -20,76.9 -21.7,76.6 -19.8,76.1 -19.6,75.2 -20.7,75.2 -19.4,74.3 -21.6,74.2 -20.4,73.8 -20.8,73.5 -22.2,73.3 -23.6,73.3 -22.3,72.6 -22.3,72.2 -24.3,72.6 -24.8,72.3 -23.4,72.1 -22.1,71.5 -21.8,70.7 -23.5,70.5 -24.3,70.9 -25.5,71.4 -25.2,70.8 -26.4,70.2 -23.7,70.2 -22.3,70.1 -25,69.3 -27.7,68.5 -30.7,68.1 -31.8,68.1 -32.8,67.7 -34.2,66.7 -36.4,66 -37,65.9 -38.4,65.7 -39.8,65.5 -40.7,64.8 -40.7,64.1 -41.2,63.5 -42.8,62.7 -42.4,61.9 -42.9,61.1 -43.4,60.1 -44.8,60 -46.3,60.9 -48.3,60.9 -49.2,61.4 -49.9,62.4 -51.6,63.6 -52.1,64.3 -52.3,65.2 -53.7,66.1 -53.3,66.8 -54,67.2 -53,68.4 -51.5,68.7 -51.1,69.1 -50.9,69.9 -52,69.6 -52.6,69.4 -53.5,69.3 -54.7,69.6 -54.8,70.3 -54.4,70.8 -53.4,70.8 -51.4,70.6 -53.1,71.2 -54,71.5 -55,71.4 -55.8,71.7 -54.7,72.6 -55.3,73 -56.1,73.6 -57.3,74.7 -58.6,75.1 -58.6,75.5 -61.3,76.1 -63.4,76.2 -66.1,76.1 -68.5,76.1 -69.7,76.4 -71.4,77 -68.8,77.3 -66.8,77.4 -71,77.6 -73.3,78 -73.2,78.4 -69.4,78.9 -65.7,79.4 -65.3,79.8 -68,80.1 -67.2,80.5 -63.7,81.2 -62.2,81.3 -62.7,81.8 -60.3,82 -57.2,82.2 -54.1,82.2 -53,81.9 -50.4,82.4 -48,82.1 -46.6,82 -44.5,81.7 -46.9,82.2 -46.8,82.6
+-106.6,73.6 -105.3,73.6 -104.5,73.4 -105.4,72.8 -106.9,73.5 -106.6,73.6
diff --git a/src/Nonemm.App/Nonemm.App.csproj b/src/Nonemm.App/Nonemm.App.csproj
index fcc869f..1bdc188 100644
--- a/src/Nonemm.App/Nonemm.App.csproj
+++ b/src/Nonemm.App/Nonemm.App.csproj
@@ -18,6 +18,10 @@
+
+
+
+
diff --git a/src/Nonemm.App/Windows/EntryWindow.Menu.cs b/src/Nonemm.App/Windows/EntryWindow.Menu.cs
index 554dd88..b9f686c 100644
--- a/src/Nonemm.App/Windows/EntryWindow.Menu.cs
+++ b/src/Nonemm.App/Windows/EntryWindow.Menu.cs
@@ -428,6 +428,10 @@ public sealed partial class EntryWindow
private void OnShowScore(object? sender, RoutedEventArgs e) => Show(() => new ScoreWindow(session));
+ /// N1MM's grey line window: where the daylight is now, and where it will be.
+ private void OnShowGrayline(object? sender, RoutedEventArgs e) =>
+ Show(() => new GraylineWindow(session));
+
private void OnShowTelnet(object? sender, RoutedEventArgs e) => Show(() => new TelnetWindow(session, Tune));
/// N1MM's digital interface window, which is where RTTY is worked from.
diff --git a/src/Nonemm.App/Windows/EntryWindow.axaml b/src/Nonemm.App/Windows/EntryWindow.axaml
index 192213c..51433ac 100644
--- a/src/Nonemm.App/Windows/EntryWindow.axaml
+++ b/src/Nonemm.App/Windows/EntryWindow.axaml
@@ -118,6 +118,7 @@
+
diff --git a/src/Nonemm.App/Windows/GraylineView.cs b/src/Nonemm.App/Windows/GraylineView.cs
new file mode 100644
index 0000000..fe65c76
--- /dev/null
+++ b/src/Nonemm.App/Windows/GraylineView.cs
@@ -0,0 +1,153 @@
+using System.Globalization;
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Media;
+using Nonemm.Core;
+
+namespace Nonemm.App.Windows;
+
+/// A station drawn on the map.
+public sealed record MapMarker(string Label, double Latitude, double Longitude, IBrush Colour);
+
+/// The world with the night on it. The map is plate carrée — longitude across,
+/// latitude down, both in a straight line — which is the projection N1MM's grey
+/// line window uses and the only one where the terminator can be drawn a
+/// meridian at a time.
+public sealed class GraylineView : Control
+{
+ /// One column per degree of longitude. The terminator is a smooth curve, so
+ /// this is as fine as a map of any size needs.
+ private const double ColumnDegrees = 1;
+
+ private static readonly IBrush Sea = new SolidColorBrush(Color.FromRgb(0x1B, 0x33, 0x4A));
+ private static readonly IBrush Land = new SolidColorBrush(Color.FromRgb(0x8F, 0xB8, 0x96));
+ private static readonly IBrush Night = new SolidColorBrush(Colors.Black, 0.55);
+ private static readonly IBrush Twilight = new SolidColorBrush(Color.FromRgb(0xE8, 0x7E, 0x1A), 0.35);
+ private static readonly IBrush Graticule = new SolidColorBrush(Colors.White, 0.15);
+ private static readonly IBrush Sun = new SolidColorBrush(Color.FromRgb(0xFF, 0xD7, 0x00));
+
+ private readonly Typeface typeface = new(new FontFamily("monospace"));
+
+ /// The moment the map is drawn for, which is now unless the operator has
+ /// stepped it forward to see where the grey line will be.
+ public DateTime Moment { get; set; } = DateTime.UtcNow;
+
+ public IReadOnlyList Markers { get; set; } = [];
+
+ public override void Render(DrawingContext context)
+ {
+ Rect area = new(Bounds.Size);
+ context.FillRectangle(Sea, area);
+ DrawCoastlines(context);
+ DrawNight(context);
+ DrawGraticule(context);
+ DrawSun(context);
+ foreach (MapMarker marker in Markers)
+ {
+ DrawMarker(context, marker);
+ }
+ }
+
+ private void DrawCoastlines(DrawingContext context)
+ {
+ Pen pen = new(Land, 1);
+ foreach (IReadOnlyList line in WorldMap.Coastlines)
+ {
+ for (int at = 1; at < line.Count; at++)
+ {
+ Point from = line[at - 1];
+ Point to = line[at];
+ // a line that runs off one edge and back on at the other is the
+ // date line being crossed, and is left undrawn
+ if (Math.Abs(to.X - from.X) > 180)
+ {
+ continue;
+ }
+ context.DrawLine(pen, At(from.Y, from.X), At(to.Y, to.X));
+ }
+ }
+ }
+
+ /// The night is one shape, its edge the terminator: the latitude where the
+ /// sun stands on the horizon, meridian by meridian. The band from there
+ /// down to civil twilight is drawn over it in the grey line's own colour,
+ /// which is the part an operator is watching for.
+ private void DrawNight(DrawingContext context)
+ {
+ double darkPole = Grayline.IsNorthPoleLit(Moment) ? -90 : 90;
+ context.DrawGeometry(Night, null, Band(Grayline.Horizon, null, darkPole));
+ context.DrawGeometry(
+ Twilight,
+ null,
+ Band(Grayline.CivilTwilight, Grayline.Horizon, darkPole));
+ }
+
+ /// The area between the lines the sun stands at two elevations on. A null
+ /// `above` means the area runs to the dark pole instead, which is the night
+ /// itself.
+ private Geometry Band(double below, double? above, double darkPole)
+ {
+ StreamGeometry shape = new();
+ using StreamGeometryContext path = shape.Open();
+ path.BeginFigure(At(EdgeAt(-180, below, darkPole), -180), isFilled: true);
+ for (double longitude = -180 + ColumnDegrees; longitude <= 180; longitude += ColumnDegrees)
+ {
+ path.LineTo(At(EdgeAt(longitude, below, darkPole), longitude));
+ }
+ for (double longitude = 180; longitude >= -180; longitude -= ColumnDegrees)
+ {
+ double edge = above is { } elevation ? EdgeAt(longitude, elevation, darkPole) : darkPole;
+ path.LineTo(At(edge, longitude));
+ }
+ path.EndFigure(isClosed: true);
+ return shape;
+ }
+
+ /// The latitude on this meridian where the sun stands at that elevation.
+ /// Where it never does, the whole meridian is on one side of the line: the
+ /// edge is then the dark pole, which leaves nothing filled, or the lit one,
+ /// which fills the meridian from end to end.
+ private double EdgeAt(double longitude, double elevation, double darkPole) =>
+ Grayline.LatitudeAt(longitude, Moment, elevation)
+ ?? (Grayline.Elevation(0, longitude, Moment) > elevation ? darkPole : -darkPole);
+
+ private void DrawGraticule(DrawingContext context)
+ {
+ Pen pen = new(Graticule, 1);
+ for (double longitude = -180; longitude <= 180; longitude += 30)
+ {
+ context.DrawLine(pen, At(90, longitude), At(-90, longitude));
+ }
+ for (double latitude = -60; latitude <= 60; latitude += 30)
+ {
+ context.DrawLine(pen, At(latitude, -180), At(latitude, 180));
+ }
+ }
+
+ private void DrawSun(DrawingContext context)
+ {
+ (double latitude, double longitude) = Grayline.SubsolarPoint(Moment);
+ context.DrawEllipse(Sun, null, At(latitude, longitude), 4, 4);
+ }
+
+ private void DrawMarker(DrawingContext context, MapMarker marker)
+ {
+ Point where = At(marker.Latitude, marker.Longitude);
+ context.DrawEllipse(marker.Colour, new Pen(Brushes.White, 1), where, 3.5, 3.5);
+ FormattedText label = new(
+ marker.Label,
+ CultureInfo.InvariantCulture,
+ FlowDirection.LeftToRight,
+ typeface,
+ 11,
+ marker.Colour);
+ // the label goes to the left of a station near the right-hand edge, so
+ // it stays on the map
+ double x = where.X + 6 + label.Width > Bounds.Width ? where.X - 6 - label.Width : where.X + 6;
+ context.DrawText(label, new Point(x, where.Y - (label.Height / 2)));
+ }
+
+ private Point At(double latitude, double longitude) => new(
+ (longitude + 180) / 360.0 * Bounds.Width,
+ (90 - latitude) / 180.0 * Bounds.Height);
+}
diff --git a/src/Nonemm.App/Windows/GraylineWindow.axaml b/src/Nonemm.App/Windows/GraylineWindow.axaml
new file mode 100644
index 0000000..a0af9b2
--- /dev/null
+++ b/src/Nonemm.App/Windows/GraylineWindow.axaml
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/Nonemm.App/Windows/GraylineWindow.axaml.cs b/src/Nonemm.App/Windows/GraylineWindow.axaml.cs
new file mode 100644
index 0000000..b99e679
--- /dev/null
+++ b/src/Nonemm.App/Windows/GraylineWindow.axaml.cs
@@ -0,0 +1,100 @@
+using Avalonia.Media;
+using Avalonia.Threading;
+using Nonemm.Core;
+using Nonemm.Core.Country;
+using Nonemm.Session;
+
+namespace Nonemm.App.Windows;
+
+/// N1MM's grey line window: the world with the night drawn on it, our own
+/// station on it, and the stations being called and spotted. It follows the
+/// clock, redrawing every minute.
+public sealed partial class GraylineWindow : RefreshableWindow
+{
+ private static readonly IBrush HomeColour = new SolidColorBrush(Color.FromRgb(0xFF, 0xFF, 0xFF));
+ private static readonly IBrush CallColour = new SolidColorBrush(Color.FromRgb(0xFF, 0x6B, 0x4A));
+ private static readonly IBrush SpotColour = new SolidColorBrush(Color.FromRgb(0x6A, 0xC8, 0xFF));
+
+ private readonly AppSession session;
+ private readonly DispatcherTimer clock;
+
+ public GraylineWindow(AppSession session)
+ {
+ this.session = session;
+ InitializeComponent();
+ clock = new DispatcherTimer { Interval = TimeSpan.FromMinutes(1) };
+ clock.Tick += (_, _) => Refresh();
+ clock.Start();
+ session.Changed += WhenSessionChanged;
+ Closed += (_, _) =>
+ {
+ clock.Stop();
+ session.Changed -= WhenSessionChanged;
+ };
+ Refresh();
+ }
+
+ private OperatingPosition? Radio => session.Position;
+
+ public override void Refresh()
+ {
+ Map.Moment = DateTime.UtcNow;
+ Map.Markers = Markers();
+ Map.InvalidateVisual();
+ }
+
+ private IReadOnlyList Markers()
+ {
+ List markers = [];
+ if (GridSquare.TryParse(session.Settings.Station.GridSquare, out GridSquare home))
+ {
+ markers.Add(new MapMarker(
+ session.Settings.Station.Callsign,
+ home.Latitude,
+ home.Longitude,
+ HomeColour));
+ }
+ foreach (Station station in Stations())
+ {
+ markers.Add(new MapMarker(station.Call, station.Latitude, station.Longitude, station.Colour));
+ }
+ return markers;
+ }
+
+ /// The station being called, and every station spotted on the band we are
+ /// on. Both are placed by the country file, which holds a position for each
+ /// country: it is the middle of the country rather than the station itself,
+ /// which is as much as a callsign says.
+ private IReadOnlyList Stations()
+ {
+ List found = [];
+ if (Radio is { } position && Where(position.Entry.Call) is { } called)
+ {
+ found.Add(new Station(
+ position.Entry.Call.Trim().ToUpperInvariant(),
+ called.Latitude,
+ called.Longitude,
+ CallColour));
+ }
+ if (Radio is { } here && Bands.ForFrequency(here.Frequency) is { } band)
+ {
+ foreach (Spotting.Spot spot in session.Bandmap.On(band).Where(s => s.IsStation))
+ {
+ string call = spot.Call.Text;
+ if (found.All(s => s.Call != call) && Where(call) is { } place)
+ {
+ found.Add(new Station(call, place.Latitude, place.Longitude, SpotColour));
+ }
+ }
+ }
+ return found;
+ }
+
+ private CountryLookup? Where(string call) =>
+ call.Trim().Length == 0 ? null : session.Countries?.Find(call.Trim());
+
+ private void WhenSessionChanged(object? sender, EventArgs e) =>
+ Dispatcher.UIThread.Post(Refresh);
+
+ private sealed record Station(string Call, double Latitude, double Longitude, IBrush Colour);
+}
diff --git a/src/Nonemm.App/Windows/WorldMap.cs b/src/Nonemm.App/Windows/WorldMap.cs
new file mode 100644
index 0000000..8f86971
--- /dev/null
+++ b/src/Nonemm.App/Windows/WorldMap.cs
@@ -0,0 +1,45 @@
+using System.Globalization;
+using Avalonia;
+using Avalonia.Platform;
+
+namespace Nonemm.App.Windows;
+
+/// The coastlines the grey line map is drawn on, read once from
+/// `Assets/coastline.txt`. Each polyline is a run of points in degrees, X
+/// longitude and Y latitude, which is what the map projects.
+public static class WorldMap
+{
+ private static readonly Lazy>> Loaded = new(Read);
+
+ public static IReadOnlyList> Coastlines => Loaded.Value;
+
+ private static IReadOnlyList> Read()
+ {
+ using Stream file = AssetLoader.Open(new Uri("avares://Nonemm.App/Assets/coastline.txt"));
+ using StreamReader text = new(file);
+ List> lines = [];
+ while (text.ReadLine() is { } line)
+ {
+ if (line.StartsWith('#') || line.Trim().Length == 0)
+ {
+ continue;
+ }
+ List points = [];
+ foreach (string pair in line.Split(' ', StringSplitOptions.RemoveEmptyEntries))
+ {
+ string[] parts = pair.Split(',');
+ if (parts.Length == 2
+ && double.TryParse(parts[0], CultureInfo.InvariantCulture, out double longitude)
+ && double.TryParse(parts[1], CultureInfo.InvariantCulture, out double latitude))
+ {
+ points.Add(new Point(longitude, latitude));
+ }
+ }
+ if (points.Count > 1)
+ {
+ lines.Add(points);
+ }
+ }
+ return lines;
+ }
+}
diff --git a/src/Nonemm.Core/Grayline.cs b/src/Nonemm.Core/Grayline.cs
new file mode 100644
index 0000000..2ef3013
--- /dev/null
+++ b/src/Nonemm.Core/Grayline.cs
@@ -0,0 +1,98 @@
+namespace Nonemm.Core;
+
+/// Where the sun stands, for the grey line map. The equations are the standard
+/// low-precision solar position, good to about a hundredth of a degree, which
+/// is far closer than a map a few hundred pixels wide can draw.
+///
+/// `SunTimes` answers when the sun rises and sets at one place; this answers
+/// where the daylight is at one moment, which is the other half of the same
+/// question.
+public static class Grayline
+{
+ /// The sun's centre at the horizon, allowing for its radius and for
+ /// refraction. The same figure `SunTimes` rises and sets on.
+ public const double Horizon = -0.833;
+
+ /// The sun six degrees down. Between this and the horizon is the grey line
+ /// itself: the band of twilight where the low bands carry furthest.
+ public const double CivilTwilight = -6.0;
+
+ /// The point the sun is straight above.
+ public static (double Latitude, double Longitude) SubsolarPoint(DateTime utc)
+ {
+ double days = DaysSince2000(utc);
+ double meanLongitude = 280.460 + (0.9856474 * days);
+ double anomaly = Radians(357.528 + (0.9856003 * days));
+ double ecliptic = Radians(
+ meanLongitude + (1.915 * Math.Sin(anomaly)) + (0.020 * Math.Sin(2 * anomaly)));
+ double obliquity = Radians(23.439 - (0.0000004 * days));
+ double declination = Math.Asin(Math.Sin(obliquity) * Math.Sin(ecliptic));
+ double rightAscension = Math.Atan2(
+ Math.Cos(obliquity) * Math.Sin(ecliptic),
+ Math.Cos(ecliptic));
+ double siderealTime = 280.46061837 + (360.98564736629 * days);
+ return (Degrees(declination), Wrap(Degrees(rightAscension) - siderealTime));
+ }
+
+ /// How high the sun stands at a place, in degrees. Negative is below the
+ /// horizon.
+ public static double Elevation(double latitude, double longitude, DateTime utc)
+ {
+ (double declination, double subsolar) = SubsolarPoint(utc);
+ double hourAngle = Radians(longitude - subsolar);
+ double sine = (Math.Sin(Radians(latitude)) * Math.Sin(Radians(declination)))
+ + (Math.Cos(Radians(latitude)) * Math.Cos(Radians(declination)) * Math.Cos(hourAngle));
+ return Degrees(Math.Asin(Math.Clamp(sine, -1, 1)));
+ }
+
+ public static bool IsDaylight(double latitude, double longitude, DateTime utc) =>
+ Elevation(latitude, longitude, utc) > Horizon;
+
+ /// The latitude on this meridian where the sun stands at `elevation`, which
+ /// is the point the terminator crosses it. Null where the sun never reaches
+ /// that height on the meridian at all, which is the polar day and the polar
+ /// night: then every latitude on it is on the same side of the line.
+ public static double? LatitudeAt(double longitude, DateTime utc, double elevation = Horizon)
+ {
+ (double declination, double subsolar) = SubsolarPoint(utc);
+ double hourAngle = Radians(longitude - subsolar);
+ // sin h = sin φ sin δ + cos φ cos δ cos H is a sine wave in φ, so it is
+ // solved rather than searched for
+ double alongPole = Math.Sin(Radians(declination));
+ double alongEquator = Math.Cos(Radians(declination)) * Math.Cos(hourAngle);
+ double size = Math.Sqrt((alongPole * alongPole) + (alongEquator * alongEquator));
+ double wanted = Math.Sin(Radians(elevation));
+ if (size == 0 || Math.Abs(wanted / size) > 1)
+ {
+ return null;
+ }
+ double phase = Math.Atan2(alongEquator, alongPole);
+ double latitude = Degrees(Math.Asin(wanted / size) - phase);
+ return latitude is >= -90 and <= 90 ? latitude : null;
+ }
+
+ /// True when the pole is in daylight, which says which side of the
+ /// terminator the night is on.
+ public static bool IsNorthPoleLit(DateTime utc) => SubsolarPoint(utc).Latitude > 0;
+
+ private static double DaysSince2000(DateTime utc) =>
+ (utc.ToUniversalTime() - new DateTime(2000, 1, 1, 12, 0, 0, DateTimeKind.Utc)).TotalDays;
+
+ private static double Wrap(double degrees)
+ {
+ double turned = degrees % 360.0;
+ if (turned > 180)
+ {
+ turned -= 360;
+ }
+ if (turned < -180)
+ {
+ turned += 360;
+ }
+ return turned;
+ }
+
+ private static double Radians(double degrees) => degrees * Math.PI / 180.0;
+
+ private static double Degrees(double radians) => radians * 180.0 / Math.PI;
+}
diff --git a/tests/Nonemm.Core.Tests/GraylineTests.cs b/tests/Nonemm.Core.Tests/GraylineTests.cs
new file mode 100644
index 0000000..3c0a695
--- /dev/null
+++ b/tests/Nonemm.Core.Tests/GraylineTests.cs
@@ -0,0 +1,73 @@
+using Nonemm.Core;
+
+namespace Nonemm.Core.Tests;
+
+/// Where the sun stands, checked against what the calendar says it must be.
+public class GraylineTests
+{
+ [Fact]
+ public void TheSunIsOverTheTropicAtTheSolstice()
+ {
+ (double latitude, _) = Grayline.SubsolarPoint(new DateTime(2026, 6, 21, 12, 0, 0, DateTimeKind.Utc));
+
+ Assert.Equal(23.4, latitude, 0.1);
+ }
+
+ [Fact]
+ public void TheSunIsOverTheEquatorAtTheEquinox()
+ {
+ (double latitude, _) = Grayline.SubsolarPoint(new DateTime(2026, 3, 20, 14, 46, 0, DateTimeKind.Utc));
+
+ Assert.Equal(0, latitude, 0.1);
+ }
+
+ /// At noon UTC the sun is over Greenwich, give or take the quarter of an
+ /// hour the equation of time moves it by.
+ [Fact]
+ public void TheSunIsOverGreenwichAtNoon()
+ {
+ (_, double longitude) = Grayline.SubsolarPoint(new DateTime(2026, 6, 21, 12, 0, 0, DateTimeKind.Utc));
+
+ Assert.Equal(0, longitude, 1.0);
+ }
+
+ /// The two ways of asking have to agree: at the moment `SunTimes` says the
+ /// sun rises, it is on the horizon.
+ [Fact]
+ public void SunriseAgreesWithTheSunStandingOnTheHorizon()
+ {
+ (DateTime rise, DateTime set) =
+ SunTimes.For(48.15, 17.11, new DateTime(2026, 8, 31, 0, 0, 0, DateTimeKind.Utc))!.Value;
+
+ Assert.Equal(Grayline.Horizon, Grayline.Elevation(48.15, 17.11, rise), 0.3);
+ Assert.Equal(Grayline.Horizon, Grayline.Elevation(48.15, 17.11, set), 0.3);
+ }
+
+ [Fact]
+ public void MiddayIsDaylightAndMidnightIsNot()
+ {
+ DateTime noon = new(2026, 8, 31, 12, 0, 0, DateTimeKind.Utc);
+
+ Assert.True(Grayline.IsDaylight(0, 0, noon));
+ Assert.False(Grayline.IsDaylight(0, 180, noon));
+ }
+
+ /// The terminator crosses every meridian once between the poles while the
+ /// sun is over the equator, and the polar day has no crossing at all.
+ [Fact]
+ public void TheTerminatorCrossesAMeridianWhereTheSunIsOnTheHorizon()
+ {
+ DateTime moment = new(2026, 8, 31, 12, 0, 0, DateTimeKind.Utc);
+
+ double crossing = Grayline.LatitudeAt(30, moment)!.Value;
+
+ Assert.Equal(Grayline.Horizon, Grayline.Elevation(crossing, 30, moment), 0.3);
+ }
+
+ [Fact]
+ public void TheNorthPoleIsLitInJuneAndDarkInDecember()
+ {
+ Assert.True(Grayline.IsNorthPoleLit(new DateTime(2026, 6, 21, 0, 0, 0, DateTimeKind.Utc)));
+ Assert.False(Grayline.IsNorthPoleLit(new DateTime(2026, 12, 21, 0, 0, 0, DateTimeKind.Utc)));
+ }
+}