Raster the map
ci / test (push) Failing after 48s
ci / release (push) Has been skipped

This commit is contained in:
2026-07-10 15:32:24 -04:00
parent d820d4238d
commit c1d1cae6b9
6 changed files with 1039 additions and 69 deletions
+14
View File
@@ -0,0 +1,14 @@
package geomap
import "testing"
func BenchmarkRenderMap(b *testing.B) {
s := NewState()
s.SetStats(map[string]int{"US": 100, "CN": 80, "RU": 40, "BR": 30, "IN": 25, "DE": 20}, map[string]int{"US": 5}, map[string]int{"US": 2})
s.TriggerPulse("CN", "SSH")
m := s.RenderModel(100, 28)
b.ResetTimer()
for i := 0; i < b.N; i++ {
_ = Render(m, DefaultPalette(), nil, nil)
}
}
+20
View File
@@ -105,3 +105,23 @@ func TestEmptyRenderMessage(t *testing.T) {
t.Fatalf("empty state: %q", out)
}
}
func TestLandPathsDrawn(t *testing.T) {
if len(landPolys) < 100 {
t.Fatalf("expected country polygons, got %d", len(landPolys))
}
s := NewState()
s.SetStats(map[string]int{"US": 10, "CN": 20}, nil, nil)
m := s.RenderModel(72, 22)
out := Render(m, DefaultPalette(), nil, nil)
// Braille land should produce non-space content beyond markers.
braille := 0
for _, r := range out {
if r >= 0x2800 && r <= 0x28FF {
braille++
}
}
if braille < 80 {
t.Fatalf("expected dense braille landmass, got %d braille cells\n%s", braille, out)
}
}
+443
View File
@@ -0,0 +1,443 @@
// Code generated from viz.honeypeer.com country SVG paths (viewBox 2000×857).
// Points are lat/lng ×100 as int16 (centi-degrees).
package geomap
// landPoly is one ring of a country outline (closed).
type landPoly struct {
Code string
// Pts interleaved latCenti,lngCenti int16
Pts []int16
}
// landPolys holds all country rings for braille/SVG-style map fill+stroke.
var landPolys = []landPoly{
{Code: "AE", Pts: []int16{1928, 5332, 1821, 5355, 1821, 5305, 1733, 5305, 1714, 5324, 1687, 5281, 1632, 5285, 1577, 5261, 1523, 5261, 1493, 5243, 1561, 4939, 1699, 4891, 1729, 4885, 1737, 4901, 1699, 4909, 1720, 4984, 1716, 5067, 1712, 5128, 1804, 5188, 1890, 5254, 1974, 5308, 1928, 5332}},
{Code: "AF", Pts: []int16{3505, 6894, 3468, 6921, 3451, 6869, 3428, 6826, 3411, 6719, 3384, 6624, 3325, 6581, 3268, 6615, 3201, 6640, 3144, 6604, 3092, 6619, 3043, 6602, 3048, 6509, 2959, 6565, 2924, 6509, 2844, 6484, 2762, 6503, 2724, 6471, 2737, 6433, 2718, 6361, 2682, 6358, 2682, 6284, 2604, 6242, 2491, 6257, 2434, 6138, 2447, 6068, 2418, 6052, 2434, 5990, 2413, 5895, 2483, 5722, 2604, 5792, 2691, 5773, 2714, 5695, 2800, 5674, 2907, 5625, 2980, 5654, 3001, 5609, 3100, 5618, 3268, 5629, 3216, 5735, 3235, 5805, 3295, 5812, 3314, 5884, 3356, 5931, 3463, 5927, 3491, 6003, 3537, 6008, 3501, 6061, 3497, 6089, 3497, 6143, 3468, 6221, 3453, 6253, 3495, 6314, 3470, 6352, 3531, 6368, 3529, 6426, 3547, 6437, 3602, 6433, 3648, 6464, 3619, 6523, 3577, 6521, 3571, 6552, 3457, 6568, 3413, 6617, 3442, 6644, 3455, 6683, 3516, 6728, 3505, 6797, 3505, 6894}},
{Code: "AG", Pts: []int16{769, -6467, 762, -6457, 756, -6460, 756, -6464, 754, -6476, 756, -6480, 767, -6480, 769, -6475, 775, -6473, 775, -6469, 769, -6467}},
{Code: "AG", Pts: []int16{846, -6467, 846, -6464, 842, -6460, 834, -6458, 828, -6460, 825, -6464, 830, -6466, 834, -6471, 844, -6471, 846, -6467}},
{Code: "AI", Pts: []int16{916, -6584, 916, -6588, 924, -6583, 924, -6577, 918, -6581, 916, -6584}},
{Code: "AL", Pts: []int16{4211, 1584, 4186, 1591, 4199, 1616, 4163, 1638, 4148, 1661, 4100, 1672, 4054, 1663, 3997, 1681, 3965, 1723, 3930, 1724, 3911, 1694, 3867, 1692, 3802, 1652, 3810, 1636, 3839, 1633, 3886, 1577, 3949, 1564, 4041, 1566, 4081, 1575, 4102, 1559, 4146, 1550, 4211, 1584}},
{Code: "AM", Pts: []int16{3686, 4154, 3682, 4122, 3760, 4072, 3781, 4068, 3781, 4027, 3816, 3992, 3814, 3974, 3852, 3931, 3886, 3856, 3951, 3854, 3997, 3830, 4018, 3956, 3984, 3982, 3961, 4021, 3928, 4009, 3881, 4066, 3837, 4046, 3802, 4093, 3781, 4138, 3686, 4154}},
{Code: "AO", Pts: []int16{-3014, 2182, -3056, 2192, -3121, 2180, -3184, 2196, -3235, 2180, -3281, 2187, -3279, 1976, -3709, 1962, -3818, 2027, -3902, 2092, -3957, 1904, -3938, 1661, -3875, 1593, -3879, 1184, -3890, 1170, -3829, 1111, -3825, 1046, -3848, 985, -3873, 936, -3789, 927, -3669, 943, -3545, 979, -3489, 985, -3367, 1019, -3312, 1044, -3224, 1103, -3163, 1138, -3064, 1148, -2987, 1143, -2938, 1114, -2856, 1087, -2777, 1064, -2747, 1069, -2695, 1100, -2565, 1071, -2474, 1049, -2388, 999, -2363, 1010, -2344, 1051, -2346, 1082, -2331, 1118, -2333, 1418, -2432, 1442, -2514, 1471, -2558, 1494, -2628, 1532, -2617, 1600, -2598, 1633, -2617, 1688, -2583, 1705, -2506, 1732, -2499, 1795, -2476, 1800, -2476, 1852, -2525, 1843, -2523, 1966, -2609, 1967, -2659, 1987, -2741, 1971, -2825, 1978, -2875, 2011, -3035, 2003, -3022, 2029, -3027, 2072, -3006, 2135, -3014, 2182}},
{Code: "AO", Pts: []int16{-2321, 995, -2220, 968, -2161, 1010, -2138, 1040, -2184, 1078, -2214, 1042, -2247, 1024, -2306, 1021, -2321, 995}},
{Code: "AR", Pts: []int16{-8889, -5956, -8884, -6010, -8884, -6100, -8599, -6208, -8658, -6152, -8754, -6075, -8832, -5935, -8863, -5803, -8926, -5818, -8933, -5897, -8889, -5956}},
{Code: "AR", Pts: []int16{-4541, -6505, -4759, -6302, -4780, -6219, -4881, -6088, -4934, -5981, -4993, -5962, -5198, -6037, -5234, -5933, -5255, -5819, -5234, -5744, -5129, -5666, -5011, -5661, -4984, -5614, -5064, -5557, -5171, -5549, -5245, -5625, -5299, -5684, -5432, -5780, -5614, -5888, -5723, -5897, -5862, -5904, -5996, -5882, -6026, -5899, -6112, -5891, -6183, -5886, -6299, -5746, -6391, -5742, -6450, -5672, -6515, -5666, -6688, -5726, -6761, -5852, -6788, -6035, -6774, -6143, -6856, -6106, -6954, -6104, -7021, -6071, -7070, -6116, -7089, -6208, -7038, -6309, -7074, -6336, -7206, -6291, -7246, -6219, -7204, -6178, -7274, -6133, -7316, -6208, -7400, -6260, -7532, -6239, -7603, -6241, -7603, -6327, -7670, -6381, -7771, -6379, -7868, -6262, -7893, -6169, -8013, -6165, -8086, -6248, -8240, -6259, -8290, -6322, -8351, -6338, -8488, -6262, -8561, -6179, -8555, -6217, -8534, -6305, -8517, -6523, -8441, -6586, -8345, -6620, -8353, -6676, -8305, -6723, -8168, -6779, -8109, -6730, -8028, -6728, -7960, -6761, -7847, -6748, -7673, -6768, -7595, -6800, -7570, -6768, -7519, -6793, -7494, -6844, -7437, -6829, -7387, -6885, -7234, -6952, -7206, -6921, -7042, -6980, -6906, -6995, -6786, -6998, -6738, -6953, -6606, -7013, -6484, -7042, -6396, -6988, -6282, -7013, -6152, -6984, -6028, -7009, -6003, -7038, -5770, -7126, -5631, -7088, -5501, -7119, -5377, -7103, -5251, -7056, -5167, -6997, -5114, -7033, -5070, -7018, -4846, -7047, -4780, -6946, -4640, -6925, -4606, -6941, -4484, -6869, -4518, -6734, -4614, -6667, -4505, -6638, -4512, -6523, -4541, -6505}},
{Code: "AS", Pts: []int16{-3461, -17501, -3470, -17507, -3476, -17510, -3478, -17514, -3472, -17521, -3468, -17518, -3468, -17512, -3463, -17510, -3461, -17501}},
{Code: "AS", Pts: []int16{-3461, -17383, -3463, -17392, -3459, -17393, -3457, -17386, -3461, -17383}},
{Code: "AT", Pts: []int16{4993, 1271, 4976, 1265, 4932, 1278, 4877, 1274, 4877, 1224, 4848, 1244, 4764, 1220, 4740, 1204, 4738, 1125, 4707, 1082, 4717, 1006, 4753, 875, 4797, 851, 4774, 763, 4749, 754, 4768, 698, 4772, 652, 4797, 610, 4829, 623, 4852, 619, 4858, 644, 4822, 693, 4858, 704, 4852, 783, 4875, 846, 4871, 889, 4843, 920, 4867, 927, 4953, 909, 4969, 940, 5030, 968, 4986, 1037, 5041, 1084, 5051, 1114, 5011, 1186, 5018, 1228, 4993, 1271}},
{Code: "AU", Pts: []int16{-7038, 13374, -7084, 13441, -7066, 13500, -7040, 13588, -7049, 13639, -7208, 13558, -7253, 13498, -7362, 13426, -7324, 13415, -7416, 13297, -7410, 13282, -7406, 13228, -7292, 13237, -7204, 13273, -7087, 13284, -7026, 13320, -7038, 13374}},
{Code: "AU", Pts: []int16{-3396, 14283, -3501, 14305, -3451, 14377, -3508, 14402, -3560, 14443, -3621, 14423, -3737, 14427, -3804, 14431, -3821, 14454, -3936, 14461, -4005, 14440, -4096, 14454, -4167, 14551, -4230, 14609, -4289, 14666, -4323, 14647, -4407, 14688, -4554, 14697, -4524, 14744, -4581, 14771, -4562, 14800, -4705, 14787, -4787, 14839, -4837, 14873, -4946, 14924, -5056, 14924, -5133, 14906, -5215, 14873, -5331, 14886, -5450, 14841, -5513, 14803, -5633, 14735, -5711, 14708, -5807, 14652, -5929, 14562, -5996, 14463, -6099, 14384, -6167, 14324, -6282, 14245, -6349, 14179, -6450, 14108, -6543, 14053, -6587, 14038, -6633, 13961, -6637, 13851, -6694, 13738, -6744, 13669, -6803, 13583, -6742, 13534, -6719, 13487, -6650, 13534, -6675, 13471, -6772, 13342, -6736, 13277, -6715, 13234, -6704, 13183, -6667, 13109, -6582, 13086, -6482, 13113, -6412, 13120, -6358, 13095, -6343, 13010, -6276, 13068, -6177, 13084, -6270, 13000, -6295, 12904, -6221, 12985, -6144, 13030, -6076, 13093, -5978, 13122, -6091, 13000, -6137, 12922, -6244, 12845, -6190, 12791, -6118, 12821, -6020, 12796, -5969, 12764, -5938, 12793, -5856, 12697, -5854, 12629, -5786, 12557, -5799, 12379, -5847, 12236, -5894, 12112, -5885, 12022, -5954, 11896, -5984, 11801, -6055, 11759, -6110, 11705, -6114, 11621, -6125, 11556, -6102, 11480, -6116, 11405, -6123, 11336, -6194, 11255, -6188, 11228, -6225, 11167, -6267, 11106, -6263, 11038, -6263, 10975, -6177, 10901, -6152, 10858, -6074, 10885, -6055, 10937, -6026, 10964, -5978, 10975, -5883, 11016, -5803, 11029, -5667, 11016, -5589, 11020, -5513, 11045, -5425, 11029, -5385, 11034, -5331, 11003, -5226, 11016, -5119, 10982, -5062, 10980, -5121, 11012, -4995, 11003, -5035, 11045, -5087, 11065, -5018, 11075, -4911, 11047, -4869, 11045, -4829, 11030, -4751, 11054, -4717, 11081, -4650, 11104, -4570, 11106, -4474, 11162, -4577, 11155, -4484, 11210, -4438, 11299, -4381, 11356, -4331, 11441, -4320, 11488, -4337, 11513, -4287, 11599, -4272, 11662, -4243, 11682, -4230, 11709, -4234, 11765, -4194, 11876, -4133, 11939, -4062, 11975, -3995, 12046, -3940, 12058, -3867, 12071, -3751, 12159, -3869, 12184, -3842, 12231, -3779, 12204, -3713, 12245, -3743, 12285, -3640, 12312, -3573, 12375, -3520, 12407, -3497, 12460, -3459, 12467, -3474, 12508, -3440, 12515, -3421, 12562, -3403, 12613, -3466, 12679, -3545, 12726, -3545, 12789, -3558, 12852, -3484, 12839, -3377, 12902, -3342, 12951, -3308, 12940, -3230, 12992, -3182, 13059, -3199, 13108, -3174, 13196, -3104, 13201, -3060, 13131, -3041, 13187, -3075, 13252, -3130, 13300, -3163, 13381, -3151, 13412, -3193, 13471, -3153, 13534, -3165, 13570, -3138, 13597, -3205, 13637, -3279, 13601, -3333, 13556, -3337, 13522, -3390, 13527, -3457, 13487, -3524, 13442, -3562, 13446, -3638, 13514, -3680, 13586, -3726, 13631, -3806, 13691, -3806, 13720, -3842, 13766, -3884, 13775, -3928, 13864, -3881, 13937, -3810, 13970, -3749, 14000, -3676, 14024, -3568, 14071, -3503, 14067, -3463, 14080, -3388, 14078, -3285, 14103, -3258, 14126, -3214, 14116, -3142, 14148, -3069, 14175, -3029, 14182, -2978, 14224, -3046, 14247, -3130, 14245, -3146, 14269, -3203, 14267, -3270, 14296, -3348, 14294, -3396, 14283}},
{Code: "AW", Pts: []int16{137, -7328, 141, -7337, 151, -7346, 164, -7344, 158, -7340, 149, -7333, 139, -7328, 137, -7328}},
{Code: "AZ", Pts: []int16{3682, 4122, 3701, 4054, 3762, 3996, 3814, 3974, 3816, 3992, 3781, 4027, 3781, 4068, 3760, 4072, 3682, 4122}},
{Code: "AZ", Pts: []int16{4039, 4235, 4094, 4280, 4024, 4343, 3928, 4408, 3921, 4453, 3886, 4487, 3875, 4412, 3770, 4414, 3724, 4406, 3692, 4376, 3627, 4390, 3619, 4367, 3690, 4297, 3755, 4318, 3795, 4284, 3785, 4250, 3686, 4154, 3781, 4138, 3802, 4093, 3837, 4046, 3881, 4066, 3928, 4009, 3961, 4021, 3984, 3982, 4018, 3956, 4041, 3976, 4001, 4052, 3995, 4104, 4010, 4115, 4083, 4055, 4100, 4077, 4096, 4104, 4016, 4181, 4005, 4225, 4039, 4235}},
{Code: "BA", Pts: []int16{4499, 1494, 4501, 1528, 4442, 1508, 4390, 1557, 4329, 1548, 4323, 1528, 4310, 1512, 4278, 1483, 4205, 1476, 4255, 1390, 4312, 1352, 4341, 1314, 4392, 1269, 4432, 1246, 4495, 1197, 4549, 1211, 4518, 1247, 4547, 1265, 4549, 1307, 4526, 1388, 4528, 1451, 4499, 1494}},
{Code: "BB", Pts: []int16{221, -6273, 225, -6284, 235, -6286, 252, -6286, 260, -6282, 256, -6278, 244, -6275, 237, -6266, 229, -6264, 221, -6273}},
{Code: "BD", Pts: []int16{1432, 9011, 1336, 9022, 1357, 8984, 1248, 9004, 1317, 8966, 1386, 8951, 1451, 8924, 1529, 8874, 1535, 8780, 1479, 8797, 1405, 8775, 1432, 8728, 1407, 8717, 1422, 8687, 1435, 8647, 1546, 8618, 1647, 8572, 1729, 8577, 1764, 8510, 1813, 8527, 1863, 8581, 1934, 8498, 2027, 8519, 1968, 8608, 1962, 8656, 1867, 8678, 1848, 8775, 1850, 8867, 1827, 8928, 1714, 8899, 1705, 8856, 1630, 8834, 1558, 8899, 1647, 8905, 1647, 8932, 1432, 9011}},
{Code: "BE", Pts: []int16{5280, 297, 5192, 290, 5188, 266, 5114, 259, 5175, 180, 5165, 135, 5226, 72, 5278, 29, 5280, -11, 5326, -25, 5352, 45, 5341, 110, 5368, 191, 5312, 247, 5280, 297}},
{Code: "BF", Pts: []int16{473, -207, 407, -216, 347, -202, 258, -146, 193, -142, 162, -25, 69, -27, 29, -49, 17, -99, -42, -119, -57, -155, -55, -243, -44, -290, -65, -322, -55, -367, -61, -544, -139, -547, -239, -533, -206, -603, -210, -650, -244, -686, -216, -731, -170, -749, -141, -794, -63, -801, -6, -772, 40, -776, 151, -695, 244, -679, 277, -652, 258, -603, 286, -560, 321, -545, 380, -468, 422, -448, 479, -353, 498, -297, 473, -272, 473, -207}},
{Code: "BG", Pts: []int16{4346, 2387, 4291, 2345, 4196, 2322, 4121, 2360, 4138, 2277, 4096, 2187, 4028, 2192, 4016, 2110, 4064, 2039, 4026, 1967, 4031, 1899, 4119, 1885, 4163, 1834, 4180, 1847, 4196, 1836, 4239, 1847, 4281, 1879, 4337, 1829, 4388, 1816, 4417, 1836, 4362, 1868, 4371, 1903, 4352, 1975, 4344, 2111, 4377, 2153, 4409, 2259, 4360, 2331, 4346, 2387}},
{Code: "BH", Pts: []int16{2000, 4754, 1997, 4759, 2000, 4763, 1985, 4770, 1981, 4768, 1962, 4770, 1947, 4770, 1939, 4766, 1947, 4765, 1964, 4754, 1972, 4756, 1987, 4752, 1995, 4752, 2000, 4754}},
{Code: "BI", Pts: []int16{-2140, 2788, -2142, 2777, -2136, 2777, -2008, 2741, -2007, 2741, -1985, 2740, -1924, 2714, -1934, 2777, -1857, 2808, -1865, 2864, -1918, 2869, -1949, 2891, -1993, 2891, -2021, 2866, -2092, 2824, -2140, 2788}},
{Code: "BJ", Pts: []int16{32, 121, -13, 117, -92, 140, -147, 121, -183, 131, -267, 81, -309, 50, -393, 31, -479, 34, -695, 29, -712, -56, -620, -81, -309, -76, -281, -97, -214, -101, -168, -137, -128, -167, -57, -155, -42, -119, 17, -99, 29, -49, 69, -27, 109, 7, 109, 43, 32, 121}},
{Code: "BL", Pts: []int16{872, -6566, 878, -6568, 876, -6563, 872, -6566}},
{Code: "BM", Pts: []int16{2825, -6529, 2825, -6534, 2823, -6536, 2819, -6534, 2814, -6541, 2817, -6543, 2819, -6539, 2819, -6538, 2825, -6536, 2827, -6530, 2825, -6529}},
{Code: "BN", Pts: []int16{-930, 11396, -880, 11435, -804, 11518, -872, 11516, -958, 11515, -954, 11466, -1000, 11446, -930, 11396}},
{Code: "BO", Pts: []int16{-4262, -6075, -4220, -6080, -4150, -6178, -4148, -6271, -4188, -6444, -4306, -6482, -4379, -6478, -4541, -6505, -4512, -6523, -4505, -6638, -4614, -6667, -4518, -6734, -4484, -6869, -4606, -6941, -4625, -7011, -4438, -7067, -4287, -7133, -4157, -7114, -4100, -7171, -4003, -7193, -3911, -7250, -3766, -7198, -3653, -7250, -3606, -7231, -3556, -7252, -3489, -7218, -3375, -7223, -3279, -7223, -3235, -7204, -3016, -7303, -3029, -7227, -3025, -7175, -2985, -7155, -2930, -7069, -2880, -7016, -2856, -6885, -2957, -6892, -3010, -6876, -3100, -6881, -3220, -6764, -3243, -6649, -3293, -6608, -3321, -6538, -3358, -6493, -3358, -6430, -3398, -6368, -3476, -6359, -3516, -6338, -3573, -6332, -3575, -6363, -3732, -6313, -3739, -6120, -3816, -6129, -3869, -6115, -3907, -6057, -3991, -6026, -4098, -6037, -4157, -6061, -4232, -6046, -4262, -6075}},
{Code: "BR", Pts: []int16{-1283, -6016, -1296, -5960, -1267, -5949, -1241, -5967, -1201, -5956, -1214, -5915, -1199, -5866, -1229, -5809, -1256, -5764, -1220, -5733, -1225, -5710, -1262, -5695, -1254, -5647, -1201, -5607, -1103, -5575, -979, -5513, -972, -5477, -1048, -5454, -1283, -5400, -1306, -5344, -1399, -5342, -1510, -5420, -1550, -5389, -1571, -5207, -1708, -5204, -1619, -5126, -1668, -4999, -1750, -4828, -1827, -4777, -1903, -4793, -1861, -4675, -1932, -4477, -1928, -4324, -2039, -4172, -2191, -4039, -2228, -3960, -2235, -3874, -2277, -3836, -2449, -3800, -2531, -3780, -2754, -3818, -2842, -3866, -3029, -4005, -3182, -4066, -3298, -4138, -3302, -4163, -3400, -4187, -3653, -4171, -3860, -4190, -3949, -4196, -4003, -4225, -4184, -4234, -4358, -4327, -4499, -4336, -4556, -4414, -4638, -4433, -4638, -4541, -4688, -4694, -4749, -4761, -4789, -4869, -4896, -4979, -5030, -5053, -5131, -5058, -5205, -5035, -5341, -5040, -5406, -5054, -5482, -5116, -5719, -5197, -5824, -5269, -5889, -5326, -6018, -5353, -6093, -5405, -6018, -5443, -5952, -5411, -5862, -5479, -5786, -5566, -5700, -5679, -5705, -5713, -5600, -5827, -5614, -5888, -5432, -5780, -5299, -5684, -5245, -5625, -5171, -5549, -5064, -5557, -4984, -5614, -5011, -5661, -4934, -5648, -4854, -5643, -4778, -5648, -4755, -5686, -4776, -5722, -4770, -5760, -4719, -5774, -4596, -5794, -4556, -5816, -4518, -5886, -4545, -5926, -4518, -6032, -4335, -6039, -4262, -6075, -4232, -6046, -4157, -6061, -4098, -6037, -3991, -6026, -3907, -6057, -3869, -6115, -3816, -6129, -3739, -6120, -3732, -6313, -3575, -6363, -3573, -6332, -3516, -6338, -3476, -6359, -3398, -6368, -3358, -6430, -3358, -6493, -3321, -6538, -3293, -6608, -3243, -6649, -3220, -6764, -3100, -6881, -3010, -6876, -2957, -6892, -2856, -6885, -2880, -7016, -2930, -7069, -2985, -7155, -3025, -7175, -3029, -7227, -3016, -7303, -3039, -7360, -3025, -7407, -2821, -7409, -2898, -7488, -2896, -7578, -2823, -7619, -2817, -7688, -2758, -7670, -2676, -7729, -2554, -7776, -2531, -7749, -2472, -7753, -2434, -7691, -2361, -7704, -2315, -7679, -2252, -7673, -2159, -7560, -2134, -7477, -2113, -7463, -2119, -7371, -1750, -7331, -1691, -7330, -1615, -7346, -1565, -7393, -1466, -7391, -1445, -7333, -1460, -7313, -1407, -7310, -1393, -7369, -1309, -7369, -1313, -7171, -1264, -7137, -1309, -7108, -1388, -7090, -1372, -7070, -1443, -7015, -1435, -6935, -1393, -6916, -1361, -6840, -1338, -6797, -1281, -6784, -1243, -6710, -1214, -6716, -1204, -6802, -1117, -6815, -1027, -6809, -993, -6854, -981, -6835, -998, -6761, -1031, -6680, -1000, -6649, -979, -6575, -928, -6460, -876, -6422, -838, -6435, -834, -6381, -863, -6359, -924, -6374, -943, -6338, -1006, -6316, -1054, -6345, -1168, -6363, -1237, -6338, -1300, -6332, -1363, -6269, -1369, -6219, -1342, -6208, -1336, -6176, -1313, -6129, -1277, -6097, -1290, -6039, -1283, -6016}},
{Code: "BS", Pts: []int16{1313, -7553, 1302, -7560, 1292, -7564, 1285, -7574, 1285, -7583, 1288, -7585, 1283, -7592, 1281, -7601, 1285, -7612, 1283, -7619, 1294, -7621, 1298, -7616, 1304, -7612, 1309, -7605, 1317, -7600, 1317, -7592, 1321, -7587, 1315, -7583, 1311, -7574, 1315, -7565, 1336, -7553, 1336, -7547, 1332, -7547, 1313, -7553}},
{Code: "BS", Pts: []int16{1348, -7549, 1361, -7553, 1367, -7542, 1361, -7537, 1357, -7537, 1355, -7542, 1348, -7549}},
{Code: "BS", Pts: []int16{1485, -7542, 1487, -7538, 1481, -7529, 1481, -7522, 1479, -7515, 1474, -7510, 1468, -7510, 1466, -7513, 1474, -7522, 1474, -7529, 1477, -7531, 1472, -7540, 1477, -7549, 1479, -7549, 1489, -7546, 1485, -7542}},
{Code: "BS", Pts: []int16{1523, -7612, 1514, -7616, 1500, -7616, 1491, -7618, 1485, -7625, 1477, -7628, 1470, -7636, 1464, -7648, 1460, -7650, 1464, -7654, 1468, -7652, 1470, -7645, 1474, -7641, 1479, -7641, 1481, -7634, 1489, -7630, 1491, -7623, 1500, -7618, 1506, -7621, 1506, -7628, 1510, -7632, 1521, -7625, 1523, -7623, 1523, -7612}},
{Code: "BS", Pts: []int16{1529, -7646, 1527, -7645, 1527, -7637, 1523, -7630, 1514, -7637, 1519, -7639, 1519, -7643, 1521, -7650, 1525, -7657, 1537, -7663, 1540, -7657, 1537, -7650, 1529, -7646}},
{Code: "BS", Pts: []int16{1653, -7812, 1638, -7801, 1634, -7796, 1624, -7790, 1626, -7796, 1630, -7798, 1632, -7803, 1640, -7810, 1642, -7814, 1651, -7817, 1653, -7812}},
{Code: "BS", Pts: []int16{1653, -7745, 1640, -7740, 1630, -7736, 1621, -7736, 1617, -7733, 1603, -7729, 1584, -7729, 1577, -7726, 1573, -7717, 1561, -7709, 1544, -7709, 1558, -7717, 1563, -7717, 1571, -7722, 1575, -7733, 1579, -7729, 1586, -7735, 1592, -7735, 1598, -7731, 1609, -7733, 1617, -7738, 1619, -7736, 1628, -7742, 1640, -7744, 1638, -7747, 1653, -7745}},
{Code: "BS", Pts: []int16{1653, -7693, 1649, -7699, 1651, -7704, 1655, -7706, 1659, -7695, 1653, -7693}},
{Code: "BS", Pts: []int16{1693, -7841, 1695, -7843, 1710, -7848, 1710, -7844, 1693, -7841}},
{Code: "BS", Pts: []int16{1703, -7652, 1691, -7659, 1691, -7666, 1697, -7663, 1710, -7661, 1716, -7654, 1708, -7652, 1703, -7652}},
{Code: "BS", Pts: []int16{1729, -7985, 1726, -7990, 1720, -7994, 1722, -7999, 1731, -7988, 1729, -7985}},
{Code: "BS", Pts: []int16{1714, -7981, 1710, -7974, 1714, -7970, 1724, -7969, 1726, -7965, 1714, -7961, 1703, -7961, 1697, -7963, 1684, -7961, 1678, -7961, 1661, -7969, 1659, -7972, 1663, -7979, 1670, -7976, 1674, -7969, 1676, -7970, 1668, -7981, 1672, -7985, 1678, -7978, 1678, -7985, 1676, -7988, 1680, -7992, 1695, -7992, 1699, -7990, 1710, -7997, 1714, -7997, 1718, -7990, 1724, -7988, 1726, -7983, 1731, -7981, 1737, -7970, 1729, -7969, 1720, -7978, 1714, -7981}},
{Code: "BS", Pts: []int16{1726, -7738, 1716, -7736, 1718, -7740, 1716, -7749, 1714, -7756, 1718, -7758, 1722, -7753, 1729, -7745, 1733, -7745, 1737, -7753, 1750, -7756, 1762, -7758, 1771, -7765, 1775, -7765, 1785, -7774, 1792, -7769, 1783, -7762, 1773, -7762, 1766, -7758, 1756, -7756, 1745, -7751, 1739, -7744, 1733, -7742, 1726, -7738}},
{Code: "BS", Pts: []int16{1842, -7924, 1838, -7918, 1832, -7929, 1834, -7934, 1829, -7938, 1832, -7947, 1838, -7943, 1842, -7936, 1842, -7924}},
{Code: "BS", Pts: []int16{1853, -7999, 1857, -7992, 1850, -7987, 1846, -7988, 1842, -7987, 1834, -7990, 1827, -7985, 1808, -7981, 1802, -7978, 1792, -7970, 1777, -7974, 1764, -7972, 1758, -7976, 1756, -7981, 1747, -7988, 1743, -7994, 1743, -7999, 1739, -8005, 1739, -8010, 1747, -8010, 1752, -8015, 1764, -8014, 1758, -8019, 1760, -8023, 1768, -8033, 1775, -8039, 1781, -8042, 1787, -8030, 1773, -8021, 1785, -8019, 1787, -8024, 1794, -8026, 1800, -8024, 1813, -8014, 1821, -8010, 1823, -8012, 1832, -8006, 1842, -8006, 1857, -8010, 1859, -8008, 1859, -8003, 1853, -7999}},
{Code: "BS", Pts: []int16{1907, -7853, 1903, -7852, 1895, -7846, 1880, -7832, 1878, -7823, 1876, -7821, 1867, -7817, 1859, -7812, 1850, -7803, 1846, -7803, 1829, -7807, 1825, -7808, 1819, -7808, 1808, -7810, 1802, -7814, 1787, -7816, 1785, -7817, 1798, -7821, 1804, -7828, 1808, -7826, 1806, -7817, 1811, -7814, 1815, -7816, 1823, -7814, 1832, -7808, 1842, -7807, 1848, -7807, 1857, -7816, 1871, -7823, 1876, -7828, 1882, -7839, 1888, -7844, 1892, -7855, 1888, -7862, 1907, -7855, 1907, -7853}},
{Code: "BS", Pts: []int16{2065, -8012, 2060, -8003, 2060, -8001, 2058, -7988, 2063, -7985, 2060, -7981, 2060, -7972, 2065, -7965, 2065, -7958, 2069, -7952, 2058, -7951, 2054, -7952, 2054, -7958, 2054, -7965, 2050, -7985, 2050, -7990, 2042, -8017, 2033, -8030, 2033, -8037, 2035, -8041, 2042, -8046, 2054, -8055, 2048, -8044, 2044, -8042, 2044, -8033, 2048, -8024, 2060, -8017, 2063, -8023, 2069, -8019, 2075, -8017, 2065, -8012}},
{Code: "BS", Pts: []int16{2092, -7934, 2088, -7920, 2090, -7916, 2084, -7909, 2063, -7893, 2050, -7889, 2048, -7882, 2037, -7870, 2033, -7870, 2023, -7873, 2008, -7870, 2008, -7877, 2000, -7886, 1995, -7888, 1974, -7893, 1955, -7895, 1951, -7898, 1955, -7904, 1964, -7906, 1966, -7913, 1976, -7907, 1976, -7904, 1985, -7895, 1993, -7897, 2002, -7893, 2008, -7893, 2014, -7889, 2027, -7889, 2029, -7886, 2035, -7882, 2042, -7880, 2044, -7886, 2046, -7895, 2052, -7897, 2056, -7897, 2060, -7904, 2067, -7904, 2081, -7909, 2084, -7913, 2081, -7918, 2084, -7927, 2084, -7933, 2092, -7943, 2092, -7934}},
{Code: "BT", Pts: []int16{2205, 8798, 2161, 8845, 2079, 8854, 2075, 8773, 2084, 8689, 2063, 8631, 2115, 8532, 2140, 8525, 2241, 8572, 2275, 8618, 2245, 8696, 2241, 8748, 2205, 8798}},
{Code: "BW", Pts: []int16{-3932, 2297, -4039, 2331, -4064, 2351, -4142, 2380, -4289, 2489, -4304, 2531, -4352, 2529, -4438, 2556, -4459, 2633, -4520, 2695, -4619, 2549, -4719, 2455, -4810, 2419, -4860, 2387, -4871, 2333, -4936, 2311, -4978, 2300, -5007, 2236, -5001, 2155, -4963, 2110, -4948, 2068, -4978, 2018, -5043, 1991, -5083, 1942, -5144, 1892, -5158, 1820, -5110, 1800, -5028, 1811, -4900, 1757, -4879, 1732, -4486, 1742, -4482, 1841, -4001, 1856, -3997, 1931, -3949, 2088, -4005, 2124, -3953, 2191, -3953, 2221, -3921, 2279, -3932, 2297}},
{Code: "BY", Pts: []int16{5583, 2549, 5587, 2479, 5574, 2464, 5532, 2491, 5448, 2527, 5442, 2453, 5413, 2430, 5347, 2435, 5360, 2398, 5354, 2320, 5385, 2293, 5362, 2263, 5381, 2228, 5383, 2158, 5415, 2056, 5425, 1967, 5421, 1899, 5387, 1856, 5381, 1814, 5440, 1805, 5499, 1771, 5526, 1822, 5576, 1814, 5625, 1784, 5681, 1773, 5681, 1858, 5730, 1944, 5801, 1953, 5843, 2018, 5900, 2000, 5921, 2048, 5969, 2131, 5938, 2227, 5906, 2243, 5921, 2286, 5891, 2372, 5831, 2392, 5797, 2380, 5713, 2448, 5690, 2486, 5667, 2486, 5644, 2547, 5610, 2578, 5583, 2549}},
{Code: "BZ", Pts: []int16{603, -9220, 603, -9250, 754, -9227, 861, -9214, 882, -9212, 888, -9200, 872, -9184, 954, -9139, 956, -9119, 935, -9121, 935, -9103, 897, -9108, 840, -9131, 819, -9124, 771, -9140, 758, -9135, 689, -9153, 653, -9176, 649, -9196, 603, -9220}},
{Code: "CA", Pts: []int16{4724, -6014, 4705, -5953, 4709, -5868, 4654, -5927, 4646, -5963, 4703, -6062, 4747, -6073, 4787, -6028, 4724, -6014}},
{Code: "CA", Pts: []int16{5060, -5755, 5058, -5798, 5098, -5902, 5161, -5965, 5171, -5931, 5137, -5825, 5083, -5749, 5060, -5755}},
{Code: "CA", Pts: []int16{4982, -11297, 4963, -11353, 5022, -11466, 5068, -11466, 5114, -11518, 5152, -11513, 5175, -11590, 5247, -11579, 5276, -11552, 5249, -11479, 5228, -11435, 5215, -11362, 5169, -11358, 5108, -11351, 5053, -11293, 4982, -11297}},
{Code: "CA", Pts: []int16{5266, -5193, 5152, -5283, 5196, -5213, 5167, -5161, 5123, -5204, 5087, -5135, 5119, -5085, 5079, -5008, 4982, -5058, 5005, -4990, 4936, -4995, 4854, -4986, 4736, -5051, 4732, -5094, 4757, -5146, 4864, -5101, 4881, -5123, 4768, -5254, 4772, -5308, 4835, -5229, 4867, -5308, 4858, -5407, 4862, -5580, 4900, -5584, 4948, -5515, 4982, -5546, 5062, -5449, 5270, -5301, 5343, -5225, 5387, -5135, 5383, -5098, 5347, -5125, 5266, -5193}},
{Code: "CA", Pts: []int16{5715, -11673, 5698, -11646, 5709, -11556, 5564, -11686, 5459, -11680, 5459, -11714, 5518, -11727, 5579, -11718, 5618, -11732, 5675, -11709, 5715, -11673}},
{Code: "CA", Pts: []int16{6713, -6572, 6650, -6637, 6660, -6667, 6696, -6669, 6704, -6662, 6740, -6611, 6738, -6581, 6713, -6572}},
{Code: "CA", Pts: []int16{6780, -6746, 6713, -6876, 6717, -6930, 6748, -6930, 6805, -6840, 6803, -6732, 6780, -6746}},
{Code: "CA", Pts: []int16{7133, -6802, 7080, -6818, 7099, -6770, 7068, -6743, 7026, -6680, 6990, -6611, 6933, -6637, 6942, -6574, 6902, -6539, 6864, -6629, 6893, -6736, 6948, -6750, 6883, -6863, 6822, -7011, 6891, -6998, 6881, -7112, 6940, -7009, 7034, -6944, 7141, -6853, 7133, -6802}},
{Code: "CA", Pts: []int16{7307, -5994, 7301, -6082, 7358, -6070, 7423, -6001, 7437, -5924, 7406, -5882, 7358, -5909, 7341, -5926, 7307, -5994}},
{Code: "CA", Pts: []int16{7532, -7335, 7492, -7409, 7526, -7484, 7515, -7555, 7565, -7616, 7601, -7526, 7649, -7438, 7618, -7384, 7597, -7355, 7576, -7348, 7532, -7335}},
{Code: "CA", Pts: []int16{4537, -6381, 4612, -6421, 4791, -6368, 4829, -6397, 4808, -6464, 4841, -6484, 4743, -6583, 4640, -6640, 4579, -6691, 4558, -6736, 4551, -6766, 4520, -6786, 4520, -6953, 4518, -7094, 4495, -7142, 4402, -7265, 4404, -7265, 4413, -7281, 4394, -7317, 4367, -7351, 4390, -7384, 4373, -7468, 4354, -7538, 4337, -7573, 4293, -7614, 4278, -7582, 4287, -7551, 4287, -7546, 4247, -7551, 4232, -7637, 4215, -7688, 4194, -7718, 4207, -7765, 4201, -7794, 4163, -7846, 4121, -7929, 4129, -7978, 4175, -7942, 4249, -7875, 4293, -7801, 4331, -7781, 4394, -7765, 4467, -7697, 4551, -7681, 4470, -7661, 4451, -7592, 4495, -7549, 4596, -7574, 4638, -7591, 4663, -7663, 4677, -7731, 4677, -7801, 4694, -7862, 4724, -7870, 4705, -7895, 4709, -7916, 4753, -7882, 4770, -7915, 4820, -7880, 4858, -7902, 4896, -7871, 4915, -7965, 4990, -7967, 5007, -7981, 5011, -8041, 5037, -8114, 5020, -8141, 4988, -8174, 4967, -8233, 4915, -8289, 4951, -8386, 4934, -8465, 4974, -8536, 4995, -8618, 5003, -8678, 5024, -8696, 5095, -8680, 5095, -8710, 5045, -8734, 5045, -8917, 5045, -9223, 5045, -9526, 5045, -9794, 5045, -10060, 5045, -10325, 5045, -10597, 5045, -10683, 5045, -10948, 5045, -11201, 5045, -11214, 5173, -11311, 5230, -11340, 5284, -11466, 5400, -11443, 5478, -11378, 5534, -11452, 5637, -11396, 5730, -11434, 5797, -11389, 5858, -11297, 5938, -11239, 6018, -11322, 6162, -11297, 6251, -11277, 6307, -11306, 6358, -11320, 6423, -11309, 6383, -11426, 6314, -11563, 6393, -11569, 6448, -11578, 6482, -11628, 6486, -11704, 7173, -11063, 7601, -10620, 7574, -10512, 7519, -10453, 7509, -10386, 7555, -10273, 7591, -10147, 7578, -10051, 7626, -9891, 7654, -9743, 7607, -9740, 7635, -9659, 7687, -9589, 7675, -9551, 7574, -9526, 7652, -9355, 7565, -9425, 7584, -9317, 7616, -9259, 7610, -9176, 7563, -9106, 7521, -8971, 7502, -8887, 7509, -8807, 7450, -8755, 7393, -8908, 7370, -8793, 7383, -8579, 7404, -8500, 7334, -8474, 7391, -8347, 7442, -8384, 7479, -8303, 7486, -8210, 7496, -8140, 7469, -8102, 7408, -8075, 7416, -7985, 7364, -7889, 7383, -7760, 7381, -7652, 7452, -7609, 7471, -7528, 7433, -7439, 7324, -7517, 7416, -7405, 7412, -7348, 7528, -7232, 7597, -7261, 7643, -7313, 7767, -7214, 7847, -7067, 7828, -6986, 7780, -6950, 7654, -6943, 7599, -7047, 7576, -6926, 7460, -7006, 7549, -6845, 7475, -6806, 7391, -6883, 7313, -6860, 7395, -6728, 7496, -6611, 7620, -6527, 7612, -6428, 7595, -6331, 7538, -6266, 7481, -6296, 7421, -6388, 7360, -6372, 7303, -6415, 7221, -6611, 7202, -6728, 7238, -6786, 7179, -6845, 7080, -6979, 7028, -7033, 6948, -7171, 6940, -7288, 6889, -7380, 6809, -7432, 6795, -7535, 6696, -7691, 6559, -7861, 6463, -7951, 6318, -8039, 6297, -7931, 6181, -7958, 6085, -7972, 6110, -7841, 6055, -7715, 6007, -7655, 5948, -7625, 5912, -7537, 5860, -7472, 5852, -7335, 5839, -7249, 5730, -7313, 5602, -7344, 5457, -7342, 5333, -7263, 5375, -7178, 5509, -7078, 5711, -7036, 5778, -7067, 5839, -6905, 5927, -6770, 6015, -6683, 6099, -6653, 6207, -6660, 6301, -6718, 6431, -6557, 6543, -6539, 6732, -6469, 6761, -6401, 6727, -6280, 6715, -6205, 6748, -6124, 6706, -6068, 6635, -6003, 6589, -5999, 6578, -5861, 6475, -5908, 6320, -5949, 6299, -5881, 6225, -5852, 6295, -5704, 6433, -5569, 6490, -5494, 6379, -5474, 6221, -5427, 6070, -5391, 5990, -5452, 5919, -5366, 5847, -5314, 5814, -5189, 5774, -5146, 5665, -5146, 5648, -5085, 5600, -5065, 5455, -5101, 5406, -5179, 5360, -5254, 5314, -5413, 5209, -5555, 5186, -5710, 5215, -5891, 5215, -6023, 5207, -6118, 5112, -6221, 5053, -6354, 4881, -6536, 4759, -6678, 4780, -6593, 4955, -6397, 5064, -6176, 5077, -6039, 5011, -5980, 4923, -6089, 4782, -6100, 4682, -6098, 4617, -5998, 4635, -5843, 4785, -5713, 4688, -5731, 4640, -5686, 4554, -5819, 4474, -6043, 4421, -6147, 4325, -6277, 4335, -6343, 4446, -6316, 4558, -6129, 4554, -6275, 4537, -6381}},
{Code: "CA", Pts: []int16{7977, -8298, 7927, -8383, 7958, -8194, 7904, -8147, 7960, -8015, 7925, -7983, 7818, -8023, 7862, -7945, 7973, -7895, 7990, -7817, 7973, -7763, 7929, -7724, 7822, -7772, 7744, -7816, 7689, -7740, 7635, -7650, 7586, -7697, 7576, -7825, 7534, -7810, 7492, -7868, 7509, -7988, 7540, -8091, 7534, -8183, 7494, -8354, 7477, -8557, 7467, -8699, 7521, -8694, 7551, -8768, 7538, -8845, 7628, -8856, 7641, -8797, 7660, -8665, 7654, -8566, 7675, -8455, 7700, -8572, 7691, -8735, 7694, -8838, 7733, -8838, 7780, -8627, 7778, -8741, 7807, -8838, 7889, -8698, 7933, -8604, 7998, -8348, 7977, -8298}},
{Code: "CA", Pts: []int16{8009, -7587, 7937, -7713, 8013, -7754, 8030, -7717, 8034, -7618, 8009, -7587}},
{Code: "CA", Pts: []int16{7975, -5632, 7946, -5645, 7948, -5719, 7950, -5792, 7935, -5881, 7944, -5897, 8000, -5935, 8038, -5904, 8046, -5864, 8034, -5713, 7975, -5632}},
{Code: "CA", Pts: []int16{7981, -6349, 7914, -6343, 8000, -6214, 8044, -6003, 7933, -5962, 7862, -6019, 7893, -5857, 7937, -5762, 7883, -5639, 7830, -5573, 7782, -5593, 7807, -5445, 7736, -5411, 7691, -5260, 7647, -5220, 7540, -5204, 7488, -5368, 7412, -5229, 7387, -5123, 7282, -5063, 7274, -4946, 7192, -5006, 7055, -5202, 7105, -5274, 7219, -5342, 7204, -5449, 7135, -5490, 7068, -5441, 7013, -5360, 6982, -5342, 6862, -5344, 6776, -5409, 6809, -5494, 6904, -5648, 6801, -5584, 6727, -5533, 6685, -5539, 6734, -5735, 6805, -5872, 6862, -5940, 6898, -5897, 6958, -5983, 7015, -6068, 6982, -6084, 6963, -6320, 7003, -6363, 7091, -6266, 7093, -6120, 7108, -5953, 7150, -5956, 7208, -5900, 7322, -5742, 7374, -5735, 7412, -5744, 7469, -5828, 7507, -5956, 7536, -5893, 7607, -5929, 7614, -5990, 7652, -6025, 7618, -6084, 7603, -6226, 7628, -6478, 7662, -6611, 7679, -6718, 7719, -6752, 7769, -6638, 7769, -6741, 7881, -6682, 7977, -6554, 8021, -6446, 8051, -6244, 7981, -6349}},
{Code: "CA", Pts: []int16{8055, -7256, 8032, -7191, 8046, -7054, 8015, -7063, 7962, -7173, 7916, -7105, 7818, -7198, 7775, -7349, 7784, -7411, 7826, -7427, 7910, -7533, 7946, -7502, 7933, -7369, 8002, -7385, 8055, -7256}},
{Code: "CA", Pts: []int16{7939, -6849, 7857, -6989, 7862, -7069, 7958, -7036, 8011, -6989, 8057, -6914, 8086, -6820, 8082, -6678, 8057, -6566, 7960, -6748, 7939, -6849}},
{Code: "CA", Pts: []int16{7788, -8933, 7733, -9176, 7782, -9166, 7841, -9274, 7887, -9194, 7967, -9059, 8038, -8923, 8103, -8915, 8120, -8663, 8097, -8588, 8091, -8417, 8061, -8383, 8015, -8354, 7988, -8471, 7912, -8721, 7834, -8887, 7788, -8933}},
{Code: "CA", Pts: []int16{8175, -6680, 8135, -6754, 8143, -6847, 8170, -6905, 8217, -6824, 8246, -6700, 8208, -6674, 8175, -6680}},
{Code: "CA", Pts: []int16{8357, -6838, 8309, -6835, 8256, -6885, 8177, -6989, 8166, -7114, 8183, -7171, 8244, -7110, 8238, -7229, 8317, -7151, 8313, -7083, 8349, -6944, 8343, -6856, 8357, -6838}},
{Code: "CA", Pts: []int16{8303, -7547, 8267, -7560, 8284, -7481, 8280, -7416, 8227, -7457, 8179, -7549, 8162, -7799, 8116, -8021, 8114, -8129, 8147, -8102, 8196, -7909, 8183, -8231, 8202, -8307, 8303, -8096, 8332, -7999, 8296, -7850, 8235, -7798, 8227, -7688, 8326, -7675, 8364, -7571, 8353, -7515, 8303, -7547}},
{Code: "CA", Pts: []int16{8395, -6545, 8361, -6503, 8361, -6370, 8328, -6345, 8290, -6395, 8267, -6340, 8242, -6318, 8238, -6230, 8229, -6138, 8250, -6010, 8261, -5864, 8252, -5760, 8212, -5719, 8170, -5737, 8141, -5801, 8118, -5922, 8133, -5999, 8116, -6212, 8114, -6356, 8126, -6457, 8160, -6611, 8219, -6583, 8269, -6545, 8315, -6570, 8328, -6696, 8359, -6743, 8401, -6674, 8395, -6545}},
{Code: "CA", Pts: []int16{8450, -7907, 8372, -8012, 8336, -8107, 8332, -8176, 8288, -8354, 8271, -8482, 8294, -8546, 8372, -8336, 8437, -8116, 8435, -8017, 8450, -7907}},
{Code: "CA", Pts: []int16{8437, -6446, 8435, -6478, 8441, -6597, 8469, -6584, 8467, -6455, 8450, -6426, 8437, -6446}},
{Code: "CA", Pts: []int16{8456, -7504, 8427, -7663, 8458, -7722, 8490, -7630, 8500, -7522, 8485, -7448, 8456, -7504}},
{Code: "CA", Pts: []int16{8544, -7364, 8525, -7466, 8525, -7574, 8540, -7556, 8567, -7454, 8563, -7423, 8544, -7364}},
{Code: "CA", Pts: []int16{8492, -6521, 8471, -6640, 8494, -6669, 8530, -6658, 8569, -6619, 8565, -6539, 8559, -6509, 8525, -6467, 8492, -6521}},
{Code: "CA", Pts: []int16{8517, -6770, 8477, -6790, 8488, -6885, 8519, -6957, 8523, -7097, 8551, -7002, 8574, -7052, 8611, -7013, 8599, -6903, 8563, -6768, 8517, -6770}},
{Code: "CA", Pts: []int16{8645, -5796, 8614, -5747, 8586, -5864, 8513, -6055, 8506, -6178, 8519, -6300, 8559, -6329, 8593, -6291, 8618, -6214, 8618, -6332, 8649, -6368, 8689, -6361, 8729, -6273, 8756, -6199, 8763, -6127, 8784, -6133, 8788, -5983, 8742, -5954, 8723, -5870, 8704, -5783, 8645, -5796}},
{Code: "CA", Pts: []int16{8939, -4370, 8933, -4214, 8922, -4093, 8901, -4000, 8880, -4019, 8845, -4196, 8828, -4358, 8809, -4430, 8809, -4295, 8756, -4484, 8731, -4606, 8658, -4774, 8643, -4919, 8622, -4975, 8614, -5179, 8601, -5099, 8584, -5159, 8536, -5146, 8502, -5236, 8475, -5360, 8437, -5423, 8406, -5542, 8382, -5551, 8387, -5434, 8361, -5454, 8301, -5683, 8330, -5836, 8313, -6046, 8326, -6136, 8332, -6259, 8380, -6221, 8404, -6077, 8475, -6041, 8481, -5994, 8439, -5859, 8502, -5890, 8521, -5978, 8559, -5888, 8582, -5751, 8616, -5701, 8651, -5755, 8698, -5735, 8695, -5566, 8685, -5526, 8719, -5395, 8729, -5526, 8723, -5753, 8752, -5832, 8788, -5846, 8813, -5891, 8840, -5872, 8857, -5764, 8859, -5688, 8872, -5555, 8903, -5432, 8899, -5362, 8876, -5319, 8918, -5229, 8931, -5135, 8939, -5018, 8943, -4831, 8935, -4808, 8947, -4622, 8943, -4496, 8939, -4370}},
{Code: "CD", Pts: []int16{-834, 2543, -945, 2606, -962, 2653, -939, 2680, -947, 2727, -920, 2783, -977, 2808, -1067, 2900, -1225, 2894, -1243, 2936, -1290, 2902, -1327, 2864, -1397, 2824, -1460, 2803, -1567, 2797, -1619, 2774, -1720, 2772, -1758, 2743, -1838, 2740, -1848, 2725, -1924, 2714, -1985, 2740, -2006, 2741, -2222, 2720, -2298, 2747, -2354, 2729, -2451, 2761, -2525, 2822, -2598, 2835, -2634, 2864, -2657, 2858, -2651, 2842, -2674, 2704, -2691, 2677, -2777, 2646, -2835, 2668, -2995, 2648, -3130, 2632, -3155, 2659, -3207, 2729, -3182, 2758, -3327, 2761, -3327, 2684, -3253, 2644, -3195, 2608, -3176, 2531, -3106, 2509, -3148, 2446, -3130, 2367, -3069, 2333, -3056, 2270, -3058, 2221, -3016, 2216, -3014, 2182, -3006, 2135, -3027, 2072, -3022, 2029, -3035, 2003, -2875, 2011, -2825, 1978, -2741, 1971, -2659, 1987, -2609, 1967, -2523, 1966, -2525, 1843, -2476, 1852, -2476, 1800, -2499, 1795, -2506, 1732, -2583, 1705, -2617, 1688, -2598, 1633, -2617, 1600, -2628, 1532, -2558, 1494, -2514, 1471, -2432, 1442, -2333, 1418, -2331, 1118, -2346, 1082, -2344, 1051, -2363, 1010, -2321, 995, -2306, 1021, -2247, 1024, -2214, 1042, -2184, 1078, -2199, 1105, -2147, 1141, -2149, 1197, -2186, 1202, -2210, 1240, -2126, 1301, -2060, 1361, -2016, 1386, -1905, 1384, -1775, 1429, -1705, 1476, -1640, 1543, -1598, 1555, -1548, 1557, -1502, 1573, -1424, 1568, -1304, 1580, -1220, 1600, -1149, 1631, -1067, 1636, -972, 1645, -905, 1685, -861, 1739, -907, 1823, -958, 1888, -970, 1962, -998, 2039, -916, 2068, -905, 2083, -918, 2129, -851, 2243, -880, 2282, -876, 2315, -842, 2331, -832, 2369, -846, 2444, -849, 2511, -834, 2543}},
{Code: "CF", Pts: []int16{-378, 2183, -431, 2254, -485, 2309, -529, 2311, -599, 2381, -657, 2425, -737, 2450, -792, 2527, -834, 2543, -849, 2511, -846, 2444, -832, 2369, -842, 2331, -876, 2315, -880, 2282, -851, 2243, -918, 2129, -905, 2083, -916, 2068, -998, 2039, -970, 1962, -958, 1888, -907, 1823, -861, 1739, -905, 1685, -972, 1645, -1067, 1636, -1061, 1571, -1038, 1501, -1109, 1442, -1235, 1388, -1195, 1377, -1134, 1372, -1090, 1325, -1021, 1287, -972, 1278, -901, 1229, -861, 1238, -804, 1228, -699, 1235, -676, 1260, -540, 1310, -529, 1393, -494, 1411, -498, 1429, -527, 1454, -477, 1582, -424, 1625, -376, 1678, -330, 1667, -317, 1696, -326, 1795, -263, 1888, -116, 1960, -61, 2011, -38, 2075, -95, 2088, -179, 2147, -235, 2147, -290, 2133, -332, 2140, -372, 2174, -378, 2183}},
{Code: "CG", Pts: []int16{-1067, 1636, -1149, 1631, -1220, 1600, -1304, 1580, -1424, 1568, -1502, 1573, -1548, 1557, -1598, 1555, -1640, 1543, -1705, 1476, -1775, 1429, -1905, 1384, -2016, 1386, -2060, 1361, -2126, 1301, -2210, 1240, -2186, 1202, -2149, 1197, -2147, 1141, -2199, 1105, -2184, 1078, -2138, 1040, -2161, 1010, -2220, 968, -2077, 886, -2002, 963, -1913, 925, -1880, 961, -1863, 1030, -1802, 1037, -1867, 1093, -1874, 1183, -1811, 1213, -1720, 1226, -1615, 1215, -1535, 1166, -1378, 1211, -1353, 1186, -1363, 1111, -1294, 1082, -1235, 1089, -1239, 1217, -1275, 1300, -1306, 1381, -1235, 1388, -1109, 1442, -1038, 1501, -1061, 1571, -1067, 1636}},
{Code: "CH", Pts: []int16{4852, 619, 4829, 623, 4797, 610, 4772, 652, 4768, 698, 4715, 693, 4692, 655, 4709, 587, 4656, 569, 4652, 526, 4673, 509, 4627, 461, 4621, 416, 4650, 376, 4707, 344, 4686, 301, 4747, 301, 4820, 365, 4854, 362, 4841, 403, 4864, 427, 4864, 502, 4892, 520, 4852, 619}},
{Code: "CI", Pts: []int16{-141, -794, -170, -749, -216, -731, -244, -686, -210, -650, -206, -603, -239, -533, -433, -506, -544, -549, -697, -576, -813, -533, -867, -536, -867, -583, -842, -653, -842, -720, -867, -841, -905, -911, -956, -1012, -951, -1031, -840, -1024, -823, -1013, -771, -1017, -714, -1060, -706, -1093, -668, -1121, -607, -1100, -542, -1109, -504, -1105, -504, -1089, -445, -1082, -418, -1089, -399, -1080, -384, -1042, -275, -1067, -221, -1091, -174, -1082, -164, -1062, -151, -1048, -172, -1021, -172, -941, -134, -923, -137, -905, -122, -877, -179, -860, -162, -837, -141, -794}},
{Code: "CL", Pts: []int16{-8599, -6208, -8884, -6100, -8884, -6010, -8889, -5956, -8939, -5965, -8979, -6023, -8975, -6066, -8964, -6122, -8926, -6197, -8908, -6295, -8836, -6430, -8769, -6545, -8624, -6721, -8651, -6638, -8737, -6484, -8784, -6352, -8725, -6331, -8637, -6336, -8582, -6275, -8599, -6208}},
{Code: "CL", Pts: []int16{-4606, -6941, -4640, -6925, -4780, -6946, -4846, -7047, -5070, -7018, -5114, -7033, -5167, -6997, -5251, -7056, -5377, -7103, -5501, -7119, -5631, -7088, -5770, -7126, -6003, -7038, -6028, -7009, -6152, -6984, -6282, -7013, -6396, -6988, -6484, -7042, -6606, -7013, -6738, -6953, -6786, -6998, -6906, -6995, -7042, -6980, -7206, -6921, -7234, -6952, -7387, -6885, -7437, -6829, -7494, -6844, -7519, -6793, -7570, -6768, -7595, -6800, -7673, -6768, -7847, -6748, -7960, -6761, -8028, -6728, -8109, -6730, -8168, -6779, -8305, -6723, -8353, -6676, -8345, -6620, -8441, -6586, -8517, -6523, -8534, -6305, -8555, -6217, -8555, -6295, -8586, -6325, -8632, -6386, -8752, -6356, -8754, -6390, -8714, -6503, -8624, -6638, -8551, -6775, -8469, -6833, -8393, -6838, -8305, -6914, -8082, -7004, -7956, -7007, -7855, -6946, -7815, -7096, -7700, -7047, -7479, -7083, -7526, -6966, -7250, -6998, -7215, -7070, -7381, -7052, -7362, -7115, -7173, -7142, -6925, -7178, -6832, -7159, -6702, -7218, -6551, -7261, -6545, -7222, -6328, -7211, -6112, -7189, -5912, -7187, -5709, -7247, -5597, -7236, -5432, -7274, -5268, -7241, -5007, -7258, -4726, -7258, -4425, -7256, -4205, -7283, -4014, -7321, -3980, -7270, -3911, -7250, -4003, -7193, -4100, -7171, -4157, -7114, -4287, -7133, -4438, -7067, -4625, -7011, -4606, -6941}},
{Code: "CM", Pts: []int16{-540, 1310, -676, 1260, -699, 1235, -804, 1228, -861, 1238, -901, 1229, -972, 1278, -1021, 1287, -1090, 1325, -1134, 1372, -1195, 1377, -1235, 1388, -1306, 1381, -1275, 1300, -1239, 1217, -1235, 1089, -1227, 1076, -1243, 1015, -1227, 954, -1235, 905, -1233, 738, -1126, 754, -1035, 713, -1014, 666, -954, 646, -935, 619, -897, 621, -800, 646, -670, 695, -670, 724, -590, 785, -588, 823, -645, 880, -599, 950, -542, 959, -487, 983, -420, 997, -365, 1051, -271, 1071, -239, 1093, -170, 1107, -84, 1132, 21, 1217, 65, 1222, 90, 1233, 143, 1192, 187, 1195, 193, 1222, 107, 1264, 19, 1273, -71, 1269, -193, 1327, -193, 1269, -202, 1240, -189, 1193, -252, 1172, -332, 1233, -355, 1278, -410, 1292, -502, 1325, -540, 1310}},
{Code: "CN", Pts: []int16{979, 10840, 914, 10762, 956, 10674, 1071, 10656, 1132, 10696, 1170, 10800, 1168, 10859, 1115, 10888, 1056, 10852, 979, 10840}},
{Code: "CN", Pts: []int16{5104, 11261, 5009, 11423, 4888, 11531, 4888, 11668, 4938, 11714, 4978, 11839, 4858, 11862, 4810, 11857, 4667, 11907, 4537, 11918, 4560, 11794, 4514, 11741, 4400, 11826, 4243, 11896, 4241, 11851, 4171, 11885, 4251, 11786, 4175, 11786, 4119, 11671, 4047, 11722, 4054, 11639, 4096, 11574, 3999, 11554, 3928, 11484, 3842, 11446, 3804, 11333, 3741, 11290, 3703, 11203, 3766, 11227, 3818, 11185, 3909, 11221, 3978, 11140, 3932, 11079, 3837, 11014, 3751, 10991, 3745, 10901, 3682, 10877, 3592, 10964, 3568, 11050, 3510, 11075, 3470, 11167, 3566, 11236, 3514, 11342, 3510, 11405, 3440, 11446, 3403, 11326, 3329, 11308, 3262, 11239, 3167, 11223, 3094, 11351, 2961, 11434, 2838, 11533, 2735, 11632, 2634, 11660, 2596, 11610, 2525, 11653, 2483, 11723, 2373, 11738, 2266, 11740, 2254, 11689, 2109, 11651, 1930, 11610, 1771, 11549, 1647, 11434, 1531, 11315, 1516, 11205, 1458, 11153, 1500, 11111, 1435, 11066, 1365, 10937, 1346, 10832, 1204, 10820, 1195, 10764, 1294, 10724, 1344, 10741, 1388, 10600, 1365, 10557, 1401, 10451, 1456, 10395, 1533, 10400, 1558, 10305, 1609, 10249, 1537, 10175, 1521, 10080, 1523, 10001, 1489, 9952, 1470, 9904, 1315, 9940, 1319, 9886, 1351, 9871, 1407, 9862, 1367, 9794, 1393, 9747, 1443, 9666, 1554, 9680, 1582, 9614, 1705, 9571, 1682, 9470, 1842, 9457, 1955, 9533, 2067, 9517, 2170, 9493, 2201, 9445, 2281, 9396, 2270, 9340, 2291, 9230, 2348, 9252, 2432, 9187, 2375, 9130, 2407, 9041, 2323, 8944, 2222, 8874, 2205, 8798, 2241, 8748, 2245, 8696, 2275, 8618, 2241, 8572, 2140, 8525, 2247, 8498, 2218, 8442, 2233, 8325, 2262, 8208, 2323, 8118, 2348, 8037, 2413, 7992, 2432, 7933, 2520, 7817, 2562, 7731, 2531, 7697, 2625, 7542, 2709, 7430, 2859, 7373, 2840, 7447, 2909, 7436, 2978, 7382, 3088, 7367, 3247, 7229, 3300, 7058, 3405, 7006, 3468, 6921, 3505, 6894, 3581, 6862, 3634, 6853, 3665, 6786, 3650, 6759, 3776, 6703, 3806, 6723, 3837, 6701, 3900, 6775, 3928, 6833, 3909, 6937, 3995, 6948, 4010, 7063, 4064, 7081, 4136, 7205, 4165, 7209, 4243, 7178, 4276, 7231, 4507, 7072, 4560, 7236, 4589, 7272, 4827, 7254, 4782, 7448, 4843, 7477, 4974, 7432, 4986, 7501, 5074, 7535, 5085, 7565, 4993, 7625, 4923, 7727, 4875, 7875, 4768, 7979, 4614, 8005, 4556, 8059, 4533, 8176, 4516, 8305, 4432, 8449, 4417, 8510, 4295, 8600, 4215, 8685, 4220, 8786, 4188, 8989, 4207, 9104, 4188, 9205, 4106, 9374, 4106, 9486, 4066, 9545, 4138, 9625, 4184, 9754, 4188, 9891, 4234, 9979, 4306, 10015, 4352, 10058, 4396, 10024, 4446, 9972, 4533, 9981, 4520, 10039, 4493, 10145, 4564, 10202, 4614, 10318, 4703, 10341, 4740, 10386, 4757, 10508, 4743, 10588, 4789, 10573, 4881, 10444, 4923, 10350, 4875, 10305, 4896, 10206, 4879, 10165, 4932, 10114, 5064, 10109, 5163, 10098, 5112, 10231, 5194, 10310, 5253, 10276, 5389, 10273, 5432, 10296, 5503, 10251, 5532, 10184, 5597, 10215, 5621, 10307, 5625, 10418, 5585, 10573, 5539, 10681, 5408, 10820, 5352, 10888, 5272, 10969, 5146, 11081, 5104, 11261}},
{Code: "CO", Pts: []int16{48, -7481, 25, -7547, -42, -7576, -80, -7618, -130, -7650, -227, -7666, -307, -7699, -315, -7646, -376, -7636, -407, -7614, -460, -7609, -510, -7621, -540, -7619, -550, -7594, -596, -7573, -584, -7441, -601, -7382, -718, -7313, -704, -7272, -710, -7198, -695, -7141, -718, -7105, -790, -7126, -836, -7150, -933, -7160, -1023, -7141, -1063, -7114, -1092, -7110, -1159, -7162, -1189, -7126, -1237, -7099, -1372, -7070, -1388, -7090, -1309, -7108, -1264, -7137, -1313, -7171, -1309, -7369, -1393, -7369, -1407, -7310, -1460, -7313, -1445, -7333, -1466, -7391, -1565, -7393, -1615, -7346, -1691, -7330, -1750, -7331, -2119, -7371, -2048, -7423, -2046, -7454, -1907, -7391, -1844, -7470, -1857, -7531, -1834, -7569, -1869, -7625, -1850, -7700, -1710, -7763, -1676, -7810, -1611, -7843, -1548, -7911, -1561, -7938, -1529, -7981, -1485, -8032, -1506, -8060, -1487, -8147, -1428, -8172, -1430, -8192, -1355, -8293, -1313, -8305, -1302, -8267, -1235, -8271, -1185, -8246, -1176, -8195, -1092, -8150, -1021, -8111, -989, -8147, -912, -8125, -788, -8145, -752, -8122, -639, -8134, -565, -8174, -500, -8158, -510, -8125, -470, -8105, -391, -8125, -372, -8113, -376, -8060, -281, -7979, -267, -7936, -223, -7934, -107, -7909, -46, -7848, -42, -7785, -15, -7774, -25, -7695, 42, -7612, 71, -7571, 137, -7519, 128, -7483, 92, -7459, 48, -7481}},
{Code: "CR", Pts: []int16{-65, -8737, -139, -8716, -193, -8680, -250, -8635, -263, -8674, -317, -8676, -336, -8656, -353, -8672, -376, -8669, -403, -8680, -431, -8685, -401, -8739, -372, -8759, -349, -8746, -319, -8748, -288, -8775, -260, -8815, -244, -8847, -204, -8852, -181, -8878, -218, -8874, -252, -8896, -214, -8917, -200, -8948, -174, -8960, -132, -8959, -90, -8942, -71, -8969, -44, -8944, -27, -8928, -63, -8863, -46, -8840, -57, -8807, -84, -8793, -95, -8762, -65, -8737}},
{Code: "CU", Pts: []int16{1529, -8194, 1481, -8159, 1495, -8066, 1464, -8033, 1380, -7958, 1319, -7900, 1321, -7868, 1294, -7810, 1256, -7821, 1250, -7749, 1195, -7679, 1164, -7693, 1147, -7762, 1140, -7830, 1151, -7897, 1138, -8042, 1212, -7967, 1248, -8005, 1256, -8069, 1296, -8100, 1372, -8114, 1367, -8172, 1403, -8262, 1432, -8289, 1453, -8417, 1479, -8449, 1512, -8408, 1519, -8505, 1449, -8584, 1447, -8626, 1414, -8644, 1399, -8694, 1414, -8735, 1453, -8678, 1504, -8651, 1533, -8602, 1558, -8548, 1571, -8471, 1588, -8446, 1577, -8361, 1575, -8282, 1529, -8194}},
{Code: "CV", Pts: []int16{462, -2740, 456, -2743, 460, -2747, 466, -2747, 468, -2741, 462, -2740}},
{Code: "CV", Pts: []int16{460, -2705, 458, -2709, 460, -2716, 466, -2722, 473, -2723, 481, -2720, 487, -2711, 487, -2704, 473, -2700, 464, -2702, 460, -2705}},
{Code: "CV", Pts: []int16{525, -2642, 523, -2639, 519, -2639, 515, -2635, 504, -2628, 504, -2624, 498, -2621, 487, -2617, 483, -2614, 473, -2619, 470, -2624, 473, -2633, 475, -2639, 481, -2644, 485, -2644, 487, -2648, 496, -2650, 500, -2648, 506, -2648, 515, -2644, 525, -2648, 525, -2642}},
{Code: "CV", Pts: []int16{525, -2587, 523, -2581, 510, -2579, 502, -2581, 498, -2588, 506, -2596, 515, -2592, 519, -2594, 525, -2587}},
{Code: "CV", Pts: []int16{645, -2551, 649, -2545, 645, -2536, 641, -2534, 626, -2534, 620, -2542, 615, -2547, 615, -2552, 620, -2561, 630, -2561, 634, -2558, 647, -2558, 649, -2556, 645, -2551}},
{Code: "CV", Pts: []int16{704, -2695, 706, -2687, 702, -2682, 702, -2675, 697, -2669, 693, -2668, 693, -2677, 699, -2689, 697, -2693, 685, -2698, 697, -2704, 699, -2705, 708, -2707, 710, -2702, 704, -2695}},
{Code: "CV", Pts: []int16{714, -2554, 712, -2552, 699, -2554, 697, -2558, 708, -2558, 714, -2561, 720, -2561, 727, -2563, 733, -2556, 729, -2552, 716, -2554, 714, -2554}},
{Code: "CV", Pts: []int16{741, -2758, 735, -2754, 729, -2752, 723, -2765, 727, -2770, 731, -2774, 739, -2767, 741, -2758}},
{Code: "CV", Pts: []int16{779, -2772, 777, -2767, 773, -2767, 767, -2761, 758, -2765, 752, -2776, 744, -2783, 741, -2795, 744, -2795, 754, -2795, 758, -2799, 762, -2799, 767, -2795, 767, -2792, 771, -2788, 779, -2776, 779, -2772}},
{Code: "CW", Pts: []int16{84, -7218, 84, -7223, 90, -7231, 92, -7236, 99, -7241, 103, -7243, 105, -7249, 113, -7252, 120, -7258, 130, -7256, 124, -7247, 113, -7245, 105, -7238, 101, -7225, 95, -7222, 86, -7216, 84, -7218}},
{Code: "CY", Pts: []int16{3188, 3028, 3184, 3029, 3176, 3035, 3178, 3028, 3178, 3022, 3174, 3015, 3180, 3010, 3186, 3010, 3188, 3015, 3186, 3019, 3188, 3028}},
{Code: "CY", Pts: []int16{3178, 2997, 3176, 2997, 3172, 2993, 3159, 2992, 3155, 2990, 3155, 2984, 3151, 2981, 3146, 2972, 3144, 2968, 3138, 2957, 3140, 2950, 3138, 2941, 3130, 2936, 3136, 2932, 3134, 2927, 3134, 2923, 3140, 2918, 3134, 2911, 3134, 2902, 3138, 2893, 3140, 2884, 3146, 2876, 3159, 2871, 3165, 2866, 3180, 2862, 3186, 2858, 3193, 2860, 3186, 2869, 3188, 2876, 3195, 2880, 3201, 2882, 3203, 2887, 3201, 2891, 3205, 2894, 3205, 2898, 3197, 2900, 3193, 2909, 3188, 2911, 3188, 2921, 3199, 2932, 3197, 2939, 3201, 2945, 3199, 2950, 3195, 2957, 3201, 2961, 3201, 2966, 3193, 2972, 3180, 2972, 3184, 2977, 3180, 2983, 3182, 2984, 3178, 2997}},
{Code: "CZ", Pts: []int16{5320, 1075, 5278, 1120, 5268, 1186, 5232, 1183, 5205, 1233, 5238, 1244, 5224, 1305, 5182, 1318, 5175, 1384, 5110, 1431, 5110, 1404, 5087, 1391, 5081, 1372, 5051, 1368, 5045, 1352, 5032, 1350, 5020, 1321, 5022, 1282, 4993, 1271, 5018, 1228, 5011, 1186, 5051, 1114, 5041, 1084, 4986, 1037, 5030, 968, 5085, 914, 5116, 868, 5173, 855, 5211, 837, 5238, 898, 5272, 929, 5297, 992, 5322, 1012, 5308, 1035, 5320, 1075}},
{Code: "DE", Pts: []int16{5663, 970, 5597, 995, 5562, 974, 5518, 1008, 5448, 1035, 5402, 1031, 5320, 1075, 5308, 1035, 5322, 1012, 5297, 992, 5272, 929, 5238, 898, 5211, 837, 5173, 855, 5116, 868, 5085, 914, 5030, 968, 4969, 940, 4953, 909, 4867, 927, 4843, 920, 4871, 889, 4875, 846, 4852, 783, 4858, 704, 4822, 693, 4858, 644, 4852, 619, 4892, 520, 4864, 502, 4864, 427, 4959, 434, 5047, 477, 5072, 347, 5106, 304, 5163, 308, 5192, 290, 5280, 297, 5417, 277, 5417, 329, 5465, 351, 5583, 367, 5627, 351, 5654, 365, 5660, 437, 5633, 455, 5696, 511, 5744, 488, 5816, 481, 5799, 547, 5818, 599, 5770, 605, 5740, 693, 5694, 695, 5719, 779, 5753, 826, 5702, 927, 5663, 970}},
{Code: "DJ", Pts: []int16{6, 4131, -67, 4097, -42, 4073, -53, 4050, -50, 3992, -8, 3989, 29, 3980, 92, 4012, 151, 4046, 139, 4090, 172, 4120, 130, 4145, 76, 4144, 42, 4088, 6, 4131}},
{Code: "DK", Pts: []int16{5898, 830, 5795, 787, 5868, 693, 5921, 677, 5963, 799, 5898, 830}},
{Code: "DK", Pts: []int16{5818, 599, 5799, 547, 5816, 481, 5887, 443, 6015, 436, 6051, 446, 6089, 470, 6095, 542, 6131, 571, 6167, 635, 6102, 635, 6060, 614, 6026, 626, 6007, 673, 5959, 655, 5971, 630, 5881, 574, 5818, 599}},
{Code: "DM", Pts: []int16{563, -6444, 561, -6435, 550, -6431, 538, -6431, 521, -6433, 517, -6435, 515, -6439, 510, -6446, 519, -6444, 523, -6446, 538, -6448, 548, -6453, 554, -6453, 561, -6451, 567, -6451, 567, -6448, 563, -6444}},
{Code: "DO", Pts: []int16{893, -7457, 930, -7452, 970, -7475, 993, -7448, 1046, -7436, 1117, -7438, 1140, -7423, 1140, -7346, 1107, -7288, 1109, -7261, 1061, -7249, 1065, -7193, 1025, -7200, 1019, -7155, 970, -7110, 916, -7151, 945, -7198, 939, -7245, 945, -7277, 920, -7297, 912, -7337, 945, -7349, 926, -7384, 834, -7432, 855, -7456, 893, -7457}},
{Code: "DZ", Pts: []int16{3442, 558, 3373, 540, 3245, 558, 3134, 538, 3058, 481, 2957, 491, 2875, 572, 2844, 574, 2789, 635, 2548, 682, 2428, 716, 2365, 724, 2256, 709, 2193, 716, 2119, 706, 2035, 716, 1979, 677, 1880, 738, 1823, 742, 1747, 779, 1773, 824, 1710, 905, 1626, 950, 1367, 612, 1103, 324, 1044, 184, 1029, 72, 1115, 70, 1138, 23, 1176, -40, 1239, -63, 1533, -400, 1827, -734, 2155, -1103, 2180, -1102, 2189, -1100, 2348, -1098, 2449, -938, 2470, -841, 2506, -760, 2573, -722, 2625, -607, 2726, -601, 2739, -545, 2787, -500, 2810, -373, 2863, -355, 2892, -380, 3035, -414, 3117, -419, 3203, -454, 3277, -362, 3300, -257, 3354, -198, 3396, -106, 3419, 56, 3430, 214, 3411, 263, 3463, 351, 3466, 454, 3434, 493, 3442, 558}},
{Code: "EC", Pts: []int16{-1561, -7938, -1663, -7924, -1750, -7954, -1892, -8064, -1945, -8185, -2063, -8246, -2153, -8262, -2210, -8318, -2140, -8363, -2126, -8404, -2136, -8446, -2088, -8451, -2056, -8422, -2000, -8435, -1899, -8383, -1840, -8406, -1903, -8444, -1842, -8507, -1804, -8487, -1682, -8505, -1661, -8469, -1577, -8451, -1491, -8413, -1437, -8419, -1407, -8363, -1355, -8293, -1430, -8192, -1428, -8172, -1487, -8147, -1506, -8060, -1485, -8032, -1529, -7981, -1561, -7938}},
{Code: "EE", Pts: []int16{6383, 2047, 6362, 2063, 6291, 2016, 6173, 2059, 6133, 2030, 6135, 1962, 6181, 1883, 6196, 1845, 6175, 1777, 6249, 1775, 6232, 1748, 6276, 1688, 6347, 1670, 6383, 1769, 6400, 1870, 6381, 1962, 6383, 2047}},
{Code: "EG", Pts: []int16{2670, 3098, 2472, 3168, 2439, 3181, 2384, 3157, 2283, 3145, 2212, 3123, 2189, 3101, 2233, 3065, 2291, 3017, 2485, 2932, 2472, 2923, 2331, 2974, 2195, 3044, 1985, 3132, 1911, 3173, 1836, 3209, 1687, 3307, 1663, 3289, 1575, 3296, 1453, 3418, 1426, 3438, 1426, 3040, 1426, 2653, 1426, 2252, 1924, 2234, 2403, 2210, 2512, 2174, 2594, 2194, 2653, 2176, 2718, 2207, 2720, 2336, 2684, 2434, 2644, 2533, 2623, 2579, 2665, 2651, 2703, 2689, 2716, 2774, 2699, 2844, 2632, 2876, 2676, 2896, 2644, 2975, 2636, 3053, 2670, 3098}},
{Code: "EH", Pts: []int16{2189, -1100, 2180, -1102, 2155, -1103, 1949, -1107, 1958, -1431, 1611, -1435, 1600, -1528, 1531, -1555, 1336, -1539, 1336, -1930, 1292, -1953, 1348, -1948, 1348, -1946, 1359, -1721, 1407, -1708, 1468, -1665, 1655, -1629, 1800, -1487, 1970, -1438, 1981, -1406, 2086, -1372, 2100, -1289, 2081, -1253, 2081, -1208, 2113, -1175, 2117, -1114, 2189, -1116, 2189, -1100}},
{Code: "ER", Pts: []int16{172, 4120, 139, 4090, 151, 4046, 195, 4010, 273, 3965, 317, 3919, 363, 3892, 418, 3802, 420, 3731, 447, 3706, 416, 3649, 477, 3584, 376, 3557, 405, 3438, 458, 3425, 657, 3461, 746, 3467, 788, 3497, 811, 3569, 886, 3618, 731, 3683, 607, 3717, 542, 3775, 414, 3919, 338, 3978, 258, 4036, 212, 4068, 172, 4120}},
{Code: "ES", Pts: []int16{4308, -421, 4257, -385, 4196, -214, 4226, -180, 4165, -76, 4182, 31, 4104, 38, 4016, -50, 3986, -169, 3942, -178, 3869, -236, 3760, -272, 3682, -236, 3623, -290, 3535, -311, 3508, -383, 3405, -450, 3403, -572, 3405, -662, 3358, -724, 3308, -761, 3319, -808, 3365, -842, 3440, -868, 3461, -956, 3508, -963, 3558, -927, 3594, -913, 3634, -945, 3722, -916, 3802, -952, 3812, -911, 3877, -905, 3896, -891, 4001, -886, 4037, -842, 4104, -866, 4108, -922, 4091, -938, 4091, -992, 4157, -1013, 4138, -1053, 4104, -1087, 4199, -1078, 4255, -1114, 4352, -981, 4329, -869, 4329, -745, 4306, -648, 4314, -571, 4308, -421}},
{Code: "ET", Pts: []int16{420, 3731, 418, 3802, 363, 3892, 317, 3919, 273, 3965, 195, 4010, 151, 4046, 92, 4012, 29, 3980, -8, 3989, -50, 3992, -53, 4050, -42, 4073, -67, 4097, -113, 4075, -189, 4115, -254, 4154, -302, 4194, -462, 4531, -460, 4617, -865, 4336, -872, 4205, -966, 4115, -968, 4050, -1012, 4023, -1012, 3953, -966, 3911, -1023, 3818, -1080, 3789, -1067, 3721, -1052, 3697, -1056, 3674, -1054, 3641, -941, 3512, -941, 3440, -897, 3406, -821, 3404, -798, 3352, -651, 3289, -620, 3242, -565, 3224, -500, 3170, -489, 3107, -414, 3141, -410, 3195, -370, 3209, -265, 3206, -248, 3206, -107, 3233, -69, 3280, -15, 3289, 90, 3330, 155, 3389, 290, 3425, 405, 3438, 376, 3557, 477, 3584, 416, 3649, 447, 3706, 420, 3731}},
{Code: "FI", Pts: []int16{7528, 1874, 7448, 1881, 7370, 2012, 7282, 1960, 7150, 2077, 7049, 2047, 6961, 2135, 6881, 2119, 6799, 2252, 6738, 2236, 6667, 2174, 6511, 2030, 6501, 1886, 6456, 1750, 6429, 1622, 6496, 1564, 6536, 1480, 6658, 1481, 6767, 1427, 6839, 1456, 6912, 1516, 7042, 1674, 7068, 1721, 7118, 1705, 7173, 1588, 7219, 1555, 7397, 1523, 7475, 1393, 7532, 1285, 7561, 1325, 7502, 1417, 7507, 1512, 7479, 1597, 7530, 1658, 7614, 1678, 7652, 1784, 7607, 1888, 7528, 1874}},
{Code: "FJ", Pts: []int16{-4125, 17804, -4127, 17798, -4119, 17800, -4125, 17804}},
{Code: "FJ", Pts: []int16{-4091, 17669, -4096, 17672, -4098, 17678, -4104, 17678, -4108, 17669, -4102, 17660, -4108, 17651, -4108, 17645, -4115, 17642, -4121, 17644, -4119, 17636, -4123, 17635, -4121, 17627, -4123, 17626, -4119, 17618, -4117, 17624, -4115, 17627, -4110, 17631, -4112, 17638, -4106, 17644, -4100, 17647, -4098, 17656, -4091, 17665, -4091, 17669}},
{Code: "FJ", Pts: []int16{-4089, 17685, -4091, 17681, -4089, 17678, -4085, 17681, -4089, 17685}},
{Code: "FJ", Pts: []int16{-3961, 17791, -3972, 17793, -3984, 17789, -3980, 17788, -3972, 17786, -3972, 17782, -3961, 17784, -3959, 17788, -3961, 17791}},
{Code: "FJ", Pts: []int16{-3932, 17744, -3932, 17743, -3923, 17741, -3919, 17744, -3917, 17752, -3926, 17752, -3930, 17748, -3932, 17744}},
{Code: "FJ", Pts: []int16{-3879, 17705, -3888, 17703, -3892, 17708, -3898, 17710, -3907, 17716, -3909, 17721, -3915, 17723, -3915, 17726, -3923, 17728, -3934, 17723, -3938, 17725, -3949, 17726, -3953, 17721, -3963, 17721, -3963, 17725, -3974, 17726, -3980, 17721, -3984, 17710, -3980, 17708, -3982, 17703, -3986, 17701, -3980, 17696, -3986, 17681, -4001, 17667, -3999, 17662, -4003, 17654, -4001, 17649, -4003, 17638, -3999, 17633, -3993, 17617, -3991, 17611, -3989, 17600, -3986, 17597, -3982, 17588, -3961, 17584, -3947, 17590, -3947, 17595, -3944, 17600, -3934, 17602, -3932, 17608, -3923, 17609, -3919, 17606, -3911, 17617, -3900, 17624, -3902, 17626, -3892, 17636, -3892, 17640, -3884, 17656, -3888, 17667, -3886, 17672, -3881, 17681, -3879, 17692, -3873, 17698, -3879, 17705}},
{Code: "FJ", Pts: []int16{-3884, 17818, -3886, 17815, -3867, 17818, -3867, 17825, -3875, 17824, -3884, 17818}},
{Code: "FJ", Pts: []int16{-3842, 17613, -3848, 17609, -3854, 17600, -3848, 17600, -3839, 17608, -3842, 17613}},
{Code: "FJ", Pts: []int16{-3833, 17881, -3829, 17878, -3825, 17879, -3814, 17888, -3804, 17894, -3827, 17888, -3833, 17881}},
{Code: "FJ", Pts: []int16{-3728, 17899, -3737, 17892, -3760, 17878, -3762, 17872, -3770, 17860, -3783, 17856, -3787, 17849, -3793, 17845, -3797, 17843, -3800, 17849, -3793, 17860, -3791, 17861, -3785, 17867, -3779, 17870, -3772, 17881, -3766, 17887, -3760, 17897, -3766, 17897, -3781, 17888, -3783, 17885, -3795, 17887, -3802, 17881, -3795, 17876, -3795, 17869, -3797, 17860, -3804, 17852, -3806, 17840, -3806, 17822, -3795, 17831, -3791, 17824, -3795, 17813, -3800, 17806, -3804, 17806, -3806, 17800, -3808, 17797, -3816, 17795, -3823, 17791, -3821, 17786, -3816, 17786, -3814, 17779, -3818, 17771, -3829, 17768, -3833, 17762, -3833, 17757, -3827, 17757, -3818, 17757, -3810, 17753, -3806, 17755, -3804, 17753, -3808, 17743, -3800, 17743, -3793, 17750, -3793, 17752, -3783, 17750, -3781, 17755, -3787, 17764, -3779, 17775, -3779, 17779, -3772, 17784, -3772, 17788, -3766, 17793, -3762, 17793, -3760, 17807, -3753, 17824, -3751, 17829, -3753, 17836, -3749, 17845, -3741, 17849, -3741, 17852, -3732, 17856, -3734, 17863, -3730, 17865, -3732, 17869, -3722, 17887, -3728, 17888, -3726, 17892, -3728, 17896, -3722, 17901, -3718, 17910, -3720, 17912, -3728, 17903, -3728, 17899}},
{Code: "FK", Pts: []int16{-8563, -5447, -8561, -5440, -8569, -5440, -8563, -5454, -8557, -5449, -8555, -5445, -8563, -5447}},
{Code: "FK", Pts: []int16{-8534, -5459, -8538, -5456, -8540, -5449, -8548, -5447, -8551, -5452, -8542, -5454, -8538, -5458, -8534, -5459}},
{Code: "FK", Pts: []int16{-8517, -5348, -8519, -5344, -8527, -5346, -8525, -5351, -8519, -5355, -8515, -5350, -8517, -5348}},
{Code: "FK", Pts: []int16{-8498, -5566, -8502, -5566, -8509, -5564, -8511, -5571, -8509, -5576, -8504, -5580, -8502, -5585, -8494, -5587, -8494, -5584, -8490, -5582, -8488, -5576, -8490, -5573, -8496, -5578, -8498, -5573, -8492, -5567, -8498, -5566}},
{Code: "FK", Pts: []int16{-8471, -5513, -8467, -5521, -8460, -5530, -8454, -5544, -8446, -5542, -8443, -5555, -8441, -5560, -8433, -5566, -8431, -5562, -8437, -5548, -8446, -5533, -8448, -5524, -8450, -5517, -8443, -5512, -8437, -5510, -8439, -5506, -8435, -5499, -8439, -5497, -8439, -5488, -8446, -5488, -8446, -5483, -8441, -5467, -8446, -5465, -8446, -5459, -8443, -5452, -8439, -5458, -8433, -5459, -8433, -5452, -8437, -5441, -8446, -5440, -8456, -5447, -8462, -5445, -8467, -5449, -8467, -5456, -8483, -5461, -8490, -5467, -8502, -5472, -8509, -5474, -8515, -5483, -8511, -5485, -8511, -5492, -8517, -5492, -8515, -5506, -8517, -5508, -8525, -5503, -8527, -5504, -8536, -5508, -8536, -5515, -8544, -5521, -8546, -5526, -8546, -5530, -8540, -5533, -8534, -5540, -8530, -5540, -8530, -5549, -8538, -5539, -8538, -5546, -8532, -5555, -8530, -5558, -8525, -5566, -8521, -5571, -8517, -5571, -8521, -5558, -8517, -5548, -8513, -5557, -8511, -5558, -8511, -5542, -8513, -5535, -8517, -5530, -8513, -5530, -8511, -5522, -8504, -5521, -8500, -5528, -8490, -5531, -8485, -5530, -8485, -5519, -8488, -5515, -8485, -5508, -8479, -5510, -8479, -5524, -8481, -5524, -8485, -5531, -8485, -5542, -8479, -5551, -8473, -5551, -8477, -5539, -8473, -5528, -8473, -5522, -8471, -5513, -8475, -5506, -8473, -5506, -8471, -5513}},
{Code: "FK", Pts: []int16{-8431, -5485, -8431, -5479, -8437, -5474, -8439, -5479, -8439, -5485, -8431, -5485}},
{Code: "FK", Pts: []int16{-8431, -5503, -8431, -5508, -8425, -5510, -8427, -5503, -8431, -5503}},
{Code: "FK", Pts: []int16{-8427, -5528, -8425, -5517, -8431, -5513, -8439, -5519, -8437, -5522, -8439, -5528, -8435, -5533, -8431, -5528, -8435, -5522, -8431, -5521, -8429, -5530, -8427, -5528}},
{Code: "FK", Pts: []int16{-8429, -5398, -8429, -5387, -8427, -5386, -8425, -5377, -8429, -5369, -8435, -5362, -8441, -5360, -8443, -5360, -8446, -5369, -8439, -5373, -8437, -5377, -8443, -5378, -8446, -5375, -8452, -5373, -8448, -5368, -8450, -5364, -8458, -5362, -8460, -5357, -8458, -5355, -8464, -5346, -8456, -5344, -8452, -5359, -8441, -5357, -8437, -5351, -8435, -5324, -8448, -5312, -8450, -5308, -8458, -5308, -8456, -5319, -8452, -5328, -8456, -5339, -8460, -5333, -8462, -5326, -8464, -5310, -8467, -5305, -8471, -5303, -8481, -5306, -8481, -5315, -8483, -5317, -8485, -5330, -8490, -5339, -8494, -5333, -8502, -5350, -8500, -5357, -8502, -5366, -8502, -5378, -8498, -5389, -8490, -5400, -8496, -5400, -8500, -5395, -8504, -5384, -8511, -5378, -8509, -5375, -8511, -5368, -8517, -5360, -8519, -5364, -8530, -5360, -8530, -5364, -8523, -5369, -8521, -5377, -8530, -5386, -8523, -5389, -8519, -5395, -8519, -5400, -8515, -5409, -8517, -5413, -8525, -5409, -8525, -5404, -8530, -5400, -8532, -5404, -8544, -5391, -8546, -5395, -8542, -5402, -8542, -5407, -8536, -5413, -8534, -5418, -8532, -5423, -8544, -5425, -8546, -5416, -8553, -5416, -8557, -5418, -8555, -5425, -8551, -5427, -8546, -5436, -8542, -5438, -8542, -5441, -8532, -5449, -8523, -5443, -8519, -5443, -8509, -5450, -8504, -5450, -8500, -5441, -8496, -5443, -8494, -5434, -8488, -5436, -8479, -5425, -8475, -5414, -8483, -5407, -8492, -5407, -8490, -5402, -8477, -5411, -8471, -5409, -8467, -5420, -8460, -5427, -8456, -5425, -8460, -5418, -8450, -5416, -8446, -5429, -8439, -5427, -8441, -5423, -8437, -5418, -8437, -5413, -8431, -5409, -8425, -5414, -8425, -5407, -8429, -5398}},
{Code: "FK", Pts: []int16{-8420, -5488, -8420, -5476, -8425, -5472, -8420, -5468, -8422, -5465, -8429, -5461, -8431, -5465, -8429, -5472, -8425, -5479, -8422, -5494, -8418, -5492, -8420, -5488}},
{Code: "FK", Pts: []int16{-8397, -5611, -8395, -5620, -8391, -5618, -8397, -5611}},
{Code: "FR", Pts: []int16{4140, 643, 4037, 616, 4064, 572, 4152, 549, 4203, 565, 4253, 623, 4140, 643}},
{Code: "FR", Pts: []int16{5114, 259, 5104, 279, 5106, 304, 5072, 347, 5047, 477, 4959, 434, 4864, 427, 4841, 403, 4854, 362, 4820, 365, 4747, 301, 4686, 301, 4707, 344, 4650, 376, 4612, 374, 4562, 401, 4522, 371, 4419, 398, 4402, 448, 4346, 439, 4270, 358, 4306, 175, 4262, 41, 4182, 31, 4165, -76, 4226, -180, 4196, -214, 4257, -385, 4308, -421, 4388, -373, 4652, -355, 4791, -446, 4858, -513, 4909, -650, 5005, -657, 5032, -540, 4999, -391, 5148, -418, 5091, -333, 5192, -128, 5299, -101, 5326, -25, 5280, -11, 5278, 29, 5226, 72, 5165, 135, 5175, 180, 5114, 259}},
{Code: "GA", Pts: []int16{-1235, 1089, -1294, 1082, -1363, 1111, -1353, 1186, -1378, 1211, -1535, 1166, -1615, 1215, -1720, 1226, -1811, 1213, -1874, 1183, -1867, 1093, -1802, 1037, -1863, 1030, -1880, 961, -1913, 925, -2002, 963, -2077, 886, -1941, 781, -1829, 715, -1691, 652, -1645, 655, -1603, 679, -1504, 702, -1403, 724, -1397, 758, -1397, 905, -1235, 905, -1227, 954, -1243, 1015, -1227, 1076, -1235, 1089}},
{Code: "GB", Pts: []int16{5677, -779, 5702, -842, 5700, -896, 5770, -875, 5837, -891, 5843, -819, 5763, -731, 5677, -779}},
{Code: "GB", Pts: []int16{6280, -493, 6144, -585, 6160, -500, 6160, -409, 6057, -432, 5944, -509, 5938, -421, 5923, -416, 5774, -340, 5753, -283, 5606, -230, 5555, -205, 5532, -99, 5448, -110, 5411, -153, 5343, -119, 5276, -198, 5278, -315, 5240, -466, 5268, -506, 5207, -565, 5221, -646, 5171, -711, 5196, -756, 5333, -625, 5362, -545, 5383, -682, 5436, -706, 5476, -614, 5545, -659, 5629, -641, 5616, -513, 5692, -499, 5770, -554, 5772, -556, 5795, -659, 5828, -679, 5885, -646, 5921, -673, 5860, -720, 5984, -722, 6047, -761, 6177, -727, 6278, -659, 6270, -594, 6280, -493}},
{Code: "GD", Pts: []int16{84, -6494, 78, -6502, 80, -6505, 90, -6507, 101, -6503, 109, -6498, 109, -6493, 103, -6491, 88, -6493, 84, -6494}},
{Code: "GE", Pts: []int16{4213, 3883, 4186, 3974, 4131, 4012, 4100, 4077, 4083, 4055, 4010, 4115, 3995, 4104, 4001, 4052, 4041, 3976, 4018, 3956, 3997, 3830, 4064, 3730, 4058, 3631, 4115, 3636, 4205, 3598, 4255, 3537, 4270, 3483, 4310, 3443, 4327, 3451, 4304, 3533, 4283, 3672, 4218, 3809, 4192, 3830, 4213, 3883}},
{Code: "GF", Pts: []int16{-1229, -5809, -1170, -5782, -1109, -5773, -1052, -5755, -972, -5792, -880, -5798, -765, -5742, -779, -5708, -811, -5634, -924, -5528, -979, -5513, -1103, -5575, -1201, -5607, -1254, -5647, -1262, -5695, -1225, -5710, -1220, -5733, -1256, -5764, -1229, -5809}},
{Code: "GH", Pts: []int16{-55, -243, -97, -250, -166, -209, -265, -209, -370, -198, -420, -173, -540, -196, -607, -187, -693, -160, -741, -137, -819, -297, -865, -355, -905, -446, -867, -536, -813, -533, -697, -576, -544, -549, -433, -506, -239, -533, -139, -547, -61, -544, -55, -367, -65, -322, -44, -290, -55, -243}},
{Code: "GL", Pts: []int16{8971, -1867, 8908, -1508, 8878, -1629, 8874, -1863, 8866, -2196, 8851, -2171, 8861, -1949, 8832, -1775, 8857, -1649, 8828, -1606, 8777, -1687, 8811, -1521, 8842, -1213, 8826, -1033, 8790, -1003, 8729, -1269, 8708, -1309, 8691, -1514, 8687, -1368, 8620, -1456, 8559, -1521, 8450, -1543, 8382, -1476, 8380, -1582, 8347, -1699, 8292, -1586, 8204, -1588, 8193, -1663, 8103, -1589, 8095, -1746, 8053, -1674, 8015, -1703, 7998, -1805, 7996, -1904, 7925, -1829, 7874, -1838, 7920, -1969, 7891, -2012, 7864, -1922, 7796, -1840, 7706, -1829, 7685, -1962, 7729, -2011, 7792, -2086, 7717, -2077, 7658, -2174, 7654, -1982, 7647, -1883, 7549, -2097, 7458, -2317, 7421, -2545, 7418, -2628, 7374, -2716, 7253, -2851, 7171, -3035, 7164, -3089, 7137, -3199, 7108, -3317, 7036, -3404, 6952, -3429, 6872, -3490, 6776, -3645, 6681, -3640, 6580, -3704, 6461, -3778, 6452, -3895, 6553, -3985, 6555, -4147, 6622, -4205, 6740, -4219, 6891, -4306, 6969, -4318, 7076, -4291, 7183, -4358, 7269, -4298, 7311, -4333, 7446, -4207, 7490, -4077, 7536, -4030, 7624, -3980, 7584, -4079, 7568, -4126, 7553, -4199, 7589, -4275, 7666, -4248, 7725, -4194, 7727, -4126, 7696, -3989, 7767, -4084, 7805, -4133, 7790, -4212, 7818, -4259, 7918, -4133, 7960, -4156, 8034, -4176, 8147, -4201, 8187, -4266, 8231, -4241, 8292, -4387, 8301, -4525, 8296, -4707, 8288, -4878, 8322, -4934, 8387, -5002, 8418, -4804, 8422, -4667, 8450, -4930, 8490, -5047, 8527, -5008, 8574, -4725, 8620, -4455, 8653, -4405, 8687, -4550, 8723, -4468, 8784, -4203, 8792, -4106, 8830, -4102, 8853, -3940, 8866, -3742, 8866, -3555, 8840, -3505, 8887, -3314, 8855, -3186, 8849, -3103, 8821, -2992, 8866, -3112, 8901, -3083, 8947, -2855, 8943, -2646, 8973, -2554, 8979, -2340, 8971, -1867}},
{Code: "GM", Pts: []int16{233, -1951, 294, -1937, 296, -1827, 330, -1804, 332, -1771, 298, -1732, 298, -1701, 319, -1667, 281, -1647, 250, -1692, 254, -1735, 281, -1778, 250, -1816, 250, -1834, 231, -1859, 233, -1951}},
{Code: "GN", Pts: []int16{139, -1413, 88, -1408, 88, -1391, 107, -1364, 103, -1348, 67, -1319, 57, -1276, 86, -1249, 105, -1215, 124, -1192, 120, -1172, 90, -1148, 53, -1138, -4, -1096, -38, -1116, -82, -1121, -69, -1100, -84, -1087, -124, -1093, -164, -1062, -174, -1082, -221, -1091, -275, -1067, -384, -1042, -399, -1080, -418, -1089, -445, -1082, -504, -1089, -504, -1105, -500, -1134, -554, -1154, -554, -1183, -525, -1202, -470, -1195, -389, -1238, -403, -1264, -407, -1287, -414, -1314, -365, -1312, -330, -1328, -290, -1325, -233, -1346, -185, -1375, -185, -1456, -210, -1480, -214, -1508, -244, -1526, -279, -1537, -340, -1593, -260, -1636, -208, -1676, -189, -1701, -162, -1726, -103, -1737, -74, -1751, -50, -1782, 15, -1735, 13, -1705, 34, -1678, 36, -1656, 53, -1640, 97, -1647, 111, -1636, 158, -1634, 155, -1586, 124, -1512, 126, -1490, 141, -1483, 130, -1427, 139, -1413}},
{Code: "GP", Pts: []int16{601, -6426, 601, -6431, 609, -6435, 613, -6433, 620, -6428, 615, -6422, 609, -6421, 605, -6421, 601, -6426}},
{Code: "GP", Pts: []int16{655, -6458, 655, -6453, 651, -6453, 649, -6453, 647, -6457, 630, -6457, 622, -6457, 618, -6460, 611, -6471, 615, -6471, 620, -6475, 630, -6476, 641, -6476, 651, -6478, 657, -6478, 664, -6475, 666, -6469, 660, -6460, 655, -6458}},
{Code: "GP", Pts: []int16{664, -6433, 662, -6426, 653, -6417, 647, -6440, 645, -6446, 651, -6453, 664, -6451, 666, -6448, 678, -6449, 683, -6448, 687, -6442, 678, -6437, 670, -6437, 664, -6433}},
{Code: "GQ", Pts: []int16{-1235, 905, -1397, 905, -1397, 758, -1403, 724, -1384, 704, -1233, 738, -1235, 905}},
{Code: "GR", Pts: []int16{3274, 2029, 3228, 2084, 3237, 2158, 3228, 2230, 3203, 2230, 3220, 2281, 3180, 2272, 3169, 2135, 3190, 2133, 3218, 2014, 3274, 2029}},
{Code: "GR", Pts: []int16{3961, 2194, 3965, 2137, 3978, 2088, 3944, 1976, 3869, 2048, 3846, 2003, 3846, 1951, 3915, 1895, 3886, 1879, 3806, 1908, 3743, 1960, 3713, 1926, 3653, 1984, 3613, 2034, 3537, 2041, 3573, 1951, 3503, 1984, 3491, 1924, 3371, 1969, 3369, 1906, 3428, 1823, 3535, 1780, 3625, 1757, 3686, 1715, 3764, 1661, 3802, 1652, 3867, 1692, 3911, 1694, 3930, 1724, 3965, 1723, 3976, 1784, 4005, 1816, 4003, 1867, 4026, 1881, 4031, 1899, 4026, 1967, 4064, 2039, 4016, 2110, 4028, 2192, 4096, 2187, 4060, 2236, 3976, 2216, 3961, 2194}},
{Code: "GT", Pts: []int16{861, -9214, 754, -9227, 603, -9250, 603, -9220, 578, -9189, 599, -9178, 582, -9151, 529, -9202, 491, -9254, 466, -9263, 439, -9257, 405, -9281, 397, -9306, 380, -9301, 365, -9322, 332, -9358, 313, -9364, 336, -9414, 338, -9477, 365, -9520, 420, -9571, 460, -9563, 491, -9549, 517, -9562, 626, -9502, 626, -9373, 672, -9365, 681, -9380, 710, -9389, 741, -9423, 786, -9455, 788, -9410, 863, -9401, 863, -9308, 861, -9214}},
{Code: "GU", Pts: []int16{273, 14414, 265, 14413, 252, 14413, 246, 14411, 246, 14405, 252, 14402, 263, 14400, 273, 14400, 284, 14411, 288, 14413, 298, 14414, 300, 14418, 296, 14420, 294, 14427, 284, 14423, 273, 14414}},
{Code: "GW", Pts: []int16{158, -1634, 111, -1636, 97, -1647, 53, -1640, 36, -1656, 34, -1678, 13, -1705, 15, -1735, -50, -1782, 4, -1834, 15, -1877, 53, -1901, 74, -1899, 101, -1930, 130, -1937, 151, -1883, 147, -1849, 164, -1822, 158, -1634}},
{Code: "GY", Pts: []int16{-735, -6068, -857, -6086, -891, -6149, -922, -6143, -993, -6163, -1090, -6120, -1090, -6088, -1166, -6075, -1283, -6016, -1290, -6039, -1277, -6097, -1313, -6129, -1336, -6176, -1342, -6208, -1369, -6219, -1363, -6269, -1300, -6332, -1237, -6338, -1168, -6363, -1054, -6345, -1006, -6316, -943, -6338, -924, -6374, -863, -6359, -834, -6381, -838, -6435, -737, -6502, -699, -6473, -636, -6473, -615, -6410, -590, -6385, -540, -6417, -491, -6408, -412, -6323, -462, -6259, -548, -6199, -620, -6197, -622, -6160, -687, -6106, -735, -6068}},
{Code: "HN", Pts: []int16{483, -8647, 485, -8681, 466, -8698, 449, -8734, 449, -8759, 433, -8782, 437, -8802, 458, -8818, 454, -8829, 422, -8845, 424, -8854, 395, -8858, 359, -8896, 342, -8917, 326, -8928, 353, -8955, 317, -8980, 317, -9002, 315, -9025, 248, -9029, 248, -9043, 216, -9058, 210, -9090, 252, -9104, 265, -9135, 319, -9122, 334, -9135, 342, -9157, 328, -9202, 344, -9203, 368, -9232, 393, -9252, 405, -9281, 439, -9257, 466, -9263, 491, -9254, 529, -9202, 582, -9151, 575, -9140, 599, -9117, 601, -9088, 590, -9079, 596, -9063, 584, -9016, 588, -8969, 603, -8937, 618, -8923, 611, -8892, 603, -8869, 605, -8842, 618, -8820, 599, -8775, 594, -8761, 569, -8732, 540, -8705, 519, -8671, 483, -8647}},
{Code: "HR", Pts: []int16{4640, 1467, 4587, 1494, 4549, 1525, 4499, 1494, 4528, 1451, 4526, 1388, 4549, 1307, 4547, 1265, 4518, 1247, 4549, 1211, 4495, 1197, 4432, 1246, 4392, 1269, 4341, 1314, 4312, 1352, 4255, 1390, 4205, 1476, 4184, 1467, 4232, 1377, 4281, 1319, 4320, 1233, 4417, 1148, 4428, 1166, 4484, 1121, 4528, 1116, 4549, 1057, 4493, 1031, 4537, 1003, 4583, 1003, 4585, 1004, 4581, 1069, 4602, 1084, 4581, 1116, 4579, 1152, 4614, 1150, 4629, 1181, 4682, 1186, 4717, 1256, 4701, 1285, 4644, 1357, 4619, 1435, 4640, 1467}},
{Code: "HT", Pts: []int16{1117, -7438, 1046, -7436, 993, -7448, 970, -7475, 930, -7452, 893, -7457, 916, -7522, 907, -7571, 916, -7632, 891, -7681, 933, -7731, 977, -7718, 958, -7627, 947, -7553, 977, -7513, 1035, -7555, 1088, -7547, 1109, -7610, 1145, -7583, 1140, -7522, 1117, -7438}},
{Code: "HU", Pts: []int16{4969, 1732, 4934, 1786, 4898, 1795, 4871, 1742, 4782, 1708, 4692, 1661, 4667, 1591, 4673, 1534, 4640, 1467, 4619, 1435, 4644, 1357, 4701, 1285, 4717, 1256, 4761, 1235, 4764, 1220, 4848, 1244, 4877, 1224, 4877, 1274, 4932, 1278, 4896, 1327, 4883, 1361, 4898, 1435, 4925, 1440, 4930, 1474, 4948, 1516, 4940, 1526, 4957, 1568, 4988, 1586, 4997, 1615, 4957, 1714, 4969, 1732}},
{Code: "ID", Pts: []int16{-2922, 12015, -2924, 11972, -2829, 11844, -2802, 11941, -2844, 11992, -2884, 12024, -2922, 12015}},
{Code: "ID", Pts: []int16{-2739, 12461, -2766, 12470, -2806, 12469, -2907, 12395, -2936, 12305, -2922, 12294, -2875, 12307, -2793, 12357, -2739, 12461}},
{Code: "ID", Pts: []int16{-2632, 11749, -2667, 11783, -2657, 11848, -2714, 11869, -2741, 11749, -2760, 11678, -2758, 11623, -2680, 11662, -2680, 11720, -2632, 11749}},
{Code: "ID", Pts: []int16{-2632, 12258, -2707, 12238, -2745, 12083, -2728, 11948, -2678, 11952, -2651, 12035, -2691, 12096, -2680, 12164, -2632, 12258}},
{Code: "ID", Pts: []int16{-2453, 10814, -2468, 11009, -2411, 11034, -2476, 11219, -2565, 11252, -2590, 11403, -2670, 11524, -2720, 11405, -2665, 11295, -2670, 11203, -2659, 11099, -2636, 11005, -2583, 10890, -2571, 10816, -2588, 10773, -2531, 10589, -2474, 10575, -2464, 10483, -2336, 10559, -2344, 10681, -2396, 10760, -2407, 10804, -2453, 10814}},
{Code: "ID", Pts: []int16{-2378, 13477, -2470, 13419, -2369, 13415, -2321, 13435, -2275, 13459, -2315, 13480, -2378, 13477}},
{Code: "ID", Pts: []int16{-2006, 12731, -2052, 12692, -2027, 12623, -1968, 12605, -1962, 12708, -2006, 12731}},
{Code: "ID", Pts: []int16{-1958, 13063, -2060, 13095, -2004, 13012, -1993, 12928, -2002, 12868, -1997, 12798, -1924, 12825, -1918, 12951, -1958, 13063}},
{Code: "ID", Pts: []int16{-1890, 14139, -2329, 14121, -2770, 14092, -2659, 14009, -2632, 13909, -2670, 13882, -2674, 13752, -2565, 13802, -2527, 13869, -2380, 13851, -2268, 13810, -2153, 13617, -2142, 13534, -2016, 13385, -2084, 13352, -2094, 13313, -2046, 13293, -1987, 13295, -1920, 13219, -1871, 13331, -1874, 13403, -1838, 13396, -1838, 13246, -1758, 13207, -1733, 13117, -1666, 13075, -1634, 13212, -1590, 13264, -1645, 13428, -1695, 13444, -1913, 13468, -1993, 13570, -1850, 13660, -1771, 13779, -1771, 13869, -1817, 13955, -1865, 14029, -1890, 14139}},
{Code: "ID", Pts: []int16{-1348, 12535, -1483, 12454, -1508, 12377, -1483, 12280, -1489, 12109, -1508, 12020, -1611, 12006, -1731, 12096, -1670, 12152, -1624, 12343, -1684, 12334, -1666, 12289, -1745, 12244, -1798, 12152, -1970, 12244, -2016, 12224, -2172, 12310, -2260, 12305, -2300, 12249, -2252, 12211, -2142, 12265, -2195, 12163, -2157, 12139, -2105, 12154, -2025, 12083, -1895, 12096, -1934, 12026, -2092, 12029, -2285, 12026, -2304, 11959, -2266, 11918, -2142, 11952, -2012, 11941, -2010, 11898, -1918, 11869, -1829, 11914, -1722, 11930, -1519, 11984, -1464, 12004, -1363, 12091, -1403, 12172, -1422, 12299, -1416, 12416, -1319, 12517, -1348, 12535}},
{Code: "ID", Pts: []int16{-1388, 12888, -1506, 12883, -1491, 12830, -1573, 12814, -1645, 12856, -1661, 12827, -1575, 12787, -1403, 12757, -1296, 12775, -1248, 12807, -1321, 12816, -1332, 12877, -1388, 12888}},
{Code: "ID", Pts: []int16{-1269, 10944, -1359, 10962, -1437, 11032, -1409, 11099, -1418, 11164, -1351, 11223, -1338, 11272, -1376, 11369, -1346, 11452, -1159, 11498, -1113, 11536, -960, 11567, -960, 11684, -983, 11774, -1105, 11720, -1231, 11799, -1294, 11783, -1418, 11898, -1435, 11777, -1527, 11745, -1649, 11749, -1741, 11650, -1876, 11642, -2081, 11597, -2033, 11585, -2094, 11466, -2012, 11428, -2004, 11356, -1960, 11306, -2010, 11183, -1943, 11149, -1951, 11081, -1937, 10998, -1756, 10987, -1718, 10937, -1603, 10888, -1485, 10874, -1359, 10885, -1269, 10944}},
{Code: "ID", Pts: []int16{-2329, 10534, -2331, 10422, -2220, 10341, -2109, 10213, -2027, 10172, -1918, 10098, -1817, 10049, -1628, 9974, -1514, 9886, -1399, 9855, -1294, 9815, -1210, 9722, -1094, 9666, -1019, 9587, -870, 9475, -800, 9464, -807, 9529, -832, 9689, -964, 9783, -1056, 9866, -1111, 9923, -1256, 10022, -1258, 10127, -1351, 10213, -1464, 10274, -1527, 10352, -1636, 10310, -1682, 10370, -1687, 10406, -1781, 10422, -1855, 10456, -1867, 10530, -1953, 10577, -2121, 10546, -2329, 10534}},
{Code: "IE", Pts: []int16{5677, -779, 5585, -767, 5469, -837, 5394, -995, 5413, -1118, 5547, -1040, 5677, -1078, 5778, -958, 5837, -891, 5770, -875, 5700, -896, 5702, -842, 5677, -779}},
{Code: "IL", Pts: []int16{2947, 3224, 2892, 3231, 2871, 3220, 2871, 3222, 2829, 3209, 2846, 3172, 2758, 3159, 2743, 3186, 2724, 3163, 2688, 3161, 2705, 3206, 2653, 3213, 2439, 3181, 2472, 3168, 2670, 3098, 2714, 3123, 2722, 3116, 2785, 3136, 2886, 3146, 2922, 3157, 2922, 3159, 2922, 3191, 2945, 3199, 2947, 3224}},
{Code: "IN", Pts: []int16{2531, 7697, 2468, 7646, 2342, 7630, 2291, 7735, 2226, 7839, 2151, 7979, 2132, 8118, 2065, 8186, 2052, 8264, 2021, 8388, 2023, 8471, 2075, 8473, 2161, 8446, 2218, 8442, 2247, 8498, 2140, 8525, 2115, 8532, 2063, 8631, 2084, 8689, 2075, 8773, 2079, 8854, 2161, 8845, 2205, 8798, 2222, 8874, 2323, 8944, 2407, 9041, 2375, 9130, 2432, 9187, 2348, 9252, 2291, 9230, 2270, 9340, 2220, 9358, 2195, 9328, 2113, 9353, 2136, 9277, 2044, 9166, 1966, 9182, 1853, 9146, 1787, 9151, 1676, 9122, 1708, 9040, 1567, 9056, 1521, 9038, 1464, 9056, 1432, 9011, 1647, 8932, 1647, 8905, 1558, 8899, 1630, 8834, 1705, 8856, 1714, 8899, 1827, 8928, 1850, 8867, 1848, 8775, 1867, 8678, 1962, 8656, 1968, 8608, 2027, 8519, 1934, 8498, 1863, 8581, 1813, 8527, 1764, 8510, 1729, 8577, 1647, 8572, 1546, 8618, 1435, 8647, 1384, 8638, 1386, 8570, 1359, 8451, 1258, 8467, 1178, 8424, 1086, 8289, 928, 8194, 842, 8125, 754, 8035, 693, 8041, 660, 7994, 611, 7907, 605, 7861, 502, 7839, 326, 7873, 214, 7886, 86, 7852, -143, 7864, -149, 7812, -252, 7771, -298, 7805, -336, 7713, -426, 7682, -466, 7643, -340, 7542, -151, 7486, -15, 7441, 48, 7402, 179, 7340, 347, 7304, 431, 7279, 615, 7173, 878, 7110, 1050, 7063, 1214, 7049, 1340, 7018, 1258, 6880, 1275, 6808, 1439, 6662, 1487, 6705, 1540, 6671, 1655, 6543, 1745, 6601, 1745, 6818, 1861, 6786, 1928, 6723, 2033, 6698, 2092, 6626, 2235, 6714, 2224, 6831, 2365, 6912, 2502, 6952, 2638, 7022, 2735, 7004, 2812, 7072, 2877, 6980, 2970, 6928, 3088, 6869, 3146, 6905, 3113, 7058, 3134, 7160, 3247, 7229, 3088, 7367, 2978, 7382, 2909, 7436, 2840, 7447, 2859, 7373, 2709, 7430, 2625, 7542, 2531, 7697}},
{Code: "IQ", Pts: []int16{3472, 4023, 3312, 4108, 3270, 4176, 3193, 4192, 3146, 4151, 3041, 4142, 2913, 4225, 2838, 4352, 2737, 4415, 2638, 4412, 2638, 4442, 2567, 4451, 2495, 4514, 2502, 4455, 2514, 4388, 2384, 4329, 2394, 4145, 2665, 3843, 2760, 3688, 2798, 3566, 2961, 3510, 3102, 3708, 3264, 3726, 3363, 3704, 3396, 3753, 3480, 3791, 3501, 3829, 3482, 3942, 3449, 3980, 3472, 4023}},
{Code: "IR", Pts: []int16{3682, 4122, 3686, 4154, 3785, 4250, 3795, 4284, 3755, 4318, 3690, 4297, 3619, 4367, 3627, 4390, 3526, 4435, 3499, 4531, 3432, 4608, 3409, 4747, 3445, 4891, 3476, 4894, 3501, 4973, 3579, 5027, 3575, 5092, 3600, 5128, 3587, 5198, 3518, 5317, 3503, 5395, 3386, 5526, 3379, 5598, 3268, 5629, 3100, 5618, 3001, 5609, 2980, 5654, 2907, 5625, 2800, 5674, 2714, 5695, 2691, 5773, 2604, 5792, 2483, 5722, 2411, 5780, 2329, 5830, 2270, 5933, 2153, 5951, 2130, 5999, 2069, 6016, 1997, 5881, 1842, 5861, 1882, 5670, 1913, 5558, 1930, 5445, 2096, 5386, 2119, 5335, 2096, 5261, 2031, 5170, 2075, 5044, 2180, 4934, 2218, 4835, 2346, 4756, 2525, 4662, 2504, 4612, 2548, 4545, 2495, 4514, 2567, 4451, 2638, 4442, 2638, 4412, 2737, 4415, 2838, 4352, 2913, 4225, 3041, 4142, 3146, 4151, 3193, 4192, 3270, 4176, 3312, 4108, 3472, 4023, 3579, 3955, 3621, 3967, 3774, 3915, 3814, 3974, 3762, 3996, 3701, 4054, 3682, 4122}},
{Code: "IS", Pts: []int16{7225, -1354, 7150, -1379, 7070, -1300, 6979, -1409, 6898, -1645, 6874, -1715, 6893, -1816, 6931, -2030, 6984, -1944, 7040, -2106, 7063, -1964, 7099, -1962, 7126, -2120, 7204, -2056, 7221, -1937, 7141, -1829, 7204, -1703, 7173, -1611, 7234, -1480, 7225, -1354}},
{Code: "IT", Pts: []int16{3615, 1228, 3508, 1197, 3468, 1213, 3398, 1197, 3449, 1121, 3463, 1073, 3531, 938, 3600, 947, 3587, 1058, 3602, 1156, 3615, 1228}},
{Code: "IT", Pts: []int16{4014, 616, 3919, 675, 3741, 668, 3749, 625, 3705, 587, 3741, 551, 3902, 542, 3978, 518, 3972, 571, 4014, 616}},
{Code: "IT", Pts: []int16{4717, 1006, 4652, 999, 4596, 1024, 4617, 950, 4568, 880, 4503, 887, 4465, 878, 4398, 913, 4331, 1003, 4220, 1055, 4112, 1165, 4115, 1237, 4085, 1262, 4058, 1237, 4010, 1323, 3970, 1395, 3898, 1480, 3875, 1490, 3827, 1476, 3890, 1420, 3911, 1337, 3825, 1303, 3774, 1373, 3705, 1366, 3697, 1328, 3581, 1283, 3571, 1244, 3613, 1242, 3684, 1258, 3713, 1278, 3791, 1237, 3858, 1204, 3875, 1165, 3932, 1132, 3957, 1071, 4012, 1028, 4020, 959, 4079, 882, 4167, 794, 4243, 727, 4375, 693, 4390, 646, 4434, 571, 4417, 529, 4354, 477, 4346, 439, 4402, 448, 4419, 398, 4522, 371, 4562, 401, 4612, 374, 4650, 376, 4621, 416, 4627, 461, 4673, 509, 4652, 526, 4656, 569, 4709, 587, 4692, 655, 4715, 693, 4768, 698, 4749, 754, 4774, 763, 4797, 851, 4753, 875, 4717, 1006}},
{Code: "JM", Pts: []int16{870, -7983, 846, -8015, 870, -8069, 918, -8122, 949, -8107, 958, -8064, 954, -8041, 941, -7974, 909, -7925, 872, -7911, 870, -7983}},
{Code: "JO", Pts: []int16{2798, 3566, 2777, 3550, 2709, 3362, 2573, 3470, 2552, 3442, 2506, 3429, 2487, 3355, 2439, 3335, 2396, 3298, 2420, 3186, 2439, 3181, 2653, 3213, 2705, 3206, 2745, 3217, 2829, 3209, 2871, 3222, 2817, 3335, 2961, 3510, 2798, 3566}},
{Code: "JP", Pts: []int16{3064, 12753, 3018, 12782, 2936, 12758, 2980, 12703, 2949, 12665, 2871, 12667, 2909, 12589, 2972, 12568, 3054, 12591, 3037, 12652, 3094, 12670, 3064, 12753}},
{Code: "JP", Pts: []int16{3468, 13196, 3361, 13207, 3293, 13252, 3199, 13241, 3136, 13144, 3127, 12978, 2972, 12899, 3025, 12814, 3125, 12771, 3096, 12616, 3033, 12524, 3029, 12413, 2930, 12546, 2701, 12560, 2644, 12515, 2697, 12451, 2819, 12434, 2856, 12361, 2949, 12289, 2991, 12366, 3077, 12386, 3146, 12456, 3239, 12492, 3279, 12667, 3251, 12780, 3491, 12780, 3426, 12872, 3560, 12953, 3613, 12983, 3776, 12965, 3928, 12874, 4012, 12870, 4037, 12956, 3850, 13104, 3743, 13154, 3606, 13131, 3468, 13196}},
{Code: "JP", Pts: []int16{4409, 12982, 4381, 13063, 4436, 13095, 4287, 13203, 4251, 13088, 4119, 13081, 4209, 12884, 4064, 12913, 4062, 12811, 4194, 12726, 4297, 12715, 4304, 12809, 4488, 12730, 4591, 12697, 4453, 12886, 4409, 12982}},
{Code: "KE", Pts: []int16{-1012, 4023, -1164, 3935, -1655, 3938, -1766, 3998, -1821, 3926, -1878, 3901, -1886, 3861, -1983, 3847, -2037, 3812, -2126, 3793, -2170, 3751, -2035, 3605, -1958, 3600, -1682, 3231, -1584, 3238, -1531, 3213, -1525, 3213, -1470, 3242, -1382, 3292, -1283, 3330, -1128, 3283, -1061, 3271, -966, 3222, -886, 3283, -798, 3352, -821, 3404, -897, 3406, -941, 3440, -941, 3512, -1054, 3641, -1056, 3674, -1052, 3697, -1067, 3721, -1080, 3789, -1023, 3818, -966, 3911, -1012, 3953, -1012, 4023}},
{Code: "KG", Pts: []int16{4165, 7209, 4136, 7205, 4064, 7081, 4010, 7063, 3995, 6948, 3909, 6937, 3928, 6833, 3900, 6775, 3837, 6701, 3806, 6723, 3776, 6703, 3755, 6530, 3800, 6403, 3789, 6304, 3865, 6293, 3844, 6401, 3884, 6426, 3871, 6500, 3968, 6595, 4039, 6466, 4005, 6408, 4056, 6325, 4142, 6379, 4154, 6349, 4213, 6354, 4232, 6410, 4186, 6575, 4264, 6566, 4293, 6611, 4236, 6759, 4251, 6788, 4247, 6943, 4234, 7085, 4186, 7146, 4165, 7209}},
{Code: "KH", Pts: []int16{376, 10616, 286, 10649, 124, 10651, 19, 10489, -61, 10539, -71, 10433, -126, 10350, -107, 10264, -36, 10217, 103, 10154, 267, 10116, 378, 10172, 403, 10300, 384, 10395, 332, 10485, 424, 10521, 376, 10616}},
{Code: "KM", Pts: []int16{-3209, 4198, -3207, 4181, -3199, 4178, -3193, 4178, -3195, 4187, -3205, 4199, -3209, 4198}},
{Code: "KM", Pts: []int16{-3169, 4264, -3190, 4268, -3205, 4268, -3209, 4266, -3203, 4262, -3197, 4255, -3193, 4253, -3190, 4248, -3182, 4237, -3180, 4239, -3184, 4248, -3182, 4253, -3174, 4257, -3169, 4257, -3167, 4262, -3169, 4264}},
{Code: "KM", Pts: []int16{-3148, 4162, -3140, 4153, -3138, 4147, -3134, 4142, -3121, 4138, -3115, 4140, -3111, 4140, -3085, 4144, -3083, 4142, -3075, 4145, -3073, 4154, -3079, 4158, -3104, 4154, -3111, 4156, -3119, 4160, -3130, 4162, -3142, 4165, -3148, 4162}},
{Code: "KP", Pts: []int16{4171, 11885, 4148, 11911, 4157, 11871, 4110, 11853, 4066, 11848, 3970, 11898, 3940, 11864, 3917, 11858, 3877, 11842, 3854, 11790, 3818, 11765, 3762, 11788, 3747, 11783, 3724, 11830, 3665, 11909, 3634, 11909, 3625, 11873, 3617, 11808, 3558, 11797, 3562, 11752, 3550, 11752, 3575, 11695, 3550, 11693, 3539, 11669, 3564, 11657, 3577, 11626, 3598, 11592, 3657, 11594, 3674, 11610, 3697, 11592, 3770, 11585, 3791, 11569, 3806, 11507, 3842, 11446, 3928, 11484, 3999, 11554, 4096, 11574, 4054, 11639, 4047, 11722, 4119, 11671, 4175, 11786, 4251, 11786, 4171, 11885}},
{Code: "KR", Pts: []int16{3550, 11752, 3562, 11752, 3558, 11797, 3617, 11808, 3625, 11873, 3634, 11909, 3665, 11909, 3508, 12058, 3419, 12118, 3264, 12179, 3190, 12170, 3165, 12092, 3109, 12037, 3098, 11954, 3172, 11916, 3272, 11896, 3411, 11801, 3434, 11862, 3550, 11752}},
{Code: "KW", Pts: []int16{2502, 4455, 2443, 4482, 2411, 4477, 2310, 4520, 2306, 4450, 2371, 4419, 2384, 4329, 2514, 4388, 2502, 4455}},
{Code: "KY", Pts: []int16{1065, -8411, 1063, -8406, 1071, -8402, 1069, -8395, 1069, -8386, 1065, -8384, 1061, -8388, 1063, -8392, 1061, -8399, 1059, -8402, 1059, -8415, 1065, -8411}},
{Code: "KY", Pts: []int16{1117, -8266, 1111, -8278, 1117, -8275, 1117, -8266}},
{Code: "KY", Pts: []int16{1115, -8255, 1117, -8257, 1124, -8242, 1117, -8246, 1115, -8255}},
{Code: "KZ", Pts: []int16{5629, 6089, 5635, 6169, 5757, 6334, 5715, 6320, 5616, 6471, 5289, 6800, 5356, 6820, 5282, 6971, 5316, 7083, 5293, 7142, 5217, 7216, 5192, 7288, 5135, 7348, 5154, 7456, 5074, 7535, 4986, 7501, 4974, 7432, 4843, 7477, 4782, 7448, 4827, 7254, 4589, 7272, 4560, 7236, 4507, 7072, 4276, 7231, 4243, 7178, 4165, 7209, 4186, 7146, 4234, 7085, 4247, 6943, 4251, 6788, 4236, 6759, 4293, 6611, 4264, 6566, 4186, 6575, 4232, 6410, 4213, 6354, 4154, 6349, 4129, 6302, 4037, 6205, 3940, 6188, 3940, 6152, 4003, 6111, 4007, 5990, 4117, 5945, 4119, 5899, 4253, 5872, 4350, 5735, 4339, 5580, 4320, 5477, 4440, 5359, 4491, 5272, 4585, 5107, 4596, 5087, 4518, 4871, 4026, 4982, 4020, 4936, 4125, 4849, 4163, 4779, 4136, 4678, 4089, 4646, 4123, 4635, 4178, 4646, 4224, 4619, 4270, 4502, 4390, 4435, 4423, 4378, 4467, 4367, 4455, 4459, 4551, 4441, 4572, 4514, 4554, 4599, 4682, 4586, 4764, 4552, 4757, 4462, 4789, 4378, 4732, 4286, 4703, 4207, 4726, 4156, 4793, 4153, 4881, 4075, 4877, 4010, 4965, 3915, 5066, 3946, 5091, 3913, 5236, 3953, 5161, 4061, 5255, 4050, 5396, 4196, 5400, 4333, 5310, 4549, 5257, 4667, 5312, 4747, 5314, 4885, 5247, 5017, 5287, 5031, 5280, 5157, 5341, 5161, 5432, 4991, 5495, 5054, 5528, 5027, 5562, 5099, 5650, 5008, 5694, 5033, 5738, 5339, 5770, 5369, 5818, 5566, 5870, 5621, 5843, 5785, 5711, 5864, 5742, 5942, 5698, 6070, 5629, 6089}},
{Code: "LA", Pts: []int16{376, 10616, 424, 10521, 332, 10485, 384, 10395, 445, 10422, 559, 10415, 676, 10319, 811, 10296, 920, 10206, 928, 10129, 882, 10114, 878, 10057, 901, 10022, 821, 9927, 943, 9909, 1084, 9916, 1090, 9848, 1172, 9832, 1214, 9783, 1262, 9797, 1351, 9871, 1319, 9886, 1315, 9940, 1470, 9904, 1489, 9952, 1382, 10024, 1260, 10087, 1260, 10210, 1143, 10264, 1107, 10204, 1059, 10183, 977, 10314, 817, 10417, 699, 10496, 605, 10584, 510, 10620, 376, 10616}},
{Code: "LB", Pts: []int16{2947, 3224, 2945, 3199, 2922, 3191, 2922, 3159, 3033, 3182, 3127, 3222, 3132, 3222, 3125, 3267, 3073, 3289, 3020, 3240, 2947, 3224}},
{Code: "LC", Pts: []int16{309, -6413, 313, -6417, 317, -6424, 321, -6426, 334, -6426, 338, -6424, 361, -6412, 357, -6406, 342, -6406, 326, -6408, 317, -6410, 309, -6413}},
{Code: "LK", Pts: []int16{-704, 8026, -735, 7940, -628, 7888, -435, 7862, -216, 7898, -290, 7972, -384, 8023, -525, 8078, -666, 8068, -704, 8026}},
{Code: "LR", Pts: []int16{-504, -1105, -542, -1109, -607, -1100, -668, -1121, -706, -1093, -714, -1060, -771, -1017, -823, -1013, -840, -1024, -951, -1031, -954, -1058, -888, -1163, -786, -1256, -712, -1343, -626, -1411, -582, -1386, -542, -1381, -470, -1334, -407, -1287, -403, -1264, -389, -1238, -470, -1195, -525, -1202, -554, -1183, -554, -1154, -500, -1134, -504, -1105}},
{Code: "LS", Pts: []int16{-5658, 2504, -5673, 2468, -5568, 2401, -5484, 2459, -5432, 2515, -5402, 2563, -5444, 2603, -5486, 2633, -5551, 2599, -5595, 2579, -5616, 2524, -5658, 2504}},
{Code: "LT", Pts: []int16{5900, 2000, 5843, 2018, 5801, 1953, 5730, 1944, 5681, 1858, 5681, 1773, 5721, 1748, 5736, 1703, 5768, 1692, 5803, 1696, 5822, 1656, 5845, 1564, 5952, 1534, 5990, 1625, 5982, 1768, 5994, 1849, 5969, 1865, 5961, 1910, 5900, 2000}},
{Code: "LU", Pts: []int16{5106, 304, 5104, 279, 5114, 259, 5188, 266, 5192, 290, 5163, 308, 5106, 304}},
{Code: "LV", Pts: []int16{6133, 2030, 6106, 2075, 6045, 2093, 5969, 2131, 5921, 2048, 5900, 2000, 5961, 1910, 5969, 1865, 5994, 1849, 5982, 1768, 5990, 1625, 5952, 1534, 6047, 1525, 6127, 1555, 6169, 1629, 6074, 1708, 6078, 1775, 6175, 1777, 6196, 1845, 6181, 1883, 6135, 1962, 6133, 2030}},
{Code: "LY", Pts: []int16{2718, 2207, 2653, 2176, 2594, 2194, 2512, 2174, 2403, 2210, 1924, 2234, 1426, 2252, 1157, 2261, 1157, 2146, 1101, 2146, 1359, 1739, 1617, 1334, 1544, 1235, 1493, 1166, 1567, 1109, 1626, 950, 1710, 905, 1773, 824, 1747, 779, 1823, 742, 1880, 738, 1979, 677, 2035, 716, 2119, 706, 2193, 716, 2256, 709, 2365, 724, 2428, 716, 2548, 682, 2577, 729, 2636, 736, 2691, 725, 2743, 790, 2787, 819, 2825, 866, 2928, 868, 2882, 983, 2894, 1024, 2871, 1105, 2810, 1237, 2691, 1287, 2665, 1375, 2609, 1516, 2541, 1624, 2577, 1669, 2638, 1714, 2741, 1685, 2808, 1712, 2871, 1778, 2888, 1845, 2861, 1978, 2802, 2014, 2800, 2050, 2777, 2083, 2762, 2180, 2718, 2207}},
{Code: "MA", Pts: []int16{3203, -454, 3117, -419, 3035, -414, 2892, -380, 2863, -355, 2810, -373, 2787, -500, 2739, -545, 2726, -601, 2625, -607, 2573, -722, 2506, -760, 2470, -841, 2449, -938, 2348, -1098, 2189, -1100, 2189, -1116, 2117, -1114, 2113, -1175, 2081, -1208, 2081, -1253, 2100, -1289, 2086, -1372, 1981, -1406, 1970, -1438, 1800, -1487, 1655, -1629, 1468, -1665, 1407, -1708, 1359, -1721, 1348, -1946, 1348, -1948, 1411, -1942, 1447, -1903, 1519, -1868, 1565, -1874, 1659, -1838, 1745, -1780, 1766, -1746, 1844, -1717, 1918, -1714, 2000, -1676, 2050, -1607, 2186, -1543, 2189, -1541, 2241, -1489, 2256, -1397, 2348, -1318, 2384, -1267, 2497, -1183, 2663, -1204, 2781, -1165, 2852, -1148, 2943, -1084, 3004, -986, 3060, -913, 3199, -846, 3283, -814, 3281, -743, 3224, -688, 3232, -596, 3203, -497, 3203, -454}},
{Code: "MD", Pts: []int16{4583, 2329, 4644, 2306, 4701, 2309, 4757, 2299, 4837, 2237, 4892, 2201, 4930, 2169, 4944, 2140, 4963, 2160, 4976, 2218, 4936, 2290, 4930, 2326, 4894, 2372, 4850, 2371, 4829, 2407, 4774, 2426, 4740, 2462, 4719, 2459, 4707, 2477, 4696, 2453, 4701, 2399, 4719, 2389, 4709, 2371, 4686, 2381, 4642, 2362, 4598, 2351, 4583, 2329}},
{Code: "ME", Pts: []int16{4228, 1631, 4199, 1616, 4186, 1591, 4211, 1584, 4146, 1550, 4102, 1559, 4112, 1539, 4157, 1508, 4184, 1467, 4205, 1476, 4278, 1483, 4310, 1512, 4323, 1528, 4299, 1553, 4281, 1570, 4266, 1600, 4239, 1638, 4228, 1631}},
{Code: "MF", Pts: []int16{893, -6584, 895, -6592, 901, -6588, 903, -6583, 893, -6584}},
{Code: "MG", Pts: []int16{-3369, 4822, -3531, 4829, -3594, 4853, -3659, 4840, -3697, 4819, -3619, 4790, -3659, 4768, -3758, 4783, -3816, 4770, -3846, 4739, -3961, 4727, -4119, 4678, -4304, 4617, -4560, 4540, -4747, 4487, -4904, 4432, -4936, 4349, -4993, 4257, -4959, 4203, -4911, 4127, -4839, 4106, -4719, 4106, -4612, 4079, -4514, 4075, -4417, 4099, -4394, 4145, -4350, 4149, -4247, 4201, -4161, 4216, -4098, 4196, -4012, 4181, -3888, 4180, -3812, 4219, -3726, 4237, -3722, 4288, -3695, 4345, -3669, 4385, -3667, 4428, -3592, 4489, -3508, 4577, -3440, 4610, -3382, 4599, -3398, 4642, -3306, 4702, -3224, 4707, -3163, 4743, -3222, 4775, -3279, 4801, -3369, 4822}},
{Code: "MH", Pts: []int16{-578, 17168, -586, 17186, -586, 17183, -578, 17168}},
{Code: "MK", Pts: []int16{4031, 1899, 4026, 1881, 4003, 1867, 4005, 1816, 3976, 1784, 3965, 1723, 3997, 1681, 4054, 1663, 4100, 1672, 4098, 1685, 4125, 1687, 4146, 1739, 4152, 1760, 4159, 1791, 4163, 1834, 4119, 1885, 4031, 1899}},
{Code: "ML", Pts: []int16{1044, 184, 733, 185, 643, 130, 559, 122, 538, 32, 527, -106, 479, -142, 473, -207, 473, -272, 498, -297, 479, -353, 422, -448, 380, -468, 321, -545, 286, -560, 258, -603, 277, -652, 244, -679, 151, -695, 40, -776, -6, -772, -63, -801, -141, -794, -162, -837, -179, -860, -122, -877, -137, -905, -134, -923, -172, -941, -172, -1021, -151, -1048, -164, -1062, -124, -1093, -84, -1087, -69, -1100, -82, -1121, -38, -1116, -4, -1096, 53, -1138, 90, -1148, 120, -1172, 124, -1192, 105, -1215, 86, -1249, 57, -1276, 67, -1319, 103, -1348, 107, -1364, 88, -1391, 88, -1408, 139, -1413, 181, -1408, 231, -1417, 269, -1453, 347, -1472, 431, -1476, 456, -1442, 536, -1424, 538, -1391, 500, -1321, 527, -1264, 519, -1226, 548, -1210, 550, -805, 645, -781, 662, -799, 1243, -844, 1825, -887, 1827, -734, 1533, -400, 1239, -63, 1176, -40, 1138, 23, 1115, 70, 1029, 72, 1044, 184}},
{Code: "MM", Pts: []int16{1351, 9871, 1262, 9797, 1214, 9783, 1182, 9729, 1124, 9679, 1117, 9608, 972, 9581, 947, 9542, 830, 9605, 731, 9679, 641, 9731, 525, 9706, 500, 9673, 433, 9706, 326, 9783, 250, 9801, 187, 9805, 63, 9853, -63, 9806, -202, 9767, -101, 9751, 2, 9774, 82, 9734, 229, 9731, 300, 9684, 460, 9635, 630, 9599, 744, 9544, 674, 9486, 580, 9382, 590, 9322, 622, 9257, 790, 9274, 916, 9238, 1071, 9142, 1119, 9148, 1138, 9086, 1248, 9004, 1357, 8984, 1336, 9022, 1432, 9011, 1464, 9056, 1521, 9038, 1567, 9056, 1708, 9040, 1676, 9122, 1787, 9151, 1853, 9146, 1966, 9182, 2044, 9166, 2136, 9277, 2113, 9353, 2195, 9328, 2220, 9358, 2270, 9340, 2281, 9396, 2201, 9445, 2170, 9493, 2067, 9517, 1955, 9533, 1842, 9457, 1682, 9470, 1705, 9571, 1582, 9614, 1554, 9680, 1443, 9666, 1393, 9747, 1367, 9794, 1407, 9862, 1351, 9871}},
{Code: "MN", Pts: []int16{5188, 8932, 5213, 9004, 5230, 9106, 5211, 9203, 5150, 9322, 5083, 9410, 5083, 9493, 5062, 9616, 5095, 9680, 5116, 9787, 5209, 9866, 5194, 9927, 5150, 9997, 5163, 10098, 5064, 10109, 4932, 10114, 4879, 10165, 4896, 10206, 4875, 10305, 4923, 10350, 4881, 10444, 4789, 10573, 4743, 10588, 4757, 10508, 4740, 10386, 4703, 10341, 4614, 10318, 4564, 10202, 4493, 10145, 4520, 10039, 4533, 9981, 4446, 9972, 4396, 10024, 4352, 10058, 4306, 10015, 4234, 9979, 4188, 9891, 4184, 9754, 4138, 9625, 4066, 9545, 4106, 9486, 4106, 9374, 4188, 9205, 4207, 9104, 4188, 8989, 4220, 8786, 4215, 8685, 4295, 8600, 4417, 8510, 4432, 8449, 4516, 8305, 4533, 8176, 4556, 8059, 4614, 8005, 4768, 7979, 4875, 7875, 4923, 7727, 4993, 7625, 5085, 7565, 5108, 7650, 5219, 7771, 5280, 7877, 5240, 7972, 5238, 8066, 5177, 8152, 5173, 8242, 5140, 8386, 5232, 8429, 5308, 8357, 5442, 8381, 5389, 8507, 5373, 8593, 5339, 8714, 5242, 8779, 5188, 8932}},
{Code: "MP", Pts: []int16{365, 14445, 363, 14443, 365, 14440, 370, 14438, 374, 14447, 370, 14450, 365, 14445}},
{Code: "MP", Pts: []int16{473, 14472, 473, 14468, 485, 14463, 491, 14465, 491, 14470, 485, 14470, 481, 14474, 473, 14472}},
{Code: "MP", Pts: []int16{506, 14481, 502, 14477, 496, 14479, 496, 14472, 510, 14472, 515, 14474, 519, 14481, 508, 14479, 506, 14481}},
{Code: "MP", Pts: []int16{664, 14447, 664, 14441, 668, 14440, 668, 14447, 664, 14447}},
{Code: "MP", Pts: []int16{895, 14413, 899, 14411, 909, 14411, 912, 14416, 905, 14420, 895, 14413}},
{Code: "MP", Pts: []int16{985, 14391, 987, 14384, 993, 14384, 996, 14387, 991, 14391, 985, 14391}},
{Code: "MQ", Pts: []int16{454, -6408, 449, -6408, 452, -6401, 441, -6404, 437, -6401, 433, -6401, 428, -6397, 410, -6394, 403, -6399, 412, -6401, 410, -6403, 412, -6413, 412, -6421, 418, -6424, 428, -6413, 428, -6421, 437, -6428, 447, -6430, 458, -6433, 466, -6428, 464, -6421, 458, -6412, 454, -6408}},
{Code: "MR", Pts: []int16{1827, -734, 1825, -887, 1243, -844, 662, -799, 645, -781, 550, -805, 548, -1210, 519, -1226, 527, -1264, 500, -1321, 538, -1391, 536, -1424, 456, -1442, 431, -1476, 523, -1541, 624, -1602, 660, -1667, 697, -1715, 697, -1771, 668, -1822, 678, -1870, 636, -1906, 708, -1913, 775, -1885, 901, -1870, 1035, -1877, 1103, -1888, 1170, -1877, 1233, -1903, 1292, -1953, 1336, -1930, 1336, -1539, 1531, -1555, 1600, -1528, 1611, -1435, 1958, -1431, 1949, -1107, 2155, -1103, 1827, -734}},
{Code: "MS", Pts: []int16{727, -6512, 718, -6509, 712, -6509, 708, -6512, 710, -6516, 716, -6518, 727, -6512}},
{Code: "MT", Pts: []int16{3293, 1150, 3287, 1147, 3291, 1138, 3298, 1129, 3308, 1129, 3310, 1127, 3310, 1138, 3304, 1145, 3300, 1148, 3293, 1150}},
{Code: "MT", Pts: []int16{3316, 1121, 3319, 1112, 3323, 1112, 3325, 1120, 3319, 1127, 3316, 1121}},
{Code: "MU", Pts: []int16{-4249, 5539, -4268, 5546, -4281, 5542, -4289, 5535, -4295, 5537, -4302, 5531, -4306, 5522, -4306, 5513, -4304, 5503, -4306, 5501, -4299, 5495, -4295, 5499, -4287, 5501, -4272, 5503, -4264, 5506, -4255, 5515, -4251, 5517, -4241, 5521, -4234, 5528, -4236, 5535, -4249, 5539}},
{Code: "MU", Pts: []int16{-4205, 6111, -4199, 6106, -4194, 6113, -4192, 6118, -4194, 6122, -4199, 6120, -4205, 6111}},
{Code: "MV", Pts: []int16{-972, 7252, -977, 7252, -975, 7249, -970, 7252, -972, 7252}},
{Code: "MW", Pts: []int16{-3369, 3281, -3369, 3289, -3413, 3323, -3510, 3362, -3684, 3364, -3711, 3319, -3806, 3285, -3722, 3222, -3627, 3218, -3564, 3242, -3510, 3238, -3476, 3199, -3489, 3172, -3424, 3114, -3390, 3062, -3264, 3098, -3218, 3130, -3104, 3114, -2995, 3137, -2959, 3155, -2846, 3132, -2785, 3085, -2810, 3184, -2846, 3202, -2863, 3200, -2949, 3233, -3111, 3236, -3186, 3204, -3285, 3233, -3344, 3229, -3384, 3251, -3434, 3249, -3463, 3265, -3430, 3283, -3482, 3317, -3466, 3321, -3394, 3303, -3388, 3283, -3369, 3281}},
{Code: "MX", Pts: []int16{1945, -9913, 1949, -9873, 1829, -9931, 1733, -9963, 1552, -9995, 1487, -10015, 1414, -10008, 1346, -9985, 1243, -9977, 1143, -9923, 1065, -9909, 1000, -9878, 964, -9776, 907, -9742, 945, -9648, 958, -9571, 983, -9491, 1006, -9427, 1061, -9356, 1138, -9324, 1252, -9302, 1292, -9281, 1327, -9209, 1359, -9099, 1353, -9011, 1365, -8950, 1336, -8928, 1271, -8939, 1191, -9002, 1109, -9034, 1086, -9018, 1027, -9040, 922, -9077, 958, -9099, 956, -9119, 954, -9139, 872, -9184, 888, -9200, 882, -9212, 861, -9214, 863, -9308, 863, -9401, 788, -9410, 786, -9455, 741, -9423, 710, -9389, 681, -9380, 672, -9365, 626, -9373, 626, -9502, 517, -9562, 491, -9549, 460, -9563, 420, -9571, 565, -9671, 609, -9718, 645, -9797, 634, -9855, 584, -9941, 571, -9994, 607, -10060, 632, -10134, 693, -10220, 712, -10294, 775, -10400, 840, -10478, 876, -10498, 884, -10553, 926, -10651, 987, -10685, 1065, -10782, 1149, -10822, 1216, -10836, 1229, -10802, 1267, -10807, 1302, -10778, 1348, -10771, 1409, -10798, 1462, -10798, 1531, -10822, 1666, -10890, 1771, -10973, 1855, -11007, 1909, -11081, 1943, -11093, 2025, -11063, 2056, -11106, 2123, -11151, 2216, -11155, 2228, -11205, 2298, -11246, 2365, -11277, 2407, -11272, 2508, -11299, 2611, -11304, 2663, -11290, 2718, -11345, 2712, -11380, 2747, -11423, 2693, -11455, 2630, -11457, 2527, -11475, 2472, -11457, 2380, -11407, 2346, -11399, 2338, -11387, 2291, -11385, 2294, -11367, 2205, -11367, 2172, -11344, 2123, -11335, 2056, -11286, 1930, -11279, 1871, -11261, 1808, -11245, 1737, -11250, 1733, -11203, 1672, -11174, 1611, -11147, 1586, -11153, 1537, -11203, 1537, -11221, 1619, -11234, 1697, -11286, 1762, -11347, 1796, -11392, 1895, -11371, 1968, -11372, 2010, -11410, 2069, -11466, 2052, -11482, 2088, -11500, 2119, -11554, 2199, -11594, 2207, -11585, 2201, -11547, 2252, -11498, 2312, -11480, 2409, -11533, 2445, -11579, 2529, -11594, 2619, -11605, 2726, -11619, 2848, -11623, 2859, -11509, 2873, -11381, 2846, -11398, 2781, -11272, 2686, -11075, 2686, -10881, 2686, -10804, 2743, -10789, 2743, -10620, 2695, -10597, 2651, -10559, 2592, -10516, 2523, -10501, 2447, -10494, 2407, -10453, 2367, -10381, 2472, -10294, 2476, -10213, 2422, -10156, 2329, -10127, 2249, -10111, 2174, -10067, 2079, -10064, 2016, -10048, 1974, -9977, 1945, -9913}},
{Code: "MY", Pts: []int16{-702, 10157, -714, 10183, -796, 10246, -886, 10291, -977, 10301, -1038, 10292, -1084, 10303, -1164, 10312, -1201, 10350, -1321, 10391, -1365, 10391, -1376, 10319, -1275, 10220, -1168, 10098, -1098, 10084, -1008, 10022, -897, 10004, -823, 9965, -725, 9972, -668, 9947, -645, 9963, -704, 10049, -773, 10060, -756, 10127, -702, 10157}},
{Code: "MY", Pts: []int16{-983, 11774, -960, 11684, -960, 11567, -1113, 11536, -1159, 11498, -1346, 11452, -1376, 11369, -1338, 11272, -1351, 11223, -1418, 11164, -1409, 11099, -1437, 11032, -1359, 10962, -1269, 10944, -1315, 11020, -1290, 11097, -1176, 11115, -1151, 11158, -1122, 11281, -1014, 11349, -930, 11396, -1000, 11446, -954, 11466, -958, 11515, -872, 11516, -804, 11518, -712, 11592, -607, 11639, -605, 11680, -674, 11736, -733, 11743, -771, 11812, -811, 11898, -863, 11894, -870, 11826, -937, 11846, -983, 11774}},
{Code: "MZ", Pts: []int16{-5146, 3001, -5146, 2927, -5085, 2921, -5024, 2911, -4976, 2903, -4827, 2929, -4730, 2909, -4541, 2869, -4388, 2981, -4291, 3011, -4278, 3026, -4199, 3042, -4159, 3028, -4058, 3035, -3965, 3058, -3793, 3065, -3751, 3015, -3741, 2966, -3707, 2947, -3680, 2900, -3682, 2815, -3632, 2812, -3535, 2804, -3424, 3114, -3489, 3172, -3476, 3199, -3510, 3238, -3564, 3242, -3627, 3218, -3722, 3222, -3806, 3285, -3711, 3319, -3684, 3364, -3510, 3362, -3413, 3323, -3369, 3289, -3369, 3281, -3216, 3271, -3088, 3298, -3083, 3337, -3121, 3458, -3104, 3485, -3100, 3555, -3060, 3593, -3062, 3654, -3010, 3766, -2932, 3848, -2991, 3865, -3125, 3856, -3245, 3865, -3455, 3861, -3520, 3875, -3617, 3841, -3711, 3798, -3795, 3731, -3846, 3636, -3911, 3519, -4056, 3400, -4081, 3361, -4178, 3285, -4207, 3244, -4304, 3229, -4407, 3272, -4484, 3289, -4526, 3289, -4518, 3307, -4650, 3298, -4713, 3278, -4736, 3299, -4793, 3281, -4841, 3238, -4885, 3154, -4959, 3029, -5009, 2984, -5066, 2990, -5074, 3013, -5146, 3001}},
{Code: "NA", Pts: []int16{-3902, 2092, -3873, 2174, -3879, 2239, -3911, 2279, -3921, 2279, -3953, 2221, -3953, 2191, -4005, 2124, -3949, 2088, -3997, 1931, -4001, 1856, -4482, 1841, -4486, 1742, -4879, 1732, -5377, 1712, -5446, 1622, -5457, 1570, -5432, 1508, -5421, 1463, -5364, 1449, -5326, 1413, -5394, 1363, -5291, 1292, -5194, 1256, -5062, 1238, -4965, 1217, -4757, 1188, -4596, 1190, -4522, 1179, -4465, 1141, -4354, 1091, -4192, 1040, -4108, 1021, -3976, 941, -3873, 936, -3848, 985, -3825, 1046, -3829, 1111, -3890, 1170, -3879, 1184, -3875, 1593, -3938, 1661, -3957, 1904, -3902, 2092}},
{Code: "NC", Pts: []int16{-4587, 16474, -4589, 16470, -4598, 16466, -4593, 16459, -4583, 16463, -4579, 16465, -4581, 16470, -4587, 16474}},
{Code: "NC", Pts: []int16{-4423, 16553, -4425, 16551, -4434, 16555, -4434, 16560, -4430, 16567, -4442, 16565, -4446, 16562, -4455, 16560, -4461, 16551, -4457, 16544, -4455, 16544, -4449, 16538, -4444, 16540, -4440, 16537, -4432, 16538, -4423, 16537, -4423, 16538, -4425, 16546, -4423, 16553}},
{Code: "NC", Pts: []int16{-4333, 16504, -4344, 16501, -4352, 16501, -4358, 16497, -4362, 16502, -4365, 16506, -4369, 16508, -4373, 16506, -4381, 16511, -4381, 16508, -4392, 16504, -4396, 16501, -4394, 16495, -4388, 16492, -4383, 16490, -4381, 16479, -4371, 16474, -4367, 16474, -4360, 16472, -4360, 16477, -4356, 16483, -4350, 16490, -4344, 16492, -4339, 16484, -4341, 16477, -4333, 16481, -4331, 16486, -4333, 16490, -4327, 16497, -4333, 16504}},
{Code: "NC", Pts: []int16{-4299, 16443, -4312, 16438, -4318, 16436, -4318, 16441, -4329, 16432, -4333, 16429, -4329, 16427, -4320, 16432, -4310, 16436, -4299, 16443}},
{Code: "NC", Pts: []int16{-4299, 16443, -4291, 16439, -4291, 16447, -4299, 16448, -4299, 16443}},
{Code: "NC", Pts: []int16{-4249, 16193, -4251, 16196, -4270, 16205, -4276, 16211, -4274, 16216, -4268, 16220, -4278, 16236, -4289, 16241, -4302, 16254, -4310, 16259, -4316, 16261, -4325, 16268, -4329, 16270, -4329, 16274, -4335, 16279, -4339, 16295, -4346, 16297, -4354, 16297, -4362, 16303, -4365, 16310, -4375, 16304, -4379, 16306, -4390, 16313, -4390, 16315, -4400, 16322, -4409, 16321, -4413, 16333, -4423, 16340, -4423, 16346, -4428, 16351, -4436, 16360, -4442, 16358, -4442, 16364, -4453, 16371, -4461, 16382, -4465, 16382, -4467, 16387, -4474, 16393, -4478, 16393, -4491, 16398, -4499, 16405, -4497, 16407, -4509, 16414, -4512, 16423, -4518, 16429, -4526, 16429, -4535, 16430, -4537, 16432, -4549, 16429, -4558, 16416, -4551, 16414, -4554, 16409, -4560, 16403, -4543, 16393, -4543, 16385, -4539, 16384, -4539, 16380, -4545, 16376, -4526, 16360, -4526, 16357, -4516, 16349, -4499, 16351, -4499, 16346, -4499, 16339, -4495, 16333, -4491, 16331, -4488, 16328, -4488, 16322, -4482, 16322, -4472, 16319, -4474, 16312, -4463, 16297, -4459, 16295, -4453, 16295, -4457, 16290, -4451, 16279, -4442, 16277, -4436, 16270, -4425, 16267, -4423, 16258, -4419, 16261, -4413, 16256, -4411, 16250, -4396, 16245, -4388, 16245, -4381, 16241, -4381, 16236, -4369, 16232, -4365, 16234, -4356, 16222, -4352, 16216, -4339, 16209, -4335, 16214, -4331, 16211, -4325, 16207, -4314, 16207, -4308, 16198, -4295, 16198, -4289, 16195, -4289, 16200, -4283, 16202, -4278, 16200, -4278, 16189, -4272, 16186, -4257, 16195, -4251, 16189, -4249, 16193}},
{Code: "NC", Pts: []int16{-4255, 16213, -4253, 16207, -4245, 16209, -4255, 16213}},
{Code: "NC", Pts: []int16{-4205, 16171, -4209, 16168, -4201, 16166, -4196, 16169, -4205, 16171}},
{Code: "NE", Pts: []int16{1544, 1235, 1334, 1264, 1298, 1303, 1256, 1305, 1210, 1348, 1151, 1327, 878, 1294, 702, 1291, 575, 1165, 397, 1123, 347, 1166, 260, 1166, 258, 1233, 193, 1222, 187, 1195, 143, 1192, 141, 1174, 288, 1103, 294, 1078, 218, 1001, 258, 922, 265, 868, 246, 839, 250, 779, 193, 720, 189, 668, 258, 545, 227, 497, 229, 445, 279, 407, 330, 306, 313, 196, 286, 171, 208, 157, 153, 128, 32, 121, 109, 43, 109, 7, 69, -27, 162, -25, 193, -142, 258, -146, 347, -202, 407, -216, 473, -207, 479, -142, 527, -106, 538, 32, 559, 122, 643, 130, 733, 185, 1044, 184, 1103, 324, 1367, 612, 1626, 950, 1567, 1109, 1493, 1166, 1544, 1235}},
{Code: "NG", Pts: []int16{143, 1192, 90, 1233, 65, 1222, 21, 1217, -84, 1132, -170, 1107, -239, 1093, -271, 1071, -365, 1051, -420, 997, -487, 983, -542, 959, -599, 950, -645, 880, -588, 823, -590, 785, -670, 724, -670, 695, -800, 646, -897, 621, -945, 515, -939, 477, -968, 437, -966, 356, -880, 301, -783, 266, -695, 194, -695, 119, -695, 29, -479, 34, -393, 31, -309, 50, -267, 81, -183, 131, -147, 121, -92, 140, -13, 117, 32, 121, 153, 128, 208, 157, 286, 171, 313, 196, 330, 306, 279, 407, 229, 445, 227, 497, 258, 545, 189, 668, 193, 720, 250, 779, 246, 839, 265, 868, 258, 922, 218, 1001, 294, 1078, 288, 1103, 141, 1174, 143, 1192}},
{Code: "NI", Pts: []int16{483, -8647, 468, -8656, 439, -8665, 391, -8658, 344, -8685, 290, -8699, 231, -8708, 195, -8705, 134, -8707, 122, -8723, 63, -8735, 27, -8732, -6, -8753, -42, -8752, -65, -8737, -95, -8762, -84, -8793, -57, -8807, -46, -8840, -63, -8863, -27, -8928, -44, -8944, -2, -8977, 53, -9022, 97, -9041, 141, -9081, 202, -9126, 223, -9113, 202, -9099, 210, -9090, 216, -9058, 248, -9043, 248, -9029, 315, -9025, 317, -9002, 317, -8980, 353, -8955, 326, -8928, 342, -8917, 359, -8896, 395, -8858, 424, -8854, 422, -8845, 454, -8829, 458, -8818, 437, -8802, 433, -8782, 449, -8759, 449, -8734, 466, -8698, 485, -8681, 483, -8647}},
{Code: "NL", Pts: []int16{5280, 297, 5312, 247, 5368, 191, 5341, 110, 5352, 45, 5387, 90, 5576, 162, 5631, 279, 5627, 351, 5583, 367, 5465, 351, 5417, 329, 5417, 277, 5280, 297}},
{Code: "NO", Pts: []int16{7582, 2047, 7538, 1931, 7528, 1874, 7607, 1888, 7652, 1784, 7614, 1678, 7530, 1658, 7479, 1597, 7507, 1512, 7502, 1417, 7561, 1325, 7532, 1285, 7528, 1238, 7452, 1240, 7471, 1096, 7406, 1085, 7406, 1013, 7324, 972, 7196, 911, 7030, 808, 6988, 841, 6942, 817, 6944, 740, 6830, 697, 6669, 715, 6608, 770, 6463, 756, 6379, 695, 6307, 662, 6383, 603, 6240, 448, 6211, 338, 6274, 221, 6406, 189, 6690, 153, 6767, 225, 6870, 428, 6994, 574, 7158, 704, 7383, 864, 7469, 979, 7612, 1165, 7662, 1318, 7656, 1438, 7748, 1532, 7744, 1665, 7765, 1791, 7683, 2038, 7654, 1949, 7582, 2047}},
{Code: "NO", Pts: []int16{8471, 1379, 8431, 1242, 8454, 1120, 8479, 1159, 8511, 1112, 8530, 1244, 8494, 1278, 8471, 1379}},
{Code: "NO", Pts: []int16{8649, 918, 8578, 1145, 8540, 990, 8469, 968, 8450, 914, 8366, 898, 8361, 819, 8422, 666, 8458, 720, 8488, 617, 8569, 479, 8643, 421, 8677, 589, 8645, 630, 8645, 720, 8677, 738, 8681, 832, 8649, 918}},
{Code: "NO", Pts: []int16{8712, 1357, 8681, 1490, 8630, 1411, 8620, 1229, 8637, 1037, 8662, 1019, 8662, 927, 8704, 850, 8729, 1039, 8708, 1136, 8735, 1192, 8712, 1357}},
{Code: "NP", Pts: []int16{2218, 8442, 2161, 8446, 2075, 8473, 2023, 8471, 2021, 8388, 2052, 8264, 2065, 8186, 2132, 8118, 2151, 7979, 2226, 7839, 2291, 7735, 2342, 7630, 2468, 7646, 2531, 7697, 2562, 7731, 2520, 7817, 2432, 7933, 2413, 7992, 2348, 8037, 2323, 8118, 2262, 8208, 2233, 8325, 2218, 8442}},
{Code: "NR", Pts: []int16{-1613, 16794, -1613, 16790, -1607, 16789, -1607, 16794, -1613, 16794}},
{Code: "NZ", Pts: []int16{-7055, 15952, -7110, 15937, -7055, 16038, -7112, 16029, -7168, 15991, -7229, 15916, -7328, 15788, -7383, 15703, -7446, 15692, -7448, 15620, -7498, 15507, -7584, 15422, -7719, 15275, -7778, 15161, -7815, 15089, -7813, 15007, -7769, 14980, -7761, 14888, -7710, 14906, -7614, 15023, -7481, 15228, -7456, 15305, -7406, 15406, -7337, 15532, -7267, 15635, -7168, 15743, -7135, 15799, -7059, 15862, -6998, 15966, -7055, 15952}},
{Code: "NZ", Pts: []int16{-6414, 16474, -6557, 16466, -6465, 16519, -6503, 16542, -6604, 16499, -6648, 16551, -6658, 16609, -6608, 16693, -6622, 16733, -6742, 16639, -6820, 16564, -6818, 16493, -6858, 16443, -6916, 16416, -6940, 16387, -7013, 16304, -7103, 16198, -7158, 16090, -7122, 16099, -7103, 16072, -6994, 16196, -6919, 16213, -6866, 16144, -6818, 16177, -6772, 16272, -6667, 16348, -6580, 16393, -6490, 16403, -6467, 16418, -6410, 16402, -6293, 16389, -6196, 16396, -6186, 16436, -6261, 16452, -6295, 16510, -6414, 16474}},
{Code: "OM", Pts: []int16{706, 5108, 800, 5069, 1023, 4975, 1157, 5269, 1426, 5315, 1523, 5261, 1577, 5261, 1632, 5285, 1687, 5281, 1714, 5324, 1733, 5305, 1821, 5305, 1821, 5355, 1729, 5409, 1680, 5468, 1661, 5542, 1638, 5603, 1561, 5656, 1516, 5686, 1498, 5722, 1468, 5726, 1388, 5695, 1351, 5683, 1306, 5643, 1214, 5612, 1222, 5567, 1189, 5549, 1122, 5537, 1031, 5557, 1014, 5548, 1014, 5503, 964, 5443, 899, 5438, 870, 5416, 872, 5353, 838, 5317, 783, 5321, 746, 5274, 758, 5218, 712, 5153, 706, 5108}},
{Code: "OM", Pts: []int16{1928, 5332, 1974, 5308, 2018, 5333, 2008, 5346, 1951, 5342, 1928, 5332}},
{Code: "PA", Pts: []int16{-372, -8113, -391, -8125, -470, -8105, -510, -8125, -500, -8158, -565, -8174, -527, -8206, -454, -8224, -418, -8199, -410, -8224, -365, -8240, -328, -8291, -336, -8334, -382, -8357, -416, -8401, -420, -8422, -449, -8433, -523, -8388, -540, -8417, -559, -8431, -567, -8480, -485, -8494, -508, -8509, -500, -8541, -447, -8559, -437, -8600, -422, -8627, -422, -8671, -452, -8674, -431, -8685, -403, -8680, -376, -8669, -353, -8672, -336, -8656, -317, -8676, -263, -8674, -250, -8635, -298, -8600, -328, -8604, -334, -8564, -321, -8554, -355, -8527, -344, -8476, -311, -8431, -284, -8368, -244, -8332, -252, -8276, -265, -8280, -269, -8224, -294, -8181, -334, -8149, -372, -8113}},
{Code: "PE", Pts: []int16{-2119, -7371, -2113, -7463, -2134, -7477, -2159, -7560, -2252, -7673, -2315, -7679, -2361, -7704, -2434, -7691, -2472, -7753, -2531, -7749, -2554, -7776, -2676, -7729, -2758, -7670, -2817, -7688, -2823, -7619, -2896, -7578, -2898, -7488, -2821, -7409, -3025, -7407, -3039, -7360, -3016, -7303, -3235, -7204, -3279, -7223, -3375, -7223, -3489, -7218, -3556, -7252, -3606, -7231, -3653, -7250, -3766, -7198, -3911, -7250, -3980, -7270, -4014, -7321, -3936, -7427, -3881, -7441, -3747, -7652, -3598, -7844, -3516, -7929, -3405, -7979, -3365, -7965, -3188, -8062, -2940, -8177, -2672, -8285, -2609, -8329, -2510, -8365, -2422, -8447, -2367, -8521, -2308, -8491, -2178, -8545, -2084, -8514, -2000, -8435, -2056, -8422, -2088, -8451, -2136, -8446, -2126, -8404, -2140, -8363, -2210, -8318, -2153, -8262, -2063, -8246, -1945, -8185, -1892, -8064, -1750, -7954, -1663, -7924, -1561, -7938, -1548, -7911, -1611, -7843, -1676, -7810, -1710, -7763, -1850, -7700, -1869, -7625, -1834, -7569, -1857, -7531, -1844, -7470, -1907, -7391, -2046, -7454, -2048, -7423, -2119, -7371}},
{Code: "PF", Pts: []int16{-5268, -14485, -5266, -14486, -5259, -14490, -5255, -14488, -5259, -14483, -5268, -14485}},
{Code: "PF", Pts: []int16{-4467, -14299, -4470, -14301, -4465, -14306, -4461, -14303, -4467, -14299}},
{Code: "PF", Pts: []int16{-3949, -14411, -3947, -14414, -3934, -14411, -3926, -14402, -3926, -14396, -3930, -14396, -3938, -14400, -3949, -14411}},
{Code: "PF", Pts: []int16{-3928, -15269, -3932, -15257, -3940, -15251, -3947, -15251, -3949, -15255, -3947, -15264, -3934, -15271, -3930, -15273, -3934, -15284, -3934, -15287, -3932, -15298, -3923, -15302, -3913, -15307, -3907, -15307, -3902, -15305, -3900, -15296, -3900, -15287, -3905, -15278, -3913, -15275, -3926, -15273, -3928, -15269}},
{Code: "PF", Pts: []int16{-3896, -15323, -3909, -15327, -3905, -15336, -3898, -15334, -3894, -15325, -3896, -15323}},
{Code: "PF", Pts: []int16{-3806, -15460, -3808, -15464, -3802, -15467, -3800, -15462, -3806, -15460}},
{Code: "PF", Pts: []int16{-3814, -15498, -3818, -15503, -3818, -15509, -3802, -15512, -3797, -15509, -3814, -15496, -3814, -15498}},
{Code: "PF", Pts: []int16{-3776, -15516, -3779, -15512, -3789, -15512, -3785, -15520, -3779, -15521, -3776, -15516}},
{Code: "PF", Pts: []int16{-3716, -15007, -3718, -15012, -3711, -15010, -3716, -15007}},
{Code: "PF", Pts: []int16{-2961, -14323, -2961, -14328, -2953, -14328, -2947, -14332, -2949, -14324, -2957, -14323, -2961, -14323}},
{Code: "PF", Pts: []int16{-2888, -14378, -2888, -14382, -2880, -14382, -2873, -14378, -2877, -14373, -2882, -14377, -2888, -14378}},
{Code: "PF", Pts: []int16{-2854, -14357, -2861, -14357, -2863, -14364, -2863, -14375, -2869, -14375, -2867, -14382, -2863, -14386, -2856, -14387, -2848, -14375, -2848, -14369, -2852, -14366, -2854, -14357}},
{Code: "PF", Pts: []int16{-2800, -14481, -2808, -14481, -2812, -14481, -2812, -14486, -2804, -14492, -2798, -14486, -2800, -14481}},
{Code: "PF", Pts: []int16{-2737, -14438, -2739, -14432, -2741, -14431, -2745, -14441, -2739, -14443, -2737, -14438}},
{Code: "PF", Pts: []int16{-2724, -14504, -2726, -14488, -2733, -14483, -2737, -14483, -2743, -14490, -2743, -14504, -2733, -14506, -2724, -14508, -2724, -14504}},
{Code: "PG", Pts: []int16{-2460, 15626, -2474, 15597, -2422, 15556, -2336, 15516, -2233, 15502, -2220, 15516, -2260, 15525, -2291, 15554, -2375, 15597, -2422, 15642, -2460, 15626}},
{Code: "PG", Pts: []int16{-2279, 15241, -2289, 15187, -2327, 15169, -2361, 15111, -2392, 15057, -2392, 15001, -2352, 14920, -2315, 14864, -2273, 14875, -2294, 14965, -2283, 15023, -2218, 15041, -2214, 15057, -2285, 15062, -2277, 15120, -2231, 15152, -2182, 15212, -2102, 15205, -2100, 15266, -2121, 15286, -2197, 15278, -2279, 15241}},
{Code: "PG", Pts: []int16{-2770, 14092, -2329, 14121, -1890, 14139, -1983, 14312, -2060, 14497, -2130, 14564, -2197, 14618, -2277, 14629, -2361, 14794, -2432, 14814, -2447, 14720, -2537, 14737, -2625, 14821, -2768, 14875, -2764, 14935, -2823, 14924, -2846, 15001, -2871, 14969, -2928, 15071, -2968, 15055, -2976, 14987, -2943, 14965, -2926, 14881, -2907, 14780, -2821, 14708, -2745, 14657, -2628, 14612, -2569, 14485, -2607, 14396, -2653, 14330, -2751, 14335, -2798, 14252, -2775, 14197, -2770, 14092}},
{Code: "PG", Pts: []int16{-2147, 15365, -2182, 15332, -2102, 15316, -2052, 15296, -2008, 15251, -1949, 15196, -1909, 15124, -1878, 15152, -1916, 15206, -1945, 15241, -1976, 15282, -2033, 15320, -2077, 15358, -2147, 15365}},
{Code: "PH", Pts: []int16{-405, 12609, -496, 12625, -571, 12636, -693, 12607, -557, 12562, -626, 12519, -725, 12557, -788, 12532, -710, 12407, -611, 12373, -548, 12400, -483, 12332, -540, 12303, -533, 12256, -609, 12184, -569, 12166, -456, 12199, -418, 12260, -368, 12312, -428, 12352, -393, 12427, -332, 12440, -328, 12512, -225, 12497, -288, 12586, -355, 12598, -405, 12609}},
{Code: "PH", Pts: []int16{-153, 12346, -197, 12314, -284, 12289, -323, 12260, -231, 12190, -193, 12208, -155, 12231, -74, 12235, -65, 12290, -155, 12281, -25, 12346, -153, 12346}},
{Code: "PH", Pts: []int16{-284, 11801, -412, 11673, -317, 11716, -233, 11785, -141, 11839, -6, 11880, -118, 11909, -191, 11846, -284, 11801}},
{Code: "PH", Pts: []int16{63, 12116, 21, 12181, 21, 12244, -34, 12247, -92, 12206, -132, 12145, -69, 12136, 0, 12137, 63, 12116}},
{Code: "PH", Pts: []int16{101, 12478, -50, 12521, -15, 12440, -61, 12445, -143, 12478, -174, 12431, -78, 12420, -71, 12388, 11, 12366, 0, 12425, 50, 12420, 153, 12348, 151, 12445, 101, 12478}},
{Code: "PH", Pts: []int16{223, 12064, 105, 12047, 172, 11999, 275, 11936, 271, 12022, 223, 12064}},
{Code: "PH", Pts: []int16{956, 11947, 916, 12015, 951, 12040, 918, 12055, 861, 12047, 765, 12094, 653, 12083, 609, 12031, 500, 12029, 393, 12065, 378, 12119, 393, 12163, 319, 12298, 246, 12296, 212, 12334, 151, 12328, 216, 12244, 288, 12199, 237, 12177, 319, 12105, 298, 12015, 328, 11961, 384, 11959, 418, 11988, 449, 11954, 401, 11947, 479, 11887, 538, 11864, 666, 11844, 622, 11891, 834, 11871, 956, 11885, 956, 11947}},
{Code: "PK", Pts: []int16{3247, 7229, 3134, 7160, 3113, 7058, 3146, 6905, 3088, 6869, 2970, 6928, 2877, 6980, 2812, 7072, 2735, 7004, 2638, 7022, 2502, 6952, 2365, 6912, 2224, 6831, 2235, 6714, 2092, 6626, 2033, 6698, 1928, 6723, 1861, 6786, 1745, 6818, 1745, 6601, 1655, 6543, 1689, 6467, 1785, 6428, 1888, 6340, 1863, 6160, 1861, 5998, 1842, 5861, 1997, 5881, 2069, 6016, 2130, 5999, 2153, 5951, 2270, 5933, 2329, 5830, 2411, 5780, 2483, 5722, 2413, 5895, 2434, 5990, 2418, 6052, 2447, 6068, 2434, 6138, 2491, 6257, 2604, 6242, 2682, 6284, 2682, 6358, 2718, 6361, 2737, 6433, 2724, 6471, 2762, 6503, 2844, 6484, 2924, 6509, 2959, 6565, 3048, 6509, 3043, 6602, 3092, 6619, 3144, 6604, 3201, 6640, 3268, 6615, 3325, 6581, 3384, 6624, 3411, 6719, 3428, 6826, 3451, 6869, 3468, 6921, 3405, 7006, 3300, 7058, 3247, 7229}},
{Code: "PL", Pts: []int16{5749, 1438, 5734, 1544, 5736, 1703, 5721, 1748, 5681, 1773, 5625, 1784, 5576, 1814, 5526, 1822, 5499, 1771, 5440, 1805, 5381, 1814, 5268, 1872, 5232, 1867, 5217, 1825, 5108, 1757, 5049, 1786, 5058, 1766, 5108, 1676, 5089, 1613, 5102, 1570, 5074, 1519, 5121, 1471, 5102, 1436, 5110, 1431, 5175, 1384, 5182, 1318, 5224, 1305, 5238, 1244, 5205, 1233, 5232, 1183, 5268, 1186, 5278, 1120, 5320, 1075, 5402, 1031, 5448, 1035, 5518, 1008, 5562, 974, 5597, 995, 5663, 970, 5700, 1026, 5759, 1154, 5801, 1258, 5780, 1345, 5749, 1355, 5749, 1438}},
{Code: "PR", Pts: []int16{895, -7072, 899, -7078, 903, -7076, 903, -7070, 901, -7069, 895, -7072}},
{Code: "PR", Pts: []int16{905, -6809, 905, -6813, 899, -6829, 899, -6840, 903, -6836, 907, -6829, 909, -6822, 907, -6811, 905, -6809}},
{Code: "PR", Pts: []int16{956, -6980, 954, -6970, 954, -6959, 951, -6953, 954, -6943, 951, -6937, 954, -6930, 951, -6926, 954, -6917, 951, -6910, 951, -6905, 947, -6890, 951, -6890, 947, -6880, 949, -6878, 947, -6863, 943, -6860, 943, -6856, 937, -6845, 939, -6842, 924, -6844, 918, -6840, 912, -6856, 903, -6862, 891, -6867, 886, -6872, 884, -6878, 884, -6885, 882, -6896, 878, -6901, 880, -6914, 884, -6917, 880, -6926, 886, -6932, 882, -6944, 884, -6961, 882, -6966, 880, -6977, 878, -6980, 882, -6984, 884, -6991, 880, -6997, 882, -7007, 897, -7002, 905, -7002, 914, -6998, 926, -7002, 928, -7006, 937, -7007, 941, -7000, 943, -6997, 954, -6997, 958, -6989, 956, -6980}},
{Code: "PS", Pts: []int16{2829, 3209, 2745, 3217, 2705, 3206, 2688, 3161, 2724, 3163, 2743, 3186, 2758, 3159, 2846, 3172, 2829, 3209}},
{Code: "PT", Pts: []int16{3461, -956, 3428, -995, 3447, -1046, 3432, -1094, 3537, -1078, 3619, -1084, 3632, -1127, 3682, -1147, 3770, -1138, 3818, -1098, 3873, -1089, 3953, -1067, 4010, -1067, 4058, -1084, 4104, -1087, 4138, -1053, 4157, -1013, 4091, -992, 4091, -938, 4108, -922, 4104, -866, 4037, -842, 4001, -886, 3896, -891, 3877, -905, 3812, -911, 3802, -952, 3722, -916, 3634, -945, 3594, -913, 3558, -927, 3508, -963, 3461, -956}},
{Code: "PW", Pts: []int16{-517, 13459, -525, 13455, -527, 13457, -540, 13453, -544, 13455, -548, 13446, -533, 13442, -529, 13448, -525, 13444, -512, 13450, -510, 13455, -517, 13459}},
{Code: "PY", Pts: []int16{-4262, -6075, -4335, -6039, -4518, -6032, -4545, -5926, -4518, -5886, -4556, -5816, -4596, -5794, -4719, -5774, -4770, -5760, -4776, -5722, -4755, -5686, -4778, -5648, -4854, -5643, -4934, -5648, -5011, -5661, -5129, -5666, -5234, -5744, -5255, -5819, -5234, -5933, -5198, -6037, -4993, -5962, -4934, -5981, -4881, -6088, -4780, -6219, -4759, -6302, -4541, -6505, -4379, -6478, -4306, -6482, -4188, -6444, -4148, -6271, -4150, -6178, -4220, -6080, -4262, -6075}},
{Code: "QA", Pts: []int16{1781, 4862, 1771, 4835, 1798, 4802, 1897, 4788, 1966, 4808, 1981, 4835, 1939, 4867, 1861, 4876, 1781, 4862}},
{Code: "RE", Pts: []int16{-4354, 5310, -4354, 5317, -4358, 5324, -4365, 5330, -4371, 5330, -4381, 5332, -4386, 5337, -4390, 5341, -4394, 5342, -4407, 5339, -4415, 5337, -4419, 5333, -4421, 5326, -4421, 5310, -4417, 5306, -4409, 5292, -4398, 5287, -4392, 5287, -4379, 5281, -4371, 5283, -4367, 5287, -4358, 5290, -4358, 5292, -4354, 5301, -4354, 5310}},
{Code: "RO", Pts: []int16{4944, 2140, 4930, 2169, 4892, 2201, 4837, 2237, 4757, 2299, 4701, 2309, 4644, 2306, 4583, 2329, 4558, 2372, 4581, 2414, 4558, 2457, 4522, 2464, 4495, 2423, 4507, 2394, 4346, 2387, 4360, 2331, 4409, 2259, 4377, 2153, 4344, 2111, 4352, 1975, 4371, 1903, 4362, 1868, 4417, 1836, 4440, 1818, 4463, 1836, 4478, 1813, 4449, 1786, 4488, 1730, 4543, 1717, 4572, 1660, 4617, 1645, 4667, 1591, 4692, 1661, 4782, 1708, 4871, 1742, 4898, 1795, 4927, 1831, 4913, 1888, 4913, 1946, 4879, 1991, 4900, 2020, 4913, 2084, 4944, 2102, 4944, 2140}},
{Code: "RS", Pts: []int16{4417, 1836, 4388, 1816, 4337, 1829, 4281, 1879, 4239, 1847, 4196, 1836, 4180, 1847, 4163, 1834, 4159, 1791, 4152, 1760, 4163, 1755, 4178, 1766, 4211, 1773, 4209, 1760, 4234, 1741, 4241, 1724, 4262, 1710, 4270, 1692, 4289, 1678, 4281, 1661, 4236, 1652, 4228, 1631, 4239, 1638, 4266, 1600, 4281, 1570, 4299, 1553, 4323, 1528, 4329, 1548, 4390, 1557, 4442, 1508, 4501, 1528, 4499, 1494, 4549, 1525, 4587, 1494, 4640, 1467, 4673, 1534, 4667, 1591, 4617, 1645, 4572, 1660, 4543, 1717, 4488, 1730, 4449, 1786, 4478, 1813, 4463, 1836, 4440, 1818, 4417, 1836}},
{Code: "RW", Pts: []int16{-1693, 2858, -1768, 2898, -1848, 2893, -1865, 2864, -1857, 2808, -1934, 2777, -1924, 2714, -1848, 2725, -1838, 2740, -1758, 2743, -1720, 2772, -1735, 2797, -1693, 2858}},
{Code: "SA", Pts: []int16{2384, 4329, 2371, 4419, 2306, 4450, 2310, 4520, 2193, 4568, 2163, 4621, 2115, 4642, 2058, 4714, 2004, 4727, 1958, 4720, 1913, 4736, 1876, 4768, 1832, 4784, 1798, 4802, 1771, 4835, 1781, 4862, 1729, 4885, 1699, 4891, 1561, 4939, 1493, 5243, 1523, 5261, 1426, 5315, 1157, 5269, 1023, 4975, 970, 4689, 909, 4599, 769, 4536, 746, 4489, 790, 4462, 783, 4424, 798, 4325, 811, 4306, 809, 4190, 796, 4163, 830, 4120, 765, 4097, 708, 4111, 664, 4068, 723, 4052, 762, 4019, 817, 4010, 865, 3955, 979, 3895, 1088, 3861, 1180, 3787, 1204, 3742, 1332, 3668, 1424, 3652, 1504, 3652, 1655, 3587, 1708, 3537, 1735, 3483, 1813, 3445, 1842, 3449, 1913, 3416, 1943, 3386, 2044, 3341, 2151, 3272, 2243, 3217, 2243, 3168, 2317, 3177, 2365, 3179, 2420, 3186, 2396, 3298, 2439, 3335, 2487, 3355, 2506, 3429, 2552, 3442, 2573, 3470, 2709, 3362, 2777, 3550, 2798, 3566, 2760, 3688, 2665, 3843, 2394, 4145, 2384, 4329}},
{Code: "SB", Pts: []int16{-3102, 16682, -3106, 16688, -3115, 16686, -3115, 16691, -3119, 16691, -3119, 16677, -3109, 16672, -3102, 16675, -3102, 16682}},
{Code: "SB", Pts: []int16{-3090, 15993, -3090, 15997, -3106, 16015, -3113, 16024, -3127, 16040, -3134, 16038, -3134, 16034, -3138, 16031, -3132, 16027, -3132, 16025, -3127, 16022, -3119, 16020, -3117, 16013, -3111, 16013, -3109, 16007, -3111, 16006, -3111, 16002, -3102, 15986, -3094, 15982, -3085, 15988, -3090, 15993}},
{Code: "SB", Pts: []int16{-3058, 16657, -3064, 16654, -3060, 16648, -3056, 16648, -3052, 16654, -3058, 16657}},
{Code: "SB", Pts: []int16{-2976, 16616, -2978, 16618, -2978, 16623, -2987, 16621, -2991, 16612, -2991, 16607, -2993, 16600, -3006, 16592, -2999, 16591, -3001, 16585, -2997, 16582, -2991, 16582, -2989, 16591, -2985, 16591, -2976, 16596, -2978, 16609, -2976, 16616}},
{Code: "SB", Pts: []int16{-2917, 16142, -2915, 16148, -2922, 16159, -2932, 16168, -2938, 16173, -2938, 16177, -2943, 16180, -2943, 16184, -2949, 16189, -2947, 16195, -2949, 16202, -2953, 16205, -2953, 16213, -2951, 16218, -2957, 16222, -2974, 16225, -2980, 16231, -2991, 16231, -2995, 16227, -3001, 16229, -2997, 16222, -3001, 16216, -2999, 16211, -2993, 16202, -2993, 16198, -2989, 16187, -2987, 16180, -2980, 16177, -2976, 16171, -2974, 16166, -2968, 16162, -2964, 16155, -2955, 16159, -2947, 16157, -2938, 16157, -2936, 16153, -2932, 16142, -2934, 16137, -2930, 16135, -2924, 16137, -2917, 16139, -2917, 16142}},
{Code: "SB", Pts: []int16{-2846, 16214, -2850, 16213, -2865, 16213, -2861, 16209, -2850, 16209, -2846, 16214}},
{Code: "SB", Pts: []int16{-2808, 16162, -2827, 16168, -2835, 16171, -2844, 16171, -2854, 16173, -2861, 16169, -2846, 16162, -2852, 16160, -2842, 16155, -2821, 16157, -2817, 16159, -2810, 16159, -2808, 16162}},
{Code: "SB", Pts: []int16{-2812, 16011, -2812, 16016, -2810, 16022, -2812, 16029, -2810, 16031, -2810, 16040, -2810, 16054, -2817, 16058, -2819, 16063, -2825, 16067, -2825, 16070, -2827, 16074, -2835, 16081, -2848, 16081, -2848, 16085, -2852, 16092, -2859, 16094, -2871, 16094, -2873, 16092, -2877, 16079, -2880, 16076, -2877, 16069, -2873, 16061, -2873, 16054, -2869, 16052, -2863, 16043, -2863, 16033, -2865, 16024, -2865, 16015, -2863, 16006, -2859, 16000, -2861, 15995, -2852, 15989, -2848, 15984, -2831, 15979, -2823, 15975, -2819, 15979, -2814, 15977, -2800, 15977, -2793, 15979, -2787, 15989, -2791, 15997, -2802, 16004, -2808, 16006, -2812, 16011}},
{Code: "SB", Pts: []int16{-2762, 16052, -2772, 16061, -2779, 16056, -2775, 16051, -2772, 16051, -2762, 16052}},
{Code: "SB", Pts: []int16{-2762, 16052, -2770, 16049, -2770, 16047, -2764, 16040, -2766, 16034, -2764, 16031, -2760, 16029, -2758, 16034, -2754, 16038, -2756, 16047, -2762, 16052}},
{Code: "SB", Pts: []int16{-2751, 15934, -2756, 15935, -2758, 15939, -2766, 15935, -2770, 15928, -2762, 15923, -2751, 15934}},
{Code: "SB", Pts: []int16{-2714, 15781, -2720, 15784, -2726, 15782, -2718, 15768, -2712, 15777, -2714, 15781}},
{Code: "SB", Pts: []int16{-2730, 15842, -2726, 15836, -2720, 15838, -2714, 15844, -2724, 15844, -2728, 15845, -2730, 15842}},
{Code: "SB", Pts: []int16{-2693, 15826, -2691, 15829, -2691, 15836, -2695, 15836, -2701, 15829, -2705, 15833, -2712, 15833, -2720, 15826, -2722, 15822, -2720, 15817, -2712, 15809, -2699, 15811, -2697, 15817, -2688, 15820, -2686, 15826, -2693, 15826}},
{Code: "SB", Pts: []int16{-2695, 15761, -2697, 15757, -2707, 15754, -2718, 15761, -2714, 15752, -2709, 15752, -2703, 15750, -2695, 15743, -2691, 15743, -2686, 15750, -2680, 15752, -2674, 15759, -2678, 15764, -2686, 15764, -2695, 15761}},
{Code: "SB", Pts: []int16{-2684, 15993, -2688, 15997, -2693, 15995, -2691, 15991, -2680, 15980, -2672, 15984, -2670, 15989, -2674, 15993, -2680, 15991, -2684, 15993}},
{Code: "SB", Pts: []int16{-2667, 16110, -2684, 16117, -2701, 16128, -2707, 16128, -2712, 16121, -2722, 16121, -2728, 16121, -2733, 16123, -2733, 16126, -2739, 16130, -2747, 16139, -2758, 16141, -2764, 16142, -2768, 16146, -2772, 16142, -2779, 16148, -2781, 16146, -2791, 16148, -2796, 16144, -2802, 16150, -2812, 16151, -2823, 16155, -2835, 16155, -2838, 16153, -2831, 16148, -2821, 16142, -2814, 16142, -2806, 16137, -2800, 16130, -2793, 16124, -2781, 16115, -2775, 16108, -2756, 16103, -2735, 16099, -2720, 16096, -2709, 16096, -2701, 16094, -2693, 16101, -2686, 16099, -2672, 16090, -2665, 16088, -2663, 16090, -2665, 16097, -2667, 16101, -2661, 16106, -2667, 16110}},
{Code: "SB", Pts: []int16{-2661, 15737, -2653, 15734, -2646, 15728, -2646, 15736, -2661, 15737}},
{Code: "SB", Pts: []int16{-2640, 15736, -2642, 15743, -2644, 15745, -2655, 15746, -2655, 15743, -2646, 15739, -2640, 15736}},
{Code: "SB", Pts: []int16{-2644, 15791, -2651, 15790, -2651, 15793, -2651, 15802, -2665, 15809, -2670, 15809, -2676, 15813, -2686, 15815, -2691, 15811, -2697, 15811, -2693, 15800, -2688, 15797, -2688, 15791, -2682, 15784, -2678, 15782, -2672, 15781, -2674, 15788, -2657, 15782, -2653, 15781, -2655, 15772, -2657, 15768, -2657, 15761, -2665, 15755, -2661, 15748, -2649, 15748, -2644, 15752, -2644, 15759, -2636, 15759, -2623, 15766, -2617, 15773, -2613, 15779, -2619, 15786, -2628, 15790, -2642, 15788, -2644, 15791}},
{Code: "SB", Pts: []int16{-2644, 15685, -2644, 15683, -2628, 15680, -2621, 15682, -2613, 15682, -2615, 15685, -2623, 15687, -2638, 15687, -2644, 15685}},
{Code: "SB", Pts: []int16{-2634, 15746, -2638, 15741, -2636, 15739, -2636, 15732, -2630, 15727, -2623, 15725, -2617, 15723, -2611, 15725, -2602, 15730, -2598, 15739, -2602, 15743, -2613, 15748, -2625, 15748, -2634, 15746}},
{Code: "SB", Pts: []int16{-2560, 15692, -2571, 15700, -2573, 15700, -2581, 15712, -2588, 15710, -2602, 15700, -2609, 15700, -2611, 15694, -2602, 15694, -2602, 15691, -2594, 15691, -2586, 15687, -2581, 15682, -2575, 15680, -2569, 15682, -2565, 15685, -2560, 15689, -2560, 15692}},
{Code: "SB", Pts: []int16{-2562, 15878, -2567, 15883, -2569, 15880, -2571, 15871, -2565, 15869, -2560, 15872, -2562, 15878}},
{Code: "SB", Pts: []int16{-2562, 15894, -2560, 15898, -2567, 15907, -2569, 15912, -2573, 15916, -2583, 15921, -2586, 15926, -2592, 15932, -2598, 15932, -2600, 15941, -2607, 15941, -2609, 15946, -2607, 15952, -2609, 15953, -2613, 15961, -2617, 15962, -2615, 15968, -2617, 15973, -2623, 15975, -2630, 15982, -2636, 15988, -2642, 15995, -2663, 16013, -2672, 16007, -2682, 16013, -2695, 16015, -2693, 16009, -2684, 16004, -2667, 15991, -2665, 15984, -2657, 15975, -2655, 15964, -2649, 15962, -2644, 15952, -2634, 15943, -2634, 15939, -2621, 15925, -2615, 15916, -2611, 15916, -2607, 15908, -2602, 15905, -2594, 15901, -2588, 15894, -2583, 15892, -2575, 15892, -2565, 15885, -2562, 15881, -2556, 15881, -2562, 15894}},
{Code: "SB", Pts: []int16{-2550, 15867, -2554, 15871, -2552, 15874, -2556, 15880, -2560, 15878, -2558, 15872, -2550, 15867}},
{Code: "SB", Pts: []int16{-2537, 15786, -2537, 15795, -2541, 15791, -2539, 15786, -2537, 15786}},
{Code: "SB", Pts: []int16{-2537, 15863, -2548, 15860, -2544, 15858, -2537, 15863}},
{Code: "SB", Pts: []int16{-2546, 15815, -2548, 15806, -2544, 15802, -2535, 15808, -2537, 15813, -2546, 15815}},
{Code: "SB", Pts: []int16{-2527, 15590, -2533, 15593, -2537, 15590, -2535, 15584, -2533, 15583, -2527, 15590}},
{Code: "SB", Pts: []int16{-2487, 15617, -2491, 15622, -2497, 15620, -2502, 15608, -2495, 15602, -2483, 15608, -2481, 15611, -2487, 15617}},
{Code: "SB", Pts: []int16{-2468, 15647, -2478, 15647, -2474, 15644, -2470, 15644, -2468, 15647}},
{Code: "SB", Pts: []int16{-2436, 15700, -2439, 15705, -2449, 15712, -2453, 15718, -2455, 15723, -2462, 15728, -2470, 15743, -2481, 15750, -2489, 15750, -2502, 15752, -2506, 15755, -2512, 15761, -2512, 15764, -2520, 15766, -2527, 15779, -2525, 15786, -2527, 15788, -2533, 15788, -2535, 15782, -2541, 15779, -2537, 15770, -2529, 15755, -2529, 15746, -2520, 15741, -2512, 15728, -2491, 15718, -2470, 15707, -2464, 15698, -2449, 15685, -2439, 15685, -2434, 15685, -2430, 15691, -2432, 15696, -2436, 15700}},
{Code: "SC", Pts: []int16{-2806, 4482, -2810, 4477, -2810, 4468, -2814, 4460, -2814, 4453, -2810, 4453, -2810, 4462, -2808, 4469, -2802, 4477, -2802, 4480, -2806, 4482}},
{Code: "SC", Pts: []int16{-2800, 4473, -2802, 4469, -2802, 4462, -2798, 4462, -2800, 4473}},
{Code: "SC", Pts: []int16{-2163, 5407, -2172, 5414, -2178, 5411, -2172, 5407, -2168, 5402, -2157, 5405, -2163, 5407}},
{Code: "SD", Pts: []int16{405, 3438, 290, 3425, 155, 3389, 90, 3330, -15, 3289, -69, 3280, -107, 3233, -248, 3206, -265, 3206, -260, 3191, -193, 3193, -147, 3179, -95, 3127, 2, 3110, 103, 3121, 111, 3074, 82, 3067, 74, 3006, 36, 3033, -46, 3042, -120, 2988, -216, 2939, -231, 2887, -153, 2801, -181, 2763, -218, 2754, -246, 2702, -273, 2698, -273, 2597, -246, 2583, -239, 2509, -263, 2473, -252, 2444, -172, 2392, -137, 2374, -155, 2300, -216, 2273, -338, 2250, -363, 2214, -378, 2183, -372, 2174, -332, 2140, -290, 2133, -235, 2147, -179, 2147, -95, 2088, -38, 2075, -4, 2075, 36, 2038, 113, 2036, 166, 2012, 158, 1978, 208, 1987, 263, 2012, 319, 2000, 361, 2032, 393, 2011, 475, 2034, 575, 2079, 565, 2165, 1101, 2146, 1157, 2146, 1157, 2261, 1426, 2252, 1426, 2653, 1426, 3040, 1426, 3438, 1294, 3476, 1271, 3454, 1130, 3476, 970, 3521, 937, 3560, 886, 3618, 811, 3569, 788, 3497, 746, 3467, 657, 3461, 458, 3425, 405, 3438}},
{Code: "SE", Pts: []int16{7173, 1588, 7139, 1462, 7057, 1399, 6984, 1422, 6889, 1310, 6784, 1170, 6614, 1132, 6528, 1199, 6459, 1285, 6320, 1226, 6291, 1143, 6081, 1132, 5961, 1094, 5973, 992, 5873, 952, 5866, 853, 5986, 819, 6131, 738, 6307, 662, 6379, 695, 6463, 756, 6608, 770, 6669, 715, 6830, 697, 6944, 740, 6942, 817, 6988, 841, 7030, 808, 7196, 911, 7324, 972, 7406, 1013, 7406, 1085, 7471, 1096, 7452, 1240, 7528, 1238, 7532, 1285, 7475, 1393, 7397, 1523, 7219, 1555, 7173, 1588}},
{Code: "SI", Pts: []int16{4717, 1256, 4682, 1186, 4629, 1181, 4614, 1150, 4579, 1152, 4581, 1116, 4602, 1084, 4581, 1069, 4585, 1004, 4596, 1024, 4652, 999, 4717, 1006, 4707, 1082, 4738, 1125, 4740, 1204, 4764, 1220, 4761, 1235, 4717, 1256}},
{Code: "SK", Pts: []int16{5058, 1766, 5022, 1744, 4969, 1732, 4957, 1714, 4997, 1615, 4988, 1586, 4957, 1568, 4940, 1526, 4948, 1516, 4930, 1474, 4925, 1440, 4898, 1435, 4883, 1361, 4896, 1327, 4932, 1278, 4976, 1265, 4993, 1271, 5022, 1282, 5020, 1321, 5032, 1350, 5045, 1352, 5051, 1368, 5081, 1372, 5087, 1391, 5110, 1404, 5110, 1431, 5102, 1436, 5121, 1471, 5074, 1519, 5102, 1570, 5089, 1613, 5108, 1676, 5058, 1766}},
{Code: "SL", Pts: []int16{-407, -1287, -470, -1334, -542, -1381, -582, -1386, -626, -1411, -615, -1438, -561, -1510, -489, -1564, -439, -1580, -340, -1593, -279, -1537, -244, -1526, -214, -1508, -210, -1480, -185, -1456, -185, -1375, -233, -1346, -290, -1325, -330, -1328, -365, -1312, -414, -1314, -407, -1287}},
{Code: "SN", Pts: []int16{431, -1476, 347, -1472, 269, -1453, 231, -1417, 181, -1408, 139, -1413, 130, -1427, 141, -1483, 126, -1490, 124, -1512, 155, -1586, 158, -1634, 164, -1822, 147, -1849, 151, -1883, 130, -1937, 233, -1951, 231, -1859, 250, -1834, 250, -1816, 281, -1778, 254, -1735, 250, -1692, 281, -1647, 319, -1667, 298, -1701, 298, -1732, 332, -1771, 330, -1804, 296, -1827, 294, -1937, 399, -1978, 445, -2027, 473, -1982, 567, -1931, 636, -1906, 678, -1870, 668, -1822, 697, -1771, 697, -1715, 660, -1667, 624, -1602, 523, -1541, 431, -1476}},
{Code: "SO", Pts: []int16{-1766, 3998, -1655, 3938, -1164, 3935, -1012, 4023, -968, 4050, -966, 4115, -872, 4205, -865, 4336, -460, 4617, -462, 4531, -302, 4194, -254, 4154, -189, 4115, -113, 4075, -67, 4097, 6, 4131, -19, 4165, -76, 4187, -132, 4235, -132, 4286, -97, 4379, -82, 4489, -40, 4577, -32, 4628, -6, 4664, -2, 4721, 2, 4754, 21, 4799, 36, 4853, 82, 4898, 82, 4937, 44, 4941, -34, 4934, -105, 4937, -153, 4918, -300, 4892, -449, 4849, -622, 4790, -819, 4707, -970, 4622, -1155, 4504, -1264, 4403, -1399, 4252, -1500, 4156, -1663, 4045, -1735, 4021, -1766, 3998}},
{Code: "SR", Pts: []int16{-765, -5742, -880, -5798, -972, -5792, -1052, -5753, -1109, -5773, -1172, -5782, -1229, -5809, -1199, -5866, -1214, -5915, -1201, -5956, -1241, -5967, -1267, -5949, -1296, -5960, -1283, -6016, -1166, -6075, -1090, -6088, -1090, -6120, -993, -6163, -922, -6143, -891, -6149, -857, -6086, -735, -6068, -762, -5945, -737, -5935, -727, -5852, -765, -5742}},
{Code: "SS", Pts: []int16{-265, 3206, -370, 3209, -410, 3195, -414, 3141, -489, 3107, -500, 3170, -565, 3224, -620, 3242, -651, 3289, -798, 3352, -886, 3283, -966, 3222, -1029, 3159, -1029, 3087, -1061, 3006, -1029, 2941, -1067, 2900, -977, 2808, -920, 2783, -947, 2727, -939, 2680, -962, 2653, -945, 2606, -834, 2543, -792, 2527, -737, 2450, -657, 2425, -599, 2381, -529, 2311, -485, 2309, -431, 2254, -378, 2183, -363, 2214, -338, 2250, -216, 2273, -155, 2300, -137, 2374, -172, 2392, -252, 2444, -263, 2473, -239, 2509, -246, 2583, -273, 2597, -273, 2698, -246, 2702, -218, 2754, -181, 2763, -153, 2801, -231, 2887, -216, 2939, -120, 2988, -46, 3042, 36, 3033, 74, 3006, 82, 3067, 111, 3074, 103, 3121, 2, 3110, -95, 3127, -147, 3179, -193, 3193, -260, 3191, -265, 3206}},
{Code: "SV", Pts: []int16{265, -9135, 233, -9148, 235, -9207, 248, -9243, 275, -9283, 284, -9337, 313, -9364, 332, -9358, 365, -9322, 380, -9301, 397, -9306, 405, -9281, 393, -9252, 368, -9232, 344, -9203, 328, -9202, 342, -9157, 334, -9135, 319, -9122, 265, -9135}},
{Code: "SX", Pts: []int16{893, -6584, 891, -6584, 893, -6592, 895, -6592, 893, -6584}},
{Code: "SY", Pts: []int16{2961, 3510, 2817, 3335, 2871, 3222, 2871, 3220, 2892, 3231, 2947, 3224, 3020, 3240, 3073, 3289, 3125, 3267, 3132, 3222, 3235, 3202, 3291, 3220, 3321, 3244, 3350, 3265, 3424, 3262, 3398, 3296, 3436, 3397, 3411, 3451, 3411, 3530, 3461, 3632, 3459, 3685, 3480, 3791, 3396, 3753, 3363, 3704, 3264, 3726, 3102, 3708, 2961, 3510}},
{Code: "SZ", Pts: []int16{-5024, 2911, -5085, 2921, -5146, 2927, -5205, 2902, -5219, 2844, -5146, 2788, -5100, 2790, -5049, 2821, -5009, 2831, -5001, 2862, -5024, 2911}},
{Code: "TD", Pts: []int16{1101, 2146, 565, 2165, 575, 2079, 475, 2034, 393, 2011, 361, 2032, 319, 2000, 263, 2012, 208, 1987, 158, 1978, 166, 2012, 113, 2036, 36, 2038, -4, 2075, -38, 2075, -61, 2011, -116, 1960, -263, 1888, -326, 1795, -317, 1696, -330, 1667, -376, 1678, -424, 1625, -477, 1582, -527, 1454, -498, 1429, -494, 1411, -529, 1393, -540, 1310, -502, 1325, -410, 1292, -355, 1278, -332, 1233, -252, 1172, -189, 1193, -202, 1240, -193, 1269, -193, 1327, -71, 1269, 19, 1273, 107, 1264, 193, 1222, 258, 1233, 260, 1166, 347, 1166, 397, 1123, 575, 1165, 702, 1291, 878, 1294, 1151, 1327, 1210, 1348, 1256, 1305, 1298, 1303, 1334, 1264, 1544, 1235, 1617, 1334, 1359, 1739, 1101, 2146}},
{Code: "TG", Pts: []int16{-57, -155, -128, -167, -168, -137, -214, -101, -281, -97, -309, -76, -620, -81, -712, -56, -741, -137, -693, -160, -607, -187, -540, -196, -420, -173, -370, -198, -265, -209, -166, -209, -97, -250, -55, -243, -57, -155}},
{Code: "TH", Pts: []int16{384, 10395, 403, 10300, 378, 10172, 267, 10116, 103, 10154, 166, 10058, 162, 9972, 269, 9977, 269, 9889, 120, 9893, -78, 9853, -197, 9828, -294, 9841, -298, 9907, -422, 9956, -538, 9979, -615, 10040, -630, 10102, -702, 10157, -756, 10127, -773, 10060, -704, 10049, -645, 9963, -668, 9947, -618, 9905, -550, 9884, -475, 9826, -410, 9774, -489, 9761, -414, 9738, -330, 9745, -202, 9767, -63, 9806, 63, 9853, 187, 9805, 250, 9801, 326, 9783, 433, 9706, 500, 9673, 525, 9706, 641, 9731, 731, 9679, 830, 9605, 947, 9542, 972, 9581, 1117, 9608, 1124, 9679, 1182, 9729, 1214, 9783, 1172, 9832, 1090, 9848, 1084, 9916, 943, 9909, 821, 9927, 901, 10022, 878, 10057, 882, 10114, 928, 10129, 920, 10206, 811, 10296, 676, 10319, 559, 10415, 445, 10422, 384, 10395}},
{Code: "TJ", Pts: []int16{3884, 6426, 3844, 6401, 3865, 6293, 3789, 6304, 3800, 6403, 3755, 6530, 3776, 6703, 3650, 6759, 3665, 6786, 3634, 6853, 3581, 6862, 3505, 6894, 3505, 6797, 3516, 6728, 3455, 6683, 3442, 6644, 3413, 6617, 3457, 6568, 3571, 6552, 3577, 6521, 3619, 6523, 3648, 6464, 3602, 6433, 3547, 6437, 3529, 6426, 3531, 6368, 3470, 6352, 3495, 6314, 3453, 6253, 3468, 6221, 3604, 6244, 3705, 6201, 3737, 6125, 3795, 6136, 3789, 6215, 3863, 6242, 3949, 6251, 3980, 6368, 3917, 6365, 3881, 6388, 3884, 6426}},
{Code: "TL", Pts: []int16{-2806, 12469, -2766, 12470, -2739, 12461, -2707, 12476, -2678, 12564, -2672, 12636, -2655, 12668, -2672, 12706, -2709, 12667, -2768, 12557, -2806, 12469}},
{Code: "TM", Pts: []int16{3497, 6089, 3501, 6061, 3537, 6008, 3491, 6003, 3463, 5927, 3356, 5931, 3314, 5884, 3295, 5812, 3235, 5805, 3216, 5735, 3268, 5629, 3379, 5598, 3386, 5526, 3503, 5395, 3518, 5317, 3587, 5198, 3600, 5128, 3575, 5092, 3579, 5027, 3501, 4973, 3476, 4894, 3571, 4860, 3711, 4849, 3758, 4766, 3848, 4774, 3856, 4711, 3970, 4709, 3936, 4804, 3978, 4878, 4060, 4793, 4136, 4750, 4102, 4682, 4003, 4693, 4089, 4646, 4136, 4678, 4163, 4779, 4125, 4849, 4020, 4936, 4026, 4982, 4028, 5089, 4096, 5058, 4142, 5126, 4220, 5188, 4148, 5330, 4043, 5364, 4016, 5405, 4022, 5504, 3997, 5542, 3858, 5620, 3766, 5747, 3703, 5823, 3638, 5936, 3579, 6075, 3497, 6089}},
{Code: "TN", Pts: []int16{2928, 868, 2825, 866, 2787, 819, 2743, 790, 2691, 725, 2636, 736, 2577, 729, 2548, 682, 2789, 635, 2844, 574, 2875, 572, 2957, 491, 3058, 481, 3134, 538, 3245, 558, 3373, 540, 3442, 558, 3495, 661, 3480, 727, 3411, 727, 3461, 806, 3436, 814, 3369, 769, 3308, 770, 3274, 805, 3157, 796, 3090, 733, 3016, 754, 3014, 805, 2949, 830, 2928, 868}},
{Code: "TO", Pts: []int16{-4432, -17735, -4425, -17744, -4421, -17744, -4417, -17739, -4432, -17735}},
{Code: "TO", Pts: []int16{-4388, -17786, -4388, -17780, -4394, -17773, -4396, -17768, -4388, -17764, -4394, -17759, -4400, -17764, -4404, -17762, -4409, -17764, -4407, -17768, -4400, -17773, -4396, -17786, -4388, -17786}},
{Code: "TO", Pts: []int16{-4207, -17800, -4209, -17804, -4199, -17806, -4201, -17802, -4207, -17800}},
{Code: "TO", Pts: []int16{-4049, -17721, -4056, -17730, -4056, -17734, -4054, -17735, -4043, -17730, -4045, -17725, -4049, -17721}},
{Code: "TO", Pts: []int16{-3644, -17975, -3646, -17977, -3644, -17982, -3640, -17980, -3640, -17975, -3644, -17975}},
{Code: "TR", Pts: []int16{4058, 3631, 4064, 3730, 3997, 3830, 3951, 3854, 3886, 3856, 3852, 3931, 3814, 3974, 3774, 3915, 3621, 3967, 3579, 3955, 3472, 4023, 3449, 3980, 3482, 3942, 3501, 3829, 3480, 3791, 3459, 3685, 3461, 3632, 3411, 3530, 3411, 3451, 3436, 3397, 3398, 3296, 3424, 3262, 3350, 3265, 3321, 3244, 3291, 3220, 3352, 3179, 3403, 3209, 3390, 3152, 3421, 3069, 3344, 3011, 3329, 2867, 3400, 2783, 3405, 2680, 3350, 2662, 3333, 2597, 3405, 2500, 3403, 2396, 3537, 2327, 3611, 2252, 3716, 2288, 3781, 2223, 3909, 2315, 3913, 2459, 4016, 2488, 3997, 2668, 4083, 2768, 4121, 2873, 4125, 3026, 4031, 3202, 3978, 3344, 3999, 3449, 3986, 3532, 4058, 3631}},
{Code: "TR", Pts: []int16{3961, 2194, 3976, 2216, 4060, 2236, 4096, 2187, 4138, 2277, 4121, 2360, 4068, 2376, 4026, 2462, 3993, 2450, 3986, 2338, 3944, 2302, 3873, 2232, 3934, 2196, 3961, 2194}},
{Code: "TV", Pts: []int16{-2691, 17980, -2686, 17980, -2686, 17982, -2688, 17982, -2691, 17980}},
{Code: "TW", Pts: []int16{1533, 11842, 1422, 11817, 1537, 11745, 1636, 11718, 1768, 11752, 1871, 11812, 1832, 11866, 1750, 11864, 1533, 11842}},
{Code: "TZ", Pts: []int16{-1678, 3006, -1760, 3002, -1855, 2983, -1907, 3011, -1876, 3056, -1867, 3116, -1884, 3128, -1850, 3188, -1804, 3146, -1743, 3181, -1682, 3231, -1958, 3600, -2035, 3605, -2170, 3751, -2338, 3701, -2413, 3706, -2462, 3769, -2497, 3773, -2579, 3742, -2619, 3748, -2684, 3740, -2768, 3773, -2903, 3812, -2932, 3848, -3010, 3766, -3062, 3654, -3060, 3593, -3100, 3555, -3104, 3485, -3121, 3458, -3083, 3337, -3088, 3298, -3085, 3299, -3035, 3267, -2892, 3262, -2821, 3209, -2846, 3202, -2810, 3184, -2785, 3085, -2745, 3028, -2722, 2963, -2699, 2923, -2695, 2918, -2556, 2869, -2474, 2862, -2382, 2781, -2331, 2806, -2277, 2786, -2220, 2790, -2201, 2772, -2142, 2777, -2140, 2788, -2092, 2824, -2021, 2866, -1993, 2891, -1949, 2891, -1918, 2869, -1865, 2864, -1848, 2893, -1768, 2898, -1693, 2858, -1676, 2894, -1678, 3006}},
{Code: "UA", Pts: []int16{5333, 2830, 5276, 2871, 5251, 2873, 5205, 2993, 5226, 3058, 5165, 3123, 5167, 3175, 5125, 3314, 5085, 3321, 5018, 3298, 4944, 3330, 4900, 3325, 4892, 3238, 4854, 3199, 4797, 3206, 4787, 3136, 4743, 3082, 4736, 2999, 4686, 2927, 4604, 2945, 4572, 2995, 4581, 3087, 4533, 3076, 4509, 2979, 4434, 2866, 4461, 2810, 4522, 2822, 4562, 2716, 4587, 2729, 4631, 2812, 4661, 2781, 4694, 2635, 4745, 2621, 4728, 2540, 4654, 2516, 4558, 2457, 4581, 2414, 4558, 2372, 4583, 2329, 4598, 2351, 4642, 2362, 4686, 2381, 4709, 2371, 4719, 2389, 4701, 2399, 4696, 2453, 4707, 2477, 4719, 2459, 4740, 2462, 4774, 2426, 4829, 2407, 4850, 2371, 4894, 2372, 4930, 2326, 4936, 2290, 4976, 2218, 4963, 2160, 4944, 2140, 4944, 2102, 4913, 2084, 4900, 2020, 4879, 1991, 4913, 1946, 4913, 1888, 4927, 1831, 4898, 1795, 4934, 1786, 4969, 1732, 5022, 1744, 5058, 1766, 5049, 1786, 5108, 1757, 5217, 1825, 5232, 1867, 5268, 1872, 5381, 1814, 5387, 1856, 5421, 1899, 5425, 1967, 5415, 2056, 5383, 2158, 5381, 2228, 5362, 2263, 5385, 2293, 5354, 2320, 5360, 2398, 5347, 2435, 5413, 2430, 5442, 2453, 5448, 2527, 5444, 2560, 5474, 2578, 5467, 2605, 5480, 2693, 5406, 2761, 5379, 2745, 5339, 2759, 5333, 2830}},
{Code: "UG", Pts: []int16{-966, 3222, -1061, 3271, -1128, 3283, -1283, 3330, -1382, 3292, -1470, 3242, -1525, 3213, -1531, 3213, -1523, 3209, -1495, 3155, -1529, 3112, -1548, 3047, -1626, 3001, -1678, 3006, -1676, 2894, -1693, 2858, -1735, 2797, -1720, 2772, -1619, 2774, -1567, 2797, -1460, 2803, -1397, 2824, -1327, 2864, -1290, 2902, -1243, 2936, -1225, 2894, -1067, 2900, -1029, 2941, -1061, 3006, -1029, 3087, -1029, 3159, -966, 3222}},
{Code: "US", Pts: []int16{1033, -15862, 1010, -15881, 1029, -15903, 1067, -15892, 1117, -15899, 1132, -15890, 1153, -15869, 1180, -15871, 1193, -15863, 1191, -15856, 1168, -15822, 1155, -15806, 1138, -15793, 1090, -15777, 1084, -15781, 1054, -15826, 1033, -15862}},
{Code: "US", Pts: []int16{1243, -15874, 1235, -15910, 1262, -15921, 1273, -15930, 1281, -15930, 1294, -15917, 1281, -15885, 1260, -15863, 1243, -15874}},
{Code: "US", Pts: []int16{1315, -15928, 1300, -15934, 1304, -15988, 1321, -15977, 1315, -15928}},
{Code: "US", Pts: []int16{1336, -16013, 1327, -16020, 1330, -16027, 1334, -16061, 1365, -16067, 1369, -16070, 1388, -16040, 1380, -16033, 1336, -16013}},
{Code: "US", Pts: []int16{1424, -16164, 1411, -16178, 1435, -16207, 1445, -16200, 1458, -16182, 1456, -16159, 1424, -16164}},
{Code: "US", Pts: []int16{4915, -8289, 4873, -8399, 4820, -8483, 4764, -8566, 4745, -8575, 4772, -8473, 4728, -8435, 4759, -8352, 4804, -8264, 4848, -8167, 4778, -8222, 4761, -8177, 4711, -8132, 4740, -8041, 4751, -7949, 4713, -7943, 4709, -7916, 4705, -7895, 4652, -7868, 4640, -7952, 4640, -7954, 4654, -8021, 4629, -8102, 4617, -8168, 4530, -8253, 4482, -8307, 4467, -8300, 4554, -8201, 4554, -8188, 4451, -8273, 4358, -8325, 4283, -8370, 4218, -8381, 4186, -8395, 4150, -8406, 4081, -8404, 4070, -8399, 4073, -8366, 4087, -8338, 4104, -8312, 4169, -8253, 4257, -8221, 4339, -8222, 4396, -8197, 4461, -8150, 4507, -8113, 4539, -8064, 4495, -8071, 4560, -8032, 4572, -8008, 4623, -7978, 4596, -7909, 4545, -7859, 4484, -7873, 4423, -7902, 4371, -7970, 4337, -7978, 4337, -7960, 4394, -7882, 4381, -7853, 4304, -7862, 4249, -7875, 4175, -7942, 4129, -7978, 4079, -8026, 4052, -7978, 4043, -7933, 4062, -7861, 4098, -7794, 4117, -7740, 4154, -7657, 4234, -7553, 4247, -7551, 4287, -7546, 4304, -7497, 4297, -7427, 4287, -7355, 4331, -7272, 4383, -7261, 4402, -7265, 4495, -7142, 4518, -7094, 4520, -6953, 4520, -6786, 4551, -6766, 4558, -6736, 4579, -6691, 4640, -6640, 4743, -6583, 4841, -6484, 4808, -6464, 4829, -6397, 4791, -6368, 4612, -6421, 4537, -6381, 4493, -6377, 4430, -6493, 4383, -6601, 4344, -6709, 4264, -6781, 4234, -6804, 4163, -6826, 4094, -6813, 4089, -6775, 4138, -6772, 4108, -6752, 4070, -6770, 4049, -6838, 4052, -6883, 4028, -6959, 4022, -7000, 4016, -7056, 3976, -7146, 4001, -7000, 3976, -6980, 3936, -7123, 3936, -7182, 3953, -7175, 3915, -7213, 3909, -7187, 3812, -7232, 3709, -7328, 3745, -7326, 3751, -7346, 3785, -7367, 3711, -7367, 3688, -7349, 3638, -7360, 3585, -7403, 3478, -7484, 3482, -7492, 3575, -7439, 3625, -7475, 3739, -7457, 3680, -7492, 3594, -7492, 3615, -7549, 3573, -7495, 3445, -7522, 3434, -7497, 3388, -7497, 3253, -7515, 3155, -7598, 3115, -7708, 3035, -7787, 3027, -7837, 2976, -7898, 2932, -7922, 2844, -8046, 2779, -8114, 2699, -8177, 2604, -8212, 2510, -8212, 2394, -8201, 2300, -8174, 2241, -8183, 2086, -8159, 1993, -8177, 1941, -8188, 1859, -8224, 1842, -8257, 1859, -8303, 1918, -8311, 1949, -8343, 2065, -8379, 2168, -8408, 2220, -8415, 2310, -8379, 2384, -8393, 2497, -8449, 2518, -8483, 2455, -8593, 2464, -8609, 2527, -8645, 2560, -8699, 2541, -8815, 2558, -8897, 2548, -8975, 2527, -9020, 2491, -9009, 2436, -9022, 2409, -9007, 2392, -9029, 2411, -9061, 2386, -9103, 2390, -9173, 2462, -9232, 2445, -9320, 2476, -9385, 2466, -9448, 2434, -9538, 2336, -9648, 2277, -9758, 2214, -9824, 2153, -9859, 2058, -9877, 1995, -9884, 1949, -9873, 1945, -9913, 1974, -9977, 2016, -10048, 2079, -10064, 2174, -10067, 2249, -10111, 2329, -10127, 2422, -10156, 2476, -10213, 2472, -10294, 2367, -10381, 2407, -10453, 2447, -10494, 2523, -10501, 2592, -10516, 2651, -10559, 2695, -10597, 2743, -10620, 2743, -10789, 2686, -10804, 2686, -10881, 2686, -11075, 2781, -11272, 2846, -11398, 2873, -11381, 2859, -11509, 2848, -11623, 2915, -11617, 2993, -11655, 3010, -11695, 3048, -11693, 3056, -11745, 3092, -11767, 3104, -11853, 3127, -11869, 3201, -11855, 3335, -11900, 3522, -11909, 3554, -11893, 3598, -11916, 3711, -11943, 3821, -11911, 3894, -11927, 4005, -11857, 4119, -11806, 4222, -11786, 4348, -11687, 4467, -11615, 4587, -11543, 4766, -11466, 4877, -11434, 4938, -11426, 4965, -11401, 4919, -11297, 4795, -11315, 4831, -11275, 4938, -11230, 5045, -11201, 5045, -10948, 5045, -10683, 5045, -10597, 5045, -10325, 5045, -10060, 5045, -9794, 5045, -9526, 5045, -9223, 5045, -8917, 5045, -8734, 5095, -8710, 5095, -8680, 5024, -8696, 5003, -8678, 4995, -8618, 4974, -8536, 4934, -8465, 4951, -8386, 4915, -8289}},
{Code: "US", Pts: []int16{6089, -13050, 6041, -13176, 6074, -13190, 6133, -13149, 6177, -13034, 6196, -12971, 6188, -12924, 6148, -12924, 6089, -13050}},
{Code: "US", Pts: []int16{6438, -13752, 6419, -13822, 6442, -13853, 6475, -13867, 6496, -13765, 6484, -13711, 6438, -13752}},
{Code: "US", Pts: []int16{6908, -13730, 6887, -13709, 6898, -13646, 6866, -13617, 6851, -13558, 6837, -13579, 6811, -13667, 6839, -13698, 6860, -13703, 6853, -13781, 6864, -13786, 6908, -13730}},
{Code: "US", Pts: []int16{7601, -10620, 7173, -11063, 6486, -11704, 6482, -11628, 6448, -11578, 6393, -11569, 6314, -11563, 6383, -11426, 6423, -11309, 6358, -11320, 6307, -11306, 6251, -11277, 6162, -11297, 6018, -11322, 5938, -11239, 5858, -11297, 5797, -11389, 5843, -11399, 5885, -11444, 5994, -11385, 6097, -11414, 6215, -11365, 6223, -11439, 6225, -11567, 6263, -11635, 6391, -11695, 6414, -11754, 6459, -11857, 6448, -11979, 6505, -12087, 6557, -12136, 6532, -12249, 6446, -12312, 6438, -12364, 6412, -12483, 6370, -12595, 6343, -12710, 6417, -12652, 6538, -12501, 6576, -12379, 6606, -12371, 6538, -12541, 6456, -12674, 6368, -12875, 6307, -12872, 6219, -13034, 6167, -13172, 6127, -13291, 6072, -13363, 6007, -13554, 5948, -13635, 5894, -13783, 5902, -13831, 5868, -13943, 5824, -14069, 5782, -14179, 5744, -14359, 5768, -14351, 5826, -14204, 5866, -14085, 5936, -13930, 5948, -13813, 6001, -13723, 6076, -13536, 6102, -13495, 6146, -13392, 6240, -13288, 6314, -13176, 6276, -13307, 6299, -13313, 6253, -13401, 6316, -13394, 6272, -13459, 6333, -13430, 6284, -13561, 6284, -13612, 6358, -13545, 6404, -13486, 6448, -13493, 6423, -13622, 6482, -13633, 6511, -13657, 6580, -13585, 6633, -13592, 6702, -13486, 6772, -13347, 6832, -13252, 6841, -13178, 6822, -13145, 6881, -13018, 6870, -12973, 6908, -12872, 6963, -12827, 6984, -12847, 7030, -12739, 7028, -12789, 7003, -12901, 6975, -12953, 7003, -12985, 6988, -13109, 7017, -13192, 7066, -13171, 7133, -13189, 7183, -13023, 7240, -12785, 7240, -12722, 7181, -12800, 7185, -12634, 7259, -12613, 7303, -12654, 7362, -12640, 7410, -12652, 7446, -12712, 7507, -12595, 7511, -12460, 7561, -12301, 7616, -12215, 7670, -12073, 7683, -11986, 7733, -11785, 7725, -11729, 7784, -11542, 7761, -11462, 7710, -11471, 7731, -11412, 7725, -11299, 7700, -11333, 7681, -11245, 7691, -11156, 7658, -11045, 7645, -10915, 7633, -10876, 7649, -10757, 7616, -10683, 7601, -10620}},
{Code: "UY", Pts: []int16{-6093, -5405, -6179, -5434, -6253, -5531, -6225, -5607, -6240, -5657, -6183, -5756, -6188, -5821, -6112, -5891, -6026, -5899, -5996, -5882, -5862, -5904, -5723, -5897, -5614, -5888, -5600, -5827, -5705, -5713, -5700, -5679, -5786, -5566, -5862, -5479, -5952, -5411, -6018, -5443, -6093, -5405}},
{Code: "UZ", Pts: []int16{4154, 6349, 4142, 6379, 4056, 6325, 4005, 6408, 4039, 6466, 3968, 6595, 3871, 6500, 3884, 6426, 3881, 6388, 3917, 6365, 3980, 6368, 3949, 6251, 3863, 6242, 3789, 6215, 3795, 6136, 3737, 6125, 3705, 6201, 3604, 6244, 3468, 6221, 3497, 6143, 3497, 6089, 3579, 6075, 3638, 5936, 3703, 5823, 3766, 5747, 3858, 5620, 3997, 5542, 4022, 5504, 4016, 5405, 4043, 5364, 4148, 5330, 4220, 5188, 4142, 5126, 4096, 5058, 4028, 5089, 4026, 4982, 4518, 4871, 4596, 5087, 4585, 5107, 4491, 5272, 4440, 5359, 4320, 5477, 4339, 5580, 4350, 5735, 4253, 5872, 4119, 5899, 4117, 5945, 4007, 5990, 4003, 6111, 3940, 6152, 3940, 6188, 4037, 6205, 4129, 6302, 4154, 6349}},
{Code: "VC", Pts: []int16{233, -6440, 231, -6442, 237, -6451, 246, -6451, 252, -6448, 263, -6444, 263, -6437, 254, -6435, 237, -6437, 233, -6440}},
{Code: "VE", Pts: []int16{-412, -6323, -491, -6408, -540, -6417, -590, -6385, -615, -6410, -636, -6473, -699, -6473, -737, -6502, -838, -6435, -876, -6422, -928, -6460, -979, -6575, -1000, -6649, -1031, -6680, -998, -6761, -981, -6835, -993, -6854, -1027, -6809, -1117, -6815, -1204, -6802, -1214, -6716, -1243, -6710, -1281, -6784, -1338, -6797, -1361, -6840, -1393, -6916, -1435, -6935, -1443, -7015, -1372, -7070, -1237, -7099, -1189, -7126, -1159, -7162, -1092, -7110, -1063, -7114, -1023, -7141, -933, -7160, -836, -7150, -790, -7126, -718, -7105, -695, -7141, -710, -7198, -704, -7272, -718, -7313, -601, -7382, -584, -7441, -596, -7573, -550, -7594, -540, -7619, -510, -7621, -460, -7609, -407, -7614, -376, -7636, -315, -7646, -307, -7699, -227, -7666, -130, -7650, -80, -7618, -42, -7576, 25, -7547, 48, -7481, 17, -7484, 0, -7546, -61, -7515, -132, -7520, -210, -7569, -317, -7535, -309, -7490, -210, -7463, -164, -7493, -61, -7493, -6, -7364, 57, -7375, 101, -7337, 4, -7306, 2, -7234, -71, -7173, -118, -7169, -118, -7079, -105, -6970, -164, -6914, -181, -6838, -139, -6779, -105, -6777, -97, -6649, -95, -6529, -134, -6617, -200, -6584, -208, -6503, -275, -6428, -382, -6415, -380, -6363, -412, -6323}},
{Code: "VG", Pts: []int16{947, -6730, 943, -6737, 943, -6739, 939, -6745, 941, -6746, 947, -6745, 949, -6734, 947, -6730}},
{Code: "VN", Pts: []int16{1365, 10557, 1252, 10440, 1124, 10373, 1029, 10363, 888, 10458, 712, 10575, 628, 10678, 521, 10751, 271, 10823, 34, 10831, -55, 10753, -143, 10643, -254, 10568, -380, 10449, -294, 10408, -202, 10429, -126, 10350, -71, 10433, -61, 10539, 19, 10489, 124, 10651, 286, 10649, 376, 10616, 510, 10620, 605, 10584, 699, 10496, 817, 10417, 977, 10314, 1059, 10183, 1107, 10204, 1143, 10264, 1260, 10210, 1260, 10087, 1382, 10024, 1489, 9952, 1523, 10001, 1521, 10080, 1537, 10175, 1609, 10249, 1558, 10305, 1533, 10400, 1456, 10395, 1401, 10451, 1365, 10557}},
{Code: "VU", Pts: []int16{-4270, 16772, -4266, 16763, -4257, 16767, -4255, 16776, -4264, 16780, -4268, 16778, -4270, 16772}},
{Code: "VU", Pts: []int16{-4190, 16751, -4190, 16747, -4188, 16742, -4178, 16735, -4169, 16733, -4161, 16733, -4157, 16736, -4148, 16738, -4146, 16744, -4146, 16751, -4152, 16747, -4163, 16747, -4173, 16760, -4180, 16754, -4190, 16751}},
{Code: "VU", Pts: []int16{-4066, 16751, -4066, 16756, -4070, 16758, -4073, 16749, -4079, 16751, -4083, 16758, -4089, 16760, -4098, 16758, -4100, 16751, -4094, 16744, -4094, 16736, -4089, 16733, -4085, 16727, -4077, 16729, -4070, 16729, -4060, 16733, -4052, 16738, -4052, 16747, -4054, 16751, -4062, 16749, -4066, 16751}},
{Code: "VU", Pts: []int16{-3907, 16697, -3905, 16708, -3907, 16709, -3919, 16713, -3926, 16717, -3928, 16718, -3940, 16711, -3944, 16697, -3938, 16691, -3928, 16690, -3926, 16684, -3932, 16677, -3930, 16675, -3921, 16679, -3915, 16686, -3905, 16693, -3907, 16697}},
{Code: "VU", Pts: []int16{-3825, 16738, -3818, 16736, -3818, 16742, -3825, 16738}},
{Code: "VU", Pts: []int16{-3774, 16709, -3785, 16711, -3789, 16711, -3791, 16718, -3802, 16722, -3802, 16731, -3810, 16731, -3812, 16729, -3806, 16724, -3804, 16718, -3808, 16708, -3806, 16702, -3802, 16700, -3793, 16699, -3783, 16702, -3776, 16706, -3774, 16709}},
{Code: "VU", Pts: []int16{-3770, 16726, -3770, 16724, -3764, 16722, -3764, 16726, -3770, 16726}},
{Code: "VU", Pts: []int16{-3741, 16729, -3745, 16726, -3745, 16715, -3747, 16709, -3743, 16706, -3741, 16699, -3732, 16690, -3728, 16691, -3724, 16700, -3722, 16708, -3716, 16715, -3709, 16717, -3709, 16720, -3716, 16722, -3728, 16722, -3737, 16731, -3741, 16729}},
{Code: "VU", Pts: []int16{-3713, 16645, -3720, 16648, -3728, 16659, -3743, 16672, -3745, 16673, -3753, 16673, -3760, 16677, -3764, 16672, -3772, 16664, -3768, 16664, -3766, 16659, -3766, 16652, -3768, 16648, -3772, 16648, -3776, 16641, -3774, 16636, -3760, 16636, -3747, 16634, -3734, 16636, -3724, 16637, -3713, 16634, -3720, 16623, -3716, 16619, -3709, 16618, -3703, 16618, -3697, 16623, -3688, 16623, -3682, 16625, -3680, 16630, -3686, 16641, -3690, 16639, -3701, 16643, -3705, 16641, -3713, 16645}},
{Code: "VU", Pts: []int16{-3663, 16634, -3663, 16628, -3657, 16619, -3655, 16619, -3648, 16623, -3646, 16627, -3648, 16636, -3657, 16634, -3663, 16634}},
{Code: "VU", Pts: []int16{-3642, 16625, -3636, 16632, -3638, 16634, -3644, 16636, -3644, 16627, -3642, 16625}},
{Code: "VU", Pts: []int16{-3697, 16727, -3695, 16724, -3669, 16726, -3663, 16724, -3653, 16726, -3636, 16731, -3625, 16733, -3638, 16736, -3644, 16735, -3657, 16735, -3678, 16735, -3690, 16733, -3697, 16727}},
{Code: "VU", Pts: []int16{-3627, 16704, -3627, 16691, -3625, 16686, -3621, 16686, -3606, 16702, -3602, 16711, -3600, 16720, -3604, 16720, -3613, 16715, -3619, 16711, -3627, 16704}},
{Code: "VU", Pts: []int16{-3613, 16738, -3617, 16738, -3617, 16733, -3611, 16735, -3583, 16738, -3581, 16738, -3556, 16740, -3558, 16744, -3585, 16742, -3592, 16744, -3602, 16742, -3613, 16738}},
{Code: "VU", Pts: []int16{-3642, 16625, -3640, 16609, -3646, 16598, -3650, 16596, -3650, 16592, -3638, 16591, -3636, 16587, -3615, 16580, -3598, 16587, -3589, 16587, -3585, 16585, -3556, 16585, -3550, 16583, -3539, 16583, -3533, 16587, -3526, 16587, -3520, 16591, -3516, 16591, -3514, 16596, -3524, 16598, -3533, 16601, -3539, 16605, -3566, 16607, -3583, 16605, -3585, 16605, -3583, 16616, -3577, 16621, -3560, 16625, -3556, 16625, -3552, 16630, -3554, 16636, -3562, 16634, -3581, 16634, -3583, 16639, -3594, 16639, -3596, 16636, -3604, 16641, -3608, 16637, -3619, 16637, -3629, 16641, -3634, 16639, -3634, 16634, -3642, 16625}},
{Code: "VU", Pts: []int16{-3447, 16700, -3453, 16708, -3461, 16706, -3468, 16700, -3472, 16697, -3472, 16686, -3463, 16686, -3455, 16688, -3449, 16691, -3447, 16700}},
{Code: "VU", Pts: []int16{-3407, 16711, -3411, 16706, -3413, 16702, -3417, 16702, -3419, 16699, -3413, 16699, -3409, 16695, -3403, 16693, -3394, 16695, -3392, 16699, -3388, 16706, -3392, 16708, -3400, 16709, -3403, 16709, -3407, 16711}},
{Code: "VU", Pts: []int16{-3319, 16621, -3316, 16619, -3306, 16621, -3310, 16625, -3319, 16621}},
{Code: "WS", Pts: []int16{-3419, -17606, -3421, -17600, -3424, -17595, -3428, -17590, -3434, -17591, -3434, -17609, -3432, -17615, -3434, -17620, -3432, -17624, -3428, -17631, -3430, -17636, -3426, -17642, -3421, -17645, -3415, -17656, -3407, -17654, -3403, -17647, -3403, -17640, -3403, -17631, -3411, -17615, -3413, -17606, -3419, -17606}},
{Code: "WS", Pts: []int16{-3361, -17687, -3373, -17676, -3388, -17672, -3394, -17674, -3400, -17672, -3400, -17678, -3396, -17683, -3400, -17689, -3403, -17705, -3396, -17710, -3388, -17714, -3386, -17717, -3379, -17723, -3371, -17732, -3367, -17735, -3363, -17735, -3365, -17728, -3363, -17723, -3358, -17712, -3358, -17705, -3356, -17696, -3356, -17690, -3361, -17687}},
{Code: "XK", Pts: []int16{4152, 1760, 4146, 1739, 4125, 1687, 4098, 1685, 4100, 1672, 4148, 1661, 4163, 1638, 4199, 1616, 4228, 1631, 4236, 1652, 4281, 1661, 4289, 1678, 4270, 1692, 4262, 1710, 4241, 1724, 4234, 1741, 4209, 1760, 4211, 1773, 4178, 1766, 4163, 1755, 4152, 1760}},
{Code: "YE", Pts: []int16{706, 5108, 670, 5036, 609, 5020, 563, 5020, 506, 4923, 443, 4765, 349, 4680, 340, 4635, 349, 4604, 292, 4547, 267, 4484, 260, 4399, 252, 4374, 216, 4354, 206, 4327, 172, 4313, 176, 4262, 158, 4232, 164, 4160, 244, 4131, 317, 4131, 357, 4113, 456, 4090, 510, 4057, 519, 4077, 580, 4064, 605, 4075, 664, 4068, 708, 4111, 765, 4097, 830, 4120, 796, 4163, 809, 4190, 811, 4306, 798, 4325, 783, 4424, 790, 4462, 746, 4489, 769, 4536, 909, 4599, 970, 4689, 1023, 4975, 800, 5069, 706, 5108}},
{Code: "YT", Pts: []int16{-3247, 4324, -3253, 4327, -3258, 4336, -3264, 4336, -3268, 4333, -3272, 4334, -3285, 4329, -3289, 4331, -3291, 4325, -3285, 4322, -3279, 4322, -3274, 4325, -3260, 4322, -3258, 4320, -3253, 4318, -3247, 4324}},
{Code: "ZA", Pts: []int16{-4541, 2869, -4730, 2909, -4827, 2929, -4976, 2903, -5024, 2911, -5001, 2862, -5009, 2831, -5049, 2821, -5100, 2790, -5146, 2788, -5219, 2844, -5205, 2902, -5146, 2927, -5146, 3001, -5245, 2970, -5356, 2952, -5417, 2921, -5486, 2849, -5505, 2830, -5574, 2783, -5644, 2750, -5740, 2687, -5879, 2567, -5959, 2493, -6022, 2416, -6072, 2309, -6081, 2261, -6118, 2245, -6097, 2187, -6123, 2138, -6097, 2036, -6114, 1976, -6106, 1937, -6160, 1832, -6181, 1750, -6232, 1687, -6236, 1643, -6188, 1606, -6186, 1573, -6125, 1534, -6144, 1528, -6108, 1517, -6028, 1523, -5938, 1496, -5912, 1528, -5810, 1530, -5684, 1471, -5570, 1427, -5568, 1427, -5394, 1363, -5326, 1413, -5364, 1449, -5421, 1463, -5432, 1508, -5457, 1570, -5446, 1622, -5377, 1712, -4879, 1732, -4900, 1757, -5028, 1811, -5110, 1800, -5158, 1820, -5144, 1892, -5083, 1942, -5043, 1991, -4978, 2018, -4948, 2068, -4963, 2110, -5001, 2155, -5007, 2236, -4978, 2300, -4936, 2311, -4871, 2333, -4860, 2387, -4810, 2419, -4719, 2455, -4619, 2549, -4520, 2695, -4520, 2734, -4543, 2783, -4526, 2817, -4541, 2869}},
{Code: "ZA", Pts: []int16{-5658, 2504, -5616, 2524, -5595, 2579, -5551, 2599, -5486, 2633, -5444, 2603, -5402, 2563, -5432, 2515, -5484, 2459, -5568, 2401, -5673, 2468, -5658, 2504}},
{Code: "ZM", Pts: []int16{-2695, 2918, -2699, 2923, -2722, 2963, -2745, 3028, -2785, 3085, -2846, 3132, -2959, 3155, -2995, 3137, -3104, 3114, -3218, 3130, -3264, 3098, -3390, 3062, -3424, 3114, -3535, 2804, -3632, 2812, -3650, 2734, -3703, 2675, -3749, 2660, -3762, 2624, -3871, 2533, -3959, 2475, -3961, 2441, -3947, 2408, -3932, 2297, -3921, 2279, -3911, 2279, -3879, 2239, -3873, 2174, -3902, 2092, -3818, 2027, -3709, 1962, -3279, 1976, -3281, 2187, -3235, 2180, -3184, 2196, -3121, 2180, -3056, 2192, -3014, 2182, -3016, 2216, -3058, 2221, -3056, 2270, -3069, 2333, -3130, 2367, -3148, 2446, -3106, 2509, -3176, 2531, -3195, 2608, -3253, 2644, -3327, 2684, -3327, 2761, -3182, 2758, -3207, 2729, -3155, 2659, -3130, 2632, -2995, 2648, -2835, 2668, -2777, 2646, -2691, 2677, -2674, 2704, -2651, 2842, -2657, 2858, -2686, 2853, -2697, 2887, -2724, 2909, -2718, 2927, -2695, 2918}},
{Code: "ZW", Pts: []int16{-4541, 2869, -4526, 2817, -4543, 2783, -4520, 2734, -4520, 2695, -4459, 2633, -4438, 2556, -4352, 2529, -4304, 2531, -4289, 2489, -4142, 2380, -4064, 2351, -4039, 2331, -3932, 2297, -3947, 2408, -3961, 2441, -3959, 2475, -3871, 2533, -3762, 2624, -3749, 2660, -3703, 2675, -3650, 2734, -3632, 2812, -3682, 2815, -3680, 2900, -3707, 2947, -3741, 2966, -3751, 3015, -3793, 3065, -3965, 3058, -4058, 3035, -4159, 3028, -4199, 3042, -4278, 3026, -4291, 3011, -4388, 2981, -4541, 2869}},
}
+368
View File
@@ -0,0 +1,368 @@
package geomap
import (
"math"
"unicode/utf8"
)
// Braille dot weights (same layout as mesh.Canvas).
var brailleDots = [4][2]rune{
{0x01, 0x08},
{0x02, 0x10},
{0x04, 0x20},
{0x40, 0x80},
}
// raster is a sub-character pixel buffer (2×4 dots per cell) plus country id layer.
type raster struct {
dots []uint8 // 0/1 land/outline strokes
fill []uint16 // country index+1 when filled for heat (0 = ocean/empty)
pixelsW int
pixelsH int
charsW int
charsH int
}
func newRaster(charsW, charsH int) *raster {
if charsW < 1 {
charsW = 1
}
if charsH < 1 {
charsH = 1
}
pw, ph := charsW*2, charsH*4
return &raster{
dots: make([]uint8, pw*ph),
fill: make([]uint16, pw*ph),
pixelsW: pw,
pixelsH: ph,
charsW: charsW,
charsH: charsH,
}
}
func (r *raster) setDot(x, y int) {
if x < 0 || y < 0 || x >= r.pixelsW || y >= r.pixelsH {
return
}
r.dots[y*r.pixelsW+x] = 1
}
func (r *raster) setFill(x, y int, id uint16) {
if x < 0 || y < 0 || x >= r.pixelsW || y >= r.pixelsH {
return
}
i := y*r.pixelsW + x
r.fill[i] = id
r.dots[i] = 1
}
func (r *raster) line(x0, y0, x1, y1 int) {
dx := absInt(x1 - x0)
dy := -absInt(y1 - y0)
sx := -1
if x0 < x1 {
sx = 1
}
sy := -1
if y0 < y1 {
sy = 1
}
err := dx + dy
for {
r.setDot(x0, y0)
if x0 == x1 && y0 == y1 {
break
}
e2 := 2 * err
if e2 >= dy {
err += dy
x0 += sx
}
if e2 <= dx {
err += dx
y0 += sy
}
}
}
// fillPoly scanline-fills a polygon in pixel space (even-odd).
func (r *raster) fillPoly(pts [][2]int, id uint16) {
n := len(pts)
if n < 3 {
return
}
minY, maxY := pts[0][1], pts[0][1]
for i := 1; i < n; i++ {
if pts[i][1] < minY {
minY = pts[i][1]
}
if pts[i][1] > maxY {
maxY = pts[i][1]
}
}
if minY < 0 {
minY = 0
}
if maxY >= r.pixelsH {
maxY = r.pixelsH - 1
}
for y := minY; y <= maxY; y++ {
var xs []int
j := n - 1
for i := 0; i < n; i++ {
yi, yj := pts[i][1], pts[j][1]
xi, xj := pts[i][0], pts[j][0]
if (yi > y) != (yj > y) {
// Intersection of edge with scanline y.
x := xi + (y-yi)*(xj-xi)/(yj-yi)
xs = append(xs, x)
}
j = i
}
// Sort xs
for a := 0; a < len(xs); a++ {
for b := a + 1; b < len(xs); b++ {
if xs[b] < xs[a] {
xs[a], xs[b] = xs[b], xs[a]
}
}
}
for k := 0; k+1 < len(xs); k += 2 {
x0, x1 := xs[k], xs[k+1]
if x0 < 0 {
x0 = 0
}
if x1 >= r.pixelsW {
x1 = r.pixelsW - 1
}
for x := x0; x <= x1; x++ {
r.setFill(x, y, id)
}
}
}
}
func (r *raster) strokePoly(pts [][2]int) {
if len(pts) < 2 {
return
}
for i := 0; i < len(pts)-1; i++ {
r.line(pts[i][0], pts[i][1], pts[i+1][0], pts[i+1][1])
}
// close
r.line(pts[len(pts)-1][0], pts[len(pts)-1][1], pts[0][0], pts[0][1])
}
func (r *raster) cellRune(cx, cy int) rune {
var bits rune
for dy := 0; dy < 4; dy++ {
for dx := 0; dx < 2; dx++ {
px := cx*2 + dx
py := cy*4 + dy
if px < r.pixelsW && py < r.pixelsH && r.dots[py*r.pixelsW+px] > 0 {
bits |= brailleDots[dy][dx]
}
}
}
if bits == 0 {
return ' '
}
return 0x2800 + bits
}
// cellFillID returns the dominant country fill id under a character cell.
func (r *raster) cellFillID(cx, cy int) uint16 {
counts := map[uint16]int{}
best := uint16(0)
bestN := 0
for dy := 0; dy < 4; dy++ {
for dx := 0; dx < 2; dx++ {
px := cx*2 + dx
py := cy*4 + dy
if px >= r.pixelsW || py >= r.pixelsH {
continue
}
id := r.fill[py*r.pixelsW+px]
if id == 0 {
continue
}
counts[id]++
if counts[id] > bestN {
bestN = counts[id]
best = id
}
}
}
return best
}
func (r *raster) hasDot(cx, cy int) bool {
for dy := 0; dy < 4; dy++ {
for dx := 0; dx < 2; dx++ {
px := cx*2 + dx
py := cy*4 + dy
if px < r.pixelsW && py < r.pixelsH && r.dots[py*r.pixelsW+px] > 0 {
return true
}
}
}
return false
}
// projectPixel maps lat/lng to raster pixel coords using the same camera model
// as Project, but at braille subpixel resolution.
func projectPixel(lat, lng float64, cam Camera, charsW, charsH int) (px, py int, ok bool) {
if charsW < 1 || charsH < 1 {
return 0, 0, false
}
zoom := cam.Zoom
if zoom < MinZoom {
zoom = MinZoom
}
nx := lng / 360.0
ny := -lat / 180.0
base := float64(charsW)
if float64(charsH)*2 < base {
base = float64(charsH) * 2
}
scale := base * 0.92 * zoom
cx := float64(charsW)/2 + (nx+cam.PanX/float64(charsW)*scale)*scale
cy := float64(charsH)/2 + (ny+cam.PanY/float64(charsH)*scale)*scale
// Convert cell coords to pixel coords (2×4).
fx := cx * 2
fy := cy * 4
px = int(math.Round(fx))
py = int(math.Round(fy))
pw, ph := charsW*2, charsH*4
if px < -4 || py < -4 || px >= pw+4 || py >= ph+4 {
return px, py, false
}
return px, py, true
}
func polyPixels(poly landPoly, cam Camera, charsW, charsH int) [][2]int {
n := len(poly.Pts) / 2
if n < 2 {
return nil
}
out := make([][2]int, 0, n)
for i := 0; i < n; i++ {
lat := float64(poly.Pts[i*2]) / 100
lng := float64(poly.Pts[i*2+1]) / 100
px, py, _ := projectPixel(lat, lng, cam, charsW, charsH)
out = append(out, [2]int{px, py})
}
return out
}
func absInt(n int) int {
if n < 0 {
return -n
}
return n
}
// countryIndex maps ISO codes to uint16 ids for the fill buffer (1-based).
var (
countryID map[string]uint16
idToCode []string
polysByCode map[string][]int // indices into landPolys
)
func initCountryIndex() {
if countryID != nil {
return
}
countryID = make(map[string]uint16)
idToCode = []string{""} // 0 unused
polysByCode = make(map[string][]int)
for i, p := range landPolys {
polysByCode[p.Code] = append(polysByCode[p.Code], i)
if _, ok := countryID[p.Code]; !ok {
countryID[p.Code] = uint16(len(idToCode))
idToCode = append(idToCode, p.Code)
}
}
}
func codeID(code string) uint16 {
initCountryIndex()
return countryID[NormalizeCode(code)]
}
func idCode(id uint16) string {
initCountryIndex()
if int(id) >= len(idToCode) {
return ""
}
return idToCode[id]
}
// drawWorld rasters land fill + outlines into a braille-oriented buffer.
// heatIDs: country id -> intensity 0..1 for fill coloring later.
func drawWorld(cam Camera, charsW, charsH int, heatCodes map[string]float64) *raster {
initCountryIndex()
r := newRaster(charsW, charsH)
// 1) Fill all land lightly (id = special land marker via outline only first).
// Fill every country with id so the silhouette is solid.
for _, poly := range landPolys {
pts := polyPixels(poly, cam, charsW, charsH)
if len(pts) < 3 {
continue
}
// Bounding-box cull
if !polyVisible(pts, r.pixelsW, r.pixelsH) {
continue
}
id := countryID[poly.Code]
if id == 0 {
continue
}
r.fillPoly(pts, id)
}
// 2) Stroke all outlines on top for crisp coasts.
for _, poly := range landPolys {
pts := polyPixels(poly, cam, charsW, charsH)
if len(pts) < 2 {
continue
}
if !polyVisible(pts, r.pixelsW, r.pixelsH) {
continue
}
r.strokePoly(pts)
}
_ = heatCodes
return r
}
func polyVisible(pts [][2]int, pw, ph int) bool {
any := false
for _, p := range pts {
if p[0] >= -2 && p[1] >= -2 && p[0] < pw+2 && p[1] < ph+2 {
any = true
break
}
}
return any
}
// String with per-cell coloring is built in render.go; expose braille only helper.
func (r *raster) plainString() string {
var b []byte
for y := 0; y < r.charsH; y++ {
if y > 0 {
b = append(b, '\n')
}
for x := 0; x < r.charsW; x++ {
rn := r.cellRune(x, y)
var tmp [utf8.UTFMax]byte
n := utf8.EncodeRune(tmp[:], rn)
b = append(b, tmp[:n]...)
}
}
return string(b)
}
+185 -66
View File
@@ -11,7 +11,9 @@ type StyleFunc func(color, s string) string
// Palette for map rendering.
type Palette struct {
Ocean string
Land string
Coast string
Grid string
Muted string
HeatLow string
@@ -24,25 +26,27 @@ type Palette struct {
Border string
}
// DefaultPalette matches hp-viz dark theme accents.
// DefaultPalette matches hp-viz dark theme + web map teal land.
func DefaultPalette() Palette {
return Palette{
Land: "#3d3520",
Grid: "#2a2520",
Ocean: "#0a1210",
Land: "#1a3a34",
Coast: "#3d6b62",
Grid: "#1a2522",
Muted: "#a8a29e",
HeatLow: "#78350f",
HeatLow: "#5c4a1a",
HeatMid: "#eab84d",
HeatHigh: "#f87171",
Pulse: "#2fe8da",
Peer: "#2fe8da",
Peer: "#5eead4",
Selected: "#fbbf24",
Honey: "#eab84d",
Border: "#3d3520",
}
}
// Render draws the world map into a multi-line string of size charsW×charsH.
// style may be nil (plain text). hits is filled for click testing.
// Render draws the world map (SVG-derived country outlines, braille-rasterized)
// into a multi-line truecolor string. hits is filled for click testing.
func Render(m RenderModel, p Palette, style StyleFunc, hits *[]HitRegion) string {
if style == nil {
style = func(_, s string) string { return s }
@@ -52,15 +56,29 @@ func Render(m RenderModel, p Palette, style StyleFunc, hits *[]HitRegion) string
return style(p.Muted, "map too small")
}
// Character buffer + optional color tags (store raw then style on emit).
maxCount := 1
for _, n := range m.Counts {
if n > maxCount {
maxCount = n
}
}
heatCodes := make(map[string]float64, len(m.Counts))
for code, n := range m.Counts {
if n > 0 {
heatCodes[NormalizeCode(code)] = math.Log1p(float64(n)) / math.Log1p(float64(maxCount))
}
}
rast := drawWorld(m.Cam, w, h, heatCodes)
type cell struct {
ch rune
color string
pri int // higher wins when overwriting
pri int
}
buf := make([]cell, w*h)
for i := range buf {
buf[i] = cell{ch: ' ', color: p.Muted, pri: 0}
buf[i] = cell{ch: ' ', color: p.Ocean, pri: 0}
}
set := func(x, y int, ch rune, color string, pri int) {
if x < 0 || y < 0 || x >= w || y >= h {
@@ -73,16 +91,27 @@ func Render(m RenderModel, p Palette, style StyleFunc, hits *[]HitRegion) string
buf[i] = cell{ch: ch, color: color, pri: pri}
}
// Subtle equator / prime meridian grid.
for x := 0; x < w; x++ {
_, ey, ok := Project(0, -180+360*float64(x)/float64(w), m.Cam, w, h)
if ok {
set(x, ey, '·', p.Grid, 1)
// Soft lat/lng grid behind land.
for lng := -180.0; lng <= 180; lng += 30 {
var prevX, prevY int
var hasPrev bool
for lat := -75.0; lat <= 75; lat += 3 {
x, y, ok := Project(lat, lng, m.Cam, w, h)
if !ok {
hasPrev = false
continue
}
if hasPrev {
// only mark points — dense grid clutter avoided
_ = prevX
_ = prevY
}
set(x, y, '·', p.Grid, 1)
prevX, prevY, hasPrev = x, y, true
}
}
// Longitude ticks at 0° / ±90
for _, lng := range []float64{-180, -90, 0, 90, 180} {
for lat := -60.0; lat <= 60; lat += 15 {
for lat := -60.0; lat <= 60; lat += 30 {
for lng := -180.0; lng <= 180; lng += 4 {
x, y, ok := Project(lat, lng, m.Cam, w, h)
if ok {
set(x, y, '·', p.Grid, 1)
@@ -90,24 +119,64 @@ func Render(m RenderModel, p Palette, style StyleFunc, hits *[]HitRegion) string
}
}
// Soft land hints: small markers for every known centroid (very dim).
for _, c := range Countries {
x, y, ok := Project(c.Lat, c.Lng, m.Cam, w, h)
if ok {
set(x, y, '·', p.Land, 2)
// Paint braille land / coasts / heat-filled countries.
for cy := 0; cy < h; cy++ {
for cx := 0; cx < w; cx++ {
if !rast.hasDot(cx, cy) {
continue
}
rn := rast.cellRune(cx, cy)
if rn == ' ' {
continue
}
id := rast.cellFillID(cx, cy)
code := idCode(id)
col := p.Land
pri := 4
if t, ok := heatCodes[code]; ok && t > 0 {
col = heatColor(t, p)
pri = 6
}
// Prefer brighter coast where only outline dots exist without much fill.
// (braille with few dots reads as coastline)
set(cx, cy, rn, col, pri)
}
}
maxCount := 1
for _, n := range m.Counts {
if n > maxCount {
maxCount = n
// Emphasize selected country: re-stroke with selected color.
if m.Selected != "" {
sel := NormalizeCode(m.Selected)
initCountryIndex()
for _, idx := range polysByCode[sel] {
pts := polyPixels(landPolys[idx], m.Cam, w, h)
// Draw thicker outline in cell space by stroking neighbors.
for i := 0; i < len(pts)-1; i++ {
strokeCells(set, pts[i], pts[i+1], p.Selected, 18)
}
if len(pts) >= 2 {
strokeCells(set, pts[len(pts)-1], pts[0], p.Selected, 18)
}
}
// Fill selected country cells brighter.
sid := codeID(sel)
if sid != 0 {
for cy := 0; cy < h; cy++ {
for cx := 0; cx < w; cx++ {
if rast.cellFillID(cx, cy) == sid {
rn := rast.cellRune(cx, cy)
if rn == ' ' {
rn = '⣿'
}
set(cx, cy, rn, p.Selected, 17)
}
}
}
}
}
localHits := make([]HitRegion, 0, len(m.Counts)+8)
localHits := make([]HitRegion, 0, len(m.Counts)+16)
// Heat markers.
// Heat centroid markers (readable labels on top of filled land).
for code, n := range m.Counts {
if n <= 0 {
continue
@@ -120,35 +189,27 @@ func Render(m RenderModel, p Palette, style StyleFunc, hits *[]HitRegion) string
if !on {
continue
}
t := math.Log1p(float64(n)) / math.Log1p(float64(maxCount))
t := heatCodes[NormalizeCode(code)]
ch, col := heatGlyph(t, p)
pri := 5
if code == m.Selected {
pri := 10
if NormalizeCode(code) == m.Selected {
ch = '◉'
col = p.Selected
pri = 20
} else if code == m.Hover {
pri = 15
pri = 22
} else if NormalizeCode(code) == m.Hover {
pri = 16
col = p.Honey
}
set(x, y, ch, col, pri)
// Size ring for large counts.
if t > 0.55 {
for _, d := range [][2]int{{-1, 0}, {1, 0}, {0, -1}, {0, 1}} {
set(x+d[0], y+d[1], '·', col, pri-1)
}
}
r := 1
if t > 0.4 {
r = 2
}
if t > 0.75 {
r = 3
}
localHits = append(localHits, HitRegion{Code: code, X: x, Y: y, R: r})
r := 1 + int(t*2)
localHits = append(localHits, HitRegion{Code: NormalizeCode(code), X: x, Y: y, R: r})
}
// Peer markers (outline-ish).
// Also allow clicking any filled land cell → country.
// Store larger hit regions from centroids primarily; hit test falls back via fill.
_ = rast
// Peer markers.
for code, n := range m.Peers {
if n <= 0 {
continue
@@ -161,9 +222,8 @@ func Render(m RenderModel, p Palette, style StyleFunc, hits *[]HitRegion) string
if !on {
continue
}
// Offset so heat and peer can coexist.
set(x+1, y-1, '◆', p.Peer, 12)
localHits = append(localHits, HitRegion{Code: code, X: x + 1, Y: y - 1, R: 1})
set(x+1, y-1, '◆', p.Peer, 14)
localHits = append(localHits, HitRegion{Code: NormalizeCode(code), X: x + 1, Y: y - 1, R: 1})
}
// Pulses.
@@ -182,11 +242,11 @@ func Render(m RenderModel, p Palette, style StyleFunc, hits *[]HitRegion) string
} else if pulse.Intensity < 0.7 {
ch = '◎'
}
set(x, y, ch, p.Pulse, 25)
if pulse.Intensity > 0.5 {
rad := 1 + int((1-pulse.Intensity)*2)
for _, d := range [][2]int{{-rad, 0}, {rad, 0}, {0, -rad}, {0, rad}} {
set(x+d[0], y+d[1], '·', p.Pulse, 18)
set(x, y, ch, p.Pulse, 26)
if pulse.Intensity > 0.45 {
rad := 1 + int((1-pulse.Intensity)*3)
for _, d := range [][2]int{{-rad, 0}, {rad, 0}, {0, -rad}, {0, rad}, {-rad, -rad}, {rad, rad}} {
set(x+d[0], y+d[1], '·', p.Pulse, 20)
}
}
}
@@ -195,17 +255,20 @@ func Render(m RenderModel, p Palette, style StyleFunc, hits *[]HitRegion) string
*hits = localHits
}
// Empty state message if no counts.
// Empty-data banner (still show world outline).
if len(m.Counts) == 0 {
msg := "No attack geo data yet"
msg := "No attack geo data yet — waiting for stats"
start := (w - len(msg)) / 2
if start < 0 {
start = 0
}
row := h / 2
for i, r := range msg {
row := h - 1
if row < 0 {
row = 0
}
for i, rn := range msg {
if start+i < w {
set(start+i, row, r, p.Muted, 30)
set(start+i, row, rn, p.Muted, 30)
}
}
}
@@ -215,7 +278,6 @@ func Render(m RenderModel, p Palette, style StyleFunc, hits *[]HitRegion) string
if y > 0 {
b.WriteByte('\n')
}
// Group runs of same color for fewer style calls.
runStart := 0
for x := 0; x <= w; x++ {
flush := x == w
@@ -230,7 +292,7 @@ func Render(m RenderModel, p Palette, style StyleFunc, hits *[]HitRegion) string
for i := runStart; i < x; i++ {
run.WriteRune(buf[y*w+i].ch)
}
col := p.Muted
col := p.Ocean
if runStart < w {
col = buf[y*w+runStart].color
}
@@ -243,6 +305,30 @@ func Render(m RenderModel, p Palette, style StyleFunc, hits *[]HitRegion) string
return b.String()
}
// HitTestFill resolves a click on filled land when centroid miss.
func HitTestFill(m RenderModel, cellX, cellY int) (string, bool) {
if cellX < 0 || cellY < 0 || cellX >= m.CharsW || cellY >= m.CharsH {
return "", false
}
rast := drawWorld(m.Cam, m.CharsW, m.CharsH, nil)
id := rast.cellFillID(cellX, cellY)
if id == 0 {
return "", false
}
return idCode(id), true
}
func heatColor(t float64, p Palette) string {
switch {
case t > 0.7:
return p.HeatHigh
case t > 0.35:
return p.HeatMid
default:
return p.HeatLow
}
}
func heatGlyph(t float64, p Palette) (rune, string) {
switch {
case t > 0.75:
@@ -256,12 +342,45 @@ func heatGlyph(t float64, p Palette) (rune, string) {
}
}
func strokeCells(set func(x, y int, ch rune, color string, pri int), a, b [2]int, color string, pri int) {
// a,b are pixel coords — convert to cells and mark.
x0, y0 := a[0]/2, a[1]/4
x1, y1 := b[0]/2, b[1]/4
dx := absInt(x1 - x0)
dy := -absInt(y1 - y0)
sx := -1
if x0 < x1 {
sx = 1
}
sy := -1
if y0 < y1 {
sy = 1
}
err := dx + dy
for {
set(x0, y0, '⣿', color, pri)
if x0 == x1 && y0 == y1 {
break
}
e2 := 2 * err
if e2 >= dy {
err += dy
x0 += sx
}
if e2 <= dx {
err += dx
y0 += sy
}
}
}
// FormatLegend returns a one-line legend.
func FormatLegend(style StyleFunc, p Palette) string {
if style == nil {
style = func(_, s string) string { return s }
}
parts := []string{
style(p.Land, "⣿") + style(p.Muted, " land"),
style(p.HeatHigh, "●") + style(p.Muted, " heat"),
style(p.Pulse, "◎") + style(p.Muted, " pulse"),
style(p.Peer, "◆") + style(p.Muted, " peer"),
@@ -282,7 +401,7 @@ func FormatStatus(rangeMode Range, selected string, count, peers int, cam Camera
sel += fmt.Sprintf(" · %d peers", peers)
}
}
return fmt.Sprintf("range [%s] · zoom %.2f · select: %s · [ ] range 0 reset click/j k select enter filter",
return fmt.Sprintf("range [%s] · zoom %.2f · select: %s · [ ] range 0 reset click/j k enter filter",
rangeMode.Label(), cam.Zoom, sel)
}
+9 -3
View File
@@ -329,9 +329,9 @@ func (s *State) SetHits(hits []HitRegion) {
}
// HitTest returns the country under cell (x,y), if any.
// Prefers centroid hit regions, then falls back to filled land polygons.
func (s *State) HitTest(x, y int) (string, bool) {
s.mu.Lock()
defer s.mu.Unlock()
best := ""
bestD := 1 << 30
for _, h := range s.hits {
@@ -347,10 +347,16 @@ func (s *State) HitTest(x, y int) (string, bool) {
best = h.Code
}
}
if best == "" {
cam := s.cam
cw, ch := s.charsW, s.charsH
s.mu.Unlock()
if best != "" {
return best, true
}
if cw < 1 || ch < 1 {
return "", false
}
return best, true
return HitTestFill(RenderModel{Cam: cam, CharsW: cw, CharsH: ch}, x, y)
}
// CountFor returns the active-range count for a code.