summaryrefslogtreecommitdiffstats
path: root/tools/h5dump/h5dump.c
blob: 1f34b657b04ed3d87f1794a15f27c6cd6fc9f087 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Copyright by The HDF Group.                                               *
 * Copyright by the Board of Trustees of the University of Illinois.         *
 * All rights reserved.                                                      *
 *                                                                           *
 * This file is part of HDF5.  The full HDF5 copyright notice, including     *
 * terms governing use, modification, and redistribution, is contained in    *
 * the files COPYING and Copyright.html.  COPYING can be found at the root   *
 * of the source code distribution tree; Copyright.html can be found at the  *
 * root level of an installed copy of the electronic HDF5 document set and   *
 * is linked from the top-level documents page.  It can also be found at     *
 * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
 * access to either file, you may request a copy from help@hdfgroup.org.     *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <stdio.h>
#include <stdlib.h>

#include "h5dump.h"
#include "H5private.h"
#include "h5tools.h"
#include "h5tools_utils.h"
#include "h5tools_ref.h"
#include "h5trav.h"


/* module-scoped variables */
const char  *progname = "h5dump";

/* Macros for displaying objects */
#define begin_obj(obj,name,begin)                               \
    if (name)                                                   \
        printf("%s \"%s\" %s\n", (obj), (name), (begin));       \
    else                                                        \
        printf("%s %s\n", (obj), (begin));

#define end_obj(obj,end)                                        \
    if(HDstrlen(end)) {                                         \
        printf("%s", end);                                      \
        if(HDstrlen(obj))                                       \
            printf(" ");                                        \
    }                                                           \
    if(HDstrlen(obj))                                           \
        printf("%s", obj);                                      \
    printf("\n");

/* 3 private values: can't be set, but can be read.
   Note: these are defined in H5Zprivate, they are
   duplicated here.
 */
#define H5_SZIP_LSB_OPTION_MASK         8
#define H5_SZIP_MSB_OPTION_MASK         16
#define H5_SZIP_RAW_OPTION_MASK         128

int                 d_status = EXIT_SUCCESS;
static int          unamedtype = 0;     /* shared data type with no name */
static table_t      *group_table = NULL, *dset_table = NULL, *type_table = NULL;
static size_t       prefix_len = 1024;
static char         *prefix;
static const char   *driver = NULL;      /* The driver to open the file with. */
static const h5dump_header_t *dump_header_format;

/* things to display or which are set via command line parameters */
static int          display_all       = TRUE;
static int          display_oid       = FALSE;
static int          display_data      = TRUE;
static int          display_attr_data = TRUE;
static int          display_char      = FALSE; /*print 1-byte numbers as ASCII */
static int          usingdasho        = FALSE;
static int          display_bb        = FALSE; /*superblock */
static int          display_dcpl      = FALSE; /*dcpl */
static int          display_fi        = FALSE; /*file index */
static int          display_ai        = TRUE;  /*array index */
static int          display_escape    = FALSE; /*escape non printable characters */

/**
 **  Added for XML  **
 **/

/* module-scoped variables for XML option */
#define DEFAULT_XSD     "http://hdfgroup.org/DTDs/HDF5-File.xsd"
#define DEFAULT_DTD     "http://hdfgroup.org/DTDs/HDF5-File.dtd"

static int              doxml = 0;
static int              useschema = 1;
static const char       *xml_dtd_uri = NULL;
static const char       *xmlnsprefix="hdf5:";
static int              indent;              /*how far in to indent the line         */

/** end XML **/

/* internal functions */
static hid_t    h5_fileaccess(void);
static void     dump_oid(hid_t oid);
static void     print_enum(hid_t type);
static herr_t   dump_all(hid_t group, const char *name, void *op_data);
static int      xml_name_to_XID(const char *, char *, int , int );
static void     init_prefix(char **prfx, size_t prfx_len);
static void     add_prefix(char **prfx, size_t *prfx_len, const char *name);


static h5tool_format_t         dataformat = {
    0,				/*raw */

    "",				/*fmt_raw */
    "%d",			/*fmt_int */
    "%u",			/*fmt_uint */
    "%d",			/*fmt_schar */
    "%u",			/*fmt_uchar */
    "%d",			/*fmt_short */
    "%u",			/*fmt_ushort */
    "%ld",			/*fmt_long */
    "%lu",			/*fmt_ulong */
    NULL,			/*fmt_llong */
    NULL,			/*fmt_ullong */
    "%g",			/*fmt_double */
    "%g",			/*fmt_float */

    0,				/*ascii */
    0,				/*str_locale */
    0,				/*str_repeat */

    "[ ",			/*arr_pre */
    ",",			/*arr_sep */
    " ]",			/*arr_suf */
    1,				/*arr_linebreak */

    "",				/*cmpd_name */
    ",\n",			/*cmpd_sep */
    "{\n",			/*cmpd_pre */
    "}",			/*cmpd_suf */
    "\n",			/*cmpd_end */

    ", ",			/*vlen_sep */
    "(",			/*vlen_pre */
    ")",			/*vlen_suf */
    "",				/*vlen_end */

    "%s",			/*elmt_fmt */
    ",",			/*elmt_suf1 */
    " ",			/*elmt_suf2 */

    "",				/*idx_n_fmt */
    "",				/*idx_sep */
    "",				/*idx_fmt */

    80,				/*line_ncols *//*standard default columns */
    0,				/*line_per_line */
    "",				/*line_pre */
    "%s",			/*line_1st */
    "%s",			/*line_cont */
    "",				/*line_suf */
    "",				/*line_sep */
    1,				/*line_multi_new */
    "   ",			/*line_indent */

    1,				/*skip_first */

    1,				/*obj_hidefileno */
    " "H5_PRINTF_HADDR_FMT,	/*obj_format */

    1,				/*dset_hidefileno */
    "DATASET %s ",  /*dset_format */
    "%s",			/*dset_blockformat_pre */
    "%s",			/*dset_ptformat_pre */
    "%s",			/*dset_ptformat */
    1,                          /*array indices */
    1                           /*escape non printable characters */
};

/**
 **  Added for XML  **
 **/
/*
 *  Alternative formating for data dumped to XML
 *  In general, the numbers are the same, but separators
 *  except spaces are not used.
 *
 *  Some of these are not used, as some kinds of data are
 *  dumped in completely new subroutines.
 *
 *  Some of this formatting may yet need to change.
 *
 *  This table only affects XML output.
 */
static h5tool_format_t         xml_dataformat = {
    0,				/*raw */

    "",				/*fmt_raw */
    "%d",			/*fmt_int */
    "%u",			/*fmt_uint */
    "%d",			/*fmt_schar */
    "%u",			/*fmt_uchar */
    "%d",			/*fmt_short */
    "%u",			/*fmt_ushort */
    "%ld",			/*fmt_long */
    "%lu",			/*fmt_ulong */
    NULL,			/*fmt_llong */
    NULL,			/*fmt_ullong */
    "%g",			/*fmt_double */
    "%g",			/*fmt_float */

    0,				/*ascii */
    0,				/*str_locale */
    0,				/*str_repeat */

    " ",			/*arr_pre */
    "",				/*arr_sep */
    "",				/*arr_suf */
    1,				/*arr_linebreak */

    "",				/*cmpd_name */
    " ",			/*cmpd_sep */
    "",				/*cmpd_pre */
    "",				/*cmpd_suf */
    "",				/*cmpd_end */

    " ",			/*vlen_sep */
    " ",			/*vlen_pre */
    "",				/*vlen_suf */
    "",				/*vlen_end */

    "%s",			/*elmt_fmt */
    "",				/*elmt_suf1 */
    " ",			/*elmt_suf2 */

    "",				/*idx_n_fmt */
    "",				/*idx_sep */
    "",				/*idx_fmt */

    80,				/*line_ncols *//*standard default columns */
    0,				/*line_per_line */
    "",				/*line_pre */
    "%s",			/*line_1st */
    "%s",			/*line_cont */
    "",				/*line_suf */
    "",				/*line_sep */
    1,				/*line_multi_new */
    "   ",			/*line_indent */

    1,				/*skip_first */

    1,				/*obj_hidefileno */
    " "H5_PRINTF_HADDR_FMT,	/*obj_format */

    1,				/*dset_hidefileno */
    "DATASET %s ",  /*dset_format */
    "%s",			/*dset_blockformat_pre */
    "%s",			/*dset_ptformat_pre */
    "%s",			/*dset_ptformat */
     0,                         /*array indices */
     0                          /*escape non printable characters */
};

/** XML **/

static const h5dump_header_t standardformat = {
    "standardformat",		/*name */
    "HDF5",			/*fileebgin */
    "",				/*fileend */
    SUPER_BLOCK,			/*bootblockbegin */
    "",				/*bootblockend */
    GROUP,			/*groupbegin */
    "",				/*groupend */
    DATASET,			/*datasetbegin */
    "",				/*datasetend */
    ATTRIBUTE,			/*attributebegin */
    "",				/*attributeend */
    DATATYPE,			/*datatypebegin */
    "",				/*datatypeend */
    DATASPACE,			/*dataspacebegin */
    "",				/*dataspaceend */
    DATA,			/*databegin */
    "",				/*dataend */
    SOFTLINK,			/*softlinkbegin */
    "",				/*softlinkend */
    EXTLINK,			/*extlinkbegin */
    "",				/*extlinkend */
    UDLINK,			/*udlinkbegin */
    "",				/*udlinkend */
    SUBSET,			/*subsettingbegin */
    "",				/*subsettingend */
    START,			/*startbegin */
    "",				/*startend */
    STRIDE,			/*stridebegin */
    "",				/*strideend */
    COUNT,			/*countbegin */
    "",				/*countend */
    BLOCK,			/*blockbegin */
    "",				/*blockend */

    "{",			/*fileblockbegin */
    "}",			/*fileblockend */
    "{",			/*bootblockblockbegin */
    "}",			/*bootblockblockend */
    "{",			/*groupblockbegin */
    "}",			/*groupblockend */
    "{",			/*datasetblockbegin */
    "}",			/*datasetblockend */
    "{",			/*attributeblockbegin */
    "}",			/*attributeblockend */
    "",				/*datatypeblockbegin */
    "",				/*datatypeblockend */
    "",				/*dataspaceblockbegin */
    "",				/*dataspaceblockend */
    "{",			/*datablockbegin */
    "}",			/*datablockend */
    "{",			/*softlinkblockbegin */
    "}",			/*softlinkblockend */
    "{",			/*extlinkblockbegin */
    "}",			/*extlinkblockend */
    "{",			/*udlinkblockbegin */
    "}",			/*udlinkblockend */
    "{",			/*strblockbegin */
    "}",			/*strblockend */
    "{",			/*enumblockbegin */
    "}",			/*enumblockend */
    "{",			/*structblockbegin */
    "}",			/*structblockend */
    "{",			/*vlenblockbegin */
    "}",			/*vlenblockend */
    "{",                        /*subsettingblockbegin */
    "}",                        /*subsettingblockend */
    "(",                        /*startblockbegin */
    ");",                       /*startblockend */
    "(",                        /*strideblockbegin */
    ");",                       /*strideblockend */
    "(",                        /*countblockbegin */
    ");",                       /*countblockend */
    "(",                        /*blockblockbegin */
    ");",                       /*blockblockend */

    "",				/*dataspacedescriptionbegin */
    "",				/*dataspacedescriptionend */
    "(",			/*dataspacedimbegin */
    ")",			/*dataspacedimend */
};

/**
 ** Added for XML **
 **/
/* internal functions used by XML option */
static void             xml_print_datatype(hid_t, unsigned);
static void             xml_print_enum(hid_t);
static int              xml_print_refs(hid_t, int);
static int              xml_print_strs(hid_t, int);
static char            *xml_escape_the_string(const char *, int);
static char            *xml_escape_the_name(const char *);

/* a structure for handling the order command-line parameters come in */
struct handler_t {
    void (*func)(hid_t, char *, void *);
    char *obj;
    struct subset_t *subset_info;
};

/*
 * Command-line options: The user can specify short or long-named
 * parameters. The long-named ones can be partially spelled. When
 * adding more, make sure that they don't clash with each other.
 */
static const char *s_opts = "hnpeyBHirVa:c:d:f:g:k:l:t:w:xD:uX:o:b:F:s:S:A";
static struct long_options l_opts[] = {
    { "help", no_arg, 'h' },
    { "hel", no_arg, 'h' },
    { "contents", no_arg, 'n' },
    { "properties", no_arg, 'p' },
    { "boot-block", no_arg, 'B' },
    { "boot-bloc", no_arg, 'B' },
    { "boot-blo", no_arg, 'B' },
    { "boot-bl", no_arg, 'B' },
    { "boot-b", no_arg, 'B' },
    { "boot", no_arg, 'B' },
    { "boo", no_arg, 'B' },
    { "bo", no_arg, 'B' },
    { "header", no_arg, 'H' },
    { "heade", no_arg, 'H' },
    { "head", no_arg, 'H' },
    { "hea", no_arg, 'H' },
    { "object-ids", no_arg, 'i' },
    { "object-id", no_arg, 'i' },
    { "object-i", no_arg, 'i' },
    { "object", no_arg, 'i' },
    { "objec", no_arg, 'i' },
    { "obje", no_arg, 'i' },
    { "obj", no_arg, 'i' },
    { "ob", no_arg, 'i' },
    { "version", no_arg, 'V' },
    { "versio", no_arg, 'V' },
    { "versi", no_arg, 'V' },
    { "vers", no_arg, 'V' },
    { "ver", no_arg, 'V' },
    { "ve", no_arg, 'V' },
    { "attribute", require_arg, 'a' },
    { "attribut", require_arg, 'a' },
    { "attribu", require_arg, 'a' },
    { "attrib", require_arg, 'a' },
    { "attri", require_arg, 'a' },
    { "attr", require_arg, 'a' },
    { "att", require_arg, 'a' },
    { "at", require_arg, 'a' },
    { "block", require_arg, 'k' },
    { "bloc", require_arg, 'k' },
    { "blo", require_arg, 'k' },
    { "bl", require_arg, 'k' },
    { "count", require_arg, 'c' },
    { "coun", require_arg, 'c' },
    { "cou", require_arg, 'c' },
    { "co", require_arg, 'c' },
    { "dataset", require_arg, 'd' },
    { "datase", require_arg, 'd' },
    { "datas", require_arg, 'd' },
    { "datatype", require_arg, 't' },
    { "datatyp", require_arg, 't' },
    { "dataty", require_arg, 't' },
    { "datat", require_arg, 't' },
    { "filedriver", require_arg, 'f' },
    { "filedrive", require_arg, 'f' },
    { "filedriv", require_arg, 'f' },
    { "filedri", require_arg, 'f' },
    { "filedr", require_arg, 'f' },
    { "filed", require_arg, 'f' },
    { "file", require_arg, 'f' },
    { "fil", require_arg, 'f' },
    { "fi", require_arg, 'f' },
    { "group", require_arg, 'g' },
    { "grou", require_arg, 'g' },
    { "gro", require_arg, 'g' },
    { "gr", require_arg, 'g' },
    { "output", require_arg, 'o' },
    { "outpu", require_arg, 'o' },
    { "outp", require_arg, 'o' },
    { "out", require_arg, 'o' },
    { "ou", require_arg, 'o' },
    { "soft-link", require_arg, 'l' },
    { "soft-lin", require_arg, 'l' },
    { "soft-li", require_arg, 'l' },
    { "soft-l", require_arg, 'l' },
    { "soft", require_arg, 'l' },
    { "sof", require_arg, 'l' },
    { "so", require_arg, 'l' },
    { "start", require_arg, 's' },
    { "star", require_arg, 's' },
    { "sta", require_arg, 's' },
    { "stride", require_arg, 'S' },
    { "strid", require_arg, 'S' },
    { "string", no_arg, 'r' },
    { "strin", no_arg, 'r' },
    { "use-dtd", no_arg, 'u' },
    { "use-dt", no_arg, 'u' },
    { "use-d", no_arg, 'u' },
    { "use-", no_arg, 'u' },
    { "use", no_arg, 'u' },
    { "us", no_arg, 'u' },
    { "u", no_arg, 'u' },
    { "width", require_arg, 'w' },
    { "widt", require_arg, 'w' },
    { "wid", require_arg, 'w' },
    { "wi", require_arg, 'w' },
    { "xml-dtd", require_arg, 'D' },
    { "xml-dt", require_arg, 'D' },
    { "xml-d", require_arg, 'D' },
    { "xml-ns", require_arg, 'X' },
    { "xml-n", require_arg, 'X' },
    { "xml", no_arg, 'x' },
    { "xm", no_arg, 'x' },
    { "onlyattr", no_arg, 'A' },
    { "escape", no_arg, 'e' },
    { "noindex", no_arg, 'y' },
    { "binary", require_arg, 'b' },
    { "form", require_arg, 'F' },
    { NULL, 0, '\0' }
};

/**
 **  Change for XML  **
 **
 **  The 'dump_xxx' functions have two versions, standard and XML.
 **
 **    They are called indirectly through the 'dump_function_table'.
 **    e.g., dump_group(...) becomes dump_functions->dump_group(...);
 **
 **    The standard functions are unchanged except for the way
 **    they are called
 **/

/* The dump functions of the dump_function_table */

/* standard format:  no change */
static void             dump_group(hid_t, const char *);
static void             dump_named_datatype(hid_t, const char *);
static void             dump_dataset(hid_t, const char *, struct subset_t *);
static void             dump_dataspace(hid_t space);
static void             dump_datatype(hid_t type);
static herr_t           dump_attr(hid_t, const char *, void *);
static void             dump_data(hid_t, int, struct subset_t *, int);
static void             dump_dcpl(hid_t dcpl, hid_t type_id, hid_t obj_id);
static void             dump_comment(hid_t obj_id);
static void             dump_fcpl(hid_t fid);
static void             dump_fcontents(hid_t fid);

/* XML format:   same interface, alternative output */

static void             xml_dump_group(hid_t, const char *);
static void             xml_dump_named_datatype(hid_t, const char *);
static void             xml_dump_dataset(hid_t, const char *, struct subset_t *);
static void             xml_dump_dataspace(hid_t space);
static void             xml_dump_datatype(hid_t type);
static herr_t           xml_dump_attr(hid_t, const char *, void *);
static void             xml_dump_data(hid_t, int, struct subset_t *, int);

/**
 ** Added for XML **
 **
 **  This is the global dispatch table for the dump functions.
 **/
/* the table of dump functions */
typedef struct dump_functions_t {
    void                (*dump_group_function) (hid_t, const char *);
    void                (*dump_named_datatype_function) (hid_t, const char *);
    void                (*dump_dataset_function) (hid_t, const char *, struct subset_t *);
    void                (*dump_dataspace_function) (hid_t);
    void                (*dump_datatype_function) (hid_t);
    herr_t              (*dump_attribute_function) (hid_t, const char *, void *);
    void                (*dump_data_function) (hid_t, int, struct subset_t *, int);
} dump_functions;

/* Standard DDL output */
static const dump_functions ddl_function_table = {
    dump_group,
    dump_named_datatype,
    dump_dataset,
    dump_dataspace,
    dump_datatype,
    dump_attr,
    dump_data
};

/* XML output */
static const dump_functions xml_function_table = {
    xml_dump_group,
    xml_dump_named_datatype,
    xml_dump_dataset,
    xml_dump_dataspace,
    xml_dump_datatype,
    xml_dump_attr,
    xml_dump_data
};

/*
 * The global table is set to either ddl_function_table or
 * xml_function_table in the initialization.
 */
static const dump_functions *dump_function_table;


/*-------------------------------------------------------------------------
 * Function:    leave
 *
 * Purpose:     Shutdown MPI & HDF5 and call exit()
 *
 * Return:      Does not return
 *
 * Programmer:  Quincey Koziol
 *              Saturday, 31. January 2004
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
leave(int ret)
{
    h5tools_close();

    exit(ret);
}


/*-------------------------------------------------------------------------
 * Function:    usage
 *
 * Purpose:     Print the usage message about dumper
 *
 * Return:      void
 *
 * Programmer:  Ruey-Hsia Li
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
usage(const char *prog)
{
    fflush(stdout);
    fprintf(stdout, "usage: %s [OPTIONS] file\n", prog);
    fprintf(stdout, "  OPTIONS\n");
    fprintf(stdout, "     -h, --help           Print a usage message and exit\n");
    fprintf(stdout, "     -n, --contents       Print a list of the file contents and exit\n");
    fprintf(stdout, "     -B, --bootblock      Print the content of the boot block\n");
    fprintf(stdout, "     -H, --header         Print the header only; no data is displayed\n");
    fprintf(stdout, "     -A, --onlyattr       Print the header and value of attributes; data \n");
    fprintf(stdout, "                          of datasets is not displayed\n");
    fprintf(stdout, "     -i, --object-ids     Print the object ids\n");
    fprintf(stdout, "     -r, --string         Print 1-byte integer datasets as ASCII\n");
    fprintf(stdout, "     -e, --escape         Escape non printing characters\n");
    fprintf(stdout, "     -V, --version        Print version number and exit\n");
    fprintf(stdout, "     -a P, --attribute=P  Print the specified attribute\n");
    fprintf(stdout, "     -d P, --dataset=P    Print the specified dataset\n");
    fprintf(stdout, "     -y, --noindex        Do not print array indices with the data\n");
    fprintf(stdout, "     -p,   --properties   Print dataset filters, storage layout and fill value\n");
    fprintf(stdout, "     -f D, --filedriver=D Specify which driver to open the file with\n");
    fprintf(stdout, "     -g P, --group=P      Print the specified group and all members\n");
    fprintf(stdout, "     -l P, --soft-link=P  Print the value(s) of the specified soft link\n");
    fprintf(stdout, "     -o F, --output=F     Output raw data into file F\n");
    fprintf(stdout, "     -b B, --binary=B     Binary file output, of form B. Recommended usage is\n");
    fprintf(stdout, "                          with -o (output file) and -d (dataset). B can be:\n");
    fprintf(stdout, "                          MEMORY for a memory type, FILE for the file type,\n");
    fprintf(stdout, "                          LE or BE for pre-existing little or big endian types\n");
    fprintf(stdout, "     -t P, --datatype=P   Print the specified named data type\n");
    fprintf(stdout, "     -w N, --width=N      Set the number of columns of output\n");
    fprintf(stdout, "     -x, --xml            Output in XML using Schema\n");
    fprintf(stdout, "     -u, --use-dtd        Output in XML using DTD\n");
    fprintf(stdout, "     -D U, --xml-dtd=U    Use the DTD or schema at U\n");
    fprintf(stdout, "     -X S, --xml-ns=S      (XML Schema) Use qualified names n the XML\n");
    fprintf(stdout, "                          \":\": no namespace, default: \"hdf5:\"\n");
    fprintf(stdout, "                          E.g., to dump a file called `-f', use h5dump -- -f\n");
    fprintf(stdout, "\n");
    fprintf(stdout, " Subsetting is available by using the following options with a dataset\n");
    fprintf(stdout, " attribute. Subsetting is done by selecting a hyperslab from the data.\n");
    fprintf(stdout, " Thus, the options mirror those for performing a hyperslab selection.\n");
    fprintf(stdout, " The START and COUNT parameters are mandatory if you do subsetting.\n");
    fprintf(stdout, " The STRIDE and BLOCK parameters are optional and will default to 1 in\n");
    fprintf(stdout, " each dimension.\n");
    fprintf(stdout, "\n");
    fprintf(stdout, "      -s L, --start=L     Offset of start of subsetting selection\n");
    fprintf(stdout, "      -S L, --stride=L    Hyperslab stride\n");
    fprintf(stdout, "      -c L, --count=L     Number of blocks to include in selection\n");
    fprintf(stdout, "      -k L, --block=L     Size of block in hyperslab\n");
    fprintf(stdout, "\n");
    fprintf(stdout, "  D - is the file driver to use in opening the file. Acceptable values\n");
    fprintf(stdout, "        are \"sec2\", \"family\", \"split\", \"multi\", \"direct\", and \"stream\". Without\n");
    fprintf(stdout, "        the file driver flag, the file will be opened with each driver in\n");
    fprintf(stdout, "        turn and in the order specified above until one driver succeeds\n");
    fprintf(stdout, "        in opening the file.\n");
    fprintf(stdout, "  F - is a filename.\n");
    fprintf(stdout, "  P - is the full path from the root group to the object.\n");
    fprintf(stdout, "  N - is an integer greater than 1.\n");
    fprintf(stdout, "  L - is a list of integers the number of which are equal to the\n");
    fprintf(stdout, "        number of dimensions in the dataspace being queried\n");
    fprintf(stdout, "  U - is a URI reference (as defined in [IETF RFC 2396],\n");
    fprintf(stdout, "        updated by [IETF RFC 2732])\n");
    fprintf(stdout, "\n");
    fprintf(stdout, "  Examples:\n");
    fprintf(stdout, "\n");
    fprintf(stdout, "  1) Attribute foo of the group /bar_none in file quux.h5\n");
    fprintf(stdout, "\n");
    fprintf(stdout, "     	h5dump -a /bar_none/foo quux.h5\n");
    fprintf(stdout, "\n");
    fprintf(stdout, "  2) Selecting a subset from dataset /foo in file quux.h5\n");
    fprintf(stdout, "\n");
    fprintf(stdout, "      h5dump -d /foo -s \"0,1\" -S \"1,1\" -c \"2,3\" -k \"2,2\" quux.h5\n");
    fprintf(stdout, "\n");
    fprintf(stdout, "  3) Saving dataset 'dset' in file quux.h5 to binary file 'out.bin' using a little-endian type \n");
    fprintf(stdout, "\n");
    fprintf(stdout, "      h5dump -d /dset -b LE -o out.bin quux.h5\n");
    fprintf(stdout, "\n");
}

/*-------------------------------------------------------------------------
 * Function:    print_datatype
 *
 * Purpose:     print the data type.
 *
 * Return:      void
 *
 * Programmer:  Ruey-Hsia Li
 *
 * Modifications: pvn, March 28, 2006
 *  print information about type when a native match is not possible
 *
 *-------------------------------------------------------------------------
 */
static void
print_datatype(hid_t type,unsigned in_group)
{
    char       *mname;
    hid_t       mtype, str_type;
    unsigned    nmembers;
    unsigned    ndims;
    unsigned    i;
    size_t      size=0;
    hsize_t     dims[H5DUMP_MAX_RANK];
    H5T_str_t   str_pad;
    H5T_cset_t  cset;
    H5T_order_t order;
    hid_t       super;
    hid_t       tmp_type;
    htri_t      is_vlstr=FALSE;
    const char  *order_s=NULL;  /* byte order string */
    H5T_sign_t  sign;           /* sign scheme value */
    const char  *sign_s=NULL;   /* sign scheme string */

    if (!in_group && H5Tcommitted(type) > 0) {
        H5G_stat_t  statbuf;
        haddr_t objno;  /* Compact form of object's location */
        obj_t  *obj;    /* Found object */

        H5Gget_objinfo(type, ".", TRUE, &statbuf);
        objno = (haddr_t)statbuf.objno[0] | ((haddr_t)statbuf.objno[1] << (8 * sizeof(long)));
        obj = search_obj(type_table, objno);

        if (obj) {
            if (!obj->recorded)
                HDfprintf(stdout,"\"/#%a\"", obj->objno);
            else
                printf("\"%s\"", obj->objname);
        } else {
            error_msg(progname, "unknown committed type.\n");
            d_status = EXIT_FAILURE;
        }
    } else {
        switch (H5Tget_class(type)) {
        case H5T_INTEGER:
            if (H5Tequal(type, H5T_STD_I8BE)==TRUE) {
                printf("H5T_STD_I8BE");
            } else if (H5Tequal(type, H5T_STD_I8LE)==TRUE) {
                printf("H5T_STD_I8LE");
            } else if (H5Tequal(type, H5T_STD_I16BE)==TRUE) {
                printf("H5T_STD_I16BE");
            } else if (H5Tequal(type, H5T_STD_I16LE)==TRUE) {
                printf("H5T_STD_I16LE");
            } else if (H5Tequal(type, H5T_STD_I32BE)==TRUE) {
                printf("H5T_STD_I32BE");
            } else if (H5Tequal(type, H5T_STD_I32LE)==TRUE) {
                printf("H5T_STD_I32LE");
            } else if (H5Tequal(type, H5T_STD_I64BE)==TRUE) {
                printf("H5T_STD_I64BE");
            } else if (H5Tequal(type, H5T_STD_I64LE)==TRUE) {
                printf("H5T_STD_I64LE");
            } else if (H5Tequal(type, H5T_STD_U8BE)==TRUE) {
                printf("H5T_STD_U8BE");
            } else if (H5Tequal(type, H5T_STD_U8LE)==TRUE) {
                printf("H5T_STD_U8LE");
            } else if (H5Tequal(type, H5T_STD_U16BE)==TRUE) {
                printf("H5T_STD_U16BE");
            } else if (H5Tequal(type, H5T_STD_U16LE)==TRUE) {
                printf("H5T_STD_U16LE");
            } else if (H5Tequal(type, H5T_STD_U32BE)==TRUE) {
                printf("H5T_STD_U32BE");
            } else if (H5Tequal(type, H5T_STD_U32LE)==TRUE) {
                printf("H5T_STD_U32LE");
            } else if (H5Tequal(type, H5T_STD_U64BE)==TRUE) {
                printf("H5T_STD_U64BE");
            } else if (H5Tequal(type, H5T_STD_U64LE)==TRUE) {
                printf("H5T_STD_U64LE");
            } else if (H5Tequal(type, H5T_NATIVE_SCHAR)==TRUE) {
                printf("H5T_NATIVE_SCHAR");
            } else if (H5Tequal(type, H5T_NATIVE_UCHAR)==TRUE) {
                printf("H5T_NATIVE_UCHAR");
            } else if (H5Tequal(type, H5T_NATIVE_SHORT)==TRUE) {
                printf("H5T_NATIVE_SHORT");
            } else if (H5Tequal(type, H5T_NATIVE_USHORT)==TRUE) {
                printf("H5T_NATIVE_USHORT");
            } else if (H5Tequal(type, H5T_NATIVE_INT)==TRUE) {
                printf("H5T_NATIVE_INT");
            } else if (H5Tequal(type, H5T_NATIVE_UINT)==TRUE) {
                printf("H5T_NATIVE_UINT");
            } else if (H5Tequal(type, H5T_NATIVE_LONG)==TRUE) {
                printf("H5T_NATIVE_LONG");
            } else if (H5Tequal(type, H5T_NATIVE_ULONG)==TRUE) {
                printf("H5T_NATIVE_ULONG");
            } else if (H5Tequal(type, H5T_NATIVE_LLONG)==TRUE) {
                printf("H5T_NATIVE_LLONG");
            } else if (H5Tequal(type, H5T_NATIVE_ULLONG)==TRUE) {
                printf("H5T_NATIVE_ULLONG");
            } else {

             /* byte order */
             if (H5Tget_size(type)>1)
             {
              order = H5Tget_order(type);
              if (H5T_ORDER_LE==order) {
               order_s = " little-endian";
              } else if (H5T_ORDER_BE==order) {
               order_s = " big-endian";
              } else if (H5T_ORDER_VAX==order) {
               order_s = " mixed-endian";
              } else {
               order_s = " unknown-byte-order";
              }
             } else {
              order_s = "";
             }

             /* sign */
             if ((sign=H5Tget_sign(type))>=0)
             {
              if (H5T_SGN_NONE==sign) {
               sign_s = " unsigned";
              } else if (H5T_SGN_2==sign) {
               sign_s = "";
              } else {
               sign_s = " unknown-sign";
              }
             } else {
              sign_s = " unknown-sign";
             }

             /* print size, order, and sign  */
             printf("%lu-bit%s%s integer",
              (unsigned long)(8*H5Tget_size(type)), order_s, sign_s);
            }
            break;

        case H5T_FLOAT:
            if (H5Tequal(type, H5T_IEEE_F32BE)==TRUE) {
                printf("H5T_IEEE_F32BE");
            } else if (H5Tequal(type, H5T_IEEE_F32LE)==TRUE) {
                printf("H5T_IEEE_F32LE");
            } else if (H5Tequal(type, H5T_IEEE_F64BE)==TRUE) {
                printf("H5T_IEEE_F64BE");
            } else if (H5Tequal(type, H5T_IEEE_F64LE)==TRUE) {
                printf("H5T_IEEE_F64LE");
            } else if (H5Tequal(type, H5T_VAX_F32)==TRUE) {
                printf("H5T_VAX_F32");
            } else if (H5Tequal(type, H5T_VAX_F64)==TRUE) {
                printf("H5T_VAX_F64");
            } else if (H5Tequal(type, H5T_NATIVE_FLOAT)==TRUE) {
                printf("H5T_NATIVE_FLOAT");
            } else if (H5Tequal(type, H5T_NATIVE_DOUBLE)==TRUE) {
                printf("H5T_NATIVE_DOUBLE");
#if H5_SIZEOF_LONG_DOUBLE !=0
            } else if (H5Tequal(type, H5T_NATIVE_LDOUBLE)==TRUE) {
                printf("H5T_NATIVE_LDOUBLE");
#endif
            } else {

             /* byte order */
             if (H5Tget_size(type)>1)
             {
              order = H5Tget_order(type);
              if (H5T_ORDER_LE==order) {
               order_s = " little-endian";
              } else if (H5T_ORDER_BE==order) {
               order_s = " big-endian";
              } else if (H5T_ORDER_VAX==order) {
               order_s = " mixed-endian";
              } else {
               order_s = " unknown-byte-order";
              }
             } else {
              order_s = "";
             }

             /* print size and byte order */
             printf("%lu-bit%s floating-point",
              (unsigned long)(8*H5Tget_size(type)), order_s);

            }
            break;

        case H5T_TIME:
            printf("H5T_TIME: not yet implemented");
            break;

        case H5T_STRING:
            /* Make a copy of type in memory in case when TYPE is on disk, the size
             * will be bigger than in memory.  This makes it easier to compare
             * types in memory. */
            tmp_type = H5Tcopy(type);
            size = H5Tget_size(tmp_type);
            str_pad = H5Tget_strpad(tmp_type);
            cset = H5Tget_cset(tmp_type);
            is_vlstr = H5Tis_variable_str(tmp_type);

            printf("H5T_STRING %s\n", dump_header_format->strblockbegin);
            indent += COL;

            indentation(indent + COL);
            if(is_vlstr)
                printf("%s H5T_VARIABLE;\n", STRSIZE);
            else
                printf("%s %d;\n", STRSIZE, (int) size);

            indentation(indent + COL);
            printf("%s ", STRPAD);
            if (str_pad == H5T_STR_NULLTERM)
                printf("H5T_STR_NULLTERM;\n");
            else if (str_pad == H5T_STR_NULLPAD)
                printf("H5T_STR_NULLPAD;\n");
            else if (str_pad == H5T_STR_SPACEPAD)
                printf("H5T_STR_SPACEPAD;\n");
            else
                printf("H5T_STR_ERROR;\n");

            indentation(indent + COL);
            printf("%s ", CSET);

            if (cset == H5T_CSET_ASCII)
                printf("H5T_CSET_ASCII;\n");
            else
                printf("unknown_cset;\n");

            str_type = H5Tcopy(H5T_C_S1);
            if(is_vlstr)
                H5Tset_size(str_type, H5T_VARIABLE);
            else
                H5Tset_size(str_type, size);
            H5Tset_cset(str_type, cset);
            H5Tset_strpad(str_type, str_pad);

            indentation(indent + COL);
            printf("%s ", CTYPE);

            /* Check C variable-length string first. Are the two types equal? */
            if (H5Tequal(tmp_type, str_type)) {
                printf("H5T_C_S1;\n");
                goto done;
            }

            /* Change the endianness and see if they're equal. */
            order = H5Tget_order(tmp_type);
            if(order==H5T_ORDER_LE)
                H5Tset_order(str_type, H5T_ORDER_LE);
            else if(order==H5T_ORDER_BE)
                H5Tset_order(str_type, H5T_ORDER_BE);

            if (H5Tequal(tmp_type, str_type)) {
                printf("H5T_C_S1;\n");
                goto done;
            }

            /* If not equal to C variable-length string, check Fortran type. */
            H5Tclose(str_type);
            str_type = H5Tcopy(H5T_FORTRAN_S1);
            H5Tset_cset(str_type, cset);
            H5Tset_size(str_type, size);
            H5Tset_strpad(str_type, str_pad);

            /* Are the two types equal? */
            if (H5Tequal(tmp_type, str_type)) {
                printf("H5T_FORTRAN_S1;\n");
                goto done;
            }

            /* Change the endianness and see if they're equal. */
            order = H5Tget_order(tmp_type);
            if(order==H5T_ORDER_LE)
                H5Tset_order(str_type, H5T_ORDER_LE);
            else if(order==H5T_ORDER_BE)
                H5Tset_order(str_type, H5T_ORDER_BE);

            if (H5Tequal(tmp_type, str_type)) {
                printf("H5T_FORTRAN_S1;\n");
                goto done;
            }

            /* Type doesn't match any of above. */
            printf("unknown_one_character_type;\n ");
            d_status = EXIT_FAILURE;

done:
            H5Tclose(str_type);
            H5Tclose(tmp_type);

            indent -= COL;
            indentation(indent + COL);
            printf("%s", dump_header_format->strblockend);
            break;

        case H5T_BITFIELD:
            if (H5Tequal(type, H5T_STD_B8BE)==TRUE) {
                printf("H5T_STD_B8BE");
            } else if (H5Tequal(type, H5T_STD_B8LE)==TRUE) {
                printf("H5T_STD_B8LE");
            } else if (H5Tequal(type, H5T_STD_B16BE)==TRUE) {
                printf("H5T_STD_B16BE");
            } else if (H5Tequal(type, H5T_STD_B16LE)==TRUE) {
                printf("H5T_STD_B16LE");
            } else if (H5Tequal(type, H5T_STD_B32BE)==TRUE) {
                printf("H5T_STD_B32BE");
            } else if (H5Tequal(type, H5T_STD_B32LE)==TRUE) {
                printf("H5T_STD_B32LE");
            } else if (H5Tequal(type, H5T_STD_B64BE)==TRUE) {
                printf("H5T_STD_B64BE");
            } else if (H5Tequal(type, H5T_STD_B64LE)==TRUE) {
                printf("H5T_STD_B64LE");
            } else {
                printf("undefined bitfield");
                d_status = EXIT_FAILURE;
            }
            break;

        case H5T_OPAQUE:
            printf("\n");
            indentation(indent + COL);
            printf("H5T_OPAQUE;\n");
            indentation(indent + COL);
            printf("OPAQUE_TAG \"%s\";\n", H5Tget_tag(type));
            indentation(indent);
            break;

        case H5T_COMPOUND:
            nmembers = H5Tget_nmembers(type);
            printf("H5T_COMPOUND %s\n", dump_header_format->structblockbegin);

            for (i = 0; i < nmembers; i++) {
                mname = H5Tget_member_name(type, i);
                mtype = H5Tget_member_type(type, i);
                indentation(indent + COL);

                if (H5Tget_class(mtype) == H5T_COMPOUND)
                    indent += COL;

                print_datatype(mtype,0);

                if (H5Tget_class(mtype) == H5T_COMPOUND)
                    indent -= COL;

                printf(" \"%s\";\n", mname);
                free(mname);
            }

            indentation(indent);
            printf("%s", dump_header_format->structblockend);
            break;

        case H5T_REFERENCE:
            printf("H5T_REFERENCE");
            break;

        case H5T_ENUM:
            printf("H5T_ENUM %s\n", dump_header_format->enumblockbegin);
            indent += COL;
            indentation(indent + COL);
            super = H5Tget_super(type);
            print_datatype(super,0);
            printf(";\n");
            print_enum(type);
            indent -= COL;
            indentation(indent + COL);
            printf("%s", dump_header_format->enumblockend);
            break;

        case H5T_VLEN:
            printf("H5T_VLEN %s ", dump_header_format->vlenblockbegin);
            super = H5Tget_super(type);
            print_datatype(super,0);
            H5Tclose(super);

            /* Print closing */
            printf("%s", dump_header_format->vlenblockend);
            break;

        case H5T_ARRAY:
            /* Get array base type */
            super = H5Tget_super(type);

            /* Print lead-in */
            printf("H5T_ARRAY { ");

            /* Get array information */
            ndims = H5Tget_array_ndims(type);
            H5Tget_array_dims(type, dims, NULL);

            /* Print array dimensions */
            for (i = 0; i < ndims; i++)
                printf("[%d]", (int) dims[i]);

            printf(" ");

            /* Print base type */
            print_datatype(super,0);

            /* Close array base type */
            H5Tclose(super);

            /* Print closing */
            printf(" }");

            break;

        default:
            printf("unknown data type");
            d_status = EXIT_FAILURE;
            break;
        }
    } /* end else */
}


/*-------------------------------------------------------------------------
 * Function:    dump_datatype
 *
 * Purpose:     Dump the data type. Data type can be HDF5 predefined
 *              atomic data type or committed/transient data type.
 *
 * Return:      void
 *
 * Programmer:  Ruey-Hsia Li
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
dump_datatype(hid_t type)
{
    indent += COL;

    indentation(indent);
    printf("%s %s ", dump_header_format->datatypebegin,
           dump_header_format->datatypeblockbegin);

    print_datatype(type,0);

    end_obj(dump_header_format->datatypeend,
	    dump_header_format->datatypeblockend);
    indent -= COL;
}

/*-------------------------------------------------------------------------
 * Function:    dump_dataspace
 *
 * Purpose:     Dump the data space. Data space can be named data space,
 *              array, or others.
 *
 * Return:      void
 *
 * Programmer:  Ruey-Hsia Li
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
dump_dataspace(hid_t space)
{
    hsize_t   size[H5DUMP_MAX_RANK];
    hsize_t   maxsize[H5DUMP_MAX_RANK];
    int       ndims = H5Sget_simple_extent_dims(space, size, maxsize);
    H5S_class_t space_type = H5Sget_simple_extent_type(space);
    int       i;

    indentation(indent + COL);
    printf("%s ", dump_header_format->dataspacebegin);

    switch (space_type) {
        case H5S_SCALAR:
	    /* scalar dataspace */
	    HDfprintf(stdout, "%s %s",
		      dump_header_format->dataspacedescriptionbegin, S_SCALAR);
            break;
        case H5S_SIMPLE:
	    /* simple dataspace */
	    HDfprintf(stdout, "%s %s { %s %Hu",
		      dump_header_format->dataspacedescriptionbegin, S_SIMPLE,
		      dump_header_format->dataspacedimbegin, size[0]);

	    for (i = 1; i < ndims; i++)
		HDfprintf(stdout, ", %Hu", size[i]);

	    printf(" %s / ", dump_header_format->dataspacedimend);

	    if (maxsize[0] == H5S_UNLIMITED)
		HDfprintf(stdout, "%s %s",
			  dump_header_format->dataspacedimbegin,
			  "H5S_UNLIMITED");
	    else
		HDfprintf(stdout, "%s %Hu",
                          dump_header_format->dataspacedimbegin, maxsize[0]);

	    for (i = 1; i < ndims; i++)
		if (maxsize[i] == H5S_UNLIMITED)
		    HDfprintf(stdout, ", %s", "H5S_UNLIMITED");
		else
		    HDfprintf(stdout, ", %Hu", maxsize[i]);

	    printf(" %s }", dump_header_format->dataspacedimend);

	    break;
        case H5S_NULL:
	    /* null dataspace */
	    HDfprintf(stdout, "%s %s",
		      dump_header_format->dataspacedescriptionbegin, S_NULL);
            break;
        case H5S_NO_CLASS:
        default:
	    printf("%s unknown dataspace %s\n", BEGIN, END);
    }

    end_obj(dump_header_format->dataspaceend,
	    dump_header_format->dataspaceblockend);
}

/*-------------------------------------------------------------------------
 * Function:    dump_attr
 *
 * Purpose:     dump the attribute
 *
 * Return:      Success:        SUCCEED
 *
 *              Failure:        FAIL
 *
 * Programmer:  Ruey-Hsia Li
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static herr_t
dump_attr(hid_t attr, const char *attr_name, void UNUSED * op_data)
{
    hid_t       attr_id, type, space;
    herr_t      ret = SUCCEED;

    indentation(indent);
    begin_obj(dump_header_format->attributebegin, attr_name,
	      dump_header_format->attributeblockbegin);

    if ((attr_id = H5Aopen_name(attr, attr_name)) < 0) {
	indentation(indent + COL);
        error_msg(progname, "unable to open attribute \"%s\"\n", attr_name);
	indentation(indent);
	end_obj(dump_header_format->attributeend,
		dump_header_format->attributeblockend);
	d_status = EXIT_FAILURE;
	ret = FAIL;
    } else {
	type = H5Aget_type(attr_id);
	space = H5Aget_space(attr_id);
	dump_datatype(type);
	dump_dataspace(space);

	if (display_oid)
	    dump_oid(attr_id);

	if (display_data || display_attr_data)
	    dump_data(attr_id, ATTRIBUTE_DATA, NULL, display_ai);

	H5Tclose(type);
	H5Sclose(space);
	H5Aclose(attr_id);
	indentation(indent);
	end_obj(dump_header_format->attributeend,
		dump_header_format->attributeblockend);
    }

    return ret;
}

/*-------------------------------------------------------------------------
 * Function:    dump_selected_attr
 *
 * Purpose:     dump the selected attribute
 *
 * Return:      Success:        SUCCEED
 *
 *              Failure:        FAIL
 *
 * Programmer:  Ruey-Hsia Li
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static herr_t
dump_selected_attr(hid_t loc_id, const char *name)
{
    int j;
    char *obj_name;
    const char *attr_name;
    hid_t  oid, attr_id, type, space;
    H5G_stat_t statbuf;

    j = (int)strlen(name) - 1;
    obj_name = malloc((size_t)j + 2);

    /* find the last / */
    while (name[j] != '/' && j >= 0)
	j--;

    /* object name */
    if (j == -1) {
	strcpy(obj_name, "/");
    } else {
        strncpy(obj_name, name, (size_t)j + 1);
        obj_name[j + 1] = '\0';
    }

    attr_name = name + j + 1;
    begin_obj(dump_header_format->attributebegin, name,
	      dump_header_format->attributeblockbegin);
    H5Gget_objinfo(loc_id, obj_name, FALSE, &statbuf);

    switch (statbuf.type) {
    case H5G_GROUP:
	if ((oid = H5Gopen(loc_id, obj_name)) < 0) {
	    indentation(COL);
            error_msg(progname, "unable to open group \"%s\"\n", obj_name);
	    end_obj(dump_header_format->attributeend,
		    dump_header_format->attributeblockend);
	    d_status = EXIT_FAILURE;
	    return FAIL;
	}
	break;

    case H5G_DATASET:
	if ((oid = H5Dopen(loc_id, obj_name)) < 0) {
	    indentation(COL);
            error_msg(progname, "unable to open dataset \"%s\"\n", obj_name);
	    end_obj(dump_header_format->attributeend,
		    dump_header_format->attributeblockend);
	    d_status = EXIT_FAILURE;
	    return FAIL;
	}
	break;

    case H5G_TYPE:
	if ((oid = H5Topen(loc_id, obj_name)) < 0) {
	    indentation(COL);
            error_msg(progname, "unable to open datatype \"%s\"\n", obj_name);
	    end_obj(dump_header_format->attributeend,
		    dump_header_format->attributeblockend);
	    d_status = EXIT_FAILURE;
	    return FAIL;
	}
	break;

    default:
	indentation(COL);
        error_msg(progname, "unable to open unknown \"%s\"\n", obj_name);
	end_obj(dump_header_format->attributeend,
		dump_header_format->attributeblockend);
	d_status = EXIT_FAILURE;
	return FAIL;
    }

    if ((attr_id = H5Aopen_name(oid, attr_name)) >= 0) {
	type = H5Aget_type(attr_id);
	space = H5Aget_space(attr_id);
	dump_datatype(type);
	dump_dataspace(space);

	if (display_oid)
	    dump_oid(attr_id);

	if (display_data || display_attr_data)
	    dump_data(attr_id, ATTRIBUTE_DATA, NULL, display_ai);

	H5Tclose(type);
	H5Sclose(space);
	H5Aclose(attr_id);
	end_obj(dump_header_format->attributeend,
		dump_header_format->attributeblockend);
    } else {
	indentation(COL);
        error_msg(progname, "unable to open attribute \"%s\"\n", obj_name);
	end_obj(dump_header_format->attributeend,
		dump_header_format->attributeblockend);
	d_status = EXIT_FAILURE;
    }

    switch (statbuf.type) {
    case H5G_GROUP:
	if (H5Gclose(oid) < 0) {
	    d_status = EXIT_FAILURE;
	    return FAIL;
	}
	break;

    case H5G_DATASET:
	if (H5Dclose(oid) < 0) {
	    d_status = EXIT_FAILURE;
	    return FAIL;
	}
	break;

    case H5G_TYPE:
	if (H5Tclose(oid) < 0) {
	    d_status = EXIT_FAILURE;
	    return FAIL;
	}
	break;
    default:
	d_status = EXIT_FAILURE;
	return FAIL;
    }

    free(obj_name);
    return SUCCEED;
}

/*-------------------------------------------------------------------------
 * Function:    dump_all
 *
 * Purpose:     Dump everything in the specified object
 *
 * Return:      Success:        SUCCEED
 *
 *              Failure:        FAIL
 *
 * Programmer:  Ruey-Hsia Li
 *
 * Modifications:
 *          RMcG, November 2000
 *          Added XML support. Also, optionally checks the op_data
 *          argument.
 *
 *-------------------------------------------------------------------------
 */
static herr_t
dump_all(hid_t group, const char *name, void * op_data)
{
    hid_t       obj;
    char       *obj_path = NULL;        /* Full path of object */
    H5G_stat_t  statbuf;
    H5L_info_t linfo;              /* Link information */
    herr_t      ret = SUCCEED;

    /* Stat the object */
    if(H5Gget_objinfo(group, name, FALSE, &statbuf) < 0) {
        error_msg(progname, "unable to get object information\n");
        d_status = EXIT_FAILURE;
        ret = FAIL;
        goto done;
    } /* end if */
    if(H5Lget_info(group, name, &linfo, H5P_DEFAULT) < 0) {
        error_msg(progname, "unable to get object information\n");
        d_status = EXIT_FAILURE;
        ret = FAIL;
        goto done;
    } /* end if */

    if (*(int *)op_data != H5G_UNKNOWN && statbuf.type != *(int *) op_data)
        goto done;

    /* Build the object's path name */
    obj_path = HDmalloc(HDstrlen(prefix) + HDstrlen(name) + 2);
    HDassert(obj_path);
    HDstrcpy(obj_path, prefix);
    HDstrcat(obj_path, "/");
    HDstrcat(obj_path, name);

    switch (statbuf.type) {
        case H5G_LINK:
        {
            char       *targbuf;

            indentation(indent);
            targbuf = HDmalloc(statbuf.linklen);
            HDassert(targbuf);

            if (!doxml) {
                begin_obj(dump_header_format->softlinkbegin, name,
                          dump_header_format->softlinkblockbegin);
                indentation(indent + COL);
            }

            if (H5Lget_val(group, name, targbuf, statbuf.linklen, H5P_DEFAULT) < 0) {
                error_msg(progname, "unable to get link value\n");
                d_status = EXIT_FAILURE;
                ret = FAIL;
            } else {
                /* print the value of a soft link */
                if (!doxml) {
                    /* Standard DDL: no modification */
                    printf("LINKTARGET \"%s\"\n", targbuf);
                } else {
                    /* XML */
                    char linkxid[100];
                    char parentxid[100];
                    char targetxid[100];
                    char *t_prefix = xml_escape_the_name(HDstrcmp(prefix,"") ? prefix : "/");
                    char *t_name = xml_escape_the_name(name);
                    char *t_targbuf = xml_escape_the_name(targbuf);
                    char *t_obj_path = xml_escape_the_name(obj_path);
                    char *t_link_path;
                    int res;

                    t_link_path = HDmalloc(HDstrlen(prefix) + statbuf.linklen + 1);
                    if(targbuf[0] == '/')
                        HDstrcpy(t_link_path, targbuf);
                    else {
                        HDstrcpy(t_link_path, prefix);
                        HDstrcat(HDstrcat(t_link_path, "/"), targbuf);
                    } /* end else */

                    /* Create OBJ-XIDs for the parent and object */
                    xml_name_to_XID(t_obj_path, linkxid, sizeof(linkxid), 1);
                    xml_name_to_XID(prefix, parentxid, sizeof(parentxid), 1);

                    /* Try to create an OBJ-XID for the object pointed to */
                    res = xml_name_to_XID(t_link_path, targetxid, sizeof(targetxid), 0);
                    if (res == 0) {
                        /* target obj found */
                        printf("<%sSoftLink LinkName=\"%s\" "
                               "OBJ-XID=\"%s\" "
                               "H5SourcePath=\"%s\" "
                               "TargetPath=\"%s\" TargetObj=\"%s\" "
                               "Parents=\"%s\" H5ParentPaths=\"%s\" />\n",
                                xmlnsprefix,
                                t_name,         /* LinkName */
                                linkxid,        /* OBJ-XID */
                                t_obj_path,     /* H5SourcePath */
                                t_targbuf,      /* TargetPath */
                                targetxid,      /* TargetObj */
                                parentxid,      /* Parents */
                                t_prefix);      /* H5ParentPaths */
                    } else {
                        /* dangling link -- omit from xml attributes */
                        printf("<%sSoftLink LinkName=\"%s\" "
                               "OBJ-XID=\"%s\" "
                               "H5SourcePath=\"%s\" "
                               "TargetPath=\"%s\"  "
                               "Parents=\"%s\" H5ParentPaths=\"%s\" />\n",
                                xmlnsprefix,
                                t_name,         /* LinkName */
                                linkxid,        /* OBJ-XID */
                                t_obj_path,     /* H5SourcePath */
                                t_targbuf,      /* TargetPath */
                                parentxid,      /* Parents */
                                t_prefix);      /* H5ParentPaths */
                    }

                    HDfree(t_prefix);
                    HDfree(t_name);
                    HDfree(t_targbuf);
                    HDfree(t_obj_path);
                    HDfree(t_link_path);
                }
            }

            if (!doxml) {
                indentation(indent);
                end_obj(dump_header_format->softlinkend,
                        dump_header_format->softlinkblockend);
            }

            HDfree(targbuf);
            break;
        }
        case H5G_UDLINK:
        {
            indentation(indent);
            switch(linfo.type)
            {
              case H5L_TYPE_EXTERNAL:
              {
                char *targbuf;
                char *filename;
                char *targname;
                targbuf = HDmalloc(statbuf.linklen);
                HDassert(targbuf);
                if (!doxml) {
                    begin_obj(dump_header_format->extlinkbegin, name,
                            dump_header_format->extlinkblockbegin);
                }
                if (H5Lget_val(group, name, targbuf, statbuf.linklen, H5P_DEFAULT) < 0) {
                    error_msg(progname, "unable to get external link value\n");
                    d_status = EXIT_FAILURE;
                    ret = FAIL;
                } else {
                    if(H5Lunpack_elink_val(targbuf, statbuf.linklen, &filename, &targname) < 0) {
                      error_msg(progname, "unable to unpack external link value\n");
                      d_status = EXIT_FAILURE;
                      ret = FAIL;
                    } else {
                      if (!doxml) {
                          indentation(indent + COL);
                          printf("LINKCLASS %d\n", linfo.type);
                          indentation(indent + COL);
                          printf("TARGETFILE \"%s\"\n", filename);
                          indentation(indent + COL);
                          printf("TARGETPATH \"%s\"\n", targname);
                      }
                      else /* XML */
                      {
                        char linkxid[100];
                        char parentxid[100];
                        char *t_name = xml_escape_the_name(name);
                        char *t_prefix = xml_escape_the_name(HDstrcmp(prefix,"") ? prefix : "/");
                        char *t_obj_path = xml_escape_the_name(obj_path);
                        char *t_filename = xml_escape_the_name(filename);
                        char *t_targname = xml_escape_the_name(targname);

                        /* Create OBJ-XIDs for the parent and object */
                        xml_name_to_XID(t_obj_path, linkxid, sizeof(linkxid), 1);
                        xml_name_to_XID(prefix, parentxid, sizeof(parentxid), 1);

                            printf("<%sExternalLink LinkName=\"%s\" "
                                  "OBJ-XID=\"%s\" "
                                  "H5SourcePath=\"%s\" "
                                  "TargetFilename=\"%s\"  "
                                  "TargetPath=\"%s\"  "
                                  "Parents=\"%s\" H5ParentPaths=\"%s\" />\n",
                                    xmlnsprefix,
                                    t_name,         /* LinkName */
                                    linkxid,        /* OBJ-XID */
                                    t_obj_path,     /* H5SourcePath */
                                    filename,       /* TargetFilename */
                                    targname,       /* TargetPath*/
                                    parentxid,      /* Parents */
                                    t_prefix);      /* H5ParentPaths */
                        HDfree(t_prefix);
                        HDfree(t_name);
                        HDfree(t_filename);
                        HDfree(t_targname);
                        HDfree(t_obj_path);
                      }
                    }
                }
                if (!doxml) {
                    end_obj(dump_header_format->extlinkend,
                            dump_header_format->extlinkblockend);
                }
                HDfree(targbuf);
              }
              break;
              default:
                  if (!doxml) {
                      begin_obj(dump_header_format->udlinkbegin, name,
                                dump_header_format->udlinkblockbegin);
                      indentation(indent + COL);
                  }
                  if (!doxml) {
                      printf("LINKCLASS %d\n", linfo.type);
                  }
                  else /* XML */
                  {
                    char linkxid[100];
                    char parentxid[100];
                    char *t_name = xml_escape_the_name(name);
                    char *t_prefix = xml_escape_the_name(HDstrcmp(prefix,"") ? prefix : "/");
                    char *t_obj_path = xml_escape_the_name(obj_path);

                    /* Create OBJ-XIDs for the parent and object */
                    xml_name_to_XID(t_obj_path, linkxid, sizeof(linkxid), 1);
                    xml_name_to_XID(prefix, parentxid, sizeof(parentxid), 1);

                        printf("<%sUserDefined LinkName=\"%s\" "
                               "OBJ-XID=\"%s\" "
                               "H5SourcePath=\"%s\" "
                               "LinkClass=\"%d\"  "
                               "Parents=\"%s\" H5ParentPaths=\"%s\" />\n",
                                xmlnsprefix,
                                t_name,             /* LinkName */
                                linkxid,            /* OBJ-XID */
                                t_obj_path,         /* H5SourcePath */
                                linfo.type,    /* LinkClass */
                                parentxid,          /* Parents */
                                t_prefix);          /* H5ParentPaths */
                    HDfree(t_prefix);
                    HDfree(t_name);
                    HDfree(t_obj_path);
                  }
                  if (!doxml) {
                      indentation(indent);
                      end_obj(dump_header_format->udlinkend,
                              dump_header_format->udlinkblockend);
                  }
            }
            break;
          }
        case H5G_GROUP:
            if ((obj = H5Gopen(group, name)) < 0) {
                error_msg(progname, "unable to dump group \"%s\"\n", name);
                d_status = EXIT_FAILURE;
                ret = FAIL;
            } else {
                char *old_prefix;                /* Pointer to previous prefix */

                /* Keep copy of prefix before iterating into group */
                old_prefix = HDstrdup(prefix);
                HDassert(old_prefix);

                /* Append group name to prefix */
                add_prefix(&prefix, &prefix_len, name);

                /* Iterate into group */
                dump_function_table->dump_group_function(obj, name);

                /* Restore old prefix name */
                HDstrcpy(prefix, old_prefix);
                HDfree(old_prefix);

                /* Close group */
                H5Gclose(obj);
            }

            break;

        case H5G_DATASET:
            if ((obj = H5Dopen(group, name)) >= 0) {
                haddr_t objno;              /* Compact form of object's location */

                /* hard link */
                H5Gget_objinfo(obj, ".", TRUE, &statbuf);
                objno = (haddr_t)statbuf.objno[0] | ((haddr_t)statbuf.objno[1] << (8 * sizeof(long)));

                if (statbuf.nlink > 1) {
                    obj_t  *found_obj;    /* Found object */

                    found_obj = search_obj(dset_table, objno);

                    if (found_obj == NULL) {
                        indentation(indent);
                        begin_obj(dump_header_format->datasetbegin, name,
                                  dump_header_format->datasetblockbegin);
                        indentation(indent + COL);
                        error_msg(progname,
                                  "internal error (file %s:line %d)\n",
                                  __FILE__, __LINE__);
                        indentation(indent);
                        end_obj(dump_header_format->datasetend,
                                dump_header_format->datasetblockend);
                        d_status = EXIT_FAILURE;
                        ret = FAIL;
                        H5Dclose(obj);
                        goto done;
                    } else if (found_obj->displayed) {
                        indentation(indent);

                        if (!doxml) {
                            begin_obj(dump_header_format->datasetbegin, name,
                                      dump_header_format->datasetblockbegin);
                            indentation(indent + COL);
                            printf("%s \"%s\"\n", HARDLINK, found_obj->objname);
                            indentation(indent);
                            end_obj(dump_header_format->datasetend,
                                    dump_header_format->datasetblockend);
                        } else {
                            /* the XML version */
                            char *t_obj_path = xml_escape_the_name(obj_path);
                            char *t_prefix = xml_escape_the_name(HDstrcmp(prefix,"") ? prefix : "/");
                            char *t_name = xml_escape_the_name(name);
                            char dsetxid[100];
                            char parentxid[100];
                            char pointerxid[100];

                            /* Create OBJ-XIDs for the parent and object */
                            xml_name_to_XID(obj_path, dsetxid, sizeof(dsetxid), 1);
                            xml_name_to_XID(prefix, parentxid, sizeof(parentxid), 1);

                            printf("<%sDataset Name=\"%s\" OBJ-XID=\"%s-%d\" "
                                   "H5Path=\"%s\" Parents=\"%s\" "
                                   "H5ParentPaths=\"%s\">\n",
                                    xmlnsprefix,
                                    t_name,                     /* Dataset Name */
                                    dsetxid, get_next_xid(),    /* OBJ-XID */
                                    t_obj_path,                 /* H5Path */
                                    parentxid,                  /* Parents */
                                    t_prefix);                  /* H5ParentPaths */

                            indentation(indent + COL);
                            xml_name_to_XID(found_obj->objname, pointerxid, sizeof(pointerxid), 1);
                            printf("<%sDatasetPtr OBJ-XID=\"%s\" H5Path=\"%s\"/>\n",
                                    xmlnsprefix,
                                    pointerxid,t_obj_path);
                            indentation(indent);
                            printf("</%sDataset>\n", xmlnsprefix);

                            HDfree(t_name);
                            HDfree(t_obj_path);
                            HDfree(t_prefix);
                        }

                        H5Dclose(obj);
                        goto done;
                    } else {
                        found_obj->displayed = TRUE;
                    }
                } /* end if */

                dump_function_table->dump_dataset_function(obj, name, NULL);
                H5Dclose(obj);
            } else {
                error_msg(progname, "unable to dump dataset \"%s\"\n", name);
                d_status = EXIT_FAILURE;
                ret = FAIL;
            }
            break;

        case H5G_TYPE:
            if ((obj = H5Topen(group, name)) < 0) {
                error_msg(progname, "unable to dump data type \"%s\"\n", name);
                d_status = EXIT_FAILURE;
                ret = FAIL;
            } else {
                dump_function_table->dump_named_datatype_function(obj, name);
                H5Tclose(obj);
            }
            break;

        default:
            error_msg(progname, "unknown object \"%s\"\n", name);
            d_status = EXIT_FAILURE;
            ret = FAIL;
    }

done:
    if(obj_path)
        HDfree(obj_path);
    return ret;
}

/*-------------------------------------------------------------------------
 * Function:    dump_named_datatype
 *
 * Purpose:     Dump named data type
 *
 * Return:      void
 *
 * Programmer:  Ruey-Hsia Li
 *
 * Modifications: pvn March 27, 2006
 *  add printing of attributes
 *
 *-------------------------------------------------------------------------
 */
static void
dump_named_datatype(hid_t type, const char *name)
{
 indentation(indent);
 printf("%s \"%s\" %s", dump_header_format->datatypebegin, name,
  dump_header_format->datatypeblockbegin);

 if (H5Tget_class(type) == H5T_COMPOUND) {
  print_datatype(type,1);
 } else {
  indentation(indent + COL);
  print_datatype(type,1);
  printf(";\n");
 }

 /* print attributes */
 indent += COL;
 H5Aiterate(type, NULL, dump_attr, NULL);
 indent -= COL;

 end_obj(dump_header_format->datatypeend,
  dump_header_format->datatypeblockend);
}

/*-------------------------------------------------------------------------
 * Function:    dump_group
 *
 * Purpose:     Dump everything within the specified group
 *
 * Return:      void
 *
 * Programmer:  Ruey-Hsia Li
 *
 * Modifications:
 *
 *      Call to dump_all -- add parameter to select everything.
 *
 *-------------------------------------------------------------------------
 */
static void
dump_group(hid_t gid, const char *name)
{
    H5G_stat_t  statbuf;
    haddr_t     objno;              /* Compact form of object's location */
    hid_t       dset, type;
    char        type_name[1024], *tmp;
    int         xtype = H5G_UNKNOWN; /* dump all */

    tmp = HDmalloc(HDstrlen(prefix) + HDstrlen(name) + 2);
    HDstrcpy(tmp, prefix);
    indentation(indent);
    begin_obj(dump_header_format->groupbegin, name,
	      dump_header_format->groupblockbegin);
    indent += COL;

    if (display_oid)
        dump_oid(gid);

    dump_comment(gid);

    if (!HDstrcmp(name, "/") && unamedtype) {
        unsigned u;             /* Local index variable */

	/* dump unamed type in root group */
	for (u = 0; u < type_table->nobjs; u++)
	    if (!type_table->objs[u].recorded) {
		dset = H5Dopen(gid, type_table->objs[u].objname);
		type = H5Dget_type(dset);
		sprintf(type_name, "#"H5_PRINTF_HADDR_FMT, type_table->objs[u].objno);
                dump_function_table->dump_named_datatype_function(type, type_name);
		H5Tclose(type);
		H5Dclose(dset);
	    }
    } /* end if */

    H5Gget_objinfo(gid, ".", TRUE, &statbuf);
    objno = (haddr_t)statbuf.objno[0] | ((haddr_t)statbuf.objno[1] << (8 * sizeof(long)));

    if (statbuf.nlink > 1) {
        obj_t  *found_obj;    /* Found object */

        found_obj = search_obj(group_table, objno);

	if (found_obj == NULL) {
	    indentation(indent);
            error_msg(progname, "internal error (file %s:line %d)\n",
                      __FILE__, __LINE__);
	    d_status = EXIT_FAILURE;
	} else if (found_obj->displayed) {
	    indentation(indent);
	    printf("%s \"%s\"\n", HARDLINK, found_obj->objname);
	} else {
	    found_obj->displayed = TRUE;
	    H5Aiterate(gid, NULL, dump_attr, NULL);
	    H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
	}
    } else {
	H5Aiterate(gid, NULL, dump_attr, NULL);
	H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
    }

    indent -= COL;
    indentation(indent);
    end_obj(dump_header_format->groupend, dump_header_format->groupblockend);
    free(tmp);
}

/*-------------------------------------------------------------------------
 * Function:    dump_dataset
 *
 * Purpose:     Dump the specified data set
 *
 * Return:      void
 *
 * Programmer:  Ruey-Hsia Li
 *
 * Modifications: pvn, 2004, added dcpl dump
 *
 *-------------------------------------------------------------------------
 */
static void
dump_dataset(hid_t did, const char *name, struct subset_t *sset)
{
    hid_t   type, space, dcpl_id;

    indentation(indent);
    begin_obj(dump_header_format->datasetbegin, name,
	      dump_header_format->datasetblockbegin);
    type = H5Dget_type(did);
    space = H5Dget_space(did);
    dcpl_id = H5Dget_create_plist(did);

    dump_comment(did);
    dump_datatype(type);
    dump_dataspace(space);

    if (display_oid)
        dump_oid(did);

    if (display_dcpl)
        dump_dcpl(dcpl_id, type, did);

    if (display_data)
	switch (H5Tget_class(type)) {
            case H5T_TIME:
                indentation(indent + COL);
                printf("DATA{ not yet implemented.}\n");
                break;

            case H5T_INTEGER:
            case H5T_FLOAT:
            case H5T_STRING:
            case H5T_BITFIELD:
            case H5T_OPAQUE:
            case H5T_COMPOUND:
            case H5T_REFERENCE:
            case H5T_ENUM:
            case H5T_VLEN:
            case H5T_ARRAY:
                dump_data(did, DATASET_DATA, sset, display_ai);
                break;

            default:
                break;
	}

    indent += COL;
    H5Aiterate(did, NULL, dump_attr, NULL);
    indent -= COL;
    H5Tclose(type);
    H5Sclose(space);
    H5Pclose(dcpl_id);
    indentation(indent);
    end_obj(dump_header_format->datasetend,
	    dump_header_format->datasetblockend);
}

/*-------------------------------------------------------------------------
 * Function:    dump_dims
 *
 * Purpose:     Dump the dimensions handed to it in a comma separated list
 *
 * Return:      void
 *
 * Programmer:  Bill Wendling
 *              Tuesday, 27. February 2001
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
dump_dims(hsize_t *s, int dims)
{
    int i;

    for (i = 0; i < dims; i++) {
        printf(HSIZE_T_FORMAT, s[i]);

        if (i + 1 != dims)
            printf(", ");
    }
}

/*-------------------------------------------------------------------------
 * Function:    dump_subsetting_header
 *
 * Purpose:     Dump the subsetting header like specified in the DDL.
 *
 * Return:      void
 *
 * Programmer:  Bill Wendling
 *              Tuesday, 27. February 2001
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
dump_subsetting_header(struct subset_t *sset, int dims)
{
    indentation(indent);
    printf("%s %s\n", dump_header_format->subsettingbegin,
           dump_header_format->subsettingblockbegin);

    indent += COL;
    indentation(indent);
    printf("%s %s ", dump_header_format->startbegin,
           dump_header_format->startblockbegin);
    dump_dims((hsize_t *)sset->start, dims);
    printf("%s %s\n", dump_header_format->startend,
           dump_header_format->startblockend);

    indentation(indent);
    printf("%s %s ", dump_header_format->stridebegin,
           dump_header_format->strideblockbegin);
    dump_dims(sset->stride, dims);
    printf("%s %s\n", dump_header_format->strideend,
           dump_header_format->strideblockend);

    indentation(indent);
    printf("%s %s ", dump_header_format->countbegin,
           dump_header_format->countblockbegin);

    if (sset->count)
        dump_dims(sset->count, dims);
    else
        printf("DEFAULT");

    printf("%s %s\n", dump_header_format->countend,
           dump_header_format->countblockend);

    indentation(indent);
    printf("%s %s ", dump_header_format->blockbegin,
           dump_header_format->blockblockbegin);

    if (sset->block)
        dump_dims(sset->block, dims);
    else
        printf("DEFAULT");

    printf("%s %s\n", dump_header_format->blockend,
           dump_header_format->blockblockend);
}

/*-------------------------------------------------------------------------
 * Function:    dump_data
 *
 * Purpose:     Dump attribute or dataset data
 *
 * Return:      void
 *
 * Programmer:  Ruey-Hsia Li
 *
 * Modifications: pvn, print the matrix indices
 *	Albert Cheng, 2004/11/18
 *	Add --string printing for attributes too.
 *
 *-------------------------------------------------------------------------
 */
static void
dump_data(hid_t obj_id, int obj_data, struct subset_t *sset, int display_index)
{
    h5tool_format_t   *outputformat = &dataformat;
    int         status = -1;
    void       *buf;
    hid_t       space, type, p_type;
    H5S_class_t space_type;
    int         ndims, i;
    hsize_t     size[64], nelmts = 1, alloc_size;
    int         depth;
    int         stdindent = COL;	/* should be 3 */

    outputformat->line_ncols = nCols;
    outputformat->do_escape=display_escape;
    /* print the matrix indices */
    outputformat->pindex=display_index;
    if (outputformat->pindex) {
        outputformat->idx_fmt   = "(%s): ";
        outputformat->idx_n_fmt = HSIZE_T_FORMAT;
        outputformat->idx_sep   = ",";
        outputformat->line_pre  = "%s";
    }

    indent += COL;

    /*
     * the depth will tell us how far we need to indent extra.  we use to just
     * use indent but with the merging of the tools lib we have to do
     * something different for the lib funtions... the normal indentation is 6
     * so when we don't need any extra indentation, depth will be 0.
     */
    depth = indent / stdindent + 1;

    if (sset && obj_data == DATASET_DATA) {
        hid_t f_space = H5Dget_space(obj_id);

        dump_subsetting_header(sset, H5Sget_simple_extent_ndims(f_space));
        H5Sclose(f_space);

        /* recalculate the depth of the data */
        depth = indent / stdindent + 1;
    }

    indentation(indent);
    begin_obj(dump_header_format->databegin, (const char *)NULL,
	      dump_header_format->datablockbegin);

    /* Print all the values. */
    if (obj_data == DATASET_DATA) {
        hid_t       f_type = H5Dget_type(obj_id);
        char        string_prefix[64];
        h5tool_format_t    string_dataformat;

        if (display_char && H5Tget_size(f_type) == 1 && H5Tget_class(f_type) == H5T_INTEGER) {
            /*
             * Print 1-byte integer data as an ASCII character string
             * instead of integers if the `-r' or `--string' command-line
             * option was given.
             *
             * We don't want to modify the global dataformat, so make a
             * copy of it instead.
             */
            string_dataformat = *outputformat;
            string_dataformat.idx_fmt = " ";
            string_dataformat.line_multi_new = 1;
            string_dataformat.line_1st = "        %s\"";
            string_dataformat.line_pre = "        %s";
            string_dataformat.line_cont = "        %s";
            string_dataformat.str_repeat = 8;
            string_dataformat.ascii = TRUE;
            string_dataformat.elmt_suf1 = "";
            string_dataformat.elmt_suf2 = "";
            string_dataformat.line_indent = "";
            strcpy(string_prefix, string_dataformat.line_pre);
            strcat(string_prefix, "\"");
            string_dataformat.line_pre = string_prefix;
            string_dataformat.line_suf = "\"";
            outputformat = &string_dataformat;
        }


	status = h5tools_dump_dset(stdout, outputformat, obj_id, -1, sset, depth);
        H5Tclose(f_type);
    } else {
        /* need to call h5tools_dump_mem for the attribute data */
        space = H5Aget_space(obj_id);
        space_type = H5Sget_simple_extent_type(space);
        if(space_type == H5S_NULL || space_type == H5S_NO_CLASS) {
            status = SUCCEED;
        } else {
	    char        string_prefix[64];
	    h5tool_format_t    string_dataformat;

            type = H5Aget_type(obj_id);
            p_type = h5tools_get_native_type(type);

            ndims = H5Sget_simple_extent_dims(space, size, NULL);

            for (i = 0; i < ndims; i++)
                nelmts *= size[i];

            alloc_size = nelmts * MAX(H5Tget_size(type), H5Tget_size(p_type));
            assert(alloc_size == (hsize_t)((size_t)alloc_size)); /*check for overflow*/

            buf = malloc((size_t)alloc_size);
            assert(buf);

            if (H5Aread(obj_id, p_type, buf) >= 0)
		if (display_char && H5Tget_size(type) == 1 && H5Tget_class(type) == H5T_INTEGER) {
		    /*
		     * Print 1-byte integer data as an ASCII character string
		     * instead of integers if the `-r' or `--string' command-line
		     * option was given.
		     *
		     * We don't want to modify the global dataformat, so make a
		     * copy of it instead.
		     */
		    string_dataformat = *outputformat;
		    string_dataformat.idx_fmt = " ";
		    string_dataformat.line_multi_new = 1;
		    string_dataformat.line_1st = "        %s\"";
		    string_dataformat.line_pre = "        %s";
		    string_dataformat.line_cont = "        %s";
		    string_dataformat.str_repeat = 8;
		    string_dataformat.ascii = TRUE;
		    string_dataformat.elmt_suf1 = "";
		    string_dataformat.elmt_suf2 = "";
		    string_dataformat.line_indent = "";
		    strcpy(string_prefix, string_dataformat.line_pre);
		    strcat(string_prefix, "\"");
		    string_dataformat.line_pre = string_prefix;
		    string_dataformat.line_suf = "\"";
		    outputformat = &string_dataformat;
		}

                status = h5tools_dump_mem(stdout, outputformat, obj_id, p_type,
                                        space, buf, depth);

            free(buf);
            H5Tclose(p_type);
            H5Tclose(type);
        }
        H5Sclose(space);
    }

    if (status == FAIL) {
        indentation(indent + COL);
        error_msg(progname, "unable to print data\n");
        d_status = EXIT_FAILURE;
    }

    indentation(indent);
    end_obj(dump_header_format->dataend, dump_header_format->datablockend);
    indent -= COL;

    if (sset && obj_data == DATASET_DATA) {
        indentation(indent);
        end_obj(dump_header_format->subsettingend,
                dump_header_format->subsettingblockend);
        indent -= COL;
    }
}

/*-------------------------------------------------------------------------
 * Function:    dump_oid
 *
 * Purpose:     Prints the object ids
 *
 * Return:      void
 *
 * Programmer:  Patrick Lu
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
dump_oid(hid_t oid)
{
    indentation(indent + COL);
    printf("%s %s %d %s\n", OBJID, BEGIN, oid, END);
}

/*-------------------------------------------------------------------------
 * Function:    dump_comment
 *
 * Purpose:     prints the comment for the the object name
 *
 * Return:      void
 *
 * Programmer:  pvn
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */

static void dump_comment(hid_t obj_id)
{
    char comment[50];

    comment[0] = '\0';
    H5Gget_comment(obj_id, ".", sizeof(comment), comment);

    if (comment[0]) {
        indentation(indent);
        printf("COMMENT \"%s\"\n", comment);
    }
}


/*-------------------------------------------------------------------------
 * Function:    dump_fill_value
 *
 * Purpose:     prints the fill value
 *
 * Return:      void
 *
 * Programmer:  pvn
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */

static void dump_fill_value(hid_t dcpl,hid_t type_id, hid_t obj_id)
{
    h5tools_context_t	ctx;			/*print context		*/
    size_t            size;
    void              *buf=NULL;
    hsize_t           nelmts=1;
    h5tool_format_t          *outputformat = &dataformat;
    hid_t             n_type;

    memset(&ctx, 0, sizeof(ctx));
    ctx.indent_level=2;

    n_type = h5tools_get_native_type(type_id);

    size = H5Tget_size(n_type);
    buf = malloc(size);

    H5Pget_fill_value(dcpl, n_type, buf);

    h5tools_dump_simple_data(stdout, outputformat, obj_id, &ctx, START_OF_DATA | END_OF_DATA, nelmts, n_type, buf);

    H5Tclose(n_type);

    if (buf)
        free (buf);
}


/*-------------------------------------------------------------------------
 * Function:    dump_dcpl
 *
 * Purpose:     prints several dataset create property list properties
 *
 * Return:      void
 *
 * Programmer:  pvn
 *
 *-------------------------------------------------------------------------
 */
static void
dump_dcpl(hid_t dcpl_id,hid_t type_id, hid_t obj_id)
{
    int              nfilters;       /* number of filters */
    unsigned         filt_flags;     /* filter flags */
    H5Z_filter_t     filtn;          /* filter identification number */
    unsigned         cd_values[20];  /* filter client data values */
    size_t           cd_nelmts;      /* filter client number of values */
    char             f_name[256];    /* filter name */
    unsigned         szip_options_mask;
    unsigned         szip_pixels_per_block;
    hsize_t          chsize[64];     /* chunk size in elements */
    int              rank;           /* rank */
    char	            name[256];		    /* external file name		*/
    off_t            offset;         /* offset of external file 	*/
    hsize_t          size;           /* size of external file 	*/
    H5D_fill_value_t fvstatus;
    H5D_alloc_time_t at;
    H5D_fill_time_t  ft;
    hsize_t          storage_size;
    haddr_t          ioffset;
    int              i, next;
    unsigned         j;

    storage_size=H5Dget_storage_size(obj_id);
    ioffset=H5Dget_offset(obj_id);
    next=H5Pget_external_count(dcpl_id);
    strcpy(f_name,"\0");

    /*-------------------------------------------------------------------------
    * STORAGE_LAYOUT
    *-------------------------------------------------------------------------
    */
    indentation(indent + COL);
    printf("%s %s\n", STORAGE_LAYOUT, BEGIN);

    if (H5D_CHUNKED == H5Pget_layout(dcpl_id)) {
        /*start indent */
        indent += COL;
        indentation(indent + COL);
        printf("%s ", CHUNKED);

        rank = H5Pget_chunk(dcpl_id,NELMTS(chsize),chsize);
        HDfprintf(stdout,"%s %Hu", dump_header_format->dataspacedimbegin, chsize[0]);
        for ( i=1; i<rank; i++)
            HDfprintf(stdout, ", %Hu", chsize[i]);
        printf(" %s\n", dump_header_format->dataspacedimend);
        indentation(indent + COL);
        HDfprintf(stdout, "SIZE %Hu\n ", storage_size);

        /*end indent */
        indent -= COL;
        indentation(indent + COL);
        printf("%s\n",END);
    }
    else if (H5D_COMPACT == H5Pget_layout(dcpl_id)) {
        /*start indent */
        indent += COL;
        indentation(indent + COL);
        printf("%s\n", COMPACT);

        indentation(indent + COL);
        HDfprintf(stdout, "SIZE %Hu\n", storage_size);

        /*end indent */
        indent -= COL;
        indentation(indent + COL);
        printf("%s\n",END);
    }
    else if (H5D_CONTIGUOUS == H5Pget_layout(dcpl_id)) {
        /*-------------------------------------------------------------------------
        * EXTERNAL_FILE
        *-------------------------------------------------------------------------
        */
        if (next) {
            /*start indent */
            indent += COL;
            indentation(indent + COL);
            printf("%s\n", CONTIGUOUS);

            indentation(indent + COL);
            printf("%s %s\n", EXTERNAL, BEGIN);

            /*start indent */
            indent += COL;
            for ( j=0; j<(unsigned)next; j++) {
                H5Pget_external(dcpl_id,j,sizeof(name),name,&offset,&size);
                indentation(indent + COL);
                HDfprintf(stdout,"FILENAME %s SIZE %Hu OFFSET %ld\n",name,size,offset);
            }
            /*end indent */
            indent -= COL;
            indentation(indent + COL);
            printf("%s\n",END);

            /*end indent */
            indent -= COL;
            indentation(indent + COL);
            printf("%s\n",END);
        }
        else {
            /*start indent */
            indent += COL;
            indentation(indent + COL);
            printf("%s\n", CONTIGUOUS);

            indentation(indent + COL);
            HDfprintf(stdout,"SIZE %Hu\n", storage_size);
            indentation(indent + COL);
            HDfprintf(stdout,"OFFSET %Hu\n", ioffset);

            /*end indent */
            indent -= COL;
            indentation(indent + COL);
            printf("%s\n",END);
        }
    }
    /*-------------------------------------------------------------------------
    * FILTERS
    *-------------------------------------------------------------------------
    */
    nfilters = H5Pget_nfilters(dcpl_id);

    indentation(indent + COL);
    printf("%s %s\n", FILTERS, BEGIN);
    indent += COL;

    if (nfilters) {
        for (i=0; i<nfilters; i++) {
            cd_nelmts = NELMTS(cd_values);
#ifdef H5_WANT_H5_V1_6_COMPAT
            filtn = H5Pget_filter(dcpl_id, (unsigned)i, &filt_flags, &cd_nelmts,
                cd_values, sizeof(f_name), f_name);
#else
            filtn = H5Pget_filter(dcpl_id, (unsigned)i, &filt_flags, &cd_nelmts,
                cd_values, sizeof(f_name), f_name, NULL);
#endif /* H5_WANT_H5_V1_6_COMPAT */

            switch (filtn) {
                case H5Z_FILTER_DEFLATE:
                    indentation(indent + COL);
                    printf("%s %s %s %d %s\n", DEFLATE, BEGIN, DEFLATE_LEVEL, cd_values[0], END);
                    break;
                case H5Z_FILTER_SHUFFLE:
                    indentation(indent + COL);
                    printf("%s\n", SHUFFLE);
                    break;
                case H5Z_FILTER_FLETCHER32:
                    indentation(indent + COL);
                    printf("%s\n", FLETCHER32);
                    break;
                case H5Z_FILTER_SZIP:
                    {
                        szip_options_mask=cd_values[0];;
                        szip_pixels_per_block=cd_values[1];

                        indentation(indent + COL);
                        printf("%s %s\n",SZIP, BEGIN);

                        /*start indent */
                        indent += COL;
                        indentation(indent + COL);
                        printf("PIXELS_PER_BLOCK %d\n", szip_pixels_per_block);

                        indentation(indent + COL);
                        if (szip_options_mask & H5_SZIP_CHIP_OPTION_MASK)
                            printf("MODE %s\n", "HARDWARE");
                        else if (szip_options_mask & H5_SZIP_ALLOW_K13_OPTION_MASK)
                            printf("MODE %s\n", "K13");

                        indentation(indent + COL);
                        if (szip_options_mask & H5_SZIP_EC_OPTION_MASK)
                            printf("CODING %s\n", "ENTROPY");
                        else if (szip_options_mask & H5_SZIP_NN_OPTION_MASK)
                            printf("CODING %s\n", "NEAREST NEIGHBOUR");

                        indentation(indent + COL);
                        if (szip_options_mask & H5_SZIP_LSB_OPTION_MASK)
                            printf("BYTE_ORDER %s\n", "LSB");
                        else if (szip_options_mask & H5_SZIP_MSB_OPTION_MASK)
                            printf("BYTE_ORDER %s\n", "MSB");

                        indentation(indent + COL);
                        if (szip_options_mask & H5_SZIP_RAW_OPTION_MASK)
                            printf("HEADER %s\n", "RAW");

                        /*end indent */
                        indent -= COL;
                        indentation(indent + COL);
                        printf("%s\n",END);
                    }
                    break;
                case H5Z_FILTER_NBIT:
                    indentation(indent + COL);
                    printf("%s\n", NBIT);
                    break;
                case H5Z_FILTER_SCALEOFFSET:
                    indentation(indent + COL);
                    printf("%s %s %s %d %s\n", SCALEOFFSET, BEGIN, SCALEOFFSET_MINBIT, cd_values[0], END);
                    break;
                default:
                    indentation(indent + COL);
                    if (H5Zfilter_avail(filtn))
                        printf("%s %s\n", "USER_REGISTERED_FILTER", BEGIN);
                    else
                        printf("%s %s\n", "UNKNOWN_FILTER", BEGIN);
                    /*start indent */
                    indent += COL;
                    indentation(indent + COL);
                    printf("FILTER_ID %d\n", filtn);
                    if (f_name[0]!='\0') {
                        indentation(indent + COL);
                        printf("COMMENT %s\n", f_name);
                    }
                    if (cd_nelmts) {
                        indentation(indent + COL);
                        printf("%s %s ","PARAMS", BEGIN);
                        for (j=0; j<cd_nelmts; j++)
                            printf("%d ", cd_values[j]);
                        printf("%s\n", END);
                    }
                    break;
            }/*switch*/
        } /*i*/
    }/*nfilters*/
    else {
        indentation(indent + COL);
        printf("NONE\n");
    }
    indent -= COL;
    indentation(indent + COL);
    printf("%s\n",END);

    /*-------------------------------------------------------------------------
    * FILLVALUE
    *-------------------------------------------------------------------------
    */
    indentation(indent + COL);
    printf("%s %s\n", FILLVALUE, BEGIN);
    /*start indent */
    indent += COL;
    indentation(indent + COL);
    printf("FILL_TIME ");
    H5Pget_fill_time(dcpl_id, &ft);
    switch ( ft ) {
        case H5D_FILL_TIME_ALLOC:
            printf("%s", "H5D_FILL_TIME_ALLOC\n");
            break;
        case H5D_FILL_TIME_NEVER:
            printf("%s", "H5D_FILL_TIME_NEVER\n");
            break;
        case H5D_FILL_TIME_IFSET:
            printf("%s", "H5D_FILL_TIME_IFSET\n");
            break;
        default:
            assert(0);
            break;
    }
    indentation(indent + COL);
    printf("%s ", "VALUE ");
    H5Pfill_value_defined(dcpl_id, &fvstatus);
    if (fvstatus == H5D_FILL_VALUE_UNDEFINED)
        printf("%s\n", "H5D_FILL_VALUE_UNDEFINED");
    else
        dump_fill_value(dcpl_id,type_id,obj_id);
    /* end indent */
    indent -= COL;
    indentation(indent + COL);
    printf("\n");
    indentation(indent + COL);
    printf("%s\n",END);

    /*-------------------------------------------------------------------------
    * ALLOCATION_TIME
    *-------------------------------------------------------------------------
    */
    indentation(indent + COL);
    printf("ALLOCATION_TIME %s\n",BEGIN);
    /*start indent */
    indent += COL;
    indentation(indent + COL);
    H5Pget_alloc_time(dcpl_id, &at);
    switch (at) {
        case H5D_ALLOC_TIME_EARLY:
            printf("%s", "H5D_ALLOC_TIME_EARLY\n");
            break;
        case H5D_ALLOC_TIME_INCR:
            printf("%s", "H5D_ALLOC_TIME_INCR\n");
            break;
        case H5D_ALLOC_TIME_LATE:
            printf("%s", "H5D_ALLOC_TIME_LATE\n");
            break;
        default:
            assert(0);
            break;
    }
    /* end indent */
    indent -= COL;
    indentation(indent + COL);
    printf("%s\n",END);
}

/*-------------------------------------------------------------------------
 * Function:    dump_fcpl
 *
 * Purpose:     prints file creation property list information
 *
 * Return:      void
 *
 * Programmer:  pvn
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
dump_fcpl(hid_t fid)
{
    hid_t    fcpl;      /* file creation property list ID */
    hid_t		  fapl;      /* file access property list ID */
    hsize_t  userblock; /* userblock size retrieved from FCPL */
    size_t   off_size;  /* size of offsets in the file */
    size_t   len_size;  /* size of lengths in the file */
    unsigned super;     /* superblock version # */
    unsigned freelist;  /* free list version # */
    unsigned stab;      /* symbol table entry version # */
    unsigned shhdr;     /* shared object header version # */
    hid_t    fdriver;    /* file driver */
    char     dname[32]; /* buffer to store driver name */
    unsigned sym_lk;    /* symbol table B-tree leaf 'K' value */
    unsigned sym_ik;    /* symbol table B-tree internal 'K' value */
    unsigned istore_ik; /* indexed storage B-tree internal 'K' value */

    fcpl=H5Fget_create_plist(fid);
    H5Pget_version(fcpl, &super, &freelist, &stab, &shhdr);
    H5Pget_userblock(fcpl,&userblock);
    H5Pget_sizes(fcpl,&off_size,&len_size);
    H5Pget_sym_k(fcpl,&sym_ik,&sym_lk);
    H5Pget_istore_k(fcpl,&istore_ik);
    H5Pclose(fcpl);
    fapl=h5_fileaccess();
    fdriver=H5Pget_driver(fapl);
    H5Pclose(fapl);

    /*-------------------------------------------------------------------------
    * SUPER_BLOCK
    *-------------------------------------------------------------------------
    */
    printf("%s %s\n",SUPER_BLOCK, BEGIN);
    indentation(indent + COL);
    printf("%s %u\n","SUPERBLOCK_VERSION", super);
    indentation(indent + COL);
    printf("%s %u\n","FREELIST_VERSION", freelist);
    indentation(indent + COL);
    printf("%s %u\n","SYMBOLTABLE_VERSION", stab);
    indentation(indent + COL);
    printf("%s %u\n","OBJECTHEADER_VERSION", shhdr);
    indentation(indent + COL);
    HDfprintf(stdout,"%s %Hd\n","OFFSET_SIZE", (long_long)off_size);
    indentation(indent + COL);
    HDfprintf(stdout,"%s %Hd\n","LENGTH_SIZE", (long_long)len_size);
    indentation(indent + COL);
    printf("%s %u\n","BTREE_RANK", sym_ik);
    indentation(indent + COL);
    printf("%s %d\n","BTREE_LEAF", sym_lk);

    if (H5FD_CORE==fdriver)
        HDstrcpy(dname,"H5FD_CORE");
#ifdef H5_HAVE_DIRECT
    else if (H5FD_DIRECT==fdriver)
        HDstrcpy(dname,"H5FD_DIRECT");
#endif
    else if (H5FD_FAMILY==fdriver)
        HDstrcpy(dname,"H5FD_FAMILY");
    else if (H5FD_LOG==fdriver)
        HDstrcpy(dname,"H5FD_LOG");
    else if (H5FD_MPIO==fdriver)
        HDstrcpy(dname,"H5FD_MPIO");
    else if (H5FD_MULTI==fdriver)
        HDstrcpy(dname,"H5FD_MULTI");
    else if (H5FD_SEC2==fdriver)
        HDstrcpy(dname,"H5FD_SEC2");
    else if (H5FD_STDIO==fdriver)
        HDstrcpy(dname,"H5FD_STDIO");
#ifdef H5_HAVE_STREAM
    else if (H5FD_STREAM==fdriver)
        HDstrcpy(dname,"H5FD_STREAM");
#endif
    else
        HDstrcpy(dname,"Unknown driver");

    /* Take out this because the driver used can be different from the 
     * standard output. */ 	
    /*indentation(indent + COL);
    printf("%s %s\n","FILE_DRIVER", dname);*/
    indentation(indent + COL);
    printf("%s %u\n","ISTORE_K", istore_ik);
    printf("%s\n",END);

    /*-------------------------------------------------------------------------
    * USER_BLOCK
    *-------------------------------------------------------------------------
    */
    printf("USER_BLOCK %s\n",BEGIN);
    indentation(indent + COL);
    HDfprintf(stdout,"%s %Hu\n","USERBLOCK_SIZE", userblock);
    printf("%s\n",END);
}

/*-------------------------------------------------------------------------
 * Function:    dump_fcontents
 *
 * Purpose:     prints all objects
 *
 * Return:      void
 *
 * Programmer:  pvn
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */

static void dump_fcontents(hid_t fid)
{

    printf("%s %s\n",FILE_CONTENTS, BEGIN);

    /* special case of unamed types in root group */
    if (unamedtype) {
        unsigned u;

        for (u = 0; u < type_table->nobjs; u++) {
            if (!type_table->objs[u].recorded)
                printf(" %-10s /#"H5_PRINTF_HADDR_FMT"\n", "datatype", type_table->objs[u].objno);
        }
    }

    /* print objects in the files */
    h5trav_getinfo(fid, NULL, 1);

    printf(" %s\n",END);
}


/*-------------------------------------------------------------------------
 * Function:    set_output_file
 *
 * Purpose:     Open fname as the output file for dataset raw data.
 *		Set rawdatastream as its file stream.
 *
 * Return:      0 -- succeeded
 *		negative -- failed
 *
 * Programmer:  Albert Cheng, 2000/09/30
 *
 * Modifications:
 *  pvn June, 1, 2006. Add a switch for binary output
 *
 *-------------------------------------------------------------------------
 */
static int
set_output_file(const char *fname, int is_bin)
{
 FILE    *f;	/* temporary holding place for the stream pointer
* so that rawdatastream is changed only when succeeded */

 if (rawdatastream && rawdatastream != stdout) {
  if (fclose(rawdatastream))
   perror("closing rawdatastream");
  else
   rawdatastream = NULL;
 }

 /* binary output */
 if (is_bin)
 {
  if ((f = fopen(fname, "wb")) != NULL) {
   rawdatastream = f;
   return 0;
  }
 }
 else
 {
  if ((f = fopen(fname, "w")) != NULL) {
   rawdatastream = f;
   return 0;
  }
 }

 return -1;
}



/*-------------------------------------------------------------------------
 * Function:	set_binary_form
 *
 * Purpose:	
 *
 * Return:	
 *
 * Programmer:	Pedro Vicente Nunes
 *             June 28, 2006
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static int
set_binary_form(const char *form)
{
 int bform=-1;

 if (strcmp(form,"MEMORY")==0) /* native form */
  bform = 0;
 else if (strcmp(form,"FILE")==0) /* file type form */
  bform = 1;
 else if (strcmp(form,"LE")==0) /* convert to little endian */
  bform = 2;
 else if (strcmp(form,"BE")==0) /* convert to big endian */
  bform = 3;

 return bform;
}

/*-------------------------------------------------------------------------
 * Function:    handle_attributes
 *
 * Purpose:     Handle the attributes from the command.
 *
 * Return:      void
 *
 * Programmer:  Bill Wendling
 *              Tuesday, 9. January 2001
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
handle_attributes(hid_t fid, char *attr, void UNUSED * data)
{
    dump_selected_attr(fid, attr);
}

/*-------------------------------------------------------------------------
 * Function:    parse_hsize_list
 *
 * Purpose:     Parse a list of comma or space separated integers and return
 *              them in a list. The string being passed into this function
 *              should be at the start of the list you want to parse. You are
 *              responsible for freeing the array returned from here.
 *
 *              Lists in the so-called "terse" syntax are separated by
 *              semicolons (;). The lists themselves can be separated by
 *              either commas (,) or white spaces.
 *
 * Return:      Success:    hsize_t array. NULL is a valid return type if
 *                          there aren't any elements in the array.
 *
 * Programmer:  Bill Wendling
 *              Tuesday, 6. February 2001
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static hsize_t *
parse_hsize_list(const char *h_list)
{
    hsize_t        *p_list;
    const char     *ptr;
    unsigned int    size_count = 0, i = 0, last_digit = 0;

    if (!h_list || !*h_list || *h_list == ';')
        return NULL;

    /* count how many integers do we have */
    for (ptr = h_list; ptr && *ptr && *ptr != ';' && *ptr != ']'; ptr++)
        if (isdigit(*ptr)) {
            if (!last_digit)
                /* the last read character wasn't a digit */
                size_count++;

            last_digit = 1;
        } else {
            last_digit = 0;
        }

    if (size_count == 0)
        /* there aren't any integers to read */
        return NULL;

    /* allocate an array for the integers in the list */
    p_list = calloc(size_count, sizeof(hsize_t));

    for (ptr = h_list; i < size_count && ptr && *ptr && *ptr != ';' && *ptr != ']'; ptr++)
        if (isdigit(*ptr)) {
            /* we should have an integer now */
            p_list[i++] = (hsize_t)atof(ptr);

            while (isdigit(*ptr))
                /* scroll to end of integer */
                ptr++;
        }

    return p_list;
}

/*-------------------------------------------------------------------------
 * Function:    parse_subset_params
 *
 * Purpose:     Parse the so-called "terse" syntax for specifying subsetting
 *              parameters.
 *
 * Return:      Success:    struct subset_t object
 *              Failure:    NULL
 *
 * Programmer:  Bill Wendling
 *              Tuesday, 6. February 2001
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static struct subset_t *
parse_subset_params(char *dset)
{
    struct subset_t *s = NULL;
    register char   *brace;

    if ((brace = strrchr(dset, '[')) != NULL) {
        char *slash = strrchr(dset, '/');

        /* sanity check to make sure the [ isn't part of the dataset name */
        if (brace > slash) {
            *brace++ = '\0';

            s = calloc(1, sizeof(struct subset_t));
            s->start = parse_hsize_list(brace);

            while (*brace && *brace != ';')
                brace++;

            if (*brace)
                brace++;

            s->stride = parse_hsize_list(brace);

            while (*brace && *brace != ';')
                brace++;

            if (*brace)
                brace++;

            s->count = parse_hsize_list(brace);

            while (*brace && *brace != ';')
                brace++;

            if (*brace)
                brace++;

            s->block = parse_hsize_list(brace);
        }
    }

    return s;
}

/*-------------------------------------------------------------------------
 * Function:    handle_datasets
 *
 * Purpose:     Handle the datasets from the command.
 *
 * Return:      void
 *
 * Programmer:  Bill Wendling
 *              Tuesday, 9. January 2001
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
handle_datasets(hid_t fid, char *dset, void *data)
{
    H5G_stat_t       statbuf;
    haddr_t          objno;              /* Compact form of object's location */
    hid_t            dsetid;
    struct subset_t *sset = (struct subset_t *)data;

    if ((dsetid = H5Dopen(fid, dset)) < 0) {
        begin_obj(dump_header_format->datasetbegin, dset,
                  dump_header_format->datasetblockbegin);
        indentation(COL);
        error_msg(progname, "unable to open dataset \"%s\"\n", dset);
        end_obj(dump_header_format->datasetend,
                dump_header_format->datasetblockend);
        d_status = EXIT_FAILURE;
        return;
    }

    if (sset) {
        if (!sset->start || !sset->stride || !sset->count || !sset->block) {
            /* they didn't specify a ``stride'' or ``block''. default to 1 in all
             * dimensions */
            hid_t sid = H5Dget_space(dsetid);
            unsigned int ndims = H5Sget_simple_extent_ndims(sid);

            if (!sset->start)
                /* default to (0, 0, ...) for the start coord */
                sset->start = calloc(ndims, sizeof(hsize_t));

            if (!sset->stride) {
                unsigned int i;

                sset->stride = calloc(ndims, sizeof(hsize_t));

                for (i = 0; i < ndims; i++)
                    sset->stride[i] = 1;
            }

            if (!sset->count) {
                hsize_t dims[H5S_MAX_RANK];
                herr_t status = H5Sget_simple_extent_dims(sid, dims, NULL);
                unsigned int i;

                if (status == FAIL) {
                    error_msg(progname, "unable to get dataset dimensions\n");
                    d_status = EXIT_FAILURE;
                    H5Sclose(sid);
                    return;
                }

                sset->count = calloc(ndims, sizeof(hsize_t));

                for (i = 0; i < ndims; i++)
                    sset->count[i] = dims[i] - sset->start[i];
            }

            if (!sset->block) {
                unsigned int i;

                sset->block = calloc(ndims, sizeof(hsize_t));

                for (i = 0; i < ndims; i++)
                    sset->block[i] = 1;
            }

            H5Sclose(sid);
        }
    }

    H5Gget_objinfo(dsetid, ".", TRUE, &statbuf);
    objno = (haddr_t)statbuf.objno[0] | ((haddr_t)statbuf.objno[1] << (8 * sizeof(long)));

    if (statbuf.nlink > 1) {
        obj_t  *found_obj;    /* Found object */

        found_obj = search_obj(dset_table, objno);

        if (found_obj) {
            if (found_obj->displayed) {
                begin_obj(dump_header_format->datasetbegin, dset,
                          dump_header_format->datasetblockbegin);
                indentation(indent + COL);
                printf("%s \"%s\"\n", HARDLINK, found_obj->objname);
                indentation(indent);
                end_obj(dump_header_format->datasetend,
                        dump_header_format->datasetblockend);
            } else {
                found_obj->displayed = TRUE;
                dump_dataset(dsetid, dset, sset);
            }
        } else {
            d_status = EXIT_FAILURE;
        }
    } else {
        dump_dataset(dsetid, dset, sset);
    }

    if (H5Dclose(dsetid) < 0)
        d_status = EXIT_FAILURE;
}

/*-------------------------------------------------------------------------
 * Function:    handle_groups
 *
 * Purpose:     Handle the groups from the command.
 *
 * Return:      void
 *
 * Programmer:  Bill Wendling
 *              Tuesday, 9. January 2001
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
handle_groups(hid_t fid, char *group, void UNUSED * data)
{
    hid_t       gid;

    if ((gid = H5Gopen(fid, group)) < 0) {
        begin_obj(dump_header_format->groupbegin, group,
                  dump_header_format->groupblockbegin);
        indentation(COL);
        error_msg(progname, "unable to open group \"%s\"\n", group);
        end_obj(dump_header_format->groupend,
                dump_header_format->groupblockend);
        d_status = EXIT_FAILURE;
    } else {
        size_t new_len = HDstrlen(group) + 1;

        if (prefix_len <= new_len) {
            prefix_len = new_len;
            prefix = HDrealloc(prefix, prefix_len);
        }

        HDstrcpy(prefix, group);
        dump_group(gid, group);

        if (H5Gclose(gid) < 0)
            d_status = EXIT_FAILURE;
    }
}

/*-------------------------------------------------------------------------
 * Function:    handle_links
 *
 * Purpose:     Handle soft or UD links from the command.
 *
 * Return:      void
 *
 * Programmer:  Bill Wendling
 *              Tuesday, 9. January 2001
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
handle_links(hid_t fid, char *links, void UNUSED * data)
{
    H5G_stat_t  statbuf;
    H5L_info_t linfo;
    char * elink_file;
    char * elink_path;

    if(H5Gget_objinfo(fid, links, FALSE, &statbuf) < 0) {
        error_msg(progname, "unable to get obj info from \"%s\"\n", links);
        d_status = EXIT_FAILURE;
    } else if(H5Lget_info(fid, links, &linfo, H5P_DEFAULT) < 0) {
        error_msg(progname, "unable to get link info from \"%s\"\n", links);
        d_status = EXIT_FAILURE;
    } else if(statbuf.type == H5G_LINK) {    /* Soft link */
        char *buf = HDmalloc(statbuf.linklen);

        begin_obj(dump_header_format->softlinkbegin, links,
                  dump_header_format->softlinkblockbegin);
        indentation(COL);

        if(H5Lget_val(fid, links, buf, statbuf.linklen, H5P_DEFAULT) >= 0) {
            printf("LINKTARGET \"%s\"\n", buf);
        } else {
            error_msg(progname, "h5dump error: unable to get link value for \"%s\"\n",
                      links);
            d_status = EXIT_FAILURE;
        }

        end_obj(dump_header_format->softlinkend,
                dump_header_format->softlinkblockend);
        HDfree(buf);
    } else if(statbuf.type == H5G_UDLINK) {    /* User-defined link */
        char *buf = HDmalloc(statbuf.linklen);
        begin_obj(dump_header_format->udlinkbegin, links,
                  dump_header_format->udlinkblockbegin);
        indentation(COL);
        switch(linfo.type) {
          case H5L_TYPE_EXTERNAL:
              begin_obj(dump_header_format->extlinkbegin, links,
                        dump_header_format->extlinkblockbegin);
              if(H5Lget_val(fid, links, buf, statbuf.linklen, H5P_DEFAULT) >= 0) {
                  if(H5Lunpack_elink_val(buf, statbuf.linklen, &elink_file, &elink_path)>=0) {
                      indentation(COL);
                      printf("LINKCLASS %d\n", linfo.type);
                      indentation(COL);
                      printf("TARGETFILE \"%s\"\n", elink_file);
                      indentation(COL);
                      printf("TARGETPATH \"%s\"\n", elink_path);
                  } else {
                      error_msg(progname, "h5dump error: unable to unpack external link value for \"%s\"\n",
                                links);
                      d_status = EXIT_FAILURE;
                  }
              } else {
                  error_msg(progname, "h5dump error: unable to get external link value for \"%s\"\n",
                            links);
                  d_status = EXIT_FAILURE;
              }
              end_obj(dump_header_format->extlinkend,
                dump_header_format->extlinkblockend);
          break;
          default:
              begin_obj(dump_header_format->udlinkbegin, links,
                        dump_header_format->udlinkblockbegin);
              indentation(COL);
              printf("LINKCLASS %d\n", linfo.type);
              end_obj(dump_header_format->udlinkend,
                      dump_header_format->udlinkblockend);
        }
        HDfree(buf);
    } else {
        error_msg(progname, "\"%s\" is not a link\n", links);
        d_status = EXIT_FAILURE;
    }
}

/*-------------------------------------------------------------------------
 * Function:    handle_datatypes
 *
 * Purpose:     Handle the datatypes from the command.
 *
 * Return:      void
 *
 * Programmer:  Bill Wendling
 *              Tuesday, 9. January 2001
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
handle_datatypes(hid_t fid, char *type, void UNUSED * data)
{
    hid_t       type_id;

    if ((type_id = H5Topen(fid, type)) < 0) {
        /* check if type is unamed data type */
        unsigned idx = 0;

        while (idx < type_table->nobjs ) {
            char name[128];

            if (!type_table->objs[idx].recorded) {
                /* unamed data type */
                sprintf(name, "/#"H5_PRINTF_HADDR_FMT, type_table->objs[idx].objno);

                if (!HDstrcmp(name, type))
                    break;
            }

            idx++;
        }

        if (idx ==  type_table->nobjs) {
            /* unknown type */
            begin_obj(dump_header_format->datatypebegin, type,
                      dump_header_format->datatypeblockbegin);
            indentation(COL);
            error_msg(progname, "unable to open datatype \"%s\"\n", type);
            end_obj(dump_header_format->datatypeend,
                    dump_header_format->datatypeblockend);
            d_status = EXIT_FAILURE;
        } else {
            hid_t dsetid = H5Dopen(fid, type_table->objs[idx].objname);
            type_id = H5Dget_type(dsetid);
            dump_named_datatype(type_id, type);
            H5Tclose(type_id);
            H5Dclose(dsetid);
        }
    } else {
        dump_named_datatype(type_id, type);

        if (H5Tclose(type_id) < 0)
            d_status = EXIT_FAILURE;
    }
}


/*-------------------------------------------------------------------------
 * Function:    parse_command_line
 *
 * Purpose:     Parse the command line for the h5dumper.
 *
 * Return:      Success:    A pointer to an array of handler_t structures.
 *                          These contain all the information needed to dump
 *                          the necessary object.
 *
 *              Failure:    Exits program with EXIT_FAILURE value.
 *
 * Programmer:  Bill Wendling
 *              Tuesday, 20. February 2001
 *
 * Modifications:
 *  pvn June, 1, 2006. Add a switch for binary output
 *
 *-------------------------------------------------------------------------
 */
static struct handler_t *
parse_command_line(int argc, const char *argv[])
{
    struct handler_t   *hand, *last_dset = NULL;
    int                 i, opt, last_was_dset = FALSE;

    /* some logic to handle both -o and -b order */
    const char          *outfname=NULL;
    bin_form = -1;

    /* this will be plenty big enough to hold the info */
    hand = calloc((size_t)argc, sizeof(struct handler_t));

    /* parse command line options */
    while ((opt = get_option(argc, argv, s_opts, l_opts)) != EOF) {
parse_start:
        switch ((char)opt) {
        case 'B':
            display_bb = TRUE;
            last_was_dset = FALSE;
            break;
        case 'n':
            display_fi = TRUE;
            last_was_dset = FALSE;
            break;
        case 'p':
            display_dcpl = TRUE;
            break;
        case 'y':
            display_ai = FALSE;
            break;
        case 'e':
            display_escape = TRUE;
            break;
        case 'H':
            display_data = FALSE;
            display_attr_data = FALSE;
            last_was_dset = FALSE;
            break;
        case 'A':
            display_data = FALSE;
            display_attr_data = TRUE;
            last_was_dset = FALSE;
            break;
        case 'i':
            display_oid = TRUE;
            last_was_dset = FALSE;
            break;
        case 'r':
            display_char = TRUE;
            break;
        case 'V':
            print_version(progname);
            leave(EXIT_SUCCESS);
            break;
        case 'w':
            nCols = atoi(opt_arg);
            last_was_dset = FALSE;
            break;
        case 'a':
            display_all = 0;

            for (i = 0; i < argc; i++)
                if (!hand[i].func) {
                    hand[i].func = handle_attributes;
                    hand[i].obj = HDstrdup(opt_arg);
                    break;
                }

            last_was_dset = FALSE;
            break;
        case 'd':
            display_all = 0;

            for (i = 0; i < argc; i++)
                if (!hand[i].func) {
                    hand[i].func = handle_datasets;
                    hand[i].obj = HDstrdup(opt_arg);
                    hand[i].subset_info = parse_subset_params(hand[i].obj);
                    last_dset = hand;
                    break;
                }

            last_was_dset = TRUE;
            break;
        case 'f':
            driver = opt_arg;
            break;
        case 'g':
            display_all = 0;

            for (i = 0; i < argc; i++)
                if (!hand[i].func) {
                    hand[i].func = handle_groups;
                    hand[i].obj = HDstrdup(opt_arg);
                    break;
                }

            last_was_dset = FALSE;
            break;
        case 'l':
            display_all = 0;

            for (i = 0; i < argc; i++)
                if (!hand[i].func) {
                    hand[i].func = handle_links;
                    hand[i].obj = HDstrdup(opt_arg);
                    break;
                }

            last_was_dset = FALSE;
            break;
        case 't':
            display_all = 0;

            for (i = 0; i < argc; i++)
                if (!hand[i].func) {
                    hand[i].func = handle_datatypes;
                    hand[i].obj = HDstrdup(opt_arg);
                    break;
                }

            last_was_dset = FALSE;
            break;

        case 'o':
         
         if (bin_form > 0 )
         {
          if (set_output_file(opt_arg, 1) < 0){
           usage(progname);
           leave(EXIT_FAILURE);
          }
         }
         else
         {
          if (set_output_file(opt_arg, 0) < 0){
           usage(progname);
           leave(EXIT_FAILURE);
          }
         }
      
         usingdasho = TRUE;
         last_was_dset = FALSE;
         outfname = opt_arg;
         break;

       case 'b':
            
        if ( ( bin_form = set_binary_form(opt_arg)) < 0){
         /* failed to set binary form */
         usage(progname);
         leave(EXIT_FAILURE);
        }
        if (outfname!=NULL) {
         if (set_output_file(outfname, 1) < 0){
          /* failed to set output file */
          usage(progname);
          leave(EXIT_FAILURE);
         }
         
         bin_output = TRUE;
         last_was_dset = FALSE;
        }
        
        break;

        /** begin XML parameters **/
        case 'x':
            /* select XML output */
            doxml = TRUE;
            useschema = TRUE;
            dump_header_format = NULL;
            dump_function_table = &xml_function_table;
            break;
        case 'u':
            doxml = TRUE;
            useschema = FALSE;
            xmlnsprefix = "";
            dump_header_format = NULL;
            dump_function_table = &xml_function_table;
            break;
        case 'D':
            /* specify alternative XML DTD or schema */
            /* To Do: check format of this value?  */
            xml_dtd_uri = opt_arg;
            break;
        case 'X':
            /* specify XML namespace (default="hdf5:"), or none */
            /* To Do: check format of this value?  */
	    if (!useschema) {
                usage(progname);
                leave(EXIT_FAILURE);
	    }
	    if (strcmp(opt_arg,":") == 0) {
                xmlnsprefix = "";
	    } else {
                xmlnsprefix = opt_arg;
	    }
            break;
        /** end XML parameters **/

        /** begin subsetting parameters **/
        case 's':
        case 'S':
        case 'c':
        case 'k': {
            struct subset_t *s;

            if (!last_was_dset) {
                error_msg(progname,
                          "option `-%c' can only be used after --dataset option\n",
                          opt);
                leave(EXIT_FAILURE);
            }

            if (last_dset->subset_info) {
                /*
                 * This overrides the "terse" syntax if they actually mixed
                 * the two.
                 */
                s = last_dset->subset_info;
            } else {
                last_dset->subset_info = s = calloc(1, sizeof(struct subset_t));
            }

            /*
             * slightly convoluted, but...we are only interested in options
             * for subsetting: "--start", "--stride", "--count", and "--block"
             * which can come in any order. If we run out of parameters (EOF)
             * or run into one which isn't a subsetting parameter (NOT s, S,
             * c, or K), then we exit the do-while look, set the subset_info
             * to the structure we've been filling. If we've reached the end
             * of the options, we exit the parsing (goto parse_end) otherwise,
             * since we've "read" the next option, we need to parse it. So we
             * jump to the beginning of the switch statement (goto parse_start).
             */
            do {
                switch ((char)opt) {
                case 's': free(s->start); s->start = parse_hsize_list(opt_arg); break;
                case 'S': free(s->stride); s->stride = parse_hsize_list(opt_arg); break;
                case 'c': free(s->count); s->count = parse_hsize_list(opt_arg); break;
                case 'k': free(s->block); s->block = parse_hsize_list(opt_arg); break;
                default: goto end_collect;
                }
            } while ((opt = get_option(argc, argv, s_opts, l_opts)) != EOF);

end_collect:
            last_was_dset = FALSE;

            if (opt != EOF)
                goto parse_start;
            else
                goto parse_end;
        }
        /** end subsetting parameters **/

        case 'h':
            usage(progname);
            leave(EXIT_SUCCESS);
        case '?':
        default:
            usage(progname);
            leave(EXIT_FAILURE);
        }
    }

parse_end:
    /* check for file name to be processed */
    if (argc <= opt_ind) {
        error_msg(progname, "missing file name\n");
        usage(progname);
        leave(EXIT_FAILURE);
    }
    return hand;
}


/*-------------------------------------------------------------------------
 * Function:    free_handler
 *
 * Purpose:     Convenience function to free the handler_t structures. Needs a
 *              length variable (LEN) to know how many in the array it needs
 *              to free
 *
 * Return:      Nothing
 *
 * Programmer:  Bill Wendling
 *              Tuesday, 20. February 2001
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
free_handler(struct handler_t *hand, int len)
{
    register int i;

    for (i = 0; i < len; i++) {
        free(hand[i].obj);

        if (hand[i].subset_info) {
            free(hand[i].subset_info->start);
            free(hand[i].subset_info->stride);
            free(hand[i].subset_info->count);
            free(hand[i].subset_info->block);
            free(hand[i].subset_info);
        }
    }

    free(hand);
}

/*-------------------------------------------------------------------------
 * Function:    main
 *
 * Purpose:     HDF5 dumper
 *
 * Return:      Success:    0
 *              Failure:    1
 *
 * Programmer:  Ruey-Hsia Li
 *
 * Modifications:
 *        Albert Cheng
 *        30. September 2000
 *        Add the -o option--output file for datasets raw data
 *
 *        REMcG
 *        November 2000
 *        Changes to support XML.
 *
 *        Bill Wendling
 *        Wednesday, 10. January 2001
 *        Modified the way command line parameters are interpreted. They go
 *        through one function call now (get_option).
 *
 *        Bill Wendling
 *        Tuesday, 20. February 2001
 *        Moved command line parsing to separate function. Made various
 *        "display_*" flags global.
 *
 *        REMcG
 *        August 2003
 *        Major upgrade to XML support.
 *
 *-------------------------------------------------------------------------
 */
int
main(int argc, const char *argv[])
{
    hid_t               fid, gid;
    char               *fname = NULL;
    void               *edata;
    H5E_auto_stack_t    func;
    find_objs_t         info;
    struct handler_t   *hand;
    int                 i;
    unsigned            u;

    dump_header_format = &standardformat;
    dump_function_table = &ddl_function_table;

    /* Disable error reporting */
    H5Eget_auto_stack(H5E_DEFAULT, &func, &edata);
    H5Eset_auto_stack(H5E_DEFAULT, NULL, NULL);

    /* Initialize h5tools lib */
    h5tools_init();
    hand = parse_command_line(argc, argv);

    /* Check for conflicting options */
    if (doxml) {
	if (!display_all) {
            error_msg(progname, "option \"%s\" not available for XML\n",
		      "to display selected objects");
	    leave(EXIT_FAILURE);
	} else if (display_bb) {
            error_msg(progname, "option \"%s\" not available for XML\n",
		      "--boot-block");
	    leave(EXIT_FAILURE);
	} else if (display_oid == 1) {
            error_msg(progname, "option \"%s\" not available for XML\n",
		      "--object-ids");
	    leave(EXIT_FAILURE);
        } else if (display_char == TRUE) {
            error_msg(progname, "option \"%s\" not available for XML\n",
		      "--string");
	    leave(EXIT_FAILURE);
	} else if (usingdasho) {
            error_msg(progname, "option \"%s\" not available for XML\n",
		      "--output");
	    leave(EXIT_FAILURE);
	}
    } else {
        if (xml_dtd_uri) {
            warn_msg(progname, "option \"%s\" only applies with XML: %s\n",
                     "--xml-dtd", xml_dtd_uri);
        }
    }

    if (argc <= opt_ind) {
        error_msg(progname, "missing file name\n");
        usage(progname);
        leave(EXIT_FAILURE);
    }
    fname = HDstrdup(argv[opt_ind]);

    fid = h5tools_fopen(fname, H5F_ACC_RDONLY, driver, NULL, 0);

    if (fid < 0) {
        error_msg(progname, "unable to open file \"%s\"\n", fname);
        leave(EXIT_FAILURE);
    }

    /* allocate and initialize internal data structure */
    init_prefix(&prefix, prefix_len);

    /* find all objects that might be targets of a refernce */
    init_ref_path_table(fid);      /* Insert the root group into the ref. path table */
    H5Giterate(fid, (const char *)"/", NULL, fill_ref_path_table, (void *)"");

    if (doxml) {
	/* initialize XML */

	/* reset prefix! */
	HDstrcpy(prefix, "");

	/* make sure the URI is initialized to something */
	if (xml_dtd_uri == NULL) {
	    if (useschema) {
		    xml_dtd_uri = DEFAULT_XSD;
	    } else {
		    xml_dtd_uri = DEFAULT_DTD;
		    xmlnsprefix = "";
	    }
	} else {
		if (useschema && strcmp(xmlnsprefix,"")) {
        error_msg(progname, "Cannot set Schema URL for a qualified namespace--use -X or -U option with -D \n");
			leave(EXIT_FAILURE);
		}
	}
    }

    /* find all shared objects */
    if(init_objs(fid, &info, &group_table, &dset_table, &type_table) < 0) {
        error_msg(progname, "internal error (file %s:line %d)\n",
                  __FILE__, __LINE__);
        d_status = EXIT_FAILURE;
        goto done;
    }

    /* does there exist unamed committed data type */
    for (u = 0; u < type_table->nobjs; u++)
        if (!type_table->objs[u].recorded) {
            unamedtype = 1;
            break;
        } /* end if */

#ifdef H5DUMP_DEBUG
    dump_tables(&info);
#endif /* H5DUMP_DEBUG */

    /* start to dump - display file header information */
    if (!doxml) {
	begin_obj(dump_header_format->filebegin, fname,
		  dump_header_format->fileblockbegin);
    } else {
	printf("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");

	/* alternative first element, depending on schema or DTD. */
        if (useschema) {
            if (strcmp(xmlnsprefix,"") == 0) {
                printf("<HDF5-File xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"%s\">\n",
                   xml_dtd_uri);
            } else {
/*  TO DO: make -url option work in this case (may need new option) */
                char * ns;
                char *indx;

                ns = strdup(xmlnsprefix);
                indx = strrchr(ns,(int)':');
                if (indx) *indx = '\0';

                printf("<%sHDF5-File xmlns:%s=\"http://hdfgroup.org/DTDs/HDF5-File\" "
                    "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
                    "xsi:schemaLocation=\"http://hdfgroup.org/DTDs/HDF5File "
                    "http://hdfgroup.org/DTDs/HDF5-File.xsd\">\n",xmlnsprefix,ns);
            }
	} else {
            printf("<!DOCTYPE HDF5-File PUBLIC \"HDF5-File.dtd\" \"%s\">\n",
                   xml_dtd_uri);
            printf("<HDF5-File>\n");
	}
    }

    if (!doxml) {
        if (display_fi) {
            dump_fcontents(fid);
            end_obj(dump_header_format->fileend,dump_header_format->fileblockend);
            goto done;
        }

        if (display_bb)
            dump_fcpl(fid);
    }

    if (display_all) {
        if ((gid = H5Gopen(fid, "/")) < 0) {
            error_msg(progname, "unable to open root group\n");
            d_status = EXIT_FAILURE;
        } else {
	    dump_function_table->dump_group_function(gid, "/");
        }

        if (H5Gclose(gid) < 0) {
            error_msg(progname, "unable to close root group\n");
            d_status = EXIT_FAILURE;
        }
    } else {
	if (doxml) {
	    /* Note: this option is not supported for XML */
            error_msg(progname, "internal error (file %s:line %d)\n",
                      __FILE__, __LINE__);
            d_status = EXIT_FAILURE;
	    goto done;
	}

        for (i = 0; i < argc; i++)
            if (hand[i].func)
                hand[i].func(fid, hand[i].obj, hand[i].subset_info);
    }

    if (!doxml) {
	end_obj(dump_header_format->fileend,
		dump_header_format->fileblockend);
    } else {
	printf("</%sHDF5-File>\n", xmlnsprefix);
    }

done:
    if (H5Fclose(fid) < 0)
	d_status = EXIT_FAILURE;

    free_handler(hand, argc);

    /* Free tables for objects */
    free_table(group_table);
    free_table(dset_table);
    free_table(type_table);

    HDfree(prefix);
    HDfree(info.prefix);
    HDfree(fname);

    /* To Do:  clean up XML table */

    H5Eset_auto_stack(H5E_DEFAULT, func, edata);

    leave(d_status);
}

/*-------------------------------------------------------------------------
 * Function:    print_enum
 *
 * Purpose:     prints the enum data
 *
 * Return:      void
 *
 * Programmer:  Patrick Lu
 *
 * Modifications:
 *
 * NOTE: this function was taken from h5ls. should be moved into the toolslib
 *
 *-----------------------------------------------------------------------*/
static void
print_enum(hid_t type)
{
    char           **name = NULL;   /*member names                   */
    unsigned char   *value = NULL;  /*value array                    */
    unsigned char   *copy = NULL;   /*a pointer to value array       */
    unsigned         nmembs;        /*number of members              */
    int              nchars;        /*number of output characters    */
    hid_t            super;         /*enum base integer type         */
    hid_t            native = -1;   /*native integer data type       */
    size_t           dst_size;      /*destination value type size    */
    unsigned         i;

    nmembs = H5Tget_nmembers(type);
    assert(nmembs>0);
    super = H5Tget_super(type);

    /*
     * Determine what data type to use for the native values.  To simplify
     * things we entertain three possibilities:
     *  1. long_long -- the largest native signed integer
     *    2. unsigned long_long -- the largest native unsigned integer
     *    3. raw format
     */
    if (H5Tget_size(type) <= sizeof(long_long)) {
	dst_size = sizeof(long_long);

	if (H5T_SGN_NONE == H5Tget_sign(type)) {
	    native = H5T_NATIVE_ULLONG;
	} else {
	    native = H5T_NATIVE_LLONG;
	}
    } else {
	dst_size = H5Tget_size(type);
    }

    /* Get the names and raw values of all members */
    name = calloc(nmembs, sizeof(char *));
    value = calloc(nmembs, MAX(H5Tget_size(type), dst_size));

    for (i = 0; i < nmembs; i++) {
	name[i] = H5Tget_member_name(type, i);
	H5Tget_member_value(type, i, value + i * H5Tget_size(type));
    }

    /* Convert values to native data type */
    if (native > 0)
        H5Tconvert(super, native, nmembs, value, NULL, H5P_DEFAULT);

    /*
     * Sort members by increasing value
     *    ***not implemented yet***
     */

    /* Print members */
    for (i = 0; i < nmembs; i++) {
	indentation(indent + COL);
	nchars = printf("\"%s\"", name[i]);
	printf("%*s   ", MAX(0, 16 - nchars), "");

	if (native < 0) {
            size_t j;

	    printf("0x");

	    for (j = 0; j < dst_size; j++)
		printf("%02x", value[i * dst_size + j]);
	} else if (H5T_SGN_NONE == H5Tget_sign(native)) {
	    /*On SGI Altix(cobalt), wrong values were printed out with "value+i*dst_size"
	     *strangely, unless use another pointer "copy".*/
	    copy = value+i*dst_size;
	    HDfprintf(stdout,"%" H5_PRINTF_LL_WIDTH "u", *((unsigned long_long *)
					      ((void *)copy)));
	} else {
	    /*On SGI Altix(cobalt), wrong values were printed out with "value+i*dst_size"
	     *strangely, unless use another pointer "copy".*/
	    copy = value+i*dst_size;
	    HDfprintf(stdout,"%" H5_PRINTF_LL_WIDTH "d",
		   *((long_long *) ((void *)copy)));
	}

	printf(";\n");
    }

    /* Release resources */
    for (i = 0; i < nmembs; i++)
	free(name[i]);

    free(name);
    free(value);
    H5Tclose(super);

    if (0 == nmembs)
	printf("\n%*s <empty>", indent + 4, "");
}


/*
 * create a string suitable for and XML NCNAME.  Uses the
 * object reference to create the string.
 *
 *  'gen'; 0 - return null if not found
 *         1 - generate a fake entry and return fake id.
 */

int
xml_name_to_XID(const char *str , char *outstr, int outlen, int gen)
{
    haddr_t objno;      /* Object ID for object at path */

    if (outlen < 22) return 1;

    objno = ref_path_table_lookup(str);
    if (objno == HADDR_UNDEF) {
        if (HDstrlen(str) == 0) {
            objno = ref_path_table_lookup("/");
            if (objno == HADDR_UNDEF) {
                if (gen) {
                    objno = ref_path_table_gen_fake(str);
                    sprintf(outstr, "xid_"H5_PRINTF_HADDR_FMT, objno);
                    return 0;
                } else {
                    return 1;
                }
            }
        } else {
            if (gen) {
                objno = ref_path_table_gen_fake(str);
                sprintf(outstr, "xid_"H5_PRINTF_HADDR_FMT, objno);
                return 0;
            } else {
                return 1;
            }
        }
    }

    sprintf(outstr, "xid_"H5_PRINTF_HADDR_FMT, objno);

    return(0);
}

static const char      *quote = "&quot;";
static const char      *amp = "&amp;";
static const char      *lt = "&lt;";
static const char      *gt = "&gt;";
static const char      *apos = "&apos;";

/*-------------------------------------------------------------------------
 * Function:    xml_escape_the_name
 *
 * Purpose:     Escape XML reserved chars in a name, so HDF5 strings
 *              and paths can be correctly read back in XML element.
 *
 * Return:      The revised string.
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static char                   *
xml_escape_the_name(const char *str)
{
    size_t                     extra;
    size_t                     len;
    size_t                     i;
    const char             *cp;
    char                   *ncp;
    char                   *rcp;

    if (!str)
	return NULL;

    cp = str;
    len = strlen(str);
    extra = 0;

    for (i = 0; i < len; i++) {
	if (*cp == '\"') {
	    extra += (strlen(quote) - 1);
	} else if (*cp == '\'') {
	    extra += (strlen(apos) - 1);
	} else if (*cp == '<') {
	    extra += (strlen(lt) - 1);
	} else if (*cp == '>') {
	    extra += (strlen(gt) - 1);
	} else if (*cp == '&') {
	    extra += (strlen(amp) - 1);
	}

	cp++;
    }

    if (extra == 0)
	return HDstrdup(str);

    cp = str;
    rcp = ncp = HDmalloc(len + extra + 1);

    if (!ncp)
        return NULL;    /* ?? */

    for (i = 0; i < len; i++) {
        if (*cp == '\'') {
            strncpy(ncp, apos, strlen(apos));
            ncp += strlen(apos);
            cp++;
        } else if (*cp == '<') {
            strncpy(ncp, lt, strlen(lt));
            ncp += strlen(lt);
            cp++;
        } else if (*cp == '>') {
            strncpy(ncp, gt, strlen(gt));
            ncp += strlen(gt);
            cp++;
        } else if (*cp == '\"') {
            strncpy(ncp, quote, strlen(quote));
            ncp += strlen(quote);
            cp++;
        } else if (*cp == '&') {
            strncpy(ncp, amp, strlen(amp));
            ncp += strlen(amp);
            cp++;
        } else {
            *ncp++ = *cp++;
        }
    }

    *ncp = '\0';
    return rcp;
}

/*-------------------------------------------------------------------------
 * Function:    xml_escape_the_string
 *
 * Purpose:     Escape XML reserved chars in a string, so HDF5 strings
 *              and paths can be correctly read back in XML CDATA.
 *
 * Return:      The revised string.
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static char                   *
xml_escape_the_string(const char *str, int slen)
{
    size_t                     extra;
    size_t                     len;
    size_t                     i;
    const char             *cp;
    char                   *ncp;
    char                   *rcp;

    if (!str)
	return NULL;

    cp = str;

    if (slen < 0)
	len = strlen(str);
    else
	len = slen;

    extra = 0;

    for (i = 0; i < len; i++) {
	if (*cp == '\\') {
	    extra++;
	} else if (*cp == '\"') {
	    extra++;
	} else if (*cp == '\'') {
	    extra += (strlen(apos) - 1);
	} else if (*cp == '<') {
	    extra += (strlen(lt) - 1);
	} else if (*cp == '>') {
	    extra += (strlen(gt) - 1);
	} else if (*cp == '&') {
	    extra += (strlen(amp) - 1);
	}
	cp++;
    }

    cp = str;
    rcp = ncp = calloc((len + extra + 1), sizeof(char));

    if (ncp == NULL)
	return NULL;		/* ?? */

    for (i = 0; i < len; i++) {
	if (*cp == '\\') {
	    *ncp++ = '\\';
	    *ncp++ = *cp++;
	} else if (*cp == '\"') {
	    *ncp++ = '\\';
	    *ncp++ = *cp++;
	} else if (*cp == '\'') {
	    strncpy(ncp, apos, strlen(apos));
	    ncp += strlen(apos);
	    cp++;
	} else if (*cp == '<') {
	    strncpy(ncp, lt, strlen(lt));
	    ncp += strlen(lt);
	    cp++;
	} else if (*cp == '>') {
	    strncpy(ncp, gt, strlen(gt));
	    ncp += strlen(gt);
	    cp++;
	} else if (*cp == '&') {
	    strncpy(ncp, amp, strlen(amp));
	    ncp += strlen(amp);
	    cp++;
	} else {
	    *ncp++ = *cp++;
	}
    }

    *ncp = '\0';
    return rcp;
}

/**
 **  XML print functions--these replace some functions in the
 **  h5tools.c suite.
 **/

/*-------------------------------------------------------------------------
 * Function:    xml_print_datatype
 *
 * Purpose:     Print description of a datatype in XML.
 *              Note:  this is called inside a <DataType> element.
 *
 * Return:      void
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
xml_print_datatype(hid_t type, unsigned in_group)
{
    char                   *mname;
    hid_t                   mtype;
    unsigned                nmembers;
    unsigned                ndims;
    unsigned                i;
    size_t                  size;
    hsize_t                 dims[H5DUMP_MAX_RANK];
    H5T_str_t               str_pad;
    H5T_cset_t              cset;
    hid_t                   super;
    H5T_order_t             ord;
    H5T_sign_t              sgn;
    size_t                  sz;
    size_t                  spos;
    size_t                  epos;
    size_t                  esize;
    size_t                  mpos;
    size_t                  msize;
    int                     nmembs;
    htri_t                  is_vlstr=FALSE;

    if (!in_group && H5Tcommitted(type) > 0) {
        H5G_stat_t statbuf;
        haddr_t objno;              /* Compact form of object's location */
        obj_t  *found_obj;    /* Found object */

        /* detect a shared datatype, output only once */
        H5Gget_objinfo(type, ".", TRUE, &statbuf);
        objno = (haddr_t)statbuf.objno[0] | ((haddr_t)statbuf.objno[1] << (8 * sizeof(long)));
        found_obj = search_obj(type_table, objno);

        if (found_obj) {
            /* This should be defined somewhere else */
            /* These 2 cases are handled the same right now, but
               probably will have something different eventually */
            char * dtxid = malloc(100);
            xml_name_to_XID(found_obj->objname,dtxid,100,1);
            if (!found_obj->recorded) {
                /* 'anonymous' NDT.  Use it's object num.
                   as it's name.  */
                printf("<%sNamedDataTypePtr OBJ-XID=\"/%s\"/>\n",
                    xmlnsprefix, dtxid);
            } else {
                /* point to the NDT by name */
                char *t_objname = xml_escape_the_name(found_obj->objname);
                printf("<%sNamedDataTypePtr OBJ-XID=\"%s\" H5Path=\"%s\"/>\n",
                    xmlnsprefix, dtxid,t_objname);
                free(t_objname);
            }
            free(dtxid);
        } else {
            printf("<!-- h5dump error: unknown committed type. -->\n");
            d_status = EXIT_FAILURE;
        }

    } else {

        switch (H5Tget_class(type)) {
        case H5T_INTEGER:
            indentation(indent);
            printf("<%sAtomicType>\n",xmlnsprefix);
            indent += COL;
            /* <hdf5:IntegerType ByteOrder="bo" Sign="torf" Size="bytes"/> */
            ord = H5Tget_order(type);
            sgn = H5Tget_sign(type);
            indentation(indent);
            printf("<%sIntegerType ByteOrder=\"",xmlnsprefix);
            switch (ord) {
            case H5T_ORDER_LE:
                printf("LE");
                break;
            case H5T_ORDER_BE:
                printf("BE");
                break;
            case H5T_ORDER_VAX:
            default:
                printf("ERROR_UNKNOWN");
            }
            printf("\" Sign=\"");
            switch (sgn) {
            case H5T_SGN_NONE:
                printf("false");
                break;
            case H5T_SGN_2:
                printf("true");
                break;
            default:
                printf("ERROR_UNKNOWN");
            }
            printf("\" Size=\"");
            sz = H5Tget_size(type);
            printf("%lu", (unsigned long)sz);
            printf("\" />\n");
            indent -= COL;
            indentation(indent);
            printf("</%sAtomicType>\n",xmlnsprefix);
            break;

        case H5T_FLOAT:
            /* <hdf5:FloatType ByteOrder="bo" Size="bytes"
               SignBitLocation="bytes"
               ExponentBits="eb" ExponentLocation="el"
               MantissaBits="mb" MantissaLocation="ml" /> */
            ord = H5Tget_order(type);
            indentation(indent);
            printf("<%sAtomicType>\n",xmlnsprefix);
            indent += COL;
            indentation(indent);
            printf("<%sFloatType ByteOrder=\"",xmlnsprefix);
            switch (ord) {
            case H5T_ORDER_LE:
                printf("LE");
                break;
            case H5T_ORDER_BE:
                printf("BE");
                break;
            case H5T_ORDER_VAX:
		printf("VAX");
		break;
            default:
                printf("ERROR_UNKNOWN");
            }
            printf("\" Size=\"");
            sz = H5Tget_size(type);
            printf("%lu", (unsigned long)sz);
            H5Tget_fields(type, &spos, &epos, &esize, &mpos, &msize);
            printf("\" SignBitLocation=\"%lu\" ", (unsigned long)spos);
            printf("ExponentBits=\"%lu\" ExponentLocation=\"%lu\" ", (unsigned long)esize, (unsigned long)epos);
            printf("MantissaBits=\"%lu\" MantissaLocation=\"%lu\" />\n",
                   (unsigned long)msize, (unsigned long)mpos);
            indent -= COL;
            indentation(indent);
            printf("</%sAtomicType>\n",xmlnsprefix);
            break;

        case H5T_TIME:
            indentation(indent);
            printf("<%sAtomicType>\n",xmlnsprefix);
            indent += COL;
            indentation(indent);
            printf("<%sTimeType />\n",xmlnsprefix);
            printf("<!-- H5T_TIME: not yet implemented -->");
            indent -= COL;
            indentation(indent);
            printf("</%sAtomicType>\n",xmlnsprefix);
            break;

        case H5T_STRING:
            /* <hdf5:StringType Cset="cs" StrSize="chars" StrPad="pad" /> */
            size = H5Tget_size(type);
            str_pad = H5Tget_strpad(type);
            cset = H5Tget_cset(type);
            is_vlstr = H5Tis_variable_str(type);

            indentation(indent);
            printf("<%sAtomicType>\n",xmlnsprefix);
            indent += COL;
            indentation(indent);
            printf("<%sStringType Cset=\"",xmlnsprefix);
            if (cset == H5T_CSET_ASCII) {
                printf("H5T_CSET_ASCII\" ");
            } else {
                printf("unknown_cset\" ");
            }
            if(is_vlstr)
                printf("StrSize=\"H5T_VARIABLE\" StrPad=\"");
            else
                printf("StrSize=\"%d\" StrPad=\"", (int) size);
            if (str_pad == H5T_STR_NULLTERM) {
                printf("H5T_STR_NULLTERM\"/>\n");
            } else if (str_pad == H5T_STR_NULLPAD) {
                printf("H5T_STR_NULLPAD\"/>\n");
            } else if (str_pad == H5T_STR_SPACEPAD) {
                printf("H5T_STR_SPACEPAD\"/>\n");
            } else {
                printf("H5T_STR_ERROR\"/>\n");
            }
            indent -= COL;
            indentation(indent);
            printf("</%sAtomicType>\n",xmlnsprefix);
            break;

        case H5T_BITFIELD:
            /* <hdf5:BitfieldType ByteOrder="bo" Size="bytes"/> */
            ord = H5Tget_order(type);
            indentation(indent);
            printf("<%sAtomicType>\n",xmlnsprefix);
            indent += COL;
            indentation(indent);
            printf("<%sBitfieldType ByteOrder=\"",xmlnsprefix);
            switch (ord) {
            case H5T_ORDER_LE:
                printf("LE");
                break;
            case H5T_ORDER_BE:
                printf("BE");
                break;
            case H5T_ORDER_VAX:
            default:
                printf("ERROR_UNKNOWN");
            }
            size = H5Tget_size(type);
            printf("\" Size=\"%lu\"/>\n", (unsigned long)size);
            indent -= COL;
            indentation(indent);
            printf("</%sAtomicType>\n",xmlnsprefix);
            break;

        case H5T_OPAQUE:
            /* <hdf5:OpaqueType Tag="tag" Size="bytes" /> */
            indentation(indent);
            printf("<%sAtomicType>\n",xmlnsprefix);
            indent += COL;
            indentation(indent);
            printf("<%sOpaqueType Tag=\"%s\" ",xmlnsprefix, H5Tget_tag(type));
            size = H5Tget_size(type);
            printf("Size=\"%lu\"/>\n", (unsigned long)size);
            indent -= COL;
            indentation(indent);
            printf("</%sAtomicType>\n",xmlnsprefix);
            break;

        case H5T_COMPOUND:
            /* recursively describe the components of a compound datatype */

            /* type of a dataset */
            nmembers = H5Tget_nmembers(type);

            indentation(indent);
            printf("<%sCompoundType>\n",xmlnsprefix);

            /* List each member Field of the type */
            /*   <hdf5:Field FieldName="name" > */
            /*   <hdf5:DataType > */
            indent += COL;
            for (i = 0; i < nmembers; i++) {
                char *t_fname;

                mname = H5Tget_member_name(type, i);
                mtype = H5Tget_member_type(type, i);
                indentation(indent);
                t_fname = xml_escape_the_name(mname);
                printf("<%sField FieldName=\"%s\">\n",xmlnsprefix, t_fname);

                free(mname);
                free(t_fname);
                indent += COL;
                indentation(indent);
                printf("<%sDataType>\n",xmlnsprefix);
                indent += COL;
                xml_print_datatype(mtype,0);
                indent -= COL;
                indentation(indent);
                printf("</%sDataType>\n",xmlnsprefix);
                indent -= COL;

                indentation(indent);
                printf("</%sField>\n",xmlnsprefix);
            }
            indent -= COL;
            indentation(indent);
            printf("</%sCompoundType>\n",xmlnsprefix);
            break;

        case H5T_REFERENCE:
            indentation(indent);
            printf("<%sAtomicType>\n",xmlnsprefix);
            indent += COL;
            indentation(indent);
            /*  Only Object references supported at this time */
            printf("<%sReferenceType>\n",xmlnsprefix);
            indentation(indent + COL);
            printf("<%sObjectReferenceType />\n",xmlnsprefix);
            indentation(indent);
            printf("</%sReferenceType>\n",xmlnsprefix);
            indent -= COL;
            indentation(indent);
            printf("</%sAtomicType>\n",xmlnsprefix);
            break;

        case H5T_ENUM:
            /*  <hdf5:EnumType Nelems="ne" >
               list Name, values of enum
             */
            nmembs = H5Tget_nmembers(type);
            indentation(indent);
            printf("<%sAtomicType>\n",xmlnsprefix);
            indent += COL;
            indentation(indent);
            printf("<%sEnumType Nelems=\"%d\">\n",xmlnsprefix, nmembs);
            xml_print_enum(type);
            indentation(indent);
            printf("</%sEnumType>\n",xmlnsprefix);
            indent -= COL;
            indentation(indent);
            printf("</%sAtomicType>\n",xmlnsprefix);
            break;

        case H5T_VLEN:
            indentation(indent);
            printf("<%sVLType>\n",xmlnsprefix);
            super = H5Tget_super(type);
            indent += COL;
            indentation(indent);
            printf("<%sDataType>\n",xmlnsprefix);
            indent += COL;
            xml_print_datatype(super,0);
            indent -= COL;
            indentation(indent);
            printf("</%sDataType>\n",xmlnsprefix);
            indent -= COL;
            indentation(indent);
            printf("</%sVLType>\n",xmlnsprefix);
            H5Tclose(super);

            break;

        case H5T_ARRAY:
            /* Get array base type */
            super = H5Tget_super(type);

            /* Print lead-in */
            indentation(indent);
            printf("<%sArrayType Ndims=\"",xmlnsprefix);
            ndims = H5Tget_array_ndims(type);
            printf("%u\">\n", ndims);

            /* Get array information */
            H5Tget_array_dims(type, dims, NULL);

            /* list of dimensions */
            indent += COL;
            for (i = 0; i < ndims; i++) {
                indentation(indent);
                printf("<%sArrayDimension DimSize=\"%u\"/>\n",
                       xmlnsprefix,
                       (int) dims[i]);
            }
            indent -= COL;

            indent += COL;
            indentation(indent);
            printf("<%sDataType>\n",xmlnsprefix);
            indent += COL;
            xml_print_datatype(super,0);
            indent -= COL;
            indentation(indent);
            printf("</%sDataType>\n",xmlnsprefix);
            indent -= COL;
            indentation(indent);
            printf("</%sArrayType>\n",xmlnsprefix);
            /* Close array base type */
            H5Tclose(super);
            break;

        default:
            printf("<!-- unknown data type -->");
            d_status = EXIT_FAILURE;
            break;
        }
    } /* end else */
}

/*-------------------------------------------------------------------------
 * Function:    xml_dump_datatype
 *
 * Purpose:     Dump description of a datatype in XML.
 *
 * Return:      void
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
xml_dump_datatype(hid_t type)
{

    indent += COL;
    indentation(indent);

    if (H5Tcommitted(type) > 0) {
        H5G_stat_t statbuf;
        haddr_t objno;              /* Compact form of object's location */
        obj_t  *found_obj;    /* Found object */

	/* Data type is a shared or named data type */
	H5Gget_objinfo(type, ".", TRUE, &statbuf);
        objno = (haddr_t)statbuf.objno[0] | ((haddr_t)statbuf.objno[1] << (8 * sizeof(long)));
	found_obj = search_obj(type_table, objno);

	if (found_obj) {
	    /* Shared data type, must be entered as an object  */
		/* These 2 cases are the same now, but may change */
	    char * dtxid = malloc(100);
	    xml_name_to_XID(found_obj->objname,dtxid,100,1);
	    if (!found_obj->recorded) {
		/* anonymous stored data type:
		   following the dumper's current
		   practice:
		   use it's object ref as its name
		 */
		printf("<%sNamedDataTypePtr OBJ-XID=\"%s\"/>\n",
			xmlnsprefix, dtxid);

	    } else {
		/* pointer to a named data type already in XML */
                char *t_objname = xml_escape_the_name(found_obj->objname);
		printf("<%sNamedDataTypePtr OBJ-XID=\"%s\" H5Path=\"%s\" />\n",
			xmlnsprefix, dtxid,t_objname);
		free(t_objname);
	    }
	    free(dtxid);
	} else {
	    printf("<!-- h5dump error: unknown committed type. -->\n");
	}
	indent -= COL;
	return;
    }
    printf("<%sDataType>\n",xmlnsprefix);
    indent += COL;
    xml_print_datatype(type,0);
    indent -= COL;
    indentation(indent);
    printf("</%sDataType>\n",xmlnsprefix);
    indent -= COL;
}

/*-------------------------------------------------------------------------
 * Function:    xml_dump_dataspace
 *
 * Purpose:     Dump description of a dataspace in XML.
 *
 * Return:      void
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
xml_dump_dataspace(hid_t space)
{
    hsize_t                 size[H5DUMP_MAX_RANK];
    hsize_t                 maxsize[H5DUMP_MAX_RANK];
    int                     ndims =
	H5Sget_simple_extent_dims(space, size, maxsize);
    H5S_class_t             space_type = H5Sget_simple_extent_type(space);
    int                     i;

    indentation(indent + COL);
    printf("<%sDataspace>\n", xmlnsprefix);
    indentation(indent + COL + COL);

    switch (space_type) {
        case H5S_SCALAR:
	    /* scalar dataspace (just a tag, no XML attrs. defined */
	    printf("<%sScalarDataspace />\n",xmlnsprefix);

            break;
        case H5S_SIMPLE:
	    /* simple dataspace */
	    /* <hdf5:SimpleDataspace Ndims="nd"> */
	    printf("<%sSimpleDataspace Ndims=\"%d\">\n",xmlnsprefix, ndims);

	    /* print the <hdf5:Dimension> elements */
	    for (i = 0; i < ndims; i++) {
		indentation(indent + COL + COL + COL);
		if (maxsize[i] == H5S_UNLIMITED) {
		    HDfprintf(stdout,
			      "<%sDimension  DimSize=\"%Hu\" MaxDimSize=\"UNLIMITED\"/>\n",
			      xmlnsprefix,size[i]);
		} else if (maxsize[i] == (hsize_t) 0) {
		    HDfprintf(stdout,
			      "<%sDimension  DimSize=\"%Hu\" MaxDimSize=\"%Hu\"/>\n",
			      xmlnsprefix,size[i], size[i]);
		} else {
		    HDfprintf(stdout,
			      "<%sDimension  DimSize=\"%Hu\" MaxDimSize=\"%Hu\"/>\n",
			      xmlnsprefix, size[i], maxsize[i]);
		}
	    }
	    indentation(indent + COL + COL);
	    printf("</%sSimpleDataspace>\n", xmlnsprefix );

            break;
#ifdef TMP
        /* Commented out: wait until the schema is updated first */
        case H5S_NULL:
	    /* null dataspace (just a tag, no XML attrs. defined */
	    printf("<%sNullDataspace />\n",xmlnsprefix);

            break;
#endif /* TMP */
        case H5S_NO_CLASS:
        default:
	    printf("<!-- unknown dataspace -->\n");
    }

    indentation(indent + COL);
    printf("</%sDataspace>\n", xmlnsprefix);
}

/*-------------------------------------------------------------------------
 * Function:    xml_dump_data
 *
 * Purpose:     Dump description of data in XML.
 *              Note that this calls the h5dump_xxx calls in
 *              the h5tools library.
 *
 * Return:      void
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
xml_dump_data(hid_t obj_id, int obj_data, struct subset_t UNUSED * sset, int UNUSED pindex)
{
    h5tool_format_t               *outputformat = &xml_dataformat;
    int                     status = -1;
    void                   *buf;
    hid_t                   space, type, p_type;
    int                     ndims, i;
    hsize_t                 size[64], nelmts = 1;
    int                     depth;
    int                     stdindent = COL;	/* should be 3 */

    outputformat->line_ncols = nCols;
    indent += COL;

    /*
     * the depth will tell us how far we need to indent extra.  we use to just
     * use indent but with the merging of the tools lib we have to do
     * something different for the lib funtions... the normal indentation is 6
     * so when we don't need any extra indentation, depth will be 0.
     */
    depth = indent / stdindent + 1;

    /* Print all the values. */
    indentation(indent);
    printf("<%sData>\n", xmlnsprefix);
    indentation(indent + COL);
    printf("<%sDataFromFile>\n",xmlnsprefix);
    if (obj_data == DATASET_DATA) {
	type = H5Dget_type(obj_id);
	if (H5Tget_class(type) == H5T_REFERENCE) {
	    status = xml_print_refs(obj_id, DATASET_DATA);
	} else if (H5Tget_class(type) == H5T_STRING) {
	    status = xml_print_strs(obj_id, DATASET_DATA);
	} else {
	    status = h5tools_dump_dset(stdout, outputformat, obj_id, -1, NULL, depth);
	}
    } else {
	/* Attribute data */
	type = H5Aget_type(obj_id);

	if (H5Tget_class(type) == H5T_REFERENCE) {
	    /* references are done differently than
	       the standard output:
	       XML dumps a path to the object
	       referenced.
	     */
	    status = xml_print_refs(obj_id, ATTRIBUTE_DATA);
	    H5Tclose(type);
	} else if (H5Tget_class(type) == H5T_STRING) {
	    status = xml_print_strs(obj_id, ATTRIBUTE_DATA);
	} else {
	    /* all other data */
            p_type = h5tools_get_native_type(type);

	    H5Tclose(type);

	    space = H5Aget_space(obj_id);

	    ndims = H5Sget_simple_extent_dims(space, size, NULL);

	    for (i = 0; i < ndims; i++)
		nelmts *= size[i];

	    buf =
		malloc((size_t)(nelmts * MAX(H5Tget_size(type), H5Tget_size(p_type))));
	    assert(buf);

	    if (H5Aread(obj_id, p_type, buf) >= 0)
                status = h5tools_dump_mem(stdout, outputformat, obj_id,
                                          p_type, space, buf, depth);

	    free(buf);
	    H5Tclose(p_type);
	    H5Sclose(space);
	    H5Tclose(type);
	}
    }

    if (status == FAIL) {
	indentation(indent + COL);
	printf("Unable to print data.\n");
	status = 1;
    }

    indentation(indent + COL);
    printf("</%sDataFromFile>\n",xmlnsprefix);
    indentation(indent);
    printf("</%sData>\n", xmlnsprefix);
    indent -= COL;
}

/*-------------------------------------------------------------------------
 * Function:    xml_dump_attr
 *
 * Purpose:     Dump a description of an HDF5 attribute in XML.
 *
 * Return:      herr_t
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static herr_t
xml_dump_attr(hid_t attr, const char *attr_name, void UNUSED * op_data)
{
    hid_t   attr_id, type, space;
    H5S_class_t space_type;
    char   *t_aname = xml_escape_the_name(attr_name);

    indentation(indent);
    printf("<%sAttribute Name=\"%s\">\n",xmlnsprefix, t_aname);
    free(t_aname);

    if ((attr_id = H5Aopen_name(attr, attr_name)) >= 0) {
	type = H5Aget_type(attr_id);
	space = H5Aget_space(attr_id);
        space_type = H5Sget_simple_extent_type(space);

	dump_function_table->dump_dataspace_function(space);
	dump_function_table->dump_datatype_function(type);

	if (display_attr_data && space_type!=H5S_NULL) {
	    switch (H5Tget_class(type)) {
	    case H5T_INTEGER:
	    case H5T_FLOAT:
	    case H5T_STRING:
	    case H5T_BITFIELD:
	    case H5T_OPAQUE:
	    case H5T_ENUM:
	    case H5T_ARRAY:
		dump_function_table->dump_data_function(attr_id, ATTRIBUTE_DATA, NULL, 0);
		break;

	    case H5T_TIME:
		indent += COL;
		indentation(indent);
		printf("<%sData>\n",xmlnsprefix);
		indentation(indent);
		printf("<!-- Time data not yet implemented. -->\n");
		indentation(indent);
		printf("<%sNoData/>\n",xmlnsprefix);
		indentation(indent);
		printf("<hdf5:Data>\n");
		printf("</%sData>\n",xmlnsprefix);
		indent -= COL;
		break;

	    case H5T_COMPOUND:
		indentation(indent);
		printf("<!-- Note: format of compound data not specified -->\n");
		dump_function_table->dump_data_function(attr_id, ATTRIBUTE_DATA, NULL, 0);
		break;

	    case H5T_REFERENCE:
		indentation(indent);
		printf("<%sData>\n",xmlnsprefix);
		indentation(indent);
                if (!H5Tequal(type, H5T_STD_REF_OBJ)) {
                   printf("<!-- Note: Region references not supported -->\n");
                   indentation(indent);
                   printf("<%sNoData />\n",xmlnsprefix);
                } else {
		    printf("<%sDataFromFile>\n",xmlnsprefix);
		    xml_print_refs(attr_id, ATTRIBUTE_DATA);
		    indentation(indent);
		    printf("</%sDataFromFile>\n",xmlnsprefix);
                }
		indentation(indent);
		printf("</%sData>\n",xmlnsprefix);
		break;

	    case H5T_VLEN:
		printf("<!-- Note: format of VL data not specified -->\n");
		dump_function_table->dump_data_function(attr_id, ATTRIBUTE_DATA, NULL, 0);
		break;
	    default:
		indentation(indent);
		printf("<%sData>\n",xmlnsprefix);
		indentation(indent);
		printf("<!-- Unknown datatype: %d -->\n", H5Tget_class(type));
		indentation(indent);
		printf("<%sNoData/>\n",xmlnsprefix);
		indentation(indent);
		printf("</%sData>\n",xmlnsprefix);
		break;
	    }
	} else {
	    /* The case of an attribute never yet written ??
             * Or dataspace is H5S_NULL. */
	    indentation(indent + COL);
	    printf("<%sData>\n",xmlnsprefix);
	    indentation(indent + COL + COL);
	    printf("<%sNoData/>\n",xmlnsprefix);
	    indentation(indent + COL);
	    printf("</%sData>\n",xmlnsprefix);
	}

	H5Tclose(type);
	H5Sclose(space);
	H5Aclose(attr_id);
	indentation(indent);
	printf("</%sAttribute>\n", xmlnsprefix );
	return SUCCEED;

    } else {
	/* ?? failed */
	indentation(indent + COL);
	printf("<!-- h5dump error: unable to open attribute. -->\n");
	indentation(indent);
	printf("</%sAttribute>\n", xmlnsprefix );
	d_status = EXIT_FAILURE;
	return FAIL;
    }
}

/*-------------------------------------------------------------------------
 * Function:    xml_dump_named_datatype
 *
 * Purpose:     Dump a description of an HDF5 NDT in XML.
 *
 * Return:      herr_t
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
xml_dump_named_datatype(hid_t type, const char *name)
{
    char                   *tmp;
    char * dtxid;
    char * parentxid;
    char *t_tmp;
    char *t_prefix;
    char   *t_name;

    tmp = HDmalloc(HDstrlen(prefix) + HDstrlen(name) + 2);
    HDstrcpy(tmp, prefix);
    HDstrcat(tmp, "/");
    HDstrcat(tmp, name);

    indentation(indent);
    /*char **/ dtxid = HDmalloc(100);
    /*char **/ parentxid = HDmalloc(100);
    /*char **/t_tmp = xml_escape_the_name(tmp);
    /*char **/t_prefix = xml_escape_the_name(prefix);
    /*char   **/t_name = xml_escape_the_name(name);
    xml_name_to_XID(tmp,dtxid,100,1);
    xml_name_to_XID(prefix,parentxid,100,1);
    if (strncmp(name, "#", 1) == 0) {
	/*  Special:  this is an 'anonymous' NDT, deleted but
	   still in use.
	   We follow the dumper's undocumented practice, and
	   use its object id as its name.
	   Exactly the same as normal, but a separate case
	   in the event we want to do something else in
	   the future.
	 */
	printf("<%sNamedDataType Name=\"%s\" OBJ-XID=\"%s\" "
		"Parents=\"%s\" H5ParentPaths=\"%s\">\n",
		xmlnsprefix,
		name, dtxid,
		parentxid,(HDstrcmp(prefix, "") ? t_prefix : "/"));
    } else {
	printf("<%sNamedDataType Name=\"%s\" OBJ-XID=\"%s\" "
		"H5Path=\"%s\" Parents=\"%s\" H5ParentPaths=\"%s\">\n",
		xmlnsprefix,
		t_name, dtxid,
		t_tmp, parentxid, (HDstrcmp(prefix, "") ? t_prefix : "/"));
    }
    HDfree(dtxid);
    HDfree(parentxid);
    HDfree(t_tmp);
    HDfree(t_prefix);
    HDfree(t_name);
    HDfree(tmp);

    indent += COL;
    indentation(indent);
    printf("<%sDataType>\n",xmlnsprefix);

    indent += COL;
    xml_print_datatype(type,1);

    indent -= COL;
    indentation(indent);
    printf("</%sDataType>\n",xmlnsprefix);

    indent -= COL;
    indentation(indent);
    printf("</%sNamedDataType>\n",xmlnsprefix);
}

/*-------------------------------------------------------------------------
 * Function:    xml_dump_group
 *
 * Purpose:     Dump a description of an HDF5 Group (and its members) in XML.
 *
 * Return:      void
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
xml_dump_group(hid_t gid, const char *name)
{
    H5G_stat_t              statbuf;
    haddr_t                 objno;              /* Compact form of object's location */
    char                   *cp;
    hid_t                   dset, type;
    char                    type_name[1024], *tmp = NULL;
    char                   *par = NULL;
    int                     isRoot = 0;
    int                     xtype;
    char *ptrstr;
    char *t_objname;
    char *par_name;

    if (HDstrcmp(name, "/") == 0) {
	isRoot = 1;
	tmp = HDmalloc(2);
	HDstrcpy(tmp, "/");
    } else {
	tmp = HDmalloc(HDstrlen(prefix) + HDstrlen(name) + 2);
	HDstrcpy(tmp, prefix);
	par = HDstrdup(tmp);
	cp = HDstrrchr(par, '/');
	if (cp != NULL) {
	    if ((cp == par) && HDstrlen(par) > 1) {
		*(cp + 1) = '\0';
	    } else {
		*cp = '\0';
	    }
	}
    }

    indentation(indent);

    indent += COL;
    H5Gget_objinfo(gid, ".", TRUE, &statbuf);
    objno = (haddr_t)statbuf.objno[0] | ((haddr_t)statbuf.objno[1] << (8 * sizeof(long)));

    if (statbuf.nlink > 1) {
        obj_t  *found_obj;    /* Found object */

	/* Group with more than one link to it... */
	found_obj = search_obj(group_table, objno);

	if (found_obj == NULL) {
	    indentation(indent);
            error_msg(progname, "internal error (file %s:line %d)\n",
                      __FILE__, __LINE__);
	    d_status = EXIT_FAILURE;
	} else {
            char *t_name = xml_escape_the_name(name);
            char *grpxid = malloc(100);
            char *parentxid = malloc(100);

            if (found_obj->displayed) {
                /* already seen: enter a groupptr */
                if (isRoot) {
                    /* probably can't happen! */
                    xml_name_to_XID("/",grpxid,100,1);
                    printf("<%sRootGroup OBJ-XID=\"%s\" H5Path=\"%s\">\n",
                            xmlnsprefix,grpxid,"/");
                } else {
                    t_objname = xml_escape_the_name(found_obj->objname);
                    par_name = xml_escape_the_name(par);
                    xml_name_to_XID(tmp,grpxid,100,1);
                    xml_name_to_XID(par,parentxid,100,1);
                    printf("<%sGroup Name=\"%s\" OBJ-XID=\"%s-%d\" H5Path=\"%s\" "
                            "Parents=\"%s\" H5ParentPaths=\"%s\">\n",
                            xmlnsprefix,t_name, grpxid, get_next_xid(),
                            t_objname, parentxid, par_name);
                    free(t_objname);
                    free(par_name);
                }

                indentation(indent + COL);
                ptrstr = malloc(100);
                t_objname = xml_escape_the_name(found_obj->objname);
                par_name = xml_escape_the_name(par);
                xml_name_to_XID(par,parentxid,100,1);
                xml_name_to_XID(found_obj->objname,ptrstr,100,1);
                printf("<%sGroupPtr OBJ-XID=\"%s\" H5Path=\"%s\" "
                            "Parents=\"%s\" H5ParentPaths=\"%s\" />\n",
                            xmlnsprefix,
                            ptrstr, t_objname, parentxid, par_name);
                free(t_objname);
                free(par_name);

            } else {

                /* first time this group has been seen -- describe it  */
                if (isRoot) {
                    xml_name_to_XID("/",grpxid,100,1);
                    printf("<%sRootGroup OBJ-XID=\"%s\" H5Path=\"%s\">\n",
                            xmlnsprefix,grpxid,"/");
                } else {
                    char *t_tmp = xml_escape_the_name(tmp);
                    par_name = xml_escape_the_name(par);
                    xml_name_to_XID(tmp,grpxid,100,1);
                    xml_name_to_XID(par,parentxid,100,1);
                    printf("<%sGroup Name=\"%s\" OBJ-XID=\"%s\" H5Path=\"%s\" "
                            "Parents=\"%s\" H5ParentPaths=\"%s\" >\n",
                           xmlnsprefix,t_name, grpxid, t_tmp, parentxid, par_name);
                    free(t_tmp);
                    free(par_name);
                }
                found_obj->displayed = TRUE;

                /* 1.  do all the attributes of the group */
                H5Aiterate(gid, NULL,
                           dump_function_table->dump_attribute_function, NULL);

                if (!strcmp(name, "/") && unamedtype) {
                    unsigned u;

                    /* Very special case: dump unamed type in root group */
                    for (u = 0; u < type_table->nobjs; u++) {
                        if (!type_table->objs[u].recorded) {
                            dset = H5Dopen(gid, type_table->objs[u].objname);
                            type = H5Dget_type(dset);
                            sprintf(type_name, "#"H5_PRINTF_HADDR_FMT, type_table->objs[u].objno);
                            dump_function_table->dump_named_datatype_function(type, type_name);
                            H5Tclose(type);
                            H5Dclose(dset);
                        }
                    }
                }

                /* iterate through all the members */
                xtype = H5G_TYPE;
                H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
                xtype = H5G_DATASET;
                H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
                xtype = H5G_GROUP;
                H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
                xtype = H5G_LINK;
                H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
                xtype = H5G_UDLINK;
                H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
            }
            free(t_name);
            free(grpxid);
            free(parentxid);
        }
    } else {

	/* only link -- must be first time! */
        char *t_name = xml_escape_the_name(name);
	char *grpxid = malloc(100);
	char *parentxid = malloc(100);
	if (isRoot) {
		xml_name_to_XID("/",grpxid,100,1);
		printf("<%sRootGroup OBJ-XID=\"%s\" H5Path=\"%s\">\n",
			xmlnsprefix,grpxid,"/");
	} else {
		char *t_tmp = xml_escape_the_name(tmp);
		par_name = xml_escape_the_name(par);
		xml_name_to_XID(tmp,grpxid,100,1);
		xml_name_to_XID(par,parentxid,100,1);
		printf("<%sGroup Name=\"%s\" OBJ-XID=\"%s\" H5Path=\"%s\" "
			"Parents=\"%s\" H5ParentPaths=\"%s\" >\n",
		        xmlnsprefix,t_name, grpxid, t_tmp,
			parentxid, par_name);
		free(t_tmp);
		free(par_name);
	}
        free(t_name);
	free(grpxid);
	free(parentxid);

	/* 1.  do all the attributes of the group */
	H5Aiterate(gid, NULL, dump_function_table->dump_attribute_function, NULL);

	if (!strcmp(name, "/") && unamedtype) {
            unsigned u;

	    /* Very special case: dump unamed type in root group */
	    for (u = 0; u < type_table->nobjs; u++) {
		if (!type_table->objs[u].recorded) {
		    dset = H5Dopen(gid, type_table->objs[u].objname);
		    type = H5Dget_type(dset);
                    sprintf(type_name, "#"H5_PRINTF_HADDR_FMT, type_table->objs[u].objno);
		    dump_function_table->dump_named_datatype_function(type, type_name);
		    H5Tclose(type);
		    H5Dclose(dset);
		}
	    }
	}

  	/* iterate through all the members */
	xtype = H5G_TYPE;
	H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
  	xtype = H5G_DATASET;
  	H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
  	xtype = H5G_GROUP;
  	H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
	xtype = H5G_LINK;
	H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
	xtype = H5G_UDLINK;
	H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
    }

    indent -= COL;
    indentation(indent);
    if (isRoot) {
	printf("</%sRootGroup>\n",xmlnsprefix);
    } else {
	printf("</%sGroup>\n" ,xmlnsprefix);
    }
    free(tmp);
}

/*-------------------------------------------------------------------------
 * Function:    xml_print_refs
 *
 * Purpose:     Print a path to the objects referenced by HDF5 Referneces.
 *
 * Return:      void
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static int
xml_print_refs(hid_t did, int source)
{
    herr_t                  e;
    hid_t                   type, space;
    char                   *buf;
    hobj_ref_t             *refbuf;
    hsize_t                 ssiz;
    hsize_t                 i;

    if (source == DATASET_DATA) {
	type = H5Dget_type(did);
    } else if (source == ATTRIBUTE_DATA) {
	type = H5Aget_type(did);
    } else {
	/* return an error */
	return FAIL;
    }
    if (H5Tget_class(type) != H5T_REFERENCE) {
	/* return an error */
	return FAIL;
    }
    if (!H5Tequal(type, H5T_STD_REF_OBJ)) {
	/* region ref not supported yet... */
	/* return an error */
	return FAIL;
    }
    if (source == DATASET_DATA) {
	space = H5Dget_space(did);
	ssiz = H5Sget_simple_extent_npoints(space);
	ssiz *= H5Tget_size(type);

	buf = calloc((size_t)ssiz, sizeof(char));
	if (buf == NULL) {
	    return FAIL;
	}
	e = H5Dread(did, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf);
	/* need to check result here */
	if (e < 0) {
	    free(buf);
	    return FAIL;
	}

    } else if (source == ATTRIBUTE_DATA) {
	space = H5Aget_space(did);
	ssiz = H5Sget_simple_extent_npoints(space);
	ssiz *= H5Tget_size(type);

	buf = calloc((size_t)ssiz, sizeof(char));
	if (buf == NULL) {
	    free(buf);
	    return FAIL;
	}
	e = H5Aread(did, H5T_STD_REF_OBJ, buf);
	/* need to check the result here */
    } else {
	/* error */
	return FAIL;
    }

    refbuf = (hobj_ref_t *) buf;
    ssiz = H5Sget_simple_extent_npoints(space);

    for (i = 0; i < ssiz; i++) {
        const char *path;

	path = lookup_ref_path(*refbuf);
	indentation(indent + COL);

	if (!path) {
	    printf("\"%s\"\n", "NULL");
	} else {
            char *t_path = xml_escape_the_string(path, -1);

	    printf("\"%s\"\n", t_path);
            free(t_path);
	}

	refbuf++;
    }

    free(buf);

    return SUCCEED;
}

/*-------------------------------------------------------------------------
 * Function:    xml_print_strs
 *
 * Purpose:     Print strings.
 *
 * Return:      void
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static int
xml_print_strs(hid_t did, int source)
{
    herr_t                  e;
    hid_t                   type, space;
    void                   *buf;
    char                   *bp;
    char                   *onestring=NULL;
    hsize_t                 ssiz;
    size_t                  tsiz, str_size=0;
    size_t                  i;
    htri_t                  is_vlstr;

    if (source == DATASET_DATA) {
	type = H5Dget_type(did);
    } else if (source == ATTRIBUTE_DATA) {
	type = H5Aget_type(did);
    } else {
	/* return an error */
	return FAIL;
    }
    if (H5Tget_class(type) != H5T_STRING) {
	/* return an error */
	return FAIL;
    }
    is_vlstr = H5Tis_variable_str(type);

    if (source == DATASET_DATA) {
	space = H5Dget_space(did);
	ssiz = H5Sget_simple_extent_npoints(space);
	ssiz *= H5Tget_size(type);

	buf = malloc((size_t)ssiz);

	if (buf == NULL) {
	    return FAIL;
	}

	e = H5Dread(did, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf);

	if (e < 0) {
	    free(buf);
	    return FAIL;
	}
    } else if (source == ATTRIBUTE_DATA) {
	space = H5Aget_space(did);
	ssiz = H5Sget_simple_extent_npoints(space);
	ssiz *= H5Tget_size(type);

	buf = malloc((size_t)ssiz);
	if (buf == NULL) {
	    return FAIL;
	}

	e = H5Aread(did, type, buf);
	if (e < 0) {
	    free(buf);
	    return FAIL;
	}
    } else {
	/* error */
	return FAIL;
    }

    /* pull out each string... */
    ssiz = H5Sget_simple_extent_npoints(space);

    tsiz = H5Tget_size(type);
    bp = (char*)buf;
    if(!is_vlstr)
        onestring = (char *) calloc(tsiz, sizeof(char));

    for (i = 0; i < ssiz; i++) {
        if(is_vlstr) {
            onestring = *(char **)bp;
            if(onestring)
                str_size = (size_t)HDstrlen(onestring);
        } else {
    	    HDstrncpy(onestring, bp, tsiz);
            str_size = tsiz;
        }
	indentation(indent + COL);

	if (!onestring) {
	    printf("NULL\n");
	} else {
            char *t_onestring = xml_escape_the_string(onestring, (int)str_size);

	    printf("\"%s\"\n", t_onestring);
            free(t_onestring);
	}

       bp += tsiz;
    }

    return SUCCEED;
}

/*-------------------------------------------------------------------------
 * Function:    check_filters
 *
 * Purpose:     private function to check for the filters and
 *              put tags in the XML.
 *
 * Return:      void
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
check_filters(hid_t dcpl)
{
    int                     nfilt;
    int                     i;
    H5Z_filter_t            filter;
    char                    namebuf[120];
    size_t                  cd_nelmts = 20;
    unsigned int            cd_values[20];
    unsigned int            flags;

    nfilt = H5Pget_nfilters(dcpl);
    if (nfilt <= 0)
	return;
    for (i = 0; i < nfilt; i++) {
#ifdef H5_WANT_H5_V1_6_COMPAT
	filter = H5Pget_filter(dcpl, (unsigned)i, &flags,
			       (size_t *) &cd_nelmts,
			       cd_values, 120, namebuf);
#else
	filter = H5Pget_filter(dcpl, (unsigned)i, &flags,
			       (size_t *) &cd_nelmts,
			       cd_values, 120, namebuf, NULL);
#endif /* H5_WANT_H5_V1_6_COMPAT */
	if (filter == H5Z_FILTER_DEFLATE) {
	    indentation(indent + COL);
	    printf("<%sDeflate Level=\"",xmlnsprefix);
            if (cd_nelmts < 1) {
		/* not sure what this means? */
	        printf("6");
            } else {
	        printf("%d",cd_values[0]);
            }
	    printf("\"/>\n");
	} else if (filter == H5Z_FILTER_FLETCHER32) {
	    indentation(indent + COL);
	    printf("<%sFletcher32 />",xmlnsprefix);
	} else if (filter == H5Z_FILTER_SHUFFLE) {
	    indentation(indent + COL);
	    printf("<%sShuffle />",xmlnsprefix);
	} else if (filter == H5Z_FILTER_SZIP) {

	    indentation(indent + COL);
	    printf("<%sSZIP ",xmlnsprefix);
            if (cd_nelmts < 2) {
		/* no pixels ? */
	        printf("Pixels_per_block=\"-1\" ");
            } else {
	        printf("Pixels_per_block=\"%d\" ",cd_values[1]);
            }
		/* analyse the options mask */
		if (cd_values[0] & H5_SZIP_CHIP_OPTION_MASK) {
                    printf("Mode =\"Hardware\" ");
                } else if (cd_values[0] & H5_SZIP_ALLOW_K13_OPTION_MASK) {
                    printf("Mode =\"K13\" ");
                }
                printf("Coding=\"");
		if (cd_values[0] & H5_SZIP_EC_OPTION_MASK) {
                    printf("Entropy");
                } else if (cd_values[0] & H5_SZIP_NN_OPTION_MASK) {
                    printf("NN");
                }
                printf("\" ");

                printf("ByteOrder=\"");
		if (cd_values[0] & H5_SZIP_LSB_OPTION_MASK) {
                    printf("LSB");
                } else if (cd_values[0] & H5_SZIP_MSB_OPTION_MASK) {
                    printf("MSB");
                }
                printf("\" ");

		if (cd_values[0] & H5_SZIP_RAW_OPTION_MASK) {
                    printf("Header=\"Raw\"");
                }
	        printf("/>\n");
	} else {
		/* unknown option */
	}
    }
}

static void
xml_dump_fill_value(hid_t dcpl, hid_t type)
{
    size_t sz;
    size_t i;
    hsize_t space;
    void * buf;
    char * name;

    indent += COL;
    indentation(indent);
    printf("<%sData>\n",xmlnsprefix);
    indent += COL;

    space = H5Tget_size(type);
    buf = malloc((size_t)space);

    H5Pget_fill_value(dcpl, type, buf);

    if (H5Tget_class(type) == H5T_REFERENCE) {
        const char * path;

        path = lookup_ref_path(*(hobj_ref_t *)buf);

        indentation(indent);
        printf("<%sDataFromFile>\n",xmlnsprefix);
        if (!path) {
            printf("\"%s\"\n", "NULL");
        } else {
            char *t_path = xml_escape_the_string(path, -1);

            printf("\"%s\"\n", t_path);
            free(t_path);
        }
        indentation(indent);
        printf("</%sDataFromFile>\n",xmlnsprefix);
    } else if (H5Tget_class(type) == H5T_STRING) {
            /* ????? */
            indentation(indent);
            printf("<!-- String fill values not yet implemented. -->\n");
            indentation(indent);
            printf("<%sNoData />\n",xmlnsprefix);
    } else {
        /* all other data */
        switch (H5Tget_class(type)) {
            case H5T_INTEGER:
                    indentation(indent);
                    printf("<%sDataFromFile>\n",xmlnsprefix);
                    indentation(indent);
                    printf("\"%d\"\n",*(int *)buf);
                    indentation(indent);
                    printf("</%sDataFromFile>\n",xmlnsprefix);
                    break;
            case H5T_FLOAT:
                    indentation(indent);
                    printf("<%sDataFromFile>\n",xmlnsprefix);
                    indentation(indent);
                    printf("\"%f\"\n",*(float *)buf);
                    indentation(indent);
                    printf("</%sDataFromFile>\n",xmlnsprefix);
                    break;
            case H5T_BITFIELD:
            case H5T_OPAQUE:
                    indentation(indent);
                    printf("<%sDataFromFile>\n",xmlnsprefix);
                    sz = H5Tget_size(type);
                    indentation(indent);
                    printf("\"");
                    for (i = 0; i < sz; i++) {
                            printf("%x ",*(unsigned int *)buf);
                            buf = (char *)buf + sizeof(unsigned int);
                    }
                    printf("\"\n");
                    indentation(indent);
                    printf("</%sDataFromFile>\n",xmlnsprefix);
                    break;
            case H5T_ENUM:
                    indentation(indent);
                    printf("<%sDataFromFile>\n",xmlnsprefix);
                    name = H5Tget_member_name(type, *(unsigned *)buf);
                    indentation(indent);
                    printf("\"%s\"\n",name);
                    indentation(indent);
                    printf("</%sDataFromFile>\n",xmlnsprefix);
                    break;
            case H5T_ARRAY:
                    indentation(indent);
                printf("<!-- Array fill values not yet implemented. -->\n");
                indentation(indent);
                printf("<%sNoData />\n",xmlnsprefix);
                break;
            case H5T_TIME:
                    indentation(indent);
                printf("<!-- Time fill not yet implemented. -->\n");
                indentation(indent);
                printf("<%sNoData />\n",xmlnsprefix);
                break;
            case H5T_COMPOUND:
                    indentation(indent);
                printf("<!-- Compound fill not yet implemented. -->\n");
                indentation(indent);
                printf("<%sNoData />\n",xmlnsprefix);
                break;
    case H5T_VLEN:
            indentation(indent);
                printf("<!-- VL fill not yet implemented. -->\n");
                indentation(indent);
                printf("<%sNoData />\n",xmlnsprefix);
                break;
    default:
            indentation(indent);
        printf("<!-- Unknown fill datatype: %d -->\n", H5Tget_class(type));
        indentation(indent);
        printf("<%sNoData/>\n",xmlnsprefix);
        break;
    }
    }
    free(buf);
    indent -= COL;
    indentation(indent);
    printf("</%sData>\n",xmlnsprefix);
    indent -= COL;
}

/*-------------------------------------------------------------------------
 * Function:    xml_dump_group
 *
 * Purpose:     Dump a description of an HDF5 Group (and its members) in XML.
 *
 * Return:      void
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
xml_dump_dataset(hid_t did, const char *name, struct subset_t UNUSED * sset)
{
    hid_t                   type, space;
    hid_t                   dcpl;
    H5D_fill_value_t        fvstatus;
    int                     maxdims;
    hsize_t                *chsize;
    int                     ndims;
    int                     i;
    H5D_alloc_time_t        at;
    H5D_fill_time_t        ft;
    hsize_t                 tempi;
    char                   *tmp;
    char                   *t_name, *t_tmp, *t_prefix;
    char *rstr = HDmalloc(100);
    char *pstr = HDmalloc(100);

    tmp = HDmalloc(HDstrlen(prefix) + HDstrlen(name) + 2);
    HDstrcpy(tmp, prefix);
    HDstrcat(tmp, "/");
    HDstrcat(tmp, name);
    indentation(indent);

    t_name = xml_escape_the_name(name);
    t_tmp = xml_escape_the_name(tmp);
    t_prefix = xml_escape_the_name(prefix);

    xml_name_to_XID(tmp, rstr, 100, 1);
    xml_name_to_XID(prefix, pstr, 100, 1);
    printf("<%sDataset Name=\"%s\" OBJ-XID=\"%s\" H5Path= \"%s\" Parents=\"%s\" H5ParentPaths=\"%s\">\n",xmlnsprefix,
	   t_name, rstr, t_tmp, pstr, strcmp(prefix, "") ? t_prefix : "/");

    HDfree(t_name);
    HDfree(t_tmp);
    HDfree(t_prefix);
    HDfree(rstr);
    HDfree(pstr);
    HDfree(tmp);

    dcpl = H5Dget_create_plist(did);
    type = H5Dget_type(did);
    space = H5Dget_space(did);

    /* Print information about storage layout */
    if (H5D_CHUNKED == H5Pget_layout(dcpl)) {
	maxdims = H5Sget_simple_extent_ndims(space);
	chsize = (hsize_t *) malloc(maxdims * sizeof(hsize_t));
	indent += COL;
	indentation(indent);
	printf("<%sStorageLayout>\n",xmlnsprefix);
	indent += COL;
	indentation(indent);
	printf("<%sChunkedLayout ",xmlnsprefix);
	ndims = H5Pget_chunk(dcpl, maxdims, chsize);
	printf("Ndims=\"%d\">\n", ndims);

	indent += COL;

	for (i = 0; i < ndims; i++) {
	    indentation(indent);
	    HDfprintf(stdout, "<%sChunkDimension DimSize=\"%Hu\" />\n",
               xmlnsprefix, chsize[i]);
	}

	indentation(indent);
	printf("<%sRequiredFilter>\n",xmlnsprefix);
	indent += COL;
	check_filters(dcpl);
	indent -= COL;
	indentation(indent);
	printf("</%sRequiredFilter>\n",xmlnsprefix);

	indent -= COL;

	indentation(indent);
	printf("</%sChunkedLayout>\n",xmlnsprefix);
	indent -= COL;
	indentation(indent);
	printf("</%sStorageLayout>\n",xmlnsprefix);
	indent -= COL;
	free(chsize);
    } else if (H5D_CONTIGUOUS == H5Pget_layout(dcpl)) {
	indent += COL;
	indentation(indent);
	printf("<%sStorageLayout>\n",xmlnsprefix);
	indent += COL;
	indentation(indent);
	printf("<%sContiguousLayout/>\n",xmlnsprefix);
	indent -= COL;
	indentation(indent);
	printf("</%sStorageLayout>\n",xmlnsprefix);
	indent -= COL;
	indentation(indent);
    } else if (H5D_COMPACT == H5Pget_layout(dcpl)) {
	indent += COL;
	indentation(indent);
	printf("<%sStorageLayout>\n",xmlnsprefix);
	indent += COL;
	indentation(indent);
	printf("<%sCompactLayout/>\n",xmlnsprefix);
	indent -= COL;
	indentation(indent);
	printf("</%sStorageLayout>\n",xmlnsprefix);
	indent -= COL;
	indentation(indent);
    }
    /* and check for external.... ?? */

    /* fill value */

    indent += COL;
    indentation(indent);
    printf("<%sFillValueInfo ",xmlnsprefix);
    H5Pget_fill_time(dcpl, &ft);
    printf("FillTime=\"");
    switch ( ft ) {
	case H5D_FILL_TIME_ALLOC:
                printf("FillOnAlloc");
		break;
	case H5D_FILL_TIME_NEVER:
                printf("FillNever");
		break;
	case H5D_FILL_TIME_IFSET:
                printf("FillIfSet");
		break;
	default:
                printf("?");
		break;
    }
    printf("\" ");
    H5Pget_alloc_time(dcpl, &at);
    printf("AllocationTime=\"");
    switch ( at ) {
	case H5D_ALLOC_TIME_EARLY:
                printf("Early");
		break;
	case H5D_ALLOC_TIME_INCR:
                printf("Incremental");
		break;
	case H5D_ALLOC_TIME_LATE:
                printf("Late");
		break;
	case H5D_ALLOC_TIME_DEFAULT:
	default:
                printf("?");
		break;
    }
    printf("\"");
    printf(">\n");

    indent += COL;
    indentation(indent);
    printf("<%sFillValue>\n",xmlnsprefix);
    indent += COL;
    H5Pfill_value_defined(dcpl, &fvstatus);
    if (fvstatus == H5D_FILL_VALUE_UNDEFINED ||
            (fvstatus==H5D_FILL_VALUE_DEFAULT && ft==H5D_FILL_TIME_IFSET)) {
        indentation(indent + COL);
        printf("<%sNoFill/>\n",xmlnsprefix);
    } else {
        xml_dump_fill_value(dcpl,type);
    }

    indent -= COL;
    indentation(indent);
    printf("</%sFillValue>\n",xmlnsprefix);

    indent -= COL;
    indentation(indent);
    printf("</%sFillValueInfo>\n",xmlnsprefix);
    indent -= COL;

    dump_function_table->dump_dataspace_function(space);
    dump_function_table->dump_datatype_function(type);

    indent += COL;
    H5Aiterate(did, NULL, dump_function_table->dump_attribute_function, NULL);
    indent -= COL;
    tempi = H5Dget_storage_size(did);

    if (display_data && (tempi > 0)) {
	switch (H5Tget_class(type)) {
	case H5T_INTEGER:
	case H5T_FLOAT:
	case H5T_STRING:
	case H5T_BITFIELD:
	case H5T_OPAQUE:
	case H5T_ENUM:
	case H5T_ARRAY:
	    dump_function_table->dump_data_function(did, DATASET_DATA, NULL, 0);
	    break;

	case H5T_TIME:
	    indent += COL;
	    indentation(indent);
	    printf("<%sData>\n",xmlnsprefix);
	    indentation(indent);
	    printf("<!-- Time data not yet implemented. -->\n");
	    indentation(indent);
	    printf("<%sNoData />\n",xmlnsprefix);
	    indentation(indent);
	    printf("<%sData>\n",xmlnsprefix);
	    indent -= COL;
	    break;

	case H5T_COMPOUND:
	    indentation(indent);
	    printf("<!-- Note: format of compound data not specified -->\n");
	    dump_function_table->dump_data_function(did, DATASET_DATA, NULL, 0);
	    break;

	case H5T_REFERENCE:
	    indentation(indent);
	    printf("<%sData>\n",xmlnsprefix);
	    indentation(indent);
            if (!H5Tequal(type, H5T_STD_REF_OBJ)) {
                printf("<!-- Note: Region references not supported -->\n");
                indentation(indent);
                printf("<%sNoData />\n",xmlnsprefix);
            } else {
	        printf("<%sDataFromFile>\n",xmlnsprefix);
	        xml_print_refs(did, DATASET_DATA);
	        indentation(indent);
	        printf("</%sDataFromFile>\n",xmlnsprefix);
            }
	    indentation(indent);
	    printf("</%sData>\n",xmlnsprefix);
	    break;

	case H5T_VLEN:
	    printf("<!-- Note: format of VL data not specified -->\n");
	    dump_function_table->dump_data_function(did, DATASET_DATA, NULL, 0);
	    break;
	default:
	    indentation(indent);
	    printf("<%sData>\n",xmlnsprefix);
	    indentation(indent);
	    printf("<!-- Unknown datatype: %d -->\n", H5Tget_class(type));
	    indentation(indent);
	    printf("<%sNoData/>\n",xmlnsprefix);
	    indentation(indent);
	    printf("</%sData>\n",xmlnsprefix);
	    break;
	}
    } else {
	/* no data written */
	indentation(indent + COL);
	printf("<%sData>\n",xmlnsprefix);
	indentation(indent + COL + COL);
	printf("<%sNoData/>\n",xmlnsprefix);
	indentation(indent + COL);
	printf("</%sData>\n",xmlnsprefix);
    }

    H5Tclose(type);
    H5Sclose(space);
    H5Pclose(dcpl);
    indentation(indent);
    printf("</%sDataset>\n", xmlnsprefix);
}

/*-------------------------------------------------------------------------
 * Function:    xml_print_enum
 *
 * Purpose:     Print the values of an HDF5 ENUM in XML.
 *              Very similar to regular DDL output.
 *
 * Return:      void
 *
 * Programmer:  REMcG
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
xml_print_enum(hid_t type)
{
    char                  **name = NULL;	/*member names                    */
    unsigned char          *value = NULL;	/*value array                    */
    unsigned                nmembs;	/*number of members                */
    hid_t                   super;	/*enum base integer type        */
    hid_t                   native = -1;	/*native integer data type        */
    size_t                  dst_size;	/*destination value type size    */
    unsigned                i;	/*miscellaneous counters        */
    size_t                  j;

    nmembs = H5Tget_nmembers(type);
    super = H5Tget_super(type);

    indentation(indent);
    printf("<%sDataType>\n",xmlnsprefix);
    xml_print_datatype(super,0);
    indentation(indent);
    printf("</%sDataType>\n",xmlnsprefix);

    /*
     * Determine what data type to use for the native values.  To simplify
     * things we entertain three possibilities:
     *  1. long_long -- the largest native signed integer
     *    2. unsigned long_long -- the largest native unsigned integer
     *    3. raw format
     */
    if (H5Tget_size(type) <= sizeof(long_long)) {
	dst_size = sizeof(long_long);

	if (H5T_SGN_NONE == H5Tget_sign(type)) {
	    native = H5T_NATIVE_ULLONG;
	} else {
	    native = H5T_NATIVE_LLONG;
	}
    } else {
	dst_size = H5Tget_size(type);
    }

    /* Get the names and raw values of all members */
    name = calloc(nmembs, sizeof(char *));
    value = calloc(nmembs, MAX(H5Tget_size(type), dst_size));

    for (i = 0; i < nmembs; i++) {
	name[i] = H5Tget_member_name(type, i);
	H5Tget_member_value(type, i, value + i * H5Tget_size(type));
    }

    /* Convert values to native data type */
    if (native > 0)
	H5Tconvert(super, native, nmembs, value, NULL, H5P_DEFAULT);

    /* Sort members by increasing value */
    /*not implemented yet */

    /* Print members */
    indent += COL;
    for (i = 0; i < nmembs; i++) {
        char *t_name = xml_escape_the_name(name[i]);

	indentation(indent);
	printf("<%sEnumElement>\n",xmlnsprefix);
	indentation(indent + COL);
	printf("%s\n", t_name);
        free(t_name);
	indentation(indent);
	printf("</%sEnumElement>\n",xmlnsprefix);
	indentation(indent);
	printf("<%sEnumValue>\n",xmlnsprefix);
	indentation(indent + COL);
	if (native < 0) {
	    printf("0x");

	    for (j = 0; j < dst_size; j++)
		printf("%02x", value[i * dst_size + j]);
	} else if (H5T_SGN_NONE == H5Tget_sign(native)) {
	    HDfprintf(stdout,"%" H5_PRINTF_LL_WIDTH "u", *((unsigned long_long *)
					      ((void *) (value + i * dst_size))));
	} else {
	    HDfprintf(stdout,"%" H5_PRINTF_LL_WIDTH "d",
		   *((long_long *) ((void *) (value + i * dst_size))));
	}
	printf("\n");
	indentation(indent);
	printf("</%sEnumValue>\n",xmlnsprefix);

    }
    indent -= COL;

    /* Release resources */
    for (i = 0; i < nmembs; i++)
	free(name[i]);

    free(name);
    free(value);
    H5Tclose(super);
}


/*-------------------------------------------------------------------------
 * Function:	h5_fileaccess
 *
 * Purpose:	Returns a file access template which is the default template
 *		but with a file driver set according to the constant or
 *		environment variable HDF5_DRIVER
 *
 * Return:	Success:	A file access property list
 *
 *		Failure:	-1
 *
 * Programmer:	Robb Matzke
 *              Thursday, November 19, 1998
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static hid_t
h5_fileaccess(void)
{
    static const char *multi_letters = "msbrglo";
    const char	*val = NULL;
    const char	*name;
    char s[1024];
    hid_t fapl = -1;

    /* First use the environment variable, then the constant */
    val = HDgetenv("HDF5_DRIVER");
#ifdef HDF5_DRIVER
    if (!val) val = HDF5_DRIVER;
#endif

    if ((fapl=H5Pcreate(H5P_FILE_ACCESS))<0) return -1;
    if (!val || !*val) return fapl; /*use default*/

    HDstrncpy(s, val, sizeof s);
    s[sizeof(s)-1] = '\0';
    if (NULL==(name=HDstrtok(s, " \t\n\r"))) return fapl;

    if (!HDstrcmp(name, "sec2")) {
	/* Unix read() and write() system calls */
	if (H5Pset_fapl_sec2(fapl)<0) return -1;
    } else if (!HDstrcmp(name, "stdio")) {
	/* Standard C fread() and fwrite() system calls */
	if (H5Pset_fapl_stdio(fapl)<0) return -1;
    } else if (!HDstrcmp(name, "core")) {
	/* In-core temporary file with 1MB increment */
	if (H5Pset_fapl_core(fapl, 1024*1024, FALSE)<0) return -1;
    } else if (!HDstrcmp(name, "split")) {
	/* Split meta data and raw data each using default driver */
	if (H5Pset_fapl_split(fapl,
			      "-m.h5", H5P_DEFAULT,
			      "-r.h5", H5P_DEFAULT)<0)
	    return -1;
    } else if (!HDstrcmp(name, "multi")) {
	/* Multi-file driver, general case of the split driver */
	H5FD_mem_t memb_map[H5FD_MEM_NTYPES];
	hid_t memb_fapl[H5FD_MEM_NTYPES];
	const char *memb_name[H5FD_MEM_NTYPES];
	char sv[H5FD_MEM_NTYPES][1024];
	haddr_t memb_addr[H5FD_MEM_NTYPES];
        H5FD_mem_t	mt;

	HDmemset(memb_map, 0, sizeof memb_map);
	HDmemset(memb_fapl, 0, sizeof memb_fapl);
	HDmemset(memb_name, 0, sizeof memb_name);
	HDmemset(memb_addr, 0, sizeof memb_addr);

	assert(HDstrlen(multi_letters)==H5FD_MEM_NTYPES);
	for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; H5_INC_ENUM(H5FD_mem_t,mt)) {
	    memb_fapl[mt] = H5P_DEFAULT;
            memb_map[mt] = mt;
	    sprintf(sv[mt], "%%s-%c.h5", multi_letters[mt]);
	    memb_name[mt] = sv[mt];
	    memb_addr[mt] = MAX(mt-1,0)*(HADDR_MAX/10);
	}

	if (H5Pset_fapl_multi(fapl, memb_map, memb_fapl, memb_name,
			      memb_addr, FALSE)<0) {
	    return -1;
	}
    } else if (!HDstrcmp(name, "family")) {
        hsize_t fam_size = 100*1024*1024; /*100 MB*/

	/* Family of files, each 1MB and using the default driver */
	if ((val=HDstrtok(NULL, " \t\n\r")))
	    fam_size = (hsize_t)(HDstrtod(val, NULL) * 1024*1024);
	if (H5Pset_fapl_family(fapl, fam_size, H5P_DEFAULT)<0)
            return -1;
    } else if (!HDstrcmp(name, "log")) {
        long log_flags = H5FD_LOG_LOC_IO;

        /* Log file access */
        if ((val = HDstrtok(NULL, " \t\n\r")))
            log_flags = HDstrtol(val, NULL, 0);

        if (H5Pset_fapl_log(fapl, NULL, (unsigned)log_flags, 0) < 0)
	    return -1;
    } else if (!HDstrcmp(name, "direct")) {
        /* Substitute Direct I/O driver with sec2 driver temporarily because
         * some output has sec2 driver as the standard. */	
	if (H5Pset_fapl_sec2(fapl)<0) return -1;
    } else {
	/* Unknown driver */
	return -1;
    }

    return fapl;
}


/*-------------------------------------------------------------------------
 * Function:    init_prefix
 *
 * Purpose:     allocate and initialize prefix
 *
 * Return:      void
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
static void
init_prefix(char **prfx, size_t prfx_len)
{
    HDassert(prfx_len > 0);
    *prfx = HDcalloc(prfx_len, 1);
}


/*-------------------------------------------------------------------------
 * Function:    add_prefix
 *
 * Purpose:     Add object to prefix
 *
 * Return:      void
 *
 *-------------------------------------------------------------------------
 */
static void
add_prefix(char **prfx, size_t *prfx_len, const char *name)
{
    size_t new_len = HDstrlen(*prfx) + HDstrlen(name) + 2;

    /* Check if we need more space */
    if(*prfx_len <= new_len) {
        *prfx_len = new_len + 1;
        *prfx = HDrealloc(*prfx, *prfx_len);
    }

    /* Append object name to prefix */
    HDstrcat(HDstrcat(*prfx, "/"), name);
} /* end add_prefix */



/div>
+ {1130652000 -18000 0 EST}
+ {1143961200 -14400 1 EDT}
+ {1162101600 -18000 0 EST}
+ {1175410800 -14400 1 EDT}
+ {1193551200 -18000 0 EST}
+ {1207465200 -14400 1 EDT}
+ {1225000800 -18000 0 EST}
+ {1238914800 -14400 1 EDT}
+ {1256450400 -18000 0 EST}
+ {1270364400 -14400 1 EDT}
+ {1288504800 -18000 0 EST}
+ {1301814000 -14400 1 EDT}
+ {1319954400 -18000 0 EST}
+ {1333263600 -14400 1 EDT}
+ {1351404000 -18000 0 EST}
+ {1365318000 -14400 1 EDT}
+ {1382853600 -18000 0 EST}
+ {1396767600 -14400 1 EDT}
+ {1414303200 -18000 0 EST}
+ {1428217200 -14400 1 EDT}
+ {1445752800 -18000 0 EST}
+ {1459666800 -14400 1 EDT}
+ {1477807200 -18000 0 EST}
+ {1491116400 -14400 1 EDT}
+ {1509256800 -18000 0 EST}
+ {1522566000 -14400 1 EDT}
+ {1540706400 -18000 0 EST}
+ {1554620400 -14400 1 EDT}
+ {1572156000 -18000 0 EST}
+ {1586070000 -14400 1 EDT}
+ {1603605600 -18000 0 EST}
+ {1617519600 -14400 1 EDT}
+ {1635660000 -18000 0 EST}
+ {1648969200 -14400 1 EDT}
+ {1667109600 -18000 0 EST}
+ {1680418800 -14400 1 EDT}
+ {1698559200 -18000 0 EST}
+ {1712473200 -14400 1 EDT}
+ {1730008800 -18000 0 EST}
+ {1743922800 -14400 1 EDT}
+ {1761458400 -18000 0 EST}
+ {1775372400 -14400 1 EDT}
+ {1792908000 -18000 0 EST}
+ {1806822000 -14400 1 EDT}
+ {1824962400 -18000 0 EST}
+ {1838271600 -14400 1 EDT}
+ {1856412000 -18000 0 EST}
+ {1869721200 -14400 1 EDT}
+ {1887861600 -18000 0 EST}
+ {1901775600 -14400 1 EDT}
+ {1919311200 -18000 0 EST}
+ {1933225200 -14400 1 EDT}
+ {1950760800 -18000 0 EST}
+ {1964674800 -14400 1 EDT}
+ {1982815200 -18000 0 EST}
+ {1996124400 -14400 1 EDT}
+ {2014264800 -18000 0 EST}
+ {2027574000 -14400 1 EDT}
+ {2045714400 -18000 0 EST}
+ {2059023600 -14400 1 EDT}
+ {2077164000 -18000 0 EST}
+ {2091078000 -14400 1 EDT}
+ {2108613600 -18000 0 EST}
+ {2122527600 -14400 1 EDT}
+ {2140063200 -18000 0 EST}
+ {2153977200 -14400 1 EDT}
+ {2172117600 -18000 0 EST}
+ {2185426800 -14400 1 EDT}
+ {2203567200 -18000 0 EST}
+ {2216876400 -14400 1 EDT}
+ {2235016800 -18000 0 EST}
+ {2248930800 -14400 1 EDT}
+ {2266466400 -18000 0 EST}
+ {2280380400 -14400 1 EDT}
+ {2297916000 -18000 0 EST}
+ {2311830000 -14400 1 EDT}
+ {2329365600 -18000 0 EST}
+ {2343279600 -14400 1 EDT}
+ {2361420000 -18000 0 EST}
+ {2374729200 -14400 1 EDT}
+ {2392869600 -18000 0 EST}
+ {2406178800 -14400 1 EDT}
+ {2424319200 -18000 0 EST}
+ {2438233200 -14400 1 EDT}
+ {2455768800 -18000 0 EST}
+ {2469682800 -14400 1 EDT}
+ {2487218400 -18000 0 EST}
+ {2501132400 -14400 1 EDT}
+ {2519272800 -18000 0 EST}
+ {2532582000 -14400 1 EDT}
+ {2550722400 -18000 0 EST}
+ {2564031600 -14400 1 EDT}
+ {2582172000 -18000 0 EST}
+ {2596086000 -14400 1 EDT}
+ {2613621600 -18000 0 EST}
+ {2627535600 -14400 1 EDT}
+ {2645071200 -18000 0 EST}
+ {2658985200 -14400 1 EDT}
+ {2676520800 -18000 0 EST}
+ {2690434800 -14400 1 EDT}
+ {2708575200 -18000 0 EST}
+ {2721884400 -14400 1 EDT}
+ {2740024800 -18000 0 EST}
+ {2753334000 -14400 1 EDT}
+ {2771474400 -18000 0 EST}
+ {2785388400 -14400 1 EDT}
+ {2802924000 -18000 0 EST}
+ {2816838000 -14400 1 EDT}
+ {2834373600 -18000 0 EST}
+ {2848287600 -14400 1 EDT}
+ {2866428000 -18000 0 EST}
+ {2879737200 -14400 1 EDT}
+ {2897877600 -18000 0 EST}
+ {2911186800 -14400 1 EDT}
+ {2929327200 -18000 0 EST}
+ {2942636400 -14400 1 EDT}
+ {2960776800 -18000 0 EST}
+ {2974690800 -14400 1 EDT}
+ {2992226400 -18000 0 EST}
+ {3006140400 -14400 1 EDT}
+ {3023676000 -18000 0 EST}
+ {3037590000 -14400 1 EDT}
+ {3055730400 -18000 0 EST}
+ {3069039600 -14400 1 EDT}
+ {3087180000 -18000 0 EST}
+ {3100489200 -14400 1 EDT}
+ {3118629600 -18000 0 EST}
+ {3132543600 -14400 1 EDT}
+ {3150079200 -18000 0 EST}
+ {3163993200 -14400 1 EDT}
+ {3181528800 -18000 0 EST}
+ {3195442800 -14400 1 EDT}
+ {3212978400 -18000 0 EST}
+ {3226892400 -14400 1 EDT}
+ {3245032800 -18000 0 EST}
+ {3258342000 -14400 1 EDT}
+ {3276482400 -18000 0 EST}
+ {3289791600 -14400 1 EDT}
+ {3307932000 -18000 0 EST}
+ {3321846000 -14400 1 EDT}
+ {3339381600 -18000 0 EST}
+ {3353295600 -14400 1 EDT}
+ {3370831200 -18000 0 EST}
+ {3384745200 -14400 1 EDT}
+ {3402885600 -18000 0 EST}
+ {3416194800 -14400 1 EDT}
+ {3434335200 -18000 0 EST}
+ {3447644400 -14400 1 EDT}
+ {3465784800 -18000 0 EST}
+ {3479698800 -14400 1 EDT}
+ {3497234400 -18000 0 EST}
+ {3511148400 -14400 1 EDT}
+ {3528684000 -18000 0 EST}
+ {3542598000 -14400 1 EDT}
+ {3560133600 -18000 0 EST}
+ {3574047600 -14400 1 EDT}
+ {3592188000 -18000 0 EST}
+ {3605497200 -14400 1 EDT}
+ {3623637600 -18000 0 EST}
+ {3636946800 -14400 1 EDT}
+ {3655087200 -18000 0 EST}
+ {3669001200 -14400 1 EDT}
+ {3686536800 -18000 0 EST}
+ {3700450800 -14400 1 EDT}
+ {3717986400 -18000 0 EST}
+ {3731900400 -14400 1 EDT}
+ {3750040800 -18000 0 EST}
+ {3763350000 -14400 1 EDT}
+ {3781490400 -18000 0 EST}
+ {3794799600 -14400 1 EDT}
+ {3812940000 -18000 0 EST}
+ {3826249200 -14400 1 EDT}
+ {3844389600 -18000 0 EST}
+ {3858303600 -14400 1 EDT}
+ {3875839200 -18000 0 EST}
+ {3889753200 -14400 1 EDT}
+ {3907288800 -18000 0 EST}
+ {3921202800 -14400 1 EDT}
+ {3939343200 -18000 0 EST}
+ {3952652400 -14400 1 EDT}
+ {3970792800 -18000 0 EST}
+ {3984102000 -14400 1 EDT}
+ {4002242400 -18000 0 EST}
+ {4016156400 -14400 1 EDT}
+ {4033692000 -18000 0 EST}
+ {4047606000 -14400 1 EDT}
+ {4065141600 -18000 0 EST}
+ {4079055600 -14400 1 EDT}
+ {4096591200 -18000 0 EST}
+}
diff --git a/library/tzdata/America/Nipigon b/library/tzdata/America/Nipigon
new file mode 100644
index 0000000..341530a
--- /dev/null
+++ b/library/tzdata/America/Nipigon
@@ -0,0 +1,265 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Nipigon) {
+ {-9223372036854775808 -21184 0 LMT}
+ {-2366734016 -18000 0 EST}
+ {-1632070800 -14400 1 EDT}
+ {-1614794400 -18000 0 EST}
+ {-923252400 -14400 1 EDT}
+ {-880236000 -14400 0 EST}
+ {-880221600 -14400 1 EWT}
+ {-769395600 -14400 1 EPT}
+ {-765396000 -18000 0 EST}
+ {136364400 -14400 1 EDT}
+ {152085600 -18000 0 EST}
+ {167814000 -14400 1 EDT}
+ {183535200 -18000 0 EST}
+ {199263600 -14400 1 EDT}
+ {215589600 -18000 0 EST}
+ {230713200 -14400 1 EDT}
+ {247039200 -18000 0 EST}
+ {262767600 -14400 1 EDT}
+ {278488800 -18000 0 EST}
+ {294217200 -14400 1 EDT}
+ {309938400 -18000 0 EST}
+ {325666800 -14400 1 EDT}
+ {341388000 -18000 0 EST}
+ {357116400 -14400 1 EDT}
+ {372837600 -18000 0 EST}
+ {388566000 -14400 1 EDT}
+ {404892000 -18000 0 EST}
+ {420015600 -14400 1 EDT}
+ {436341600 -18000 0 EST}
+ {452070000 -14400 1 EDT}
+ {467791200 -18000 0 EST}
+ {483519600 -14400 1 EDT}
+ {499240800 -18000 0 EST}
+ {514969200 -14400 1 EDT}
+ {530690400 -18000 0 EST}
+ {544604400 -14400 1 EDT}
+ {562140000 -18000 0 EST}
+ {576054000 -14400 1 EDT}
+ {594194400 -18000 0 EST}
+ {607503600 -14400 1 EDT}
+ {625644000 -18000 0 EST}
+ {638953200 -14400 1 EDT}
+ {657093600 -18000 0 EST}
+ {671007600 -14400 1 EDT}
+ {688543200 -18000 0 EST}
+ {702457200 -14400 1 EDT}
+ {719992800 -18000 0 EST}
+ {733906800 -14400 1 EDT}
+ {752047200 -18000 0 EST}
+ {765356400 -14400 1 EDT}
+ {783496800 -18000 0 EST}
+ {796806000 -14400 1 EDT}
+ {814946400 -18000 0 EST}
+ {828860400 -14400 1 EDT}
+ {846396000 -18000 0 EST}
+ {860310000 -14400 1 EDT}
+ {877845600 -18000 0 EST}
+ {891759600 -14400 1 EDT}
+ {909295200 -18000 0 EST}
+ {923209200 -14400 1 EDT}
+ {941349600 -18000 0 EST}
+ {954658800 -14400 1 EDT}
+ {972799200 -18000 0 EST}
+ {986108400 -14400 1 EDT}
+ {1004248800 -18000 0 EST}
+ {1018162800 -14400 1 EDT}
+ {1035698400 -18000 0 EST}
+ {1049612400 -14400 1 EDT}
+ {1067148000 -18000 0 EST}
+ {1081062000 -14400 1 EDT}
+ {1099202400 -18000 0 EST}
+ {1112511600 -14400 1 EDT}
+ {1130652000 -18000 0 EST}
+ {1143961200 -14400 1 EDT}
+ {1162101600 -18000 0 EST}
+ {1175410800 -14400 1 EDT}
+ {1193551200 -18000 0 EST}
+ {1207465200 -14400 1 EDT}
+ {1225000800 -18000 0 EST}
+ {1238914800 -14400 1 EDT}
+ {1256450400 -18000 0 EST}
+ {1270364400 -14400 1 EDT}
+ {1288504800 -18000 0 EST}
+ {1301814000 -14400 1 EDT}
+ {1319954400 -18000 0 EST}
+ {1333263600 -14400 1 EDT}
+ {1351404000 -18000 0 EST}
+ {1365318000 -14400 1 EDT}
+ {1382853600 -18000 0 EST}
+ {1396767600 -14400 1 EDT}
+ {1414303200 -18000 0 EST}
+ {1428217200 -14400 1 EDT}
+ {1445752800 -18000 0 EST}
+ {1459666800 -14400 1 EDT}
+ {1477807200 -18000 0 EST}
+ {1491116400 -14400 1 EDT}
+ {1509256800 -18000 0 EST}
+ {1522566000 -14400 1 EDT}
+ {1540706400 -18000 0 EST}
+ {1554620400 -14400 1 EDT}
+ {1572156000 -18000 0 EST}
+ {1586070000 -14400 1 EDT}
+ {1603605600 -18000 0 EST}
+ {1617519600 -14400 1 EDT}
+ {1635660000 -18000 0 EST}
+ {1648969200 -14400 1 EDT}
+ {1667109600 -18000 0 EST}
+ {1680418800 -14400 1 EDT}
+ {1698559200 -18000 0 EST}
+ {1712473200 -14400 1 EDT}
+ {1730008800 -18000 0 EST}
+ {1743922800 -14400 1 EDT}
+ {1761458400 -18000 0 EST}
+ {1775372400 -14400 1 EDT}
+ {1792908000 -18000 0 EST}
+ {1806822000 -14400 1 EDT}
+ {1824962400 -18000 0 EST}
+ {1838271600 -14400 1 EDT}
+ {1856412000 -18000 0 EST}
+ {1869721200 -14400 1 EDT}
+ {1887861600 -18000 0 EST}
+ {1901775600 -14400 1 EDT}
+ {1919311200 -18000 0 EST}
+ {1933225200 -14400 1 EDT}
+ {1950760800 -18000 0 EST}
+ {1964674800 -14400 1 EDT}
+ {1982815200 -18000 0 EST}
+ {1996124400 -14400 1 EDT}
+ {2014264800 -18000 0 EST}
+ {2027574000 -14400 1 EDT}
+ {2045714400 -18000 0 EST}
+ {2059023600 -14400 1 EDT}
+ {2077164000 -18000 0 EST}
+ {2091078000 -14400 1 EDT}
+ {2108613600 -18000 0 EST}
+ {2122527600 -14400 1 EDT}
+ {2140063200 -18000 0 EST}
+ {2153977200 -14400 1 EDT}
+ {2172117600 -18000 0 EST}
+ {2185426800 -14400 1 EDT}
+ {2203567200 -18000 0 EST}
+ {2216876400 -14400 1 EDT}
+ {2235016800 -18000 0 EST}
+ {2248930800 -14400 1 EDT}
+ {2266466400 -18000 0 EST}
+ {2280380400 -14400 1 EDT}
+ {2297916000 -18000 0 EST}
+ {2311830000 -14400 1 EDT}
+ {2329365600 -18000 0 EST}
+ {2343279600 -14400 1 EDT}
+ {2361420000 -18000 0 EST}
+ {2374729200 -14400 1 EDT}
+ {2392869600 -18000 0 EST}
+ {2406178800 -14400 1 EDT}
+ {2424319200 -18000 0 EST}
+ {2438233200 -14400 1 EDT}
+ {2455768800 -18000 0 EST}
+ {2469682800 -14400 1 EDT}
+ {2487218400 -18000 0 EST}
+ {2501132400 -14400 1 EDT}
+ {2519272800 -18000 0 EST}
+ {2532582000 -14400 1 EDT}
+ {2550722400 -18000 0 EST}
+ {2564031600 -14400 1 EDT}
+ {2582172000 -18000 0 EST}
+ {2596086000 -14400 1 EDT}
+ {2613621600 -18000 0 EST}
+ {2627535600 -14400 1 EDT}
+ {2645071200 -18000 0 EST}
+ {2658985200 -14400 1 EDT}
+ {2676520800 -18000 0 EST}
+ {2690434800 -14400 1 EDT}
+ {2708575200 -18000 0 EST}
+ {2721884400 -14400 1 EDT}
+ {2740024800 -18000 0 EST}
+ {2753334000 -14400 1 EDT}
+ {2771474400 -18000 0 EST}
+ {2785388400 -14400 1 EDT}
+ {2802924000 -18000 0 EST}
+ {2816838000 -14400 1 EDT}
+ {2834373600 -18000 0 EST}
+ {2848287600 -14400 1 EDT}
+ {2866428000 -18000 0 EST}
+ {2879737200 -14400 1 EDT}
+ {2897877600 -18000 0 EST}
+ {2911186800 -14400 1 EDT}
+ {2929327200 -18000 0 EST}
+ {2942636400 -14400 1 EDT}
+ {2960776800 -18000 0 EST}
+ {2974690800 -14400 1 EDT}
+ {2992226400 -18000 0 EST}
+ {3006140400 -14400 1 EDT}
+ {3023676000 -18000 0 EST}
+ {3037590000 -14400 1 EDT}
+ {3055730400 -18000 0 EST}
+ {3069039600 -14400 1 EDT}
+ {3087180000 -18000 0 EST}
+ {3100489200 -14400 1 EDT}
+ {3118629600 -18000 0 EST}
+ {3132543600 -14400 1 EDT}
+ {3150079200 -18000 0 EST}
+ {3163993200 -14400 1 EDT}
+ {3181528800 -18000 0 EST}
+ {3195442800 -14400 1 EDT}
+ {3212978400 -18000 0 EST}
+ {3226892400 -14400 1 EDT}
+ {3245032800 -18000 0 EST}
+ {3258342000 -14400 1 EDT}
+ {3276482400 -18000 0 EST}
+ {3289791600 -14400 1 EDT}
+ {3307932000 -18000 0 EST}
+ {3321846000 -14400 1 EDT}
+ {3339381600 -18000 0 EST}
+ {3353295600 -14400 1 EDT}
+ {3370831200 -18000 0 EST}
+ {3384745200 -14400 1 EDT}
+ {3402885600 -18000 0 EST}
+ {3416194800 -14400 1 EDT}
+ {3434335200 -18000 0 EST}
+ {3447644400 -14400 1 EDT}
+ {3465784800 -18000 0 EST}
+ {3479698800 -14400 1 EDT}
+ {3497234400 -18000 0 EST}
+ {3511148400 -14400 1 EDT}
+ {3528684000 -18000 0 EST}
+ {3542598000 -14400 1 EDT}
+ {3560133600 -18000 0 EST}
+ {3574047600 -14400 1 EDT}
+ {3592188000 -18000 0 EST}
+ {3605497200 -14400 1 EDT}
+ {3623637600 -18000 0 EST}
+ {3636946800 -14400 1 EDT}
+ {3655087200 -18000 0 EST}
+ {3669001200 -14400 1 EDT}
+ {3686536800 -18000 0 EST}
+ {3700450800 -14400 1 EDT}
+ {3717986400 -18000 0 EST}
+ {3731900400 -14400 1 EDT}
+ {3750040800 -18000 0 EST}
+ {3763350000 -14400 1 EDT}
+ {3781490400 -18000 0 EST}
+ {3794799600 -14400 1 EDT}
+ {3812940000 -18000 0 EST}
+ {3826249200 -14400 1 EDT}
+ {3844389600 -18000 0 EST}
+ {3858303600 -14400 1 EDT}
+ {3875839200 -18000 0 EST}
+ {3889753200 -14400 1 EDT}
+ {3907288800 -18000 0 EST}
+ {3921202800 -14400 1 EDT}
+ {3939343200 -18000 0 EST}
+ {3952652400 -14400 1 EDT}
+ {3970792800 -18000 0 EST}
+ {3984102000 -14400 1 EDT}
+ {4002242400 -18000 0 EST}
+ {4016156400 -14400 1 EDT}
+ {4033692000 -18000 0 EST}
+ {4047606000 -14400 1 EDT}
+ {4065141600 -18000 0 EST}
+ {4079055600 -14400 1 EDT}
+ {4096591200 -18000 0 EST}
+}
diff --git a/library/tzdata/America/Nome b/library/tzdata/America/Nome
new file mode 100644
index 0000000..bfd0632
--- /dev/null
+++ b/library/tzdata/America/Nome
@@ -0,0 +1,276 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Nome) {
+ {-9223372036854775808 46701 0 LMT}
+ {-3225358701 -39698 0 LMT}
+ {-2188947502 -39600 0 NST}
+ {-883573200 -39600 0 NST}
+ {-880196400 -36000 1 NWT}
+ {-769395600 -36000 1 NPT}
+ {-765374400 -39600 0 NST}
+ {-757342800 -39600 0 NST}
+ {-86878800 -39600 0 BST}
+ {-31496400 -39600 0 BST}
+ {-21466800 -36000 1 BDT}
+ {-5745600 -39600 0 BST}
+ {9982800 -36000 1 BDT}
+ {25704000 -39600 0 BST}
+ {41432400 -36000 1 BDT}
+ {57758400 -39600 0 BST}
+ {73486800 -36000 1 BDT}
+ {89208000 -39600 0 BST}
+ {104936400 -36000 1 BDT}
+ {120657600 -39600 0 BST}
+ {126709200 -36000 1 BDT}
+ {152107200 -39600 0 BST}
+ {162392400 -36000 1 BDT}
+ {183556800 -39600 0 BST}
+ {199285200 -36000 1 BDT}
+ {215611200 -39600 0 BST}
+ {230734800 -36000 1 BDT}
+ {247060800 -39600 0 BST}
+ {262789200 -36000 1 BDT}
+ {278510400 -39600 0 BST}
+ {294238800 -36000 1 BDT}
+ {309960000 -39600 0 BST}
+ {325688400 -36000 1 BDT}
+ {341409600 -39600 0 BST}
+ {357138000 -36000 1 BDT}
+ {372859200 -39600 0 BST}
+ {388587600 -36000 1 BDT}
+ {404913600 -39600 0 BST}
+ {420037200 -36000 1 BDT}
+ {439030800 -32400 0 AKST}
+ {452084400 -28800 1 AKDT}
+ {467805600 -32400 0 AKST}
+ {483534000 -28800 1 AKDT}
+ {499255200 -32400 0 AKST}
+ {514983600 -28800 1 AKDT}
+ {530704800 -32400 0 AKST}
+ {544618800 -28800 1 AKDT}
+ {562154400 -32400 0 AKST}
+ {576068400 -28800 1 AKDT}
+ {594208800 -32400 0 AKST}
+ {607518000 -28800 1 AKDT}
+ {625658400 -32400 0 AKST}
+ {638967600 -28800 1 AKDT}
+ {657108000 -32400 0 AKST}
+ {671022000 -28800 1 AKDT}
+ {688557600 -32400 0 AKST}
+ {702471600 -28800 1 AKDT}
+ {720007200 -32400 0 AKST}
+ {733921200 -28800 1 AKDT}
+ {752061600 -32400 0 AKST}
+ {765370800 -28800 1 AKDT}
+ {783511200 -32400 0 AKST}
+ {796820400 -28800 1 AKDT}
+ {814960800 -32400 0 AKST}
+ {828874800 -28800 1 AKDT}
+ {846410400 -32400 0 AKST}
+ {860324400 -28800 1 AKDT}
+ {877860000 -32400 0 AKST}
+ {891774000 -28800 1 AKDT}
+ {909309600 -32400 0 AKST}
+ {923223600 -28800 1 AKDT}
+ {941364000 -32400 0 AKST}
+ {954673200 -28800 1 AKDT}
+ {972813600 -32400 0 AKST}
+ {986122800 -28800 1 AKDT}
+ {1004263200 -32400 0 AKST}
+ {1018177200 -28800 1 AKDT}
+ {1035712800 -32400 0 AKST}
+ {1049626800 -28800 1 AKDT}
+ {1067162400 -32400 0 AKST}
+ {1081076400 -28800 1 AKDT}
+ {1099216800 -32400 0 AKST}
+ {1112526000 -28800 1 AKDT}
+ {1130666400 -32400 0 AKST}
+ {1143975600 -28800 1 AKDT}
+ {1162116000 -32400 0 AKST}
+ {1175425200 -28800 1 AKDT}
+ {1193565600 -32400 0 AKST}
+ {1207479600 -28800 1 AKDT}
+ {1225015200 -32400 0 AKST}
+ {1238929200 -28800 1 AKDT}
+ {1256464800 -32400 0 AKST}
+ {1270378800 -28800 1 AKDT}
+ {1288519200 -32400 0 AKST}
+ {1301828400 -28800 1 AKDT}
+ {1319968800 -32400 0 AKST}
+ {1333278000 -28800 1 AKDT}
+ {1351418400 -32400 0 AKST}
+ {1365332400 -28800 1 AKDT}
+ {1382868000 -32400 0 AKST}
+ {1396782000 -28800 1 AKDT}
+ {1414317600 -32400 0 AKST}
+ {1428231600 -28800 1 AKDT}
+ {1445767200 -32400 0 AKST}
+ {1459681200 -28800 1 AKDT}
+ {1477821600 -32400 0 AKST}
+ {1491130800 -28800 1 AKDT}
+ {1509271200 -32400 0 AKST}
+ {1522580400 -28800 1 AKDT}
+ {1540720800 -32400 0 AKST}
+ {1554634800 -28800 1 AKDT}
+ {1572170400 -32400 0 AKST}
+ {1586084400 -28800 1 AKDT}
+ {1603620000 -32400 0 AKST}
+ {1617534000 -28800 1 AKDT}
+ {1635674400 -32400 0 AKST}
+ {1648983600 -28800 1 AKDT}
+ {1667124000 -32400 0 AKST}
+ {1680433200 -28800 1 AKDT}
+ {1698573600 -32400 0 AKST}
+ {1712487600 -28800 1 AKDT}
+ {1730023200 -32400 0 AKST}
+ {1743937200 -28800 1 AKDT}
+ {1761472800 -32400 0 AKST}
+ {1775386800 -28800 1 AKDT}
+ {1792922400 -32400 0 AKST}
+ {1806836400 -28800 1 AKDT}
+ {1824976800 -32400 0 AKST}
+ {1838286000 -28800 1 AKDT}
+ {1856426400 -32400 0 AKST}
+ {1869735600 -28800 1 AKDT}
+ {1887876000 -32400 0 AKST}
+ {1901790000 -28800 1 AKDT}
+ {1919325600 -32400 0 AKST}
+ {1933239600 -28800 1 AKDT}
+ {1950775200 -32400 0 AKST}
+ {1964689200 -28800 1 AKDT}
+ {1982829600 -32400 0 AKST}
+ {1996138800 -28800 1 AKDT}
+ {2014279200 -32400 0 AKST}
+ {2027588400 -28800 1 AKDT}
+ {2045728800 -32400 0 AKST}
+ {2059038000 -28800 1 AKDT}
+ {2077178400 -32400 0 AKST}
+ {2091092400 -28800 1 AKDT}
+ {2108628000 -32400 0 AKST}
+ {2122542000 -28800 1 AKDT}
+ {2140077600 -32400 0 AKST}
+ {2153991600 -28800 1 AKDT}
+ {2172132000 -32400 0 AKST}
+ {2185441200 -28800 1 AKDT}
+ {2203581600 -32400 0 AKST}
+ {2216890800 -28800 1 AKDT}
+ {2235031200 -32400 0 AKST}
+ {2248945200 -28800 1 AKDT}
+ {2266480800 -32400 0 AKST}
+ {2280394800 -28800 1 AKDT}
+ {2297930400 -32400 0 AKST}
+ {2311844400 -28800 1 AKDT}
+ {2329380000 -32400 0 AKST}
+ {2343294000 -28800 1 AKDT}
+ {2361434400 -32400 0 AKST}
+ {2374743600 -28800 1 AKDT}
+ {2392884000 -32400 0 AKST}
+ {2406193200 -28800 1 AKDT}
+ {2424333600 -32400 0 AKST}
+ {2438247600 -28800 1 AKDT}
+ {2455783200 -32400 0 AKST}
+ {2469697200 -28800 1 AKDT}
+ {2487232800 -32400 0 AKST}
+ {2501146800 -28800 1 AKDT}
+ {2519287200 -32400 0 AKST}
+ {2532596400 -28800 1 AKDT}
+ {2550736800 -32400 0 AKST}
+ {2564046000 -28800 1 AKDT}
+ {2582186400 -32400 0 AKST}
+ {2596100400 -28800 1 AKDT}
+ {2613636000 -32400 0 AKST}
+ {2627550000 -28800 1 AKDT}
+ {2645085600 -32400 0 AKST}
+ {2658999600 -28800 1 AKDT}
+ {2676535200 -32400 0 AKST}
+ {2690449200 -28800 1 AKDT}
+ {2708589600 -32400 0 AKST}
+ {2721898800 -28800 1 AKDT}
+ {2740039200 -32400 0 AKST}
+ {2753348400 -28800 1 AKDT}
+ {2771488800 -32400 0 AKST}
+ {2785402800 -28800 1 AKDT}
+ {2802938400 -32400 0 AKST}
+ {2816852400 -28800 1 AKDT}
+ {2834388000 -32400 0 AKST}
+ {2848302000 -28800 1 AKDT}
+ {2866442400 -32400 0 AKST}
+ {2879751600 -28800 1 AKDT}
+ {2897892000 -32400 0 AKST}
+ {2911201200 -28800 1 AKDT}
+ {2929341600 -32400 0 AKST}
+ {2942650800 -28800 1 AKDT}
+ {2960791200 -32400 0 AKST}
+ {2974705200 -28800 1 AKDT}
+ {2992240800 -32400 0 AKST}
+ {3006154800 -28800 1 AKDT}
+ {3023690400 -32400 0 AKST}
+ {3037604400 -28800 1 AKDT}
+ {3055744800 -32400 0 AKST}
+ {3069054000 -28800 1 AKDT}
+ {3087194400 -32400 0 AKST}
+ {3100503600 -28800 1 AKDT}
+ {3118644000 -32400 0 AKST}
+ {3132558000 -28800 1 AKDT}
+ {3150093600 -32400 0 AKST}
+ {3164007600 -28800 1 AKDT}
+ {3181543200 -32400 0 AKST}
+ {3195457200 -28800 1 AKDT}
+ {3212992800 -32400 0 AKST}
+ {3226906800 -28800 1 AKDT}
+ {3245047200 -32400 0 AKST}
+ {3258356400 -28800 1 AKDT}
+ {3276496800 -32400 0 AKST}
+ {3289806000 -28800 1 AKDT}
+ {3307946400 -32400 0 AKST}
+ {3321860400 -28800 1 AKDT}
+ {3339396000 -32400 0 AKST}
+ {3353310000 -28800 1 AKDT}
+ {3370845600 -32400 0 AKST}
+ {3384759600 -28800 1 AKDT}
+ {3402900000 -32400 0 AKST}
+ {3416209200 -28800 1 AKDT}
+ {3434349600 -32400 0 AKST}
+ {3447658800 -28800 1 AKDT}
+ {3465799200 -32400 0 AKST}
+ {3479713200 -28800 1 AKDT}
+ {3497248800 -32400 0 AKST}
+ {3511162800 -28800 1 AKDT}
+ {3528698400 -32400 0 AKST}
+ {3542612400 -28800 1 AKDT}
+ {3560148000 -32400 0 AKST}
+ {3574062000 -28800 1 AKDT}
+ {3592202400 -32400 0 AKST}
+ {3605511600 -28800 1 AKDT}
+ {3623652000 -32400 0 AKST}
+ {3636961200 -28800 1 AKDT}
+ {3655101600 -32400 0 AKST}
+ {3669015600 -28800 1 AKDT}
+ {3686551200 -32400 0 AKST}
+ {3700465200 -28800 1 AKDT}
+ {3718000800 -32400 0 AKST}
+ {3731914800 -28800 1 AKDT}
+ {3750055200 -32400 0 AKST}
+ {3763364400 -28800 1 AKDT}
+ {3781504800 -32400 0 AKST}
+ {3794814000 -28800 1 AKDT}
+ {3812954400 -32400 0 AKST}
+ {3826263600 -28800 1 AKDT}
+ {3844404000 -32400 0 AKST}
+ {3858318000 -28800 1 AKDT}
+ {3875853600 -32400 0 AKST}
+ {3889767600 -28800 1 AKDT}
+ {3907303200 -32400 0 AKST}
+ {3921217200 -28800 1 AKDT}
+ {3939357600 -32400 0 AKST}
+ {3952666800 -28800 1 AKDT}
+ {3970807200 -32400 0 AKST}
+ {3984116400 -28800 1 AKDT}
+ {4002256800 -32400 0 AKST}
+ {4016170800 -28800 1 AKDT}
+ {4033706400 -32400 0 AKST}
+ {4047620400 -28800 1 AKDT}
+ {4065156000 -32400 0 AKST}
+ {4079070000 -28800 1 AKDT}
+ {4096605600 -32400 0 AKST}
+}
diff --git a/library/tzdata/America/Noronha b/library/tzdata/America/Noronha
new file mode 100644
index 0000000..64809cf
--- /dev/null
+++ b/library/tzdata/America/Noronha
@@ -0,0 +1,48 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Noronha) {
+ {-9223372036854775808 -7780 0 LMT}
+ {-1767217820 -7200 0 FNT}
+ {-1206961200 -3600 1 FNST}
+ {-1191366000 -7200 0 FNT}
+ {-1175378400 -3600 1 FNST}
+ {-1159830000 -7200 0 FNT}
+ {-633823200 -3600 1 FNST}
+ {-622072800 -7200 0 FNT}
+ {-602287200 -3600 1 FNST}
+ {-591836400 -7200 0 FNT}
+ {-570751200 -3600 1 FNST}
+ {-560214000 -7200 0 FNT}
+ {-539128800 -3600 1 FNST}
+ {-531356400 -7200 0 FNT}
+ {-191368800 -3600 1 FNST}
+ {-184201200 -7200 0 FNT}
+ {-155167200 -3600 1 FNST}
+ {-150073200 -7200 0 FNT}
+ {-128901600 -3600 1 FNST}
+ {-121129200 -7200 0 FNT}
+ {-99957600 -3600 1 FNST}
+ {-89593200 -7200 0 FNT}
+ {-68421600 -3600 1 FNST}
+ {-57970800 -7200 0 FNT}
+ {499744800 -3600 1 FNST}
+ {511232400 -7200 0 FNT}
+ {530589600 -3600 1 FNST}
+ {540262800 -7200 0 FNT}
+ {562125600 -3600 1 FNST}
+ {571194000 -7200 0 FNT}
+ {592970400 -3600 1 FNST}
+ {602038800 -7200 0 FNT}
+ {624420000 -3600 1 FNST}
+ {634698000 -7200 0 FNT}
+ {653533200 -7200 0 FNT}
+ {938656800 -7200 0 FNT}
+ {938916000 -3600 1 FNST}
+ {951613200 -7200 0 FNT}
+ {970970400 -3600 1 FNST}
+ {971571600 -7200 0 FNT}
+ {1000346400 -7200 0 FNT}
+ {1003024800 -3600 1 FNST}
+ {1013907600 -7200 0 FNT}
+ {1033434000 -7200 0 FNT}
+}
diff --git a/library/tzdata/America/North_Dakota/Center b/library/tzdata/America/North_Dakota/Center
new file mode 100644
index 0000000..9ab4470
--- /dev/null
+++ b/library/tzdata/America/North_Dakota/Center
@@ -0,0 +1,279 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/North_Dakota/Center) {
+ {-9223372036854775808 -24312 0 LMT}
+ {-2717644488 -25200 0 MST}
+ {-1633273200 -21600 1 MDT}
+ {-1615132800 -25200 0 MST}
+ {-1601823600 -21600 1 MDT}
+ {-1583683200 -25200 0 MST}
+ {-880210800 -21600 1 MWT}
+ {-769395600 -21600 1 MPT}
+ {-765388800 -25200 0 MST}
+ {-84380400 -21600 1 MDT}
+ {-68659200 -25200 0 MST}
+ {-52930800 -21600 1 MDT}
+ {-37209600 -25200 0 MST}
+ {-21481200 -21600 1 MDT}
+ {-5760000 -25200 0 MST}
+ {9968400 -21600 1 MDT}
+ {25689600 -25200 0 MST}
+ {41418000 -21600 1 MDT}
+ {57744000 -25200 0 MST}
+ {73472400 -21600 1 MDT}
+ {89193600 -25200 0 MST}
+ {104922000 -21600 1 MDT}
+ {120643200 -25200 0 MST}
+ {126694800 -21600 1 MDT}
+ {152092800 -25200 0 MST}
+ {162378000 -21600 1 MDT}
+ {183542400 -25200 0 MST}
+ {199270800 -21600 1 MDT}
+ {215596800 -25200 0 MST}
+ {230720400 -21600 1 MDT}
+ {247046400 -25200 0 MST}
+ {262774800 -21600 1 MDT}
+ {278496000 -25200 0 MST}
+ {294224400 -21600 1 MDT}
+ {309945600 -25200 0 MST}
+ {325674000 -21600 1 MDT}
+ {341395200 -25200 0 MST}
+ {357123600 -21600 1 MDT}
+ {372844800 -25200 0 MST}
+ {388573200 -21600 1 MDT}
+ {404899200 -25200 0 MST}
+ {420022800 -21600 1 MDT}
+ {436348800 -25200 0 MST}
+ {452077200 -21600 1 MDT}
+ {467798400 -25200 0 MST}
+ {483526800 -21600 1 MDT}
+ {499248000 -25200 0 MST}
+ {514976400 -21600 1 MDT}
+ {530697600 -25200 0 MST}
+ {544611600 -21600 1 MDT}
+ {562147200 -25200 0 MST}
+ {576061200 -21600 1 MDT}
+ {594201600 -25200 0 MST}
+ {607510800 -21600 1 MDT}
+ {625651200 -25200 0 MST}
+ {638960400 -21600 1 MDT}
+ {657100800 -25200 0 MST}
+ {671014800 -21600 1 MDT}
+ {688550400 -25200 0 MST}
+ {702464400 -21600 1 MDT}
+ {720003600 -21600 0 CST}
+ {733910400 -18000 1 CDT}
+ {752050800 -21600 0 CST}
+ {765360000 -18000 1 CDT}
+ {783500400 -21600 0 CST}
+ {796809600 -18000 1 CDT}
+ {814950000 -21600 0 CST}
+ {828864000 -18000 1 CDT}
+ {846399600 -21600 0 CST}
+ {860313600 -18000 1 CDT}
+ {877849200 -21600 0 CST}
+ {891763200 -18000 1 CDT}
+ {909298800 -21600 0 CST}
+ {923212800 -18000 1 CDT}
+ {941353200 -21600 0 CST}
+ {954662400 -18000 1 CDT}
+ {972802800 -21600 0 CST}
+ {986112000 -18000 1 CDT}
+ {1004252400 -21600 0 CST}
+ {1018166400 -18000 1 CDT}
+ {1035702000 -21600 0 CST}
+ {1049616000 -18000 1 CDT}
+ {1067151600 -21600 0 CST}
+ {1081065600 -18000 1 CDT}
+ {1099206000 -21600 0 CST}
+ {1112515200 -18000 1 CDT}
+ {1130655600 -21600 0 CST}
+ {1143964800 -18000 1 CDT}
+ {1162105200 -21600 0 CST}
+ {1175414400 -18000 1 CDT}
+ {1193554800 -21600 0 CST}
+ {1207468800 -18000 1 CDT}
+ {1225004400 -21600 0 CST}
+ {1238918400 -18000 1 CDT}
+ {1256454000 -21600 0 CST}
+ {1270368000 -18000 1 CDT}
+ {1288508400 -21600 0 CST}
+ {1301817600 -18000 1 CDT}
+ {1319958000 -21600 0 CST}
+ {1333267200 -18000 1 CDT}
+ {1351407600 -21600 0 CST}
+ {1365321600 -18000 1 CDT}
+ {1382857200 -21600 0 CST}
+ {1396771200 -18000 1 CDT}
+ {1414306800 -21600 0 CST}
+ {1428220800 -18000 1 CDT}
+ {1445756400 -21600 0 CST}
+ {1459670400 -18000 1 CDT}
+ {1477810800 -21600 0 CST}
+ {1491120000 -18000 1 CDT}
+ {1509260400 -21600 0 CST}
+ {1522569600 -18000 1 CDT}
+ {1540710000 -21600 0 CST}
+ {1554624000 -18000 1 CDT}
+ {1572159600 -21600 0 CST}
+ {1586073600 -18000 1 CDT}
+ {1603609200 -21600 0 CST}
+ {1617523200 -18000 1 CDT}
+ {1635663600 -21600 0 CST}
+ {1648972800 -18000 1 CDT}
+ {1667113200 -21600 0 CST}
+ {1680422400 -18000 1 CDT}
+ {1698562800 -21600 0 CST}
+ {1712476800 -18000 1 CDT}
+ {1730012400 -21600 0 CST}
+ {1743926400 -18000 1 CDT}
+ {1761462000 -21600 0 CST}
+ {1775376000 -18000 1 CDT}
+ {1792911600 -21600 0 CST}
+ {1806825600 -18000 1 CDT}
+ {1824966000 -21600 0 CST}
+ {1838275200 -18000 1 CDT}
+ {1856415600 -21600 0 CST}
+ {1869724800 -18000 1 CDT}
+ {1887865200 -21600 0 CST}
+ {1901779200 -18000 1 CDT}
+ {1919314800 -21600 0 CST}
+ {1933228800 -18000 1 CDT}
+ {1950764400 -21600 0 CST}
+ {1964678400 -18000 1 CDT}
+ {1982818800 -21600 0 CST}
+ {1996128000 -18000 1 CDT}
+ {2014268400 -21600 0 CST}
+ {2027577600 -18000 1 CDT}
+ {2045718000 -21600 0 CST}
+ {2059027200 -18000 1 CDT}
+ {2077167600 -21600 0 CST}
+ {2091081600 -18000 1 CDT}
+ {2108617200 -21600 0 CST}
+ {2122531200 -18000 1 CDT}
+ {2140066800 -21600 0 CST}
+ {2153980800 -18000 1 CDT}
+ {2172121200 -21600 0 CST}
+ {2185430400 -18000 1 CDT}
+ {2203570800 -21600 0 CST}
+ {2216880000 -18000 1 CDT}
+ {2235020400 -21600 0 CST}
+ {2248934400 -18000 1 CDT}
+ {2266470000 -21600 0 CST}
+ {2280384000 -18000 1 CDT}
+ {2297919600 -21600 0 CST}
+ {2311833600 -18000 1 CDT}
+ {2329369200 -21600 0 CST}
+ {2343283200 -18000 1 CDT}
+ {2361423600 -21600 0 CST}
+ {2374732800 -18000 1 CDT}
+ {2392873200 -21600 0 CST}
+ {2406182400 -18000 1 CDT}
+ {2424322800 -21600 0 CST}
+ {2438236800 -18000 1 CDT}
+ {2455772400 -21600 0 CST}
+ {2469686400 -18000 1 CDT}
+ {2487222000 -21600 0 CST}
+ {2501136000 -18000 1 CDT}
+ {2519276400 -21600 0 CST}
+ {2532585600 -18000 1 CDT}
+ {2550726000 -21600 0 CST}
+ {2564035200 -18000 1 CDT}
+ {2582175600 -21600 0 CST}
+ {2596089600 -18000 1 CDT}
+ {2613625200 -21600 0 CST}
+ {2627539200 -18000 1 CDT}
+ {2645074800 -21600 0 CST}
+ {2658988800 -18000 1 CDT}
+ {2676524400 -21600 0 CST}
+ {2690438400 -18000 1 CDT}
+ {2708578800 -21600 0 CST}
+ {2721888000 -18000 1 CDT}
+ {2740028400 -21600 0 CST}
+ {2753337600 -18000 1 CDT}
+ {2771478000 -21600 0 CST}
+ {2785392000 -18000 1 CDT}
+ {2802927600 -21600 0 CST}
+ {2816841600 -18000 1 CDT}
+ {2834377200 -21600 0 CST}
+ {2848291200 -18000 1 CDT}
+ {2866431600 -21600 0 CST}
+ {2879740800 -18000 1 CDT}
+ {2897881200 -21600 0 CST}
+ {2911190400 -18000 1 CDT}
+ {2929330800 -21600 0 CST}
+ {2942640000 -18000 1 CDT}
+ {2960780400 -21600 0 CST}
+ {2974694400 -18000 1 CDT}
+ {2992230000 -21600 0 CST}
+ {3006144000 -18000 1 CDT}
+ {3023679600 -21600 0 CST}
+ {3037593600 -18000 1 CDT}
+ {3055734000 -21600 0 CST}
+ {3069043200 -18000 1 CDT}
+ {3087183600 -21600 0 CST}
+ {3100492800 -18000 1 CDT}
+ {3118633200 -21600 0 CST}
+ {3132547200 -18000 1 CDT}
+ {3150082800 -21600 0 CST}
+ {3163996800 -18000 1 CDT}
+ {3181532400 -21600 0 CST}
+ {3195446400 -18000 1 CDT}
+ {3212982000 -21600 0 CST}
+ {3226896000 -18000 1 CDT}
+ {3245036400 -21600 0 CST}
+ {3258345600 -18000 1 CDT}
+ {3276486000 -21600 0 CST}
+ {3289795200 -18000 1 CDT}
+ {3307935600 -21600 0 CST}
+ {3321849600 -18000 1 CDT}
+ {3339385200 -21600 0 CST}
+ {3353299200 -18000 1 CDT}
+ {3370834800 -21600 0 CST}
+ {3384748800 -18000 1 CDT}
+ {3402889200 -21600 0 CST}
+ {3416198400 -18000 1 CDT}
+ {3434338800 -21600 0 CST}
+ {3447648000 -18000 1 CDT}
+ {3465788400 -21600 0 CST}
+ {3479702400 -18000 1 CDT}
+ {3497238000 -21600 0 CST}
+ {3511152000 -18000 1 CDT}
+ {3528687600 -21600 0 CST}
+ {3542601600 -18000 1 CDT}
+ {3560137200 -21600 0 CST}
+ {3574051200 -18000 1 CDT}
+ {3592191600 -21600 0 CST}
+ {3605500800 -18000 1 CDT}
+ {3623641200 -21600 0 CST}
+ {3636950400 -18000 1 CDT}
+ {3655090800 -21600 0 CST}
+ {3669004800 -18000 1 CDT}
+ {3686540400 -21600 0 CST}
+ {3700454400 -18000 1 CDT}
+ {3717990000 -21600 0 CST}
+ {3731904000 -18000 1 CDT}
+ {3750044400 -21600 0 CST}
+ {3763353600 -18000 1 CDT}
+ {3781494000 -21600 0 CST}
+ {3794803200 -18000 1 CDT}
+ {3812943600 -21600 0 CST}
+ {3826252800 -18000 1 CDT}
+ {3844393200 -21600 0 CST}
+ {3858307200 -18000 1 CDT}
+ {3875842800 -21600 0 CST}
+ {3889756800 -18000 1 CDT}
+ {3907292400 -21600 0 CST}
+ {3921206400 -18000 1 CDT}
+ {3939346800 -21600 0 CST}
+ {3952656000 -18000 1 CDT}
+ {3970796400 -21600 0 CST}
+ {3984105600 -18000 1 CDT}
+ {4002246000 -21600 0 CST}
+ {4016160000 -18000 1 CDT}
+ {4033695600 -21600 0 CST}
+ {4047609600 -18000 1 CDT}
+ {4065145200 -21600 0 CST}
+ {4079059200 -18000 1 CDT}
+ {4096594800 -21600 0 CST}
+}
diff --git a/library/tzdata/America/Panama b/library/tzdata/America/Panama
new file mode 100644
index 0000000..a5f4a4a
--- /dev/null
+++ b/library/tzdata/America/Panama
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Panama) {
+ {-9223372036854775808 -19088 0 LMT}
+ {-2524502512 -19176 0 CMT}
+ {-1946918424 -18000 0 EST}
+}
diff --git a/library/tzdata/America/Pangnirtung b/library/tzdata/America/Pangnirtung
new file mode 100644
index 0000000..d153067
--- /dev/null
+++ b/library/tzdata/America/Pangnirtung
@@ -0,0 +1,256 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Pangnirtung) {
+ {-9223372036854775808 -15776 0 LMT}
+ {-2713894624 -14400 0 AST}
+ {-1632074400 -10800 1 ADT}
+ {-1615143600 -14400 0 AST}
+ {-1596996000 -10800 1 ADT}
+ {-1583182800 -14400 0 AST}
+ {-880221600 -10800 1 AWT}
+ {-769395600 -10800 1 APT}
+ {-765399600 -14400 0 AST}
+ {-147902400 -7200 1 ADDT}
+ {-131572800 -14400 0 AST}
+ {325663200 -10800 1 ADT}
+ {341384400 -14400 0 AST}
+ {357112800 -10800 1 ADT}
+ {372834000 -14400 0 AST}
+ {388562400 -10800 1 ADT}
+ {404888400 -14400 0 AST}
+ {420012000 -10800 1 ADT}
+ {436338000 -14400 0 AST}
+ {452066400 -10800 1 ADT}
+ {467787600 -14400 0 AST}
+ {483516000 -10800 1 ADT}
+ {499237200 -14400 0 AST}
+ {514965600 -10800 1 ADT}
+ {530686800 -14400 0 AST}
+ {544600800 -10800 1 ADT}
+ {562136400 -14400 0 AST}
+ {576050400 -10800 1 ADT}
+ {594190800 -14400 0 AST}
+ {607500000 -10800 1 ADT}
+ {625640400 -14400 0 AST}
+ {638949600 -10800 1 ADT}
+ {657090000 -14400 0 AST}
+ {671004000 -10800 1 ADT}
+ {688539600 -14400 0 AST}
+ {702453600 -10800 1 ADT}
+ {719989200 -14400 0 AST}
+ {733903200 -10800 1 ADT}
+ {752043600 -14400 0 AST}
+ {765352800 -10800 1 ADT}
+ {783493200 -14400 0 AST}
+ {796802400 -18000 0 EST}
+ {796806000 -14400 1 EDT}
+ {814946400 -18000 0 EST}
+ {828860400 -14400 1 EDT}
+ {846396000 -18000 0 EST}
+ {860310000 -14400 1 EDT}
+ {877845600 -18000 0 EST}
+ {891759600 -14400 1 EDT}
+ {909295200 -18000 0 EST}
+ {923209200 -14400 1 EDT}
+ {941353200 -21600 0 CST}
+ {954662400 -18000 1 CDT}
+ {972806400 -18000 0 EST}
+ {986108400 -14400 1 EDT}
+ {1004248800 -18000 0 EST}
+ {1018162800 -14400 1 EDT}
+ {1035698400 -18000 0 EST}
+ {1049612400 -14400 1 EDT}
+ {1067148000 -18000 0 EST}
+ {1081062000 -14400 1 EDT}
+ {1099202400 -18000 0 EST}
+ {1112511600 -14400 1 EDT}
+ {1130652000 -18000 0 EST}
+ {1143961200 -14400 1 EDT}
+ {1162101600 -18000 0 EST}
+ {1175410800 -14400 1 EDT}
+ {1193551200 -18000 0 EST}
+ {1207465200 -14400 1 EDT}
+ {1225000800 -18000 0 EST}
+ {1238914800 -14400 1 EDT}
+ {1256450400 -18000 0 EST}
+ {1270364400 -14400 1 EDT}
+ {1288504800 -18000 0 EST}
+ {1301814000 -14400 1 EDT}
+ {1319954400 -18000 0 EST}
+ {1333263600 -14400 1 EDT}
+ {1351404000 -18000 0 EST}
+ {1365318000 -14400 1 EDT}
+ {1382853600 -18000 0 EST}
+ {1396767600 -14400 1 EDT}
+ {1414303200 -18000 0 EST}
+ {1428217200 -14400 1 EDT}
+ {1445752800 -18000 0 EST}
+ {1459666800 -14400 1 EDT}
+ {1477807200 -18000 0 EST}
+ {1491116400 -14400 1 EDT}
+ {1509256800 -18000 0 EST}
+ {1522566000 -14400 1 EDT}
+ {1540706400 -18000 0 EST}
+ {1554620400 -14400 1 EDT}
+ {1572156000 -18000 0 EST}
+ {1586070000 -14400 1 EDT}
+ {1603605600 -18000 0 EST}
+ {1617519600 -14400 1 EDT}
+ {1635660000 -18000 0 EST}
+ {1648969200 -14400 1 EDT}
+ {1667109600 -18000 0 EST}
+ {1680418800 -14400 1 EDT}
+ {1698559200 -18000 0 EST}
+ {1712473200 -14400 1 EDT}
+ {1730008800 -18000 0 EST}
+ {1743922800 -14400 1 EDT}
+ {1761458400 -18000 0 EST}
+ {1775372400 -14400 1 EDT}
+ {1792908000 -18000 0 EST}
+ {1806822000 -14400 1 EDT}
+ {1824962400 -18000 0 EST}
+ {1838271600 -14400 1 EDT}
+ {1856412000 -18000 0 EST}
+ {1869721200 -14400 1 EDT}
+ {1887861600 -18000 0 EST}
+ {1901775600 -14400 1 EDT}
+ {1919311200 -18000 0 EST}
+ {1933225200 -14400 1 EDT}
+ {1950760800 -18000 0 EST}
+ {1964674800 -14400 1 EDT}
+ {1982815200 -18000 0 EST}
+ {1996124400 -14400 1 EDT}
+ {2014264800 -18000 0 EST}
+ {2027574000 -14400 1 EDT}
+ {2045714400 -18000 0 EST}
+ {2059023600 -14400 1 EDT}
+ {2077164000 -18000 0 EST}
+ {2091078000 -14400 1 EDT}
+ {2108613600 -18000 0 EST}
+ {2122527600 -14400 1 EDT}
+ {2140063200 -18000 0 EST}
+ {2153977200 -14400 1 EDT}
+ {2172117600 -18000 0 EST}
+ {2185426800 -14400 1 EDT}
+ {2203567200 -18000 0 EST}
+ {2216876400 -14400 1 EDT}
+ {2235016800 -18000 0 EST}
+ {2248930800 -14400 1 EDT}
+ {2266466400 -18000 0 EST}
+ {2280380400 -14400 1 EDT}
+ {2297916000 -18000 0 EST}
+ {2311830000 -14400 1 EDT}
+ {2329365600 -18000 0 EST}
+ {2343279600 -14400 1 EDT}
+ {2361420000 -18000 0 EST}
+ {2374729200 -14400 1 EDT}
+ {2392869600 -18000 0 EST}
+ {2406178800 -14400 1 EDT}
+ {2424319200 -18000 0 EST}
+ {2438233200 -14400 1 EDT}
+ {2455768800 -18000 0 EST}
+ {2469682800 -14400 1 EDT}
+ {2487218400 -18000 0 EST}
+ {2501132400 -14400 1 EDT}
+ {2519272800 -18000 0 EST}
+ {2532582000 -14400 1 EDT}
+ {2550722400 -18000 0 EST}
+ {2564031600 -14400 1 EDT}
+ {2582172000 -18000 0 EST}
+ {2596086000 -14400 1 EDT}
+ {2613621600 -18000 0 EST}
+ {2627535600 -14400 1 EDT}
+ {2645071200 -18000 0 EST}
+ {2658985200 -14400 1 EDT}
+ {2676520800 -18000 0 EST}
+ {2690434800 -14400 1 EDT}
+ {2708575200 -18000 0 EST}
+ {2721884400 -14400 1 EDT}
+ {2740024800 -18000 0 EST}
+ {2753334000 -14400 1 EDT}
+ {2771474400 -18000 0 EST}
+ {2785388400 -14400 1 EDT}
+ {2802924000 -18000 0 EST}
+ {2816838000 -14400 1 EDT}
+ {2834373600 -18000 0 EST}
+ {2848287600 -14400 1 EDT}
+ {2866428000 -18000 0 EST}
+ {2879737200 -14400 1 EDT}
+ {2897877600 -18000 0 EST}
+ {2911186800 -14400 1 EDT}
+ {2929327200 -18000 0 EST}
+ {2942636400 -14400 1 EDT}
+ {2960776800 -18000 0 EST}
+ {2974690800 -14400 1 EDT}
+ {2992226400 -18000 0 EST}
+ {3006140400 -14400 1 EDT}
+ {3023676000 -18000 0 EST}
+ {3037590000 -14400 1 EDT}
+ {3055730400 -18000 0 EST}
+ {3069039600 -14400 1 EDT}
+ {3087180000 -18000 0 EST}
+ {3100489200 -14400 1 EDT}
+ {3118629600 -18000 0 EST}
+ {3132543600 -14400 1 EDT}
+ {3150079200 -18000 0 EST}
+ {3163993200 -14400 1 EDT}
+ {3181528800 -18000 0 EST}
+ {3195442800 -14400 1 EDT}
+ {3212978400 -18000 0 EST}
+ {3226892400 -14400 1 EDT}
+ {3245032800 -18000 0 EST}
+ {3258342000 -14400 1 EDT}
+ {3276482400 -18000 0 EST}
+ {3289791600 -14400 1 EDT}
+ {3307932000 -18000 0 EST}
+ {3321846000 -14400 1 EDT}
+ {3339381600 -18000 0 EST}
+ {3353295600 -14400 1 EDT}
+ {3370831200 -18000 0 EST}
+ {3384745200 -14400 1 EDT}
+ {3402885600 -18000 0 EST}
+ {3416194800 -14400 1 EDT}
+ {3434335200 -18000 0 EST}
+ {3447644400 -14400 1 EDT}
+ {3465784800 -18000 0 EST}
+ {3479698800 -14400 1 EDT}
+ {3497234400 -18000 0 EST}
+ {3511148400 -14400 1 EDT}
+ {3528684000 -18000 0 EST}
+ {3542598000 -14400 1 EDT}
+ {3560133600 -18000 0 EST}
+ {3574047600 -14400 1 EDT}
+ {3592188000 -18000 0 EST}
+ {3605497200 -14400 1 EDT}
+ {3623637600 -18000 0 EST}
+ {3636946800 -14400 1 EDT}
+ {3655087200 -18000 0 EST}
+ {3669001200 -14400 1 EDT}
+ {3686536800 -18000 0 EST}
+ {3700450800 -14400 1 EDT}
+ {3717986400 -18000 0 EST}
+ {3731900400 -14400 1 EDT}
+ {3750040800 -18000 0 EST}
+ {3763350000 -14400 1 EDT}
+ {3781490400 -18000 0 EST}
+ {3794799600 -14400 1 EDT}
+ {3812940000 -18000 0 EST}
+ {3826249200 -14400 1 EDT}
+ {3844389600 -18000 0 EST}
+ {3858303600 -14400 1 EDT}
+ {3875839200 -18000 0 EST}
+ {3889753200 -14400 1 EDT}
+ {3907288800 -18000 0 EST}
+ {3921202800 -14400 1 EDT}
+ {3939343200 -18000 0 EST}
+ {3952652400 -14400 1 EDT}
+ {3970792800 -18000 0 EST}
+ {3984102000 -14400 1 EDT}
+ {4002242400 -18000 0 EST}
+ {4016156400 -14400 1 EDT}
+ {4033692000 -18000 0 EST}
+ {4047606000 -14400 1 EDT}
+ {4065141600 -18000 0 EST}
+ {4079055600 -14400 1 EDT}
+ {4096591200 -18000 0 EST}
+}
diff --git a/library/tzdata/America/Paramaribo b/library/tzdata/America/Paramaribo
new file mode 100644
index 0000000..db316d6
--- /dev/null
+++ b/library/tzdata/America/Paramaribo
@@ -0,0 +1,10 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Paramaribo) {
+ {-9223372036854775808 -13240 0 LMT}
+ {-1861906760 -13252 0 PMT}
+ {-1104524348 -13236 0 PMT}
+ {-765317964 -12600 0 NEGT}
+ {185686200 -12600 0 SRT}
+ {465449400 -10800 0 SRT}
+}
diff --git a/library/tzdata/America/Phoenix b/library/tzdata/America/Phoenix
new file mode 100644
index 0000000..c5f933b
--- /dev/null
+++ b/library/tzdata/America/Phoenix
@@ -0,0 +1,17 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Phoenix) {
+ {-9223372036854775808 -26898 0 LMT}
+ {-2717641902 -25200 0 MST}
+ {-1633273200 -21600 1 MDT}
+ {-1615132800 -25200 0 MST}
+ {-1601823600 -21600 1 MDT}
+ {-1583683200 -25200 0 MST}
+ {-880210800 -21600 1 MWT}
+ {-820519140 -25200 0 MST}
+ {-796841940 -25200 0 MST}
+ {-94669200 -25200 0 MST}
+ {-84380400 -21600 1 MDT}
+ {-68659200 -25200 0 MST}
+ {-56221200 -25200 0 MST}
+}
diff --git a/library/tzdata/America/Port-au-Prince b/library/tzdata/America/Port-au-Prince
new file mode 100644
index 0000000..9f43cbb
--- /dev/null
+++ b/library/tzdata/America/Port-au-Prince
@@ -0,0 +1,37 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Port-au-Prince) {
+ {-9223372036854775808 -17360 0 LMT}
+ {-2524504240 -17340 0 PPMT}
+ {-1670483460 -18000 0 EST}
+ {421218000 -14400 1 EDT}
+ {436334400 -18000 0 EST}
+ {452062800 -14400 1 EDT}
+ {467784000 -18000 0 EST}
+ {483512400 -14400 1 EDT}
+ {499233600 -18000 0 EST}
+ {514962000 -14400 1 EDT}
+ {530683200 -18000 0 EST}
+ {546411600 -14400 1 EDT}
+ {562132800 -18000 0 EST}
+ {576032400 -14400 1 EDT}
+ {594176400 -18000 0 EST}
+ {607482000 -14400 1 EDT}
+ {625626000 -18000 0 EST}
+ {638931600 -14400 1 EDT}
+ {657075600 -18000 0 EST}
+ {670986000 -14400 1 EDT}
+ {688525200 -18000 0 EST}
+ {702435600 -14400 1 EDT}
+ {719974800 -18000 0 EST}
+ {733885200 -14400 1 EDT}
+ {752029200 -18000 0 EST}
+ {765334800 -14400 1 EDT}
+ {783478800 -18000 0 EST}
+ {796784400 -14400 1 EDT}
+ {814928400 -18000 0 EST}
+ {828838800 -14400 1 EDT}
+ {846378000 -18000 0 EST}
+ {860288400 -14400 1 EDT}
+ {877827600 -18000 0 EST}
+}
diff --git a/library/tzdata/America/Port_of_Spain b/library/tzdata/America/Port_of_Spain
new file mode 100644
index 0000000..1676561
--- /dev/null
+++ b/library/tzdata/America/Port_of_Spain
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Port_of_Spain) {
+ {-9223372036854775808 -14764 0 LMT}
+ {-1825098836 -14400 0 AST}
+}
diff --git a/library/tzdata/America/Porto_Acre b/library/tzdata/America/Porto_Acre
new file mode 100644
index 0000000..ee22bfc
--- /dev/null
+++ b/library/tzdata/America/Porto_Acre
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Rio_Branco)]} {
+ loadTimeZoneFile America/Rio_Branco
+}
+set tzdata(:America/Porto_Acre) $TZData(:America/Rio_Branco)
diff --git a/library/tzdata/America/Porto_Velho b/library/tzdata/America/Porto_Velho
new file mode 100644
index 0000000..dbaa0f4
--- /dev/null
+++ b/library/tzdata/America/Porto_Velho
@@ -0,0 +1,35 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Porto_Velho) {
+ {-9223372036854775808 -15336 0 LMT}
+ {-1767210264 -14400 0 AMT}
+ {-1206954000 -10800 1 AMST}
+ {-1191358800 -14400 0 AMT}
+ {-1175371200 -10800 1 AMST}
+ {-1159822800 -14400 0 AMT}
+ {-633816000 -10800 1 AMST}
+ {-622065600 -14400 0 AMT}
+ {-602280000 -10800 1 AMST}
+ {-591829200 -14400 0 AMT}
+ {-570744000 -10800 1 AMST}
+ {-560206800 -14400 0 AMT}
+ {-539121600 -10800 1 AMST}
+ {-531349200 -14400 0 AMT}
+ {-191361600 -10800 1 AMST}
+ {-184194000 -14400 0 AMT}
+ {-155160000 -10800 1 AMST}
+ {-150066000 -14400 0 AMT}
+ {-128894400 -10800 1 AMST}
+ {-121122000 -14400 0 AMT}
+ {-99950400 -10800 1 AMST}
+ {-89586000 -14400 0 AMT}
+ {-68414400 -10800 1 AMST}
+ {-57963600 -14400 0 AMT}
+ {499752000 -10800 1 AMST}
+ {511239600 -14400 0 AMT}
+ {530596800 -10800 1 AMST}
+ {540270000 -14400 0 AMT}
+ {562132800 -10800 1 AMST}
+ {571201200 -14400 0 AMT}
+ {590036400 -14400 0 AMT}
+}
diff --git a/library/tzdata/America/Puerto_Rico b/library/tzdata/America/Puerto_Rico
new file mode 100644
index 0000000..639426a
--- /dev/null
+++ b/library/tzdata/America/Puerto_Rico
@@ -0,0 +1,8 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Puerto_Rico) {
+ {-9223372036854775808 -15865 0 LMT}
+ {-2233035335 -14400 0 AST}
+ {-873057600 -10800 1 AWT}
+ {-765399600 -14400 0 AST}
+}
diff --git a/library/tzdata/America/Rainy_River b/library/tzdata/America/Rainy_River
new file mode 100644
index 0000000..d73de11
--- /dev/null
+++ b/library/tzdata/America/Rainy_River
@@ -0,0 +1,265 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Rainy_River) {
+ {-9223372036854775808 -22676 0 LMT}
+ {-2366732524 -21600 0 CST}
+ {-1632067200 -18000 1 CDT}
+ {-1614790800 -21600 0 CST}
+ {-923248800 -18000 1 CDT}
+ {-880236000 -18000 0 CST}
+ {-880218000 -18000 1 CWT}
+ {-769395600 -18000 1 CPT}
+ {-765392400 -21600 0 CST}
+ {136368000 -18000 1 CDT}
+ {152089200 -21600 0 CST}
+ {167817600 -18000 1 CDT}
+ {183538800 -21600 0 CST}
+ {199267200 -18000 1 CDT}
+ {215593200 -21600 0 CST}
+ {230716800 -18000 1 CDT}
+ {247042800 -21600 0 CST}
+ {262771200 -18000 1 CDT}
+ {278492400 -21600 0 CST}
+ {294220800 -18000 1 CDT}
+ {309942000 -21600 0 CST}
+ {325670400 -18000 1 CDT}
+ {341391600 -21600 0 CST}
+ {357120000 -18000 1 CDT}
+ {372841200 -21600 0 CST}
+ {388569600 -18000 1 CDT}
+ {404895600 -21600 0 CST}
+ {420019200 -18000 1 CDT}
+ {436345200 -21600 0 CST}
+ {452073600 -18000 1 CDT}
+ {467794800 -21600 0 CST}
+ {483523200 -18000 1 CDT}
+ {499244400 -21600 0 CST}
+ {514972800 -18000 1 CDT}
+ {530694000 -21600 0 CST}
+ {544608000 -18000 1 CDT}
+ {562143600 -21600 0 CST}
+ {576057600 -18000 1 CDT}
+ {594198000 -21600 0 CST}
+ {607507200 -18000 1 CDT}
+ {625647600 -21600 0 CST}
+ {638956800 -18000 1 CDT}
+ {657097200 -21600 0 CST}
+ {671011200 -18000 1 CDT}
+ {688546800 -21600 0 CST}
+ {702460800 -18000 1 CDT}
+ {719996400 -21600 0 CST}
+ {733910400 -18000 1 CDT}
+ {752050800 -21600 0 CST}
+ {765360000 -18000 1 CDT}
+ {783500400 -21600 0 CST}
+ {796809600 -18000 1 CDT}
+ {814950000 -21600 0 CST}
+ {828864000 -18000 1 CDT}
+ {846399600 -21600 0 CST}
+ {860313600 -18000 1 CDT}
+ {877849200 -21600 0 CST}
+ {891763200 -18000 1 CDT}
+ {909298800 -21600 0 CST}
+ {923212800 -18000 1 CDT}
+ {941353200 -21600 0 CST}
+ {954662400 -18000 1 CDT}
+ {972802800 -21600 0 CST}
+ {986112000 -18000 1 CDT}
+ {1004252400 -21600 0 CST}
+ {1018166400 -18000 1 CDT}
+ {1035702000 -21600 0 CST}
+ {1049616000 -18000 1 CDT}
+ {1067151600 -21600 0 CST}
+ {1081065600 -18000 1 CDT}
+ {1099206000 -21600 0 CST}
+ {1112515200 -18000 1 CDT}
+ {1130655600 -21600 0 CST}
+ {1143964800 -18000 1 CDT}
+ {1162105200 -21600 0 CST}
+ {1175414400 -18000 1 CDT}
+ {1193554800 -21600 0 CST}
+ {1207468800 -18000 1 CDT}
+ {1225004400 -21600 0 CST}
+ {1238918400 -18000 1 CDT}
+ {1256454000 -21600 0 CST}
+ {1270368000 -18000 1 CDT}
+ {1288508400 -21600 0 CST}
+ {1301817600 -18000 1 CDT}
+ {1319958000 -21600 0 CST}
+ {1333267200 -18000 1 CDT}
+ {1351407600 -21600 0 CST}
+ {1365321600 -18000 1 CDT}
+ {1382857200 -21600 0 CST}
+ {1396771200 -18000 1 CDT}
+ {1414306800 -21600 0 CST}
+ {1428220800 -18000 1 CDT}
+ {1445756400 -21600 0 CST}
+ {1459670400 -18000 1 CDT}
+ {1477810800 -21600 0 CST}
+ {1491120000 -18000 1 CDT}
+ {1509260400 -21600 0 CST}
+ {1522569600 -18000 1 CDT}
+ {1540710000 -21600 0 CST}
+ {1554624000 -18000 1 CDT}
+ {1572159600 -21600 0 CST}
+ {1586073600 -18000 1 CDT}
+ {1603609200 -21600 0 CST}
+ {1617523200 -18000 1 CDT}
+ {1635663600 -21600 0 CST}
+ {1648972800 -18000 1 CDT}
+ {1667113200 -21600 0 CST}
+ {1680422400 -18000 1 CDT}
+ {1698562800 -21600 0 CST}
+ {1712476800 -18000 1 CDT}
+ {1730012400 -21600 0 CST}
+ {1743926400 -18000 1 CDT}
+ {1761462000 -21600 0 CST}
+ {1775376000 -18000 1 CDT}
+ {1792911600 -21600 0 CST}
+ {1806825600 -18000 1 CDT}
+ {1824966000 -21600 0 CST}
+ {1838275200 -18000 1 CDT}
+ {1856415600 -21600 0 CST}
+ {1869724800 -18000 1 CDT}
+ {1887865200 -21600 0 CST}
+ {1901779200 -18000 1 CDT}
+ {1919314800 -21600 0 CST}
+ {1933228800 -18000 1 CDT}
+ {1950764400 -21600 0 CST}
+ {1964678400 -18000 1 CDT}
+ {1982818800 -21600 0 CST}
+ {1996128000 -18000 1 CDT}
+ {2014268400 -21600 0 CST}
+ {2027577600 -18000 1 CDT}
+ {2045718000 -21600 0 CST}
+ {2059027200 -18000 1 CDT}
+ {2077167600 -21600 0 CST}
+ {2091081600 -18000 1 CDT}
+ {2108617200 -21600 0 CST}
+ {2122531200 -18000 1 CDT}
+ {2140066800 -21600 0 CST}
+ {2153980800 -18000 1 CDT}
+ {2172121200 -21600 0 CST}
+ {2185430400 -18000 1 CDT}
+ {2203570800 -21600 0 CST}
+ {2216880000 -18000 1 CDT}
+ {2235020400 -21600 0 CST}
+ {2248934400 -18000 1 CDT}
+ {2266470000 -21600 0 CST}
+ {2280384000 -18000 1 CDT}
+ {2297919600 -21600 0 CST}
+ {2311833600 -18000 1 CDT}
+ {2329369200 -21600 0 CST}
+ {2343283200 -18000 1 CDT}
+ {2361423600 -21600 0 CST}
+ {2374732800 -18000 1 CDT}
+ {2392873200 -21600 0 CST}
+ {2406182400 -18000 1 CDT}
+ {2424322800 -21600 0 CST}
+ {2438236800 -18000 1 CDT}
+ {2455772400 -21600 0 CST}
+ {2469686400 -18000 1 CDT}
+ {2487222000 -21600 0 CST}
+ {2501136000 -18000 1 CDT}
+ {2519276400 -21600 0 CST}
+ {2532585600 -18000 1 CDT}
+ {2550726000 -21600 0 CST}
+ {2564035200 -18000 1 CDT}
+ {2582175600 -21600 0 CST}
+ {2596089600 -18000 1 CDT}
+ {2613625200 -21600 0 CST}
+ {2627539200 -18000 1 CDT}
+ {2645074800 -21600 0 CST}
+ {2658988800 -18000 1 CDT}
+ {2676524400 -21600 0 CST}
+ {2690438400 -18000 1 CDT}
+ {2708578800 -21600 0 CST}
+ {2721888000 -18000 1 CDT}
+ {2740028400 -21600 0 CST}
+ {2753337600 -18000 1 CDT}
+ {2771478000 -21600 0 CST}
+ {2785392000 -18000 1 CDT}
+ {2802927600 -21600 0 CST}
+ {2816841600 -18000 1 CDT}
+ {2834377200 -21600 0 CST}
+ {2848291200 -18000 1 CDT}
+ {2866431600 -21600 0 CST}
+ {2879740800 -18000 1 CDT}
+ {2897881200 -21600 0 CST}
+ {2911190400 -18000 1 CDT}
+ {2929330800 -21600 0 CST}
+ {2942640000 -18000 1 CDT}
+ {2960780400 -21600 0 CST}
+ {2974694400 -18000 1 CDT}
+ {2992230000 -21600 0 CST}
+ {3006144000 -18000 1 CDT}
+ {3023679600 -21600 0 CST}
+ {3037593600 -18000 1 CDT}
+ {3055734000 -21600 0 CST}
+ {3069043200 -18000 1 CDT}
+ {3087183600 -21600 0 CST}
+ {3100492800 -18000 1 CDT}
+ {3118633200 -21600 0 CST}
+ {3132547200 -18000 1 CDT}
+ {3150082800 -21600 0 CST}
+ {3163996800 -18000 1 CDT}
+ {3181532400 -21600 0 CST}
+ {3195446400 -18000 1 CDT}
+ {3212982000 -21600 0 CST}
+ {3226896000 -18000 1 CDT}
+ {3245036400 -21600 0 CST}
+ {3258345600 -18000 1 CDT}
+ {3276486000 -21600 0 CST}
+ {3289795200 -18000 1 CDT}
+ {3307935600 -21600 0 CST}
+ {3321849600 -18000 1 CDT}
+ {3339385200 -21600 0 CST}
+ {3353299200 -18000 1 CDT}
+ {3370834800 -21600 0 CST}
+ {3384748800 -18000 1 CDT}
+ {3402889200 -21600 0 CST}
+ {3416198400 -18000 1 CDT}
+ {3434338800 -21600 0 CST}
+ {3447648000 -18000 1 CDT}
+ {3465788400 -21600 0 CST}
+ {3479702400 -18000 1 CDT}
+ {3497238000 -21600 0 CST}
+ {3511152000 -18000 1 CDT}
+ {3528687600 -21600 0 CST}
+ {3542601600 -18000 1 CDT}
+ {3560137200 -21600 0 CST}
+ {3574051200 -18000 1 CDT}
+ {3592191600 -21600 0 CST}
+ {3605500800 -18000 1 CDT}
+ {3623641200 -21600 0 CST}
+ {3636950400 -18000 1 CDT}
+ {3655090800 -21600 0 CST}
+ {3669004800 -18000 1 CDT}
+ {3686540400 -21600 0 CST}
+ {3700454400 -18000 1 CDT}
+ {3717990000 -21600 0 CST}
+ {3731904000 -18000 1 CDT}
+ {3750044400 -21600 0 CST}
+ {3763353600 -18000 1 CDT}
+ {3781494000 -21600 0 CST}
+ {3794803200 -18000 1 CDT}
+ {3812943600 -21600 0 CST}
+ {3826252800 -18000 1 CDT}
+ {3844393200 -21600 0 CST}
+ {3858307200 -18000 1 CDT}
+ {3875842800 -21600 0 CST}
+ {3889756800 -18000 1 CDT}
+ {3907292400 -21600 0 CST}
+ {3921206400 -18000 1 CDT}
+ {3939346800 -21600 0 CST}
+ {3952656000 -18000 1 CDT}
+ {3970796400 -21600 0 CST}
+ {3984105600 -18000 1 CDT}
+ {4002246000 -21600 0 CST}
+ {4016160000 -18000 1 CDT}
+ {4033695600 -21600 0 CST}
+ {4047609600 -18000 1 CDT}
+ {4065145200 -21600 0 CST}
+ {4079059200 -18000 1 CDT}
+ {4096594800 -21600 0 CST}
+}
diff --git a/library/tzdata/America/Rankin_Inlet b/library/tzdata/America/Rankin_Inlet
new file mode 100644
index 0000000..b563cc7
--- /dev/null
+++ b/library/tzdata/America/Rankin_Inlet
@@ -0,0 +1,255 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Rankin_Inlet) {
+ {-9223372036854775808 -22120 0 LMT}
+ {-2713888280 -21600 0 CST}
+ {-1632067200 -18000 1 CDT}
+ {-1615136400 -21600 0 CST}
+ {-1596988800 -18000 1 CDT}
+ {-1583175600 -21600 0 CST}
+ {-880214400 -18000 1 CWT}
+ {-769395600 -18000 1 CPT}
+ {-765392400 -21600 0 CST}
+ {-147895200 -14400 1 CDDT}
+ {-131565600 -21600 0 CST}
+ {325670400 -18000 1 CDT}
+ {341391600 -21600 0 CST}
+ {357120000 -18000 1 CDT}
+ {372841200 -21600 0 CST}
+ {388569600 -18000 1 CDT}
+ {404895600 -21600 0 CST}
+ {420019200 -18000 1 CDT}
+ {436345200 -21600 0 CST}
+ {452073600 -18000 1 CDT}
+ {467794800 -21600 0 CST}
+ {483523200 -18000 1 CDT}
+ {499244400 -21600 0 CST}
+ {514972800 -18000 1 CDT}
+ {530694000 -21600 0 CST}
+ {544608000 -18000 1 CDT}
+ {562143600 -21600 0 CST}
+ {576057600 -18000 1 CDT}
+ {594198000 -21600 0 CST}
+ {607507200 -18000 1 CDT}
+ {625647600 -21600 0 CST}
+ {638956800 -18000 1 CDT}
+ {657097200 -21600 0 CST}
+ {671011200 -18000 1 CDT}
+ {688546800 -21600 0 CST}
+ {702460800 -18000 1 CDT}
+ {719996400 -21600 0 CST}
+ {733910400 -18000 1 CDT}
+ {752050800 -21600 0 CST}
+ {765360000 -18000 1 CDT}
+ {783500400 -21600 0 CST}
+ {796809600 -18000 1 CDT}
+ {814950000 -21600 0 CST}
+ {828864000 -18000 1 CDT}
+ {846399600 -21600 0 CST}
+ {860313600 -18000 1 CDT}
+ {877849200 -21600 0 CST}
+ {891763200 -18000 1 CDT}
+ {909298800 -21600 0 CST}
+ {923212800 -18000 1 CDT}
+ {941353200 -21600 0 CST}
+ {954662400 -18000 1 CDT}
+ {972806400 -18000 0 EST}
+ {986112000 -18000 0 CDT}
+ {1004252400 -21600 0 CST}
+ {1018166400 -18000 1 CDT}
+ {1035702000 -21600 0 CST}
+ {1049616000 -18000 1 CDT}
+ {1067151600 -21600 0 CST}
+ {1081065600 -18000 1 CDT}
+ {1099206000 -21600 0 CST}
+ {1112515200 -18000 1 CDT}
+ {1130655600 -21600 0 CST}
+ {1143964800 -18000 1 CDT}
+ {1162105200 -21600 0 CST}
+ {1175414400 -18000 1 CDT}
+ {1193554800 -21600 0 CST}
+ {1207468800 -18000 1 CDT}
+ {1225004400 -21600 0 CST}
+ {1238918400 -18000 1 CDT}
+ {1256454000 -21600 0 CST}
+ {1270368000 -18000 1 CDT}
+ {1288508400 -21600 0 CST}
+ {1301817600 -18000 1 CDT}
+ {1319958000 -21600 0 CST}
+ {1333267200 -18000 1 CDT}
+ {1351407600 -21600 0 CST}
+ {1365321600 -18000 1 CDT}
+ {1382857200 -21600 0 CST}
+ {1396771200 -18000 1 CDT}
+ {1414306800 -21600 0 CST}
+ {1428220800 -18000 1 CDT}
+ {1445756400 -21600 0 CST}
+ {1459670400 -18000 1 CDT}
+ {1477810800 -21600 0 CST}
+ {1491120000 -18000 1 CDT}
+ {1509260400 -21600 0 CST}
+ {1522569600 -18000 1 CDT}
+ {1540710000 -21600 0 CST}
+ {1554624000 -18000 1 CDT}
+ {1572159600 -21600 0 CST}
+ {1586073600 -18000 1 CDT}
+ {1603609200 -21600 0 CST}
+ {1617523200 -18000 1 CDT}
+ {1635663600 -21600 0 CST}
+ {1648972800 -18000 1 CDT}
+ {1667113200 -21600 0 CST}
+ {1680422400 -18000 1 CDT}
+ {1698562800 -21600 0 CST}
+ {1712476800 -18000 1 CDT}
+ {1730012400 -21600 0 CST}
+ {1743926400 -18000 1 CDT}
+ {1761462000 -21600 0 CST}
+ {1775376000 -18000 1 CDT}
+ {1792911600 -21600 0 CST}
+ {1806825600 -18000 1 CDT}
+ {1824966000 -21600 0 CST}
+ {1838275200 -18000 1 CDT}
+ {1856415600 -21600 0 CST}
+ {1869724800 -18000 1 CDT}
+ {1887865200 -21600 0 CST}
+ {1901779200 -18000 1 CDT}
+ {1919314800 -21600 0 CST}
+ {1933228800 -18000 1 CDT}
+ {1950764400 -21600 0 CST}
+ {1964678400 -18000 1 CDT}
+ {1982818800 -21600 0 CST}
+ {1996128000 -18000 1 CDT}
+ {2014268400 -21600 0 CST}
+ {2027577600 -18000 1 CDT}
+ {2045718000 -21600 0 CST}
+ {2059027200 -18000 1 CDT}
+ {2077167600 -21600 0 CST}
+ {2091081600 -18000 1 CDT}
+ {2108617200 -21600 0 CST}
+ {2122531200 -18000 1 CDT}
+ {2140066800 -21600 0 CST}
+ {2153980800 -18000 1 CDT}
+ {2172121200 -21600 0 CST}
+ {2185430400 -18000 1 CDT}
+ {2203570800 -21600 0 CST}
+ {2216880000 -18000 1 CDT}
+ {2235020400 -21600 0 CST}
+ {2248934400 -18000 1 CDT}
+ {2266470000 -21600 0 CST}
+ {2280384000 -18000 1 CDT}
+ {2297919600 -21600 0 CST}
+ {2311833600 -18000 1 CDT}
+ {2329369200 -21600 0 CST}
+ {2343283200 -18000 1 CDT}
+ {2361423600 -21600 0 CST}
+ {2374732800 -18000 1 CDT}
+ {2392873200 -21600 0 CST}
+ {2406182400 -18000 1 CDT}
+ {2424322800 -21600 0 CST}
+ {2438236800 -18000 1 CDT}
+ {2455772400 -21600 0 CST}
+ {2469686400 -18000 1 CDT}
+ {2487222000 -21600 0 CST}
+ {2501136000 -18000 1 CDT}
+ {2519276400 -21600 0 CST}
+ {2532585600 -18000 1 CDT}
+ {2550726000 -21600 0 CST}
+ {2564035200 -18000 1 CDT}
+ {2582175600 -21600 0 CST}
+ {2596089600 -18000 1 CDT}
+ {2613625200 -21600 0 CST}
+ {2627539200 -18000 1 CDT}
+ {2645074800 -21600 0 CST}
+ {2658988800 -18000 1 CDT}
+ {2676524400 -21600 0 CST}
+ {2690438400 -18000 1 CDT}
+ {2708578800 -21600 0 CST}
+ {2721888000 -18000 1 CDT}
+ {2740028400 -21600 0 CST}
+ {2753337600 -18000 1 CDT}
+ {2771478000 -21600 0 CST}
+ {2785392000 -18000 1 CDT}
+ {2802927600 -21600 0 CST}
+ {2816841600 -18000 1 CDT}
+ {2834377200 -21600 0 CST}
+ {2848291200 -18000 1 CDT}
+ {2866431600 -21600 0 CST}
+ {2879740800 -18000 1 CDT}
+ {2897881200 -21600 0 CST}
+ {2911190400 -18000 1 CDT}
+ {2929330800 -21600 0 CST}
+ {2942640000 -18000 1 CDT}
+ {2960780400 -21600 0 CST}
+ {2974694400 -18000 1 CDT}
+ {2992230000 -21600 0 CST}
+ {3006144000 -18000 1 CDT}
+ {3023679600 -21600 0 CST}
+ {3037593600 -18000 1 CDT}
+ {3055734000 -21600 0 CST}
+ {3069043200 -18000 1 CDT}
+ {3087183600 -21600 0 CST}
+ {3100492800 -18000 1 CDT}
+ {3118633200 -21600 0 CST}
+ {3132547200 -18000 1 CDT}
+ {3150082800 -21600 0 CST}
+ {3163996800 -18000 1 CDT}
+ {3181532400 -21600 0 CST}
+ {3195446400 -18000 1 CDT}
+ {3212982000 -21600 0 CST}
+ {3226896000 -18000 1 CDT}
+ {3245036400 -21600 0 CST}
+ {3258345600 -18000 1 CDT}
+ {3276486000 -21600 0 CST}
+ {3289795200 -18000 1 CDT}
+ {3307935600 -21600 0 CST}
+ {3321849600 -18000 1 CDT}
+ {3339385200 -21600 0 CST}
+ {3353299200 -18000 1 CDT}
+ {3370834800 -21600 0 CST}
+ {3384748800 -18000 1 CDT}
+ {3402889200 -21600 0 CST}
+ {3416198400 -18000 1 CDT}
+ {3434338800 -21600 0 CST}
+ {3447648000 -18000 1 CDT}
+ {3465788400 -21600 0 CST}
+ {3479702400 -18000 1 CDT}
+ {3497238000 -21600 0 CST}
+ {3511152000 -18000 1 CDT}
+ {3528687600 -21600 0 CST}
+ {3542601600 -18000 1 CDT}
+ {3560137200 -21600 0 CST}
+ {3574051200 -18000 1 CDT}
+ {3592191600 -21600 0 CST}
+ {3605500800 -18000 1 CDT}
+ {3623641200 -21600 0 CST}
+ {3636950400 -18000 1 CDT}
+ {3655090800 -21600 0 CST}
+ {3669004800 -18000 1 CDT}
+ {3686540400 -21600 0 CST}
+ {3700454400 -18000 1 CDT}
+ {3717990000 -21600 0 CST}
+ {3731904000 -18000 1 CDT}
+ {3750044400 -21600 0 CST}
+ {3763353600 -18000 1 CDT}
+ {3781494000 -21600 0 CST}
+ {3794803200 -18000 1 CDT}
+ {3812943600 -21600 0 CST}
+ {3826252800 -18000 1 CDT}
+ {3844393200 -21600 0 CST}
+ {3858307200 -18000 1 CDT}
+ {3875842800 -21600 0 CST}
+ {3889756800 -18000 1 CDT}
+ {3907292400 -21600 0 CST}
+ {3921206400 -18000 1 CDT}
+ {3939346800 -21600 0 CST}
+ {3952656000 -18000 1 CDT}
+ {3970796400 -21600 0 CST}
+ {3984105600 -18000 1 CDT}
+ {4002246000 -21600 0 CST}
+ {4016160000 -18000 1 CDT}
+ {4033695600 -21600 0 CST}
+ {4047609600 -18000 1 CDT}
+ {4065145200 -21600 0 CST}
+ {4079059200 -18000 1 CDT}
+ {4096594800 -21600 0 CST}
+}
diff --git a/library/tzdata/America/Recife b/library/tzdata/America/Recife
new file mode 100644
index 0000000..7520ee3
--- /dev/null
+++ b/library/tzdata/America/Recife
@@ -0,0 +1,48 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Recife) {
+ {-9223372036854775808 -8376 0 LMT}
+ {-1767217224 -10800 0 BRT}
+ {-1206957600 -7200 1 BRST}
+ {-1191362400 -10800 0 BRT}
+ {-1175374800 -7200 1 BRST}
+ {-1159826400 -10800 0 BRT}
+ {-633819600 -7200 1 BRST}
+ {-622069200 -10800 0 BRT}
+ {-602283600 -7200 1 BRST}
+ {-591832800 -10800 0 BRT}
+ {-570747600 -7200 1 BRST}
+ {-560210400 -10800 0 BRT}
+ {-539125200 -7200 1 BRST}
+ {-531352800 -10800 0 BRT}
+ {-191365200 -7200 1 BRST}
+ {-184197600 -10800 0 BRT}
+ {-155163600 -7200 1 BRST}
+ {-150069600 -10800 0 BRT}
+ {-128898000 -7200 1 BRST}
+ {-121125600 -10800 0 BRT}
+ {-99954000 -7200 1 BRST}
+ {-89589600 -10800 0 BRT}
+ {-68418000 -7200 1 BRST}
+ {-57967200 -10800 0 BRT}
+ {499748400 -7200 1 BRST}
+ {511236000 -10800 0 BRT}
+ {530593200 -7200 1 BRST}
+ {540266400 -10800 0 BRT}
+ {562129200 -7200 1 BRST}
+ {571197600 -10800 0 BRT}
+ {592974000 -7200 1 BRST}
+ {602042400 -10800 0 BRT}
+ {624423600 -7200 1 BRST}
+ {634701600 -10800 0 BRT}
+ {653536800 -10800 0 BRT}
+ {938660400 -10800 0 BRT}
+ {938919600 -7200 1 BRST}
+ {951616800 -10800 0 BRT}
+ {970974000 -7200 1 BRST}
+ {971575200 -10800 0 BRT}
+ {1000350000 -10800 0 BRT}
+ {1003028400 -7200 1 BRST}
+ {1013911200 -10800 0 BRT}
+ {1033437600 -10800 0 BRT}
+}
diff --git a/library/tzdata/America/Regina b/library/tzdata/America/Regina
new file mode 100644
index 0000000..fb76bee
--- /dev/null
+++ b/library/tzdata/America/Regina
@@ -0,0 +1,58 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Regina) {
+ {-9223372036854775808 -25116 0 LMT}
+ {-2030202084 -25200 0 MST}
+ {-1632063600 -21600 1 MDT}
+ {-1614787200 -25200 0 MST}
+ {-1251651600 -21600 1 MDT}
+ {-1238349600 -25200 0 MST}
+ {-1220202000 -21600 1 MDT}
+ {-1206900000 -25200 0 MST}
+ {-1188752400 -21600 1 MDT}
+ {-1175450400 -25200 0 MST}
+ {-1156698000 -21600 1 MDT}
+ {-1144000800 -25200 0 MST}
+ {-1125248400 -21600 1 MDT}
+ {-1111946400 -25200 0 MST}
+ {-1032714000 -21600 1 MDT}
+ {-1016992800 -25200 0 MST}
+ {-1001264400 -21600 1 MDT}
+ {-986148000 -25200 0 MST}
+ {-969814800 -21600 1 MDT}
+ {-954093600 -25200 0 MST}
+ {-937760400 -21600 1 MDT}
+ {-922039200 -25200 0 MST}
+ {-906310800 -21600 1 MDT}
+ {-890589600 -25200 0 MST}
+ {-880210800 -21600 1 MWT}
+ {-769395600 -21600 1 MPT}
+ {-765388800 -25200 0 MST}
+ {-748450800 -21600 1 MDT}
+ {-732729600 -25200 0 MST}
+ {-715791600 -21600 1 MDT}
+ {-702489600 -25200 0 MST}
+ {-684342000 -21600 1 MDT}
+ {-671040000 -25200 0 MST}
+ {-652892400 -21600 1 MDT}
+ {-639590400 -25200 0 MST}
+ {-620838000 -21600 1 MDT}
+ {-608140800 -25200 0 MST}
+ {-589388400 -21600 1 MDT}
+ {-576086400 -25200 0 MST}
+ {-557938800 -21600 1 MDT}
+ {-544636800 -25200 0 MST}
+ {-526489200 -21600 1 MDT}
+ {-513187200 -25200 0 MST}
+ {-495039600 -21600 1 MDT}
+ {-481737600 -25200 0 MST}
+ {-463590000 -21600 1 MDT}
+ {-450288000 -25200 0 MST}
+ {-431535600 -21600 1 MDT}
+ {-418233600 -25200 0 MST}
+ {-400086000 -21600 1 MDT}
+ {-386784000 -25200 0 MST}
+ {-337186800 -21600 1 MDT}
+ {-321465600 -25200 0 MST}
+ {-305737200 -21600 0 CST}
+}
diff --git a/library/tzdata/America/Rio_Branco b/library/tzdata/America/Rio_Branco
new file mode 100644
index 0000000..b1d7e75
--- /dev/null
+++ b/library/tzdata/America/Rio_Branco
@@ -0,0 +1,35 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Rio_Branco) {
+ {-9223372036854775808 -16272 0 LMT}
+ {-1767209328 -18000 0 ACT}
+ {-1206950400 -14400 1 ACST}
+ {-1191355200 -18000 0 ACT}
+ {-1175367600 -14400 1 ACST}
+ {-1159819200 -18000 0 ACT}
+ {-633812400 -14400 1 ACST}
+ {-622062000 -18000 0 ACT}
+ {-602276400 -14400 1 ACST}
+ {-591825600 -18000 0 ACT}
+ {-570740400 -14400 1 ACST}
+ {-560203200 -18000 0 ACT}
+ {-539118000 -14400 1 ACST}
+ {-531345600 -18000 0 ACT}
+ {-191358000 -14400 1 ACST}
+ {-184190400 -18000 0 ACT}
+ {-155156400 -14400 1 ACST}
+ {-150062400 -18000 0 ACT}
+ {-128890800 -14400 1 ACST}
+ {-121118400 -18000 0 ACT}
+ {-99946800 -14400 1 ACST}
+ {-89582400 -18000 0 ACT}
+ {-68410800 -14400 1 ACST}
+ {-57960000 -18000 0 ACT}
+ {499755600 -14400 1 ACST}
+ {511243200 -18000 0 ACT}
+ {530600400 -14400 1 ACST}
+ {540273600 -18000 0 ACT}
+ {562136400 -14400 1 ACST}
+ {571204800 -18000 0 ACT}
+ {590040000 -18000 0 ACT}
+}
diff --git a/library/tzdata/America/Rosario b/library/tzdata/America/Rosario
new file mode 100644
index 0000000..ecc7c38
--- /dev/null
+++ b/library/tzdata/America/Rosario
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Cordoba)]} {
+ loadTimeZoneFile America/Cordoba
+}
+set tzdata(:America/Rosario) $TZData(:America/Cordoba)
diff --git a/library/tzdata/America/Santiago b/library/tzdata/America/Santiago
new file mode 100644
index 0000000..b2443b5
--- /dev/null
+++ b/library/tzdata/America/Santiago
@@ -0,0 +1,287 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Santiago) {
+ {-9223372036854775808 -16960 0 LMT}
+ {-2524504640 -16960 0 SMT}
+ {-1893439040 -18000 0 CLT}
+ {-1619982000 -14400 1 CLST}
+ {-1593720000 -18000 0 CLT}
+ {-1335985200 -14400 1 CLST}
+ {-1317585600 -18000 0 CLT}
+ {-1304362800 -14400 1 CLST}
+ {-1286049600 -18000 0 CLT}
+ {-1272826800 -14400 1 CLST}
+ {-1254513600 -18000 0 CLT}
+ {-1241290800 -14400 1 CLST}
+ {-1222977600 -18000 0 CLT}
+ {-1209754800 -14400 1 CLST}
+ {-1191355200 -18000 0 CLT}
+ {-1178132400 -14400 0 CLT}
+ {-101937600 -10800 1 CLST}
+ {-88635600 -14400 0 CLT}
+ {-69883200 -10800 1 CLST}
+ {-57186000 -14400 0 CLT}
+ {-38433600 -10800 1 CLST}
+ {-25736400 -14400 0 CLT}
+ {-6984000 -10800 1 CLST}
+ {6318000 -14400 0 CLT}
+ {24465600 -10800 1 CLST}
+ {37767600 -14400 0 CLT}
+ {55915200 -10800 1 CLST}
+ {69217200 -14400 0 CLT}
+ {87969600 -10800 1 CLST}
+ {100666800 -14400 0 CLT}
+ {119419200 -10800 1 CLST}
+ {132116400 -14400 0 CLT}
+ {150868800 -10800 1 CLST}
+ {163566000 -14400 0 CLT}
+ {182318400 -10800 1 CLST}
+ {195620400 -14400 0 CLT}
+ {213768000 -10800 1 CLST}
+ {227070000 -14400 0 CLT}
+ {245217600 -10800 1 CLST}
+ {258519600 -14400 0 CLT}
+ {277272000 -10800 1 CLST}
+ {289969200 -14400 0 CLT}
+ {308721600 -10800 1 CLST}
+ {321418800 -14400 0 CLT}
+ {340171200 -10800 1 CLST}
+ {353473200 -14400 0 CLT}
+ {371620800 -10800 1 CLST}
+ {384922800 -14400 0 CLT}
+ {403070400 -10800 1 CLST}
+ {416372400 -14400 0 CLT}
+ {434520000 -10800 1 CLST}
+ {447822000 -14400 0 CLT}
+ {466574400 -10800 1 CLST}
+ {479271600 -14400 0 CLT}
+ {498024000 -10800 1 CLST}
+ {510721200 -14400 0 CLT}
+ {529473600 -10800 1 CLST}
+ {542775600 -14400 0 CLT}
+ {560923200 -10800 1 CLST}
+ {574225200 -14400 0 CLT}
+ {592372800 -10800 1 CLST}
+ {605674800 -14400 0 CLT}
+ {624427200 -10800 1 CLST}
+ {637124400 -14400 0 CLT}
+ {655876800 -10800 1 CLST}
+ {668574000 -14400 0 CLT}
+ {687326400 -10800 1 CLST}
+ {700628400 -14400 0 CLT}
+ {718776000 -10800 1 CLST}
+ {732078000 -14400 0 CLT}
+ {750225600 -10800 1 CLST}
+ {763527600 -14400 0 CLT}
+ {781675200 -10800 1 CLST}
+ {794977200 -14400 0 CLT}
+ {813729600 -10800 1 CLST}
+ {826426800 -14400 0 CLT}
+ {845179200 -10800 1 CLST}
+ {857876400 -14400 0 CLT}
+ {876628800 -10800 1 CLST}
+ {889930800 -14400 0 CLT}
+ {906868800 -10800 1 CLST}
+ {923194800 -14400 0 CLT}
+ {939528000 -10800 1 CLST}
+ {952830000 -14400 0 CLT}
+ {971582400 -10800 1 CLST}
+ {984279600 -14400 0 CLT}
+ {1003032000 -10800 1 CLST}
+ {1015729200 -14400 0 CLT}
+ {1034481600 -10800 1 CLST}
+ {1047178800 -14400 0 CLT}
+ {1065931200 -10800 1 CLST}
+ {1079233200 -14400 0 CLT}
+ {1097380800 -10800 1 CLST}
+ {1110682800 -14400 0 CLT}
+ {1128830400 -10800 1 CLST}
+ {1142132400 -14400 0 CLT}
+ {1160884800 -10800 1 CLST}
+ {1173582000 -14400 0 CLT}
+ {1192334400 -10800 1 CLST}
+ {1205031600 -14400 0 CLT}
+ {1223784000 -10800 1 CLST}
+ {1237086000 -14400 0 CLT}
+ {1255233600 -10800 1 CLST}
+ {1268535600 -14400 0 CLT}
+ {1286683200 -10800 1 CLST}
+ {1299985200 -14400 0 CLT}
+ {1318132800 -10800 1 CLST}
+ {1331434800 -14400 0 CLT}
+ {1350187200 -10800 1 CLST}
+ {1362884400 -14400 0 CLT}
+ {1381636800 -10800 1 CLST}
+ {1394334000 -14400 0 CLT}
+ {1413086400 -10800 1 CLST}
+ {1426388400 -14400 0 CLT}
+ {1444536000 -10800 1 CLST}
+ {1457838000 -14400 0 CLT}
+ {1475985600 -10800 1 CLST}
+ {1489287600 -14400 0 CLT}
+ {1508040000 -10800 1 CLST}
+ {1520737200 -14400 0 CLT}
+ {1539489600 -10800 1 CLST}
+ {1552186800 -14400 0 CLT}
+ {1570939200 -10800 1 CLST}
+ {1584241200 -14400 0 CLT}
+ {1602388800 -10800 1 CLST}
+ {1615690800 -14400 0 CLT}
+ {1633838400 -10800 1 CLST}
+ {1647140400 -14400 0 CLT}
+ {1665288000 -10800 1 CLST}
+ {1678590000 -14400 0 CLT}
+ {1697342400 -10800 1 CLST}
+ {1710039600 -14400 0 CLT}
+ {1728792000 -10800 1 CLST}
+ {1741489200 -14400 0 CLT}
+ {1760241600 -10800 1 CLST}
+ {1773543600 -14400 0 CLT}
+ {1791691200 -10800 1 CLST}
+ {1804993200 -14400 0 CLT}
+ {1823140800 -10800 1 CLST}
+ {1836442800 -14400 0 CLT}
+ {1855195200 -10800 1 CLST}
+ {1867892400 -14400 0 CLT}
+ {1886644800 -10800 1 CLST}
+ {1899342000 -14400 0 CLT}
+ {1918094400 -10800 1 CLST}
+ {1930791600 -14400 0 CLT}
+ {1949544000 -10800 1 CLST}
+ {1962846000 -14400 0 CLT}
+ {1980993600 -10800 1 CLST}
+ {1994295600 -14400 0 CLT}
+ {2012443200 -10800 1 CLST}
+ {2025745200 -14400 0 CLT}
+ {2044497600 -10800 1 CLST}
+ {2057194800 -14400 0 CLT}
+ {2075947200 -10800 1 CLST}
+ {2088644400 -14400 0 CLT}
+ {2107396800 -10800 1 CLST}
+ {2120698800 -14400 0 CLT}
+ {2138846400 -10800 1 CLST}
+ {2152148400 -14400 0 CLT}
+ {2170296000 -10800 1 CLST}
+ {2183598000 -14400 0 CLT}
+ {2201745600 -10800 1 CLST}
+ {2215047600 -14400 0 CLT}
+ {2233800000 -10800 1 CLST}
+ {2246497200 -14400 0 CLT}
+ {2265249600 -10800 1 CLST}
+ {2277946800 -14400 0 CLT}
+ {2296699200 -10800 1 CLST}
+ {2310001200 -14400 0 CLT}
+ {2328148800 -10800 1 CLST}
+ {2341450800 -14400 0 CLT}
+ {2359598400 -10800 1 CLST}
+ {2372900400 -14400 0 CLT}
+ {2391652800 -10800 1 CLST}
+ {2404350000 -14400 0 CLT}
+ {2423102400 -10800 1 CLST}
+ {2435799600 -14400 0 CLT}
+ {2454552000 -10800 1 CLST}
+ {2467854000 -14400 0 CLT}
+ {2486001600 -10800 1 CLST}
+ {2499303600 -14400 0 CLT}
+ {2517451200 -10800 1 CLST}
+ {2530753200 -14400 0 CLT}
+ {2548900800 -10800 1 CLST}
+ {2562202800 -14400 0 CLT}
+ {2580955200 -10800 1 CLST}
+ {2593652400 -14400 0 CLT}
+ {2612404800 -10800 1 CLST}
+ {2625102000 -14400 0 CLT}
+ {2643854400 -10800 1 CLST}
+ {2657156400 -14400 0 CLT}
+ {2675304000 -10800 1 CLST}
+ {2688606000 -14400 0 CLT}
+ {2706753600 -10800 1 CLST}
+ {2720055600 -14400 0 CLT}
+ {2738808000 -10800 1 CLST}
+ {2751505200 -14400 0 CLT}
+ {2770257600 -10800 1 CLST}
+ {2782954800 -14400 0 CLT}
+ {2801707200 -10800 1 CLST}
+ {2814404400 -14400 0 CLT}
+ {2833156800 -10800 1 CLST}
+ {2846458800 -14400 0 CLT}
+ {2864606400 -10800 1 CLST}
+ {2877908400 -14400 0 CLT}
+ {2896056000 -10800 1 CLST}
+ {2909358000 -14400 0 CLT}
+ {2928110400 -10800 1 CLST}
+ {2940807600 -14400 0 CLT}
+ {2959560000 -10800 1 CLST}
+ {2972257200 -14400 0 CLT}
+ {2991009600 -10800 1 CLST}
+ {3004311600 -14400 0 CLT}
+ {3022459200 -10800 1 CLST}
+ {3035761200 -14400 0 CLT}
+ {3053908800 -10800 1 CLST}
+ {3067210800 -14400 0 CLT}
+ {3085358400 -10800 1 CLST}
+ {3098660400 -14400 0 CLT}
+ {3117412800 -10800 1 CLST}
+ {3130110000 -14400 0 CLT}
+ {3148862400 -10800 1 CLST}
+ {3161559600 -14400 0 CLT}
+ {3180312000 -10800 1 CLST}
+ {3193614000 -14400 0 CLT}
+ {3211761600 -10800 1 CLST}
+ {3225063600 -14400 0 CLT}
+ {3243211200 -10800 1 CLST}
+ {3256513200 -14400 0 CLT}
+ {3275265600 -10800 1 CLST}
+ {3287962800 -14400 0 CLT}
+ {3306715200 -10800 1 CLST}
+ {3319412400 -14400 0 CLT}
+ {3338164800 -10800 1 CLST}
+ {3351466800 -14400 0 CLT}
+ {3369614400 -10800 1 CLST}
+ {3382916400 -14400 0 CLT}
+ {3401064000 -10800 1 CLST}
+ {3414366000 -14400 0 CLT}
+ {3432513600 -10800 1 CLST}
+ {3445815600 -14400 0 CLT}
+ {3464568000 -10800 1 CLST}
+ {3477265200 -14400 0 CLT}
+ {3496017600 -10800 1 CLST}
+ {3508714800 -14400 0 CLT}
+ {3527467200 -10800 1 CLST}
+ {3540769200 -14400 0 CLT}
+ {3558916800 -10800 1 CLST}
+ {3572218800 -14400 0 CLT}
+ {3590366400 -10800 1 CLST}
+ {3603668400 -14400 0 CLT}
+ {3622420800 -10800 1 CLST}
+ {3635118000 -14400 0 CLT}
+ {3653870400 -10800 1 CLST}
+ {3666567600 -14400 0 CLT}
+ {3685320000 -10800 1 CLST}
+ {3698017200 -14400 0 CLT}
+ {3716769600 -10800 1 CLST}
+ {3730071600 -14400 0 CLT}
+ {3748219200 -10800 1 CLST}
+ {3761521200 -14400 0 CLT}
+ {3779668800 -10800 1 CLST}
+ {3792970800 -14400 0 CLT}
+ {3811723200 -10800 1 CLST}
+ {3824420400 -14400 0 CLT}
+ {3843172800 -10800 1 CLST}
+ {3855870000 -14400 0 CLT}
+ {3874622400 -10800 1 CLST}
+ {3887924400 -14400 0 CLT}
+ {3906072000 -10800 1 CLST}
+ {3919374000 -14400 0 CLT}
+ {3937521600 -10800 1 CLST}
+ {3950823600 -14400 0 CLT}
+ {3968971200 -10800 1 CLST}
+ {3982273200 -14400 0 CLT}
+ {4001025600 -10800 1 CLST}
+ {4013722800 -14400 0 CLT}
+ {4032475200 -10800 1 CLST}
+ {4045172400 -14400 0 CLT}
+ {4063924800 -10800 1 CLST}
+ {4077226800 -14400 0 CLT}
+ {4095374400 -10800 1 CLST}
+}
diff --git a/library/tzdata/America/Santo_Domingo b/library/tzdata/America/Santo_Domingo
new file mode 100644
index 0000000..970f0fc
--- /dev/null
+++ b/library/tzdata/America/Santo_Domingo
@@ -0,0 +1,21 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Santo_Domingo) {
+ {-9223372036854775808 -16776 0 LMT}
+ {-2524504824 -16800 0 SDMT}
+ {-1159773600 -18000 0 EST}
+ {-100119600 -14400 1 EDT}
+ {-89668800 -18000 0 EST}
+ {-5770800 -16200 1 EHDT}
+ {4422600 -18000 0 EST}
+ {25678800 -16200 1 EHDT}
+ {33193800 -18000 0 EST}
+ {57733200 -16200 1 EHDT}
+ {64816200 -18000 0 EST}
+ {89182800 -16200 1 EHDT}
+ {96438600 -18000 0 EST}
+ {120632400 -16200 1 EHDT}
+ {127974600 -18000 0 EST}
+ {152082000 -14400 0 AST}
+ {975823200 -14400 0 AST}
+}
diff --git a/library/tzdata/America/Sao_Paulo b/library/tzdata/America/Sao_Paulo
new file mode 100644
index 0000000..0678b33
--- /dev/null
+++ b/library/tzdata/America/Sao_Paulo
@@ -0,0 +1,258 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Sao_Paulo) {
+ {-9223372036854775808 -11188 0 LMT}
+ {-1767214412 -10800 0 BRT}
+ {-1206957600 -7200 1 BRST}
+ {-1191362400 -10800 0 BRT}
+ {-1175374800 -7200 1 BRST}
+ {-1159826400 -10800 0 BRT}
+ {-633819600 -7200 1 BRST}
+ {-622069200 -10800 0 BRT}
+ {-602283600 -7200 1 BRST}
+ {-591832800 -10800 0 BRT}
+ {-570747600 -7200 1 BRST}
+ {-560210400 -10800 0 BRT}
+ {-539125200 -7200 1 BRST}
+ {-531352800 -10800 0 BRT}
+ {-195429600 -7200 1 BRST}
+ {-189381600 -7200 0 BRT}
+ {-184197600 -10800 0 BRT}
+ {-155163600 -7200 1 BRST}
+ {-150069600 -10800 0 BRT}
+ {-128898000 -7200 1 BRST}
+ {-121125600 -10800 0 BRT}
+ {-99954000 -7200 1 BRST}
+ {-89589600 -10800 0 BRT}
+ {-68418000 -7200 1 BRST}
+ {-57967200 -10800 0 BRT}
+ {499748400 -7200 1 BRST}
+ {511236000 -10800 0 BRT}
+ {530593200 -7200 1 BRST}
+ {540266400 -10800 0 BRT}
+ {562129200 -7200 1 BRST}
+ {571197600 -10800 0 BRT}
+ {592974000 -7200 1 BRST}
+ {602042400 -10800 0 BRT}
+ {624423600 -7200 1 BRST}
+ {634701600 -10800 0 BRT}
+ {656478000 -7200 1 BRST}
+ {666756000 -10800 0 BRT}
+ {687927600 -7200 1 BRST}
+ {697600800 -10800 0 BRT}
+ {719982000 -7200 1 BRST}
+ {728445600 -10800 0 BRT}
+ {750826800 -7200 1 BRST}
+ {761709600 -10800 0 BRT}
+ {782276400 -7200 1 BRST}
+ {793159200 -10800 0 BRT}
+ {813726000 -7200 1 BRST}
+ {824004000 -10800 0 BRT}
+ {844570800 -7200 1 BRST}
+ {856058400 -10800 0 BRT}
+ {876106800 -7200 1 BRST}
+ {888717600 -10800 0 BRT}
+ {908074800 -7200 1 BRST}
+ {919562400 -10800 0 BRT}
+ {938919600 -7200 1 BRST}
+ {951616800 -10800 0 BRT}
+ {970974000 -7200 1 BRST}
+ {982461600 -10800 0 BRT}
+ {1003028400 -7200 1 BRST}
+ {1013911200 -10800 0 BRT}
+ {1036292400 -7200 1 BRST}
+ {1045360800 -10800 0 BRT}
+ {1066532400 -7200 1 BRST}
+ {1076810400 -10800 0 BRT}
+ {1097982000 -7200 1 BRST}
+ {1108864800 -10800 0 BRT}
+ {1129431600 -7200 1 BRST}
+ {1140314400 -10800 0 BRT}
+ {1160881200 -7200 1 BRST}
+ {1171764000 -10800 0 BRT}
+ {1192935600 -7200 1 BRST}
+ {1203213600 -10800 0 BRT}
+ {1224385200 -7200 1 BRST}
+ {1234663200 -10800 0 BRT}
+ {1255834800 -7200 1 BRST}
+ {1266717600 -10800 0 BRT}
+ {1287284400 -7200 1 BRST}
+ {1298167200 -10800 0 BRT}
+ {1318734000 -7200 1 BRST}
+ {1329616800 -10800 0 BRT}
+ {1350788400 -7200 1 BRST}
+ {1361066400 -10800 0 BRT}
+ {1382238000 -7200 1 BRST}
+ {1392516000 -10800 0 BRT}
+ {1413687600 -7200 1 BRST}
+ {1423965600 -10800 0 BRT}
+ {1445137200 -7200 1 BRST}
+ {1456020000 -10800 0 BRT}
+ {1476586800 -7200 1 BRST}
+ {1487469600 -10800 0 BRT}
+ {1508036400 -7200 1 BRST}
+ {1518919200 -10800 0 BRT}
+ {1540090800 -7200 1 BRST}
+ {1550368800 -10800 0 BRT}
+ {1571540400 -7200 1 BRST}
+ {1581818400 -10800 0 BRT}
+ {1602990000 -7200 1 BRST}
+ {1613872800 -10800 0 BRT}
+ {1634439600 -7200 1 BRST}
+ {1645322400 -10800 0 BRT}
+ {1665889200 -7200 1 BRST}
+ {1676772000 -10800 0 BRT}
+ {1697338800 -7200 1 BRST}
+ {1708221600 -10800 0 BRT}
+ {1729393200 -7200 1 BRST}
+ {1739671200 -10800 0 BRT}
+ {1760842800 -7200 1 BRST}
+ {1771120800 -10800 0 BRT}
+ {1792292400 -7200 1 BRST}
+ {1803175200 -10800 0 BRT}
+ {1823742000 -7200 1 BRST}
+ {1834624800 -10800 0 BRT}
+ {1855191600 -7200 1 BRST}
+ {1866074400 -10800 0 BRT}
+ {1887246000 -7200 1 BRST}
+ {1897524000 -10800 0 BRT}
+ {1918695600 -7200 1 BRST}
+ {1928973600 -10800 0 BRT}
+ {1950145200 -7200 1 BRST}
+ {1960423200 -10800 0 BRT}
+ {1981594800 -7200 1 BRST}
+ {1992477600 -10800 0 BRT}
+ {2013044400 -7200 1 BRST}
+ {2023927200 -10800 0 BRT}
+ {2044494000 -7200 1 BRST}
+ {2055376800 -10800 0 BRT}
+ {2076548400 -7200 1 BRST}
+ {2086826400 -10800 0 BRT}
+ {2107998000 -7200 1 BRST}
+ {2118276000 -10800 0 BRT}
+ {2139447600 -7200 1 BRST}
+ {2150330400 -10800 0 BRT}
+ {2170897200 -7200 1 BRST}
+ {2181780000 -10800 0 BRT}
+ {2202346800 -7200 1 BRST}
+ {2213229600 -10800 0 BRT}
+ {2234401200 -7200 1 BRST}
+ {2244679200 -10800 0 BRT}
+ {2265850800 -7200 1 BRST}
+ {2276128800 -10800 0 BRT}
+ {2297300400 -7200 1 BRST}
+ {2307578400 -10800 0 BRT}
+ {2328750000 -7200 1 BRST}
+ {2339632800 -10800 0 BRT}
+ {2360199600 -7200 1 BRST}
+ {2371082400 -10800 0 BRT}
+ {2391649200 -7200 1 BRST}
+ {2402532000 -10800 0 BRT}
+ {2423703600 -7200 1 BRST}
+ {2433981600 -10800 0 BRT}
+ {2455153200 -7200 1 BRST}
+ {2465431200 -10800 0 BRT}
+ {2486602800 -7200 1 BRST}
+ {2497485600 -10800 0 BRT}
+ {2518052400 -7200 1 BRST}
+ {2528935200 -10800 0 BRT}
+ {2549502000 -7200 1 BRST}
+ {2560384800 -10800 0 BRT}
+ {2580951600 -7200 1 BRST}
+ {2591834400 -10800 0 BRT}
+ {2613006000 -7200 1 BRST}
+ {2623284000 -10800 0 BRT}
+ {2644455600 -7200 1 BRST}
+ {2654733600 -10800 0 BRT}
+ {2675905200 -7200 1 BRST}
+ {2686788000 -10800 0 BRT}
+ {2707354800 -7200 1 BRST}
+ {2718237600 -10800 0 BRT}
+ {2738804400 -7200 1 BRST}
+ {2749687200 -10800 0 BRT}
+ {2770858800 -7200 1 BRST}
+ {2781136800 -10800 0 BRT}
+ {2802308400 -7200 1 BRST}
+ {2812586400 -10800 0 BRT}
+ {2833758000 -7200 1 BRST}
+ {2844036000 -10800 0 BRT}
+ {2865207600 -7200 1 BRST}
+ {2876090400 -10800 0 BRT}
+ {2896657200 -7200 1 BRST}
+ {2907540000 -10800 0 BRT}
+ {2928106800 -7200 1 BRST}
+ {2938989600 -10800 0 BRT}
+ {2960161200 -7200 1 BRST}
+ {2970439200 -10800 0 BRT}
+ {2991610800 -7200 1 BRST}
+ {3001888800 -10800 0 BRT}
+ {3023060400 -7200 1 BRST}
+ {3033943200 -10800 0 BRT}
+ {3054510000 -7200 1 BRST}
+ {3065392800 -10800 0 BRT}
+ {3085959600 -7200 1 BRST}
+ {3096842400 -10800 0 BRT}
+ {3118014000 -7200 1 BRST}
+ {3128292000 -10800 0 BRT}
+ {3149463600 -7200 1 BRST}
+ {3159741600 -10800 0 BRT}
+ {3180913200 -7200 1 BRST}
+ {3191191200 -10800 0 BRT}
+ {3212362800 -7200 1 BRST}
+ {3223245600 -10800 0 BRT}
+ {3243812400 -7200 1 BRST}
+ {3254695200 -10800 0 BRT}
+ {3275262000 -7200 1 BRST}
+ {3286144800 -10800 0 BRT}
+ {3307316400 -7200 1 BRST}
+ {3317594400 -10800 0 BRT}
+ {3338766000 -7200 1 BRST}
+ {3349044000 -10800 0 BRT}
+ {3370215600 -7200 1 BRST}
+ {3381098400 -10800 0 BRT}
+ {3401665200 -7200 1 BRST}
+ {3412548000 -10800 0 BRT}
+ {3433114800 -7200 1 BRST}
+ {3443997600 -10800 0 BRT}
+ {3464564400 -7200 1 BRST}
+ {3475447200 -10800 0 BRT}
+ {3496618800 -7200 1 BRST}
+ {3506896800 -10800 0 BRT}
+ {3528068400 -7200 1 BRST}
+ {3538346400 -10800 0 BRT}
+ {3559518000 -7200 1 BRST}
+ {3570400800 -10800 0 BRT}
+ {3590967600 -7200 1 BRST}
+ {3601850400 -10800 0 BRT}
+ {3622417200 -7200 1 BRST}
+ {3633300000 -10800 0 BRT}
+ {3654471600 -7200 1 BRST}
+ {3664749600 -10800 0 BRT}
+ {3685921200 -7200 1 BRST}
+ {3696199200 -10800 0 BRT}
+ {3717370800 -7200 1 BRST}
+ {3727648800 -10800 0 BRT}
+ {3748820400 -7200 1 BRST}
+ {3759703200 -10800 0 BRT}
+ {3780270000 -7200 1 BRST}
+ {3791152800 -10800 0 BRT}
+ {3811719600 -7200 1 BRST}
+ {3822602400 -10800 0 BRT}
+ {3843774000 -7200 1 BRST}
+ {3854052000 -10800 0 BRT}
+ {3875223600 -7200 1 BRST}
+ {3885501600 -10800 0 BRT}
+ {3906673200 -7200 1 BRST}
+ {3917556000 -10800 0 BRT}
+ {3938122800 -7200 1 BRST}
+ {3949005600 -10800 0 BRT}
+ {3969572400 -7200 1 BRST}
+ {3980455200 -10800 0 BRT}
+ {4001626800 -7200 1 BRST}
+ {4011904800 -10800 0 BRT}
+ {4033076400 -7200 1 BRST}
+ {4043354400 -10800 0 BRT}
+ {4064526000 -7200 1 BRST}
+ {4074804000 -10800 0 BRT}
+ {4095975600 -7200 1 BRST}
+}
diff --git a/library/tzdata/America/Scoresbysund b/library/tzdata/America/Scoresbysund
new file mode 100644
index 0000000..b295b9e
--- /dev/null
+++ b/library/tzdata/America/Scoresbysund
@@ -0,0 +1,246 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Scoresbysund) {
+ {-9223372036854775808 -5340 0 LMT}
+ {-1686090660 -7200 0 CGT}
+ {323841600 -3600 0 CGST}
+ {338954400 -7200 0 CGT}
+ {354679200 0 0 EGST}
+ {370400400 -3600 0 EGT}
+ {386125200 0 1 EGST}
+ {401850000 -3600 0 EGT}
+ {417574800 0 1 EGST}
+ {433299600 -3600 0 EGT}
+ {449024400 0 1 EGST}
+ {465354000 -3600 0 EGT}
+ {481078800 0 1 EGST}
+ {496803600 -3600 0 EGT}
+ {512528400 0 1 EGST}
+ {528253200 -3600 0 EGT}
+ {543978000 0 1 EGST}
+ {559702800 -3600 0 EGT}
+ {575427600 0 1 EGST}
+ {591152400 -3600 0 EGT}
+ {606877200 0 1 EGST}
+ {622602000 -3600 0 EGT}
+ {638326800 0 1 EGST}
+ {654656400 -3600 0 EGT}
+ {670381200 0 1 EGST}
+ {686106000 -3600 0 EGT}
+ {701830800 0 1 EGST}
+ {717555600 -3600 0 EGT}
+ {733280400 0 1 EGST}
+ {749005200 -3600 0 EGT}
+ {764730000 0 1 EGST}
+ {780454800 -3600 0 EGT}
+ {796179600 0 1 EGST}
+ {811904400 -3600 0 EGT}
+ {828234000 0 1 EGST}
+ {846378000 -3600 0 EGT}
+ {859683600 0 1 EGST}
+ {877827600 -3600 0 EGT}
+ {891133200 0 1 EGST}
+ {909277200 -3600 0 EGT}
+ {922582800 0 1 EGST}
+ {941331600 -3600 0 EGT}
+ {954032400 0 1 EGST}
+ {972781200 -3600 0 EGT}
+ {985482000 0 1 EGST}
+ {1004230800 -3600 0 EGT}
+ {1017536400 0 1 EGST}
+ {1035680400 -3600 0 EGT}
+ {1048986000 0 1 EGST}
+ {1067130000 -3600 0 EGT}
+ {1080435600 0 1 EGST}
+ {1099184400 -3600 0 EGT}
+ {1111885200 0 1 EGST}
+ {1130634000 -3600 0 EGT}
+ {1143334800 0 1 EGST}
+ {1162083600 -3600 0 EGT}
+ {1174784400 0 1 EGST}
+ {1193533200 -3600 0 EGT}
+ {1206838800 0 1 EGST}
+ {1224982800 -3600 0 EGT}
+ {1238288400 0 1 EGST}
+ {1256432400 -3600 0 EGT}
+ {1269738000 0 1 EGST}
+ {1288486800 -3600 0 EGT}
+ {1301187600 0 1 EGST}
+ {1319936400 -3600 0 EGT}
+ {1332637200 0 1 EGST}
+ {1351386000 -3600 0 EGT}
+ {1364691600 0 1 EGST}
+ {1382835600 -3600 0 EGT}
+ {1396141200 0 1 EGST}
+ {1414285200 -3600 0 EGT}
+ {1427590800 0 1 EGST}
+ {1445734800 -3600 0 EGT}
+ {1459040400 0 1 EGST}
+ {1477789200 -3600 0 EGT}
+ {1490490000 0 1 EGST}
+ {1509238800 -3600 0 EGT}
+ {1521939600 0 1 EGST}
+ {1540688400 -3600 0 EGT}
+ {1553994000 0 1 EGST}
+ {1572138000 -3600 0 EGT}
+ {1585443600 0 1 EGST}
+ {1603587600 -3600 0 EGT}
+ {1616893200 0 1 EGST}
+ {1635642000 -3600 0 EGT}
+ {1648342800 0 1 EGST}
+ {1667091600 -3600 0 EGT}
+ {1679792400 0 1 EGST}
+ {1698541200 -3600 0 EGT}
+ {1711846800 0 1 EGST}
+ {1729990800 -3600 0 EGT}
+ {1743296400 0 1 EGST}
+ {1761440400 -3600 0 EGT}
+ {1774746000 0 1 EGST}
+ {1792890000 -3600 0 EGT}
+ {1806195600 0 1 EGST}
+ {1824944400 -3600 0 EGT}
+ {1837645200 0 1 EGST}
+ {1856394000 -3600 0 EGT}
+ {1869094800 0 1 EGST}
+ {1887843600 -3600 0 EGT}
+ {1901149200 0 1 EGST}
+ {1919293200 -3600 0 EGT}
+ {1932598800 0 1 EGST}
+ {1950742800 -3600 0 EGT}
+ {1964048400 0 1 EGST}
+ {1982797200 -3600 0 EGT}
+ {1995498000 0 1 EGST}
+ {2014246800 -3600 0 EGT}
+ {2026947600 0 1 EGST}
+ {2045696400 -3600 0 EGT}
+ {2058397200 0 1 EGST}
+ {2077146000 -3600 0 EGT}
+ {2090451600 0 1 EGST}
+ {2108595600 -3600 0 EGT}
+ {2121901200 0 1 EGST}
+ {2140045200 -3600 0 EGT}
+ {2153350800 0 1 EGST}
+ {2172099600 -3600 0 EGT}
+ {2184800400 0 1 EGST}
+ {2203549200 -3600 0 EGT}
+ {2216250000 0 1 EGST}
+ {2234998800 -3600 0 EGT}
+ {2248304400 0 1 EGST}
+ {2266448400 -3600 0 EGT}
+ {2279754000 0 1 EGST}
+ {2297898000 -3600 0 EGT}
+ {2311203600 0 1 EGST}
+ {2329347600 -3600 0 EGT}
+ {2342653200 0 1 EGST}
+ {2361402000 -3600 0 EGT}
+ {2374102800 0 1 EGST}
+ {2392851600 -3600 0 EGT}
+ {2405552400 0 1 EGST}
+ {2424301200 -3600 0 EGT}
+ {2437606800 0 1 EGST}
+ {2455750800 -3600 0 EGT}
+ {2469056400 0 1 EGST}
+ {2487200400 -3600 0 EGT}
+ {2500506000 0 1 EGST}
+ {2519254800 -3600 0 EGT}
+ {2531955600 0 1 EGST}
+ {2550704400 -3600 0 EGT}
+ {2563405200 0 1 EGST}
+ {2582154000 -3600 0 EGT}
+ {2595459600 0 1 EGST}
+ {2613603600 -3600 0 EGT}
+ {2626909200 0 1 EGST}
+ {2645053200 -3600 0 EGT}
+ {2658358800 0 1 EGST}
+ {2676502800 -3600 0 EGT}
+ {2689808400 0 1 EGST}
+ {2708557200 -3600 0 EGT}
+ {2721258000 0 1 EGST}
+ {2740006800 -3600 0 EGT}
+ {2752707600 0 1 EGST}
+ {2771456400 -3600 0 EGT}
+ {2784762000 0 1 EGST}
+ {2802906000 -3600 0 EGT}
+ {2816211600 0 1 EGST}
+ {2834355600 -3600 0 EGT}
+ {2847661200 0 1 EGST}
+ {2866410000 -3600 0 EGT}
+ {2879110800 0 1 EGST}
+ {2897859600 -3600 0 EGT}
+ {2910560400 0 1 EGST}
+ {2929309200 -3600 0 EGT}
+ {2942010000 0 1 EGST}
+ {2960758800 -3600 0 EGT}
+ {2974064400 0 1 EGST}
+ {2992208400 -3600 0 EGT}
+ {3005514000 0 1 EGST}
+ {3023658000 -3600 0 EGT}
+ {3036963600 0 1 EGST}
+ {3055712400 -3600 0 EGT}
+ {3068413200 0 1 EGST}
+ {3087162000 -3600 0 EGT}
+ {3099862800 0 1 EGST}
+ {3118611600 -3600 0 EGT}
+ {3131917200 0 1 EGST}
+ {3150061200 -3600 0 EGT}
+ {3163366800 0 1 EGST}
+ {3181510800 -3600 0 EGT}
+ {3194816400 0 1 EGST}
+ {3212960400 -3600 0 EGT}
+ {3226266000 0 1 EGST}
+ {3245014800 -3600 0 EGT}
+ {3257715600 0 1 EGST}
+ {3276464400 -3600 0 EGT}
+ {3289165200 0 1 EGST}
+ {3307914000 -3600 0 EGT}
+ {3321219600 0 1 EGST}
+ {3339363600 -3600 0 EGT}
+ {3352669200 0 1 EGST}
+ {3370813200 -3600 0 EGT}
+ {3384118800 0 1 EGST}
+ {3402867600 -3600 0 EGT}
+ {3415568400 0 1 EGST}
+ {3434317200 -3600 0 EGT}
+ {3447018000 0 1 EGST}
+ {3465766800 -3600 0 EGT}
+ {3479072400 0 1 EGST}
+ {3497216400 -3600 0 EGT}
+ {3510522000 0 1 EGST}
+ {3528666000 -3600 0 EGT}
+ {3541971600 0 1 EGST}
+ {3560115600 -3600 0 EGT}
+ {3573421200 0 1 EGST}
+ {3592170000 -3600 0 EGT}
+ {3604870800 0 1 EGST}
+ {3623619600 -3600 0 EGT}
+ {3636320400 0 1 EGST}
+ {3655069200 -3600 0 EGT}
+ {3668374800 0 1 EGST}
+ {3686518800 -3600 0 EGT}
+ {3699824400 0 1 EGST}
+ {3717968400 -3600 0 EGT}
+ {3731274000 0 1 EGST}
+ {3750022800 -3600 0 EGT}
+ {3762723600 0 1 EGST}
+ {3781472400 -3600 0 EGT}
+ {3794173200 0 1 EGST}
+ {3812922000 -3600 0 EGT}
+ {3825622800 0 1 EGST}
+ {3844371600 -3600 0 EGT}
+ {3857677200 0 1 EGST}
+ {3875821200 -3600 0 EGT}
+ {3889126800 0 1 EGST}
+ {3907270800 -3600 0 EGT}
+ {3920576400 0 1 EGST}
+ {3939325200 -3600 0 EGT}
+ {3952026000 0 1 EGST}
+ {3970774800 -3600 0 EGT}
+ {3983475600 0 1 EGST}
+ {4002224400 -3600 0 EGT}
+ {4015530000 0 1 EGST}
+ {4033674000 -3600 0 EGT}
+ {4046979600 0 1 EGST}
+ {4065123600 -3600 0 EGT}
+ {4078429200 0 1 EGST}
+ {4096573200 -3600 0 EGT}
+}
diff --git a/library/tzdata/America/Shiprock b/library/tzdata/America/Shiprock
new file mode 100644
index 0000000..5cb3c9e
--- /dev/null
+++ b/library/tzdata/America/Shiprock
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Denver)]} {
+ loadTimeZoneFile America/Denver
+}
+set tzdata(:America/Shiprock) $TZData(:America/Denver)
diff --git a/library/tzdata/America/St_Johns b/library/tzdata/America/St_Johns
new file mode 100644
index 0000000..a477b24
--- /dev/null
+++ b/library/tzdata/America/St_Johns
@@ -0,0 +1,371 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/St_Johns) {
+ {-9223372036854775808 -12652 0 LMT}
+ {-2713897748 -12652 0 NST}
+ {-1664130548 -9052 1 NDT}
+ {-1650137348 -12652 0 NST}
+ {-1640982548 -12652 0 NST}
+ {-1632076148 -9052 1 NDT}
+ {-1614799748 -12652 0 NST}
+ {-1609446548 -12652 0 NST}
+ {-1598650148 -9052 1 NDT}
+ {-1590100148 -12652 0 NST}
+ {-1567286948 -9052 1 NDT}
+ {-1551565748 -12652 0 NST}
+ {-1535837348 -9052 1 NDT}
+ {-1520116148 -12652 0 NST}
+ {-1503782948 -9052 1 NDT}
+ {-1488666548 -12652 0 NST}
+ {-1472333348 -9052 1 NDT}
+ {-1457216948 -12652 0 NST}
+ {-1440883748 -9052 1 NDT}
+ {-1425767348 -12652 0 NST}
+ {-1409434148 -9052 1 NDT}
+ {-1394317748 -12652 0 NST}
+ {-1377984548 -9052 1 NDT}
+ {-1362263348 -12652 0 NST}
+ {-1346534948 -9052 1 NDT}
+ {-1330813748 -12652 0 NST}
+ {-1314480548 -9052 1 NDT}
+ {-1299364148 -12652 0 NST}
+ {-1283030948 -9052 1 NDT}
+ {-1267914548 -12652 0 NST}
+ {-1251581348 -9052 1 NDT}
+ {-1236464948 -12652 0 NST}
+ {-1220131748 -9052 1 NDT}
+ {-1205015348 -12652 0 NST}
+ {-1188682148 -9052 1 NDT}
+ {-1172960948 -12652 0 NST}
+ {-1156627748 -9052 1 NDT}
+ {-1141511348 -12652 0 NST}
+ {-1125178148 -9052 1 NDT}
+ {-1110061748 -12652 0 NST}
+ {-1096921748 -12600 0 NST}
+ {-1093728600 -9000 1 NDT}
+ {-1078612200 -12600 0 NST}
+ {-1061670600 -9000 1 NDT}
+ {-1048973400 -12600 0 NST}
+ {-1030221000 -9000 1 NDT}
+ {-1017523800 -12600 0 NST}
+ {-998771400 -9000 1 NDT}
+ {-986074200 -12600 0 NST}
+ {-966717000 -9000 1 NDT}
+ {-954624600 -12600 0 NST}
+ {-935267400 -9000 1 NDT}
+ {-922570200 -12600 0 NST}
+ {-903817800 -9000 1 NDT}
+ {-891120600 -12600 0 NST}
+ {-872368200 -9000 0 NWT}
+ {-769395600 -9000 1 NPT}
+ {-765401400 -12600 0 NST}
+ {-757369800 -12600 0 NST}
+ {-746044200 -9000 1 NDT}
+ {-733347000 -12600 0 NST}
+ {-714594600 -9000 1 NDT}
+ {-701897400 -12600 0 NST}
+ {-683145000 -9000 1 NDT}
+ {-670447800 -12600 0 NST}
+ {-651695400 -9000 1 NDT}
+ {-638998200 -12600 0 NST}
+ {-619641000 -9000 1 NDT}
+ {-606943800 -12600 0 NST}
+ {-589401000 -9000 1 NDT}
+ {-576099000 -12600 0 NST}
+ {-557951400 -9000 1 NDT}
+ {-544649400 -12600 0 NST}
+ {-526501800 -9000 1 NDT}
+ {-513199800 -12600 0 NST}
+ {-495052200 -9000 1 NDT}
+ {-481750200 -12600 0 NST}
+ {-463602600 -9000 1 NDT}
+ {-450300600 -12600 0 NST}
+ {-431548200 -9000 1 NDT}
+ {-418246200 -12600 0 NST}
+ {-400098600 -9000 1 NDT}
+ {-386796600 -12600 0 NST}
+ {-368649000 -9000 1 NDT}
+ {-355347000 -12600 0 NST}
+ {-337199400 -9000 1 NDT}
+ {-323897400 -12600 0 NST}
+ {-305749800 -9000 1 NDT}
+ {-289423800 -12600 0 NST}
+ {-273695400 -9000 1 NDT}
+ {-257974200 -12600 0 NST}
+ {-242245800 -9000 1 NDT}
+ {-226524600 -12600 0 NST}
+ {-210796200 -9000 1 NDT}
+ {-195075000 -12600 0 NST}
+ {-179346600 -9000 1 NDT}
+ {-163625400 -12600 0 NST}
+ {-147897000 -9000 1 NDT}
+ {-131571000 -12600 0 NST}
+ {-116447400 -9000 1 NDT}
+ {-100121400 -12600 0 NST}
+ {-84393000 -9000 1 NDT}
+ {-68671800 -12600 0 NST}
+ {-52943400 -9000 1 NDT}
+ {-37222200 -12600 0 NST}
+ {-21493800 -9000 1 NDT}
+ {-5772600 -12600 0 NST}
+ {9955800 -9000 1 NDT}
+ {25677000 -12600 0 NST}
+ {41405400 -9000 1 NDT}
+ {57731400 -12600 0 NST}
+ {73459800 -9000 1 NDT}
+ {89181000 -12600 0 NST}
+ {104909400 -9000 1 NDT}
+ {120630600 -12600 0 NST}
+ {136359000 -9000 1 NDT}
+ {152080200 -12600 0 NST}
+ {167808600 -9000 1 NDT}
+ {183529800 -12600 0 NST}
+ {199258200 -9000 1 NDT}
+ {215584200 -12600 0 NST}
+ {230707800 -9000 1 NDT}
+ {247033800 -12600 0 NST}
+ {262762200 -9000 1 NDT}
+ {278483400 -12600 0 NST}
+ {294211800 -9000 1 NDT}
+ {309933000 -12600 0 NST}
+ {325661400 -9000 1 NDT}
+ {341382600 -12600 0 NST}
+ {357111000 -9000 1 NDT}
+ {372832200 -12600 0 NST}
+ {388560600 -9000 1 NDT}
+ {404886600 -12600 0 NST}
+ {420010200 -9000 1 NDT}
+ {436336200 -12600 0 NST}
+ {452064600 -9000 1 NDT}
+ {467785800 -12600 0 NST}
+ {483514200 -9000 1 NDT}
+ {499235400 -12600 0 NST}
+ {514963800 -9000 1 NDT}
+ {530685000 -12600 0 NST}
+ {544591860 -9000 1 NDT}
+ {562127460 -12600 0 NST}
+ {576041460 -5400 1 NDDT}
+ {594178260 -12600 0 NST}
+ {607491060 -9000 1 NDT}
+ {625631460 -12600 0 NST}
+ {638940660 -9000 1 NDT}
+ {657081060 -12600 0 NST}
+ {670995060 -9000 1 NDT}
+ {688530660 -12600 0 NST}
+ {702444660 -9000 1 NDT}
+ {719980260 -12600 0 NST}
+ {733894260 -9000 1 NDT}
+ {752034660 -12600 0 NST}
+ {765343860 -9000 1 NDT}
+ {783484260 -12600 0 NST}
+ {796793460 -9000 1 NDT}
+ {814933860 -12600 0 NST}
+ {828847860 -9000 1 NDT}
+ {846383460 -12600 0 NST}
+ {860297460 -9000 1 NDT}
+ {877833060 -12600 0 NST}
+ {891747060 -9000 1 NDT}
+ {909282660 -12600 0 NST}
+ {923196660 -9000 1 NDT}
+ {941337060 -12600 0 NST}
+ {954646260 -9000 1 NDT}
+ {972786660 -12600 0 NST}
+ {986095860 -9000 1 NDT}
+ {1004236260 -12600 0 NST}
+ {1018150260 -9000 1 NDT}
+ {1035685860 -12600 0 NST}
+ {1049599860 -9000 1 NDT}
+ {1067135460 -12600 0 NST}
+ {1081049460 -9000 1 NDT}
+ {1099189860 -12600 0 NST}
+ {1112499060 -9000 1 NDT}
+ {1130639460 -12600 0 NST}
+ {1143948660 -9000 1 NDT}
+ {1162089060 -12600 0 NST}
+ {1175398260 -9000 1 NDT}
+ {1193538660 -12600 0 NST}
+ {1207452660 -9000 1 NDT}
+ {1224988260 -12600 0 NST}
+ {1238902260 -9000 1 NDT}
+ {1256437860 -12600 0 NST}
+ {1270351860 -9000 1 NDT}
+ {1288492260 -12600 0 NST}
+ {1301801460 -9000 1 NDT}
+ {1319941860 -12600 0 NST}
+ {1333251060 -9000 1 NDT}
+ {1351391460 -12600 0 NST}
+ {1365305460 -9000 1 NDT}
+ {1382841060 -12600 0 NST}
+ {1396755060 -9000 1 NDT}
+ {1414290660 -12600 0 NST}
+ {1428204660 -9000 1 NDT}
+ {1445740260 -12600 0 NST}
+ {1459654260 -9000 1 NDT}
+ {1477794660 -12600 0 NST}
+ {1491103860 -9000 1 NDT}
+ {1509244260 -12600 0 NST}
+ {1522553460 -9000 1 NDT}
+ {1540693860 -12600 0 NST}
+ {1554607860 -9000 1 NDT}
+ {1572143460 -12600 0 NST}
+ {1586057460 -9000 1 NDT}
+ {1603593060 -12600 0 NST}
+ {1617507060 -9000 1 NDT}
+ {1635647460 -12600 0 NST}
+ {1648956660 -9000 1 NDT}
+ {1667097060 -12600 0 NST}
+ {1680406260 -9000 1 NDT}
+ {1698546660 -12600 0 NST}
+ {1712460660 -9000 1 NDT}
+ {1729996260 -12600 0 NST}
+ {1743910260 -9000 1 NDT}
+ {1761445860 -12600 0 NST}
+ {1775359860 -9000 1 NDT}
+ {1792895460 -12600 0 NST}
+ {1806809460 -9000 1 NDT}
+ {1824949860 -12600 0 NST}
+ {1838259060 -9000 1 NDT}
+ {1856399460 -12600 0 NST}
+ {1869708660 -9000 1 NDT}
+ {1887849060 -12600 0 NST}
+ {1901763060 -9000 1 NDT}
+ {1919298660 -12600 0 NST}
+ {1933212660 -9000 1 NDT}
+ {1950748260 -12600 0 NST}
+ {1964662260 -9000 1 NDT}
+ {1982802660 -12600 0 NST}
+ {1996111860 -9000 1 NDT}
+ {2014252260 -12600 0 NST}
+ {2027561460 -9000 1 NDT}
+ {2045701860 -12600 0 NST}
+ {2059011060 -9000 1 NDT}
+ {2077151460 -12600 0 NST}
+ {2091065460 -9000 1 NDT}
+ {2108601060 -12600 0 NST}
+ {2122515060 -9000 1 NDT}
+ {2140050660 -12600 0 NST}
+ {2153964660 -9000 1 NDT}
+ {2172105060 -12600 0 NST}
+ {2185414260 -9000 1 NDT}
+ {2203554660 -12600 0 NST}
+ {2216863860 -9000 1 NDT}
+ {2235004260 -12600 0 NST}
+ {2248918260 -9000 1 NDT}
+ {2266453860 -12600 0 NST}
+ {2280367860 -9000 1 NDT}
+ {2297903460 -12600 0 NST}
+ {2311817460 -9000 1 NDT}
+ {2329353060 -12600 0 NST}
+ {2343267060 -9000 1 NDT}
+ {2361407460 -12600 0 NST}
+ {2374716660 -9000 1 NDT}
+ {2392857060 -12600 0 NST}
+ {2406166260 -9000 1 NDT}
+ {2424306660 -12600 0 NST}
+ {2438220660 -9000 1 NDT}
+ {2455756260 -12600 0 NST}
+ {2469670260 -9000 1 NDT}
+ {2487205860 -12600 0 NST}
+ {2501119860 -9000 1 NDT}
+ {2519260260 -12600 0 NST}
+ {2532569460 -9000 1 NDT}
+ {2550709860 -12600 0 NST}
+ {2564019060 -9000 1 NDT}
+ {2582159460 -12600 0 NST}
+ {2596073460 -9000 1 NDT}
+ {2613609060 -12600 0 NST}
+ {2627523060 -9000 1 NDT}
+ {2645058660 -12600 0 NST}
+ {2658972660 -9000 1 NDT}
+ {2676508260 -12600 0 NST}
+ {2690422260 -9000 1 NDT}
+ {2708562660 -12600 0 NST}
+ {2721871860 -9000 1 NDT}
+ {2740012260 -12600 0 NST}
+ {2753321460 -9000 1 NDT}
+ {2771461860 -12600 0 NST}
+ {2785375860 -9000 1 NDT}
+ {2802911460 -12600 0 NST}
+ {2816825460 -9000 1 NDT}
+ {2834361060 -12600 0 NST}
+ {2848275060 -9000 1 NDT}
+ {2866415460 -12600 0 NST}
+ {2879724660 -9000 1 NDT}
+ {2897865060 -12600 0 NST}
+ {2911174260 -9000 1 NDT}
+ {2929314660 -12600 0 NST}
+ {2942623860 -9000 1 NDT}
+ {2960764260 -12600 0 NST}
+ {2974678260 -9000 1 NDT}
+ {2992213860 -12600 0 NST}
+ {3006127860 -9000 1 NDT}
+ {3023663460 -12600 0 NST}
+ {3037577460 -9000 1 NDT}
+ {3055717860 -12600 0 NST}
+ {3069027060 -9000 1 NDT}
+ {3087167460 -12600 0 NST}
+ {3100476660 -9000 1 NDT}
+ {3118617060 -12600 0 NST}
+ {3132531060 -9000 1 NDT}
+ {3150066660 -12600 0 NST}
+ {3163980660 -9000 1 NDT}
+ {3181516260 -12600 0 NST}
+ {3195430260 -9000 1 NDT}
+ {3212965860 -12600 0 NST}
+ {3226879860 -9000 1 NDT}
+ {3245020260 -12600 0 NST}
+ {3258329460 -9000 1 NDT}
+ {3276469860 -12600 0 NST}
+ {3289779060 -9000 1 NDT}
+ {3307919460 -12600 0 NST}
+ {3321833460 -9000 1 NDT}
+ {3339369060 -12600 0 NST}
+ {3353283060 -9000 1 NDT}
+ {3370818660 -12600 0 NST}
+ {3384732660 -9000 1 NDT}
+ {3402873060 -12600 0 NST}
+ {3416182260 -9000 1 NDT}
+ {3434322660 -12600 0 NST}
+ {3447631860 -9000 1 NDT}
+ {3465772260 -12600 0 NST}
+ {3479686260 -9000 1 NDT}
+ {3497221860 -12600 0 NST}
+ {3511135860 -9000 1 NDT}
+ {3528671460 -12600 0 NST}
+ {3542585460 -9000 1 NDT}
+ {3560121060 -12600 0 NST}
+ {3574035060 -9000 1 NDT}
+ {3592175460 -12600 0 NST}
+ {3605484660 -9000 1 NDT}
+ {3623625060 -12600 0 NST}
+ {3636934260 -9000 1 NDT}
+ {3655074660 -12600 0 NST}
+ {3668988660 -9000 1 NDT}
+ {3686524260 -12600 0 NST}
+ {3700438260 -9000 1 NDT}
+ {3717973860 -12600 0 NST}
+ {3731887860 -9000 1 NDT}
+ {3750028260 -12600 0 NST}
+ {3763337460 -9000 1 NDT}
+ {3781477860 -12600 0 NST}
+ {3794787060 -9000 1 NDT}
+ {3812927460 -12600 0 NST}
+ {3826236660 -9000 1 NDT}
+ {3844377060 -12600 0 NST}
+ {3858291060 -9000 1 NDT}
+ {3875826660 -12600 0 NST}
+ {3889740660 -9000 1 NDT}
+ {3907276260 -12600 0 NST}
+ {3921190260 -9000 1 NDT}
+ {3939330660 -12600 0 NST}
+ {3952639860 -9000 1 NDT}
+ {3970780260 -12600 0 NST}
+ {3984089460 -9000 1 NDT}
+ {4002229860 -12600 0 NST}
+ {4016143860 -9000 1 NDT}
+ {4033679460 -12600 0 NST}
+ {4047593460 -9000 1 NDT}
+ {4065129060 -12600 0 NST}
+ {4079043060 -9000 1 NDT}
+ {4096578660 -12600 0 NST}
+}
diff --git a/library/tzdata/America/St_Kitts b/library/tzdata/America/St_Kitts
new file mode 100644
index 0000000..3648b00
--- /dev/null
+++ b/library/tzdata/America/St_Kitts
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/St_Kitts) {
+ {-9223372036854775808 -15052 0 LMT}
+ {-1825098548 -14400 0 AST}
+}
diff --git a/library/tzdata/America/St_Lucia b/library/tzdata/America/St_Lucia
new file mode 100644
index 0000000..5e63f0c
--- /dev/null
+++ b/library/tzdata/America/St_Lucia
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/St_Lucia) {
+ {-9223372036854775808 -14640 0 LMT}
+ {-2524506960 -14640 0 CMT}
+ {-1830369360 -14400 0 AST}
+}
diff --git a/library/tzdata/America/St_Thomas b/library/tzdata/America/St_Thomas
new file mode 100644
index 0000000..d6874ea
--- /dev/null
+++ b/library/tzdata/America/St_Thomas
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/St_Thomas) {
+ {-9223372036854775808 -15584 0 LMT}
+ {-1846266016 -14400 0 AST}
+}
diff --git a/library/tzdata/America/St_Vincent b/library/tzdata/America/St_Vincent
new file mode 100644
index 0000000..4e5fde3
--- /dev/null
+++ b/library/tzdata/America/St_Vincent
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/St_Vincent) {
+ {-9223372036854775808 -14696 0 LMT}
+ {-2524506904 -14696 0 KMT}
+ {-1830369304 -14400 0 AST}
+}
diff --git a/library/tzdata/America/Swift_Current b/library/tzdata/America/Swift_Current
new file mode 100644
index 0000000..8918a4b
--- /dev/null
+++ b/library/tzdata/America/Swift_Current
@@ -0,0 +1,29 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Swift_Current) {
+ {-9223372036854775808 -25880 0 LMT}
+ {-2030201320 -25200 0 MST}
+ {-1632063600 -21600 1 MDT}
+ {-1614787200 -25200 0 MST}
+ {-880210800 -21600 1 MWT}
+ {-769395600 -21600 1 MPT}
+ {-765388800 -25200 0 MST}
+ {-747241200 -21600 0 MDT}
+ {-732729600 -25200 0 MST}
+ {-715791600 -21600 1 MDT}
+ {-702489600 -25200 0 MST}
+ {-684342000 -21600 1 MDT}
+ {-671040000 -25200 0 MST}
+ {-652892400 -21600 1 MDT}
+ {-639590400 -25200 0 MST}
+ {-631126800 -25200 0 MST}
+ {-400086000 -21600 1 MDT}
+ {-384364800 -25200 0 MST}
+ {-337186800 -21600 1 MDT}
+ {-321465600 -25200 0 MST}
+ {-305737200 -21600 1 MDT}
+ {-292435200 -25200 0 MST}
+ {-273682800 -21600 1 MDT}
+ {-260985600 -25200 0 MST}
+ {73472400 -21600 0 CST}
+}
diff --git a/library/tzdata/America/Tegucigalpa b/library/tzdata/America/Tegucigalpa
new file mode 100644
index 0000000..92eef95
--- /dev/null
+++ b/library/tzdata/America/Tegucigalpa
@@ -0,0 +1,10 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Tegucigalpa) {
+ {-9223372036854775808 -20932 0 LMT}
+ {-1538503868 -21600 0 CST}
+ {547020000 -18000 1 CDT}
+ {559717200 -21600 0 CST}
+ {578469600 -18000 1 CDT}
+ {591166800 -21600 0 CST}
+}
diff --git a/library/tzdata/America/Thule b/library/tzdata/America/Thule
new file mode 100644
index 0000000..a71eb27
--- /dev/null
+++ b/library/tzdata/America/Thule
@@ -0,0 +1,224 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Thule) {
+ {-9223372036854775808 -16508 0 LMT}
+ {-1686079492 -14400 0 AST}
+ {670399200 -10800 1 ADT}
+ {686120400 -14400 0 AST}
+ {701848800 -10800 1 ADT}
+ {717570000 -14400 0 AST}
+ {733903200 -10800 1 ADT}
+ {752043600 -14400 0 AST}
+ {765352800 -10800 1 ADT}
+ {783493200 -14400 0 AST}
+ {796802400 -10800 1 ADT}
+ {814942800 -14400 0 AST}
+ {828856800 -10800 1 ADT}
+ {846392400 -14400 0 AST}
+ {860306400 -10800 1 ADT}
+ {877842000 -14400 0 AST}
+ {891756000 -10800 1 ADT}
+ {909291600 -14400 0 AST}
+ {923205600 -10800 1 ADT}
+ {941346000 -14400 0 AST}
+ {954655200 -10800 1 ADT}
+ {972795600 -14400 0 AST}
+ {986104800 -10800 1 ADT}
+ {1004245200 -14400 0 AST}
+ {1018159200 -10800 1 ADT}
+ {1035694800 -14400 0 AST}
+ {1049608800 -10800 1 ADT}
+ {1067144400 -14400 0 AST}
+ {1081058400 -10800 1 ADT}
+ {1099198800 -14400 0 AST}
+ {1112508000 -10800 1 ADT}
+ {1130648400 -14400 0 AST}
+ {1143957600 -10800 1 ADT}
+ {1162098000 -14400 0 AST}
+ {1175407200 -10800 1 ADT}
+ {1193547600 -14400 0 AST}
+ {1207461600 -10800 1 ADT}
+ {1224997200 -14400 0 AST}
+ {1238911200 -10800 1 ADT}
+ {1256446800 -14400 0 AST}
+ {1270360800 -10800 1 ADT}
+ {1288501200 -14400 0 AST}
+ {1301810400 -10800 1 ADT}
+ {1319950800 -14400 0 AST}
+ {1333260000 -10800 1 ADT}
+ {1351400400 -14400 0 AST}
+ {1365314400 -10800 1 ADT}
+ {1382850000 -14400 0 AST}
+ {1396764000 -10800 1 ADT}
+ {1414299600 -14400 0 AST}
+ {1428213600 -10800 1 ADT}
+ {1445749200 -14400 0 AST}
+ {1459663200 -10800 1 ADT}
+ {1477803600 -14400 0 AST}
+ {1491112800 -10800 1 ADT}
+ {1509253200 -14400 0 AST}
+ {1522562400 -10800 1 ADT}
+ {1540702800 -14400 0 AST}
+ {1554616800 -10800 1 ADT}
+ {1572152400 -14400 0 AST}
+ {1586066400 -10800 1 ADT}
+ {1603602000 -14400 0 AST}
+ {1617516000 -10800 1 ADT}
+ {1635656400 -14400 0 AST}
+ {1648965600 -10800 1 ADT}
+ {1667106000 -14400 0 AST}
+ {1680415200 -10800 1 ADT}
+ {1698555600 -14400 0 AST}
+ {1712469600 -10800 1 ADT}
+ {1730005200 -14400 0 AST}
+ {1743919200 -10800 1 ADT}
+ {1761454800 -14400 0 AST}
+ {1775368800 -10800 1 ADT}
+ {1792904400 -14400 0 AST}
+ {1806818400 -10800 1 ADT}
+ {1824958800 -14400 0 AST}
+ {1838268000 -10800 1 ADT}
+ {1856408400 -14400 0 AST}
+ {1869717600 -10800 1 ADT}
+ {1887858000 -14400 0 AST}
+ {1901772000 -10800 1 ADT}
+ {1919307600 -14400 0 AST}
+ {1933221600 -10800 1 ADT}
+ {1950757200 -14400 0 AST}
+ {1964671200 -10800 1 ADT}
+ {1982811600 -14400 0 AST}
+ {1996120800 -10800 1 ADT}
+ {2014261200 -14400 0 AST}
+ {2027570400 -10800 1 ADT}
+ {2045710800 -14400 0 AST}
+ {2059020000 -10800 1 ADT}
+ {2077160400 -14400 0 AST}
+ {2091074400 -10800 1 ADT}
+ {2108610000 -14400 0 AST}
+ {2122524000 -10800 1 ADT}
+ {2140059600 -14400 0 AST}
+ {2153973600 -10800 1 ADT}
+ {2172114000 -14400 0 AST}
+ {2185423200 -10800 1 ADT}
+ {2203563600 -14400 0 AST}
+ {2216872800 -10800 1 ADT}
+ {2235013200 -14400 0 AST}
+ {2248927200 -10800 1 ADT}
+ {2266462800 -14400 0 AST}
+ {2280376800 -10800 1 ADT}
+ {2297912400 -14400 0 AST}
+ {2311826400 -10800 1 ADT}
+ {2329362000 -14400 0 AST}
+ {2343276000 -10800 1 ADT}
+ {2361416400 -14400 0 AST}
+ {2374725600 -10800 1 ADT}
+ {2392866000 -14400 0 AST}
+ {2406175200 -10800 1 ADT}
+ {2424315600 -14400 0 AST}
+ {2438229600 -10800 1 ADT}
+ {2455765200 -14400 0 AST}
+ {2469679200 -10800 1 ADT}
+ {2487214800 -14400 0 AST}
+ {2501128800 -10800 1 ADT}
+ {2519269200 -14400 0 AST}
+ {2532578400 -10800 1 ADT}
+ {2550718800 -14400 0 AST}
+ {2564028000 -10800 1 ADT}
+ {2582168400 -14400 0 AST}
+ {2596082400 -10800 1 ADT}
+ {2613618000 -14400 0 AST}
+ {2627532000 -10800 1 ADT}
+ {2645067600 -14400 0 AST}
+ {2658981600 -10800 1 ADT}
+ {2676517200 -14400 0 AST}
+ {2690431200 -10800 1 ADT}
+ {2708571600 -14400 0 AST}
+ {2721880800 -10800 1 ADT}
+ {2740021200 -14400 0 AST}
+ {2753330400 -10800 1 ADT}
+ {2771470800 -14400 0 AST}
+ {2785384800 -10800 1 ADT}
+ {2802920400 -14400 0 AST}
+ {2816834400 -10800 1 ADT}
+ {2834370000 -14400 0 AST}
+ {2848284000 -10800 1 ADT}
+ {2866424400 -14400 0 AST}
+ {2879733600 -10800 1 ADT}
+ {2897874000 -14400 0 AST}
+ {2911183200 -10800 1 ADT}
+ {2929323600 -14400 0 AST}
+ {2942632800 -10800 1 ADT}
+ {2960773200 -14400 0 AST}
+ {2974687200 -10800 1 ADT}
+ {2992222800 -14400 0 AST}
+ {3006136800 -10800 1 ADT}
+ {3023672400 -14400 0 AST}
+ {3037586400 -10800 1 ADT}
+ {3055726800 -14400 0 AST}
+ {3069036000 -10800 1 ADT}
+ {3087176400 -14400 0 AST}
+ {3100485600 -10800 1 ADT}
+ {3118626000 -14400 0 AST}
+ {3132540000 -10800 1 ADT}
+ {3150075600 -14400 0 AST}
+ {3163989600 -10800 1 ADT}
+ {3181525200 -14400 0 AST}
+ {3195439200 -10800 1 ADT}
+ {3212974800 -14400 0 AST}
+ {3226888800 -10800 1 ADT}
+ {3245029200 -14400 0 AST}
+ {3258338400 -10800 1 ADT}
+ {3276478800 -14400 0 AST}
+ {3289788000 -10800 1 ADT}
+ {3307928400 -14400 0 AST}
+ {3321842400 -10800 1 ADT}
+ {3339378000 -14400 0 AST}
+ {3353292000 -10800 1 ADT}
+ {3370827600 -14400 0 AST}
+ {3384741600 -10800 1 ADT}
+ {3402882000 -14400 0 AST}
+ {3416191200 -10800 1 ADT}
+ {3434331600 -14400 0 AST}
+ {3447640800 -10800 1 ADT}
+ {3465781200 -14400 0 AST}
+ {3479695200 -10800 1 ADT}
+ {3497230800 -14400 0 AST}
+ {3511144800 -10800 1 ADT}
+ {3528680400 -14400 0 AST}
+ {3542594400 -10800 1 ADT}
+ {3560130000 -14400 0 AST}
+ {3574044000 -10800 1 ADT}
+ {3592184400 -14400 0 AST}
+ {3605493600 -10800 1 ADT}
+ {3623634000 -14400 0 AST}
+ {3636943200 -10800 1 ADT}
+ {3655083600 -14400 0 AST}
+ {3668997600 -10800 1 ADT}
+ {3686533200 -14400 0 AST}
+ {3700447200 -10800 1 ADT}
+ {3717982800 -14400 0 AST}
+ {3731896800 -10800 1 ADT}
+ {3750037200 -14400 0 AST}
+ {3763346400 -10800 1 ADT}
+ {3781486800 -14400 0 AST}
+ {3794796000 -10800 1 ADT}
+ {3812936400 -14400 0 AST}
+ {3826245600 -10800 1 ADT}
+ {3844386000 -14400 0 AST}
+ {3858300000 -10800 1 ADT}
+ {3875835600 -14400 0 AST}
+ {3889749600 -10800 1 ADT}
+ {3907285200 -14400 0 AST}
+ {3921199200 -10800 1 ADT}
+ {3939339600 -14400 0 AST}
+ {3952648800 -10800 1 ADT}
+ {3970789200 -14400 0 AST}
+ {3984098400 -10800 1 ADT}
+ {4002238800 -14400 0 AST}
+ {4016152800 -10800 1 ADT}
+ {4033688400 -14400 0 AST}
+ {4047602400 -10800 1 ADT}
+ {4065138000 -14400 0 AST}
+ {4079052000 -10800 1 ADT}
+ {4096587600 -14400 0 AST}
+}
diff --git a/library/tzdata/America/Thunder_Bay b/library/tzdata/America/Thunder_Bay
new file mode 100644
index 0000000..2611434
--- /dev/null
+++ b/library/tzdata/America/Thunder_Bay
@@ -0,0 +1,272 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Thunder_Bay) {
+ {-9223372036854775808 -21420 0 LMT}
+ {-2366733780 -21600 0 CST}
+ {-1893434400 -18000 0 EST}
+ {-883594800 -18000 0 EST}
+ {-880218000 -14400 1 EWT}
+ {-769395600 -14400 1 EPT}
+ {-765396000 -18000 0 EST}
+ {18000 -18000 0 EST}
+ {9961200 -14400 1 EDT}
+ {25682400 -18000 0 EST}
+ {41410800 -14400 1 EDT}
+ {57736800 -18000 0 EST}
+ {73465200 -14400 1 EDT}
+ {89186400 -18000 0 EST}
+ {94712400 -18000 0 EST}
+ {126248400 -18000 0 EST}
+ {136364400 -14400 1 EDT}
+ {152085600 -18000 0 EST}
+ {167814000 -14400 1 EDT}
+ {183535200 -18000 0 EST}
+ {199263600 -14400 1 EDT}
+ {215589600 -18000 0 EST}
+ {230713200 -14400 1 EDT}
+ {247039200 -18000 0 EST}
+ {262767600 -14400 1 EDT}
+ {278488800 -18000 0 EST}
+ {294217200 -14400 1 EDT}
+ {309938400 -18000 0 EST}
+ {325666800 -14400 1 EDT}
+ {341388000 -18000 0 EST}
+ {357116400 -14400 1 EDT}
+ {372837600 -18000 0 EST}
+ {388566000 -14400 1 EDT}
+ {404892000 -18000 0 EST}
+ {420015600 -14400 1 EDT}
+ {436341600 -18000 0 EST}
+ {452070000 -14400 1 EDT}
+ {467791200 -18000 0 EST}
+ {483519600 -14400 1 EDT}
+ {499240800 -18000 0 EST}
+ {514969200 -14400 1 EDT}
+ {530690400 -18000 0 EST}
+ {544604400 -14400 1 EDT}
+ {562140000 -18000 0 EST}
+ {576054000 -14400 1 EDT}
+ {594194400 -18000 0 EST}
+ {607503600 -14400 1 EDT}
+ {625644000 -18000 0 EST}
+ {638953200 -14400 1 EDT}
+ {657093600 -18000 0 EST}
+ {671007600 -14400 1 EDT}
+ {688543200 -18000 0 EST}
+ {702457200 -14400 1 EDT}
+ {719992800 -18000 0 EST}
+ {733906800 -14400 1 EDT}
+ {752047200 -18000 0 EST}
+ {765356400 -14400 1 EDT}
+ {783496800 -18000 0 EST}
+ {796806000 -14400 1 EDT}
+ {814946400 -18000 0 EST}
+ {828860400 -14400 1 EDT}
+ {846396000 -18000 0 EST}
+ {860310000 -14400 1 EDT}
+ {877845600 -18000 0 EST}
+ {891759600 -14400 1 EDT}
+ {909295200 -18000 0 EST}
+ {923209200 -14400 1 EDT}
+ {941349600 -18000 0 EST}
+ {954658800 -14400 1 EDT}
+ {972799200 -18000 0 EST}
+ {986108400 -14400 1 EDT}
+ {1004248800 -18000 0 EST}
+ {1018162800 -14400 1 EDT}
+ {1035698400 -18000 0 EST}
+ {1049612400 -14400 1 EDT}
+ {1067148000 -18000 0 EST}
+ {1081062000 -14400 1 EDT}
+ {1099202400 -18000 0 EST}
+ {1112511600 -14400 1 EDT}
+ {1130652000 -18000 0 EST}
+ {1143961200 -14400 1 EDT}
+ {1162101600 -18000 0 EST}
+ {1175410800 -14400 1 EDT}
+ {1193551200 -18000 0 EST}
+ {1207465200 -14400 1 EDT}
+ {1225000800 -18000 0 EST}
+ {1238914800 -14400 1 EDT}
+ {1256450400 -18000 0 EST}
+ {1270364400 -14400 1 EDT}
+ {1288504800 -18000 0 EST}
+ {1301814000 -14400 1 EDT}
+ {1319954400 -18000 0 EST}
+ {1333263600 -14400 1 EDT}
+ {1351404000 -18000 0 EST}
+ {1365318000 -14400 1 EDT}
+ {1382853600 -18000 0 EST}
+ {1396767600 -14400 1 EDT}
+ {1414303200 -18000 0 EST}
+ {1428217200 -14400 1 EDT}
+ {1445752800 -18000 0 EST}
+ {1459666800 -14400 1 EDT}
+ {1477807200 -18000 0 EST}
+ {1491116400 -14400 1 EDT}
+ {1509256800 -18000 0 EST}
+ {1522566000 -14400 1 EDT}
+ {1540706400 -18000 0 EST}
+ {1554620400 -14400 1 EDT}
+ {1572156000 -18000 0 EST}
+ {1586070000 -14400 1 EDT}
+ {1603605600 -18000 0 EST}
+ {1617519600 -14400 1 EDT}
+ {1635660000 -18000 0 EST}
+ {1648969200 -14400 1 EDT}
+ {1667109600 -18000 0 EST}
+ {1680418800 -14400 1 EDT}
+ {1698559200 -18000 0 EST}
+ {1712473200 -14400 1 EDT}
+ {1730008800 -18000 0 EST}
+ {1743922800 -14400 1 EDT}
+ {1761458400 -18000 0 EST}
+ {1775372400 -14400 1 EDT}
+ {1792908000 -18000 0 EST}
+ {1806822000 -14400 1 EDT}
+ {1824962400 -18000 0 EST}
+ {1838271600 -14400 1 EDT}
+ {1856412000 -18000 0 EST}
+ {1869721200 -14400 1 EDT}
+ {1887861600 -18000 0 EST}
+ {1901775600 -14400 1 EDT}
+ {1919311200 -18000 0 EST}
+ {1933225200 -14400 1 EDT}
+ {1950760800 -18000 0 EST}
+ {1964674800 -14400 1 EDT}
+ {1982815200 -18000 0 EST}
+ {1996124400 -14400 1 EDT}
+ {2014264800 -18000 0 EST}
+ {2027574000 -14400 1 EDT}
+ {2045714400 -18000 0 EST}
+ {2059023600 -14400 1 EDT}
+ {2077164000 -18000 0 EST}
+ {2091078000 -14400 1 EDT}
+ {2108613600 -18000 0 EST}
+ {2122527600 -14400 1 EDT}
+ {2140063200 -18000 0 EST}
+ {2153977200 -14400 1 EDT}
+ {2172117600 -18000 0 EST}
+ {2185426800 -14400 1 EDT}
+ {2203567200 -18000 0 EST}
+ {2216876400 -14400 1 EDT}
+ {2235016800 -18000 0 EST}
+ {2248930800 -14400 1 EDT}
+ {2266466400 -18000 0 EST}
+ {2280380400 -14400 1 EDT}
+ {2297916000 -18000 0 EST}
+ {2311830000 -14400 1 EDT}
+ {2329365600 -18000 0 EST}
+ {2343279600 -14400 1 EDT}
+ {2361420000 -18000 0 EST}
+ {2374729200 -14400 1 EDT}
+ {2392869600 -18000 0 EST}
+ {2406178800 -14400 1 EDT}
+ {2424319200 -18000 0 EST}
+ {2438233200 -14400 1 EDT}
+ {2455768800 -18000 0 EST}
+ {2469682800 -14400 1 EDT}
+ {2487218400 -18000 0 EST}
+ {2501132400 -14400 1 EDT}
+ {2519272800 -18000 0 EST}
+ {2532582000 -14400 1 EDT}
+ {2550722400 -18000 0 EST}
+ {2564031600 -14400 1 EDT}
+ {2582172000 -18000 0 EST}
+ {2596086000 -14400 1 EDT}
+ {2613621600 -18000 0 EST}
+ {2627535600 -14400 1 EDT}
+ {2645071200 -18000 0 EST}
+ {2658985200 -14400 1 EDT}
+ {2676520800 -18000 0 EST}
+ {2690434800 -14400 1 EDT}
+ {2708575200 -18000 0 EST}
+ {2721884400 -14400 1 EDT}
+ {2740024800 -18000 0 EST}
+ {2753334000 -14400 1 EDT}
+ {2771474400 -18000 0 EST}
+ {2785388400 -14400 1 EDT}
+ {2802924000 -18000 0 EST}
+ {2816838000 -14400 1 EDT}
+ {2834373600 -18000 0 EST}
+ {2848287600 -14400 1 EDT}
+ {2866428000 -18000 0 EST}
+ {2879737200 -14400 1 EDT}
+ {2897877600 -18000 0 EST}
+ {2911186800 -14400 1 EDT}
+ {2929327200 -18000 0 EST}
+ {2942636400 -14400 1 EDT}
+ {2960776800 -18000 0 EST}
+ {2974690800 -14400 1 EDT}
+ {2992226400 -18000 0 EST}
+ {3006140400 -14400 1 EDT}
+ {3023676000 -18000 0 EST}
+ {3037590000 -14400 1 EDT}
+ {3055730400 -18000 0 EST}
+ {3069039600 -14400 1 EDT}
+ {3087180000 -18000 0 EST}
+ {3100489200 -14400 1 EDT}
+ {3118629600 -18000 0 EST}
+ {3132543600 -14400 1 EDT}
+ {3150079200 -18000 0 EST}
+ {3163993200 -14400 1 EDT}
+ {3181528800 -18000 0 EST}
+ {3195442800 -14400 1 EDT}
+ {3212978400 -18000 0 EST}
+ {3226892400 -14400 1 EDT}
+ {3245032800 -18000 0 EST}
+ {3258342000 -14400 1 EDT}
+ {3276482400 -18000 0 EST}
+ {3289791600 -14400 1 EDT}
+ {3307932000 -18000 0 EST}
+ {3321846000 -14400 1 EDT}
+ {3339381600 -18000 0 EST}
+ {3353295600 -14400 1 EDT}
+ {3370831200 -18000 0 EST}
+ {3384745200 -14400 1 EDT}
+ {3402885600 -18000 0 EST}
+ {3416194800 -14400 1 EDT}
+ {3434335200 -18000 0 EST}
+ {3447644400 -14400 1 EDT}
+ {3465784800 -18000 0 EST}
+ {3479698800 -14400 1 EDT}
+ {3497234400 -18000 0 EST}
+ {3511148400 -14400 1 EDT}
+ {3528684000 -18000 0 EST}
+ {3542598000 -14400 1 EDT}
+ {3560133600 -18000 0 EST}
+ {3574047600 -14400 1 EDT}
+ {3592188000 -18000 0 EST}
+ {3605497200 -14400 1 EDT}
+ {3623637600 -18000 0 EST}
+ {3636946800 -14400 1 EDT}
+ {3655087200 -18000 0 EST}
+ {3669001200 -14400 1 EDT}
+ {3686536800 -18000 0 EST}
+ {3700450800 -14400 1 EDT}
+ {3717986400 -18000 0 EST}
+ {3731900400 -14400 1 EDT}
+ {3750040800 -18000 0 EST}
+ {3763350000 -14400 1 EDT}
+ {3781490400 -18000 0 EST}
+ {3794799600 -14400 1 EDT}
+ {3812940000 -18000 0 EST}
+ {3826249200 -14400 1 EDT}
+ {3844389600 -18000 0 EST}
+ {3858303600 -14400 1 EDT}
+ {3875839200 -18000 0 EST}
+ {3889753200 -14400 1 EDT}
+ {3907288800 -18000 0 EST}
+ {3921202800 -14400 1 EDT}
+ {3939343200 -18000 0 EST}
+ {3952652400 -14400 1 EDT}
+ {3970792800 -18000 0 EST}
+ {3984102000 -14400 1 EDT}
+ {4002242400 -18000 0 EST}
+ {4016156400 -14400 1 EDT}
+ {4033692000 -18000 0 EST}
+ {4047606000 -14400 1 EDT}
+ {4065141600 -18000 0 EST}
+ {4079055600 -14400 1 EDT}
+ {4096591200 -18000 0 EST}
+}
diff --git a/library/tzdata/America/Tijuana b/library/tzdata/America/Tijuana
new file mode 100644
index 0000000..ff394e2
--- /dev/null
+++ b/library/tzdata/America/Tijuana
@@ -0,0 +1,283 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Tijuana) {
+ {-9223372036854775808 -28084 0 LMT}
+ {-1514736000 -25200 0 MST}
+ {-1451667600 -28800 0 PST}
+ {-1343062800 -25200 0 MST}
+ {-1234803600 -28800 0 PST}
+ {-1222963200 -25200 1 PDT}
+ {-1207242000 -28800 0 PST}
+ {-873820800 -25200 1 PWT}
+ {-761677200 -28800 0 PST}
+ {-686073600 -25200 1 PDT}
+ {-661539600 -28800 0 PST}
+ {-504892800 -28800 0 PST}
+ {-495036000 -25200 1 PDT}
+ {-481734000 -28800 0 PST}
+ {-463586400 -25200 1 PDT}
+ {-450284400 -28800 0 PST}
+ {-431532000 -25200 1 PDT}
+ {-418230000 -28800 0 PST}
+ {-400082400 -25200 1 PDT}
+ {-386780400 -28800 0 PST}
+ {-368632800 -25200 1 PDT}
+ {-355330800 -28800 0 PST}
+ {-337183200 -25200 1 PDT}
+ {-323881200 -28800 0 PST}
+ {-305733600 -25200 1 PDT}
+ {-292431600 -28800 0 PST}
+ {-283968000 -28800 0 PST}
+ {189331200 -28800 0 PST}
+ {199274400 -25200 1 PDT}
+ {215600400 -28800 0 PST}
+ {230724000 -25200 1 PDT}
+ {247050000 -28800 0 PST}
+ {262778400 -25200 1 PDT}
+ {278499600 -28800 0 PST}
+ {294228000 -25200 1 PDT}
+ {309949200 -28800 0 PST}
+ {325677600 -25200 1 PDT}
+ {341398800 -28800 0 PST}
+ {357127200 -25200 1 PDT}
+ {372848400 -28800 0 PST}
+ {388576800 -25200 1 PDT}
+ {404902800 -28800 0 PST}
+ {420026400 -25200 1 PDT}
+ {436352400 -28800 0 PST}
+ {452080800 -25200 1 PDT}
+ {467802000 -28800 0 PST}
+ {483530400 -25200 1 PDT}
+ {499251600 -28800 0 PST}
+ {514980000 -25200 1 PDT}
+ {530701200 -28800 0 PST}
+ {544615200 -25200 1 PDT}
+ {562150800 -28800 0 PST}
+ {576064800 -25200 1 PDT}
+ {594205200 -28800 0 PST}
+ {607514400 -25200 1 PDT}
+ {625654800 -28800 0 PST}
+ {638964000 -25200 1 PDT}
+ {657104400 -28800 0 PST}
+ {671018400 -25200 1 PDT}
+ {688554000 -28800 0 PST}
+ {702468000 -25200 1 PDT}
+ {720003600 -28800 0 PST}
+ {733917600 -25200 1 PDT}
+ {752058000 -28800 0 PST}
+ {765367200 -25200 1 PDT}
+ {783507600 -28800 0 PST}
+ {796816800 -25200 1 PDT}
+ {814957200 -28800 0 PST}
+ {820483200 -28800 0 PST}
+ {828871200 -25200 1 PDT}
+ {846406800 -28800 0 PST}
+ {860320800 -25200 1 PDT}
+ {877856400 -28800 0 PST}
+ {891770400 -25200 1 PDT}
+ {909306000 -28800 0 PST}
+ {923220000 -25200 1 PDT}
+ {941360400 -28800 0 PST}
+ {954669600 -25200 1 PDT}
+ {972810000 -28800 0 PST}
+ {978336000 -28800 0 PST}
+ {986119200 -25200 1 PDT}
+ {1004259600 -28800 0 PST}
+ {1014192000 -28800 0 PST}
+ {1018173600 -25200 1 PDT}
+ {1035709200 -28800 0 PST}
+ {1049623200 -25200 1 PDT}
+ {1067158800 -28800 0 PST}
+ {1081072800 -25200 1 PDT}
+ {1099213200 -28800 0 PST}
+ {1112522400 -25200 1 PDT}
+ {1130662800 -28800 0 PST}
+ {1143972000 -25200 1 PDT}
+ {1162112400 -28800 0 PST}
+ {1175421600 -25200 1 PDT}
+ {1193562000 -28800 0 PST}
+ {1207476000 -25200 1 PDT}
+ {1225011600 -28800 0 PST}
+ {1238925600 -25200 1 PDT}
+ {1256461200 -28800 0 PST}
+ {1270375200 -25200 1 PDT}
+ {1288515600 -28800 0 PST}
+ {1301824800 -25200 1 PDT}
+ {1319965200 -28800 0 PST}
+ {1333274400 -25200 1 PDT}
+ {1351414800 -28800 0 PST}
+ {1365328800 -25200 1 PDT}
+ {1382864400 -28800 0 PST}
+ {1396778400 -25200 1 PDT}
+ {1414314000 -28800 0 PST}
+ {1428228000 -25200 1 PDT}
+ {1445763600 -28800 0 PST}
+ {1459677600 -25200 1 PDT}
+ {1477818000 -28800 0 PST}
+ {1491127200 -25200 1 PDT}
+ {1509267600 -28800 0 PST}
+ {1522576800 -25200 1 PDT}
+ {1540717200 -28800 0 PST}
+ {1554631200 -25200 1 PDT}
+ {1572166800 -28800 0 PST}
+ {1586080800 -25200 1 PDT}
+ {1603616400 -28800 0 PST}
+ {1617530400 -25200 1 PDT}
+ {1635670800 -28800 0 PST}
+ {1648980000 -25200 1 PDT}
+ {1667120400 -28800 0 PST}
+ {1680429600 -25200 1 PDT}
+ {1698570000 -28800 0 PST}
+ {1712484000 -25200 1 PDT}
+ {1730019600 -28800 0 PST}
+ {1743933600 -25200 1 PDT}
+ {1761469200 -28800 0 PST}
+ {1775383200 -25200 1 PDT}
+ {1792918800 -28800 0 PST}
+ {1806832800 -25200 1 PDT}
+ {1824973200 -28800 0 PST}
+ {1838282400 -25200 1 PDT}
+ {1856422800 -28800 0 PST}
+ {1869732000 -25200 1 PDT}
+ {1887872400 -28800 0 PST}
+ {1901786400 -25200 1 PDT}
+ {1919322000 -28800 0 PST}
+ {1933236000 -25200 1 PDT}
+ {1950771600 -28800 0 PST}
+ {1964685600 -25200 1 PDT}
+ {1982826000 -28800 0 PST}
+ {1996135200 -25200 1 PDT}
+ {2014275600 -28800 0 PST}
+ {2027584800 -25200 1 PDT}
+ {2045725200 -28800 0 PST}
+ {2059034400 -25200 1 PDT}
+ {2077174800 -28800 0 PST}
+ {2091088800 -25200 1 PDT}
+ {2108624400 -28800 0 PST}
+ {2122538400 -25200 1 PDT}
+ {2140074000 -28800 0 PST}
+ {2153988000 -25200 1 PDT}
+ {2172128400 -28800 0 PST}
+ {2185437600 -25200 1 PDT}
+ {2203578000 -28800 0 PST}
+ {2216887200 -25200 1 PDT}
+ {2235027600 -28800 0 PST}
+ {2248941600 -25200 1 PDT}
+ {2266477200 -28800 0 PST}
+ {2280391200 -25200 1 PDT}
+ {2297926800 -28800 0 PST}
+ {2311840800 -25200 1 PDT}
+ {2329376400 -28800 0 PST}
+ {2343290400 -25200 1 PDT}
+ {2361430800 -28800 0 PST}
+ {2374740000 -25200 1 PDT}
+ {2392880400 -28800 0 PST}
+ {2406189600 -25200 1 PDT}
+ {2424330000 -28800 0 PST}
+ {2438244000 -25200 1 PDT}
+ {2455779600 -28800 0 PST}
+ {2469693600 -25200 1 PDT}
+ {2487229200 -28800 0 PST}
+ {2501143200 -25200 1 PDT}
+ {2519283600 -28800 0 PST}
+ {2532592800 -25200 1 PDT}
+ {2550733200 -28800 0 PST}
+ {2564042400 -25200 1 PDT}
+ {2582182800 -28800 0 PST}
+ {2596096800 -25200 1 PDT}
+ {2613632400 -28800 0 PST}
+ {2627546400 -25200 1 PDT}
+ {2645082000 -28800 0 PST}
+ {2658996000 -25200 1 PDT}
+ {2676531600 -28800 0 PST}
+ {2690445600 -25200 1 PDT}
+ {2708586000 -28800 0 PST}
+ {2721895200 -25200 1 PDT}
+ {2740035600 -28800 0 PST}
+ {2753344800 -25200 1 PDT}
+ {2771485200 -28800 0 PST}
+ {2785399200 -25200 1 PDT}
+ {2802934800 -28800 0 PST}
+ {2816848800 -25200 1 PDT}
+ {2834384400 -28800 0 PST}
+ {2848298400 -25200 1 PDT}
+ {2866438800 -28800 0 PST}
+ {2879748000 -25200 1 PDT}
+ {2897888400 -28800 0 PST}
+ {2911197600 -25200 1 PDT}
+ {2929338000 -28800 0 PST}
+ {2942647200 -25200 1 PDT}
+ {2960787600 -28800 0 PST}
+ {2974701600 -25200 1 PDT}
+ {2992237200 -28800 0 PST}
+ {3006151200 -25200 1 PDT}
+ {3023686800 -28800 0 PST}
+ {3037600800 -25200 1 PDT}
+ {3055741200 -28800 0 PST}
+ {3069050400 -25200 1 PDT}
+ {3087190800 -28800 0 PST}
+ {3100500000 -25200 1 PDT}
+ {3118640400 -28800 0 PST}
+ {3132554400 -25200 1 PDT}
+ {3150090000 -28800 0 PST}
+ {3164004000 -25200 1 PDT}
+ {3181539600 -28800 0 PST}
+ {3195453600 -25200 1 PDT}
+ {3212989200 -28800 0 PST}
+ {3226903200 -25200 1 PDT}
+ {3245043600 -28800 0 PST}
+ {3258352800 -25200 1 PDT}
+ {3276493200 -28800 0 PST}
+ {3289802400 -25200 1 PDT}
+ {3307942800 -28800 0 PST}
+ {3321856800 -25200 1 PDT}
+ {3339392400 -28800 0 PST}
+ {3353306400 -25200 1 PDT}
+ {3370842000 -28800 0 PST}
+ {3384756000 -25200 1 PDT}
+ {3402896400 -28800 0 PST}
+ {3416205600 -25200 1 PDT}
+ {3434346000 -28800 0 PST}
+ {3447655200 -25200 1 PDT}
+ {3465795600 -28800 0 PST}
+ {3479709600 -25200 1 PDT}
+ {3497245200 -28800 0 PST}
+ {3511159200 -25200 1 PDT}
+ {3528694800 -28800 0 PST}
+ {3542608800 -25200 1 PDT}
+ {3560144400 -28800 0 PST}
+ {3574058400 -25200 1 PDT}
+ {3592198800 -28800 0 PST}
+ {3605508000 -25200 1 PDT}
+ {3623648400 -28800 0 PST}
+ {3636957600 -25200 1 PDT}
+ {3655098000 -28800 0 PST}
+ {3669012000 -25200 1 PDT}
+ {3686547600 -28800 0 PST}
+ {3700461600 -25200 1 PDT}
+ {3717997200 -28800 0 PST}
+ {3731911200 -25200 1 PDT}
+ {3750051600 -28800 0 PST}
+ {3763360800 -25200 1 PDT}
+ {3781501200 -28800 0 PST}
+ {3794810400 -25200 1 PDT}
+ {3812950800 -28800 0 PST}
+ {3826260000 -25200 1 PDT}
+ {3844400400 -28800 0 PST}
+ {3858314400 -25200 1 PDT}
+ {3875850000 -28800 0 PST}
+ {3889764000 -25200 1 PDT}
+ {3907299600 -28800 0 PST}
+ {3921213600 -25200 1 PDT}
+ {3939354000 -28800 0 PST}
+ {3952663200 -25200 1 PDT}
+ {3970803600 -28800 0 PST}
+ {3984112800 -25200 1 PDT}
+ {4002253200 -28800 0 PST}
+ {4016167200 -25200 1 PDT}
+ {4033702800 -28800 0 PST}
+ {4047616800 -25200 1 PDT}
+ {4065152400 -28800 0 PST}
+ {4079066400 -25200 1 PDT}
+ {4096602000 -28800 0 PST}
+}
diff --git a/library/tzdata/America/Toronto b/library/tzdata/America/Toronto
new file mode 100644
index 0000000..b67e25f
--- /dev/null
+++ b/library/tzdata/America/Toronto
@@ -0,0 +1,366 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Toronto) {
+ {-9223372036854775808 -19052 0 LMT}
+ {-2366736148 -18000 0 EST}
+ {-1632070800 -14400 1 EDT}
+ {-1614794400 -18000 0 EST}
+ {-1609441200 -18000 0 EST}
+ {-1601753400 -14400 1 EDT}
+ {-1583697600 -18000 0 EST}
+ {-1567357200 -14400 1 EDT}
+ {-1554667200 -18000 0 EST}
+ {-1534698000 -14400 1 EDT}
+ {-1524074400 -18000 0 EST}
+ {-1503248400 -14400 1 EDT}
+ {-1492365600 -18000 0 EST}
+ {-1471798800 -14400 1 EDT}
+ {-1460916000 -18000 0 EST}
+ {-1440954000 -14400 1 EDT}
+ {-1428861600 -18000 0 EST}
+ {-1409504400 -14400 1 EDT}
+ {-1397412000 -18000 0 EST}
+ {-1378054800 -14400 1 EDT}
+ {-1365962400 -18000 0 EST}
+ {-1346605200 -14400 1 EDT}
+ {-1333908000 -18000 0 EST}
+ {-1315155600 -14400 1 EDT}
+ {-1301853600 -18000 0 EST}
+ {-1283706000 -14400 1 EDT}
+ {-1270404000 -18000 0 EST}
+ {-1252256400 -14400 1 EDT}
+ {-1238954400 -18000 0 EST}
+ {-1220806800 -14400 1 EDT}
+ {-1207504800 -18000 0 EST}
+ {-1188752400 -14400 1 EDT}
+ {-1176055200 -18000 0 EST}
+ {-1157302800 -14400 1 EDT}
+ {-1144000800 -18000 0 EST}
+ {-1125853200 -14400 1 EDT}
+ {-1112551200 -18000 0 EST}
+ {-1094403600 -14400 1 EDT}
+ {-1081101600 -18000 0 EST}
+ {-1062954000 -14400 1 EDT}
+ {-1049652000 -18000 0 EST}
+ {-1031504400 -14400 1 EDT}
+ {-1018202400 -18000 0 EST}
+ {-1000054800 -14400 1 EDT}
+ {-986752800 -18000 0 EST}
+ {-968000400 -14400 1 EDT}
+ {-955303200 -18000 0 EST}
+ {-936550800 -14400 1 EDT}
+ {-880236000 -14400 0 EST}
+ {-880221600 -14400 1 EWT}
+ {-769395600 -14400 1 EPT}
+ {-765396000 -18000 0 EST}
+ {-757364400 -18000 0 EST}
+ {-747248400 -14400 1 EDT}
+ {-733946400 -18000 0 EST}
+ {-715806000 -14400 1 EDT}
+ {-702504000 -18000 0 EST}
+ {-684356400 -14400 1 EDT}
+ {-671054400 -18000 0 EST}
+ {-652906800 -14400 1 EDT}
+ {-634161600 -18000 0 EST}
+ {-620845200 -14400 1 EDT}
+ {-602704800 -18000 0 EST}
+ {-589395600 -14400 1 EDT}
+ {-576093600 -18000 0 EST}
+ {-557946000 -14400 1 EDT}
+ {-544644000 -18000 0 EST}
+ {-526496400 -14400 1 EDT}
+ {-513194400 -18000 0 EST}
+ {-495046800 -14400 1 EDT}
+ {-481744800 -18000 0 EST}
+ {-463597200 -14400 1 EDT}
+ {-450295200 -18000 0 EST}
+ {-431542800 -14400 1 EDT}
+ {-418240800 -18000 0 EST}
+ {-400093200 -14400 1 EDT}
+ {-384372000 -18000 0 EST}
+ {-368643600 -14400 1 EDT}
+ {-352922400 -18000 0 EST}
+ {-337194000 -14400 1 EDT}
+ {-321472800 -18000 0 EST}
+ {-305744400 -14400 1 EDT}
+ {-289418400 -18000 0 EST}
+ {-273690000 -14400 1 EDT}
+ {-257968800 -18000 0 EST}
+ {-242240400 -14400 1 EDT}
+ {-226519200 -18000 0 EST}
+ {-210790800 -14400 1 EDT}
+ {-195069600 -18000 0 EST}
+ {-179341200 -14400 1 EDT}
+ {-163620000 -18000 0 EST}
+ {-147891600 -14400 1 EDT}
+ {-131565600 -18000 0 EST}
+ {-116442000 -14400 1 EDT}
+ {-100116000 -18000 0 EST}
+ {-84387600 -14400 1 EDT}
+ {-68666400 -18000 0 EST}
+ {-52938000 -14400 1 EDT}
+ {-37216800 -18000 0 EST}
+ {-21488400 -14400 1 EDT}
+ {-5767200 -18000 0 EST}
+ {9961200 -14400 1 EDT}
+ {25682400 -18000 0 EST}
+ {41410800 -14400 1 EDT}
+ {57736800 -18000 0 EST}
+ {73465200 -14400 1 EDT}
+ {89186400 -18000 0 EST}
+ {104914800 -14400 1 EDT}
+ {120636000 -18000 0 EST}
+ {126248400 -18000 0 EST}
+ {136364400 -14400 1 EDT}
+ {152085600 -18000 0 EST}
+ {167814000 -14400 1 EDT}
+ {183535200 -18000 0 EST}
+ {199263600 -14400 1 EDT}
+ {215589600 -18000 0 EST}
+ {230713200 -14400 1 EDT}
+ {247039200 -18000 0 EST}
+ {262767600 -14400 1 EDT}
+ {278488800 -18000 0 EST}
+ {294217200 -14400 1 EDT}
+ {309938400 -18000 0 EST}
+ {325666800 -14400 1 EDT}
+ {341388000 -18000 0 EST}
+ {357116400 -14400 1 EDT}
+ {372837600 -18000 0 EST}
+ {388566000 -14400 1 EDT}
+ {404892000 -18000 0 EST}
+ {420015600 -14400 1 EDT}
+ {436341600 -18000 0 EST}
+ {452070000 -14400 1 EDT}
+ {467791200 -18000 0 EST}
+ {483519600 -14400 1 EDT}
+ {499240800 -18000 0 EST}
+ {514969200 -14400 1 EDT}
+ {530690400 -18000 0 EST}
+ {544604400 -14400 1 EDT}
+ {562140000 -18000 0 EST}
+ {576054000 -14400 1 EDT}
+ {594194400 -18000 0 EST}
+ {607503600 -14400 1 EDT}
+ {625644000 -18000 0 EST}
+ {638953200 -14400 1 EDT}
+ {657093600 -18000 0 EST}
+ {671007600 -14400 1 EDT}
+ {688543200 -18000 0 EST}
+ {702457200 -14400 1 EDT}
+ {719992800 -18000 0 EST}
+ {733906800 -14400 1 EDT}
+ {752047200 -18000 0 EST}
+ {765356400 -14400 1 EDT}
+ {783496800 -18000 0 EST}
+ {796806000 -14400 1 EDT}
+ {814946400 -18000 0 EST}
+ {828860400 -14400 1 EDT}
+ {846396000 -18000 0 EST}
+ {860310000 -14400 1 EDT}
+ {877845600 -18000 0 EST}
+ {891759600 -14400 1 EDT}
+ {909295200 -18000 0 EST}
+ {923209200 -14400 1 EDT}
+ {941349600 -18000 0 EST}
+ {954658800 -14400 1 EDT}
+ {972799200 -18000 0 EST}
+ {986108400 -14400 1 EDT}
+ {1004248800 -18000 0 EST}
+ {1018162800 -14400 1 EDT}
+ {1035698400 -18000 0 EST}
+ {1049612400 -14400 1 EDT}
+ {1067148000 -18000 0 EST}
+ {1081062000 -14400 1 EDT}
+ {1099202400 -18000 0 EST}
+ {1112511600 -14400 1 EDT}
+ {1130652000 -18000 0 EST}
+ {1143961200 -14400 1 EDT}
+ {1162101600 -18000 0 EST}
+ {1175410800 -14400 1 EDT}
+ {1193551200 -18000 0 EST}
+ {1207465200 -14400 1 EDT}
+ {1225000800 -18000 0 EST}
+ {1238914800 -14400 1 EDT}
+ {1256450400 -18000 0 EST}
+ {1270364400 -14400 1 EDT}
+ {1288504800 -18000 0 EST}
+ {1301814000 -14400 1 EDT}
+ {1319954400 -18000 0 EST}
+ {1333263600 -14400 1 EDT}
+ {1351404000 -18000 0 EST}
+ {1365318000 -14400 1 EDT}
+ {1382853600 -18000 0 EST}
+ {1396767600 -14400 1 EDT}
+ {1414303200 -18000 0 EST}
+ {1428217200 -14400 1 EDT}
+ {1445752800 -18000 0 EST}
+ {1459666800 -14400 1 EDT}
+ {1477807200 -18000 0 EST}
+ {1491116400 -14400 1 EDT}
+ {1509256800 -18000 0 EST}
+ {1522566000 -14400 1 EDT}
+ {1540706400 -18000 0 EST}
+ {1554620400 -14400 1 EDT}
+ {1572156000 -18000 0 EST}
+ {1586070000 -14400 1 EDT}
+ {1603605600 -18000 0 EST}
+ {1617519600 -14400 1 EDT}
+ {1635660000 -18000 0 EST}
+ {1648969200 -14400 1 EDT}
+ {1667109600 -18000 0 EST}
+ {1680418800 -14400 1 EDT}
+ {1698559200 -18000 0 EST}
+ {1712473200 -14400 1 EDT}
+ {1730008800 -18000 0 EST}
+ {1743922800 -14400 1 EDT}
+ {1761458400 -18000 0 EST}
+ {1775372400 -14400 1 EDT}
+ {1792908000 -18000 0 EST}
+ {1806822000 -14400 1 EDT}
+ {1824962400 -18000 0 EST}
+ {1838271600 -14400 1 EDT}
+ {1856412000 -18000 0 EST}
+ {1869721200 -14400 1 EDT}
+ {1887861600 -18000 0 EST}
+ {1901775600 -14400 1 EDT}
+ {1919311200 -18000 0 EST}
+ {1933225200 -14400 1 EDT}
+ {1950760800 -18000 0 EST}
+ {1964674800 -14400 1 EDT}
+ {1982815200 -18000 0 EST}
+ {1996124400 -14400 1 EDT}
+ {2014264800 -18000 0 EST}
+ {2027574000 -14400 1 EDT}
+ {2045714400 -18000 0 EST}
+ {2059023600 -14400 1 EDT}
+ {2077164000 -18000 0 EST}
+ {2091078000 -14400 1 EDT}
+ {2108613600 -18000 0 EST}
+ {2122527600 -14400 1 EDT}
+ {2140063200 -18000 0 EST}
+ {2153977200 -14400 1 EDT}
+ {2172117600 -18000 0 EST}
+ {2185426800 -14400 1 EDT}
+ {2203567200 -18000 0 EST}
+ {2216876400 -14400 1 EDT}
+ {2235016800 -18000 0 EST}
+ {2248930800 -14400 1 EDT}
+ {2266466400 -18000 0 EST}
+ {2280380400 -14400 1 EDT}
+ {2297916000 -18000 0 EST}
+ {2311830000 -14400 1 EDT}
+ {2329365600 -18000 0 EST}
+ {2343279600 -14400 1 EDT}
+ {2361420000 -18000 0 EST}
+ {2374729200 -14400 1 EDT}
+ {2392869600 -18000 0 EST}
+ {2406178800 -14400 1 EDT}
+ {2424319200 -18000 0 EST}
+ {2438233200 -14400 1 EDT}
+ {2455768800 -18000 0 EST}
+ {2469682800 -14400 1 EDT}
+ {2487218400 -18000 0 EST}
+ {2501132400 -14400 1 EDT}
+ {2519272800 -18000 0 EST}
+ {2532582000 -14400 1 EDT}
+ {2550722400 -18000 0 EST}
+ {2564031600 -14400 1 EDT}
+ {2582172000 -18000 0 EST}
+ {2596086000 -14400 1 EDT}
+ {2613621600 -18000 0 EST}
+ {2627535600 -14400 1 EDT}
+ {2645071200 -18000 0 EST}
+ {2658985200 -14400 1 EDT}
+ {2676520800 -18000 0 EST}
+ {2690434800 -14400 1 EDT}
+ {2708575200 -18000 0 EST}
+ {2721884400 -14400 1 EDT}
+ {2740024800 -18000 0 EST}
+ {2753334000 -14400 1 EDT}
+ {2771474400 -18000 0 EST}
+ {2785388400 -14400 1 EDT}
+ {2802924000 -18000 0 EST}
+ {2816838000 -14400 1 EDT}
+ {2834373600 -18000 0 EST}
+ {2848287600 -14400 1 EDT}
+ {2866428000 -18000 0 EST}
+ {2879737200 -14400 1 EDT}
+ {2897877600 -18000 0 EST}
+ {2911186800 -14400 1 EDT}
+ {2929327200 -18000 0 EST}
+ {2942636400 -14400 1 EDT}
+ {2960776800 -18000 0 EST}
+ {2974690800 -14400 1 EDT}
+ {2992226400 -18000 0 EST}
+ {3006140400 -14400 1 EDT}
+ {3023676000 -18000 0 EST}
+ {3037590000 -14400 1 EDT}
+ {3055730400 -18000 0 EST}
+ {3069039600 -14400 1 EDT}
+ {3087180000 -18000 0 EST}
+ {3100489200 -14400 1 EDT}
+ {3118629600 -18000 0 EST}
+ {3132543600 -14400 1 EDT}
+ {3150079200 -18000 0 EST}
+ {3163993200 -14400 1 EDT}
+ {3181528800 -18000 0 EST}
+ {3195442800 -14400 1 EDT}
+ {3212978400 -18000 0 EST}
+ {3226892400 -14400 1 EDT}
+ {3245032800 -18000 0 EST}
+ {3258342000 -14400 1 EDT}
+ {3276482400 -18000 0 EST}
+ {3289791600 -14400 1 EDT}
+ {3307932000 -18000 0 EST}
+ {3321846000 -14400 1 EDT}
+ {3339381600 -18000 0 EST}
+ {3353295600 -14400 1 EDT}
+ {3370831200 -18000 0 EST}
+ {3384745200 -14400 1 EDT}
+ {3402885600 -18000 0 EST}
+ {3416194800 -14400 1 EDT}
+ {3434335200 -18000 0 EST}
+ {3447644400 -14400 1 EDT}
+ {3465784800 -18000 0 EST}
+ {3479698800 -14400 1 EDT}
+ {3497234400 -18000 0 EST}
+ {3511148400 -14400 1 EDT}
+ {3528684000 -18000 0 EST}
+ {3542598000 -14400 1 EDT}
+ {3560133600 -18000 0 EST}
+ {3574047600 -14400 1 EDT}
+ {3592188000 -18000 0 EST}
+ {3605497200 -14400 1 EDT}
+ {3623637600 -18000 0 EST}
+ {3636946800 -14400 1 EDT}
+ {3655087200 -18000 0 EST}
+ {3669001200 -14400 1 EDT}
+ {3686536800 -18000 0 EST}
+ {3700450800 -14400 1 EDT}
+ {3717986400 -18000 0 EST}
+ {3731900400 -14400 1 EDT}
+ {3750040800 -18000 0 EST}
+ {3763350000 -14400 1 EDT}
+ {3781490400 -18000 0 EST}
+ {3794799600 -14400 1 EDT}
+ {3812940000 -18000 0 EST}
+ {3826249200 -14400 1 EDT}
+ {3844389600 -18000 0 EST}
+ {3858303600 -14400 1 EDT}
+ {3875839200 -18000 0 EST}
+ {3889753200 -14400 1 EDT}
+ {3907288800 -18000 0 EST}
+ {3921202800 -14400 1 EDT}
+ {3939343200 -18000 0 EST}
+ {3952652400 -14400 1 EDT}
+ {3970792800 -18000 0 EST}
+ {3984102000 -14400 1 EDT}
+ {4002242400 -18000 0 EST}
+ {4016156400 -14400 1 EDT}
+ {4033692000 -18000 0 EST}
+ {4047606000 -14400 1 EDT}
+ {4065141600 -18000 0 EST}
+ {4079055600 -14400 1 EDT}
+ {4096591200 -18000 0 EST}
+}
diff --git a/library/tzdata/America/Tortola b/library/tzdata/America/Tortola
new file mode 100644
index 0000000..940909f
--- /dev/null
+++ b/library/tzdata/America/Tortola
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Tortola) {
+ {-9223372036854775808 -15508 0 LMT}
+ {-1846266092 -14400 0 AST}
+}
diff --git a/library/tzdata/America/Vancouver b/library/tzdata/America/Vancouver
new file mode 100644
index 0000000..c55c1c2
--- /dev/null
+++ b/library/tzdata/America/Vancouver
@@ -0,0 +1,319 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Vancouver) {
+ {-9223372036854775808 -29548 0 LMT}
+ {-2713880852 -28800 0 PST}
+ {-1632060000 -25200 1 PDT}
+ {-1614783600 -28800 0 PST}
+ {-880207200 -25200 1 PWT}
+ {-769395600 -25200 1 PPT}
+ {-765385200 -28800 0 PST}
+ {-747237600 -25200 1 PDT}
+ {-732726000 -28800 0 PST}
+ {-715788000 -25200 1 PDT}
+ {-702486000 -28800 0 PST}
+ {-684338400 -25200 1 PDT}
+ {-671036400 -28800 0 PST}
+ {-652888800 -25200 1 PDT}
+ {-639586800 -28800 0 PST}
+ {-620834400 -25200 1 PDT}
+ {-608137200 -28800 0 PST}
+ {-589384800 -25200 1 PDT}
+ {-576082800 -28800 0 PST}
+ {-557935200 -25200 1 PDT}
+ {-544633200 -28800 0 PST}
+ {-526485600 -25200 1 PDT}
+ {-513183600 -28800 0 PST}
+ {-495036000 -25200 1 PDT}
+ {-481734000 -28800 0 PST}
+ {-463586400 -25200 1 PDT}
+ {-450284400 -28800 0 PST}
+ {-431532000 -25200 1 PDT}
+ {-418230000 -28800 0 PST}
+ {-400082400 -25200 1 PDT}
+ {-386780400 -28800 0 PST}
+ {-368632800 -25200 1 PDT}
+ {-355330800 -28800 0 PST}
+ {-337183200 -25200 1 PDT}
+ {-323881200 -28800 0 PST}
+ {-305733600 -25200 1 PDT}
+ {-292431600 -28800 0 PST}
+ {-273679200 -25200 1 PDT}
+ {-260982000 -28800 0 PST}
+ {-242229600 -25200 1 PDT}
+ {-226508400 -28800 0 PST}
+ {-210780000 -25200 1 PDT}
+ {-195058800 -28800 0 PST}
+ {-179330400 -25200 1 PDT}
+ {-163609200 -28800 0 PST}
+ {-147880800 -25200 1 PDT}
+ {-131554800 -28800 0 PST}
+ {-116431200 -25200 1 PDT}
+ {-100105200 -28800 0 PST}
+ {-84376800 -25200 1 PDT}
+ {-68655600 -28800 0 PST}
+ {-52927200 -25200 1 PDT}
+ {-37206000 -28800 0 PST}
+ {-21477600 -25200 1 PDT}
+ {-5756400 -28800 0 PST}
+ {9972000 -25200 1 PDT}
+ {25693200 -28800 0 PST}
+ {41421600 -25200 1 PDT}
+ {57747600 -28800 0 PST}
+ {73476000 -25200 1 PDT}
+ {89197200 -28800 0 PST}
+ {104925600 -25200 1 PDT}
+ {120646800 -28800 0 PST}
+ {136375200 -25200 1 PDT}
+ {152096400 -28800 0 PST}
+ {167824800 -25200 1 PDT}
+ {183546000 -28800 0 PST}
+ {199274400 -25200 1 PDT}
+ {215600400 -28800 0 PST}
+ {230724000 -25200 1 PDT}
+ {247050000 -28800 0 PST}
+ {262778400 -25200 1 PDT}
+ {278499600 -28800 0 PST}
+ {294228000 -25200 1 PDT}
+ {309949200 -28800 0 PST}
+ {325677600 -25200 1 PDT}
+ {341398800 -28800 0 PST}
+ {357127200 -25200 1 PDT}
+ {372848400 -28800 0 PST}
+ {388576800 -25200 1 PDT}
+ {404902800 -28800 0 PST}
+ {420026400 -25200 1 PDT}
+ {436352400 -28800 0 PST}
+ {452080800 -25200 1 PDT}
+ {467802000 -28800 0 PST}
+ {483530400 -25200 1 PDT}
+ {499251600 -28800 0 PST}
+ {514980000 -25200 1 PDT}
+ {530701200 -28800 0 PST}
+ {544615200 -25200 1 PDT}
+ {562150800 -28800 0 PST}
+ {576064800 -25200 1 PDT}
+ {594205200 -28800 0 PST}
+ {607514400 -25200 1 PDT}
+ {625654800 -28800 0 PST}
+ {638964000 -25200 1 PDT}
+ {657104400 -28800 0 PST}
+ {671018400 -25200 1 PDT}
+ {688554000 -28800 0 PST}
+ {702468000 -25200 1 PDT}
+ {720003600 -28800 0 PST}
+ {733917600 -25200 1 PDT}
+ {752058000 -28800 0 PST}
+ {765367200 -25200 1 PDT}
+ {783507600 -28800 0 PST}
+ {796816800 -25200 1 PDT}
+ {814957200 -28800 0 PST}
+ {828871200 -25200 1 PDT}
+ {846406800 -28800 0 PST}
+ {860320800 -25200 1 PDT}
+ {877856400 -28800 0 PST}
+ {891770400 -25200 1 PDT}
+ {909306000 -28800 0 PST}
+ {923220000 -25200 1 PDT}
+ {941360400 -28800 0 PST}
+ {954669600 -25200 1 PDT}
+ {972810000 -28800 0 PST}
+ {986119200 -25200 1 PDT}
+ {1004259600 -28800 0 PST}
+ {1018173600 -25200 1 PDT}
+ {1035709200 -28800 0 PST}
+ {1049623200 -25200 1 PDT}
+ {1067158800 -28800 0 PST}
+ {1081072800 -25200 1 PDT}
+ {1099213200 -28800 0 PST}
+ {1112522400 -25200 1 PDT}
+ {1130662800 -28800 0 PST}
+ {1143972000 -25200 1 PDT}
+ {1162112400 -28800 0 PST}
+ {1175421600 -25200 1 PDT}
+ {1193562000 -28800 0 PST}
+ {1207476000 -25200 1 PDT}
+ {1225011600 -28800 0 PST}
+ {1238925600 -25200 1 PDT}
+ {1256461200 -28800 0 PST}
+ {1270375200 -25200 1 PDT}
+ {1288515600 -28800 0 PST}
+ {1301824800 -25200 1 PDT}
+ {1319965200 -28800 0 PST}
+ {1333274400 -25200 1 PDT}
+ {1351414800 -28800 0 PST}
+ {1365328800 -25200 1 PDT}
+ {1382864400 -28800 0 PST}
+ {1396778400 -25200 1 PDT}
+ {1414314000 -28800 0 PST}
+ {1428228000 -25200 1 PDT}
+ {1445763600 -28800 0 PST}
+ {1459677600 -25200 1 PDT}
+ {1477818000 -28800 0 PST}
+ {1491127200 -25200 1 PDT}
+ {1509267600 -28800 0 PST}
+ {1522576800 -25200 1 PDT}
+ {1540717200 -28800 0 PST}
+ {1554631200 -25200 1 PDT}
+ {1572166800 -28800 0 PST}
+ {1586080800 -25200 1 PDT}
+ {1603616400 -28800 0 PST}
+ {1617530400 -25200 1 PDT}
+ {1635670800 -28800 0 PST}
+ {1648980000 -25200 1 PDT}
+ {1667120400 -28800 0 PST}
+ {1680429600 -25200 1 PDT}
+ {1698570000 -28800 0 PST}
+ {1712484000 -25200 1 PDT}
+ {1730019600 -28800 0 PST}
+ {1743933600 -25200 1 PDT}
+ {1761469200 -28800 0 PST}
+ {1775383200 -25200 1 PDT}
+ {1792918800 -28800 0 PST}
+ {1806832800 -25200 1 PDT}
+ {1824973200 -28800 0 PST}
+ {1838282400 -25200 1 PDT}
+ {1856422800 -28800 0 PST}
+ {1869732000 -25200 1 PDT}
+ {1887872400 -28800 0 PST}
+ {1901786400 -25200 1 PDT}
+ {1919322000 -28800 0 PST}
+ {1933236000 -25200 1 PDT}
+ {1950771600 -28800 0 PST}
+ {1964685600 -25200 1 PDT}
+ {1982826000 -28800 0 PST}
+ {1996135200 -25200 1 PDT}
+ {2014275600 -28800 0 PST}
+ {2027584800 -25200 1 PDT}
+ {2045725200 -28800 0 PST}
+ {2059034400 -25200 1 PDT}
+ {2077174800 -28800 0 PST}
+ {2091088800 -25200 1 PDT}
+ {2108624400 -28800 0 PST}
+ {2122538400 -25200 1 PDT}
+ {2140074000 -28800 0 PST}
+ {2153988000 -25200 1 PDT}
+ {2172128400 -28800 0 PST}
+ {2185437600 -25200 1 PDT}
+ {2203578000 -28800 0 PST}
+ {2216887200 -25200 1 PDT}
+ {2235027600 -28800 0 PST}
+ {2248941600 -25200 1 PDT}
+ {2266477200 -28800 0 PST}
+ {2280391200 -25200 1 PDT}
+ {2297926800 -28800 0 PST}
+ {2311840800 -25200 1 PDT}
+ {2329376400 -28800 0 PST}
+ {2343290400 -25200 1 PDT}
+ {2361430800 -28800 0 PST}
+ {2374740000 -25200 1 PDT}
+ {2392880400 -28800 0 PST}
+ {2406189600 -25200 1 PDT}
+ {2424330000 -28800 0 PST}
+ {2438244000 -25200 1 PDT}
+ {2455779600 -28800 0 PST}
+ {2469693600 -25200 1 PDT}
+ {2487229200 -28800 0 PST}
+ {2501143200 -25200 1 PDT}
+ {2519283600 -28800 0 PST}
+ {2532592800 -25200 1 PDT}
+ {2550733200 -28800 0 PST}
+ {2564042400 -25200 1 PDT}
+ {2582182800 -28800 0 PST}
+ {2596096800 -25200 1 PDT}
+ {2613632400 -28800 0 PST}
+ {2627546400 -25200 1 PDT}
+ {2645082000 -28800 0 PST}
+ {2658996000 -25200 1 PDT}
+ {2676531600 -28800 0 PST}
+ {2690445600 -25200 1 PDT}
+ {2708586000 -28800 0 PST}
+ {2721895200 -25200 1 PDT}
+ {2740035600 -28800 0 PST}
+ {2753344800 -25200 1 PDT}
+ {2771485200 -28800 0 PST}
+ {2785399200 -25200 1 PDT}
+ {2802934800 -28800 0 PST}
+ {2816848800 -25200 1 PDT}
+ {2834384400 -28800 0 PST}
+ {2848298400 -25200 1 PDT}
+ {2866438800 -28800 0 PST}
+ {2879748000 -25200 1 PDT}
+ {2897888400 -28800 0 PST}
+ {2911197600 -25200 1 PDT}
+ {2929338000 -28800 0 PST}
+ {2942647200 -25200 1 PDT}
+ {2960787600 -28800 0 PST}
+ {2974701600 -25200 1 PDT}
+ {2992237200 -28800 0 PST}
+ {3006151200 -25200 1 PDT}
+ {3023686800 -28800 0 PST}
+ {3037600800 -25200 1 PDT}
+ {3055741200 -28800 0 PST}
+ {3069050400 -25200 1 PDT}
+ {3087190800 -28800 0 PST}
+ {3100500000 -25200 1 PDT}
+ {3118640400 -28800 0 PST}
+ {3132554400 -25200 1 PDT}
+ {3150090000 -28800 0 PST}
+ {3164004000 -25200 1 PDT}
+ {3181539600 -28800 0 PST}
+ {3195453600 -25200 1 PDT}
+ {3212989200 -28800 0 PST}
+ {3226903200 -25200 1 PDT}
+ {3245043600 -28800 0 PST}
+ {3258352800 -25200 1 PDT}
+ {3276493200 -28800 0 PST}
+ {3289802400 -25200 1 PDT}
+ {3307942800 -28800 0 PST}
+ {3321856800 -25200 1 PDT}
+ {3339392400 -28800 0 PST}
+ {3353306400 -25200 1 PDT}
+ {3370842000 -28800 0 PST}
+ {3384756000 -25200 1 PDT}
+ {3402896400 -28800 0 PST}
+ {3416205600 -25200 1 PDT}
+ {3434346000 -28800 0 PST}
+ {3447655200 -25200 1 PDT}
+ {3465795600 -28800 0 PST}
+ {3479709600 -25200 1 PDT}
+ {3497245200 -28800 0 PST}
+ {3511159200 -25200 1 PDT}
+ {3528694800 -28800 0 PST}
+ {3542608800 -25200 1 PDT}
+ {3560144400 -28800 0 PST}
+ {3574058400 -25200 1 PDT}
+ {3592198800 -28800 0 PST}
+ {3605508000 -25200 1 PDT}
+ {3623648400 -28800 0 PST}
+ {3636957600 -25200 1 PDT}
+ {3655098000 -28800 0 PST}
+ {3669012000 -25200 1 PDT}
+ {3686547600 -28800 0 PST}
+ {3700461600 -25200 1 PDT}
+ {3717997200 -28800 0 PST}
+ {3731911200 -25200 1 PDT}
+ {3750051600 -28800 0 PST}
+ {3763360800 -25200 1 PDT}
+ {3781501200 -28800 0 PST}
+ {3794810400 -25200 1 PDT}
+ {3812950800 -28800 0 PST}
+ {3826260000 -25200 1 PDT}
+ {3844400400 -28800 0 PST}
+ {3858314400 -25200 1 PDT}
+ {3875850000 -28800 0 PST}
+ {3889764000 -25200 1 PDT}
+ {3907299600 -28800 0 PST}
+ {3921213600 -25200 1 PDT}
+ {3939354000 -28800 0 PST}
+ {3952663200 -25200 1 PDT}
+ {3970803600 -28800 0 PST}
+ {3984112800 -25200 1 PDT}
+ {4002253200 -28800 0 PST}
+ {4016167200 -25200 1 PDT}
+ {4033702800 -28800 0 PST}
+ {4047616800 -25200 1 PDT}
+ {4065152400 -28800 0 PST}
+ {4079066400 -25200 1 PDT}
+ {4096602000 -28800 0 PST}
+}
diff --git a/library/tzdata/America/Virgin b/library/tzdata/America/Virgin
new file mode 100644
index 0000000..89dd8eb
--- /dev/null
+++ b/library/tzdata/America/Virgin
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/St_Thomas)]} {
+ loadTimeZoneFile America/St_Thomas
+}
+set tzdata(:America/Virgin) $TZData(:America/St_Thomas)
diff --git a/library/tzdata/America/Whitehorse b/library/tzdata/America/Whitehorse
new file mode 100644
index 0000000..1bb839d
--- /dev/null
+++ b/library/tzdata/America/Whitehorse
@@ -0,0 +1,256 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Whitehorse) {
+ {-9223372036854775808 -32412 0 LMT}
+ {-2188997988 -32400 0 YST}
+ {-1632056400 -28800 1 YDT}
+ {-1615125600 -32400 0 YST}
+ {-1596978000 -28800 1 YDT}
+ {-1583164800 -32400 0 YST}
+ {-880203600 -28800 1 YWT}
+ {-769395600 -28800 1 YPT}
+ {-765381600 -32400 0 YST}
+ {-147884400 -25200 1 YDDT}
+ {-131554800 -32400 0 YST}
+ {-110552400 -28800 0 PST}
+ {325677600 -25200 1 PDT}
+ {341398800 -28800 0 PST}
+ {357127200 -25200 1 PDT}
+ {372848400 -28800 0 PST}
+ {388576800 -25200 1 PDT}
+ {404902800 -28800 0 PST}
+ {420026400 -25200 1 PDT}
+ {436352400 -28800 0 PST}
+ {452080800 -25200 1 PDT}
+ {467802000 -28800 0 PST}
+ {483530400 -25200 1 PDT}
+ {499251600 -28800 0 PST}
+ {514980000 -25200 1 PDT}
+ {530701200 -28800 0 PST}
+ {544615200 -25200 1 PDT}
+ {562150800 -28800 0 PST}
+ {576064800 -25200 1 PDT}
+ {594205200 -28800 0 PST}
+ {607514400 -25200 1 PDT}
+ {625654800 -28800 0 PST}
+ {638964000 -25200 1 PDT}
+ {657104400 -28800 0 PST}
+ {671018400 -25200 1 PDT}
+ {688554000 -28800 0 PST}
+ {702468000 -25200 1 PDT}
+ {720003600 -28800 0 PST}
+ {733917600 -25200 1 PDT}
+ {752058000 -28800 0 PST}
+ {765367200 -25200 1 PDT}
+ {783507600 -28800 0 PST}
+ {796816800 -25200 1 PDT}
+ {814957200 -28800 0 PST}
+ {828871200 -25200 1 PDT}
+ {846406800 -28800 0 PST}
+ {860320800 -25200 1 PDT}
+ {877856400 -28800 0 PST}
+ {891770400 -25200 1 PDT}
+ {909306000 -28800 0 PST}
+ {923220000 -25200 1 PDT}
+ {941360400 -28800 0 PST}
+ {954669600 -25200 1 PDT}
+ {972810000 -28800 0 PST}
+ {986119200 -25200 1 PDT}
+ {1004259600 -28800 0 PST}
+ {1018173600 -25200 1 PDT}
+ {1035709200 -28800 0 PST}
+ {1049623200 -25200 1 PDT}
+ {1067158800 -28800 0 PST}
+ {1081072800 -25200 1 PDT}
+ {1099213200 -28800 0 PST}
+ {1112522400 -25200 1 PDT}
+ {1130662800 -28800 0 PST}
+ {1143972000 -25200 1 PDT}
+ {1162112400 -28800 0 PST}
+ {1175421600 -25200 1 PDT}
+ {1193562000 -28800 0 PST}
+ {1207476000 -25200 1 PDT}
+ {1225011600 -28800 0 PST}
+ {1238925600 -25200 1 PDT}
+ {1256461200 -28800 0 PST}
+ {1270375200 -25200 1 PDT}
+ {1288515600 -28800 0 PST}
+ {1301824800 -25200 1 PDT}
+ {1319965200 -28800 0 PST}
+ {1333274400 -25200 1 PDT}
+ {1351414800 -28800 0 PST}
+ {1365328800 -25200 1 PDT}
+ {1382864400 -28800 0 PST}
+ {1396778400 -25200 1 PDT}
+ {1414314000 -28800 0 PST}
+ {1428228000 -25200 1 PDT}
+ {1445763600 -28800 0 PST}
+ {1459677600 -25200 1 PDT}
+ {1477818000 -28800 0 PST}
+ {1491127200 -25200 1 PDT}
+ {1509267600 -28800 0 PST}
+ {1522576800 -25200 1 PDT}
+ {1540717200 -28800 0 PST}
+ {1554631200 -25200 1 PDT}
+ {1572166800 -28800 0 PST}
+ {1586080800 -25200 1 PDT}
+ {1603616400 -28800 0 PST}
+ {1617530400 -25200 1 PDT}
+ {1635670800 -28800 0 PST}
+ {1648980000 -25200 1 PDT}
+ {1667120400 -28800 0 PST}
+ {1680429600 -25200 1 PDT}
+ {1698570000 -28800 0 PST}
+ {1712484000 -25200 1 PDT}
+ {1730019600 -28800 0 PST}
+ {1743933600 -25200 1 PDT}
+ {1761469200 -28800 0 PST}
+ {1775383200 -25200 1 PDT}
+ {1792918800 -28800 0 PST}
+ {1806832800 -25200 1 PDT}
+ {1824973200 -28800 0 PST}
+ {1838282400 -25200 1 PDT}
+ {1856422800 -28800 0 PST}
+ {1869732000 -25200 1 PDT}
+ {1887872400 -28800 0 PST}
+ {1901786400 -25200 1 PDT}
+ {1919322000 -28800 0 PST}
+ {1933236000 -25200 1 PDT}
+ {1950771600 -28800 0 PST}
+ {1964685600 -25200 1 PDT}
+ {1982826000 -28800 0 PST}
+ {1996135200 -25200 1 PDT}
+ {2014275600 -28800 0 PST}
+ {2027584800 -25200 1 PDT}
+ {2045725200 -28800 0 PST}
+ {2059034400 -25200 1 PDT}
+ {2077174800 -28800 0 PST}
+ {2091088800 -25200 1 PDT}
+ {2108624400 -28800 0 PST}
+ {2122538400 -25200 1 PDT}
+ {2140074000 -28800 0 PST}
+ {2153988000 -25200 1 PDT}
+ {2172128400 -28800 0 PST}
+ {2185437600 -25200 1 PDT}
+ {2203578000 -28800 0 PST}
+ {2216887200 -25200 1 PDT}
+ {2235027600 -28800 0 PST}
+ {2248941600 -25200 1 PDT}
+ {2266477200 -28800 0 PST}
+ {2280391200 -25200 1 PDT}
+ {2297926800 -28800 0 PST}
+ {2311840800 -25200 1 PDT}
+ {2329376400 -28800 0 PST}
+ {2343290400 -25200 1 PDT}
+ {2361430800 -28800 0 PST}
+ {2374740000 -25200 1 PDT}
+ {2392880400 -28800 0 PST}
+ {2406189600 -25200 1 PDT}
+ {2424330000 -28800 0 PST}
+ {2438244000 -25200 1 PDT}
+ {2455779600 -28800 0 PST}
+ {2469693600 -25200 1 PDT}
+ {2487229200 -28800 0 PST}
+ {2501143200 -25200 1 PDT}
+ {2519283600 -28800 0 PST}
+ {2532592800 -25200 1 PDT}
+ {2550733200 -28800 0 PST}
+ {2564042400 -25200 1 PDT}
+ {2582182800 -28800 0 PST}
+ {2596096800 -25200 1 PDT}
+ {2613632400 -28800 0 PST}
+ {2627546400 -25200 1 PDT}
+ {2645082000 -28800 0 PST}
+ {2658996000 -25200 1 PDT}
+ {2676531600 -28800 0 PST}
+ {2690445600 -25200 1 PDT}
+ {2708586000 -28800 0 PST}
+ {2721895200 -25200 1 PDT}
+ {2740035600 -28800 0 PST}
+ {2753344800 -25200 1 PDT}
+ {2771485200 -28800 0 PST}
+ {2785399200 -25200 1 PDT}
+ {2802934800 -28800 0 PST}
+ {2816848800 -25200 1 PDT}
+ {2834384400 -28800 0 PST}
+ {2848298400 -25200 1 PDT}
+ {2866438800 -28800 0 PST}
+ {2879748000 -25200 1 PDT}
+ {2897888400 -28800 0 PST}
+ {2911197600 -25200 1 PDT}
+ {2929338000 -28800 0 PST}
+ {2942647200 -25200 1 PDT}
+ {2960787600 -28800 0 PST}
+ {2974701600 -25200 1 PDT}
+ {2992237200 -28800 0 PST}
+ {3006151200 -25200 1 PDT}
+ {3023686800 -28800 0 PST}
+ {3037600800 -25200 1 PDT}
+ {3055741200 -28800 0 PST}
+ {3069050400 -25200 1 PDT}
+ {3087190800 -28800 0 PST}
+ {3100500000 -25200 1 PDT}
+ {3118640400 -28800 0 PST}
+ {3132554400 -25200 1 PDT}
+ {3150090000 -28800 0 PST}
+ {3164004000 -25200 1 PDT}
+ {3181539600 -28800 0 PST}
+ {3195453600 -25200 1 PDT}
+ {3212989200 -28800 0 PST}
+ {3226903200 -25200 1 PDT}
+ {3245043600 -28800 0 PST}
+ {3258352800 -25200 1 PDT}
+ {3276493200 -28800 0 PST}
+ {3289802400 -25200 1 PDT}
+ {3307942800 -28800 0 PST}
+ {3321856800 -25200 1 PDT}
+ {3339392400 -28800 0 PST}
+ {3353306400 -25200 1 PDT}
+ {3370842000 -28800 0 PST}
+ {3384756000 -25200 1 PDT}
+ {3402896400 -28800 0 PST}
+ {3416205600 -25200 1 PDT}
+ {3434346000 -28800 0 PST}
+ {3447655200 -25200 1 PDT}
+ {3465795600 -28800 0 PST}
+ {3479709600 -25200 1 PDT}
+ {3497245200 -28800 0 PST}
+ {3511159200 -25200 1 PDT}
+ {3528694800 -28800 0 PST}
+ {3542608800 -25200 1 PDT}
+ {3560144400 -28800 0 PST}
+ {3574058400 -25200 1 PDT}
+ {3592198800 -28800 0 PST}
+ {3605508000 -25200 1 PDT}
+ {3623648400 -28800 0 PST}
+ {3636957600 -25200 1 PDT}
+ {3655098000 -28800 0 PST}
+ {3669012000 -25200 1 PDT}
+ {3686547600 -28800 0 PST}
+ {3700461600 -25200 1 PDT}
+ {3717997200 -28800 0 PST}
+ {3731911200 -25200 1 PDT}
+ {3750051600 -28800 0 PST}
+ {3763360800 -25200 1 PDT}
+ {3781501200 -28800 0 PST}
+ {3794810400 -25200 1 PDT}
+ {3812950800 -28800 0 PST}
+ {3826260000 -25200 1 PDT}
+ {3844400400 -28800 0 PST}
+ {3858314400 -25200 1 PDT}
+ {3875850000 -28800 0 PST}
+ {3889764000 -25200 1 PDT}
+ {3907299600 -28800 0 PST}
+ {3921213600 -25200 1 PDT}
+ {3939354000 -28800 0 PST}
+ {3952663200 -25200 1 PDT}
+ {3970803600 -28800 0 PST}
+ {3984112800 -25200 1 PDT}
+ {4002253200 -28800 0 PST}
+ {4016167200 -25200 1 PDT}
+ {4033702800 -28800 0 PST}
+ {4047616800 -25200 1 PDT}
+ {4065152400 -28800 0 PST}
+ {4079066400 -25200 1 PDT}
+ {4096602000 -28800 0 PST}
+}
diff --git a/library/tzdata/America/Winnipeg b/library/tzdata/America/Winnipeg
new file mode 100644
index 0000000..bc52ac4
--- /dev/null
+++ b/library/tzdata/America/Winnipeg
@@ -0,0 +1,315 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Winnipeg) {
+ {-9223372036854775808 -23316 0 LMT}
+ {-2602258284 -21600 0 CST}
+ {-1694368800 -18000 1 CDT}
+ {-1681671600 -21600 0 CST}
+ {-1632067200 -18000 1 CDT}
+ {-1614790800 -21600 0 CST}
+ {-1029686400 -18000 1 CDT}
+ {-1018198800 -21600 0 CST}
+ {-880214400 -18000 1 CWT}
+ {-769395600 -18000 1 CPT}
+ {-765392400 -21600 0 CST}
+ {-746035200 -18000 1 CDT}
+ {-732733200 -21600 0 CST}
+ {-715795200 -18000 1 CDT}
+ {-702493200 -21600 0 CST}
+ {-684345600 -18000 1 CDT}
+ {-671043600 -21600 0 CST}
+ {-652896000 -18000 1 CDT}
+ {-639594000 -21600 0 CST}
+ {-620755200 -18000 1 CDT}
+ {-607626000 -21600 0 CST}
+ {-589392000 -18000 1 CDT}
+ {-576090000 -21600 0 CST}
+ {-557942400 -18000 1 CDT}
+ {-544640400 -21600 0 CST}
+ {-526492800 -18000 1 CDT}
+ {-513190800 -21600 0 CST}
+ {-495043200 -18000 1 CDT}
+ {-481741200 -21600 0 CST}
+ {-463593600 -18000 1 CDT}
+ {-450291600 -21600 0 CST}
+ {-431539200 -18000 1 CDT}
+ {-418237200 -21600 0 CST}
+ {-400089600 -18000 1 CDT}
+ {-386787600 -21600 0 CST}
+ {-368640000 -18000 1 CDT}
+ {-355338000 -21600 0 CST}
+ {-337190400 -18000 1 CDT}
+ {-321469200 -21600 0 CST}
+ {-305740800 -18000 1 CDT}
+ {-292438800 -21600 0 CST}
+ {-210787200 -18000 1 CDT}
+ {-198090000 -21600 0 CST}
+ {-116438400 -18000 1 CDT}
+ {-100112400 -21600 0 CST}
+ {-84384000 -18000 1 CDT}
+ {-68662800 -21600 0 CST}
+ {-52934400 -18000 1 CDT}
+ {-37213200 -21600 0 CST}
+ {-21484800 -18000 1 CDT}
+ {-5763600 -21600 0 CST}
+ {9964800 -18000 1 CDT}
+ {25686000 -21600 0 CST}
+ {41414400 -18000 1 CDT}
+ {57740400 -21600 0 CST}
+ {73468800 -18000 1 CDT}
+ {89190000 -21600 0 CST}
+ {104918400 -18000 1 CDT}
+ {120639600 -21600 0 CST}
+ {136368000 -18000 1 CDT}
+ {152089200 -21600 0 CST}
+ {167817600 -18000 1 CDT}
+ {183538800 -21600 0 CST}
+ {199267200 -18000 1 CDT}
+ {215593200 -21600 0 CST}
+ {230716800 -18000 1 CDT}
+ {247042800 -21600 0 CST}
+ {262771200 -18000 1 CDT}
+ {278492400 -21600 0 CST}
+ {294220800 -18000 1 CDT}
+ {309942000 -21600 0 CST}
+ {325670400 -18000 1 CDT}
+ {341391600 -21600 0 CST}
+ {357120000 -18000 1 CDT}
+ {372841200 -21600 0 CST}
+ {388569600 -18000 1 CDT}
+ {404895600 -21600 0 CST}
+ {420019200 -18000 1 CDT}
+ {436345200 -21600 0 CST}
+ {452073600 -18000 1 CDT}
+ {467794800 -21600 0 CST}
+ {483523200 -18000 1 CDT}
+ {499244400 -21600 0 CST}
+ {514972800 -18000 1 CDT}
+ {530694000 -21600 0 CST}
+ {544608000 -18000 1 CDT}
+ {562125600 -21600 0 CST}
+ {576057600 -18000 1 CDT}
+ {594180000 -21600 0 CST}
+ {607507200 -18000 1 CDT}
+ {625629600 -21600 0 CST}
+ {638956800 -18000 1 CDT}
+ {657079200 -21600 0 CST}
+ {671011200 -18000 1 CDT}
+ {688528800 -21600 0 CST}
+ {702460800 -18000 1 CDT}
+ {719978400 -21600 0 CST}
+ {733910400 -18000 1 CDT}
+ {752032800 -21600 0 CST}
+ {765360000 -18000 1 CDT}
+ {783482400 -21600 0 CST}
+ {796809600 -18000 1 CDT}
+ {814932000 -21600 0 CST}
+ {828864000 -18000 1 CDT}
+ {846381600 -21600 0 CST}
+ {860313600 -18000 1 CDT}
+ {877831200 -21600 0 CST}
+ {891763200 -18000 1 CDT}
+ {909280800 -21600 0 CST}
+ {923212800 -18000 1 CDT}
+ {941335200 -21600 0 CST}
+ {954662400 -18000 1 CDT}
+ {972784800 -21600 0 CST}
+ {986112000 -18000 1 CDT}
+ {1004234400 -21600 0 CST}
+ {1018166400 -18000 1 CDT}
+ {1035684000 -21600 0 CST}
+ {1049616000 -18000 1 CDT}
+ {1067133600 -21600 0 CST}
+ {1081065600 -18000 1 CDT}
+ {1099188000 -21600 0 CST}
+ {1112515200 -18000 1 CDT}
+ {1130637600 -21600 0 CST}
+ {1143964800 -18000 1 CDT}
+ {1162087200 -21600 0 CST}
+ {1175414400 -18000 1 CDT}
+ {1193536800 -21600 0 CST}
+ {1207468800 -18000 1 CDT}
+ {1224986400 -21600 0 CST}
+ {1238918400 -18000 1 CDT}
+ {1256436000 -21600 0 CST}
+ {1270368000 -18000 1 CDT}
+ {1288490400 -21600 0 CST}
+ {1301817600 -18000 1 CDT}
+ {1319940000 -21600 0 CST}
+ {1333267200 -18000 1 CDT}
+ {1351389600 -21600 0 CST}
+ {1365321600 -18000 1 CDT}
+ {1382839200 -21600 0 CST}
+ {1396771200 -18000 1 CDT}
+ {1414288800 -21600 0 CST}
+ {1428220800 -18000 1 CDT}
+ {1445738400 -21600 0 CST}
+ {1459670400 -18000 1 CDT}
+ {1477792800 -21600 0 CST}
+ {1491120000 -18000 1 CDT}
+ {1509242400 -21600 0 CST}
+ {1522569600 -18000 1 CDT}
+ {1540692000 -21600 0 CST}
+ {1554624000 -18000 1 CDT}
+ {1572141600 -21600 0 CST}
+ {1586073600 -18000 1 CDT}
+ {1603591200 -21600 0 CST}
+ {1617523200 -18000 1 CDT}
+ {1635645600 -21600 0 CST}
+ {1648972800 -18000 1 CDT}
+ {1667095200 -21600 0 CST}
+ {1680422400 -18000 1 CDT}
+ {1698544800 -21600 0 CST}
+ {1712476800 -18000 1 CDT}
+ {1729994400 -21600 0 CST}
+ {1743926400 -18000 1 CDT}
+ {1761444000 -21600 0 CST}
+ {1775376000 -18000 1 CDT}
+ {1792893600 -21600 0 CST}
+ {1806825600 -18000 1 CDT}
+ {1824948000 -21600 0 CST}
+ {1838275200 -18000 1 CDT}
+ {1856397600 -21600 0 CST}
+ {1869724800 -18000 1 CDT}
+ {1887847200 -21600 0 CST}
+ {1901779200 -18000 1 CDT}
+ {1919296800 -21600 0 CST}
+ {1933228800 -18000 1 CDT}
+ {1950746400 -21600 0 CST}
+ {1964678400 -18000 1 CDT}
+ {1982800800 -21600 0 CST}
+ {1996128000 -18000 1 CDT}
+ {2014250400 -21600 0 CST}
+ {2027577600 -18000 1 CDT}
+ {2045700000 -21600 0 CST}
+ {2059027200 -18000 1 CDT}
+ {2077149600 -21600 0 CST}
+ {2091081600 -18000 1 CDT}
+ {2108599200 -21600 0 CST}
+ {2122531200 -18000 1 CDT}
+ {2140048800 -21600 0 CST}
+ {2153980800 -18000 1 CDT}
+ {2172103200 -21600 0 CST}
+ {2185430400 -18000 1 CDT}
+ {2203552800 -21600 0 CST}
+ {2216880000 -18000 1 CDT}
+ {2235002400 -21600 0 CST}
+ {2248934400 -18000 1 CDT}
+ {2266452000 -21600 0 CST}
+ {2280384000 -18000 1 CDT}
+ {2297901600 -21600 0 CST}
+ {2311833600 -18000 1 CDT}
+ {2329351200 -21600 0 CST}
+ {2343283200 -18000 1 CDT}
+ {2361405600 -21600 0 CST}
+ {2374732800 -18000 1 CDT}
+ {2392855200 -21600 0 CST}
+ {2406182400 -18000 1 CDT}
+ {2424304800 -21600 0 CST}
+ {2438236800 -18000 1 CDT}
+ {2455754400 -21600 0 CST}
+ {2469686400 -18000 1 CDT}
+ {2487204000 -21600 0 CST}
+ {2501136000 -18000 1 CDT}
+ {2519258400 -21600 0 CST}
+ {2532585600 -18000 1 CDT}
+ {2550708000 -21600 0 CST}
+ {2564035200 -18000 1 CDT}
+ {2582157600 -21600 0 CST}
+ {2596089600 -18000 1 CDT}
+ {2613607200 -21600 0 CST}
+ {2627539200 -18000 1 CDT}
+ {2645056800 -21600 0 CST}
+ {2658988800 -18000 1 CDT}
+ {2676506400 -21600 0 CST}
+ {2690438400 -18000 1 CDT}
+ {2708560800 -21600 0 CST}
+ {2721888000 -18000 1 CDT}
+ {2740010400 -21600 0 CST}
+ {2753337600 -18000 1 CDT}
+ {2771460000 -21600 0 CST}
+ {2785392000 -18000 1 CDT}
+ {2802909600 -21600 0 CST}
+ {2816841600 -18000 1 CDT}
+ {2834359200 -21600 0 CST}
+ {2848291200 -18000 1 CDT}
+ {2866413600 -21600 0 CST}
+ {2879740800 -18000 1 CDT}
+ {2897863200 -21600 0 CST}
+ {2911190400 -18000 1 CDT}
+ {2929312800 -21600 0 CST}
+ {2942640000 -18000 1 CDT}
+ {2960762400 -21600 0 CST}
+ {2974694400 -18000 1 CDT}
+ {2992212000 -21600 0 CST}
+ {3006144000 -18000 1 CDT}
+ {3023661600 -21600 0 CST}
+ {3037593600 -18000 1 CDT}
+ {3055716000 -21600 0 CST}
+ {3069043200 -18000 1 CDT}
+ {3087165600 -21600 0 CST}
+ {3100492800 -18000 1 CDT}
+ {3118615200 -21600 0 CST}
+ {3132547200 -18000 1 CDT}
+ {3150064800 -21600 0 CST}
+ {3163996800 -18000 1 CDT}
+ {3181514400 -21600 0 CST}
+ {3195446400 -18000 1 CDT}
+ {3212964000 -21600 0 CST}
+ {3226896000 -18000 1 CDT}
+ {3245018400 -21600 0 CST}
+ {3258345600 -18000 1 CDT}
+ {3276468000 -21600 0 CST}
+ {3289795200 -18000 1 CDT}
+ {3307917600 -21600 0 CST}
+ {3321849600 -18000 1 CDT}
+ {3339367200 -21600 0 CST}
+ {3353299200 -18000 1 CDT}
+ {3370816800 -21600 0 CST}
+ {3384748800 -18000 1 CDT}
+ {3402871200 -21600 0 CST}
+ {3416198400 -18000 1 CDT}
+ {3434320800 -21600 0 CST}
+ {3447648000 -18000 1 CDT}
+ {3465770400 -21600 0 CST}
+ {3479702400 -18000 1 CDT}
+ {3497220000 -21600 0 CST}
+ {3511152000 -18000 1 CDT}
+ {3528669600 -21600 0 CST}
+ {3542601600 -18000 1 CDT}
+ {3560119200 -21600 0 CST}
+ {3574051200 -18000 1 CDT}
+ {3592173600 -21600 0 CST}
+ {3605500800 -18000 1 CDT}
+ {3623623200 -21600 0 CST}
+ {3636950400 -18000 1 CDT}
+ {3655072800 -21600 0 CST}
+ {3669004800 -18000 1 CDT}
+ {3686522400 -21600 0 CST}
+ {3700454400 -18000 1 CDT}
+ {3717972000 -21600 0 CST}
+ {3731904000 -18000 1 CDT}
+ {3750026400 -21600 0 CST}
+ {3763353600 -18000 1 CDT}
+ {3781476000 -21600 0 CST}
+ {3794803200 -18000 1 CDT}
+ {3812925600 -21600 0 CST}
+ {3826252800 -18000 1 CDT}
+ {3844375200 -21600 0 CST}
+ {3858307200 -18000 1 CDT}
+ {3875824800 -21600 0 CST}
+ {3889756800 -18000 1 CDT}
+ {3907274400 -21600 0 CST}
+ {3921206400 -18000 1 CDT}
+ {3939328800 -21600 0 CST}
+ {3952656000 -18000 1 CDT}
+ {3970778400 -21600 0 CST}
+ {3984105600 -18000 1 CDT}
+ {4002228000 -21600 0 CST}
+ {4016160000 -18000 1 CDT}
+ {4033677600 -21600 0 CST}
+ {4047609600 -18000 1 CDT}
+ {4065127200 -21600 0 CST}
+ {4079059200 -18000 1 CDT}
+ {4096576800 -21600 0 CST}
+}
diff --git a/library/tzdata/America/Yakutat b/library/tzdata/America/Yakutat
new file mode 100644
index 0000000..c583af4
--- /dev/null
+++ b/library/tzdata/America/Yakutat
@@ -0,0 +1,276 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Yakutat) {
+ {-9223372036854775808 52865 0 LMT}
+ {-3225364865 -33535 0 LMT}
+ {-2188953665 -32400 0 YST}
+ {-883580400 -32400 0 YST}
+ {-880203600 -28800 1 YWT}
+ {-769395600 -28800 1 YPT}
+ {-765381600 -32400 0 YST}
+ {-757350000 -32400 0 YST}
+ {-31503600 -32400 0 YST}
+ {-21474000 -28800 1 YDT}
+ {-5752800 -32400 0 YST}
+ {9975600 -28800 1 YDT}
+ {25696800 -32400 0 YST}
+ {41425200 -28800 1 YDT}
+ {57751200 -32400 0 YST}
+ {73479600 -28800 1 YDT}
+ {89200800 -32400 0 YST}
+ {104929200 -28800 1 YDT}
+ {120650400 -32400 0 YST}
+ {126702000 -28800 1 YDT}
+ {152100000 -32400 0 YST}
+ {162385200 -28800 1 YDT}
+ {183549600 -32400 0 YST}
+ {199278000 -28800 1 YDT}
+ {215604000 -32400 0 YST}
+ {230727600 -28800 1 YDT}
+ {247053600 -32400 0 YST}
+ {262782000 -28800 1 YDT}
+ {278503200 -32400 0 YST}
+ {294231600 -28800 1 YDT}
+ {309952800 -32400 0 YST}
+ {325681200 -28800 1 YDT}
+ {341402400 -32400 0 YST}
+ {357130800 -28800 1 YDT}
+ {372852000 -32400 0 YST}
+ {388580400 -28800 1 YDT}
+ {404906400 -32400 0 YST}
+ {420030000 -28800 1 YDT}
+ {436356000 -32400 0 YST}
+ {439030800 -32400 0 AKST}
+ {452084400 -28800 1 AKDT}
+ {467805600 -32400 0 AKST}
+ {483534000 -28800 1 AKDT}
+ {499255200 -32400 0 AKST}
+ {514983600 -28800 1 AKDT}
+ {530704800 -32400 0 AKST}
+ {544618800 -28800 1 AKDT}
+ {562154400 -32400 0 AKST}
+ {576068400 -28800 1 AKDT}
+ {594208800 -32400 0 AKST}
+ {607518000 -28800 1 AKDT}
+ {625658400 -32400 0 AKST}
+ {638967600 -28800 1 AKDT}
+ {657108000 -32400 0 AKST}
+ {671022000 -28800 1 AKDT}
+ {688557600 -32400 0 AKST}
+ {702471600 -28800 1 AKDT}
+ {720007200 -32400 0 AKST}
+ {733921200 -28800 1 AKDT}
+ {752061600 -32400 0 AKST}
+ {765370800 -28800 1 AKDT}
+ {783511200 -32400 0 AKST}
+ {796820400 -28800 1 AKDT}
+ {814960800 -32400 0 AKST}
+ {828874800 -28800 1 AKDT}
+ {846410400 -32400 0 AKST}
+ {860324400 -28800 1 AKDT}
+ {877860000 -32400 0 AKST}
+ {891774000 -28800 1 AKDT}
+ {909309600 -32400 0 AKST}
+ {923223600 -28800 1 AKDT}
+ {941364000 -32400 0 AKST}
+ {954673200 -28800 1 AKDT}
+ {972813600 -32400 0 AKST}
+ {986122800 -28800 1 AKDT}
+ {1004263200 -32400 0 AKST}
+ {1018177200 -28800 1 AKDT}
+ {1035712800 -32400 0 AKST}
+ {1049626800 -28800 1 AKDT}
+ {1067162400 -32400 0 AKST}
+ {1081076400 -28800 1 AKDT}
+ {1099216800 -32400 0 AKST}
+ {1112526000 -28800 1 AKDT}
+ {1130666400 -32400 0 AKST}
+ {1143975600 -28800 1 AKDT}
+ {1162116000 -32400 0 AKST}
+ {1175425200 -28800 1 AKDT}
+ {1193565600 -32400 0 AKST}
+ {1207479600 -28800 1 AKDT}
+ {1225015200 -32400 0 AKST}
+ {1238929200 -28800 1 AKDT}
+ {1256464800 -32400 0 AKST}
+ {1270378800 -28800 1 AKDT}
+ {1288519200 -32400 0 AKST}
+ {1301828400 -28800 1 AKDT}
+ {1319968800 -32400 0 AKST}
+ {1333278000 -28800 1 AKDT}
+ {1351418400 -32400 0 AKST}
+ {1365332400 -28800 1 AKDT}
+ {1382868000 -32400 0 AKST}
+ {1396782000 -28800 1 AKDT}
+ {1414317600 -32400 0 AKST}
+ {1428231600 -28800 1 AKDT}
+ {1445767200 -32400 0 AKST}
+ {1459681200 -28800 1 AKDT}
+ {1477821600 -32400 0 AKST}
+ {1491130800 -28800 1 AKDT}
+ {1509271200 -32400 0 AKST}
+ {1522580400 -28800 1 AKDT}
+ {1540720800 -32400 0 AKST}
+ {1554634800 -28800 1 AKDT}
+ {1572170400 -32400 0 AKST}
+ {1586084400 -28800 1 AKDT}
+ {1603620000 -32400 0 AKST}
+ {1617534000 -28800 1 AKDT}
+ {1635674400 -32400 0 AKST}
+ {1648983600 -28800 1 AKDT}
+ {1667124000 -32400 0 AKST}
+ {1680433200 -28800 1 AKDT}
+ {1698573600 -32400 0 AKST}
+ {1712487600 -28800 1 AKDT}
+ {1730023200 -32400 0 AKST}
+ {1743937200 -28800 1 AKDT}
+ {1761472800 -32400 0 AKST}
+ {1775386800 -28800 1 AKDT}
+ {1792922400 -32400 0 AKST}
+ {1806836400 -28800 1 AKDT}
+ {1824976800 -32400 0 AKST}
+ {1838286000 -28800 1 AKDT}
+ {1856426400 -32400 0 AKST}
+ {1869735600 -28800 1 AKDT}
+ {1887876000 -32400 0 AKST}
+ {1901790000 -28800 1 AKDT}
+ {1919325600 -32400 0 AKST}
+ {1933239600 -28800 1 AKDT}
+ {1950775200 -32400 0 AKST}
+ {1964689200 -28800 1 AKDT}
+ {1982829600 -32400 0 AKST}
+ {1996138800 -28800 1 AKDT}
+ {2014279200 -32400 0 AKST}
+ {2027588400 -28800 1 AKDT}
+ {2045728800 -32400 0 AKST}
+ {2059038000 -28800 1 AKDT}
+ {2077178400 -32400 0 AKST}
+ {2091092400 -28800 1 AKDT}
+ {2108628000 -32400 0 AKST}
+ {2122542000 -28800 1 AKDT}
+ {2140077600 -32400 0 AKST}
+ {2153991600 -28800 1 AKDT}
+ {2172132000 -32400 0 AKST}
+ {2185441200 -28800 1 AKDT}
+ {2203581600 -32400 0 AKST}
+ {2216890800 -28800 1 AKDT}
+ {2235031200 -32400 0 AKST}
+ {2248945200 -28800 1 AKDT}
+ {2266480800 -32400 0 AKST}
+ {2280394800 -28800 1 AKDT}
+ {2297930400 -32400 0 AKST}
+ {2311844400 -28800 1 AKDT}
+ {2329380000 -32400 0 AKST}
+ {2343294000 -28800 1 AKDT}
+ {2361434400 -32400 0 AKST}
+ {2374743600 -28800 1 AKDT}
+ {2392884000 -32400 0 AKST}
+ {2406193200 -28800 1 AKDT}
+ {2424333600 -32400 0 AKST}
+ {2438247600 -28800 1 AKDT}
+ {2455783200 -32400 0 AKST}
+ {2469697200 -28800 1 AKDT}
+ {2487232800 -32400 0 AKST}
+ {2501146800 -28800 1 AKDT}
+ {2519287200 -32400 0 AKST}
+ {2532596400 -28800 1 AKDT}
+ {2550736800 -32400 0 AKST}
+ {2564046000 -28800 1 AKDT}
+ {2582186400 -32400 0 AKST}
+ {2596100400 -28800 1 AKDT}
+ {2613636000 -32400 0 AKST}
+ {2627550000 -28800 1 AKDT}
+ {2645085600 -32400 0 AKST}
+ {2658999600 -28800 1 AKDT}
+ {2676535200 -32400 0 AKST}
+ {2690449200 -28800 1 AKDT}
+ {2708589600 -32400 0 AKST}
+ {2721898800 -28800 1 AKDT}
+ {2740039200 -32400 0 AKST}
+ {2753348400 -28800 1 AKDT}
+ {2771488800 -32400 0 AKST}
+ {2785402800 -28800 1 AKDT}
+ {2802938400 -32400 0 AKST}
+ {2816852400 -28800 1 AKDT}
+ {2834388000 -32400 0 AKST}
+ {2848302000 -28800 1 AKDT}
+ {2866442400 -32400 0 AKST}
+ {2879751600 -28800 1 AKDT}
+ {2897892000 -32400 0 AKST}
+ {2911201200 -28800 1 AKDT}
+ {2929341600 -32400 0 AKST}
+ {2942650800 -28800 1 AKDT}
+ {2960791200 -32400 0 AKST}
+ {2974705200 -28800 1 AKDT}
+ {2992240800 -32400 0 AKST}
+ {3006154800 -28800 1 AKDT}
+ {3023690400 -32400 0 AKST}
+ {3037604400 -28800 1 AKDT}
+ {3055744800 -32400 0 AKST}
+ {3069054000 -28800 1 AKDT}
+ {3087194400 -32400 0 AKST}
+ {3100503600 -28800 1 AKDT}
+ {3118644000 -32400 0 AKST}
+ {3132558000 -28800 1 AKDT}
+ {3150093600 -32400 0 AKST}
+ {3164007600 -28800 1 AKDT}
+ {3181543200 -32400 0 AKST}
+ {3195457200 -28800 1 AKDT}
+ {3212992800 -32400 0 AKST}
+ {3226906800 -28800 1 AKDT}
+ {3245047200 -32400 0 AKST}
+ {3258356400 -28800 1 AKDT}
+ {3276496800 -32400 0 AKST}
+ {3289806000 -28800 1 AKDT}
+ {3307946400 -32400 0 AKST}
+ {3321860400 -28800 1 AKDT}
+ {3339396000 -32400 0 AKST}
+ {3353310000 -28800 1 AKDT}
+ {3370845600 -32400 0 AKST}
+ {3384759600 -28800 1 AKDT}
+ {3402900000 -32400 0 AKST}
+ {3416209200 -28800 1 AKDT}
+ {3434349600 -32400 0 AKST}
+ {3447658800 -28800 1 AKDT}
+ {3465799200 -32400 0 AKST}
+ {3479713200 -28800 1 AKDT}
+ {3497248800 -32400 0 AKST}
+ {3511162800 -28800 1 AKDT}
+ {3528698400 -32400 0 AKST}
+ {3542612400 -28800 1 AKDT}
+ {3560148000 -32400 0 AKST}
+ {3574062000 -28800 1 AKDT}
+ {3592202400 -32400 0 AKST}
+ {3605511600 -28800 1 AKDT}
+ {3623652000 -32400 0 AKST}
+ {3636961200 -28800 1 AKDT}
+ {3655101600 -32400 0 AKST}
+ {3669015600 -28800 1 AKDT}
+ {3686551200 -32400 0 AKST}
+ {3700465200 -28800 1 AKDT}
+ {3718000800 -32400 0 AKST}
+ {3731914800 -28800 1 AKDT}
+ {3750055200 -32400 0 AKST}
+ {3763364400 -28800 1 AKDT}
+ {3781504800 -32400 0 AKST}
+ {3794814000 -28800 1 AKDT}
+ {3812954400 -32400 0 AKST}
+ {3826263600 -28800 1 AKDT}
+ {3844404000 -32400 0 AKST}
+ {3858318000 -28800 1 AKDT}
+ {3875853600 -32400 0 AKST}
+ {3889767600 -28800 1 AKDT}
+ {3907303200 -32400 0 AKST}
+ {3921217200 -28800 1 AKDT}
+ {3939357600 -32400 0 AKST}
+ {3952666800 -28800 1 AKDT}
+ {3970807200 -32400 0 AKST}
+ {3984116400 -28800 1 AKDT}
+ {4002256800 -32400 0 AKST}
+ {4016170800 -28800 1 AKDT}
+ {4033706400 -32400 0 AKST}
+ {4047620400 -28800 1 AKDT}
+ {4065156000 -32400 0 AKST}
+ {4079070000 -28800 1 AKDT}
+ {4096605600 -32400 0 AKST}
+}
diff --git a/library/tzdata/America/Yellowknife b/library/tzdata/America/Yellowknife
new file mode 100644
index 0000000..75ad1de
--- /dev/null
+++ b/library/tzdata/America/Yellowknife
@@ -0,0 +1,255 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Yellowknife) {
+ {-9223372036854775808 -27444 0 LMT}
+ {-2713882956 -25200 0 MST}
+ {-1632063600 -21600 1 MDT}
+ {-1615132800 -25200 0 MST}
+ {-1596985200 -21600 1 MDT}
+ {-1583172000 -25200 0 MST}
+ {-880210800 -21600 1 MWT}
+ {-769395600 -21600 1 MPT}
+ {-765388800 -25200 0 MST}
+ {-147891600 -18000 1 MDDT}
+ {-131562000 -25200 0 MST}
+ {325674000 -21600 1 MDT}
+ {341395200 -25200 0 MST}
+ {357123600 -21600 1 MDT}
+ {372844800 -25200 0 MST}
+ {388573200 -21600 1 MDT}
+ {404899200 -25200 0 MST}
+ {420022800 -21600 1 MDT}
+ {436348800 -25200 0 MST}
+ {452077200 -21600 1 MDT}
+ {467798400 -25200 0 MST}
+ {483526800 -21600 1 MDT}
+ {499248000 -25200 0 MST}
+ {514976400 -21600 1 MDT}
+ {530697600 -25200 0 MST}
+ {544611600 -21600 1 MDT}
+ {562147200 -25200 0 MST}
+ {576061200 -21600 1 MDT}
+ {594201600 -25200 0 MST}
+ {607510800 -21600 1 MDT}
+ {625651200 -25200 0 MST}
+ {638960400 -21600 1 MDT}
+ {657100800 -25200 0 MST}
+ {671014800 -21600 1 MDT}
+ {688550400 -25200 0 MST}
+ {702464400 -21600 1 MDT}
+ {720000000 -25200 0 MST}
+ {733914000 -21600 1 MDT}
+ {752054400 -25200 0 MST}
+ {765363600 -21600 1 MDT}
+ {783504000 -25200 0 MST}
+ {796813200 -21600 1 MDT}
+ {814953600 -25200 0 MST}
+ {828867600 -21600 1 MDT}
+ {846403200 -25200 0 MST}
+ {860317200 -21600 1 MDT}
+ {877852800 -25200 0 MST}
+ {891766800 -21600 1 MDT}
+ {909302400 -25200 0 MST}
+ {923216400 -21600 1 MDT}
+ {941356800 -25200 0 MST}
+ {954666000 -21600 1 MDT}
+ {972806400 -25200 0 MST}
+ {986115600 -21600 1 MDT}
+ {1004256000 -25200 0 MST}
+ {1018170000 -21600 1 MDT}
+ {1035705600 -25200 0 MST}
+ {1049619600 -21600 1 MDT}
+ {1067155200 -25200 0 MST}
+ {1081069200 -21600 1 MDT}
+ {1099209600 -25200 0 MST}
+ {1112518800 -21600 1 MDT}
+ {1130659200 -25200 0 MST}
+ {1143968400 -21600 1 MDT}
+ {1162108800 -25200 0 MST}
+ {1175418000 -21600 1 MDT}
+ {1193558400 -25200 0 MST}
+ {1207472400 -21600 1 MDT}
+ {1225008000 -25200 0 MST}
+ {1238922000 -21600 1 MDT}
+ {1256457600 -25200 0 MST}
+ {1270371600 -21600 1 MDT}
+ {1288512000 -25200 0 MST}
+ {1301821200 -21600 1 MDT}
+ {1319961600 -25200 0 MST}
+ {1333270800 -21600 1 MDT}
+ {1351411200 -25200 0 MST}
+ {1365325200 -21600 1 MDT}
+ {1382860800 -25200 0 MST}
+ {1396774800 -21600 1 MDT}
+ {1414310400 -25200 0 MST}
+ {1428224400 -21600 1 MDT}
+ {1445760000 -25200 0 MST}
+ {1459674000 -21600 1 MDT}
+ {1477814400 -25200 0 MST}
+ {1491123600 -21600 1 MDT}
+ {1509264000 -25200 0 MST}
+ {1522573200 -21600 1 MDT}
+ {1540713600 -25200 0 MST}
+ {1554627600 -21600 1 MDT}
+ {1572163200 -25200 0 MST}
+ {1586077200 -21600 1 MDT}
+ {1603612800 -25200 0 MST}
+ {1617526800 -21600 1 MDT}
+ {1635667200 -25200 0 MST}
+ {1648976400 -21600 1 MDT}
+ {1667116800 -25200 0 MST}
+ {1680426000 -21600 1 MDT}
+ {1698566400 -25200 0 MST}
+ {1712480400 -21600 1 MDT}
+ {1730016000 -25200 0 MST}
+ {1743930000 -21600 1 MDT}
+ {1761465600 -25200 0 MST}
+ {1775379600 -21600 1 MDT}
+ {1792915200 -25200 0 MST}
+ {1806829200 -21600 1 MDT}
+ {1824969600 -25200 0 MST}
+ {1838278800 -21600 1 MDT}
+ {1856419200 -25200 0 MST}
+ {1869728400 -21600 1 MDT}
+ {1887868800 -25200 0 MST}
+ {1901782800 -21600 1 MDT}
+ {1919318400 -25200 0 MST}
+ {1933232400 -21600 1 MDT}
+ {1950768000 -25200 0 MST}
+ {1964682000 -21600 1 MDT}
+ {1982822400 -25200 0 MST}
+ {1996131600 -21600 1 MDT}
+ {2014272000 -25200 0 MST}
+ {2027581200 -21600 1 MDT}
+ {2045721600 -25200 0 MST}
+ {2059030800 -21600 1 MDT}
+ {2077171200 -25200 0 MST}
+ {2091085200 -21600 1 MDT}
+ {2108620800 -25200 0 MST}
+ {2122534800 -21600 1 MDT}
+ {2140070400 -25200 0 MST}
+ {2153984400 -21600 1 MDT}
+ {2172124800 -25200 0 MST}
+ {2185434000 -21600 1 MDT}
+ {2203574400 -25200 0 MST}
+ {2216883600 -21600 1 MDT}
+ {2235024000 -25200 0 MST}
+ {2248938000 -21600 1 MDT}
+ {2266473600 -25200 0 MST}
+ {2280387600 -21600 1 MDT}
+ {2297923200 -25200 0 MST}
+ {2311837200 -21600 1 MDT}
+ {2329372800 -25200 0 MST}
+ {2343286800 -21600 1 MDT}
+ {2361427200 -25200 0 MST}
+ {2374736400 -21600 1 MDT}
+ {2392876800 -25200 0 MST}
+ {2406186000 -21600 1 MDT}
+ {2424326400 -25200 0 MST}
+ {2438240400 -21600 1 MDT}
+ {2455776000 -25200 0 MST}
+ {2469690000 -21600 1 MDT}
+ {2487225600 -25200 0 MST}
+ {2501139600 -21600 1 MDT}
+ {2519280000 -25200 0 MST}
+ {2532589200 -21600 1 MDT}
+ {2550729600 -25200 0 MST}
+ {2564038800 -21600 1 MDT}
+ {2582179200 -25200 0 MST}
+ {2596093200 -21600 1 MDT}
+ {2613628800 -25200 0 MST}
+ {2627542800 -21600 1 MDT}
+ {2645078400 -25200 0 MST}
+ {2658992400 -21600 1 MDT}
+ {2676528000 -25200 0 MST}
+ {2690442000 -21600 1 MDT}
+ {2708582400 -25200 0 MST}
+ {2721891600 -21600 1 MDT}
+ {2740032000 -25200 0 MST}
+ {2753341200 -21600 1 MDT}
+ {2771481600 -25200 0 MST}
+ {2785395600 -21600 1 MDT}
+ {2802931200 -25200 0 MST}
+ {2816845200 -21600 1 MDT}
+ {2834380800 -25200 0 MST}
+ {2848294800 -21600 1 MDT}
+ {2866435200 -25200 0 MST}
+ {2879744400 -21600 1 MDT}
+ {2897884800 -25200 0 MST}
+ {2911194000 -21600 1 MDT}
+ {2929334400 -25200 0 MST}
+ {2942643600 -21600 1 MDT}
+ {2960784000 -25200 0 MST}
+ {2974698000 -21600 1 MDT}
+ {2992233600 -25200 0 MST}
+ {3006147600 -21600 1 MDT}
+ {3023683200 -25200 0 MST}
+ {3037597200 -21600 1 MDT}
+ {3055737600 -25200 0 MST}
+ {3069046800 -21600 1 MDT}
+ {3087187200 -25200 0 MST}
+ {3100496400 -21600 1 MDT}
+ {3118636800 -25200 0 MST}
+ {3132550800 -21600 1 MDT}
+ {3150086400 -25200 0 MST}
+ {3164000400 -21600 1 MDT}
+ {3181536000 -25200 0 MST}
+ {3195450000 -21600 1 MDT}
+ {3212985600 -25200 0 MST}
+ {3226899600 -21600 1 MDT}
+ {3245040000 -25200 0 MST}
+ {3258349200 -21600 1 MDT}
+ {3276489600 -25200 0 MST}
+ {3289798800 -21600 1 MDT}
+ {3307939200 -25200 0 MST}
+ {3321853200 -21600 1 MDT}
+ {3339388800 -25200 0 MST}
+ {3353302800 -21600 1 MDT}
+ {3370838400 -25200 0 MST}
+ {3384752400 -21600 1 MDT}
+ {3402892800 -25200 0 MST}
+ {3416202000 -21600 1 MDT}
+ {3434342400 -25200 0 MST}
+ {3447651600 -21600 1 MDT}
+ {3465792000 -25200 0 MST}
+ {3479706000 -21600 1 MDT}
+ {3497241600 -25200 0 MST}
+ {3511155600 -21600 1 MDT}
+ {3528691200 -25200 0 MST}
+ {3542605200 -21600 1 MDT}
+ {3560140800 -25200 0 MST}
+ {3574054800 -21600 1 MDT}
+ {3592195200 -25200 0 MST}
+ {3605504400 -21600 1 MDT}
+ {3623644800 -25200 0 MST}
+ {3636954000 -21600 1 MDT}
+ {3655094400 -25200 0 MST}
+ {3669008400 -21600 1 MDT}
+ {3686544000 -25200 0 MST}
+ {3700458000 -21600 1 MDT}
+ {3717993600 -25200 0 MST}
+ {3731907600 -21600 1 MDT}
+ {3750048000 -25200 0 MST}
+ {3763357200 -21600 1 MDT}
+ {3781497600 -25200 0 MST}
+ {3794806800 -21600 1 MDT}
+ {3812947200 -25200 0 MST}
+ {3826256400 -21600 1 MDT}
+ {3844396800 -25200 0 MST}
+ {3858310800 -21600 1 MDT}
+ {3875846400 -25200 0 MST}
+ {3889760400 -21600 1 MDT}
+ {3907296000 -25200 0 MST}
+ {3921210000 -21600 1 MDT}
+ {3939350400 -25200 0 MST}
+ {3952659600 -21600 1 MDT}
+ {3970800000 -25200 0 MST}
+ {3984109200 -21600 1 MDT}
+ {4002249600 -25200 0 MST}
+ {4016163600 -21600 1 MDT}
+ {4033699200 -25200 0 MST}
+ {4047613200 -21600 1 MDT}
+ {4065148800 -25200 0 MST}
+ {4079062800 -21600 1 MDT}
+ {4096598400 -25200 0 MST}
+}
diff --git a/library/tzdata/Antarctica/Casey b/library/tzdata/Antarctica/Casey
new file mode 100644
index 0000000..7ac80f5
--- /dev/null
+++ b/library/tzdata/Antarctica/Casey
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Antarctica/Casey) {
+ {-9223372036854775808 0 0 zzz}
+ {-31536000 28800 0 WST}
+}
diff --git a/library/tzdata/Antarctica/Davis b/library/tzdata/Antarctica/Davis
new file mode 100644
index 0000000..3126eac
--- /dev/null
+++ b/library/tzdata/Antarctica/Davis
@@ -0,0 +1,8 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Antarctica/Davis) {
+ {-9223372036854775808 0 0 zzz}
+ {-409190400 25200 0 DAVT}
+ {-163062000 0 0 zzz}
+ {-28857600 25200 0 DAVT}
+}
diff --git a/library/tzdata/Antarctica/DumontDUrville b/library/tzdata/Antarctica/DumontDUrville
new file mode 100644
index 0000000..bfdb47e
--- /dev/null
+++ b/library/tzdata/Antarctica/DumontDUrville
@@ -0,0 +1,8 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Antarctica/DumontDUrville) {
+ {-9223372036854775808 0 0 zzz}
+ {-725846400 36000 0 PMT}
+ {-566992800 0 0 zzz}
+ {-415497600 36000 0 DDUT}
+}
diff --git a/library/tzdata/Antarctica/Mawson b/library/tzdata/Antarctica/Mawson
new file mode 100644
index 0000000..ce04d98
--- /dev/null
+++ b/library/tzdata/Antarctica/Mawson
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Antarctica/Mawson) {
+ {-9223372036854775808 0 0 zzz}
+ {-501206400 21600 0 MAWT}
+}
diff --git a/library/tzdata/Antarctica/McMurdo b/library/tzdata/Antarctica/McMurdo
new file mode 100644
index 0000000..bbc81b2
--- /dev/null
+++ b/library/tzdata/Antarctica/McMurdo
@@ -0,0 +1,257 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Antarctica/McMurdo) {
+ {-9223372036854775808 0 0 zzz}
+ {-441849600 43200 0 NZST}
+ {152676000 46800 1 NZDT}
+ {162352800 43200 0 NZST}
+ {183520800 46800 1 NZDT}
+ {195012000 43200 0 NZST}
+ {215575200 46800 1 NZDT}
+ {226461600 43200 0 NZST}
+ {247024800 46800 1 NZDT}
+ {257911200 43200 0 NZST}
+ {278474400 46800 1 NZDT}
+ {289360800 43200 0 NZST}
+ {309924000 46800 1 NZDT}
+ {320810400 43200 0 NZST}
+ {341373600 46800 1 NZDT}
+ {352260000 43200 0 NZST}
+ {372823200 46800 1 NZDT}
+ {384314400 43200 0 NZST}
+ {404877600 46800 1 NZDT}
+ {415764000 43200 0 NZST}
+ {436327200 46800 1 NZDT}
+ {447213600 43200 0 NZST}
+ {467776800 46800 1 NZDT}
+ {478663200 43200 0 NZST}
+ {499226400 46800 1 NZDT}
+ {510112800 43200 0 NZST}
+ {530676000 46800 1 NZDT}
+ {541562400 43200 0 NZST}
+ {562125600 46800 1 NZDT}
+ {573616800 43200 0 NZST}
+ {594180000 46800 1 NZDT}
+ {605066400 43200 0 NZST}
+ {623815200 46800 1 NZDT}
+ {637725600 43200 0 NZST}
+ {655264800 46800 1 NZDT}
+ {669175200 43200 0 NZST}
+ {686714400 46800 1 NZDT}
+ {700624800 43200 0 NZST}
+ {718164000 46800 1 NZDT}
+ {732679200 43200 0 NZST}
+ {749613600 46800 1 NZDT}
+ {764128800 43200 0 NZST}
+ {781063200 46800 1 NZDT}
+ {795578400 43200 0 NZST}
+ {812512800 46800 1 NZDT}
+ {827028000 43200 0 NZST}
+ {844567200 46800 1 NZDT}
+ {858477600 43200 0 NZST}
+ {876016800 46800 1 NZDT}
+ {889927200 43200 0 NZST}
+ {907466400 46800 1 NZDT}
+ {921981600 43200 0 NZST}
+ {938916000 46800 1 NZDT}
+ {953431200 43200 0 NZST}
+ {970365600 46800 1 NZDT}
+ {984880800 43200 0 NZST}
+ {1002420000 46800 1 NZDT}
+ {1016330400 43200 0 NZST}
+ {1033869600 46800 1 NZDT}
+ {1047780000 43200 0 NZST}
+ {1065319200 46800 1 NZDT}
+ {1079834400 43200 0 NZST}
+ {1096768800 46800 1 NZDT}
+ {1111284000 43200 0 NZST}
+ {1128218400 46800 1 NZDT}
+ {1142733600 43200 0 NZST}
+ {1159668000 46800 1 NZDT}
+ {1174183200 43200 0 NZST}
+ {1191722400 46800 1 NZDT}
+ {1205632800 43200 0 NZST}
+ {1223172000 46800 1 NZDT}
+ {1237082400 43200 0 NZST}
+ {1254621600 46800 1 NZDT}
+ {1269136800 43200 0 NZST}
+ {1286071200 46800 1 NZDT}
+ {1300586400 43200 0 NZST}
+ {1317520800 46800 1 NZDT}
+ {1332036000 43200 0 NZST}
+ {1349575200 46800 1 NZDT}
+ {1363485600 43200 0 NZST}
+ {1381024800 46800 1 NZDT}
+ {1394935200 43200 0 NZST}
+ {1412474400 46800 1 NZDT}
+ {1426384800 43200 0 NZST}
+ {1443924000 46800 1 NZDT}
+ {1458439200 43200 0 NZST}
+ {1475373600 46800 1 NZDT}
+ {1489888800 43200 0 NZST}
+ {1506823200 46800 1 NZDT}
+ {1521338400 43200 0 NZST}
+ {1538877600 46800 1 NZDT}
+ {1552788000 43200 0 NZST}
+ {1570327200 46800 1 NZDT}
+ {1584237600 43200 0 NZST}
+ {1601776800 46800 1 NZDT}
+ {1616292000 43200 0 NZST}
+ {1633226400 46800 1 NZDT}
+ {1647741600 43200 0 NZST}
+ {1664676000 46800 1 NZDT}
+ {1679191200 43200 0 NZST}
+ {1696125600 46800 1 NZDT}
+ {1710640800 43200 0 NZST}
+ {1728180000 46800 1 NZDT}
+ {1742090400 43200 0 NZST}
+ {1759629600 46800 1 NZDT}
+ {1773540000 43200 0 NZST}
+ {1791079200 46800 1 NZDT}
+ {1805594400 43200 0 NZST}
+ {1822528800 46800 1 NZDT}
+ {1837044000 43200 0 NZST}
+ {1853978400 46800 1 NZDT}
+ {1868493600 43200 0 NZST}
+ {1886032800 46800 1 NZDT}
+ {1899943200 43200 0 NZST}
+ {1917482400 46800 1 NZDT}
+ {1931392800 43200 0 NZST}
+ {1948932000 46800 1 NZDT}
+ {1963447200 43200 0 NZST}
+ {1980381600 46800 1 NZDT}
+ {1994896800 43200 0 NZST}
+ {2011831200 46800 1 NZDT}
+ {2026346400 43200 0 NZST}
+ {2043280800 46800 1 NZDT}
+ {2057796000 43200 0 NZST}
+ {2075335200 46800 1 NZDT}
+ {2089245600 43200 0 NZST}
+ {2106784800 46800 1 NZDT}
+ {2120695200 43200 0 NZST}
+ {2138234400 46800 1 NZDT}
+ {2152749600 43200 0 NZST}
+ {2169684000 46800 1 NZDT}
+ {2184199200 43200 0 NZST}
+ {2201133600 46800 1 NZDT}
+ {2215648800 43200 0 NZST}
+ {2233188000 46800 1 NZDT}
+ {2247098400 43200 0 NZST}
+ {2264637600 46800 1 NZDT}
+ {2278548000 43200 0 NZST}
+ {2296087200 46800 1 NZDT}
+ {2309997600 43200 0 NZST}
+ {2327536800 46800 1 NZDT}
+ {2342052000 43200 0 NZST}
+ {2358986400 46800 1 NZDT}
+ {2373501600 43200 0 NZST}
+ {2390436000 46800 1 NZDT}
+ {2404951200 43200 0 NZST}
+ {2422490400 46800 1 NZDT}
+ {2436400800 43200 0 NZST}
+ {2453940000 46800 1 NZDT}
+ {2467850400 43200 0 NZST}
+ {2485389600 46800 1 NZDT}
+ {2499904800 43200 0 NZST}
+ {2516839200 46800 1 NZDT}
+ {2531354400 43200 0 NZST}
+ {2548288800 46800 1 NZDT}
+ {2562804000 43200 0 NZST}
+ {2579738400 46800 1 NZDT}
+ {2594253600 43200 0 NZST}
+ {2611792800 46800 1 NZDT}
+ {2625703200 43200 0 NZST}
+ {2643242400 46800 1 NZDT}
+ {2657152800 43200 0 NZST}
+ {2674692000 46800 1 NZDT}
+ {2689207200 43200 0 NZST}
+ {2706141600 46800 1 NZDT}
+ {2720656800 43200 0 NZST}
+ {2737591200 46800 1 NZDT}
+ {2752106400 43200 0 NZST}
+ {2769645600 46800 1 NZDT}
+ {2783556000 43200 0 NZST}
+ {2801095200 46800 1 NZDT}
+ {2815005600 43200 0 NZST}
+ {2832544800 46800 1 NZDT}
+ {2847060000 43200 0 NZST}
+ {2863994400 46800 1 NZDT}
+ {2878509600 43200 0 NZST}
+ {2895444000 46800 1 NZDT}
+ {2909959200 43200 0 NZST}
+ {2926893600 46800 1 NZDT}
+ {2941408800 43200 0 NZST}
+ {2958948000 46800 1 NZDT}
+ {2972858400 43200 0 NZST}
+ {2990397600 46800 1 NZDT}
+ {3004308000 43200 0 NZST}
+ {3021847200 46800 1 NZDT}
+ {3036362400 43200 0 NZST}
+ {3053296800 46800 1 NZDT}
+ {3067812000 43200 0 NZST}
+ {3084746400 46800 1 NZDT}
+ {3099261600 43200 0 NZST}
+ {3116800800 46800 1 NZDT}
+ {3130711200 43200 0 NZST}
+ {3148250400 46800 1 NZDT}
+ {3162160800 43200 0 NZST}
+ {3179700000 46800 1 NZDT}
+ {3193610400 43200 0 NZST}
+ {3211149600 46800 1 NZDT}
+ {3225664800 43200 0 NZST}
+ {3242599200 46800 1 NZDT}
+ {3257114400 43200 0 NZST}
+ {3274048800 46800 1 NZDT}
+ {3288564000 43200 0 NZST}
+ {3306103200 46800 1 NZDT}
+ {3320013600 43200 0 NZST}
+ {3337552800 46800 1 NZDT}
+ {3351463200 43200 0 NZST}
+ {3369002400 46800 1 NZDT}
+ {3383517600 43200 0 NZST}
+ {3400452000 46800 1 NZDT}
+ {3414967200 43200 0 NZST}
+ {3431901600 46800 1 NZDT}
+ {3446416800 43200 0 NZST}
+ {3463351200 46800 1 NZDT}
+ {3477866400 43200 0 NZST}
+ {3495405600 46800 1 NZDT}
+ {3509316000 43200 0 NZST}
+ {3526855200 46800 1 NZDT}
+ {3540765600 43200 0 NZST}
+ {3558304800 46800 1 NZDT}
+ {3572820000 43200 0 NZST}
+ {3589754400 46800 1 NZDT}
+ {3604269600 43200 0 NZST}
+ {3621204000 46800 1 NZDT}
+ {3635719200 43200 0 NZST}
+ {3653258400 46800 1 NZDT}
+ {3667168800 43200 0 NZST}
+ {3684708000 46800 1 NZDT}
+ {3698618400 43200 0 NZST}
+ {3716157600 46800 1 NZDT}
+ {3730672800 43200 0 NZST}
+ {3747607200 46800 1 NZDT}
+ {3762122400 43200 0 NZST}
+ {3779056800 46800 1 NZDT}
+ {3793572000 43200 0 NZST}
+ {3810506400 46800 1 NZDT}
+ {3825021600 43200 0 NZST}
+ {3842560800 46800 1 NZDT}
+ {3856471200 43200 0 NZST}
+ {3874010400 46800 1 NZDT}
+ {3887920800 43200 0 NZST}
+ {3905460000 46800 1 NZDT}
+ {3919975200 43200 0 NZST}
+ {3936909600 46800 1 NZDT}
+ {3951424800 43200 0 NZST}
+ {3968359200 46800 1 NZDT}
+ {3982874400 43200 0 NZST}
+ {4000413600 46800 1 NZDT}
+ {4014324000 43200 0 NZST}
+ {4031863200 46800 1 NZDT}
+ {4045773600 43200 0 NZST}
+ {4063312800 46800 1 NZDT}
+ {4077223200 43200 0 NZST}
+ {4094762400 46800 1 NZDT}
+}
diff --git a/library/tzdata/Antarctica/Palmer b/library/tzdata/Antarctica/Palmer
new file mode 100644
index 0000000..aae0519
--- /dev/null
+++ b/library/tzdata/Antarctica/Palmer
@@ -0,0 +1,260 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Antarctica/Palmer) {
+ {-9223372036854775808 0 0 zzz}
+ {-157766400 -14400 0 ART}
+ {-152654400 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86907600 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {150260400 -7200 1 ARST}
+ {165981600 -10800 0 ART}
+ {181710000 -7200 1 ARST}
+ {197431200 -10800 0 ART}
+ {213159600 -7200 1 ARST}
+ {228880800 -10800 0 ART}
+ {389070000 -14400 0 CLT}
+ {403070400 -10800 1 CLST}
+ {416372400 -14400 0 CLT}
+ {434520000 -10800 1 CLST}
+ {447822000 -14400 0 CLT}
+ {466574400 -10800 1 CLST}
+ {479271600 -14400 0 CLT}
+ {498024000 -10800 1 CLST}
+ {510721200 -14400 0 CLT}
+ {529473600 -10800 1 CLST}
+ {542775600 -14400 0 CLT}
+ {560923200 -10800 1 CLST}
+ {574225200 -14400 0 CLT}
+ {592372800 -10800 1 CLST}
+ {605674800 -14400 0 CLT}
+ {624427200 -10800 1 CLST}
+ {637124400 -14400 0 CLT}
+ {655876800 -10800 1 CLST}
+ {668574000 -14400 0 CLT}
+ {687326400 -10800 1 CLST}
+ {700628400 -14400 0 CLT}
+ {718776000 -10800 1 CLST}
+ {732078000 -14400 0 CLT}
+ {750225600 -10800 1 CLST}
+ {763527600 -14400 0 CLT}
+ {781675200 -10800 1 CLST}
+ {794977200 -14400 0 CLT}
+ {813729600 -10800 1 CLST}
+ {826426800 -14400 0 CLT}
+ {845179200 -10800 1 CLST}
+ {857876400 -14400 0 CLT}
+ {876628800 -10800 1 CLST}
+ {889930800 -14400 0 CLT}
+ {906868800 -10800 1 CLST}
+ {923194800 -14400 0 CLT}
+ {939528000 -10800 1 CLST}
+ {952830000 -14400 0 CLT}
+ {971582400 -10800 1 CLST}
+ {984279600 -14400 0 CLT}
+ {1003032000 -10800 1 CLST}
+ {1015729200 -14400 0 CLT}
+ {1034481600 -10800 1 CLST}
+ {1047178800 -14400 0 CLT}
+ {1065931200 -10800 1 CLST}
+ {1079233200 -14400 0 CLT}
+ {1097380800 -10800 1 CLST}
+ {1110682800 -14400 0 CLT}
+ {1128830400 -10800 1 CLST}
+ {1142132400 -14400 0 CLT}
+ {1160884800 -10800 1 CLST}
+ {1173582000 -14400 0 CLT}
+ {1192334400 -10800 1 CLST}
+ {1205031600 -14400 0 CLT}
+ {1223784000 -10800 1 CLST}
+ {1237086000 -14400 0 CLT}
+ {1255233600 -10800 1 CLST}
+ {1268535600 -14400 0 CLT}
+ {1286683200 -10800 1 CLST}
+ {1299985200 -14400 0 CLT}
+ {1318132800 -10800 1 CLST}
+ {1331434800 -14400 0 CLT}
+ {1350187200 -10800 1 CLST}
+ {1362884400 -14400 0 CLT}
+ {1381636800 -10800 1 CLST}
+ {1394334000 -14400 0 CLT}
+ {1413086400 -10800 1 CLST}
+ {1426388400 -14400 0 CLT}
+ {1444536000 -10800 1 CLST}
+ {1457838000 -14400 0 CLT}
+ {1475985600 -10800 1 CLST}
+ {1489287600 -14400 0 CLT}
+ {1508040000 -10800 1 CLST}
+ {1520737200 -14400 0 CLT}
+ {1539489600 -10800 1 CLST}
+ {1552186800 -14400 0 CLT}
+ {1570939200 -10800 1 CLST}
+ {1584241200 -14400 0 CLT}
+ {1602388800 -10800 1 CLST}
+ {1615690800 -14400 0 CLT}
+ {1633838400 -10800 1 CLST}
+ {1647140400 -14400 0 CLT}
+ {1665288000 -10800 1 CLST}
+ {1678590000 -14400 0 CLT}
+ {1697342400 -10800 1 CLST}
+ {1710039600 -14400 0 CLT}
+ {1728792000 -10800 1 CLST}
+ {1741489200 -14400 0 CLT}
+ {1760241600 -10800 1 CLST}
+ {1773543600 -14400 0 CLT}
+ {1791691200 -10800 1 CLST}
+ {1804993200 -14400 0 CLT}
+ {1823140800 -10800 1 CLST}
+ {1836442800 -14400 0 CLT}
+ {1855195200 -10800 1 CLST}
+ {1867892400 -14400 0 CLT}
+ {1886644800 -10800 1 CLST}
+ {1899342000 -14400 0 CLT}
+ {1918094400 -10800 1 CLST}
+ {1930791600 -14400 0 CLT}
+ {1949544000 -10800 1 CLST}
+ {1962846000 -14400 0 CLT}
+ {1980993600 -10800 1 CLST}
+ {1994295600 -14400 0 CLT}
+ {2012443200 -10800 1 CLST}
+ {2025745200 -14400 0 CLT}
+ {2044497600 -10800 1 CLST}
+ {2057194800 -14400 0 CLT}
+ {2075947200 -10800 1 CLST}
+ {2088644400 -14400 0 CLT}
+ {2107396800 -10800 1 CLST}
+ {2120698800 -14400 0 CLT}
+ {2138846400 -10800 1 CLST}
+ {2152148400 -14400 0 CLT}
+ {2170296000 -10800 1 CLST}
+ {2183598000 -14400 0 CLT}
+ {2201745600 -10800 1 CLST}
+ {2215047600 -14400 0 CLT}
+ {2233800000 -10800 1 CLST}
+ {2246497200 -14400 0 CLT}
+ {2265249600 -10800 1 CLST}
+ {2277946800 -14400 0 CLT}
+ {2296699200 -10800 1 CLST}
+ {2310001200 -14400 0 CLT}
+ {2328148800 -10800 1 CLST}
+ {2341450800 -14400 0 CLT}
+ {2359598400 -10800 1 CLST}
+ {2372900400 -14400 0 CLT}
+ {2391652800 -10800 1 CLST}
+ {2404350000 -14400 0 CLT}
+ {2423102400 -10800 1 CLST}
+ {2435799600 -14400 0 CLT}
+ {2454552000 -10800 1 CLST}
+ {2467854000 -14400 0 CLT}
+ {2486001600 -10800 1 CLST}
+ {2499303600 -14400 0 CLT}
+ {2517451200 -10800 1 CLST}
+ {2530753200 -14400 0 CLT}
+ {2548900800 -10800 1 CLST}
+ {2562202800 -14400 0 CLT}
+ {2580955200 -10800 1 CLST}
+ {2593652400 -14400 0 CLT}
+ {2612404800 -10800 1 CLST}
+ {2625102000 -14400 0 CLT}
+ {2643854400 -10800 1 CLST}
+ {2657156400 -14400 0 CLT}
+ {2675304000 -10800 1 CLST}
+ {2688606000 -14400 0 CLT}
+ {2706753600 -10800 1 CLST}
+ {2720055600 -14400 0 CLT}
+ {2738808000 -10800 1 CLST}
+ {2751505200 -14400 0 CLT}
+ {2770257600 -10800 1 CLST}
+ {2782954800 -14400 0 CLT}
+ {2801707200 -10800 1 CLST}
+ {2814404400 -14400 0 CLT}
+ {2833156800 -10800 1 CLST}
+ {2846458800 -14400 0 CLT}
+ {2864606400 -10800 1 CLST}
+ {2877908400 -14400 0 CLT}
+ {2896056000 -10800 1 CLST}
+ {2909358000 -14400 0 CLT}
+ {2928110400 -10800 1 CLST}
+ {2940807600 -14400 0 CLT}
+ {2959560000 -10800 1 CLST}
+ {2972257200 -14400 0 CLT}
+ {2991009600 -10800 1 CLST}
+ {3004311600 -14400 0 CLT}
+ {3022459200 -10800 1 CLST}
+ {3035761200 -14400 0 CLT}
+ {3053908800 -10800 1 CLST}
+ {3067210800 -14400 0 CLT}
+ {3085358400 -10800 1 CLST}
+ {3098660400 -14400 0 CLT}
+ {3117412800 -10800 1 CLST}
+ {3130110000 -14400 0 CLT}
+ {3148862400 -10800 1 CLST}
+ {3161559600 -14400 0 CLT}
+ {3180312000 -10800 1 CLST}
+ {3193614000 -14400 0 CLT}
+ {3211761600 -10800 1 CLST}
+ {3225063600 -14400 0 CLT}
+ {3243211200 -10800 1 CLST}
+ {3256513200 -14400 0 CLT}
+ {3275265600 -10800 1 CLST}
+ {3287962800 -14400 0 CLT}
+ {3306715200 -10800 1 CLST}
+ {3319412400 -14400 0 CLT}
+ {3338164800 -10800 1 CLST}
+ {3351466800 -14400 0 CLT}
+ {3369614400 -10800 1 CLST}
+ {3382916400 -14400 0 CLT}
+ {3401064000 -10800 1 CLST}
+ {3414366000 -14400 0 CLT}
+ {3432513600 -10800 1 CLST}
+ {3445815600 -14400 0 CLT}
+ {3464568000 -10800 1 CLST}
+ {3477265200 -14400 0 CLT}
+ {3496017600 -10800 1 CLST}
+ {3508714800 -14400 0 CLT}
+ {3527467200 -10800 1 CLST}
+ {3540769200 -14400 0 CLT}
+ {3558916800 -10800 1 CLST}
+ {3572218800 -14400 0 CLT}
+ {3590366400 -10800 1 CLST}
+ {3603668400 -14400 0 CLT}
+ {3622420800 -10800 1 CLST}
+ {3635118000 -14400 0 CLT}
+ {3653870400 -10800 1 CLST}
+ {3666567600 -14400 0 CLT}
+ {3685320000 -10800 1 CLST}
+ {3698017200 -14400 0 CLT}
+ {3716769600 -10800 1 CLST}
+ {3730071600 -14400 0 CLT}
+ {3748219200 -10800 1 CLST}
+ {3761521200 -14400 0 CLT}
+ {3779668800 -10800 1 CLST}
+ {3792970800 -14400 0 CLT}
+ {3811723200 -10800 1 CLST}
+ {3824420400 -14400 0 CLT}
+ {3843172800 -10800 1 CLST}
+ {3855870000 -14400 0 CLT}
+ {3874622400 -10800 1 CLST}
+ {3887924400 -14400 0 CLT}
+ {3906072000 -10800 1 CLST}
+ {3919374000 -14400 0 CLT}
+ {3937521600 -10800 1 CLST}
+ {3950823600 -14400 0 CLT}
+ {3968971200 -10800 1 CLST}
+ {3982273200 -14400 0 CLT}
+ {4001025600 -10800 1 CLST}
+ {4013722800 -14400 0 CLT}
+ {4032475200 -10800 1 CLST}
+ {4045172400 -14400 0 CLT}
+ {4063924800 -10800 1 CLST}
+ {4077226800 -14400 0 CLT}
+ {4095374400 -10800 1 CLST}
+}
diff --git a/library/tzdata/Antarctica/Rothera b/library/tzdata/Antarctica/Rothera
new file mode 100644
index 0000000..d32a426
--- /dev/null
+++ b/library/tzdata/Antarctica/Rothera
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Antarctica/Rothera) {
+ {-9223372036854775808 0 0 zzz}
+ {218246400 -10800 0 ROTT}
+}
diff --git a/library/tzdata/Antarctica/South_Pole b/library/tzdata/Antarctica/South_Pole
new file mode 100644
index 0000000..08785da
--- /dev/null
+++ b/library/tzdata/Antarctica/South_Pole
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Antarctica/McMurdo)]} {
+ loadTimeZoneFile Antarctica/McMurdo
+}
+set tzdata(:Antarctica/South_Pole) $TZData(:Antarctica/McMurdo)
diff --git a/library/tzdata/Antarctica/Syowa b/library/tzdata/Antarctica/Syowa
new file mode 100644
index 0000000..19050a8
--- /dev/null
+++ b/library/tzdata/Antarctica/Syowa
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Antarctica/Syowa) {
+ {-9223372036854775808 0 0 zzz}
+ {-407808000 10800 0 SYOT}
+}
diff --git a/library/tzdata/Antarctica/Vostok b/library/tzdata/Antarctica/Vostok
new file mode 100644
index 0000000..6ba97b6
--- /dev/null
+++ b/library/tzdata/Antarctica/Vostok
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Antarctica/Vostok) {
+ {-9223372036854775808 0 0 zzz}
+ {-380073600 21600 0 VOST}
+}
diff --git a/library/tzdata/Arctic/Longyearbyen b/library/tzdata/Arctic/Longyearbyen
new file mode 100644
index 0000000..eaae952
--- /dev/null
+++ b/library/tzdata/Arctic/Longyearbyen
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Oslo)]} {
+ loadTimeZoneFile Europe/Oslo
+}
+set tzdata(:Arctic/Longyearbyen) $TZData(:Europe/Oslo)
diff --git a/library/tzdata/Asia/Aden b/library/tzdata/Asia/Aden
new file mode 100644
index 0000000..e7280dd
--- /dev/null
+++ b/library/tzdata/Asia/Aden
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Aden) {
+ {-9223372036854775808 10848 0 LMT}
+ {-631162848 10800 0 AST}
+}
diff --git a/library/tzdata/Asia/Almaty b/library/tzdata/Asia/Almaty
new file mode 100644
index 0000000..47fb933
--- /dev/null
+++ b/library/tzdata/Asia/Almaty
@@ -0,0 +1,245 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Almaty) {
+ {-9223372036854775808 18468 0 LMT}
+ {-1441170468 18000 0 ALMT}
+ {-1247547600 21600 0 ALMT}
+ {354909600 25200 1 ALMST}
+ {370717200 21600 0 ALMT}
+ {386445600 25200 1 ALMST}
+ {402253200 21600 0 ALMT}
+ {417981600 25200 1 ALMST}
+ {433789200 21600 0 ALMT}
+ {449604000 25200 1 ALMST}
+ {465357600 21600 0 ALMT}
+ {481082400 25200 1 ALMST}
+ {496807200 21600 0 ALMT}
+ {512532000 25200 1 ALMST}
+ {528256800 21600 0 ALMT}
+ {543981600 25200 1 ALMST}
+ {559706400 21600 0 ALMT}
+ {575431200 25200 1 ALMST}
+ {591156000 21600 0 ALMT}
+ {606880800 25200 1 ALMST}
+ {622605600 21600 0 ALMT}
+ {638330400 25200 1 ALMST}
+ {654660000 21600 0 ALMT}
+ {662666400 21600 0 ALMT}
+ {694202400 21600 0 ALMT}
+ {701802000 25200 1 ALMST}
+ {717523200 21600 0 ALMT}
+ {733284000 25200 1 ALMST}
+ {749008800 21600 0 ALMT}
+ {764733600 25200 1 ALMST}
+ {780458400 21600 0 ALMT}
+ {796183200 25200 1 ALMST}
+ {811908000 21600 0 ALMT}
+ {828237600 25200 1 ALMST}
+ {846381600 21600 0 ALMT}
+ {859687200 25200 1 ALMST}
+ {877831200 21600 0 ALMT}
+ {891136800 25200 1 ALMST}
+ {909280800 21600 0 ALMT}
+ {922586400 25200 1 ALMST}
+ {941335200 21600 0 ALMT}
+ {954036000 25200 1 ALMST}
+ {972784800 21600 0 ALMT}
+ {985485600 25200 1 ALMST}
+ {1004234400 21600 0 ALMT}
+ {1017540000 25200 1 ALMST}
+ {1035684000 21600 0 ALMT}
+ {1048989600 25200 1 ALMST}
+ {1067133600 21600 0 ALMT}
+ {1080439200 25200 1 ALMST}
+ {1099188000 21600 0 ALMT}
+ {1111888800 25200 1 ALMST}
+ {1130637600 21600 0 ALMT}
+ {1143338400 25200 1 ALMST}
+ {1162087200 21600 0 ALMT}
+ {1174788000 25200 1 ALMST}
+ {1193536800 21600 0 ALMT}
+ {1206842400 25200 1 ALMST}
+ {1224986400 21600 0 ALMT}
+ {1238292000 25200 1 ALMST}
+ {1256436000 21600 0 ALMT}
+ {1269741600 25200 1 ALMST}
+ {1288490400 21600 0 ALMT}
+ {1301191200 25200 1 ALMST}
+ {1319940000 21600 0 ALMT}
+ {1332640800 25200 1 ALMST}
+ {1351389600 21600 0 ALMT}
+ {1364695200 25200 1 ALMST}
+ {1382839200 21600 0 ALMT}
+ {1396144800 25200 1 ALMST}
+ {1414288800 21600 0 ALMT}
+ {1427594400 25200 1 ALMST}
+ {1445738400 21600 0 ALMT}
+ {1459044000 25200 1 ALMST}
+ {1477792800 21600 0 ALMT}
+ {1490493600 25200 1 ALMST}
+ {1509242400 21600 0 ALMT}
+ {1521943200 25200 1 ALMST}
+ {1540692000 21600 0 ALMT}
+ {1553997600 25200 1 ALMST}
+ {1572141600 21600 0 ALMT}
+ {1585447200 25200 1 ALMST}
+ {1603591200 21600 0 ALMT}
+ {1616896800 25200 1 ALMST}
+ {1635645600 21600 0 ALMT}
+ {1648346400 25200 1 ALMST}
+ {1667095200 21600 0 ALMT}
+ {1679796000 25200 1 ALMST}
+ {1698544800 21600 0 ALMT}
+ {1711850400 25200 1 ALMST}
+ {1729994400 21600 0 ALMT}
+ {1743300000 25200 1 ALMST}
+ {1761444000 21600 0 ALMT}
+ {1774749600 25200 1 ALMST}
+ {1792893600 21600 0 ALMT}
+ {1806199200 25200 1 ALMST}
+ {1824948000 21600 0 ALMT}
+ {1837648800 25200 1 ALMST}
+ {1856397600 21600 0 ALMT}
+ {1869098400 25200 1 ALMST}
+ {1887847200 21600 0 ALMT}
+ {1901152800 25200 1 ALMST}
+ {1919296800 21600 0 ALMT}
+ {1932602400 25200 1 ALMST}
+ {1950746400 21600 0 ALMT}
+ {1964052000 25200 1 ALMST}
+ {1982800800 21600 0 ALMT}
+ {1995501600 25200 1 ALMST}
+ {2014250400 21600 0 ALMT}
+ {2026951200 25200 1 ALMST}
+ {2045700000 21600 0 ALMT}
+ {2058400800 25200 1 ALMST}
+ {2077149600 21600 0 ALMT}
+ {2090455200 25200 1 ALMST}
+ {2108599200 21600 0 ALMT}
+ {2121904800 25200 1 ALMST}
+ {2140048800 21600 0 ALMT}
+ {2153354400 25200 1 ALMST}
+ {2172103200 21600 0 ALMT}
+ {2184804000 25200 1 ALMST}
+ {2203552800 21600 0 ALMT}
+ {2216253600 25200 1 ALMST}
+ {2235002400 21600 0 ALMT}
+ {2248308000 25200 1 ALMST}
+ {2266452000 21600 0 ALMT}
+ {2279757600 25200 1 ALMST}
+ {2297901600 21600 0 ALMT}
+ {2311207200 25200 1 ALMST}
+ {2329351200 21600 0 ALMT}
+ {2342656800 25200 1 ALMST}
+ {2361405600 21600 0 ALMT}
+ {2374106400 25200 1 ALMST}
+ {2392855200 21600 0 ALMT}
+ {2405556000 25200 1 ALMST}
+ {2424304800 21600 0 ALMT}
+ {2437610400 25200 1 ALMST}
+ {2455754400 21600 0 ALMT}
+ {2469060000 25200 1 ALMST}
+ {2487204000 21600 0 ALMT}
+ {2500509600 25200 1 ALMST}
+ {2519258400 21600 0 ALMT}
+ {2531959200 25200 1 ALMST}
+ {2550708000 21600 0 ALMT}
+ {2563408800 25200 1 ALMST}
+ {2582157600 21600 0 ALMT}
+ {2595463200 25200 1 ALMST}
+ {2613607200 21600 0 ALMT}
+ {2626912800 25200 1 ALMST}
+ {2645056800 21600 0 ALMT}
+ {2658362400 25200 1 ALMST}
+ {2676506400 21600 0 ALMT}
+ {2689812000 25200 1 ALMST}
+ {2708560800 21600 0 ALMT}
+ {2721261600 25200 1 ALMST}
+ {2740010400 21600 0 ALMT}
+ {2752711200 25200 1 ALMST}
+ {2771460000 21600 0 ALMT}
+ {2784765600 25200 1 ALMST}
+ {2802909600 21600 0 ALMT}
+ {2816215200 25200 1 ALMST}
+ {2834359200 21600 0 ALMT}
+ {2847664800 25200 1 ALMST}
+ {2866413600 21600 0 ALMT}
+ {2879114400 25200 1 ALMST}
+ {2897863200 21600 0 ALMT}
+ {2910564000 25200 1 ALMST}
+ {2929312800 21600 0 ALMT}
+ {2942013600 25200 1 ALMST}
+ {2960762400 21600 0 ALMT}
+ {2974068000 25200 1 ALMST}
+ {2992212000 21600 0 ALMT}
+ {3005517600 25200 1 ALMST}
+ {3023661600 21600 0 ALMT}
+ {3036967200 25200 1 ALMST}
+ {3055716000 21600 0 ALMT}
+ {3068416800 25200 1 ALMST}
+ {3087165600 21600 0 ALMT}
+ {3099866400 25200 1 ALMST}
+ {3118615200 21600 0 ALMT}
+ {3131920800 25200 1 ALMST}
+ {3150064800 21600 0 ALMT}
+ {3163370400 25200 1 ALMST}
+ {3181514400 21600 0 ALMT}
+ {3194820000 25200 1 ALMST}
+ {3212964000 21600 0 ALMT}
+ {3226269600 25200 1 ALMST}
+ {3245018400 21600 0 ALMT}
+ {3257719200 25200 1 ALMST}
+ {3276468000 21600 0 ALMT}
+ {3289168800 25200 1 ALMST}
+ {3307917600 21600 0 ALMT}
+ {3321223200 25200 1 ALMST}
+ {3339367200 21600 0 ALMT}
+ {3352672800 25200 1 ALMST}
+ {3370816800 21600 0 ALMT}
+ {3384122400 25200 1 ALMST}
+ {3402871200 21600 0 ALMT}
+ {3415572000 25200 1 ALMST}
+ {3434320800 21600 0 ALMT}
+ {3447021600 25200 1 ALMST}
+ {3465770400 21600 0 ALMT}
+ {3479076000 25200 1 ALMST}
+ {3497220000 21600 0 ALMT}
+ {3510525600 25200 1 ALMST}
+ {3528669600 21600 0 ALMT}
+ {3541975200 25200 1 ALMST}
+ {3560119200 21600 0 ALMT}
+ {3573424800 25200 1 ALMST}
+ {3592173600 21600 0 ALMT}
+ {3604874400 25200 1 ALMST}
+ {3623623200 21600 0 ALMT}
+ {3636324000 25200 1 ALMST}
+ {3655072800 21600 0 ALMT}
+ {3668378400 25200 1 ALMST}
+ {3686522400 21600 0 ALMT}
+ {3699828000 25200 1 ALMST}
+ {3717972000 21600 0 ALMT}
+ {3731277600 25200 1 ALMST}
+ {3750026400 21600 0 ALMT}
+ {3762727200 25200 1 ALMST}
+ {3781476000 21600 0 ALMT}
+ {3794176800 25200 1 ALMST}
+ {3812925600 21600 0 ALMT}
+ {3825626400 25200 1 ALMST}
+ {3844375200 21600 0 ALMT}
+ {3857680800 25200 1 ALMST}
+ {3875824800 21600 0 ALMT}
+ {3889130400 25200 1 ALMST}
+ {3907274400 21600 0 ALMT}
+ {3920580000 25200 1 ALMST}
+ {3939328800 21600 0 ALMT}
+ {3952029600 25200 1 ALMST}
+ {3970778400 21600 0 ALMT}
+ {3983479200 25200 1 ALMST}
+ {4002228000 21600 0 ALMT}
+ {4015533600 25200 1 ALMST}
+ {4033677600 21600 0 ALMT}
+ {4046983200 25200 1 ALMST}
+ {4065127200 21600 0 ALMT}
+ {4078432800 25200 1 ALMST}
+ {4096576800 21600 0 ALMT}
+}
diff --git a/library/tzdata/Asia/Amman b/library/tzdata/Asia/Amman
new file mode 100644
index 0000000..48c3782
--- /dev/null
+++ b/library/tzdata/Asia/Amman
@@ -0,0 +1,248 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Amman) {
+ {-9223372036854775808 8624 0 LMT}
+ {-1230776624 7200 0 EET}
+ {108165600 10800 1 EEST}
+ {118270800 7200 0 EET}
+ {136591200 10800 1 EEST}
+ {149806800 7200 0 EET}
+ {168127200 10800 1 EEST}
+ {181342800 7200 0 EET}
+ {199749600 10800 1 EEST}
+ {215643600 7200 0 EET}
+ {231285600 10800 1 EEST}
+ {244501200 7200 0 EET}
+ {262735200 10800 1 EEST}
+ {275950800 7200 0 EET}
+ {481154400 10800 1 EEST}
+ {496962000 7200 0 EET}
+ {512949600 10800 1 EEST}
+ {528670800 7200 0 EET}
+ {544399200 10800 1 EEST}
+ {560120400 7200 0 EET}
+ {575848800 10800 1 EEST}
+ {592174800 7200 0 EET}
+ {610581600 10800 1 EEST}
+ {623624400 7200 0 EET}
+ {641167200 10800 1 EEST}
+ {655074000 7200 0 EET}
+ {671839200 10800 1 EEST}
+ {685918800 7200 0 EET}
+ {702856800 10800 1 EEST}
+ {717973200 7200 0 EET}
+ {733701600 10800 1 EEST}
+ {749422800 7200 0 EET}
+ {765151200 10800 1 EEST}
+ {779662800 7200 0 EET}
+ {797205600 10800 1 EEST}
+ {811123200 7200 0 EET}
+ {828655200 10800 1 EEST}
+ {843177600 7200 0 EET}
+ {860104800 10800 1 EEST}
+ {874627200 7200 0 EET}
+ {891554400 10800 1 EEST}
+ {906076800 7200 0 EET}
+ {930787200 10800 1 EEST}
+ {938649600 7200 0 EET}
+ {954374400 10800 1 EEST}
+ {970099200 7200 0 EET}
+ {985824000 10800 1 EEST}
+ {1001548800 7200 0 EET}
+ {1017273600 10800 1 EEST}
+ {1032998400 7200 0 EET}
+ {1048723200 10800 1 EEST}
+ {1064448000 7200 0 EET}
+ {1080172800 10800 1 EEST}
+ {1096502400 7200 0 EET}
+ {1112227200 10800 1 EEST}
+ {1127952000 7200 0 EET}
+ {1143676800 10800 1 EEST}
+ {1159401600 7200 0 EET}
+ {1175126400 10800 1 EEST}
+ {1190851200 7200 0 EET}
+ {1206576000 10800 1 EEST}
+ {1222300800 7200 0 EET}
+ {1238025600 10800 1 EEST}
+ {1253750400 7200 0 EET}
+ {1269475200 10800 1 EEST}
+ {1285804800 7200 0 EET}
+ {1301529600 10800 1 EEST}
+ {1317254400 7200 0 EET}
+ {1332979200 10800 1 EEST}
+ {1348704000 7200 0 EET}
+ {1364428800 10800 1 EEST}
+ {1380153600 7200 0 EET}
+ {1395878400 10800 1 EEST}
+ {1411603200 7200 0 EET}
+ {1427328000 10800 1 EEST}
+ {1443052800 7200 0 EET}
+ {1459382400 10800 1 EEST}
+ {1475107200 7200 0 EET}
+ {1490832000 10800 1 EEST}
+ {1506556800 7200 0 EET}
+ {1522281600 10800 1 EEST}
+ {1538006400 7200 0 EET}
+ {1553731200 10800 1 EEST}
+ {1569456000 7200 0 EET}
+ {1585180800 10800 1 EEST}
+ {1600905600 7200 0 EET}
+ {1616630400 10800 1 EEST}
+ {1632960000 7200 0 EET}
+ {1648684800 10800 1 EEST}
+ {1664409600 7200 0 EET}
+ {1680134400 10800 1 EEST}
+ {1695859200 7200 0 EET}
+ {1711584000 10800 1 EEST}
+ {1727308800 7200 0 EET}
+ {1743033600 10800 1 EEST}
+ {1758758400 7200 0 EET}
+ {1774483200 10800 1 EEST}
+ {1790208000 7200 0 EET}
+ {1805932800 10800 1 EEST}
+ {1822262400 7200 0 EET}
+ {1837987200 10800 1 EEST}
+ {1853712000 7200 0 EET}
+ {1869436800 10800 1 EEST}
+ {1885161600 7200 0 EET}
+ {1900886400 10800 1 EEST}
+ {1916611200 7200 0 EET}
+ {1932336000 10800 1 EEST}
+ {1948060800 7200 0 EET}
+ {1963785600 10800 1 EEST}
+ {1980115200 7200 0 EET}
+ {1995840000 10800 1 EEST}
+ {2011564800 7200 0 EET}
+ {2027289600 10800 1 EEST}
+ {2043014400 7200 0 EET}
+ {2058739200 10800 1 EEST}
+ {2074464000 7200 0 EET}
+ {2090188800 10800 1 EEST}
+ {2105913600 7200 0 EET}
+ {2121638400 10800 1 EEST}
+ {2137363200 7200 0 EET}
+ {2153088000 10800 1 EEST}
+ {2169417600 7200 0 EET}
+ {2185142400 10800 1 EEST}
+ {2200867200 7200 0 EET}
+ {2216592000 10800 1 EEST}
+ {2232316800 7200 0 EET}
+ {2248041600 10800 1 EEST}
+ {2263766400 7200 0 EET}
+ {2279491200 10800 1 EEST}
+ {2295216000 7200 0 EET}
+ {2310940800 10800 1 EEST}
+ {2326665600 7200 0 EET}
+ {2342995200 10800 1 EEST}
+ {2358720000 7200 0 EET}
+ {2374444800 10800 1 EEST}
+ {2390169600 7200 0 EET}
+ {2405894400 10800 1 EEST}
+ {2421619200 7200 0 EET}
+ {2437344000 10800 1 EEST}
+ {2453068800 7200 0 EET}
+ {2468793600 10800 1 EEST}
+ {2484518400 7200 0 EET}
+ {2500243200 10800 1 EEST}
+ {2516572800 7200 0 EET}
+ {2532297600 10800 1 EEST}
+ {2548022400 7200 0 EET}
+ {2563747200 10800 1 EEST}
+ {2579472000 7200 0 EET}
+ {2595196800 10800 1 EEST}
+ {2610921600 7200 0 EET}
+ {2626646400 10800 1 EEST}
+ {2642371200 7200 0 EET}
+ {2658096000 10800 1 EEST}
+ {2673820800 7200 0 EET}
+ {2689545600 10800 1 EEST}
+ {2705875200 7200 0 EET}
+ {2721600000 10800 1 EEST}
+ {2737324800 7200 0 EET}
+ {2753049600 10800 1 EEST}
+ {2768774400 7200 0 EET}
+ {2784499200 10800 1 EEST}
+ {2800224000 7200 0 EET}
+ {2815948800 10800 1 EEST}
+ {2831673600 7200 0 EET}
+ {2847398400 10800 1 EEST}
+ {2863728000 7200 0 EET}
+ {2879452800 10800 1 EEST}
+ {2895177600 7200 0 EET}
+ {2910902400 10800 1 EEST}
+ {2926627200 7200 0 EET}
+ {2942352000 10800 1 EEST}
+ {2958076800 7200 0 EET}
+ {2973801600 10800 1 EEST}
+ {2989526400 7200 0 EET}
+ {3005251200 10800 1 EEST}
+ {3020976000 7200 0 EET}
+ {3036700800 10800 1 EEST}
+ {3053030400 7200 0 EET}
+ {3068755200 10800 1 EEST}
+ {3084480000 7200 0 EET}
+ {3100204800 10800 1 EEST}
+ {3115929600 7200 0 EET}
+ {3131654400 10800 1 EEST}
+ {3147379200 7200 0 EET}
+ {3163104000 10800 1 EEST}
+ {3178828800 7200 0 EET}
+ {3194553600 10800 1 EEST}
+ {3210278400 7200 0 EET}
+ {3226608000 10800 1 EEST}
+ {3242332800 7200 0 EET}
+ {3258057600 10800 1 EEST}
+ {3273782400 7200 0 EET}
+ {3289507200 10800 1 EEST}
+ {3305232000 7200 0 EET}
+ {3320956800 10800 1 EEST}
+ {3336681600 7200 0 EET}
+ {3352406400 10800 1 EEST}
+ {3368131200 7200 0 EET}
+ {3383856000 10800 1 EEST}
+ {3400185600 7200 0 EET}
+ {3415910400 10800 1 EEST}
+ {3431635200 7200 0 EET}
+ {3447360000 10800 1 EEST}
+ {3463084800 7200 0 EET}
+ {3478809600 10800 1 EEST}
+ {3494534400 7200 0 EET}
+ {3510259200 10800 1 EEST}
+ {3525984000 7200 0 EET}
+ {3541708800 10800 1 EEST}
+ {3557433600 7200 0 EET}
+ {3573158400 10800 1 EEST}
+ {3589488000 7200 0 EET}
+ {3605212800 10800 1 EEST}
+ {3620937600 7200 0 EET}
+ {3636662400 10800 1 EEST}
+ {3652387200 7200 0 EET}
+ {3668112000 10800 1 EEST}
+ {3683836800 7200 0 EET}
+ {3699561600 10800 1 EEST}
+ {3715286400 7200 0 EET}
+ {3731011200 10800 1 EEST}
+ {3747340800 7200 0 EET}
+ {3763065600 10800 1 EEST}
+ {3778790400 7200 0 EET}
+ {3794515200 10800 1 EEST}
+ {3810240000 7200 0 EET}
+ {3825964800 10800 1 EEST}
+ {3841689600 7200 0 EET}
+ {3857414400 10800 1 EEST}
+ {3873139200 7200 0 EET}
+ {3888864000 10800 1 EEST}
+ {3904588800 7200 0 EET}
+ {3920313600 10800 1 EEST}
+ {3936643200 7200 0 EET}
+ {3952368000 10800 1 EEST}
+ {3968092800 7200 0 EET}
+ {3983817600 10800 1 EEST}
+ {3999542400 7200 0 EET}
+ {4015267200 10800 1 EEST}
+ {4030992000 7200 0 EET}
+ {4046716800 10800 1 EEST}
+ {4062441600 7200 0 EET}
+ {4078166400 10800 1 EEST}
+ {4093891200 7200 0 EET}
+}
diff --git a/library/tzdata/Asia/Anadyr b/library/tzdata/Asia/Anadyr
new file mode 100644
index 0000000..bebb3c0
--- /dev/null
+++ b/library/tzdata/Asia/Anadyr
@@ -0,0 +1,247 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Anadyr) {
+ {-9223372036854775808 42596 0 LMT}
+ {-1441194596 43200 0 ANAT}
+ {-1247572800 46800 0 ANAMMTT}
+ {354884400 50400 1 ANAST}
+ {370692000 46800 0 ANAT}
+ {386420400 50400 1 ANAST}
+ {386467200 46800 0 ANAST}
+ {402231600 43200 0 ANAT}
+ {417960000 46800 1 ANAST}
+ {433767600 43200 0 ANAT}
+ {449582400 46800 1 ANAST}
+ {465357600 43200 0 ANAT}
+ {481082400 46800 1 ANAST}
+ {496807200 43200 0 ANAT}
+ {512532000 46800 1 ANAST}
+ {528256800 43200 0 ANAT}
+ {543981600 46800 1 ANAST}
+ {559706400 43200 0 ANAT}
+ {575431200 46800 1 ANAST}
+ {591156000 43200 0 ANAT}
+ {606880800 46800 1 ANAST}
+ {622605600 43200 0 ANAT}
+ {638330400 46800 1 ANAST}
+ {654660000 43200 0 ANAT}
+ {670384800 43200 0 ANAST}
+ {686109600 39600 0 ANAT}
+ {695786400 43200 0 ANAMMTT}
+ {701780400 46800 1 ANAST}
+ {717501600 43200 0 ANAT}
+ {733284000 46800 1 ANAST}
+ {749008800 43200 0 ANAT}
+ {764733600 46800 1 ANAST}
+ {780458400 43200 0 ANAT}
+ {796183200 46800 1 ANAST}
+ {811908000 43200 0 ANAT}
+ {828237600 46800 1 ANAST}
+ {846381600 43200 0 ANAT}
+ {859687200 46800 1 ANAST}
+ {877831200 43200 0 ANAT}
+ {891136800 46800 1 ANAST}
+ {909280800 43200 0 ANAT}
+ {922586400 46800 1 ANAST}
+ {941335200 43200 0 ANAT}
+ {954036000 46800 1 ANAST}
+ {972784800 43200 0 ANAT}
+ {985485600 46800 1 ANAST}
+ {1004234400 43200 0 ANAT}
+ {1017540000 46800 1 ANAST}
+ {1035684000 43200 0 ANAT}
+ {1048989600 46800 1 ANAST}
+ {1067133600 43200 0 ANAT}
+ {1080439200 46800 1 ANAST}
+ {1099188000 43200 0 ANAT}
+ {1111888800 46800 1 ANAST}
+ {1130637600 43200 0 ANAT}
+ {1143338400 46800 1 ANAST}
+ {1162087200 43200 0 ANAT}
+ {1174788000 46800 1 ANAST}
+ {1193536800 43200 0 ANAT}
+ {1206842400 46800 1 ANAST}
+ {1224986400 43200 0 ANAT}
+ {1238292000 46800 1 ANAST}
+ {1256436000 43200 0 ANAT}
+ {1269741600 46800 1 ANAST}
+ {1288490400 43200 0 ANAT}
+ {1301191200 46800 1 ANAST}
+ {1319940000 43200 0 ANAT}
+ {1332640800 46800 1 ANAST}
+ {1351389600 43200 0 ANAT}
+ {1364695200 46800 1 ANAST}
+ {1382839200 43200 0 ANAT}
+ {1396144800 46800 1 ANAST}
+ {1414288800 43200 0 ANAT}
+ {1427594400 46800 1 ANAST}
+ {1445738400 43200 0 ANAT}
+ {1459044000 46800 1 ANAST}
+ {1477792800 43200 0 ANAT}
+ {1490493600 46800 1 ANAST}
+ {1509242400 43200 0 ANAT}
+ {1521943200 46800 1 ANAST}
+ {1540692000 43200 0 ANAT}
+ {1553997600 46800 1 ANAST}
+ {1572141600 43200 0 ANAT}
+ {1585447200 46800 1 ANAST}
+ {1603591200 43200 0 ANAT}
+ {1616896800 46800 1 ANAST}
+ {1635645600 43200 0 ANAT}
+ {1648346400 46800 1 ANAST}
+ {1667095200 43200 0 ANAT}
+ {1679796000 46800 1 ANAST}
+ {1698544800 43200 0 ANAT}
+ {1711850400 46800 1 ANAST}
+ {1729994400 43200 0 ANAT}
+ {1743300000 46800 1 ANAST}
+ {1761444000 43200 0 ANAT}
+ {1774749600 46800 1 ANAST}
+ {1792893600 43200 0 ANAT}
+ {1806199200 46800 1 ANAST}
+ {1824948000 43200 0 ANAT}
+ {1837648800 46800 1 ANAST}
+ {1856397600 43200 0 ANAT}
+ {1869098400 46800 1 ANAST}
+ {1887847200 43200 0 ANAT}
+ {1901152800 46800 1 ANAST}
+ {1919296800 43200 0 ANAT}
+ {1932602400 46800 1 ANAST}
+ {1950746400 43200 0 ANAT}
+ {1964052000 46800 1 ANAST}
+ {1982800800 43200 0 ANAT}
+ {1995501600 46800 1 ANAST}
+ {2014250400 43200 0 ANAT}
+ {2026951200 46800 1 ANAST}
+ {2045700000 43200 0 ANAT}
+ {2058400800 46800 1 ANAST}
+ {2077149600 43200 0 ANAT}
+ {2090455200 46800 1 ANAST}
+ {2108599200 43200 0 ANAT}
+ {2121904800 46800 1 ANAST}
+ {2140048800 43200 0 ANAT}
+ {2153354400 46800 1 ANAST}
+ {2172103200 43200 0 ANAT}
+ {2184804000 46800 1 ANAST}
+ {2203552800 43200 0 ANAT}
+ {2216253600 46800 1 ANAST}
+ {2235002400 43200 0 ANAT}
+ {2248308000 46800 1 ANAST}
+ {2266452000 43200 0 ANAT}
+ {2279757600 46800 1 ANAST}
+ {2297901600 43200 0 ANAT}
+ {2311207200 46800 1 ANAST}
+ {2329351200 43200 0 ANAT}
+ {2342656800 46800 1 ANAST}
+ {2361405600 43200 0 ANAT}
+ {2374106400 46800 1 ANAST}
+ {2392855200 43200 0 ANAT}
+ {2405556000 46800 1 ANAST}
+ {2424304800 43200 0 ANAT}
+ {2437610400 46800 1 ANAST}
+ {2455754400 43200 0 ANAT}
+ {2469060000 46800 1 ANAST}
+ {2487204000 43200 0 ANAT}
+ {2500509600 46800 1 ANAST}
+ {2519258400 43200 0 ANAT}
+ {2531959200 46800 1 ANAST}
+ {2550708000 43200 0 ANAT}
+ {2563408800 46800 1 ANAST}
+ {2582157600 43200 0 ANAT}
+ {2595463200 46800 1 ANAST}
+ {2613607200 43200 0 ANAT}
+ {2626912800 46800 1 ANAST}
+ {2645056800 43200 0 ANAT}
+ {2658362400 46800 1 ANAST}
+ {2676506400 43200 0 ANAT}
+ {2689812000 46800 1 ANAST}
+ {2708560800 43200 0 ANAT}
+ {2721261600 46800 1 ANAST}
+ {2740010400 43200 0 ANAT}
+ {2752711200 46800 1 ANAST}
+ {2771460000 43200 0 ANAT}
+ {2784765600 46800 1 ANAST}
+ {2802909600 43200 0 ANAT}
+ {2816215200 46800 1 ANAST}
+ {2834359200 43200 0 ANAT}
+ {2847664800 46800 1 ANAST}
+ {2866413600 43200 0 ANAT}
+ {2879114400 46800 1 ANAST}
+ {2897863200 43200 0 ANAT}
+ {2910564000 46800 1 ANAST}
+ {2929312800 43200 0 ANAT}
+ {2942013600 46800 1 ANAST}
+ {2960762400 43200 0 ANAT}
+ {2974068000 46800 1 ANAST}
+ {2992212000 43200 0 ANAT}
+ {3005517600 46800 1 ANAST}
+ {3023661600 43200 0 ANAT}
+ {3036967200 46800 1 ANAST}
+ {3055716000 43200 0 ANAT}
+ {3068416800 46800 1 ANAST}
+ {3087165600 43200 0 ANAT}
+ {3099866400 46800 1 ANAST}
+ {3118615200 43200 0 ANAT}
+ {3131920800 46800 1 ANAST}
+ {3150064800 43200 0 ANAT}
+ {3163370400 46800 1 ANAST}
+ {3181514400 43200 0 ANAT}
+ {3194820000 46800 1 ANAST}
+ {3212964000 43200 0 ANAT}
+ {3226269600 46800 1 ANAST}
+ {3245018400 43200 0 ANAT}
+ {3257719200 46800 1 ANAST}
+ {3276468000 43200 0 ANAT}
+ {3289168800 46800 1 ANAST}
+ {3307917600 43200 0 ANAT}
+ {3321223200 46800 1 ANAST}
+ {3339367200 43200 0 ANAT}
+ {3352672800 46800 1 ANAST}
+ {3370816800 43200 0 ANAT}
+ {3384122400 46800 1 ANAST}
+ {3402871200 43200 0 ANAT}
+ {3415572000 46800 1 ANAST}
+ {3434320800 43200 0 ANAT}
+ {3447021600 46800 1 ANAST}
+ {3465770400 43200 0 ANAT}
+ {3479076000 46800 1 ANAST}
+ {3497220000 43200 0 ANAT}
+ {3510525600 46800 1 ANAST}
+ {3528669600 43200 0 ANAT}
+ {3541975200 46800 1 ANAST}
+ {3560119200 43200 0 ANAT}
+ {3573424800 46800 1 ANAST}
+ {3592173600 43200 0 ANAT}
+ {3604874400 46800 1 ANAST}
+ {3623623200 43200 0 ANAT}
+ {3636324000 46800 1 ANAST}
+ {3655072800 43200 0 ANAT}
+ {3668378400 46800 1 ANAST}
+ {3686522400 43200 0 ANAT}
+ {3699828000 46800 1 ANAST}
+ {3717972000 43200 0 ANAT}
+ {3731277600 46800 1 ANAST}
+ {3750026400 43200 0 ANAT}
+ {3762727200 46800 1 ANAST}
+ {3781476000 43200 0 ANAT}
+ {3794176800 46800 1 ANAST}
+ {3812925600 43200 0 ANAT}
+ {3825626400 46800 1 ANAST}
+ {3844375200 43200 0 ANAT}
+ {3857680800 46800 1 ANAST}
+ {3875824800 43200 0 ANAT}
+ {3889130400 46800 1 ANAST}
+ {3907274400 43200 0 ANAT}
+ {3920580000 46800 1 ANAST}
+ {3939328800 43200 0 ANAT}
+ {3952029600 46800 1 ANAST}
+ {3970778400 43200 0 ANAT}
+ {3983479200 46800 1 ANAST}
+ {4002228000 43200 0 ANAT}
+ {4015533600 46800 1 ANAST}
+ {4033677600 43200 0 ANAT}
+ {4046983200 46800 1 ANAST}
+ {4065127200 43200 0 ANAT}
+ {4078432800 46800 1 ANAST}
+ {4096576800 43200 0 ANAT}
+}
diff --git a/library/tzdata/Asia/Aqtau b/library/tzdata/Asia/Aqtau
new file mode 100644
index 0000000..0409a9e
--- /dev/null
+++ b/library/tzdata/Asia/Aqtau
@@ -0,0 +1,247 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Aqtau) {
+ {-9223372036854775808 12064 0 LMT}
+ {-1441164064 14400 0 FORT}
+ {-1247544000 18000 0 FORT}
+ {-220942800 18000 0 SHET}
+ {370724400 21600 0 SHET}
+ {386445600 18000 0 SHET}
+ {386449200 21600 1 SHEST}
+ {402256800 18000 0 SHET}
+ {417985200 21600 1 SHEST}
+ {433792800 18000 0 SHET}
+ {449607600 21600 1 SHEST}
+ {465357600 18000 0 SHET}
+ {481082400 21600 1 SHEST}
+ {496807200 18000 0 SHET}
+ {512532000 21600 1 SHEST}
+ {528256800 18000 0 SHET}
+ {543981600 21600 1 SHEST}
+ {559706400 18000 0 SHET}
+ {575431200 21600 1 SHEST}
+ {591156000 18000 0 SHET}
+ {606880800 21600 1 SHEST}
+ {622605600 18000 0 SHET}
+ {638330400 21600 1 SHEST}
+ {654660000 18000 0 SHET}
+ {662670000 18000 0 SHET}
+ {692823600 18000 0 AQTT}
+ {701805600 21600 1 AQTST}
+ {717526800 18000 0 AQTT}
+ {733284000 21600 1 AQTST}
+ {749008800 18000 0 AQTT}
+ {764733600 21600 1 AQTST}
+ {780458400 18000 0 AQTT}
+ {796165200 14400 0 AQTT}
+ {796183200 18000 1 AQTST}
+ {811908000 14400 0 AQTT}
+ {828237600 18000 1 AQTST}
+ {846381600 14400 0 AQTT}
+ {859687200 18000 1 AQTST}
+ {877831200 14400 0 AQTT}
+ {891136800 18000 1 AQTST}
+ {909280800 14400 0 AQTT}
+ {922586400 18000 1 AQTST}
+ {941335200 14400 0 AQTT}
+ {954036000 18000 1 AQTST}
+ {972784800 14400 0 AQTT}
+ {985485600 18000 1 AQTST}
+ {1004234400 14400 0 AQTT}
+ {1017540000 18000 1 AQTST}
+ {1035684000 14400 0 AQTT}
+ {1048989600 18000 1 AQTST}
+ {1067133600 14400 0 AQTT}
+ {1080439200 18000 1 AQTST}
+ {1099188000 14400 0 AQTT}
+ {1111888800 18000 1 AQTST}
+ {1130637600 14400 0 AQTT}
+ {1143338400 18000 1 AQTST}
+ {1162087200 14400 0 AQTT}
+ {1174788000 18000 1 AQTST}
+ {1193536800 14400 0 AQTT}
+ {1206842400 18000 1 AQTST}
+ {1224986400 14400 0 AQTT}
+ {1238292000 18000 1 AQTST}
+ {1256436000 14400 0 AQTT}
+ {1269741600 18000 1 AQTST}
+ {1288490400 14400 0 AQTT}
+ {1301191200 18000 1 AQTST}
+ {1319940000 14400 0 AQTT}
+ {1332640800 18000 1 AQTST}
+ {1351389600 14400 0 AQTT}
+ {1364695200 18000 1 AQTST}
+ {1382839200 14400 0 AQTT}
+ {1396144800 18000 1 AQTST}
+ {1414288800 14400 0 AQTT}
+ {1427594400 18000 1 AQTST}
+ {1445738400 14400 0 AQTT}
+ {1459044000 18000 1 AQTST}
+ {1477792800 14400 0 AQTT}
+ {1490493600 18000 1 AQTST}
+ {1509242400 14400 0 AQTT}
+ {1521943200 18000 1 AQTST}
+ {1540692000 14400 0 AQTT}
+ {1553997600 18000 1 AQTST}
+ {1572141600 14400 0 AQTT}
+ {1585447200 18000 1 AQTST}
+ {1603591200 14400 0 AQTT}
+ {1616896800 18000 1 AQTST}
+ {1635645600 14400 0 AQTT}
+ {1648346400 18000 1 AQTST}
+ {1667095200 14400 0 AQTT}
+ {1679796000 18000 1 AQTST}
+ {1698544800 14400 0 AQTT}
+ {1711850400 18000 1 AQTST}
+ {1729994400 14400 0 AQTT}
+ {1743300000 18000 1 AQTST}
+ {1761444000 14400 0 AQTT}
+ {1774749600 18000 1 AQTST}
+ {1792893600 14400 0 AQTT}
+ {1806199200 18000 1 AQTST}
+ {1824948000 14400 0 AQTT}
+ {1837648800 18000 1 AQTST}
+ {1856397600 14400 0 AQTT}
+ {1869098400 18000 1 AQTST}
+ {1887847200 14400 0 AQTT}
+ {1901152800 18000 1 AQTST}
+ {1919296800 14400 0 AQTT}
+ {1932602400 18000 1 AQTST}
+ {1950746400 14400 0 AQTT}
+ {1964052000 18000 1 AQTST}
+ {1982800800 14400 0 AQTT}
+ {1995501600 18000 1 AQTST}
+ {2014250400 14400 0 AQTT}
+ {2026951200 18000 1 AQTST}
+ {2045700000 14400 0 AQTT}
+ {2058400800 18000 1 AQTST}
+ {2077149600 14400 0 AQTT}
+ {2090455200 18000 1 AQTST}
+ {2108599200 14400 0 AQTT}
+ {2121904800 18000 1 AQTST}
+ {2140048800 14400 0 AQTT}
+ {2153354400 18000 1 AQTST}
+ {2172103200 14400 0 AQTT}
+ {2184804000 18000 1 AQTST}
+ {2203552800 14400 0 AQTT}
+ {2216253600 18000 1 AQTST}
+ {2235002400 14400 0 AQTT}
+ {2248308000 18000 1 AQTST}
+ {2266452000 14400 0 AQTT}
+ {2279757600 18000 1 AQTST}
+ {2297901600 14400 0 AQTT}
+ {2311207200 18000 1 AQTST}
+ {2329351200 14400 0 AQTT}
+ {2342656800 18000 1 AQTST}
+ {2361405600 14400 0 AQTT}
+ {2374106400 18000 1 AQTST}
+ {2392855200 14400 0 AQTT}
+ {2405556000 18000 1 AQTST}
+ {2424304800 14400 0 AQTT}
+ {2437610400 18000 1 AQTST}
+ {2455754400 14400 0 AQTT}
+ {2469060000 18000 1 AQTST}
+ {2487204000 14400 0 AQTT}
+ {2500509600 18000 1 AQTST}
+ {2519258400 14400 0 AQTT}
+ {2531959200 18000 1 AQTST}
+ {2550708000 14400 0 AQTT}
+ {2563408800 18000 1 AQTST}
+ {2582157600 14400 0 AQTT}
+ {2595463200 18000 1 AQTST}
+ {2613607200 14400 0 AQTT}
+ {2626912800 18000 1 AQTST}
+ {2645056800 14400 0 AQTT}
+ {2658362400 18000 1 AQTST}
+ {2676506400 14400 0 AQTT}
+ {2689812000 18000 1 AQTST}
+ {2708560800 14400 0 AQTT}
+ {2721261600 18000 1 AQTST}
+ {2740010400 14400 0 AQTT}
+ {2752711200 18000 1 AQTST}
+ {2771460000 14400 0 AQTT}
+ {2784765600 18000 1 AQTST}
+ {2802909600 14400 0 AQTT}
+ {2816215200 18000 1 AQTST}
+ {2834359200 14400 0 AQTT}
+ {2847664800 18000 1 AQTST}
+ {2866413600 14400 0 AQTT}
+ {2879114400 18000 1 AQTST}
+ {2897863200 14400 0 AQTT}
+ {2910564000 18000 1 AQTST}
+ {2929312800 14400 0 AQTT}
+ {2942013600 18000 1 AQTST}
+ {2960762400 14400 0 AQTT}
+ {2974068000 18000 1 AQTST}
+ {2992212000 14400 0 AQTT}
+ {3005517600 18000 1 AQTST}
+ {3023661600 14400 0 AQTT}
+ {3036967200 18000 1 AQTST}
+ {3055716000 14400 0 AQTT}
+ {3068416800 18000 1 AQTST}
+ {3087165600 14400 0 AQTT}
+ {3099866400 18000 1 AQTST}
+ {3118615200 14400 0 AQTT}
+ {3131920800 18000 1 AQTST}
+ {3150064800 14400 0 AQTT}
+ {3163370400 18000 1 AQTST}
+ {3181514400 14400 0 AQTT}
+ {3194820000 18000 1 AQTST}
+ {3212964000 14400 0 AQTT}
+ {3226269600 18000 1 AQTST}
+ {3245018400 14400 0 AQTT}
+ {3257719200 18000 1 AQTST}
+ {3276468000 14400 0 AQTT}
+ {3289168800 18000 1 AQTST}
+ {3307917600 14400 0 AQTT}
+ {3321223200 18000 1 AQTST}
+ {3339367200 14400 0 AQTT}
+ {3352672800 18000 1 AQTST}
+ {3370816800 14400 0 AQTT}
+ {3384122400 18000 1 AQTST}
+ {3402871200 14400 0 AQTT}
+ {3415572000 18000 1 AQTST}
+ {3434320800 14400 0 AQTT}
+ {3447021600 18000 1 AQTST}
+ {3465770400 14400 0 AQTT}
+ {3479076000 18000 1 AQTST}
+ {3497220000 14400 0 AQTT}
+ {3510525600 18000 1 AQTST}
+ {3528669600 14400 0 AQTT}
+ {3541975200 18000 1 AQTST}
+ {3560119200 14400 0 AQTT}
+ {3573424800 18000 1 AQTST}
+ {3592173600 14400 0 AQTT}
+ {3604874400 18000 1 AQTST}
+ {3623623200 14400 0 AQTT}
+ {3636324000 18000 1 AQTST}
+ {3655072800 14400 0 AQTT}
+ {3668378400 18000 1 AQTST}
+ {3686522400 14400 0 AQTT}
+ {3699828000 18000 1 AQTST}
+ {3717972000 14400 0 AQTT}
+ {3731277600 18000 1 AQTST}
+ {3750026400 14400 0 AQTT}
+ {3762727200 18000 1 AQTST}
+ {3781476000 14400 0 AQTT}
+ {3794176800 18000 1 AQTST}
+ {3812925600 14400 0 AQTT}
+ {3825626400 18000 1 AQTST}
+ {3844375200 14400 0 AQTT}
+ {3857680800 18000 1 AQTST}
+ {3875824800 14400 0 AQTT}
+ {3889130400 18000 1 AQTST}
+ {3907274400 14400 0 AQTT}
+ {3920580000 18000 1 AQTST}
+ {3939328800 14400 0 AQTT}
+ {3952029600 18000 1 AQTST}
+ {3970778400 14400 0 AQTT}
+ {3983479200 18000 1 AQTST}
+ {4002228000 14400 0 AQTT}
+ {4015533600 18000 1 AQTST}
+ {4033677600 14400 0 AQTT}
+ {4046983200 18000 1 AQTST}
+ {4065127200 14400 0 AQTT}
+ {4078432800 18000 1 AQTST}
+ {4096576800 14400 0 AQTT}
+}
diff --git a/library/tzdata/Asia/Aqtobe b/library/tzdata/Asia/Aqtobe
new file mode 100644
index 0000000..92ddb45
--- /dev/null
+++ b/library/tzdata/Asia/Aqtobe
@@ -0,0 +1,246 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Aqtobe) {
+ {-9223372036854775808 13720 0 LMT}
+ {-1441165720 14400 0 AKTT}
+ {-1247544000 18000 0 AKTT}
+ {354913200 21600 1 AKTST}
+ {370720800 21600 0 AKTT}
+ {386445600 18000 0 AKTT}
+ {386449200 21600 1 AKTST}
+ {402256800 18000 0 AKTT}
+ {417985200 21600 1 AKTST}
+ {433792800 18000 0 AKTT}
+ {449607600 21600 1 AKTST}
+ {465357600 18000 0 AKTT}
+ {481082400 21600 1 AKTST}
+ {496807200 18000 0 AKTT}
+ {512532000 21600 1 AKTST}
+ {528256800 18000 0 AKTT}
+ {543981600 21600 1 AKTST}
+ {559706400 18000 0 AKTT}
+ {575431200 21600 1 AKTST}
+ {591156000 18000 0 AKTT}
+ {606880800 21600 1 AKTST}
+ {622605600 18000 0 AKTT}
+ {638330400 21600 1 AKTST}
+ {654660000 18000 0 AKTT}
+ {662670000 18000 0 AKTT}
+ {692823600 18000 0 AQTT}
+ {701805600 21600 1 AQTST}
+ {717526800 18000 0 AQTT}
+ {733284000 21600 1 AQTST}
+ {749008800 18000 0 AQTT}
+ {764733600 21600 1 AQTST}
+ {780458400 18000 0 AQTT}
+ {796183200 21600 1 AQTST}
+ {811908000 18000 0 AQTT}
+ {828237600 21600 1 AQTST}
+ {846381600 18000 0 AQTT}
+ {859687200 21600 1 AQTST}
+ {877831200 18000 0 AQTT}
+ {891136800 21600 1 AQTST}
+ {909280800 18000 0 AQTT}
+ {922586400 21600 1 AQTST}
+ {941335200 18000 0 AQTT}
+ {954036000 21600 1 AQTST}
+ {972784800 18000 0 AQTT}
+ {985485600 21600 1 AQTST}
+ {1004234400 18000 0 AQTT}
+ {1017540000 21600 1 AQTST}
+ {1035684000 18000 0 AQTT}
+ {1048989600 21600 1 AQTST}
+ {1067133600 18000 0 AQTT}
+ {1080439200 21600 1 AQTST}
+ {1099188000 18000 0 AQTT}
+ {1111888800 21600 1 AQTST}
+ {1130637600 18000 0 AQTT}
+ {1143338400 21600 1 AQTST}
+ {1162087200 18000 0 AQTT}
+ {1174788000 21600 1 AQTST}
+ {1193536800 18000 0 AQTT}
+ {1206842400 21600 1 AQTST}
+ {1224986400 18000 0 AQTT}
+ {1238292000 21600 1 AQTST}
+ {1256436000 18000 0 AQTT}
+ {1269741600 21600 1 AQTST}
+ {1288490400 18000 0 AQTT}
+ {1301191200 21600 1 AQTST}
+ {1319940000 18000 0 AQTT}
+ {1332640800 21600 1 AQTST}
+ {1351389600 18000 0 AQTT}
+ {1364695200 21600 1 AQTST}
+ {1382839200 18000 0 AQTT}
+ {1396144800 21600 1 AQTST}
+ {1414288800 18000 0 AQTT}
+ {1427594400 21600 1 AQTST}
+ {1445738400 18000 0 AQTT}
+ {1459044000 21600 1 AQTST}
+ {1477792800 18000 0 AQTT}
+ {1490493600 21600 1 AQTST}
+ {1509242400 18000 0 AQTT}
+ {1521943200 21600 1 AQTST}
+ {1540692000 18000 0 AQTT}
+ {1553997600 21600 1 AQTST}
+ {1572141600 18000 0 AQTT}
+ {1585447200 21600 1 AQTST}
+ {1603591200 18000 0 AQTT}
+ {1616896800 21600 1 AQTST}
+ {1635645600 18000 0 AQTT}
+ {1648346400 21600 1 AQTST}
+ {1667095200 18000 0 AQTT}
+ {1679796000 21600 1 AQTST}
+ {1698544800 18000 0 AQTT}
+ {1711850400 21600 1 AQTST}
+ {1729994400 18000 0 AQTT}
+ {1743300000 21600 1 AQTST}
+ {1761444000 18000 0 AQTT}
+ {1774749600 21600 1 AQTST}
+ {1792893600 18000 0 AQTT}
+ {1806199200 21600 1 AQTST}
+ {1824948000 18000 0 AQTT}
+ {1837648800 21600 1 AQTST}
+ {1856397600 18000 0 AQTT}
+ {1869098400 21600 1 AQTST}
+ {1887847200 18000 0 AQTT}
+ {1901152800 21600 1 AQTST}
+ {1919296800 18000 0 AQTT}
+ {1932602400 21600 1 AQTST}
+ {1950746400 18000 0 AQTT}
+ {1964052000 21600 1 AQTST}
+ {1982800800 18000 0 AQTT}
+ {1995501600 21600 1 AQTST}
+ {2014250400 18000 0 AQTT}
+ {2026951200 21600 1 AQTST}
+ {2045700000 18000 0 AQTT}
+ {2058400800 21600 1 AQTST}
+ {2077149600 18000 0 AQTT}
+ {2090455200 21600 1 AQTST}
+ {2108599200 18000 0 AQTT}
+ {2121904800 21600 1 AQTST}
+ {2140048800 18000 0 AQTT}
+ {2153354400 21600 1 AQTST}
+ {2172103200 18000 0 AQTT}
+ {2184804000 21600 1 AQTST}
+ {2203552800 18000 0 AQTT}
+ {2216253600 21600 1 AQTST}
+ {2235002400 18000 0 AQTT}
+ {2248308000 21600 1 AQTST}
+ {2266452000 18000 0 AQTT}
+ {2279757600 21600 1 AQTST}
+ {2297901600 18000 0 AQTT}
+ {2311207200 21600 1 AQTST}
+ {2329351200 18000 0 AQTT}
+ {2342656800 21600 1 AQTST}
+ {2361405600 18000 0 AQTT}
+ {2374106400 21600 1 AQTST}
+ {2392855200 18000 0 AQTT}
+ {2405556000 21600 1 AQTST}
+ {2424304800 18000 0 AQTT}
+ {2437610400 21600 1 AQTST}
+ {2455754400 18000 0 AQTT}
+ {2469060000 21600 1 AQTST}
+ {2487204000 18000 0 AQTT}
+ {2500509600 21600 1 AQTST}
+ {2519258400 18000 0 AQTT}
+ {2531959200 21600 1 AQTST}
+ {2550708000 18000 0 AQTT}
+ {2563408800 21600 1 AQTST}
+ {2582157600 18000 0 AQTT}
+ {2595463200 21600 1 AQTST}
+ {2613607200 18000 0 AQTT}
+ {2626912800 21600 1 AQTST}
+ {2645056800 18000 0 AQTT}
+ {2658362400 21600 1 AQTST}
+ {2676506400 18000 0 AQTT}
+ {2689812000 21600 1 AQTST}
+ {2708560800 18000 0 AQTT}
+ {2721261600 21600 1 AQTST}
+ {2740010400 18000 0 AQTT}
+ {2752711200 21600 1 AQTST}
+ {2771460000 18000 0 AQTT}
+ {2784765600 21600 1 AQTST}
+ {2802909600 18000 0 AQTT}
+ {2816215200 21600 1 AQTST}
+ {2834359200 18000 0 AQTT}
+ {2847664800 21600 1 AQTST}
+ {2866413600 18000 0 AQTT}
+ {2879114400 21600 1 AQTST}
+ {2897863200 18000 0 AQTT}
+ {2910564000 21600 1 AQTST}
+ {2929312800 18000 0 AQTT}
+ {2942013600 21600 1 AQTST}
+ {2960762400 18000 0 AQTT}
+ {2974068000 21600 1 AQTST}
+ {2992212000 18000 0 AQTT}
+ {3005517600 21600 1 AQTST}
+ {3023661600 18000 0 AQTT}
+ {3036967200 21600 1 AQTST}
+ {3055716000 18000 0 AQTT}
+ {3068416800 21600 1 AQTST}
+ {3087165600 18000 0 AQTT}
+ {3099866400 21600 1 AQTST}
+ {3118615200 18000 0 AQTT}
+ {3131920800 21600 1 AQTST}
+ {3150064800 18000 0 AQTT}
+ {3163370400 21600 1 AQTST}
+ {3181514400 18000 0 AQTT}
+ {3194820000 21600 1 AQTST}
+ {3212964000 18000 0 AQTT}
+ {3226269600 21600 1 AQTST}
+ {3245018400 18000 0 AQTT}
+ {3257719200 21600 1 AQTST}
+ {3276468000 18000 0 AQTT}
+ {3289168800 21600 1 AQTST}
+ {3307917600 18000 0 AQTT}
+ {3321223200 21600 1 AQTST}
+ {3339367200 18000 0 AQTT}
+ {3352672800 21600 1 AQTST}
+ {3370816800 18000 0 AQTT}
+ {3384122400 21600 1 AQTST}
+ {3402871200 18000 0 AQTT}
+ {3415572000 21600 1 AQTST}
+ {3434320800 18000 0 AQTT}
+ {3447021600 21600 1 AQTST}
+ {3465770400 18000 0 AQTT}
+ {3479076000 21600 1 AQTST}
+ {3497220000 18000 0 AQTT}
+ {3510525600 21600 1 AQTST}
+ {3528669600 18000 0 AQTT}
+ {3541975200 21600 1 AQTST}
+ {3560119200 18000 0 AQTT}
+ {3573424800 21600 1 AQTST}
+ {3592173600 18000 0 AQTT}
+ {3604874400 21600 1 AQTST}
+ {3623623200 18000 0 AQTT}
+ {3636324000 21600 1 AQTST}
+ {3655072800 18000 0 AQTT}
+ {3668378400 21600 1 AQTST}
+ {3686522400 18000 0 AQTT}
+ {3699828000 21600 1 AQTST}
+ {3717972000 18000 0 AQTT}
+ {3731277600 21600 1 AQTST}
+ {3750026400 18000 0 AQTT}
+ {3762727200 21600 1 AQTST}
+ {3781476000 18000 0 AQTT}
+ {3794176800 21600 1 AQTST}
+ {3812925600 18000 0 AQTT}
+ {3825626400 21600 1 AQTST}
+ {3844375200 18000 0 AQTT}
+ {3857680800 21600 1 AQTST}
+ {3875824800 18000 0 AQTT}
+ {3889130400 21600 1 AQTST}
+ {3907274400 18000 0 AQTT}
+ {3920580000 21600 1 AQTST}
+ {3939328800 18000 0 AQTT}
+ {3952029600 21600 1 AQTST}
+ {3970778400 18000 0 AQTT}
+ {3983479200 21600 1 AQTST}
+ {4002228000 18000 0 AQTT}
+ {4015533600 21600 1 AQTST}
+ {4033677600 18000 0 AQTT}
+ {4046983200 21600 1 AQTST}
+ {4065127200 18000 0 AQTT}
+ {4078432800 21600 1 AQTST}
+ {4096576800 18000 0 AQTT}
+}
diff --git a/library/tzdata/Asia/Ashgabat b/library/tzdata/Asia/Ashgabat
new file mode 100644
index 0000000..cf8f98d
--- /dev/null
+++ b/library/tzdata/Asia/Ashgabat
@@ -0,0 +1,31 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Ashgabat) {
+ {-9223372036854775808 14012 0 LMT}
+ {-1441166012 14400 0 ASHT}
+ {-1247544000 18000 0 ASHT}
+ {354913200 21600 1 ASHST}
+ {370720800 18000 0 ASHT}
+ {386449200 21600 1 ASHST}
+ {402256800 18000 0 ASHT}
+ {417985200 21600 1 ASHST}
+ {433792800 18000 0 ASHT}
+ {449607600 21600 1 ASHST}
+ {465357600 18000 0 ASHT}
+ {481082400 21600 1 ASHST}
+ {496807200 18000 0 ASHT}
+ {512532000 21600 1 ASHST}
+ {528256800 18000 0 ASHT}
+ {543981600 21600 1 ASHST}
+ {559706400 18000 0 ASHT}
+ {575431200 21600 1 ASHST}
+ {591156000 18000 0 ASHT}
+ {606880800 21600 1 ASHST}
+ {622605600 18000 0 ASHT}
+ {638330400 21600 1 ASHST}
+ {654660000 18000 0 ASHT}
+ {670366800 14400 0 ASHT}
+ {670384800 18000 1 ASHST}
+ {686109600 14400 0 ASHT}
+ {695772000 18000 0 TMT}
+}
diff --git a/library/tzdata/Asia/Ashkhabad b/library/tzdata/Asia/Ashkhabad
new file mode 100644
index 0000000..6e14446
--- /dev/null
+++ b/library/tzdata/Asia/Ashkhabad
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Ashgabat)]} {
+ loadTimeZoneFile Asia/Ashgabat
+}
+set tzdata(:Asia/Ashkhabad) $TZData(:Asia/Ashgabat)
diff --git a/library/tzdata/Asia/Baghdad b/library/tzdata/Asia/Baghdad
new file mode 100644
index 0000000..ae569db
--- /dev/null
+++ b/library/tzdata/Asia/Baghdad
@@ -0,0 +1,243 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Baghdad) {
+ {-9223372036854775808 10660 0 LMT}
+ {-2524532260 10656 0 BMT}
+ {-1641005856 10800 0 AST}
+ {389048400 14400 0 ADT}
+ {402264000 10800 0 AST}
+ {417906000 14400 1 ADT}
+ {433800000 10800 0 AST}
+ {449614800 14400 1 ADT}
+ {465422400 10800 0 AST}
+ {481150800 14400 1 ADT}
+ {496803600 10800 0 AST}
+ {512528400 14400 1 ADT}
+ {528253200 10800 0 AST}
+ {543978000 14400 1 ADT}
+ {559702800 10800 0 AST}
+ {575427600 14400 1 ADT}
+ {591152400 10800 0 AST}
+ {606877200 14400 1 ADT}
+ {622602000 10800 0 AST}
+ {638326800 14400 1 ADT}
+ {654656400 10800 0 AST}
+ {670474800 14400 1 ADT}
+ {686286000 10800 0 AST}
+ {702097200 14400 1 ADT}
+ {717908400 10800 0 AST}
+ {733633200 14400 1 ADT}
+ {749444400 10800 0 AST}
+ {765169200 14400 1 ADT}
+ {780980400 10800 0 AST}
+ {796705200 14400 1 ADT}
+ {812516400 10800 0 AST}
+ {828327600 14400 1 ADT}
+ {844138800 10800 0 AST}
+ {859863600 14400 1 ADT}
+ {875674800 10800 0 AST}
+ {891399600 14400 1 ADT}
+ {907210800 10800 0 AST}
+ {922935600 14400 1 ADT}
+ {938746800 10800 0 AST}
+ {954558000 14400 1 ADT}
+ {970369200 10800 0 AST}
+ {986094000 14400 1 ADT}
+ {1001905200 10800 0 AST}
+ {1017630000 14400 1 ADT}
+ {1033441200 10800 0 AST}
+ {1049166000 14400 1 ADT}
+ {1064977200 10800 0 AST}
+ {1080788400 14400 1 ADT}
+ {1096599600 10800 0 AST}
+ {1112324400 14400 1 ADT}
+ {1128135600 10800 0 AST}
+ {1143860400 14400 1 ADT}
+ {1159671600 10800 0 AST}
+ {1175396400 14400 1 ADT}
+ {1191207600 10800 0 AST}
+ {1207018800 14400 1 ADT}
+ {1222830000 10800 0 AST}
+ {1238554800 14400 1 ADT}
+ {1254366000 10800 0 AST}
+ {1270090800 14400 1 ADT}
+ {1285902000 10800 0 AST}
+ {1301626800 14400 1 ADT}
+ {1317438000 10800 0 AST}
+ {1333249200 14400 1 ADT}
+ {1349060400 10800 0 AST}
+ {1364785200 14400 1 ADT}
+ {1380596400 10800 0 AST}
+ {1396321200 14400 1 ADT}
+ {1412132400 10800 0 AST}
+ {1427857200 14400 1 ADT}
+ {1443668400 10800 0 AST}
+ {1459479600 14400 1 ADT}
+ {1475290800 10800 0 AST}
+ {1491015600 14400 1 ADT}
+ {1506826800 10800 0 AST}
+ {1522551600 14400 1 ADT}
+ {1538362800 10800 0 AST}
+ {1554087600 14400 1 ADT}
+ {1569898800 10800 0 AST}
+ {1585710000 14400 1 ADT}
+ {1601521200 10800 0 AST}
+ {1617246000 14400 1 ADT}
+ {1633057200 10800 0 AST}
+ {1648782000 14400 1 ADT}
+ {1664593200 10800 0 AST}
+ {1680318000 14400 1 ADT}
+ {1696129200 10800 0 AST}
+ {1711940400 14400 1 ADT}
+ {1727751600 10800 0 AST}
+ {1743476400 14400 1 ADT}
+ {1759287600 10800 0 AST}
+ {1775012400 14400 1 ADT}
+ {1790823600 10800 0 AST}
+ {1806548400 14400 1 ADT}
+ {1822359600 10800 0 AST}
+ {1838170800 14400 1 ADT}
+ {1853982000 10800 0 AST}
+ {1869706800 14400 1 ADT}
+ {1885518000 10800 0 AST}
+ {1901242800 14400 1 ADT}
+ {1917054000 10800 0 AST}
+ {1932778800 14400 1 ADT}
+ {1948590000 10800 0 AST}
+ {1964401200 14400 1 ADT}
+ {1980212400 10800 0 AST}
+ {1995937200 14400 1 ADT}
+ {2011748400 10800 0 AST}
+ {2027473200 14400 1 ADT}
+ {2043284400 10800 0 AST}
+ {2059009200 14400 1 ADT}
+ {2074820400 10800 0 AST}
+ {2090631600 14400 1 ADT}
+ {2106442800 10800 0 AST}
+ {2122167600 14400 1 ADT}
+ {2137978800 10800 0 AST}
+ {2153703600 14400 1 ADT}
+ {2169514800 10800 0 AST}
+ {2185239600 14400 1 ADT}
+ {2201050800 10800 0 AST}
+ {2216862000 14400 1 ADT}
+ {2232673200 10800 0 AST}
+ {2248398000 14400 1 ADT}
+ {2264209200 10800 0 AST}
+ {2279934000 14400 1 ADT}
+ {2295745200 10800 0 AST}
+ {2311470000 14400 1 ADT}
+ {2327281200 10800 0 AST}
+ {2343092400 14400 1 ADT}
+ {2358903600 10800 0 AST}
+ {2374628400 14400 1 ADT}
+ {2390439600 10800 0 AST}
+ {2406164400 14400 1 ADT}
+ {2421975600 10800 0 AST}
+ {2437700400 14400 1 ADT}
+ {2453511600 10800 0 AST}
+ {2469322800 14400 1 ADT}
+ {2485134000 10800 0 AST}
+ {2500858800 14400 1 ADT}
+ {2516670000 10800 0 AST}
+ {2532394800 14400 1 ADT}
+ {2548206000 10800 0 AST}
+ {2563930800 14400 1 ADT}
+ {2579742000 10800 0 AST}
+ {2595553200 14400 1 ADT}
+ {2611364400 10800 0 AST}
+ {2627089200 14400 1 ADT}
+ {2642900400 10800 0 AST}
+ {2658625200 14400 1 ADT}
+ {2674436400 10800 0 AST}
+ {2690161200 14400 1 ADT}
+ {2705972400 10800 0 AST}
+ {2721783600 14400 1 ADT}
+ {2737594800 10800 0 AST}
+ {2753319600 14400 1 ADT}
+ {2769130800 10800 0 AST}
+ {2784855600 14400 1 ADT}
+ {2800666800 10800 0 AST}
+ {2816391600 14400 1 ADT}
+ {2832202800 10800 0 AST}
+ {2848014000 14400 1 ADT}
+ {2863825200 10800 0 AST}
+ {2879550000 14400 1 ADT}
+ {2895361200 10800 0 AST}
+ {2911086000 14400 1 ADT}
+ {2926897200 10800 0 AST}
+ {2942622000 14400 1 ADT}
+ {2958433200 10800 0 AST}
+ {2974244400 14400 1 ADT}
+ {2990055600 10800 0 AST}
+ {3005780400 14400 1 ADT}
+ {3021591600 10800 0 AST}
+ {3037316400 14400 1 ADT}
+ {3053127600 10800 0 AST}
+ {3068852400 14400 1 ADT}
+ {3084663600 10800 0 AST}
+ {3100474800 14400 1 ADT}
+ {3116286000 10800 0 AST}
+ {3132010800 14400 1 ADT}
+ {3147822000 10800 0 AST}
+ {3163546800 14400 1 ADT}
+ {3179358000 10800 0 AST}
+ {3195082800 14400 1 ADT}
+ {3210894000 10800 0 AST}
+ {3226705200 14400 1 ADT}
+ {3242516400 10800 0 AST}
+ {3258241200 14400 1 ADT}
+ {3274052400 10800 0 AST}
+ {3289777200 14400 1 ADT}
+ {3305588400 10800 0 AST}
+ {3321313200 14400 1 ADT}
+ {3337124400 10800 0 AST}
+ {3352935600 14400 1 ADT}
+ {3368746800 10800 0 AST}
+ {3384471600 14400 1 ADT}
+ {3400282800 10800 0 AST}
+ {3416007600 14400 1 ADT}
+ {3431818800 10800 0 AST}
+ {3447543600 14400 1 ADT}
+ {3463354800 10800 0 AST}
+ {3479166000 14400 1 ADT}
+ {3494977200 10800 0 AST}
+ {3510702000 14400 1 ADT}
+ {3526513200 10800 0 AST}
+ {3542238000 14400 1 ADT}
+ {3558049200 10800 0 AST}
+ {3573774000 14400 1 ADT}
+ {3589585200 10800 0 AST}
+ {3605396400 14400 1 ADT}
+ {3621207600 10800 0 AST}
+ {3636932400 14400 1 ADT}
+ {3652743600 10800 0 AST}
+ {3668468400 14400 1 ADT}
+ {3684279600 10800 0 AST}
+ {3700004400 14400 1 ADT}
+ {3715815600 10800 0 AST}
+ {3731626800 14400 1 ADT}
+ {3747438000 10800 0 AST}
+ {3763162800 14400 1 ADT}
+ {3778974000 10800 0 AST}
+ {3794698800 14400 1 ADT}
+ {3810510000 10800 0 AST}
+ {3826234800 14400 1 ADT}
+ {3842046000 10800 0 AST}
+ {3857857200 14400 1 ADT}
+ {3873668400 10800 0 AST}
+ {3889393200 14400 1 ADT}
+ {3905204400 10800 0 AST}
+ {3920929200 14400 1 ADT}
+ {3936740400 10800 0 AST}
+ {3952465200 14400 1 ADT}
+ {3968276400 10800 0 AST}
+ {3984087600 14400 1 ADT}
+ {3999898800 10800 0 AST}
+ {4015623600 14400 1 ADT}
+ {4031434800 10800 0 AST}
+ {4047159600 14400 1 ADT}
+ {4062970800 10800 0 AST}
+ {4078695600 14400 1 ADT}
+ {4094506800 10800 0 AST}
+}
diff --git a/library/tzdata/Asia/Bahrain b/library/tzdata/Asia/Bahrain
new file mode 100644
index 0000000..cfabc53
--- /dev/null
+++ b/library/tzdata/Asia/Bahrain
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Bahrain) {
+ {-9223372036854775808 12140 0 LMT}
+ {-1577935340 14400 0 GST}
+ {76190400 10800 0 AST}
+}
diff --git a/library/tzdata/Asia/Baku b/library/tzdata/Asia/Baku
new file mode 100644
index 0000000..5cc99b9
--- /dev/null
+++ b/library/tzdata/Asia/Baku
@@ -0,0 +1,243 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Baku) {
+ {-9223372036854775808 11964 0 LMT}
+ {-1441163964 10800 0 BAKT}
+ {-405140400 14400 0 BAKT}
+ {354916800 18000 1 BAKST}
+ {370724400 14400 0 BAKT}
+ {386452800 18000 1 BAKST}
+ {402260400 14400 0 BAKT}
+ {417988800 18000 1 BAKST}
+ {433796400 14400 0 BAKT}
+ {449611200 18000 1 BAKST}
+ {465357600 14400 0 BAKT}
+ {481082400 18000 1 BAKST}
+ {496807200 14400 0 BAKT}
+ {512532000 18000 1 BAKST}
+ {528256800 14400 0 BAKT}
+ {543981600 18000 1 BAKST}
+ {559706400 14400 0 BAKT}
+ {575431200 18000 1 BAKST}
+ {591156000 14400 0 BAKT}
+ {606880800 18000 1 BAKST}
+ {622605600 14400 0 BAKT}
+ {638330400 18000 1 BAKST}
+ {654660000 14400 0 BAKT}
+ {670384800 14400 1 BAKST}
+ {683496000 14400 0 AZST}
+ {686109600 10800 0 AZT}
+ {701812800 14400 1 AZST}
+ {717534000 10800 0 AZT}
+ {717559200 14400 0 AZT}
+ {820440000 14400 0 AZT}
+ {828234000 18000 1 AZST}
+ {846378000 14400 0 AZT}
+ {852062400 14400 0 AZT}
+ {859669200 18000 1 AZST}
+ {877809600 14400 0 AZT}
+ {891118800 18000 1 AZST}
+ {909259200 14400 0 AZT}
+ {922568400 18000 1 AZST}
+ {941313600 14400 0 AZT}
+ {954018000 18000 1 AZST}
+ {972763200 14400 0 AZT}
+ {985467600 18000 1 AZST}
+ {1004212800 14400 0 AZT}
+ {1017522000 18000 1 AZST}
+ {1035662400 14400 0 AZT}
+ {1048971600 18000 1 AZST}
+ {1067112000 14400 0 AZT}
+ {1080421200 18000 1 AZST}
+ {1099166400 14400 0 AZT}
+ {1111870800 18000 1 AZST}
+ {1130616000 14400 0 AZT}
+ {1143320400 18000 1 AZST}
+ {1162065600 14400 0 AZT}
+ {1174770000 18000 1 AZST}
+ {1193515200 14400 0 AZT}
+ {1206824400 18000 1 AZST}
+ {1224964800 14400 0 AZT}
+ {1238274000 18000 1 AZST}
+ {1256414400 14400 0 AZT}
+ {1269723600 18000 1 AZST}
+ {1288468800 14400 0 AZT}
+ {1301173200 18000 1 AZST}
+ {1319918400 14400 0 AZT}
+ {1332622800 18000 1 AZST}
+ {1351368000 14400 0 AZT}
+ {1364677200 18000 1 AZST}
+ {1382817600 14400 0 AZT}
+ {1396126800 18000 1 AZST}
+ {1414267200 14400 0 AZT}
+ {1427576400 18000 1 AZST}
+ {1445716800 14400 0 AZT}
+ {1459026000 18000 1 AZST}
+ {1477771200 14400 0 AZT}
+ {1490475600 18000 1 AZST}
+ {1509220800 14400 0 AZT}
+ {1521925200 18000 1 AZST}
+ {1540670400 14400 0 AZT}
+ {1553979600 18000 1 AZST}
+ {1572120000 14400 0 AZT}
+ {1585429200 18000 1 AZST}
+ {1603569600 14400 0 AZT}
+ {1616878800 18000 1 AZST}
+ {1635624000 14400 0 AZT}
+ {1648328400 18000 1 AZST}
+ {1667073600 14400 0 AZT}
+ {1679778000 18000 1 AZST}
+ {1698523200 14400 0 AZT}
+ {1711832400 18000 1 AZST}
+ {1729972800 14400 0 AZT}
+ {1743282000 18000 1 AZST}
+ {1761422400 14400 0 AZT}
+ {1774731600 18000 1 AZST}
+ {1792872000 14400 0 AZT}
+ {1806181200 18000 1 AZST}
+ {1824926400 14400 0 AZT}
+ {1837630800 18000 1 AZST}
+ {1856376000 14400 0 AZT}
+ {1869080400 18000 1 AZST}
+ {1887825600 14400 0 AZT}
+ {1901134800 18000 1 AZST}
+ {1919275200 14400 0 AZT}
+ {1932584400 18000 1 AZST}
+ {1950724800 14400 0 AZT}
+ {1964034000 18000 1 AZST}
+ {1982779200 14400 0 AZT}
+ {1995483600 18000 1 AZST}
+ {2014228800 14400 0 AZT}
+ {2026933200 18000 1 AZST}
+ {2045678400 14400 0 AZT}
+ {2058382800 18000 1 AZST}
+ {2077128000 14400 0 AZT}
+ {2090437200 18000 1 AZST}
+ {2108577600 14400 0 AZT}
+ {2121886800 18000 1 AZST}
+ {2140027200 14400 0 AZT}
+ {2153336400 18000 1 AZST}
+ {2172081600 14400 0 AZT}
+ {2184786000 18000 1 AZST}
+ {2203531200 14400 0 AZT}
+ {2216235600 18000 1 AZST}
+ {2234980800 14400 0 AZT}
+ {2248290000 18000 1 AZST}
+ {2266430400 14400 0 AZT}
+ {2279739600 18000 1 AZST}
+ {2297880000 14400 0 AZT}
+ {2311189200 18000 1 AZST}
+ {2329329600 14400 0 AZT}
+ {2342638800 18000 1 AZST}
+ {2361384000 14400 0 AZT}
+ {2374088400 18000 1 AZST}
+ {2392833600 14400 0 AZT}
+ {2405538000 18000 1 AZST}
+ {2424283200 14400 0 AZT}
+ {2437592400 18000 1 AZST}
+ {2455732800 14400 0 AZT}
+ {2469042000 18000 1 AZST}
+ {2487182400 14400 0 AZT}
+ {2500491600 18000 1 AZST}
+ {2519236800 14400 0 AZT}
+ {2531941200 18000 1 AZST}
+ {2550686400 14400 0 AZT}
+ {2563390800 18000 1 AZST}
+ {2582136000 14400 0 AZT}
+ {2595445200 18000 1 AZST}
+ {2613585600 14400 0 AZT}
+ {2626894800 18000 1 AZST}
+ {2645035200 14400 0 AZT}
+ {2658344400 18000 1 AZST}
+ {2676484800 14400 0 AZT}
+ {2689794000 18000 1 AZST}
+ {2708539200 14400 0 AZT}
+ {2721243600 18000 1 AZST}
+ {2739988800 14400 0 AZT}
+ {2752693200 18000 1 AZST}
+ {2771438400 14400 0 AZT}
+ {2784747600 18000 1 AZST}
+ {2802888000 14400 0 AZT}
+ {2816197200 18000 1 AZST}
+ {2834337600 14400 0 AZT}
+ {2847646800 18000 1 AZST}
+ {2866392000 14400 0 AZT}
+ {2879096400 18000 1 AZST}
+ {2897841600 14400 0 AZT}
+ {2910546000 18000 1 AZST}
+ {2929291200 14400 0 AZT}
+ {2941995600 18000 1 AZST}
+ {2960740800 14400 0 AZT}
+ {2974050000 18000 1 AZST}
+ {2992190400 14400 0 AZT}
+ {3005499600 18000 1 AZST}
+ {3023640000 14400 0 AZT}
+ {3036949200 18000 1 AZST}
+ {3055694400 14400 0 AZT}
+ {3068398800 18000 1 AZST}
+ {3087144000 14400 0 AZT}
+ {3099848400 18000 1 AZST}
+ {3118593600 14400 0 AZT}
+ {3131902800 18000 1 AZST}
+ {3150043200 14400 0 AZT}
+ {3163352400 18000 1 AZST}
+ {3181492800 14400 0 AZT}
+ {3194802000 18000 1 AZST}
+ {3212942400 14400 0 AZT}
+ {3226251600 18000 1 AZST}
+ {3244996800 14400 0 AZT}
+ {3257701200 18000 1 AZST}
+ {3276446400 14400 0 AZT}
+ {3289150800 18000 1 AZST}
+ {3307896000 14400 0 AZT}
+ {3321205200 18000 1 AZST}
+ {3339345600 14400 0 AZT}
+ {3352654800 18000 1 AZST}
+ {3370795200 14400 0 AZT}
+ {3384104400 18000 1 AZST}
+ {3402849600 14400 0 AZT}
+ {3415554000 18000 1 AZST}
+ {3434299200 14400 0 AZT}
+ {3447003600 18000 1 AZST}
+ {3465748800 14400 0 AZT}
+ {3479058000 18000 1 AZST}
+ {3497198400 14400 0 AZT}
+ {3510507600 18000 1 AZST}
+ {3528648000 14400 0 AZT}
+ {3541957200 18000 1 AZST}
+ {3560097600 14400 0 AZT}
+ {3573406800 18000 1 AZST}
+ {3592152000 14400 0 AZT}
+ {3604856400 18000 1 AZST}
+ {3623601600 14400 0 AZT}
+ {3636306000 18000 1 AZST}
+ {3655051200 14400 0 AZT}
+ {3668360400 18000 1 AZST}
+ {3686500800 14400 0 AZT}
+ {3699810000 18000 1 AZST}
+ {3717950400 14400 0 AZT}
+ {3731259600 18000 1 AZST}
+ {3750004800 14400 0 AZT}
+ {3762709200 18000 1 AZST}
+ {3781454400 14400 0 AZT}
+ {3794158800 18000 1 AZST}
+ {3812904000 14400 0 AZT}
+ {3825608400 18000 1 AZST}
+ {3844353600 14400 0 AZT}
+ {3857662800 18000 1 AZST}
+ {3875803200 14400 0 AZT}
+ {3889112400 18000 1 AZST}
+ {3907252800 14400 0 AZT}
+ {3920562000 18000 1 AZST}
+ {3939307200 14400 0 AZT}
+ {3952011600 18000 1 AZST}
+ {3970756800 14400 0 AZT}
+ {3983461200 18000 1 AZST}
+ {4002206400 14400 0 AZT}
+ {4015515600 18000 1 AZST}
+ {4033656000 14400 0 AZT}
+ {4046965200 18000 1 AZST}
+ {4065105600 14400 0 AZT}
+ {4078414800 18000 1 AZST}
+ {4096555200 14400 0 AZT}
+}
diff --git a/library/tzdata/Asia/Bangkok b/library/tzdata/Asia/Bangkok
new file mode 100644
index 0000000..f837ef9
--- /dev/null
+++ b/library/tzdata/Asia/Bangkok
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Bangkok) {
+ {-9223372036854775808 24124 0 LMT}
+ {-2840164924 24124 0 BMT}
+ {-1570084924 25200 0 ICT}
+}
diff --git a/library/tzdata/Asia/Beirut b/library/tzdata/Asia/Beirut
new file mode 100644
index 0000000..46259c5
--- /dev/null
+++ b/library/tzdata/Asia/Beirut
@@ -0,0 +1,270 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Beirut) {
+ {-9223372036854775808 8520 0 LMT}
+ {-2840149320 7200 0 EET}
+ {-1570413600 10800 1 EEST}
+ {-1552186800 7200 0 EET}
+ {-1538359200 10800 1 EEST}
+ {-1522551600 7200 0 EET}
+ {-1507514400 10800 1 EEST}
+ {-1490583600 7200 0 EET}
+ {-1473645600 10800 1 EEST}
+ {-1460948400 7200 0 EET}
+ {-399866400 10800 1 EEST}
+ {-386650800 7200 0 EET}
+ {-368330400 10800 1 EEST}
+ {-355114800 7200 0 EET}
+ {-336794400 10800 1 EEST}
+ {-323578800 7200 0 EET}
+ {-305172000 10800 1 EEST}
+ {-291956400 7200 0 EET}
+ {-273636000 10800 1 EEST}
+ {-260420400 7200 0 EET}
+ {78012000 10800 1 EEST}
+ {86734800 7200 0 EET}
+ {105055200 10800 1 EEST}
+ {118270800 7200 0 EET}
+ {136591200 10800 1 EEST}
+ {149806800 7200 0 EET}
+ {168127200 10800 1 EEST}
+ {181342800 7200 0 EET}
+ {199749600 10800 1 EEST}
+ {212965200 7200 0 EET}
+ {231285600 10800 1 EEST}
+ {244501200 7200 0 EET}
+ {262735200 10800 1 EEST}
+ {275950800 7200 0 EET}
+ {452210400 10800 1 EEST}
+ {466722000 7200 0 EET}
+ {483746400 10800 1 EEST}
+ {498258000 7200 0 EET}
+ {515282400 10800 1 EEST}
+ {529794000 7200 0 EET}
+ {546818400 10800 1 EEST}
+ {561330000 7200 0 EET}
+ {581119200 10800 1 EEST}
+ {592952400 7200 0 EET}
+ {610754400 10800 1 EEST}
+ {624488400 7200 0 EET}
+ {641512800 10800 1 EEST}
+ {656024400 7200 0 EET}
+ {673048800 10800 1 EEST}
+ {687560400 7200 0 EET}
+ {704671200 10800 1 EEST}
+ {718146000 7200 0 EET}
+ {733269600 10800 1 EEST}
+ {748990800 7200 0 EET}
+ {764719200 10800 1 EEST}
+ {780440400 7200 0 EET}
+ {796168800 10800 1 EEST}
+ {811890000 7200 0 EET}
+ {828223200 10800 1 EEST}
+ {843944400 7200 0 EET}
+ {859672800 10800 1 EEST}
+ {875394000 7200 0 EET}
+ {891122400 10800 1 EEST}
+ {906843600 7200 0 EET}
+ {922572000 10800 1 EEST}
+ {941317200 7200 0 EET}
+ {954021600 10800 1 EEST}
+ {972766800 7200 0 EET}
+ {985471200 10800 1 EEST}
+ {1004216400 7200 0 EET}
+ {1017525600 10800 1 EEST}
+ {1035666000 7200 0 EET}
+ {1048975200 10800 1 EEST}
+ {1067115600 7200 0 EET}
+ {1080424800 10800 1 EEST}
+ {1099170000 7200 0 EET}
+ {1111874400 10800 1 EEST}
+ {1130619600 7200 0 EET}
+ {1143324000 10800 1 EEST}
+ {1162069200 7200 0 EET}
+ {1174773600 10800 1 EEST}
+ {1193518800 7200 0 EET}
+ {1206828000 10800 1 EEST}
+ {1224968400 7200 0 EET}
+ {1238277600 10800 1 EEST}
+ {1256418000 7200 0 EET}
+ {1269727200 10800 1 EEST}
+ {1288472400 7200 0 EET}
+ {1301176800 10800 1 EEST}
+ {1319922000 7200 0 EET}
+ {1332626400 10800 1 EEST}
+ {1351371600 7200 0 EET}
+ {1364680800 10800 1 EEST}
+ {1382821200 7200 0 EET}
+ {1396130400 10800 1 EEST}
+ {1414270800 7200 0 EET}
+ {1427580000 10800 1 EEST}
+ {1445720400 7200 0 EET}
+ {1459029600 10800 1 EEST}
+ {1477774800 7200 0 EET}
+ {1490479200 10800 1 EEST}
+ {1509224400 7200 0 EET}
+ {1521928800 10800 1 EEST}
+ {1540674000 7200 0 EET}
+ {1553983200 10800 1 EEST}
+ {1572123600 7200 0 EET}
+ {1585432800 10800 1 EEST}
+ {1603573200 7200 0 EET}
+ {1616882400 10800 1 EEST}
+ {1635627600 7200 0 EET}
+ {1648332000 10800 1 EEST}
+ {1667077200 7200 0 EET}
+ {1679781600 10800 1 EEST}
+ {1698526800 7200 0 EET}
+ {1711836000 10800 1 EEST}
+ {1729976400 7200 0 EET}
+ {1743285600 10800 1 EEST}
+ {1761426000 7200 0 EET}
+ {1774735200 10800 1 EEST}
+ {1792875600 7200 0 EET}
+ {1806184800 10800 1 EEST}
+ {1824930000 7200 0 EET}
+ {1837634400 10800 1 EEST}
+ {1856379600 7200 0 EET}
+ {1869084000 10800 1 EEST}
+ {1887829200 7200 0 EET}
+ {1901138400 10800 1 EEST}
+ {1919278800 7200 0 EET}
+ {1932588000 10800 1 EEST}
+ {1950728400 7200 0 EET}
+ {1964037600 10800 1 EEST}
+ {1982782800 7200 0 EET}
+ {1995487200 10800 1 EEST}
+ {2014232400 7200 0 EET}
+ {2026936800 10800 1 EEST}
+ {2045682000 7200 0 EET}
+ {2058386400 10800 1 EEST}
+ {2077131600 7200 0 EET}
+ {2090440800 10800 1 EEST}
+ {2108581200 7200 0 EET}
+ {2121890400 10800 1 EEST}
+ {2140030800 7200 0 EET}
+ {2153340000 10800 1 EEST}
+ {2172085200 7200 0 EET}
+ {2184789600 10800 1 EEST}
+ {2203534800 7200 0 EET}
+ {2216239200 10800 1 EEST}
+ {2234984400 7200 0 EET}
+ {2248293600 10800 1 EEST}
+ {2266434000 7200 0 EET}
+ {2279743200 10800 1 EEST}
+ {2297883600 7200 0 EET}
+ {2311192800 10800 1 EEST}
+ {2329333200 7200 0 EET}
+ {2342642400 10800 1 EEST}
+ {2361387600 7200 0 EET}
+ {2374092000 10800 1 EEST}
+ {2392837200 7200 0 EET}
+ {2405541600 10800 1 EEST}
+ {2424286800 7200 0 EET}
+ {2437596000 10800 1 EEST}
+ {2455736400 7200 0 EET}
+ {2469045600 10800 1 EEST}
+ {2487186000 7200 0 EET}
+ {2500495200 10800 1 EEST}
+ {2519240400 7200 0 EET}
+ {2531944800 10800 1 EEST}
+ {2550690000 7200 0 EET}
+ {2563394400 10800 1 EEST}
+ {2582139600 7200 0 EET}
+ {2595448800 10800 1 EEST}
+ {2613589200 7200 0 EET}
+ {2626898400 10800 1 EEST}
+ {2645038800 7200 0 EET}
+ {2658348000 10800 1 EEST}
+ {2676488400 7200 0 EET}
+ {2689797600 10800 1 EEST}
+ {2708542800 7200 0 EET}
+ {2721247200 10800 1 EEST}
+ {2739992400 7200 0 EET}
+ {2752696800 10800 1 EEST}
+ {2771442000 7200 0 EET}
+ {2784751200 10800 1 EEST}
+ {2802891600 7200 0 EET}
+ {2816200800 10800 1 EEST}
+ {2834341200 7200 0 EET}
+ {2847650400 10800 1 EEST}
+ {2866395600 7200 0 EET}
+ {2879100000 10800 1 EEST}
+ {2897845200 7200 0 EET}
+ {2910549600 10800 1 EEST}
+ {2929294800 7200 0 EET}
+ {2941999200 10800 1 EEST}
+ {2960744400 7200 0 EET}
+ {2974053600 10800 1 EEST}
+ {2992194000 7200 0 EET}
+ {3005503200 10800 1 EEST}
+ {3023643600 7200 0 EET}
+ {3036952800 10800 1 EEST}
+ {3055698000 7200 0 EET}
+ {3068402400 10800 1 EEST}
+ {3087147600 7200 0 EET}
+ {3099852000 10800 1 EEST}
+ {3118597200 7200 0 EET}
+ {3131906400 10800 1 EEST}
+ {3150046800 7200 0 EET}
+ {3163356000 10800 1 EEST}
+ {3181496400 7200 0 EET}
+ {3194805600 10800 1 EEST}
+ {3212946000 7200 0 EET}
+ {3226255200 10800 1 EEST}
+ {3245000400 7200 0 EET}
+ {3257704800 10800 1 EEST}
+ {3276450000 7200 0 EET}
+ {3289154400 10800 1 EEST}
+ {3307899600 7200 0 EET}
+ {3321208800 10800 1 EEST}
+ {3339349200 7200 0 EET}
+ {3352658400 10800 1 EEST}
+ {3370798800 7200 0 EET}
+ {3384108000 10800 1 EEST}
+ {3402853200 7200 0 EET}
+ {3415557600 10800 1 EEST}
+ {3434302800 7200 0 EET}
+ {3447007200 10800 1 EEST}
+ {3465752400 7200 0 EET}
+ {3479061600 10800 1 EEST}
+ {3497202000 7200 0 EET}
+ {3510511200 10800 1 EEST}
+ {3528651600 7200 0 EET}
+ {3541960800 10800 1 EEST}
+ {3560101200 7200 0 EET}
+ {3573410400 10800 1 EEST}
+ {3592155600 7200 0 EET}
+ {3604860000 10800 1 EEST}
+ {3623605200 7200 0 EET}
+ {3636309600 10800 1 EEST}
+ {3655054800 7200 0 EET}
+ {3668364000 10800 1 EEST}
+ {3686504400 7200 0 EET}
+ {3699813600 10800 1 EEST}
+ {3717954000 7200 0 EET}
+ {3731263200 10800 1 EEST}
+ {3750008400 7200 0 EET}
+ {3762712800 10800 1 EEST}
+ {3781458000 7200 0 EET}
+ {3794162400 10800 1 EEST}
+ {3812907600 7200 0 EET}
+ {3825612000 10800 1 EEST}
+ {3844357200 7200 0 EET}
+ {3857666400 10800 1 EEST}
+ {3875806800 7200 0 EET}
+ {3889116000 10800 1 EEST}
+ {3907256400 7200 0 EET}
+ {3920565600 10800 1 EEST}
+ {3939310800 7200 0 EET}
+ {3952015200 10800 1 EEST}
+ {3970760400 7200 0 EET}
+ {3983464800 10800 1 EEST}
+ {4002210000 7200 0 EET}
+ {4015519200 10800 1 EEST}
+ {4033659600 7200 0 EET}
+ {4046968800 10800 1 EEST}
+ {4065109200 7200 0 EET}
+ {4078418400 10800 1 EEST}
+ {4096558800 7200 0 EET}
+}
diff --git a/library/tzdata/Asia/Bishkek b/library/tzdata/Asia/Bishkek
new file mode 100644
index 0000000..c612f76
--- /dev/null
+++ b/library/tzdata/Asia/Bishkek
@@ -0,0 +1,245 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Bishkek) {
+ {-9223372036854775808 17904 0 LMT}
+ {-1441169904 18000 0 FRUT}
+ {-1247547600 21600 0 FRUT}
+ {354909600 25200 1 FRUST}
+ {370717200 21600 0 FRUT}
+ {386445600 25200 1 FRUST}
+ {402253200 21600 0 FRUT}
+ {417981600 25200 1 FRUST}
+ {433789200 21600 0 FRUT}
+ {449604000 25200 1 FRUST}
+ {465357600 21600 0 FRUT}
+ {481082400 25200 1 FRUST}
+ {496807200 21600 0 FRUT}
+ {512532000 25200 1 FRUST}
+ {528256800 21600 0 FRUT}
+ {543981600 25200 1 FRUST}
+ {559706400 21600 0 FRUT}
+ {575431200 25200 1 FRUST}
+ {591156000 21600 0 FRUT}
+ {606880800 25200 1 FRUST}
+ {622605600 21600 0 FRUT}
+ {638330400 25200 1 FRUST}
+ {654660000 21600 0 FRUT}
+ {670384800 21600 1 FRUST}
+ {683582400 21600 0 KGT}
+ {703036800 21600 1 KGST}
+ {717530400 18000 0 KGT}
+ {734486400 21600 1 KGST}
+ {748980000 18000 0 KGT}
+ {765936000 21600 1 KGST}
+ {780429600 18000 0 KGT}
+ {797385600 21600 1 KGST}
+ {811879200 18000 0 KGT}
+ {828835200 21600 1 KGST}
+ {843933600 18000 0 KGT}
+ {859671000 21600 1 KGST}
+ {877811400 18000 0 KGT}
+ {891120600 21600 1 KGST}
+ {909261000 18000 0 KGT}
+ {922570200 21600 1 KGST}
+ {941315400 18000 0 KGT}
+ {954019800 21600 1 KGST}
+ {972765000 18000 0 KGT}
+ {985469400 21600 1 KGST}
+ {1004214600 18000 0 KGT}
+ {1017523800 21600 1 KGST}
+ {1035664200 18000 0 KGT}
+ {1048973400 21600 1 KGST}
+ {1067113800 18000 0 KGT}
+ {1080423000 21600 1 KGST}
+ {1099168200 18000 0 KGT}
+ {1111872600 21600 1 KGST}
+ {1130617800 18000 0 KGT}
+ {1143322200 21600 1 KGST}
+ {1162067400 18000 0 KGT}
+ {1174771800 21600 1 KGST}
+ {1193517000 18000 0 KGT}
+ {1206826200 21600 1 KGST}
+ {1224966600 18000 0 KGT}
+ {1238275800 21600 1 KGST}
+ {1256416200 18000 0 KGT}
+ {1269725400 21600 1 KGST}
+ {1288470600 18000 0 KGT}
+ {1301175000 21600 1 KGST}
+ {1319920200 18000 0 KGT}
+ {1332624600 21600 1 KGST}
+ {1351369800 18000 0 KGT}
+ {1364679000 21600 1 KGST}
+ {1382819400 18000 0 KGT}
+ {1396128600 21600 1 KGST}
+ {1414269000 18000 0 KGT}
+ {1427578200 21600 1 KGST}
+ {1445718600 18000 0 KGT}
+ {1459027800 21600 1 KGST}
+ {1477773000 18000 0 KGT}
+ {1490477400 21600 1 KGST}
+ {1509222600 18000 0 KGT}
+ {1521927000 21600 1 KGST}
+ {1540672200 18000 0 KGT}
+ {1553981400 21600 1 KGST}
+ {1572121800 18000 0 KGT}
+ {1585431000 21600 1 KGST}
+ {1603571400 18000 0 KGT}
+ {1616880600 21600 1 KGST}
+ {1635625800 18000 0 KGT}
+ {1648330200 21600 1 KGST}
+ {1667075400 18000 0 KGT}
+ {1679779800 21600 1 KGST}
+ {1698525000 18000 0 KGT}
+ {1711834200 21600 1 KGST}
+ {1729974600 18000 0 KGT}
+ {1743283800 21600 1 KGST}
+ {1761424200 18000 0 KGT}
+ {1774733400 21600 1 KGST}
+ {1792873800 18000 0 KGT}
+ {1806183000 21600 1 KGST}
+ {1824928200 18000 0 KGT}
+ {1837632600 21600 1 KGST}
+ {1856377800 18000 0 KGT}
+ {1869082200 21600 1 KGST}
+ {1887827400 18000 0 KGT}
+ {1901136600 21600 1 KGST}
+ {1919277000 18000 0 KGT}
+ {1932586200 21600 1 KGST}
+ {1950726600 18000 0 KGT}
+ {1964035800 21600 1 KGST}
+ {1982781000 18000 0 KGT}
+ {1995485400 21600 1 KGST}
+ {2014230600 18000 0 KGT}
+ {2026935000 21600 1 KGST}
+ {2045680200 18000 0 KGT}
+ {2058384600 21600 1 KGST}
+ {2077129800 18000 0 KGT}
+ {2090439000 21600 1 KGST}
+ {2108579400 18000 0 KGT}
+ {2121888600 21600 1 KGST}
+ {2140029000 18000 0 KGT}
+ {2153338200 21600 1 KGST}
+ {2172083400 18000 0 KGT}
+ {2184787800 21600 1 KGST}
+ {2203533000 18000 0 KGT}
+ {2216237400 21600 1 KGST}
+ {2234982600 18000 0 KGT}
+ {2248291800 21600 1 KGST}
+ {2266432200 18000 0 KGT}
+ {2279741400 21600 1 KGST}
+ {2297881800 18000 0 KGT}
+ {2311191000 21600 1 KGST}
+ {2329331400 18000 0 KGT}
+ {2342640600 21600 1 KGST}
+ {2361385800 18000 0 KGT}
+ {2374090200 21600 1 KGST}
+ {2392835400 18000 0 KGT}
+ {2405539800 21600 1 KGST}
+ {2424285000 18000 0 KGT}
+ {2437594200 21600 1 KGST}
+ {2455734600 18000 0 KGT}
+ {2469043800 21600 1 KGST}
+ {2487184200 18000 0 KGT}
+ {2500493400 21600 1 KGST}
+ {2519238600 18000 0 KGT}
+ {2531943000 21600 1 KGST}
+ {2550688200 18000 0 KGT}
+ {2563392600 21600 1 KGST}
+ {2582137800 18000 0 KGT}
+ {2595447000 21600 1 KGST}
+ {2613587400 18000 0 KGT}
+ {2626896600 21600 1 KGST}
+ {2645037000 18000 0 KGT}
+ {2658346200 21600 1 KGST}
+ {2676486600 18000 0 KGT}
+ {2689795800 21600 1 KGST}
+ {2708541000 18000 0 KGT}
+ {2721245400 21600 1 KGST}
+ {2739990600 18000 0 KGT}
+ {2752695000 21600 1 KGST}
+ {2771440200 18000 0 KGT}
+ {2784749400 21600 1 KGST}
+ {2802889800 18000 0 KGT}
+ {2816199000 21600 1 KGST}
+ {2834339400 18000 0 KGT}
+ {2847648600 21600 1 KGST}
+ {2866393800 18000 0 KGT}
+ {2879098200 21600 1 KGST}
+ {2897843400 18000 0 KGT}
+ {2910547800 21600 1 KGST}
+ {2929293000 18000 0 KGT}
+ {2941997400 21600 1 KGST}
+ {2960742600 18000 0 KGT}
+ {2974051800 21600 1 KGST}
+ {2992192200 18000 0 KGT}
+ {3005501400 21600 1 KGST}
+ {3023641800 18000 0 KGT}
+ {3036951000 21600 1 KGST}
+ {3055696200 18000 0 KGT}
+ {3068400600 21600 1 KGST}
+ {3087145800 18000 0 KGT}
+ {3099850200 21600 1 KGST}
+ {3118595400 18000 0 KGT}
+ {3131904600 21600 1 KGST}
+ {3150045000 18000 0 KGT}
+ {3163354200 21600 1 KGST}
+ {3181494600 18000 0 KGT}
+ {3194803800 21600 1 KGST}
+ {3212944200 18000 0 KGT}
+ {3226253400 21600 1 KGST}
+ {3244998600 18000 0 KGT}
+ {3257703000 21600 1 KGST}
+ {3276448200 18000 0 KGT}
+ {3289152600 21600 1 KGST}
+ {3307897800 18000 0 KGT}
+ {3321207000 21600 1 KGST}
+ {3339347400 18000 0 KGT}
+ {3352656600 21600 1 KGST}
+ {3370797000 18000 0 KGT}
+ {3384106200 21600 1 KGST}
+ {3402851400 18000 0 KGT}
+ {3415555800 21600 1 KGST}
+ {3434301000 18000 0 KGT}
+ {3447005400 21600 1 KGST}
+ {3465750600 18000 0 KGT}
+ {3479059800 21600 1 KGST}
+ {3497200200 18000 0 KGT}
+ {3510509400 21600 1 KGST}
+ {3528649800 18000 0 KGT}
+ {3541959000 21600 1 KGST}
+ {3560099400 18000 0 KGT}
+ {3573408600 21600 1 KGST}
+ {3592153800 18000 0 KGT}
+ {3604858200 21600 1 KGST}
+ {3623603400 18000 0 KGT}
+ {3636307800 21600 1 KGST}
+ {3655053000 18000 0 KGT}
+ {3668362200 21600 1 KGST}
+ {3686502600 18000 0 KGT}
+ {3699811800 21600 1 KGST}
+ {3717952200 18000 0 KGT}
+ {3731261400 21600 1 KGST}
+ {3750006600 18000 0 KGT}
+ {3762711000 21600 1 KGST}
+ {3781456200 18000 0 KGT}
+ {3794160600 21600 1 KGST}
+ {3812905800 18000 0 KGT}
+ {3825610200 21600 1 KGST}
+ {3844355400 18000 0 KGT}
+ {3857664600 21600 1 KGST}
+ {3875805000 18000 0 KGT}
+ {3889114200 21600 1 KGST}
+ {3907254600 18000 0 KGT}
+ {3920563800 21600 1 KGST}
+ {3939309000 18000 0 KGT}
+ {3952013400 21600 1 KGST}
+ {3970758600 18000 0 KGT}
+ {3983463000 21600 1 KGST}
+ {4002208200 18000 0 KGT}
+ {4015517400 21600 1 KGST}
+ {4033657800 18000 0 KGT}
+ {4046967000 21600 1 KGST}
+ {4065107400 18000 0 KGT}
+ {4078416600 21600 1 KGST}
+ {4096557000 18000 0 KGT}
+}
diff --git a/library/tzdata/Asia/Brunei b/library/tzdata/Asia/Brunei
new file mode 100644
index 0000000..bbd2852
--- /dev/null
+++ b/library/tzdata/Asia/Brunei
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Brunei) {
+ {-9223372036854775808 27580 0 LMT}
+ {-1383464380 27000 0 BNT}
+ {-1167636600 28800 0 BNT}
+}
diff --git a/library/tzdata/Asia/Calcutta b/library/tzdata/Asia/Calcutta
new file mode 100644
index 0000000..a1f2c97
--- /dev/null
+++ b/library/tzdata/Asia/Calcutta
@@ -0,0 +1,10 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Calcutta) {
+ {-9223372036854775808 21208 0 LMT}
+ {-2840162008 21200 0 HMT}
+ {-891582800 23400 0 BURT}
+ {-872058600 19800 0 IST}
+ {-862637400 23400 1 IST}
+ {-764145000 19800 0 IST}
+}
diff --git a/library/tzdata/Asia/Choibalsan b/library/tzdata/Asia/Choibalsan
new file mode 100644
index 0000000..d14da64
--- /dev/null
+++ b/library/tzdata/Asia/Choibalsan
@@ -0,0 +1,237 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Choibalsan) {
+ {-9223372036854775808 27480 0 LMT}
+ {-2032933080 25200 0 ULAT}
+ {252435600 28800 0 ULAT}
+ {417974400 36000 0 CHOST}
+ {433778400 32400 0 CHOT}
+ {449593200 36000 1 CHOST}
+ {465357600 32400 0 CHOT}
+ {481082400 36000 1 CHOST}
+ {496807200 32400 0 CHOT}
+ {512532000 36000 1 CHOST}
+ {528256800 32400 0 CHOT}
+ {543981600 36000 1 CHOST}
+ {559706400 32400 0 CHOT}
+ {575431200 36000 1 CHOST}
+ {591156000 32400 0 CHOT}
+ {606880800 36000 1 CHOST}
+ {622605600 32400 0 CHOT}
+ {638330400 36000 1 CHOST}
+ {654660000 32400 0 CHOT}
+ {670384800 36000 1 CHOST}
+ {686109600 32400 0 CHOT}
+ {701834400 36000 1 CHOST}
+ {717559200 32400 0 CHOT}
+ {733284000 36000 1 CHOST}
+ {749008800 32400 0 CHOT}
+ {764733600 36000 1 CHOST}
+ {780458400 32400 0 CHOT}
+ {796183200 36000 1 CHOST}
+ {811908000 32400 0 CHOT}
+ {828237600 36000 1 CHOST}
+ {843962400 32400 0 CHOT}
+ {859687200 36000 1 CHOST}
+ {875412000 32400 0 CHOT}
+ {891136800 36000 1 CHOST}
+ {906861600 32400 0 CHOT}
+ {988390800 36000 1 CHOST}
+ {1001692800 32400 0 CHOT}
+ {1017421200 36000 1 CHOST}
+ {1033142400 32400 0 CHOT}
+ {1048870800 36000 1 CHOST}
+ {1064592000 32400 0 CHOT}
+ {1080320400 36000 1 CHOST}
+ {1096041600 32400 0 CHOT}
+ {1111770000 36000 1 CHOST}
+ {1127491200 32400 0 CHOT}
+ {1143219600 36000 1 CHOST}
+ {1159545600 32400 0 CHOT}
+ {1175274000 36000 1 CHOST}
+ {1190995200 32400 0 CHOT}
+ {1206723600 36000 1 CHOST}
+ {1222444800 32400 0 CHOT}
+ {1238173200 36000 1 CHOST}
+ {1253894400 32400 0 CHOT}
+ {1269622800 36000 1 CHOST}
+ {1285344000 32400 0 CHOT}
+ {1301072400 36000 1 CHOST}
+ {1316793600 32400 0 CHOT}
+ {1333126800 36000 1 CHOST}
+ {1348848000 32400 0 CHOT}
+ {1364576400 36000 1 CHOST}
+ {1380297600 32400 0 CHOT}
+ {1396026000 36000 1 CHOST}
+ {1411747200 32400 0 CHOT}
+ {1427475600 36000 1 CHOST}
+ {1443196800 32400 0 CHOT}
+ {1458925200 36000 1 CHOST}
+ {1474646400 32400 0 CHOT}
+ {1490374800 36000 1 CHOST}
+ {1506700800 32400 0 CHOT}
+ {1522429200 36000 1 CHOST}
+ {1538150400 32400 0 CHOT}
+ {1553878800 36000 1 CHOST}
+ {1569600000 32400 0 CHOT}
+ {1585328400 36000 1 CHOST}
+ {1601049600 32400 0 CHOT}
+ {1616778000 36000 1 CHOST}
+ {1632499200 32400 0 CHOT}
+ {1648227600 36000 1 CHOST}
+ {1663948800 32400 0 CHOT}
+ {1679677200 36000 1 CHOST}
+ {1696003200 32400 0 CHOT}
+ {1711731600 36000 1 CHOST}
+ {1727452800 32400 0 CHOT}
+ {1743181200 36000 1 CHOST}
+ {1758902400 32400 0 CHOT}
+ {1774630800 36000 1 CHOST}
+ {1790352000 32400 0 CHOT}
+ {1806080400 36000 1 CHOST}
+ {1821801600 32400 0 CHOT}
+ {1837530000 36000 1 CHOST}
+ {1853856000 32400 0 CHOT}
+ {1869584400 36000 1 CHOST}
+ {1885305600 32400 0 CHOT}
+ {1901034000 36000 1 CHOST}
+ {1916755200 32400 0 CHOT}
+ {1932483600 36000 1 CHOST}
+ {1948204800 32400 0 CHOT}
+ {1963933200 36000 1 CHOST}
+ {1979654400 32400 0 CHOT}
+ {1995382800 36000 1 CHOST}
+ {2011104000 32400 0 CHOT}
+ {2026832400 36000 1 CHOST}
+ {2043158400 32400 0 CHOT}
+ {2058886800 36000 1 CHOST}
+ {2074608000 32400 0 CHOT}
+ {2090336400 36000 1 CHOST}
+ {2106057600 32400 0 CHOT}
+ {2121786000 36000 1 CHOST}
+ {2137507200 32400 0 CHOT}
+ {2153235600 36000 1 CHOST}
+ {2168956800 32400 0 CHOT}
+ {2184685200 36000 1 CHOST}
+ {2200406400 32400 0 CHOT}
+ {2216739600 36000 1 CHOST}
+ {2232460800 32400 0 CHOT}
+ {2248189200 36000 1 CHOST}
+ {2263910400 32400 0 CHOT}
+ {2279638800 36000 1 CHOST}
+ {2295360000 32400 0 CHOT}
+ {2311088400 36000 1 CHOST}
+ {2326809600 32400 0 CHOT}
+ {2342538000 36000 1 CHOST}
+ {2358259200 32400 0 CHOT}
+ {2373987600 36000 1 CHOST}
+ {2390313600 32400 0 CHOT}
+ {2406042000 36000 1 CHOST}
+ {2421763200 32400 0 CHOT}
+ {2437491600 36000 1 CHOST}
+ {2453212800 32400 0 CHOT}
+ {2468941200 36000 1 CHOST}
+ {2484662400 32400 0 CHOT}
+ {2500390800 36000 1 CHOST}
+ {2516112000 32400 0 CHOT}
+ {2531840400 36000 1 CHOST}
+ {2547561600 32400 0 CHOT}
+ {2563290000 36000 1 CHOST}
+ {2579616000 32400 0 CHOT}
+ {2595344400 36000 1 CHOST}
+ {2611065600 32400 0 CHOT}
+ {2626794000 36000 1 CHOST}
+ {2642515200 32400 0 CHOT}
+ {2658243600 36000 1 CHOST}
+ {2673964800 32400 0 CHOT}
+ {2689693200 36000 1 CHOST}
+ {2705414400 32400 0 CHOT}
+ {2721142800 36000 1 CHOST}
+ {2737468800 32400 0 CHOT}
+ {2753197200 36000 1 CHOST}
+ {2768918400 32400 0 CHOT}
+ {2784646800 36000 1 CHOST}
+ {2800368000 32400 0 CHOT}
+ {2816096400 36000 1 CHOST}
+ {2831817600 32400 0 CHOT}
+ {2847546000 36000 1 CHOST}
+ {2863267200 32400 0 CHOT}
+ {2878995600 36000 1 CHOST}
+ {2894716800 32400 0 CHOT}
+ {2910445200 36000 1 CHOST}
+ {2926771200 32400 0 CHOT}
+ {2942499600 36000 1 CHOST}
+ {2958220800 32400 0 CHOT}
+ {2973949200 36000 1 CHOST}
+ {2989670400 32400 0 CHOT}
+ {3005398800 36000 1 CHOST}
+ {3021120000 32400 0 CHOT}
+ {3036848400 36000 1 CHOST}
+ {3052569600 32400 0 CHOT}
+ {3068298000 36000 1 CHOST}
+ {3084019200 32400 0 CHOT}
+ {3100352400 36000 1 CHOST}
+ {3116073600 32400 0 CHOT}
+ {3131802000 36000 1 CHOST}
+ {3147523200 32400 0 CHOT}
+ {3163251600 36000 1 CHOST}
+ {3178972800 32400 0 CHOT}
+ {3194701200 36000 1 CHOST}
+ {3210422400 32400 0 CHOT}
+ {3226150800 36000 1 CHOST}
+ {3241872000 32400 0 CHOT}
+ {3257600400 36000 1 CHOST}
+ {3273926400 32400 0 CHOT}
+ {3289654800 36000 1 CHOST}
+ {3305376000 32400 0 CHOT}
+ {3321104400 36000 1 CHOST}
+ {3336825600 32400 0 CHOT}
+ {3352554000 36000 1 CHOST}
+ {3368275200 32400 0 CHOT}
+ {3384003600 36000 1 CHOST}
+ {3399724800 32400 0 CHOT}
+ {3415453200 36000 1 CHOST}
+ {3431174400 32400 0 CHOT}
+ {3446902800 36000 1 CHOST}
+ {3463228800 32400 0 CHOT}
+ {3478957200 36000 1 CHOST}
+ {3494678400 32400 0 CHOT}
+ {3510406800 36000 1 CHOST}
+ {3526128000 32400 0 CHOT}
+ {3541856400 36000 1 CHOST}
+ {3557577600 32400 0 CHOT}
+ {3573306000 36000 1 CHOST}
+ {3589027200 32400 0 CHOT}
+ {3604755600 36000 1 CHOST}
+ {3621081600 32400 0 CHOT}
+ {3636810000 36000 1 CHOST}
+ {3652531200 32400 0 CHOT}
+ {3668259600 36000 1 CHOST}
+ {3683980800 32400 0 CHOT}
+ {3699709200 36000 1 CHOST}
+ {3715430400 32400 0 CHOT}
+ {3731158800 36000 1 CHOST}
+ {3746880000 32400 0 CHOT}
+ {3762608400 36000 1 CHOST}
+ {3778329600 32400 0 CHOT}
+ {3794058000 36000 1 CHOST}
+ {3810384000 32400 0 CHOT}
+ {3826112400 36000 1 CHOST}
+ {3841833600 32400 0 CHOT}
+ {3857562000 36000 1 CHOST}
+ {3873283200 32400 0 CHOT}
+ {3889011600 36000 1 CHOST}
+ {3904732800 32400 0 CHOT}
+ {3920461200 36000 1 CHOST}
+ {3936182400 32400 0 CHOT}
+ {3951910800 36000 1 CHOST}
+ {3967632000 32400 0 CHOT}
+ {3983965200 36000 1 CHOST}
+ {3999686400 32400 0 CHOT}
+ {4015414800 36000 1 CHOST}
+ {4031136000 32400 0 CHOT}
+ {4046864400 36000 1 CHOST}
+ {4062585600 32400 0 CHOT}
+ {4078314000 36000 1 CHOST}
+ {4094035200 32400 0 CHOT}
+}
diff --git a/library/tzdata/Asia/Chongqing b/library/tzdata/Asia/Chongqing
new file mode 100644
index 0000000..0105051
--- /dev/null
+++ b/library/tzdata/Asia/Chongqing
@@ -0,0 +1,19 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Chongqing) {
+ {-9223372036854775808 25580 0 LMT}
+ {-1325487980 25200 0 LONT}
+ {325962000 28800 0 CST}
+ {515520000 32400 1 CDT}
+ {527007600 28800 0 CST}
+ {545155200 32400 1 CDT}
+ {558457200 28800 0 CST}
+ {576604800 32400 1 CDT}
+ {589906800 28800 0 CST}
+ {608659200 32400 1 CDT}
+ {621961200 28800 0 CST}
+ {640108800 32400 1 CDT}
+ {653410800 28800 0 CST}
+ {671558400 32400 1 CDT}
+ {684860400 28800 0 CST}
+}
diff --git a/library/tzdata/Asia/Chungking b/library/tzdata/Asia/Chungking
new file mode 100644
index 0000000..1d249af
--- /dev/null
+++ b/library/tzdata/Asia/Chungking
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Chongqing)]} {
+ loadTimeZoneFile Asia/Chongqing
+}
+set tzdata(:Asia/Chungking) $TZData(:Asia/Chongqing)
diff --git a/library/tzdata/Asia/Colombo b/library/tzdata/Asia/Colombo
new file mode 100644
index 0000000..5d9ddc4
--- /dev/null
+++ b/library/tzdata/Asia/Colombo
@@ -0,0 +1,12 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Colombo) {
+ {-9223372036854775808 19164 0 LMT}
+ {-2840159964 19172 0 MMT}
+ {-2019705572 19800 0 IST}
+ {-883287000 21600 1 IHST}
+ {-862639200 23400 1 IST}
+ {-764051400 19800 0 IST}
+ {832962600 23400 0 LKT}
+ {846266400 21600 0 LKT}
+}
diff --git a/library/tzdata/Asia/Dacca b/library/tzdata/Asia/Dacca
new file mode 100644
index 0000000..76ecb52
--- /dev/null
+++ b/library/tzdata/Asia/Dacca
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Dhaka)]} {
+ loadTimeZoneFile Asia/Dhaka
+}
+set tzdata(:Asia/Dacca) $TZData(:Asia/Dhaka)
diff --git a/library/tzdata/Asia/Damascus b/library/tzdata/Asia/Damascus
new file mode 100644
index 0000000..d1cea66
--- /dev/null
+++ b/library/tzdata/Asia/Damascus
@@ -0,0 +1,280 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Damascus) {
+ {-9223372036854775808 8712 0 LMT}
+ {-1577931912 7200 0 EET}
+ {-1568592000 10800 1 EEST}
+ {-1554080400 7200 0 EET}
+ {-1537142400 10800 1 EEST}
+ {-1522630800 7200 0 EET}
+ {-1505692800 10800 1 EEST}
+ {-1491181200 7200 0 EET}
+ {-1474243200 10800 1 EEST}
+ {-1459126800 7200 0 EET}
+ {-242265600 10800 1 EEST}
+ {-228877200 7200 0 EET}
+ {-210556800 10800 1 EEST}
+ {-197427600 7200 0 EET}
+ {-178934400 10800 1 EEST}
+ {-165718800 7200 0 EET}
+ {-147398400 10800 1 EEST}
+ {-134269200 7200 0 EET}
+ {-116467200 10800 1 EEST}
+ {-102646800 7200 0 EET}
+ {-84326400 10800 1 EEST}
+ {-71110800 7200 0 EET}
+ {-52704000 10800 1 EEST}
+ {-39488400 7200 0 EET}
+ {-21168000 10800 1 EEST}
+ {-7952400 7200 0 EET}
+ {10368000 10800 1 EEST}
+ {23583600 7200 0 EET}
+ {41904000 10800 1 EEST}
+ {55119600 7200 0 EET}
+ {73526400 10800 1 EEST}
+ {86742000 7200 0 EET}
+ {105062400 10800 1 EEST}
+ {118278000 7200 0 EET}
+ {136598400 10800 1 EEST}
+ {149814000 7200 0 EET}
+ {168134400 10800 1 EEST}
+ {181350000 7200 0 EET}
+ {199756800 10800 1 EEST}
+ {212972400 7200 0 EET}
+ {231292800 10800 1 EEST}
+ {241916400 7200 0 EET}
+ {262828800 10800 1 EEST}
+ {273452400 7200 0 EET}
+ {418694400 10800 1 EEST}
+ {433810800 7200 0 EET}
+ {450316800 10800 1 EEST}
+ {465433200 7200 0 EET}
+ {508896000 10800 1 EEST}
+ {529196400 7200 0 EET}
+ {541555200 10800 1 EEST}
+ {562633200 7200 0 EET}
+ {574387200 10800 1 EEST}
+ {594255600 7200 0 EET}
+ {607305600 10800 1 EEST}
+ {623199600 7200 0 EET}
+ {638928000 10800 1 EEST}
+ {654649200 7200 0 EET}
+ {670456800 10800 1 EEST}
+ {686264400 7200 0 EET}
+ {702684000 10800 1 EEST}
+ {717886800 7200 0 EET}
+ {733096800 10800 1 EEST}
+ {748904400 7200 0 EET}
+ {765151200 10800 1 EEST}
+ {780958800 7200 0 EET}
+ {796687200 10800 1 EEST}
+ {812494800 7200 0 EET}
+ {828309600 10800 1 EEST}
+ {844117200 7200 0 EET}
+ {859759200 10800 1 EEST}
+ {875653200 7200 0 EET}
+ {891208800 10800 1 EEST}
+ {907189200 7200 0 EET}
+ {922917600 10800 1 EEST}
+ {938725200 7200 0 EET}
+ {954540000 10800 1 EEST}
+ {970347600 7200 0 EET}
+ {986076000 10800 1 EEST}
+ {1001883600 7200 0 EET}
+ {1017612000 10800 1 EEST}
+ {1033419600 7200 0 EET}
+ {1049148000 10800 1 EEST}
+ {1064955600 7200 0 EET}
+ {1080770400 10800 1 EEST}
+ {1096578000 7200 0 EET}
+ {1112306400 10800 1 EEST}
+ {1128114000 7200 0 EET}
+ {1143842400 10800 1 EEST}
+ {1159650000 7200 0 EET}
+ {1175378400 10800 1 EEST}
+ {1191186000 7200 0 EET}
+ {1207000800 10800 1 EEST}
+ {1222808400 7200 0 EET}
+ {1238536800 10800 1 EEST}
+ {1254344400 7200 0 EET}
+ {1270072800 10800 1 EEST}
+ {1285880400 7200 0 EET}
+ {1301608800 10800 1 EEST}
+ {1317416400 7200 0 EET}
+ {1333231200 10800 1 EEST}
+ {1349038800 7200 0 EET}
+ {1364767200 10800 1 EEST}
+ {1380574800 7200 0 EET}
+ {1396303200 10800 1 EEST}
+ {1412110800 7200 0 EET}
+ {1427839200 10800 1 EEST}
+ {1443646800 7200 0 EET}
+ {1459461600 10800 1 EEST}
+ {1475269200 7200 0 EET}
+ {1490997600 10800 1 EEST}
+ {1506805200 7200 0 EET}
+ {1522533600 10800 1 EEST}
+ {1538341200 7200 0 EET}
+ {1554069600 10800 1 EEST}
+ {1569877200 7200 0 EET}
+ {1585692000 10800 1 EEST}
+ {1601499600 7200 0 EET}
+ {1617228000 10800 1 EEST}
+ {1633035600 7200 0 EET}
+ {1648764000 10800 1 EEST}
+ {1664571600 7200 0 EET}
+ {1680300000 10800 1 EEST}
+ {1696107600 7200 0 EET}
+ {1711922400 10800 1 EEST}
+ {1727730000 7200 0 EET}
+ {1743458400 10800 1 EEST}
+ {1759266000 7200 0 EET}
+ {1774994400 10800 1 EEST}
+ {1790802000 7200 0 EET}
+ {1806530400 10800 1 EEST}
+ {1822338000 7200 0 EET}
+ {1838152800 10800 1 EEST}
+ {1853960400 7200 0 EET}
+ {1869688800 10800 1 EEST}
+ {1885496400 7200 0 EET}
+ {1901224800 10800 1 EEST}
+ {1917032400 7200 0 EET}
+ {1932760800 10800 1 EEST}
+ {1948568400 7200 0 EET}
+ {1964383200 10800 1 EEST}
+ {1980190800 7200 0 EET}
+ {1995919200 10800 1 EEST}
+ {2011726800 7200 0 EET}
+ {2027455200 10800 1 EEST}
+ {2043262800 7200 0 EET}
+ {2058991200 10800 1 EEST}
+ {2074798800 7200 0 EET}
+ {2090613600 10800 1 EEST}
+ {2106421200 7200 0 EET}
+ {2122149600 10800 1 EEST}
+ {2137957200 7200 0 EET}
+ {2153685600 10800 1 EEST}
+ {2169493200 7200 0 EET}
+ {2185221600 10800 1 EEST}
+ {2201029200 7200 0 EET}
+ {2216844000 10800 1 EEST}
+ {2232651600 7200 0 EET}
+ {2248380000 10800 1 EEST}
+ {2264187600 7200 0 EET}
+ {2279916000 10800 1 EEST}
+ {2295723600 7200 0 EET}
+ {2311452000 10800 1 EEST}
+ {2327259600 7200 0 EET}
+ {2343074400 10800 1 EEST}
+ {2358882000 7200 0 EET}
+ {2374610400 10800 1 EEST}
+ {2390418000 7200 0 EET}
+ {2406146400 10800 1 EEST}
+ {2421954000 7200 0 EET}
+ {2437682400 10800 1 EEST}
+ {2453490000 7200 0 EET}
+ {2469304800 10800 1 EEST}
+ {2485112400 7200 0 EET}
+ {2500840800 10800 1 EEST}
+ {2516648400 7200 0 EET}
+ {2532376800 10800 1 EEST}
+ {2548184400 7200 0 EET}
+ {2563912800 10800 1 EEST}
+ {2579720400 7200 0 EET}
+ {2595535200 10800 1 EEST}
+ {2611342800 7200 0 EET}
+ {2627071200 10800 1 EEST}
+ {2642878800 7200 0 EET}
+ {2658607200 10800 1 EEST}
+ {2674414800 7200 0 EET}
+ {2690143200 10800 1 EEST}
+ {2705950800 7200 0 EET}
+ {2721765600 10800 1 EEST}
+ {2737573200 7200 0 EET}
+ {2753301600 10800 1 EEST}
+ {2769109200 7200 0 EET}
+ {2784837600 10800 1 EEST}
+ {2800645200 7200 0 EET}
+ {2816373600 10800 1 EEST}
+ {2832181200 7200 0 EET}
+ {2847996000 10800 1 EEST}
+ {2863803600 7200 0 EET}
+ {2879532000 10800 1 EEST}
+ {2895339600 7200 0 EET}
+ {2911068000 10800 1 EEST}
+ {2926875600 7200 0 EET}
+ {2942604000 10800 1 EEST}
+ {2958411600 7200 0 EET}
+ {2974226400 10800 1 EEST}
+ {2990034000 7200 0 EET}
+ {3005762400 10800 1 EEST}
+ {3021570000 7200 0 EET}
+ {3037298400 10800 1 EEST}
+ {3053106000 7200 0 EET}
+ {3068834400 10800 1 EEST}
+ {3084642000 7200 0 EET}
+ {3100456800 10800 1 EEST}
+ {3116264400 7200 0 EET}
+ {3131992800 10800 1 EEST}
+ {3147800400 7200 0 EET}
+ {3163528800 10800 1 EEST}
+ {3179336400 7200 0 EET}
+ {3195064800 10800 1 EEST}
+ {3210872400 7200 0 EET}
+ {3226687200 10800 1 EEST}
+ {3242494800 7200 0 EET}
+ {3258223200 10800 1 EEST}
+ {3274030800 7200 0 EET}
+ {3289759200 10800 1 EEST}
+ {3305566800 7200 0 EET}
+ {3321295200 10800 1 EEST}
+ {3337102800 7200 0 EET}
+ {3352917600 10800 1 EEST}
+ {3368725200 7200 0 EET}
+ {3384453600 10800 1 EEST}
+ {3400261200 7200 0 EET}
+ {3415989600 10800 1 EEST}
+ {3431797200 7200 0 EET}
+ {3447525600 10800 1 EEST}
+ {3463333200 7200 0 EET}
+ {3479148000 10800 1 EEST}
+ {3494955600 7200 0 EET}
+ {3510684000 10800 1 EEST}
+ {3526491600 7200 0 EET}
+ {3542220000 10800 1 EEST}
+ {3558027600 7200 0 EET}
+ {3573756000 10800 1 EEST}
+ {3589563600 7200 0 EET}
+ {3605378400 10800 1 EEST}
+ {3621186000 7200 0 EET}
+ {3636914400 10800 1 EEST}
+ {3652722000 7200 0 EET}
+ {3668450400 10800 1 EEST}
+ {3684258000 7200 0 EET}
+ {3699986400 10800 1 EEST}
+ {3715794000 7200 0 EET}
+ {3731608800 10800 1 EEST}
+ {3747416400 7200 0 EET}
+ {3763144800 10800 1 EEST}
+ {3778952400 7200 0 EET}
+ {3794680800 10800 1 EEST}
+ {3810488400 7200 0 EET}
+ {3826216800 10800 1 EEST}
+ {3842024400 7200 0 EET}
+ {3857839200 10800 1 EEST}
+ {3873646800 7200 0 EET}
+ {3889375200 10800 1 EEST}
+ {3905182800 7200 0 EET}
+ {3920911200 10800 1 EEST}
+ {3936718800 7200 0 EET}
+ {3952447200 10800 1 EEST}
+ {3968254800 7200 0 EET}
+ {3984069600 10800 1 EEST}
+ {3999877200 7200 0 EET}
+ {4015605600 10800 1 EEST}
+ {4031413200 7200 0 EET}
+ {4047141600 10800 1 EEST}
+ {4062949200 7200 0 EET}
+ {4078677600 10800 1 EEST}
+ {4094485200 7200 0 EET}
+}
diff --git a/library/tzdata/Asia/Dhaka b/library/tzdata/Asia/Dhaka
new file mode 100644
index 0000000..f01466e
--- /dev/null
+++ b/library/tzdata/Asia/Dhaka
@@ -0,0 +1,11 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Dhaka) {
+ {-9223372036854775808 21700 0 LMT}
+ {-2524543300 21200 0 HMT}
+ {-891582800 23400 0 BURT}
+ {-872058600 19800 0 IST}
+ {-862637400 23400 0 BURT}
+ {-576138600 21600 0 DACT}
+ {38772000 21600 0 BDT}
+}
diff --git a/library/tzdata/Asia/Dili b/library/tzdata/Asia/Dili
new file mode 100644
index 0000000..7269e81
--- /dev/null
+++ b/library/tzdata/Asia/Dili
@@ -0,0 +1,10 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Dili) {
+ {-9223372036854775808 30140 0 LMT}
+ {-1830414140 28800 0 TPT}
+ {-879152400 32400 0 JST}
+ {-770634000 32400 0 TPT}
+ {199897200 28800 0 CIT}
+ {969120000 32400 0 TPT}
+}
diff --git a/library/tzdata/Asia/Dubai b/library/tzdata/Asia/Dubai
new file mode 100644
index 0000000..5c0a31f
--- /dev/null
+++ b/library/tzdata/Asia/Dubai
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Dubai) {
+ {-9223372036854775808 13272 0 LMT}
+ {-1577936472 14400 0 GST}
+}
diff --git a/library/tzdata/Asia/Dushanbe b/library/tzdata/Asia/Dushanbe
new file mode 100644
index 0000000..bd570e9
--- /dev/null
+++ b/library/tzdata/Asia/Dushanbe
@@ -0,0 +1,29 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Dushanbe) {
+ {-9223372036854775808 16512 0 LMT}
+ {-1441168512 18000 0 DUST}
+ {-1247547600 21600 0 DUST}
+ {354909600 25200 1 DUSST}
+ {370717200 21600 0 DUST}
+ {386445600 25200 1 DUSST}
+ {402253200 21600 0 DUST}
+ {417981600 25200 1 DUSST}
+ {433789200 21600 0 DUST}
+ {449604000 25200 1 DUSST}
+ {465357600 21600 0 DUST}
+ {481082400 25200 1 DUSST}
+ {496807200 21600 0 DUST}
+ {512532000 25200 1 DUSST}
+ {528256800 21600 0 DUST}
+ {543981600 25200 1 DUSST}
+ {559706400 21600 0 DUST}
+ {575431200 25200 1 DUSST}
+ {591156000 21600 0 DUST}
+ {606880800 25200 1 DUSST}
+ {622605600 21600 0 DUST}
+ {638330400 25200 1 DUSST}
+ {654660000 21600 0 DUST}
+ {670384800 21600 1 DUSST}
+ {684381600 18000 0 TJT}
+}
diff --git a/library/tzdata/Asia/Gaza b/library/tzdata/Asia/Gaza
new file mode 100644
index 0000000..b5aecc8
--- /dev/null
+++ b/library/tzdata/Asia/Gaza
@@ -0,0 +1,275 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Gaza) {
+ {-9223372036854775808 8272 0 LMT}
+ {-2185409872 7200 0 EET}
+ {-933645600 10800 1 EET}
+ {-857358000 7200 0 EET}
+ {-844300800 10800 1 EET}
+ {-825822000 7200 0 EET}
+ {-812685600 10800 1 EET}
+ {-794199600 7200 0 EET}
+ {-779853600 10800 1 EET}
+ {-762656400 7200 0 EET}
+ {-748310400 10800 1 EET}
+ {-731127600 7200 0 EET}
+ {-682653600 7200 0 EET}
+ {-399088800 10800 1 EEST}
+ {-386650800 7200 0 EET}
+ {-368330400 10800 1 EEST}
+ {-355114800 7200 0 EET}
+ {-336790800 10800 1 EEST}
+ {-323654400 7200 0 EET}
+ {-305168400 10800 1 EEST}
+ {-292032000 7200 0 EET}
+ {-273632400 10800 1 EEST}
+ {-260496000 7200 0 EET}
+ {-242096400 10800 1 EEST}
+ {-228960000 7200 0 EET}
+ {-210560400 10800 1 EEST}
+ {-197424000 7200 0 EET}
+ {-178938000 10800 1 EEST}
+ {-165801600 7200 0 EET}
+ {-147402000 10800 1 EEST}
+ {-134265600 7200 0 EET}
+ {-115866000 10800 1 EEST}
+ {-102643200 7200 0 EET}
+ {-84330000 10800 1 EEST}
+ {-81313200 10800 0 IST}
+ {142376400 10800 1 IDT}
+ {150843600 7200 0 IST}
+ {167176800 10800 1 IDT}
+ {178664400 7200 0 IST}
+ {482277600 10800 1 IDT}
+ {495579600 7200 0 IST}
+ {516751200 10800 1 IDT}
+ {526424400 7200 0 IST}
+ {545436000 10800 1 IDT}
+ {558478800 7200 0 IST}
+ {576540000 10800 1 IDT}
+ {589237200 7200 0 IST}
+ {609890400 10800 1 IDT}
+ {620773200 7200 0 IST}
+ {638316000 10800 1 IDT}
+ {651618000 7200 0 IST}
+ {669765600 10800 1 IDT}
+ {683672400 7200 0 IST}
+ {701820000 10800 1 IDT}
+ {715726800 7200 0 IST}
+ {733701600 10800 1 IDT}
+ {747176400 7200 0 IST}
+ {765151200 10800 1 IDT}
+ {778021200 7200 0 IST}
+ {796600800 10800 1 IDT}
+ {810075600 7200 0 IST}
+ {820447200 7200 0 EET}
+ {828655200 10800 1 EEST}
+ {843177600 7200 0 EET}
+ {860104800 10800 1 EEST}
+ {874627200 7200 0 EET}
+ {891554400 10800 1 EEST}
+ {906076800 7200 0 EET}
+ {915141600 7200 0 EET}
+ {924213600 10800 1 EEST}
+ {939934800 7200 0 EET}
+ {956268000 10800 1 EEST}
+ {971989200 7200 0 EET}
+ {987717600 10800 1 EEST}
+ {1003438800 7200 0 EET}
+ {1019167200 10800 1 EEST}
+ {1034888400 7200 0 EET}
+ {1050616800 10800 1 EEST}
+ {1066338000 7200 0 EET}
+ {1082066400 10800 1 EEST}
+ {1097787600 7200 0 EET}
+ {1113516000 10800 1 EEST}
+ {1129842000 7200 0 EET}
+ {1145570400 10800 1 EEST}
+ {1161291600 7200 0 EET}
+ {1177020000 10800 1 EEST}
+ {1192741200 7200 0 EET}
+ {1208469600 10800 1 EEST}
+ {1224190800 7200 0 EET}
+ {1239919200 10800 1 EEST}
+ {1255640400 7200 0 EET}
+ {1271368800 10800 1 EEST}
+ {1287090000 7200 0 EET}
+ {1302818400 10800 1 EEST}
+ {1319144400 7200 0 EET}
+ {1334872800 10800 1 EEST}
+ {1350594000 7200 0 EET}
+ {1366322400 10800 1 EEST}
+ {1382043600 7200 0 EET}
+ {1397772000 10800 1 EEST}
+ {1413493200 7200 0 EET}
+ {1429221600 10800 1 EEST}
+ {1444942800 7200 0 EET}
+ {1460671200 10800 1 EEST}
+ {1476997200 7200 0 EET}
+ {1492725600 10800 1 EEST}
+ {1508446800 7200 0 EET}
+ {1524175200 10800 1 EEST}
+ {1539896400 7200 0 EET}
+ {1555624800 10800 1 EEST}
+ {1571346000 7200 0 EET}
+ {1587074400 10800 1 EEST}
+ {1602795600 7200 0 EET}
+ {1618524000 10800 1 EEST}
+ {1634245200 7200 0 EET}
+ {1649973600 10800 1 EEST}
+ {1666299600 7200 0 EET}
+ {1682028000 10800 1 EEST}
+ {1697749200 7200 0 EET}
+ {1713477600 10800 1 EEST}
+ {1729198800 7200 0 EET}
+ {1744927200 10800 1 EEST}
+ {1760648400 7200 0 EET}
+ {1776376800 10800 1 EEST}
+ {1792098000 7200 0 EET}
+ {1807826400 10800 1 EEST}
+ {1823547600 7200 0 EET}
+ {1839880800 10800 1 EEST}
+ {1855602000 7200 0 EET}
+ {1871330400 10800 1 EEST}
+ {1887051600 7200 0 EET}
+ {1902780000 10800 1 EEST}
+ {1918501200 7200 0 EET}
+ {1934229600 10800 1 EEST}
+ {1949950800 7200 0 EET}
+ {1965679200 10800 1 EEST}
+ {1981400400 7200 0 EET}
+ {1997128800 10800 1 EEST}
+ {2013454800 7200 0 EET}
+ {2029183200 10800 1 EEST}
+ {2044904400 7200 0 EET}
+ {2060632800 10800 1 EEST}
+ {2076354000 7200 0 EET}
+ {2092082400 10800 1 EEST}
+ {2107803600 7200 0 EET}
+ {2123532000 10800 1 EEST}
+ {2139253200 7200 0 EET}
+ {2154981600 10800 1 EEST}
+ {2170702800 7200 0 EET}
+ {2186431200 10800 1 EEST}
+ {2202757200 7200 0 EET}
+ {2218485600 10800 1 EEST}
+ {2234206800 7200 0 EET}
+ {2249935200 10800 1 EEST}
+ {2265656400 7200 0 EET}
+ {2281384800 10800 1 EEST}
+ {2297106000 7200 0 EET}
+ {2312834400 10800 1 EEST}
+ {2328555600 7200 0 EET}
+ {2344284000 10800 1 EEST}
+ {2360610000 7200 0 EET}
+ {2376338400 10800 1 EEST}
+ {2392059600 7200 0 EET}
+ {2407788000 10800 1 EEST}
+ {2423509200 7200 0 EET}
+ {2439237600 10800 1 EEST}
+ {2454958800 7200 0 EET}
+ {2470687200 10800 1 EEST}
+ {2486408400 7200 0 EET}
+ {2502136800 10800 1 EEST}
+ {2517858000 7200 0 EET}
+ {2533586400 10800 1 EEST}
+ {2549912400 7200 0 EET}
+ {2565640800 10800 1 EEST}
+ {2581362000 7200 0 EET}
+ {2597090400 10800 1 EEST}
+ {2612811600 7200 0 EET}
+ {2628540000 10800 1 EEST}
+ {2644261200 7200 0 EET}
+ {2659989600 10800 1 EEST}
+ {2675710800 7200 0 EET}
+ {2691439200 10800 1 EEST}
+ {2707160400 7200 0 EET}
+ {2723493600 10800 1 EEST}
+ {2739214800 7200 0 EET}
+ {2754943200 10800 1 EEST}
+ {2770664400 7200 0 EET}
+ {2786392800 10800 1 EEST}
+ {2802114000 7200 0 EET}
+ {2817842400 10800 1 EEST}
+ {2833563600 7200 0 EET}
+ {2849292000 10800 1 EEST}
+ {2865013200 7200 0 EET}
+ {2880741600 10800 1 EEST}
+ {2897067600 7200 0 EET}
+ {2912796000 10800 1 EEST}
+ {2928517200 7200 0 EET}
+ {2944245600 10800 1 EEST}
+ {2959966800 7200 0 EET}
+ {2975695200 10800 1 EEST}
+ {2991416400 7200 0 EET}
+ {3007144800 10800 1 EEST}
+ {3022866000 7200 0 EET}
+ {3038594400 10800 1 EEST}
+ {3054315600 7200 0 EET}
+ {3070044000 10800 1 EEST}
+ {3086370000 7200 0 EET}
+ {3102098400 10800 1 EEST}
+ {3117819600 7200 0 EET}
+ {3133548000 10800 1 EEST}
+ {3149269200 7200 0 EET}
+ {3164997600 10800 1 EEST}
+ {3180718800 7200 0 EET}
+ {3196447200 10800 1 EEST}
+ {3212168400 7200 0 EET}
+ {3227896800 10800 1 EEST}
+ {3244222800 7200 0 EET}
+ {3259951200 10800 1 EEST}
+ {3275672400 7200 0 EET}
+ {3291400800 10800 1 EEST}
+ {3307122000 7200 0 EET}
+ {3322850400 10800 1 EEST}
+ {3338571600 7200 0 EET}
+ {3354300000 10800 1 EEST}
+ {3370021200 7200 0 EET}
+ {3385749600 10800 1 EEST}
+ {3401470800 7200 0 EET}
+ {3417199200 10800 1 EEST}
+ {3433525200 7200 0 EET}
+ {3449253600 10800 1 EEST}
+ {3464974800 7200 0 EET}
+ {3480703200 10800 1 EEST}
+ {3496424400 7200 0 EET}
+ {3512152800 10800 1 EEST}
+ {3527874000 7200 0 EET}
+ {3543602400 10800 1 EEST}
+ {3559323600 7200 0 EET}
+ {3575052000 10800 1 EEST}
+ {3590773200 7200 0 EET}
+ {3607106400 10800 1 EEST}
+ {3622827600 7200 0 EET}
+ {3638556000 10800 1 EEST}
+ {3654277200 7200 0 EET}
+ {3670005600 10800 1 EEST}
+ {3685726800 7200 0 EET}
+ {3701455200 10800 1 EEST}
+ {3717176400 7200 0 EET}
+ {3732904800 10800 1 EEST}
+ {3748626000 7200 0 EET}
+ {3764354400 10800 1 EEST}
+ {3780680400 7200 0 EET}
+ {3796408800 10800 1 EEST}
+ {3812130000 7200 0 EET}
+ {3827858400 10800 1 EEST}
+ {3843579600 7200 0 EET}
+ {3859308000 10800 1 EEST}
+ {3875029200 7200 0 EET}
+ {3890757600 10800 1 EEST}
+ {3906478800 7200 0 EET}
+ {3922207200 10800 1 EEST}
+ {3937928400 7200 0 EET}
+ {3953656800 10800 1 EEST}
+ {3969982800 7200 0 EET}
+ {3985711200 10800 1 EEST}
+ {4001432400 7200 0 EET}
+ {4017160800 10800 1 EEST}
+ {4032882000 7200 0 EET}
+ {4048610400 10800 1 EEST}
+ {4064331600 7200 0 EET}
+ {4080060000 10800 1 EEST}
+ {4095781200 7200 0 EET}
+}
diff --git a/library/tzdata/Asia/Harbin b/library/tzdata/Asia/Harbin
new file mode 100644
index 0000000..bbc8d27
--- /dev/null
+++ b/library/tzdata/Asia/Harbin
@@ -0,0 +1,22 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Harbin) {
+ {-9223372036854775808 30404 0 LMT}
+ {-1325492804 30600 0 CHAT}
+ {-1194078600 28800 0 CST}
+ {-946800000 32400 0 CHAT}
+ {-115894800 30600 0 CHAT}
+ {325956600 28800 0 CST}
+ {515520000 32400 1 CDT}
+ {527007600 28800 0 CST}
+ {545155200 32400 1 CDT}
+ {558457200 28800 0 CST}
+ {576604800 32400 1 CDT}
+ {589906800 28800 0 CST}
+ {608659200 32400 1 CDT}
+ {621961200 28800 0 CST}
+ {640108800 32400 1 CDT}
+ {653410800 28800 0 CST}
+ {671558400 32400 1 CDT}
+ {684860400 28800 0 CST}
+}
diff --git a/library/tzdata/Asia/Hong_Kong b/library/tzdata/Asia/Hong_Kong
new file mode 100644
index 0000000..807d859
--- /dev/null
+++ b/library/tzdata/Asia/Hong_Kong
@@ -0,0 +1,74 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Hong_Kong) {
+ {-9223372036854775808 27396 0 LMT}
+ {-2056692996 28800 0 HKT}
+ {-747981000 32400 1 HKST}
+ {-728544600 28800 0 HKT}
+ {-717049800 32400 1 HKST}
+ {-694503000 28800 0 HKT}
+ {-683785800 32400 1 HKST}
+ {-668064600 28800 0 HKT}
+ {-654755400 32400 1 HKST}
+ {-636615000 28800 0 HKT}
+ {-623305800 32400 1 HKST}
+ {-605165400 28800 0 HKT}
+ {-591856200 32400 1 HKST}
+ {-573715800 28800 0 HKT}
+ {-559801800 32400 1 HKST}
+ {-542266200 28800 0 HKT}
+ {-528352200 32400 1 HKST}
+ {-510211800 28800 0 HKT}
+ {-498112200 32400 1 HKST}
+ {-478762200 28800 0 HKT}
+ {-466662600 32400 1 HKST}
+ {-446707800 28800 0 HKT}
+ {-435213000 32400 1 HKST}
+ {-415258200 28800 0 HKT}
+ {-403158600 32400 1 HKST}
+ {-383808600 28800 0 HKT}
+ {-371709000 32400 1 HKST}
+ {-352359000 28800 0 HKT}
+ {-340259400 32400 1 HKST}
+ {-320909400 28800 0 HKT}
+ {-308809800 32400 1 HKST}
+ {-288855000 28800 0 HKT}
+ {-277360200 32400 1 HKST}
+ {-257405400 28800 0 HKT}
+ {-245910600 32400 1 HKST}
+ {-225955800 28800 0 HKT}
+ {-213856200 32400 1 HKST}
+ {-194506200 28800 0 HKT}
+ {-182406600 32400 1 HKST}
+ {-163056600 28800 0 HKT}
+ {-148537800 32400 1 HKST}
+ {-132816600 28800 0 HKT}
+ {-117088200 32400 1 HKST}
+ {-101367000 28800 0 HKT}
+ {-85638600 32400 1 HKST}
+ {-69312600 28800 0 HKT}
+ {-53584200 32400 1 HKST}
+ {-37863000 28800 0 HKT}
+ {-22134600 32400 1 HKST}
+ {-6413400 28800 0 HKT}
+ {9315000 32400 1 HKST}
+ {25036200 28800 0 HKT}
+ {40764600 32400 1 HKST}
+ {56485800 28800 0 HKT}
+ {72214200 32400 1 HKST}
+ {88540200 28800 0 HKT}
+ {104268600 32400 1 HKST}
+ {119989800 28800 0 HKT}
+ {135718200 32400 1 HKST}
+ {151439400 28800 0 HKT}
+ {167167800 32400 1 HKST}
+ {182889000 28800 0 HKT}
+ {198617400 32400 1 HKST}
+ {214338600 28800 0 HKT}
+ {230067000 32400 1 HKST}
+ {245788200 28800 0 HKT}
+ {295385400 32400 1 HKST}
+ {309292200 28800 0 HKT}
+ {326835000 32400 1 HKST}
+ {340741800 28800 0 HKT}
+}
diff --git a/library/tzdata/Asia/Hovd b/library/tzdata/Asia/Hovd
new file mode 100644
index 0000000..4812aa1
--- /dev/null
+++ b/library/tzdata/Asia/Hovd
@@ -0,0 +1,237 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Hovd) {
+ {-9223372036854775808 21996 0 LMT}
+ {-2032927596 21600 0 HOVT}
+ {252439200 25200 0 HOVT}
+ {417978000 28800 1 HOVST}
+ {433785600 25200 0 HOVT}
+ {449600400 28800 1 HOVST}
+ {465357600 25200 0 HOVT}
+ {481082400 28800 1 HOVST}
+ {496807200 25200 0 HOVT}
+ {512532000 28800 1 HOVST}
+ {528256800 25200 0 HOVT}
+ {543981600 28800 1 HOVST}
+ {559706400 25200 0 HOVT}
+ {575431200 28800 1 HOVST}
+ {591156000 25200 0 HOVT}
+ {606880800 28800 1 HOVST}
+ {622605600 25200 0 HOVT}
+ {638330400 28800 1 HOVST}
+ {654660000 25200 0 HOVT}
+ {670384800 28800 1 HOVST}
+ {686109600 25200 0 HOVT}
+ {701834400 28800 1 HOVST}
+ {717559200 25200 0 HOVT}
+ {733284000 28800 1 HOVST}
+ {749008800 25200 0 HOVT}
+ {764733600 28800 1 HOVST}
+ {780458400 25200 0 HOVT}
+ {796183200 28800 1 HOVST}
+ {811908000 25200 0 HOVT}
+ {828237600 28800 1 HOVST}
+ {843962400 25200 0 HOVT}
+ {859687200 28800 1 HOVST}
+ {875412000 25200 0 HOVT}
+ {891136800 28800 1 HOVST}
+ {906861600 25200 0 HOVT}
+ {988398000 28800 1 HOVST}
+ {1001700000 25200 0 HOVT}
+ {1017428400 28800 1 HOVST}
+ {1033149600 25200 0 HOVT}
+ {1048878000 28800 1 HOVST}
+ {1064599200 25200 0 HOVT}
+ {1080327600 28800 1 HOVST}
+ {1096048800 25200 0 HOVT}
+ {1111777200 28800 1 HOVST}
+ {1127498400 25200 0 HOVT}
+ {1143226800 28800 1 HOVST}
+ {1159552800 25200 0 HOVT}
+ {1175281200 28800 1 HOVST}
+ {1191002400 25200 0 HOVT}
+ {1206730800 28800 1 HOVST}
+ {1222452000 25200 0 HOVT}
+ {1238180400 28800 1 HOVST}
+ {1253901600 25200 0 HOVT}
+ {1269630000 28800 1 HOVST}
+ {1285351200 25200 0 HOVT}
+ {1301079600 28800 1 HOVST}
+ {1316800800 25200 0 HOVT}
+ {1333134000 28800 1 HOVST}
+ {1348855200 25200 0 HOVT}
+ {1364583600 28800 1 HOVST}
+ {1380304800 25200 0 HOVT}
+ {1396033200 28800 1 HOVST}
+ {1411754400 25200 0 HOVT}
+ {1427482800 28800 1 HOVST}
+ {1443204000 25200 0 HOVT}
+ {1458932400 28800 1 HOVST}
+ {1474653600 25200 0 HOVT}
+ {1490382000 28800 1 HOVST}
+ {1506708000 25200 0 HOVT}
+ {1522436400 28800 1 HOVST}
+ {1538157600 25200 0 HOVT}
+ {1553886000 28800 1 HOVST}
+ {1569607200 25200 0 HOVT}
+ {1585335600 28800 1 HOVST}
+ {1601056800 25200 0 HOVT}
+ {1616785200 28800 1 HOVST}
+ {1632506400 25200 0 HOVT}
+ {1648234800 28800 1 HOVST}
+ {1663956000 25200 0 HOVT}
+ {1679684400 28800 1 HOVST}
+ {1696010400 25200 0 HOVT}
+ {1711738800 28800 1 HOVST}
+ {1727460000 25200 0 HOVT}
+ {1743188400 28800 1 HOVST}
+ {1758909600 25200 0 HOVT}
+ {1774638000 28800 1 HOVST}
+ {1790359200 25200 0 HOVT}
+ {1806087600 28800 1 HOVST}
+ {1821808800 25200 0 HOVT}
+ {1837537200 28800 1 HOVST}
+ {1853863200 25200 0 HOVT}
+ {1869591600 28800 1 HOVST}
+ {1885312800 25200 0 HOVT}
+ {1901041200 28800 1 HOVST}
+ {1916762400 25200 0 HOVT}
+ {1932490800 28800 1 HOVST}
+ {1948212000 25200 0 HOVT}
+ {1963940400 28800 1 HOVST}
+ {1979661600 25200 0 HOVT}
+ {1995390000 28800 1 HOVST}
+ {2011111200 25200 0 HOVT}
+ {2026839600 28800 1 HOVST}
+ {2043165600 25200 0 HOVT}
+ {2058894000 28800 1 HOVST}
+ {2074615200 25200 0 HOVT}
+ {2090343600 28800 1 HOVST}
+ {2106064800 25200 0 HOVT}
+ {2121793200 28800 1 HOVST}
+ {2137514400 25200 0 HOVT}
+ {2153242800 28800 1 HOVST}
+ {2168964000 25200 0 HOVT}
+ {2184692400 28800 1 HOVST}
+ {2200413600 25200 0 HOVT}
+ {2216746800 28800 1 HOVST}
+ {2232468000 25200 0 HOVT}
+ {2248196400 28800 1 HOVST}
+ {2263917600 25200 0 HOVT}
+ {2279646000 28800 1 HOVST}
+ {2295367200 25200 0 HOVT}
+ {2311095600 28800 1 HOVST}
+ {2326816800 25200 0 HOVT}
+ {2342545200 28800 1 HOVST}
+ {2358266400 25200 0 HOVT}
+ {2373994800 28800 1 HOVST}
+ {2390320800 25200 0 HOVT}
+ {2406049200 28800 1 HOVST}
+ {2421770400 25200 0 HOVT}
+ {2437498800 28800 1 HOVST}
+ {2453220000 25200 0 HOVT}
+ {2468948400 28800 1 HOVST}
+ {2484669600 25200 0 HOVT}
+ {2500398000 28800 1 HOVST}
+ {2516119200 25200 0 HOVT}
+ {2531847600 28800 1 HOVST}
+ {2547568800 25200 0 HOVT}
+ {2563297200 28800 1 HOVST}
+ {2579623200 25200 0 HOVT}
+ {2595351600 28800 1 HOVST}
+ {2611072800 25200 0 HOVT}
+ {2626801200 28800 1 HOVST}
+ {2642522400 25200 0 HOVT}
+ {2658250800 28800 1 HOVST}
+ {2673972000 25200 0 HOVT}
+ {2689700400 28800 1 HOVST}
+ {2705421600 25200 0 HOVT}
+ {2721150000 28800 1 HOVST}
+ {2737476000 25200 0 HOVT}
+ {2753204400 28800 1 HOVST}
+ {2768925600 25200 0 HOVT}
+ {2784654000 28800 1 HOVST}
+ {2800375200 25200 0 HOVT}
+ {2816103600 28800 1 HOVST}
+ {2831824800 25200 0 HOVT}
+ {2847553200 28800 1 HOVST}
+ {2863274400 25200 0 HOVT}
+ {2879002800 28800 1 HOVST}
+ {2894724000 25200 0 HOVT}
+ {2910452400 28800 1 HOVST}
+ {2926778400 25200 0 HOVT}
+ {2942506800 28800 1 HOVST}
+ {2958228000 25200 0 HOVT}
+ {2973956400 28800 1 HOVST}
+ {2989677600 25200 0 HOVT}
+ {3005406000 28800 1 HOVST}
+ {3021127200 25200 0 HOVT}
+ {3036855600 28800 1 HOVST}
+ {3052576800 25200 0 HOVT}
+ {3068305200 28800 1 HOVST}
+ {3084026400 25200 0 HOVT}
+ {3100359600 28800 1 HOVST}
+ {3116080800 25200 0 HOVT}
+ {3131809200 28800 1 HOVST}
+ {3147530400 25200 0 HOVT}
+ {3163258800 28800 1 HOVST}
+ {3178980000 25200 0 HOVT}
+ {3194708400 28800 1 HOVST}
+ {3210429600 25200 0 HOVT}
+ {3226158000 28800 1 HOVST}
+ {3241879200 25200 0 HOVT}
+ {3257607600 28800 1 HOVST}
+ {3273933600 25200 0 HOVT}
+ {3289662000 28800 1 HOVST}
+ {3305383200 25200 0 HOVT}
+ {3321111600 28800 1 HOVST}
+ {3336832800 25200 0 HOVT}
+ {3352561200 28800 1 HOVST}
+ {3368282400 25200 0 HOVT}
+ {3384010800 28800 1 HOVST}
+ {3399732000 25200 0 HOVT}
+ {3415460400 28800 1 HOVST}
+ {3431181600 25200 0 HOVT}
+ {3446910000 28800 1 HOVST}
+ {3463236000 25200 0 HOVT}
+ {3478964400 28800 1 HOVST}
+ {3494685600 25200 0 HOVT}
+ {3510414000 28800 1 HOVST}
+ {3526135200 25200 0 HOVT}
+ {3541863600 28800 1 HOVST}
+ {3557584800 25200 0 HOVT}
+ {3573313200 28800 1 HOVST}
+ {3589034400 25200 0 HOVT}
+ {3604762800 28800 1 HOVST}
+ {3621088800 25200 0 HOVT}
+ {3636817200 28800 1 HOVST}
+ {3652538400 25200 0 HOVT}
+ {3668266800 28800 1 HOVST}
+ {3683988000 25200 0 HOVT}
+ {3699716400 28800 1 HOVST}
+ {3715437600 25200 0 HOVT}
+ {3731166000 28800 1 HOVST}
+ {3746887200 25200 0 HOVT}
+ {3762615600 28800 1 HOVST}
+ {3778336800 25200 0 HOVT}
+ {3794065200 28800 1 HOVST}
+ {3810391200 25200 0 HOVT}
+ {3826119600 28800 1 HOVST}
+ {3841840800 25200 0 HOVT}
+ {3857569200 28800 1 HOVST}
+ {3873290400 25200 0 HOVT}
+ {3889018800 28800 1 HOVST}
+ {3904740000 25200 0 HOVT}
+ {3920468400 28800 1 HOVST}
+ {3936189600 25200 0 HOVT}
+ {3951918000 28800 1 HOVST}
+ {3967639200 25200 0 HOVT}
+ {3983972400 28800 1 HOVST}
+ {3999693600 25200 0 HOVT}
+ {4015422000 28800 1 HOVST}
+ {4031143200 25200 0 HOVT}
+ {4046871600 28800 1 HOVST}
+ {4062592800 25200 0 HOVT}
+ {4078321200 28800 1 HOVST}
+ {4094042400 25200 0 HOVT}
+}
diff --git a/library/tzdata/Asia/Irkutsk b/library/tzdata/Asia/Irkutsk
new file mode 100644
index 0000000..fb12522
--- /dev/null
+++ b/library/tzdata/Asia/Irkutsk
@@ -0,0 +1,247 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Irkutsk) {
+ {-9223372036854775808 25040 0 LMT}
+ {-2840165840 25040 0 IMT}
+ {-1575874640 25200 0 IRKT}
+ {-1247554800 28800 0 IRKMMTT}
+ {354902400 32400 1 IRKST}
+ {370710000 28800 0 IRKT}
+ {386438400 32400 1 IRKST}
+ {402246000 28800 0 IRKT}
+ {417974400 32400 1 IRKST}
+ {433782000 28800 0 IRKT}
+ {449596800 32400 1 IRKST}
+ {465357600 28800 0 IRKT}
+ {481082400 32400 1 IRKST}
+ {496807200 28800 0 IRKT}
+ {512532000 32400 1 IRKST}
+ {528256800 28800 0 IRKT}
+ {543981600 32400 1 IRKST}
+ {559706400 28800 0 IRKT}
+ {575431200 32400 1 IRKST}
+ {591156000 28800 0 IRKT}
+ {606880800 32400 1 IRKST}
+ {622605600 28800 0 IRKT}
+ {638330400 32400 1 IRKST}
+ {654660000 28800 0 IRKT}
+ {670384800 28800 0 IRKST}
+ {686109600 25200 0 IRKT}
+ {695786400 28800 0 IRKMMTT}
+ {701794800 32400 1 IRKST}
+ {717516000 28800 0 IRKT}
+ {733284000 32400 1 IRKST}
+ {749008800 28800 0 IRKT}
+ {764733600 32400 1 IRKST}
+ {780458400 28800 0 IRKT}
+ {796183200 32400 1 IRKST}
+ {811908000 28800 0 IRKT}
+ {828237600 32400 1 IRKST}
+ {846381600 28800 0 IRKT}
+ {859687200 32400 1 IRKST}
+ {877831200 28800 0 IRKT}
+ {891136800 32400 1 IRKST}
+ {909280800 28800 0 IRKT}
+ {922586400 32400 1 IRKST}
+ {941335200 28800 0 IRKT}
+ {954036000 32400 1 IRKST}
+ {972784800 28800 0 IRKT}
+ {985485600 32400 1 IRKST}
+ {1004234400 28800 0 IRKT}
+ {1017540000 32400 1 IRKST}
+ {1035684000 28800 0 IRKT}
+ {1048989600 32400 1 IRKST}
+ {1067133600 28800 0 IRKT}
+ {1080439200 32400 1 IRKST}
+ {1099188000 28800 0 IRKT}
+ {1111888800 32400 1 IRKST}
+ {1130637600 28800 0 IRKT}
+ {1143338400 32400 1 IRKST}
+ {1162087200 28800 0 IRKT}
+ {1174788000 32400 1 IRKST}
+ {1193536800 28800 0 IRKT}
+ {1206842400 32400 1 IRKST}
+ {1224986400 28800 0 IRKT}
+ {1238292000 32400 1 IRKST}
+ {1256436000 28800 0 IRKT}
+ {1269741600 32400 1 IRKST}
+ {1288490400 28800 0 IRKT}
+ {1301191200 32400 1 IRKST}
+ {1319940000 28800 0 IRKT}
+ {1332640800 32400 1 IRKST}
+ {1351389600 28800 0 IRKT}
+ {1364695200 32400 1 IRKST}
+ {1382839200 28800 0 IRKT}
+ {1396144800 32400 1 IRKST}
+ {1414288800 28800 0 IRKT}
+ {1427594400 32400 1 IRKST}
+ {1445738400 28800 0 IRKT}
+ {1459044000 32400 1 IRKST}
+ {1477792800 28800 0 IRKT}
+ {1490493600 32400 1 IRKST}
+ {1509242400 28800 0 IRKT}
+ {1521943200 32400 1 IRKST}
+ {1540692000 28800 0 IRKT}
+ {1553997600 32400 1 IRKST}
+ {1572141600 28800 0 IRKT}
+ {1585447200 32400 1 IRKST}
+ {1603591200 28800 0 IRKT}
+ {1616896800 32400 1 IRKST}
+ {1635645600 28800 0 IRKT}
+ {1648346400 32400 1 IRKST}
+ {1667095200 28800 0 IRKT}
+ {1679796000 32400 1 IRKST}
+ {1698544800 28800 0 IRKT}
+ {1711850400 32400 1 IRKST}
+ {1729994400 28800 0 IRKT}
+ {1743300000 32400 1 IRKST}
+ {1761444000 28800 0 IRKT}
+ {1774749600 32400 1 IRKST}
+ {1792893600 28800 0 IRKT}
+ {1806199200 32400 1 IRKST}
+ {1824948000 28800 0 IRKT}
+ {1837648800 32400 1 IRKST}
+ {1856397600 28800 0 IRKT}
+ {1869098400 32400 1 IRKST}
+ {1887847200 28800 0 IRKT}
+ {1901152800 32400 1 IRKST}
+ {1919296800 28800 0 IRKT}
+ {1932602400 32400 1 IRKST}
+ {1950746400 28800 0 IRKT}
+ {1964052000 32400 1 IRKST}
+ {1982800800 28800 0 IRKT}
+ {1995501600 32400 1 IRKST}
+ {2014250400 28800 0 IRKT}
+ {2026951200 32400 1 IRKST}
+ {2045700000 28800 0 IRKT}
+ {2058400800 32400 1 IRKST}
+ {2077149600 28800 0 IRKT}
+ {2090455200 32400 1 IRKST}
+ {2108599200 28800 0 IRKT}
+ {2121904800 32400 1 IRKST}
+ {2140048800 28800 0 IRKT}
+ {2153354400 32400 1 IRKST}
+ {2172103200 28800 0 IRKT}
+ {2184804000 32400 1 IRKST}
+ {2203552800 28800 0 IRKT}
+ {2216253600 32400 1 IRKST}
+ {2235002400 28800 0 IRKT}
+ {2248308000 32400 1 IRKST}
+ {2266452000 28800 0 IRKT}
+ {2279757600 32400 1 IRKST}
+ {2297901600 28800 0 IRKT}
+ {2311207200 32400 1 IRKST}
+ {2329351200 28800 0 IRKT}
+ {2342656800 32400 1 IRKST}
+ {2361405600 28800 0 IRKT}
+ {2374106400 32400 1 IRKST}
+ {2392855200 28800 0 IRKT}
+ {2405556000 32400 1 IRKST}
+ {2424304800 28800 0 IRKT}
+ {2437610400 32400 1 IRKST}
+ {2455754400 28800 0 IRKT}
+ {2469060000 32400 1 IRKST}
+ {2487204000 28800 0 IRKT}
+ {2500509600 32400 1 IRKST}
+ {2519258400 28800 0 IRKT}
+ {2531959200 32400 1 IRKST}
+ {2550708000 28800 0 IRKT}
+ {2563408800 32400 1 IRKST}
+ {2582157600 28800 0 IRKT}
+ {2595463200 32400 1 IRKST}
+ {2613607200 28800 0 IRKT}
+ {2626912800 32400 1 IRKST}
+ {2645056800 28800 0 IRKT}
+ {2658362400 32400 1 IRKST}
+ {2676506400 28800 0 IRKT}
+ {2689812000 32400 1 IRKST}
+ {2708560800 28800 0 IRKT}
+ {2721261600 32400 1 IRKST}
+ {2740010400 28800 0 IRKT}
+ {2752711200 32400 1 IRKST}
+ {2771460000 28800 0 IRKT}
+ {2784765600 32400 1 IRKST}
+ {2802909600 28800 0 IRKT}
+ {2816215200 32400 1 IRKST}
+ {2834359200 28800 0 IRKT}
+ {2847664800 32400 1 IRKST}
+ {2866413600 28800 0 IRKT}
+ {2879114400 32400 1 IRKST}
+ {2897863200 28800 0 IRKT}
+ {2910564000 32400 1 IRKST}
+ {2929312800 28800 0 IRKT}
+ {2942013600 32400 1 IRKST}
+ {2960762400 28800 0 IRKT}
+ {2974068000 32400 1 IRKST}
+ {2992212000 28800 0 IRKT}
+ {3005517600 32400 1 IRKST}
+ {3023661600 28800 0 IRKT}
+ {3036967200 32400 1 IRKST}
+ {3055716000 28800 0 IRKT}
+ {3068416800 32400 1 IRKST}
+ {3087165600 28800 0 IRKT}
+ {3099866400 32400 1 IRKST}
+ {3118615200 28800 0 IRKT}
+ {3131920800 32400 1 IRKST}
+ {3150064800 28800 0 IRKT}
+ {3163370400 32400 1 IRKST}
+ {3181514400 28800 0 IRKT}
+ {3194820000 32400 1 IRKST}
+ {3212964000 28800 0 IRKT}
+ {3226269600 32400 1 IRKST}
+ {3245018400 28800 0 IRKT}
+ {3257719200 32400 1 IRKST}
+ {3276468000 28800 0 IRKT}
+ {3289168800 32400 1 IRKST}
+ {3307917600 28800 0 IRKT}
+ {3321223200 32400 1 IRKST}
+ {3339367200 28800 0 IRKT}
+ {3352672800 32400 1 IRKST}
+ {3370816800 28800 0 IRKT}
+ {3384122400 32400 1 IRKST}
+ {3402871200 28800 0 IRKT}
+ {3415572000 32400 1 IRKST}
+ {3434320800 28800 0 IRKT}
+ {3447021600 32400 1 IRKST}
+ {3465770400 28800 0 IRKT}
+ {3479076000 32400 1 IRKST}
+ {3497220000 28800 0 IRKT}
+ {3510525600 32400 1 IRKST}
+ {3528669600 28800 0 IRKT}
+ {3541975200 32400 1 IRKST}
+ {3560119200 28800 0 IRKT}
+ {3573424800 32400 1 IRKST}
+ {3592173600 28800 0 IRKT}
+ {3604874400 32400 1 IRKST}
+ {3623623200 28800 0 IRKT}
+ {3636324000 32400 1 IRKST}
+ {3655072800 28800 0 IRKT}
+ {3668378400 32400 1 IRKST}
+ {3686522400 28800 0 IRKT}
+ {3699828000 32400 1 IRKST}
+ {3717972000 28800 0 IRKT}
+ {3731277600 32400 1 IRKST}
+ {3750026400 28800 0 IRKT}
+ {3762727200 32400 1 IRKST}
+ {3781476000 28800 0 IRKT}
+ {3794176800 32400 1 IRKST}
+ {3812925600 28800 0 IRKT}
+ {3825626400 32400 1 IRKST}
+ {3844375200 28800 0 IRKT}
+ {3857680800 32400 1 IRKST}
+ {3875824800 28800 0 IRKT}
+ {3889130400 32400 1 IRKST}
+ {3907274400 28800 0 IRKT}
+ {3920580000 32400 1 IRKST}
+ {3939328800 28800 0 IRKT}
+ {3952029600 32400 1 IRKST}
+ {3970778400 28800 0 IRKT}
+ {3983479200 32400 1 IRKST}
+ {4002228000 28800 0 IRKT}
+ {4015533600 32400 1 IRKST}
+ {4033677600 28800 0 IRKT}
+ {4046983200 32400 1 IRKST}
+ {4065127200 28800 0 IRKT}
+ {4078432800 32400 1 IRKST}
+ {4096576800 28800 0 IRKT}
+}
diff --git a/library/tzdata/Asia/Istanbul b/library/tzdata/Asia/Istanbul
new file mode 100644
index 0000000..aa8922d
--- /dev/null
+++ b/library/tzdata/Asia/Istanbul
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Istanbul)]} {
+ loadTimeZoneFile Europe/Istanbul
+}
+set tzdata(:Asia/Istanbul) $TZData(:Europe/Istanbul)
diff --git a/library/tzdata/Asia/Jakarta b/library/tzdata/Asia/Jakarta
new file mode 100644
index 0000000..5454ff0
--- /dev/null
+++ b/library/tzdata/Asia/Jakarta
@@ -0,0 +1,13 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Jakarta) {
+ {-9223372036854775808 25632 0 LMT}
+ {-3231299232 25632 0 JMT}
+ {-1451719200 26400 0 JAVT}
+ {-1172906400 27000 0 WIT}
+ {-876641400 32400 0 JST}
+ {-770634000 27000 0 WIT}
+ {-683883000 28800 0 WIT}
+ {-620812800 27000 0 WIT}
+ {-189415800 25200 0 WIT}
+}
diff --git a/library/tzdata/Asia/Jayapura b/library/tzdata/Asia/Jayapura
new file mode 100644
index 0000000..faa5d18
--- /dev/null
+++ b/library/tzdata/Asia/Jayapura
@@ -0,0 +1,8 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Jayapura) {
+ {-9223372036854775808 33768 0 LMT}
+ {-1172913768 32400 0 EIT}
+ {-820573200 34200 0 CST}
+ {-189423000 32400 0 EIT}
+}
diff --git a/library/tzdata/Asia/Jerusalem b/library/tzdata/Asia/Jerusalem
new file mode 100644
index 0000000..3a8189d
--- /dev/null
+++ b/library/tzdata/Asia/Jerusalem
@@ -0,0 +1,272 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Jerusalem) {
+ {-9223372036854775808 8456 0 LMT}
+ {-2840149256 8440 0 JMT}
+ {-1641003640 7200 0 IST}
+ {-933645600 10800 1 IDT}
+ {-857358000 7200 0 IST}
+ {-844300800 10800 1 IDT}
+ {-825822000 7200 0 IST}
+ {-812685600 10800 1 IDT}
+ {-794199600 7200 0 IST}
+ {-779853600 10800 1 IDT}
+ {-762656400 7200 0 IST}
+ {-748310400 10800 1 IDT}
+ {-731127600 7200 0 IST}
+ {-681962400 14400 1 IDDT}
+ {-673243200 10800 1 IDT}
+ {-667962000 7200 0 IST}
+ {-652327200 10800 1 IDT}
+ {-636426000 7200 0 IST}
+ {-622087200 10800 1 IDT}
+ {-608947200 7200 0 IST}
+ {-591847200 10800 1 IDT}
+ {-572486400 7200 0 IST}
+ {-558576000 10800 1 IDT}
+ {-542851200 7200 0 IST}
+ {-527731200 10800 1 IDT}
+ {-514425600 7200 0 IST}
+ {-490845600 10800 1 IDT}
+ {-482986800 7200 0 IST}
+ {-459475200 10800 1 IDT}
+ {-451537200 7200 0 IST}
+ {-428551200 10800 1 IDT}
+ {-418262400 7200 0 IST}
+ {-400032000 10800 1 IDT}
+ {-387428400 7200 0 IST}
+ {142380000 10800 1 IDT}
+ {150843600 7200 0 IST}
+ {167176800 10800 1 IDT}
+ {178664400 7200 0 IST}
+ {482277600 10800 1 IDT}
+ {495579600 7200 0 IST}
+ {516751200 10800 1 IDT}
+ {526424400 7200 0 IST}
+ {545436000 10800 1 IDT}
+ {558478800 7200 0 IST}
+ {576540000 10800 1 IDT}
+ {589237200 7200 0 IST}
+ {609890400 10800 1 IDT}
+ {620773200 7200 0 IST}
+ {638316000 10800 1 IDT}
+ {651618000 7200 0 IST}
+ {669765600 10800 1 IDT}
+ {683672400 7200 0 IST}
+ {701820000 10800 1 IDT}
+ {715726800 7200 0 IST}
+ {733701600 10800 1 IDT}
+ {747176400 7200 0 IST}
+ {765151200 10800 1 IDT}
+ {778021200 7200 0 IST}
+ {796600800 10800 1 IDT}
+ {810075600 7200 0 IST}
+ {826840800 10800 1 IDT}
+ {842821200 7200 0 IST}
+ {858895200 10800 1 IDT}
+ {874184400 7200 0 IST}
+ {890344800 10800 1 IDT}
+ {905029200 7200 0 IST}
+ {923011200 10800 1 IDT}
+ {936313200 7200 0 IST}
+ {955670400 10800 1 IDT}
+ {970783200 7200 0 IST}
+ {986770800 10800 1 IDT}
+ {1001282400 7200 0 IST}
+ {1017356400 10800 1 IDT}
+ {1033941600 7200 0 IST}
+ {1048806000 10800 1 IDT}
+ {1065132000 7200 0 IST}
+ {1081292400 10800 1 IDT}
+ {1095804000 7200 0 IST}
+ {1112310000 10800 1 IDT}
+ {1128117600 7200 0 IST}
+ {1143846000 10800 1 IDT}
+ {1159653600 7200 0 IST}
+ {1175382000 10800 1 IDT}
+ {1191189600 7200 0 IST}
+ {1207004400 10800 1 IDT}
+ {1222812000 7200 0 IST}
+ {1238540400 10800 1 IDT}
+ {1254348000 7200 0 IST}
+ {1270076400 10800 1 IDT}
+ {1285884000 7200 0 IST}
+ {1301612400 10800 1 IDT}
+ {1317420000 7200 0 IST}
+ {1333234800 10800 1 IDT}
+ {1349042400 7200 0 IST}
+ {1364770800 10800 1 IDT}
+ {1380578400 7200 0 IST}
+ {1396306800 10800 1 IDT}
+ {1412114400 7200 0 IST}
+ {1427842800 10800 1 IDT}
+ {1443650400 7200 0 IST}
+ {1459465200 10800 1 IDT}
+ {1475272800 7200 0 IST}
+ {1491001200 10800 1 IDT}
+ {1506808800 7200 0 IST}
+ {1522537200 10800 1 IDT}
+ {1538344800 7200 0 IST}
+ {1554073200 10800 1 IDT}
+ {1569880800 7200 0 IST}
+ {1585695600 10800 1 IDT}
+ {1601503200 7200 0 IST}
+ {1617231600 10800 1 IDT}
+ {1633039200 7200 0 IST}
+ {1648767600 10800 1 IDT}
+ {1664575200 7200 0 IST}
+ {1680303600 10800 1 IDT}
+ {1696111200 7200 0 IST}
+ {1711926000 10800 1 IDT}
+ {1727733600 7200 0 IST}
+ {1743462000 10800 1 IDT}
+ {1759269600 7200 0 IST}
+ {1774998000 10800 1 IDT}
+ {1790805600 7200 0 IST}
+ {1806534000 10800 1 IDT}
+ {1822341600 7200 0 IST}
+ {1838156400 10800 1 IDT}
+ {1853964000 7200 0 IST}
+ {1869692400 10800 1 IDT}
+ {1885500000 7200 0 IST}
+ {1901228400 10800 1 IDT}
+ {1917036000 7200 0 IST}
+ {1932764400 10800 1 IDT}
+ {1948572000 7200 0 IST}
+ {1964386800 10800 1 IDT}
+ {1980194400 7200 0 IST}
+ {1995922800 10800 1 IDT}
+ {2011730400 7200 0 IST}
+ {2027458800 10800 1 IDT}
+ {2043266400 7200 0 IST}
+ {2058994800 10800 1 IDT}
+ {2074802400 7200 0 IST}
+ {2090617200 10800 1 IDT}
+ {2106424800 7200 0 IST}
+ {2122153200 10800 1 IDT}
+ {2137960800 7200 0 IST}
+ {2153689200 10800 1 IDT}
+ {2169496800 7200 0 IST}
+ {2185225200 10800 1 IDT}
+ {2201032800 7200 0 IST}
+ {2216847600 10800 1 IDT}
+ {2232655200 7200 0 IST}
+ {2248383600 10800 1 IDT}
+ {2264191200 7200 0 IST}
+ {2279919600 10800 1 IDT}
+ {2295727200 7200 0 IST}
+ {2311455600 10800 1 IDT}
+ {2327263200 7200 0 IST}
+ {2343078000 10800 1 IDT}
+ {2358885600 7200 0 IST}
+ {2374614000 10800 1 IDT}
+ {2390421600 7200 0 IST}
+ {2406150000 10800 1 IDT}
+ {2421957600 7200 0 IST}
+ {2437686000 10800 1 IDT}
+ {2453493600 7200 0 IST}
+ {2469308400 10800 1 IDT}
+ {2485116000 7200 0 IST}
+ {2500844400 10800 1 IDT}
+ {2516652000 7200 0 IST}
+ {2532380400 10800 1 IDT}
+ {2548188000 7200 0 IST}
+ {2563916400 10800 1 IDT}
+ {2579724000 7200 0 IST}
+ {2595538800 10800 1 IDT}
+ {2611346400 7200 0 IST}
+ {2627074800 10800 1 IDT}
+ {2642882400 7200 0 IST}
+ {2658610800 10800 1 IDT}
+ {2674418400 7200 0 IST}
+ {2690146800 10800 1 IDT}
+ {2705954400 7200 0 IST}
+ {2721769200 10800 1 IDT}
+ {2737576800 7200 0 IST}
+ {2753305200 10800 1 IDT}
+ {2769112800 7200 0 IST}
+ {2784841200 10800 1 IDT}
+ {2800648800 7200 0 IST}
+ {2816377200 10800 1 IDT}
+ {2832184800 7200 0 IST}
+ {2847999600 10800 1 IDT}
+ {2863807200 7200 0 IST}
+ {2879535600 10800 1 IDT}
+ {2895343200 7200 0 IST}
+ {2911071600 10800 1 IDT}
+ {2926879200 7200 0 IST}
+ {2942607600 10800 1 IDT}
+ {2958415200 7200 0 IST}
+ {2974230000 10800 1 IDT}
+ {2990037600 7200 0 IST}
+ {3005766000 10800 1 IDT}
+ {3021573600 7200 0 IST}
+ {3037302000 10800 1 IDT}
+ {3053109600 7200 0 IST}
+ {3068838000 10800 1 IDT}
+ {3084645600 7200 0 IST}
+ {3100460400 10800 1 IDT}
+ {3116268000 7200 0 IST}
+ {3131996400 10800 1 IDT}
+ {3147804000 7200 0 IST}
+ {3163532400 10800 1 IDT}
+ {3179340000 7200 0 IST}
+ {3195068400 10800 1 IDT}
+ {3210876000 7200 0 IST}
+ {3226690800 10800 1 IDT}
+ {3242498400 7200 0 IST}
+ {3258226800 10800 1 IDT}
+ {3274034400 7200 0 IST}
+ {3289762800 10800 1 IDT}
+ {3305570400 7200 0 IST}
+ {3321298800 10800 1 IDT}
+ {3337106400 7200 0 IST}
+ {3352921200 10800 1 IDT}
+ {3368728800 7200 0 IST}
+ {3384457200 10800 1 IDT}
+ {3400264800 7200 0 IST}
+ {3415993200 10800 1 IDT}
+ {3431800800 7200 0 IST}
+ {3447529200 10800 1 IDT}
+ {3463336800 7200 0 IST}
+ {3479151600 10800 1 IDT}
+ {3494959200 7200 0 IST}
+ {3510687600 10800 1 IDT}
+ {3526495200 7200 0 IST}
+ {3542223600 10800 1 IDT}
+ {3558031200 7200 0 IST}
+ {3573759600 10800 1 IDT}
+ {3589567200 7200 0 IST}
+ {3605382000 10800 1 IDT}
+ {3621189600 7200 0 IST}
+ {3636918000 10800 1 IDT}
+ {3652725600 7200 0 IST}
+ {3668454000 10800 1 IDT}
+ {3684261600 7200 0 IST}
+ {3699990000 10800 1 IDT}
+ {3715797600 7200 0 IST}
+ {3731612400 10800 1 IDT}
+ {3747420000 7200 0 IST}
+ {3763148400 10800 1 IDT}
+ {3778956000 7200 0 IST}
+ {3794684400 10800 1 IDT}
+ {3810492000 7200 0 IST}
+ {3826220400 10800 1 IDT}
+ {3842028000 7200 0 IST}
+ {3857842800 10800 1 IDT}
+ {3873650400 7200 0 IST}
+ {3889378800 10800 1 IDT}
+ {3905186400 7200 0 IST}
+ {3920914800 10800 1 IDT}
+ {3936722400 7200 0 IST}
+ {3952450800 10800 1 IDT}
+ {3968258400 7200 0 IST}
+ {3984073200 10800 1 IDT}
+ {3999880800 7200 0 IST}
+ {4015609200 10800 1 IDT}
+ {4031416800 7200 0 IST}
+ {4047145200 10800 1 IDT}
+ {4062952800 7200 0 IST}
+ {4078681200 10800 1 IDT}
+ {4094488800 7200 0 IST}
+}
diff --git a/library/tzdata/Asia/Kabul b/library/tzdata/Asia/Kabul
new file mode 100644
index 0000000..a8f5626
--- /dev/null
+++ b/library/tzdata/Asia/Kabul
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Kabul) {
+ {-9223372036854775808 16608 0 LMT}
+ {-2524538208 14400 0 AFT}
+ {-788932800 16200 0 AFT}
+}
diff --git a/library/tzdata/Asia/Kamchatka b/library/tzdata/Asia/Kamchatka
new file mode 100644
index 0000000..b47efab
--- /dev/null
+++ b/library/tzdata/Asia/Kamchatka
@@ -0,0 +1,246 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Kamchatka) {
+ {-9223372036854775808 38076 0 LMT}
+ {-1487759676 39600 0 PETT}
+ {-1247569200 43200 0 PETMMTT}
+ {354888000 46800 1 PETST}
+ {370695600 43200 0 PETT}
+ {386424000 46800 1 PETST}
+ {402231600 43200 0 PETT}
+ {417960000 46800 1 PETST}
+ {433767600 43200 0 PETT}
+ {449582400 46800 1 PETST}
+ {465357600 43200 0 PETT}
+ {481082400 46800 1 PETST}
+ {496807200 43200 0 PETT}
+ {512532000 46800 1 PETST}
+ {528256800 43200 0 PETT}
+ {543981600 46800 1 PETST}
+ {559706400 43200 0 PETT}
+ {575431200 46800 1 PETST}
+ {591156000 43200 0 PETT}
+ {606880800 46800 1 PETST}
+ {622605600 43200 0 PETT}
+ {638330400 46800 1 PETST}
+ {654660000 43200 0 PETT}
+ {670384800 43200 0 PETST}
+ {686109600 39600 0 PETT}
+ {695786400 43200 0 PETMMTT}
+ {701780400 46800 1 PETST}
+ {717501600 43200 0 PETT}
+ {733284000 46800 1 PETST}
+ {749008800 43200 0 PETT}
+ {764733600 46800 1 PETST}
+ {780458400 43200 0 PETT}
+ {796183200 46800 1 PETST}
+ {811908000 43200 0 PETT}
+ {828237600 46800 1 PETST}
+ {846381600 43200 0 PETT}
+ {859687200 46800 1 PETST}
+ {877831200 43200 0 PETT}
+ {891136800 46800 1 PETST}
+ {909280800 43200 0 PETT}
+ {922586400 46800 1 PETST}
+ {941335200 43200 0 PETT}
+ {954036000 46800 1 PETST}
+ {972784800 43200 0 PETT}
+ {985485600 46800 1 PETST}
+ {1004234400 43200 0 PETT}
+ {1017540000 46800 1 PETST}
+ {1035684000 43200 0 PETT}
+ {1048989600 46800 1 PETST}
+ {1067133600 43200 0 PETT}
+ {1080439200 46800 1 PETST}
+ {1099188000 43200 0 PETT}
+ {1111888800 46800 1 PETST}
+ {1130637600 43200 0 PETT}
+ {1143338400 46800 1 PETST}
+ {1162087200 43200 0 PETT}
+ {1174788000 46800 1 PETST}
+ {1193536800 43200 0 PETT}
+ {1206842400 46800 1 PETST}
+ {1224986400 43200 0 PETT}
+ {1238292000 46800 1 PETST}
+ {1256436000 43200 0 PETT}
+ {1269741600 46800 1 PETST}
+ {1288490400 43200 0 PETT}
+ {1301191200 46800 1 PETST}
+ {1319940000 43200 0 PETT}
+ {1332640800 46800 1 PETST}
+ {1351389600 43200 0 PETT}
+ {1364695200 46800 1 PETST}
+ {1382839200 43200 0 PETT}
+ {1396144800 46800 1 PETST}
+ {1414288800 43200 0 PETT}
+ {1427594400 46800 1 PETST}
+ {1445738400 43200 0 PETT}
+ {1459044000 46800 1 PETST}
+ {1477792800 43200 0 PETT}
+ {1490493600 46800 1 PETST}
+ {1509242400 43200 0 PETT}
+ {1521943200 46800 1 PETST}
+ {1540692000 43200 0 PETT}
+ {1553997600 46800 1 PETST}
+ {1572141600 43200 0 PETT}
+ {1585447200 46800 1 PETST}
+ {1603591200 43200 0 PETT}
+ {1616896800 46800 1 PETST}
+ {1635645600 43200 0 PETT}
+ {1648346400 46800 1 PETST}
+ {1667095200 43200 0 PETT}
+ {1679796000 46800 1 PETST}
+ {1698544800 43200 0 PETT}
+ {1711850400 46800 1 PETST}
+ {1729994400 43200 0 PETT}
+ {1743300000 46800 1 PETST}
+ {1761444000 43200 0 PETT}
+ {1774749600 46800 1 PETST}
+ {1792893600 43200 0 PETT}
+ {1806199200 46800 1 PETST}
+ {1824948000 43200 0 PETT}
+ {1837648800 46800 1 PETST}
+ {1856397600 43200 0 PETT}
+ {1869098400 46800 1 PETST}
+ {1887847200 43200 0 PETT}
+ {1901152800 46800 1 PETST}
+ {1919296800 43200 0 PETT}
+ {1932602400 46800 1 PETST}
+ {1950746400 43200 0 PETT}
+ {1964052000 46800 1 PETST}
+ {1982800800 43200 0 PETT}
+ {1995501600 46800 1 PETST}
+ {2014250400 43200 0 PETT}
+ {2026951200 46800 1 PETST}
+ {2045700000 43200 0 PETT}
+ {2058400800 46800 1 PETST}
+ {2077149600 43200 0 PETT}
+ {2090455200 46800 1 PETST}
+ {2108599200 43200 0 PETT}
+ {2121904800 46800 1 PETST}
+ {2140048800 43200 0 PETT}
+ {2153354400 46800 1 PETST}
+ {2172103200 43200 0 PETT}
+ {2184804000 46800 1 PETST}
+ {2203552800 43200 0 PETT}
+ {2216253600 46800 1 PETST}
+ {2235002400 43200 0 PETT}
+ {2248308000 46800 1 PETST}
+ {2266452000 43200 0 PETT}
+ {2279757600 46800 1 PETST}
+ {2297901600 43200 0 PETT}
+ {2311207200 46800 1 PETST}
+ {2329351200 43200 0 PETT}
+ {2342656800 46800 1 PETST}
+ {2361405600 43200 0 PETT}
+ {2374106400 46800 1 PETST}
+ {2392855200 43200 0 PETT}
+ {2405556000 46800 1 PETST}
+ {2424304800 43200 0 PETT}
+ {2437610400 46800 1 PETST}
+ {2455754400 43200 0 PETT}
+ {2469060000 46800 1 PETST}
+ {2487204000 43200 0 PETT}
+ {2500509600 46800 1 PETST}
+ {2519258400 43200 0 PETT}
+ {2531959200 46800 1 PETST}
+ {2550708000 43200 0 PETT}
+ {2563408800 46800 1 PETST}
+ {2582157600 43200 0 PETT}
+ {2595463200 46800 1 PETST}
+ {2613607200 43200 0 PETT}
+ {2626912800 46800 1 PETST}
+ {2645056800 43200 0 PETT}
+ {2658362400 46800 1 PETST}
+ {2676506400 43200 0 PETT}
+ {2689812000 46800 1 PETST}
+ {2708560800 43200 0 PETT}
+ {2721261600 46800 1 PETST}
+ {2740010400 43200 0 PETT}
+ {2752711200 46800 1 PETST}
+ {2771460000 43200 0 PETT}
+ {2784765600 46800 1 PETST}
+ {2802909600 43200 0 PETT}
+ {2816215200 46800 1 PETST}
+ {2834359200 43200 0 PETT}
+ {2847664800 46800 1 PETST}
+ {2866413600 43200 0 PETT}
+ {2879114400 46800 1 PETST}
+ {2897863200 43200 0 PETT}
+ {2910564000 46800 1 PETST}
+ {2929312800 43200 0 PETT}
+ {2942013600 46800 1 PETST}
+ {2960762400 43200 0 PETT}
+ {2974068000 46800 1 PETST}
+ {2992212000 43200 0 PETT}
+ {3005517600 46800 1 PETST}
+ {3023661600 43200 0 PETT}
+ {3036967200 46800 1 PETST}
+ {3055716000 43200 0 PETT}
+ {3068416800 46800 1 PETST}
+ {3087165600 43200 0 PETT}
+ {3099866400 46800 1 PETST}
+ {3118615200 43200 0 PETT}
+ {3131920800 46800 1 PETST}
+ {3150064800 43200 0 PETT}
+ {3163370400 46800 1 PETST}
+ {3181514400 43200 0 PETT}
+ {3194820000 46800 1 PETST}
+ {3212964000 43200 0 PETT}
+ {3226269600 46800 1 PETST}
+ {3245018400 43200 0 PETT}
+ {3257719200 46800 1 PETST}
+ {3276468000 43200 0 PETT}
+ {3289168800 46800 1 PETST}
+ {3307917600 43200 0 PETT}
+ {3321223200 46800 1 PETST}
+ {3339367200 43200 0 PETT}
+ {3352672800 46800 1 PETST}
+ {3370816800 43200 0 PETT}
+ {3384122400 46800 1 PETST}
+ {3402871200 43200 0 PETT}
+ {3415572000 46800 1 PETST}
+ {3434320800 43200 0 PETT}
+ {3447021600 46800 1 PETST}
+ {3465770400 43200 0 PETT}
+ {3479076000 46800 1 PETST}
+ {3497220000 43200 0 PETT}
+ {3510525600 46800 1 PETST}
+ {3528669600 43200 0 PETT}
+ {3541975200 46800 1 PETST}
+ {3560119200 43200 0 PETT}
+ {3573424800 46800 1 PETST}
+ {3592173600 43200 0 PETT}
+ {3604874400 46800 1 PETST}
+ {3623623200 43200 0 PETT}
+ {3636324000 46800 1 PETST}
+ {3655072800 43200 0 PETT}
+ {3668378400 46800 1 PETST}
+ {3686522400 43200 0 PETT}
+ {3699828000 46800 1 PETST}
+ {3717972000 43200 0 PETT}
+ {3731277600 46800 1 PETST}
+ {3750026400 43200 0 PETT}
+ {3762727200 46800 1 PETST}
+ {3781476000 43200 0 PETT}
+ {3794176800 46800 1 PETST}
+ {3812925600 43200 0 PETT}
+ {3825626400 46800 1 PETST}
+ {3844375200 43200 0 PETT}
+ {3857680800 46800 1 PETST}
+ {3875824800 43200 0 PETT}
+ {3889130400 46800 1 PETST}
+ {3907274400 43200 0 PETT}
+ {3920580000 46800 1 PETST}
+ {3939328800 43200 0 PETT}
+ {3952029600 46800 1 PETST}
+ {3970778400 43200 0 PETT}
+ {3983479200 46800 1 PETST}
+ {4002228000 43200 0 PETT}
+ {4015533600 46800 1 PETST}
+ {4033677600 43200 0 PETT}
+ {4046983200 46800 1 PETST}
+ {4065127200 43200 0 PETT}
+ {4078432800 46800 1 PETST}
+ {4096576800 43200 0 PETT}
+}
diff --git a/library/tzdata/Asia/Karachi b/library/tzdata/Asia/Karachi
new file mode 100644
index 0000000..c5144d0
--- /dev/null
+++ b/library/tzdata/Asia/Karachi
@@ -0,0 +1,12 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Karachi) {
+ {-9223372036854775808 16092 0 LMT}
+ {-1988166492 19800 0 IST}
+ {-862637400 23400 1 IST}
+ {-764145000 19800 0 IST}
+ {-576135000 18000 0 KART}
+ {38775600 18000 0 PKT}
+ {1018119660 21600 1 PKST}
+ {1033840860 18000 0 PKT}
+}
diff --git a/library/tzdata/Asia/Kashgar b/library/tzdata/Asia/Kashgar
new file mode 100644
index 0000000..f918956
--- /dev/null
+++ b/library/tzdata/Asia/Kashgar
@@ -0,0 +1,20 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Kashgar) {
+ {-9223372036854775808 18236 0 LMT}
+ {-1325480636 19800 0 KAST}
+ {-946791000 18000 0 KAST}
+ {325969200 28800 0 CST}
+ {515520000 32400 1 CDT}
+ {527007600 28800 0 CST}
+ {545155200 32400 1 CDT}
+ {558457200 28800 0 CST}
+ {576604800 32400 1 CDT}
+ {589906800 28800 0 CST}
+ {608659200 32400 1 CDT}
+ {621961200 28800 0 CST}
+ {640108800 32400 1 CDT}
+ {653410800 28800 0 CST}
+ {671558400 32400 1 CDT}
+ {684860400 28800 0 CST}
+}
diff --git a/library/tzdata/Asia/Katmandu b/library/tzdata/Asia/Katmandu
new file mode 100644
index 0000000..3a5e4b5
--- /dev/null
+++ b/library/tzdata/Asia/Katmandu
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Katmandu) {
+ {-9223372036854775808 20476 0 LMT}
+ {-1577943676 19800 0 IST}
+ {504901800 20700 0 NPT}
+}
diff --git a/library/tzdata/Asia/Krasnoyarsk b/library/tzdata/Asia/Krasnoyarsk
new file mode 100644
index 0000000..dfdb4b8
--- /dev/null
+++ b/library/tzdata/Asia/Krasnoyarsk
@@ -0,0 +1,246 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Krasnoyarsk) {
+ {-9223372036854775808 22280 0 LMT}
+ {-1577513480 21600 0 KRAT}
+ {-1247551200 25200 0 KRAMMTT}
+ {354906000 28800 1 KRAST}
+ {370713600 25200 0 KRAT}
+ {386442000 28800 1 KRAST}
+ {402249600 25200 0 KRAT}
+ {417978000 28800 1 KRAST}
+ {433785600 25200 0 KRAT}
+ {449600400 28800 1 KRAST}
+ {465357600 25200 0 KRAT}
+ {481082400 28800 1 KRAST}
+ {496807200 25200 0 KRAT}
+ {512532000 28800 1 KRAST}
+ {528256800 25200 0 KRAT}
+ {543981600 28800 1 KRAST}
+ {559706400 25200 0 KRAT}
+ {575431200 28800 1 KRAST}
+ {591156000 25200 0 KRAT}
+ {606880800 28800 1 KRAST}
+ {622605600 25200 0 KRAT}
+ {638330400 28800 1 KRAST}
+ {654660000 25200 0 KRAT}
+ {670384800 25200 0 KRAST}
+ {686109600 21600 0 KRAT}
+ {695786400 25200 0 KRAMMTT}
+ {701798400 28800 1 KRAST}
+ {717519600 25200 0 KRAT}
+ {733284000 28800 1 KRAST}
+ {749008800 25200 0 KRAT}
+ {764733600 28800 1 KRAST}
+ {780458400 25200 0 KRAT}
+ {796183200 28800 1 KRAST}
+ {811908000 25200 0 KRAT}
+ {828237600 28800 1 KRAST}
+ {846381600 25200 0 KRAT}
+ {859687200 28800 1 KRAST}
+ {877831200 25200 0 KRAT}
+ {891136800 28800 1 KRAST}
+ {909280800 25200 0 KRAT}
+ {922586400 28800 1 KRAST}
+ {941335200 25200 0 KRAT}
+ {954036000 28800 1 KRAST}
+ {972784800 25200 0 KRAT}
+ {985485600 28800 1 KRAST}
+ {1004234400 25200 0 KRAT}
+ {1017540000 28800 1 KRAST}
+ {1035684000 25200 0 KRAT}
+ {1048989600 28800 1 KRAST}
+ {1067133600 25200 0 KRAT}
+ {1080439200 28800 1 KRAST}
+ {1099188000 25200 0 KRAT}
+ {1111888800 28800 1 KRAST}
+ {1130637600 25200 0 KRAT}
+ {1143338400 28800 1 KRAST}
+ {1162087200 25200 0 KRAT}
+ {1174788000 28800 1 KRAST}
+ {1193536800 25200 0 KRAT}
+ {1206842400 28800 1 KRAST}
+ {1224986400 25200 0 KRAT}
+ {1238292000 28800 1 KRAST}
+ {1256436000 25200 0 KRAT}
+ {1269741600 28800 1 KRAST}
+ {1288490400 25200 0 KRAT}
+ {1301191200 28800 1 KRAST}
+ {1319940000 25200 0 KRAT}
+ {1332640800 28800 1 KRAST}
+ {1351389600 25200 0 KRAT}
+ {1364695200 28800 1 KRAST}
+ {1382839200 25200 0 KRAT}
+ {1396144800 28800 1 KRAST}
+ {1414288800 25200 0 KRAT}
+ {1427594400 28800 1 KRAST}
+ {1445738400 25200 0 KRAT}
+ {1459044000 28800 1 KRAST}
+ {1477792800 25200 0 KRAT}
+ {1490493600 28800 1 KRAST}
+ {1509242400 25200 0 KRAT}
+ {1521943200 28800 1 KRAST}
+ {1540692000 25200 0 KRAT}
+ {1553997600 28800 1 KRAST}
+ {1572141600 25200 0 KRAT}
+ {1585447200 28800 1 KRAST}
+ {1603591200 25200 0 KRAT}
+ {1616896800 28800 1 KRAST}
+ {1635645600 25200 0 KRAT}
+ {1648346400 28800 1 KRAST}
+ {1667095200 25200 0 KRAT}
+ {1679796000 28800 1 KRAST}
+ {1698544800 25200 0 KRAT}
+ {1711850400 28800 1 KRAST}
+ {1729994400 25200 0 KRAT}
+ {1743300000 28800 1 KRAST}
+ {1761444000 25200 0 KRAT}
+ {1774749600 28800 1 KRAST}
+ {1792893600 25200 0 KRAT}
+ {1806199200 28800 1 KRAST}
+ {1824948000 25200 0 KRAT}
+ {1837648800 28800 1 KRAST}
+ {1856397600 25200 0 KRAT}
+ {1869098400 28800 1 KRAST}
+ {1887847200 25200 0 KRAT}
+ {1901152800 28800 1 KRAST}
+ {1919296800 25200 0 KRAT}
+ {1932602400 28800 1 KRAST}
+ {1950746400 25200 0 KRAT}
+ {1964052000 28800 1 KRAST}
+ {1982800800 25200 0 KRAT}
+ {1995501600 28800 1 KRAST}
+ {2014250400 25200 0 KRAT}
+ {2026951200 28800 1 KRAST}
+ {2045700000 25200 0 KRAT}
+ {2058400800 28800 1 KRAST}
+ {2077149600 25200 0 KRAT}
+ {2090455200 28800 1 KRAST}
+ {2108599200 25200 0 KRAT}
+ {2121904800 28800 1 KRAST}
+ {2140048800 25200 0 KRAT}
+ {2153354400 28800 1 KRAST}
+ {2172103200 25200 0 KRAT}
+ {2184804000 28800 1 KRAST}
+ {2203552800 25200 0 KRAT}
+ {2216253600 28800 1 KRAST}
+ {2235002400 25200 0 KRAT}
+ {2248308000 28800 1 KRAST}
+ {2266452000 25200 0 KRAT}
+ {2279757600 28800 1 KRAST}
+ {2297901600 25200 0 KRAT}
+ {2311207200 28800 1 KRAST}
+ {2329351200 25200 0 KRAT}
+ {2342656800 28800 1 KRAST}
+ {2361405600 25200 0 KRAT}
+ {2374106400 28800 1 KRAST}
+ {2392855200 25200 0 KRAT}
+ {2405556000 28800 1 KRAST}
+ {2424304800 25200 0 KRAT}
+ {2437610400 28800 1 KRAST}
+ {2455754400 25200 0 KRAT}
+ {2469060000 28800 1 KRAST}
+ {2487204000 25200 0 KRAT}
+ {2500509600 28800 1 KRAST}
+ {2519258400 25200 0 KRAT}
+ {2531959200 28800 1 KRAST}
+ {2550708000 25200 0 KRAT}
+ {2563408800 28800 1 KRAST}
+ {2582157600 25200 0 KRAT}
+ {2595463200 28800 1 KRAST}
+ {2613607200 25200 0 KRAT}
+ {2626912800 28800 1 KRAST}
+ {2645056800 25200 0 KRAT}
+ {2658362400 28800 1 KRAST}
+ {2676506400 25200 0 KRAT}
+ {2689812000 28800 1 KRAST}
+ {2708560800 25200 0 KRAT}
+ {2721261600 28800 1 KRAST}
+ {2740010400 25200 0 KRAT}
+ {2752711200 28800 1 KRAST}
+ {2771460000 25200 0 KRAT}
+ {2784765600 28800 1 KRAST}
+ {2802909600 25200 0 KRAT}
+ {2816215200 28800 1 KRAST}
+ {2834359200 25200 0 KRAT}
+ {2847664800 28800 1 KRAST}
+ {2866413600 25200 0 KRAT}
+ {2879114400 28800 1 KRAST}
+ {2897863200 25200 0 KRAT}
+ {2910564000 28800 1 KRAST}
+ {2929312800 25200 0 KRAT}
+ {2942013600 28800 1 KRAST}
+ {2960762400 25200 0 KRAT}
+ {2974068000 28800 1 KRAST}
+ {2992212000 25200 0 KRAT}
+ {3005517600 28800 1 KRAST}
+ {3023661600 25200 0 KRAT}
+ {3036967200 28800 1 KRAST}
+ {3055716000 25200 0 KRAT}
+ {3068416800 28800 1 KRAST}
+ {3087165600 25200 0 KRAT}
+ {3099866400 28800 1 KRAST}
+ {3118615200 25200 0 KRAT}
+ {3131920800 28800 1 KRAST}
+ {3150064800 25200 0 KRAT}
+ {3163370400 28800 1 KRAST}
+ {3181514400 25200 0 KRAT}
+ {3194820000 28800 1 KRAST}
+ {3212964000 25200 0 KRAT}
+ {3226269600 28800 1 KRAST}
+ {3245018400 25200 0 KRAT}
+ {3257719200 28800 1 KRAST}
+ {3276468000 25200 0 KRAT}
+ {3289168800 28800 1 KRAST}
+ {3307917600 25200 0 KRAT}
+ {3321223200 28800 1 KRAST}
+ {3339367200 25200 0 KRAT}
+ {3352672800 28800 1 KRAST}
+ {3370816800 25200 0 KRAT}
+ {3384122400 28800 1 KRAST}
+ {3402871200 25200 0 KRAT}
+ {3415572000 28800 1 KRAST}
+ {3434320800 25200 0 KRAT}
+ {3447021600 28800 1 KRAST}
+ {3465770400 25200 0 KRAT}
+ {3479076000 28800 1 KRAST}
+ {3497220000 25200 0 KRAT}
+ {3510525600 28800 1 KRAST}
+ {3528669600 25200 0 KRAT}
+ {3541975200 28800 1 KRAST}
+ {3560119200 25200 0 KRAT}
+ {3573424800 28800 1 KRAST}
+ {3592173600 25200 0 KRAT}
+ {3604874400 28800 1 KRAST}
+ {3623623200 25200 0 KRAT}
+ {3636324000 28800 1 KRAST}
+ {3655072800 25200 0 KRAT}
+ {3668378400 28800 1 KRAST}
+ {3686522400 25200 0 KRAT}
+ {3699828000 28800 1 KRAST}
+ {3717972000 25200 0 KRAT}
+ {3731277600 28800 1 KRAST}
+ {3750026400 25200 0 KRAT}
+ {3762727200 28800 1 KRAST}
+ {3781476000 25200 0 KRAT}
+ {3794176800 28800 1 KRAST}
+ {3812925600 25200 0 KRAT}
+ {3825626400 28800 1 KRAST}
+ {3844375200 25200 0 KRAT}
+ {3857680800 28800 1 KRAST}
+ {3875824800 25200 0 KRAT}
+ {3889130400 28800 1 KRAST}
+ {3907274400 25200 0 KRAT}
+ {3920580000 28800 1 KRAST}
+ {3939328800 25200 0 KRAT}
+ {3952029600 28800 1 KRAST}
+ {3970778400 25200 0 KRAT}
+ {3983479200 28800 1 KRAST}
+ {4002228000 25200 0 KRAT}
+ {4015533600 28800 1 KRAST}
+ {4033677600 25200 0 KRAT}
+ {4046983200 28800 1 KRAST}
+ {4065127200 25200 0 KRAT}
+ {4078432800 28800 1 KRAST}
+ {4096576800 25200 0 KRAT}
+}
diff --git a/library/tzdata/Asia/Kuala_Lumpur b/library/tzdata/Asia/Kuala_Lumpur
new file mode 100644
index 0000000..79ee986
--- /dev/null
+++ b/library/tzdata/Asia/Kuala_Lumpur
@@ -0,0 +1,13 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Kuala_Lumpur) {
+ {-9223372036854775808 24406 0 LMT}
+ {-2177477206 24925 0 SMT}
+ {-2038200925 25200 0 MALT}
+ {-1167634800 26400 1 MALST}
+ {-1073028000 26400 0 MALT}
+ {-894180000 27000 0 MALT}
+ {-879665400 32400 0 JST}
+ {-767005200 27000 0 MALT}
+ {378664200 28800 0 MYT}
+}
diff --git a/library/tzdata/Asia/Kuching b/library/tzdata/Asia/Kuching
new file mode 100644
index 0000000..790f947
--- /dev/null
+++ b/library/tzdata/Asia/Kuching
@@ -0,0 +1,24 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Kuching) {
+ {-9223372036854775808 26480 0 LMT}
+ {-1383463280 27000 0 BORT}
+ {-1167636600 28800 0 BORT}
+ {-1082448000 30000 1 BORTST}
+ {-1074586800 28800 0 BORT}
+ {-1050825600 30000 1 BORTST}
+ {-1042964400 28800 0 BORT}
+ {-1019289600 30000 1 BORTST}
+ {-1011428400 28800 0 BORT}
+ {-987753600 30000 1 BORTST}
+ {-979892400 28800 0 BORT}
+ {-956217600 30000 1 BORTST}
+ {-948356400 28800 0 BORT}
+ {-924595200 30000 1 BORTST}
+ {-916734000 28800 0 BORT}
+ {-893059200 30000 1 BORTST}
+ {-885198000 28800 0 BORT}
+ {-879667200 32400 0 JST}
+ {-767005200 28800 0 BORT}
+ {378662400 28800 0 MYT}
+}
diff --git a/library/tzdata/Asia/Kuwait b/library/tzdata/Asia/Kuwait
new file mode 100644
index 0000000..afc1b13
--- /dev/null
+++ b/library/tzdata/Asia/Kuwait
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Kuwait) {
+ {-9223372036854775808 11516 0 LMT}
+ {-631163516 10800 0 AST}
+}
diff --git a/library/tzdata/Asia/Macao b/library/tzdata/Asia/Macao
new file mode 100644
index 0000000..b8f5eec
--- /dev/null
+++ b/library/tzdata/Asia/Macao
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Macau)]} {
+ loadTimeZoneFile Asia/Macau
+}
+set tzdata(:Asia/Macao) $TZData(:Asia/Macau)
diff --git a/library/tzdata/Asia/Macau b/library/tzdata/Asia/Macau
new file mode 100644
index 0000000..b54922d
--- /dev/null
+++ b/library/tzdata/Asia/Macau
@@ -0,0 +1,46 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Macau) {
+ {-9223372036854775808 27260 0 LMT}
+ {-1830411260 28800 0 MOT}
+ {-277360200 32400 1 MOST}
+ {-257405400 28800 0 MOT}
+ {-245910600 32400 1 MOST}
+ {-225955800 28800 0 MOT}
+ {-214473600 32400 1 MOST}
+ {-194506200 28800 0 MOT}
+ {-182406600 32400 1 MOST}
+ {-163056600 28800 0 MOT}
+ {-150969600 32400 1 MOST}
+ {-131619600 28800 0 MOT}
+ {-117088200 32400 1 MOST}
+ {-101367000 28800 0 MOT}
+ {-85638600 32400 1 MOST}
+ {-69312600 28800 0 MOT}
+ {-53584200 32400 1 MOST}
+ {-37863000 28800 0 MOT}
+ {-22134600 32400 1 MOST}
+ {-6413400 28800 0 MOT}
+ {9315000 32400 1 MOST}
+ {25036200 28800 0 MOT}
+ {40764600 32400 1 MOST}
+ {56485800 28800 0 MOT}
+ {72201600 32400 1 MOST}
+ {87922800 28800 0 MOT}
+ {103651200 32400 1 MOST}
+ {119977200 28800 0 MOT}
+ {135705600 32400 1 MOST}
+ {151439400 28800 0 MOT}
+ {167167800 32400 1 MOST}
+ {182889000 28800 0 MOT}
+ {198617400 32400 1 MOST}
+ {214338600 28800 0 MOT}
+ {230067000 32400 1 MOST}
+ {245788200 28800 0 MOT}
+ {261504000 32400 1 MOST}
+ {277225200 28800 0 MOT}
+ {292953600 32400 1 MOST}
+ {309279600 28800 0 MOT}
+ {325008000 32400 1 MOST}
+ {340729200 28800 0 MOT}
+}
diff --git a/library/tzdata/Asia/Magadan b/library/tzdata/Asia/Magadan
new file mode 100644
index 0000000..c351faa
--- /dev/null
+++ b/library/tzdata/Asia/Magadan
@@ -0,0 +1,246 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Magadan) {
+ {-9223372036854775808 36192 0 LMT}
+ {-1441188192 36000 0 MAGT}
+ {-1247565600 39600 0 MAGMMTT}
+ {354891600 43200 1 MAGST}
+ {370699200 39600 0 MAGT}
+ {386427600 43200 1 MAGST}
+ {402235200 39600 0 MAGT}
+ {417963600 43200 1 MAGST}
+ {433771200 39600 0 MAGT}
+ {449586000 43200 1 MAGST}
+ {465357600 39600 0 MAGT}
+ {481082400 43200 1 MAGST}
+ {496807200 39600 0 MAGT}
+ {512532000 43200 1 MAGST}
+ {528256800 39600 0 MAGT}
+ {543981600 43200 1 MAGST}
+ {559706400 39600 0 MAGT}
+ {575431200 43200 1 MAGST}
+ {591156000 39600 0 MAGT}
+ {606880800 43200 1 MAGST}
+ {622605600 39600 0 MAGT}
+ {638330400 43200 1 MAGST}
+ {654660000 39600 0 MAGT}
+ {670384800 39600 0 MAGST}
+ {686109600 36000 0 MAGT}
+ {695786400 39600 0 MAGMMTT}
+ {701784000 43200 1 MAGST}
+ {717505200 39600 0 MAGT}
+ {733284000 43200 1 MAGST}
+ {749008800 39600 0 MAGT}
+ {764733600 43200 1 MAGST}
+ {780458400 39600 0 MAGT}
+ {796183200 43200 1 MAGST}
+ {811908000 39600 0 MAGT}
+ {828237600 43200 1 MAGST}
+ {846381600 39600 0 MAGT}
+ {859687200 43200 1 MAGST}
+ {877831200 39600 0 MAGT}
+ {891136800 43200 1 MAGST}
+ {909280800 39600 0 MAGT}
+ {922586400 43200 1 MAGST}
+ {941335200 39600 0 MAGT}
+ {954036000 43200 1 MAGST}
+ {972784800 39600 0 MAGT}
+ {985485600 43200 1 MAGST}
+ {1004234400 39600 0 MAGT}
+ {1017540000 43200 1 MAGST}
+ {1035684000 39600 0 MAGT}
+ {1048989600 43200 1 MAGST}
+ {1067133600 39600 0 MAGT}
+ {1080439200 43200 1 MAGST}
+ {1099188000 39600 0 MAGT}
+ {1111888800 43200 1 MAGST}
+ {1130637600 39600 0 MAGT}
+ {1143338400 43200 1 MAGST}
+ {1162087200 39600 0 MAGT}
+ {1174788000 43200 1 MAGST}
+ {1193536800 39600 0 MAGT}
+ {1206842400 43200 1 MAGST}
+ {1224986400 39600 0 MAGT}
+ {1238292000 43200 1 MAGST}
+ {1256436000 39600 0 MAGT}
+ {1269741600 43200 1 MAGST}
+ {1288490400 39600 0 MAGT}
+ {1301191200 43200 1 MAGST}
+ {1319940000 39600 0 MAGT}
+ {1332640800 43200 1 MAGST}
+ {1351389600 39600 0 MAGT}
+ {1364695200 43200 1 MAGST}
+ {1382839200 39600 0 MAGT}
+ {1396144800 43200 1 MAGST}
+ {1414288800 39600 0 MAGT}
+ {1427594400 43200 1 MAGST}
+ {1445738400 39600 0 MAGT}
+ {1459044000 43200 1 MAGST}
+ {1477792800 39600 0 MAGT}
+ {1490493600 43200 1 MAGST}
+ {1509242400 39600 0 MAGT}
+ {1521943200 43200 1 MAGST}
+ {1540692000 39600 0 MAGT}
+ {1553997600 43200 1 MAGST}
+ {1572141600 39600 0 MAGT}
+ {1585447200 43200 1 MAGST}
+ {1603591200 39600 0 MAGT}
+ {1616896800 43200 1 MAGST}
+ {1635645600 39600 0 MAGT}
+ {1648346400 43200 1 MAGST}
+ {1667095200 39600 0 MAGT}
+ {1679796000 43200 1 MAGST}
+ {1698544800 39600 0 MAGT}
+ {1711850400 43200 1 MAGST}
+ {1729994400 39600 0 MAGT}
+ {1743300000 43200 1 MAGST}
+ {1761444000 39600 0 MAGT}
+ {1774749600 43200 1 MAGST}
+ {1792893600 39600 0 MAGT}
+ {1806199200 43200 1 MAGST}
+ {1824948000 39600 0 MAGT}
+ {1837648800 43200 1 MAGST}
+ {1856397600 39600 0 MAGT}
+ {1869098400 43200 1 MAGST}
+ {1887847200 39600 0 MAGT}
+ {1901152800 43200 1 MAGST}
+ {1919296800 39600 0 MAGT}
+ {1932602400 43200 1 MAGST}
+ {1950746400 39600 0 MAGT}
+ {1964052000 43200 1 MAGST}
+ {1982800800 39600 0 MAGT}
+ {1995501600 43200 1 MAGST}
+ {2014250400 39600 0 MAGT}
+ {2026951200 43200 1 MAGST}
+ {2045700000 39600 0 MAGT}
+ {2058400800 43200 1 MAGST}
+ {2077149600 39600 0 MAGT}
+ {2090455200 43200 1 MAGST}
+ {2108599200 39600 0 MAGT}
+ {2121904800 43200 1 MAGST}
+ {2140048800 39600 0 MAGT}
+ {2153354400 43200 1 MAGST}
+ {2172103200 39600 0 MAGT}
+ {2184804000 43200 1 MAGST}
+ {2203552800 39600 0 MAGT}
+ {2216253600 43200 1 MAGST}
+ {2235002400 39600 0 MAGT}
+ {2248308000 43200 1 MAGST}
+ {2266452000 39600 0 MAGT}
+ {2279757600 43200 1 MAGST}
+ {2297901600 39600 0 MAGT}
+ {2311207200 43200 1 MAGST}
+ {2329351200 39600 0 MAGT}
+ {2342656800 43200 1 MAGST}
+ {2361405600 39600 0 MAGT}
+ {2374106400 43200 1 MAGST}
+ {2392855200 39600 0 MAGT}
+ {2405556000 43200 1 MAGST}
+ {2424304800 39600 0 MAGT}
+ {2437610400 43200 1 MAGST}
+ {2455754400 39600 0 MAGT}
+ {2469060000 43200 1 MAGST}
+ {2487204000 39600 0 MAGT}
+ {2500509600 43200 1 MAGST}
+ {2519258400 39600 0 MAGT}
+ {2531959200 43200 1 MAGST}
+ {2550708000 39600 0 MAGT}
+ {2563408800 43200 1 MAGST}
+ {2582157600 39600 0 MAGT}
+ {2595463200 43200 1 MAGST}
+ {2613607200 39600 0 MAGT}
+ {2626912800 43200 1 MAGST}
+ {2645056800 39600 0 MAGT}
+ {2658362400 43200 1 MAGST}
+ {2676506400 39600 0 MAGT}
+ {2689812000 43200 1 MAGST}
+ {2708560800 39600 0 MAGT}
+ {2721261600 43200 1 MAGST}
+ {2740010400 39600 0 MAGT}
+ {2752711200 43200 1 MAGST}
+ {2771460000 39600 0 MAGT}
+ {2784765600 43200 1 MAGST}
+ {2802909600 39600 0 MAGT}
+ {2816215200 43200 1 MAGST}
+ {2834359200 39600 0 MAGT}
+ {2847664800 43200 1 MAGST}
+ {2866413600 39600 0 MAGT}
+ {2879114400 43200 1 MAGST}
+ {2897863200 39600 0 MAGT}
+ {2910564000 43200 1 MAGST}
+ {2929312800 39600 0 MAGT}
+ {2942013600 43200 1 MAGST}
+ {2960762400 39600 0 MAGT}
+ {2974068000 43200 1 MAGST}
+ {2992212000 39600 0 MAGT}
+ {3005517600 43200 1 MAGST}
+ {3023661600 39600 0 MAGT}
+ {3036967200 43200 1 MAGST}
+ {3055716000 39600 0 MAGT}
+ {3068416800 43200 1 MAGST}
+ {3087165600 39600 0 MAGT}
+ {3099866400 43200 1 MAGST}
+ {3118615200 39600 0 MAGT}
+ {3131920800 43200 1 MAGST}
+ {3150064800 39600 0 MAGT}
+ {3163370400 43200 1 MAGST}
+ {3181514400 39600 0 MAGT}
+ {3194820000 43200 1 MAGST}
+ {3212964000 39600 0 MAGT}
+ {3226269600 43200 1 MAGST}
+ {3245018400 39600 0 MAGT}
+ {3257719200 43200 1 MAGST}
+ {3276468000 39600 0 MAGT}
+ {3289168800 43200 1 MAGST}
+ {3307917600 39600 0 MAGT}
+ {3321223200 43200 1 MAGST}
+ {3339367200 39600 0 MAGT}
+ {3352672800 43200 1 MAGST}
+ {3370816800 39600 0 MAGT}
+ {3384122400 43200 1 MAGST}
+ {3402871200 39600 0 MAGT}
+ {3415572000 43200 1 MAGST}
+ {3434320800 39600 0 MAGT}
+ {3447021600 43200 1 MAGST}
+ {3465770400 39600 0 MAGT}
+ {3479076000 43200 1 MAGST}
+ {3497220000 39600 0 MAGT}
+ {3510525600 43200 1 MAGST}
+ {3528669600 39600 0 MAGT}
+ {3541975200 43200 1 MAGST}
+ {3560119200 39600 0 MAGT}
+ {3573424800 43200 1 MAGST}
+ {3592173600 39600 0 MAGT}
+ {3604874400 43200 1 MAGST}
+ {3623623200 39600 0 MAGT}
+ {3636324000 43200 1 MAGST}
+ {3655072800 39600 0 MAGT}
+ {3668378400 43200 1 MAGST}
+ {3686522400 39600 0 MAGT}
+ {3699828000 43200 1 MAGST}
+ {3717972000 39600 0 MAGT}
+ {3731277600 43200 1 MAGST}
+ {3750026400 39600 0 MAGT}
+ {3762727200 43200 1 MAGST}
+ {3781476000 39600 0 MAGT}
+ {3794176800 43200 1 MAGST}
+ {3812925600 39600 0 MAGT}
+ {3825626400 43200 1 MAGST}
+ {3844375200 39600 0 MAGT}
+ {3857680800 43200 1 MAGST}
+ {3875824800 39600 0 MAGT}
+ {3889130400 43200 1 MAGST}
+ {3907274400 39600 0 MAGT}
+ {3920580000 43200 1 MAGST}
+ {3939328800 39600 0 MAGT}
+ {3952029600 43200 1 MAGST}
+ {3970778400 39600 0 MAGT}
+ {3983479200 43200 1 MAGST}
+ {4002228000 39600 0 MAGT}
+ {4015533600 43200 1 MAGST}
+ {4033677600 39600 0 MAGT}
+ {4046983200 43200 1 MAGST}
+ {4065127200 39600 0 MAGT}
+ {4078432800 43200 1 MAGST}
+ {4096576800 39600 0 MAGT}
+}
diff --git a/library/tzdata/Asia/Makassar b/library/tzdata/Asia/Makassar
new file mode 100644
index 0000000..1c81328
--- /dev/null
+++ b/library/tzdata/Asia/Makassar
@@ -0,0 +1,9 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Makassar) {
+ {-9223372036854775808 28656 0 LMT}
+ {-1577951856 28656 0 MMT}
+ {-1172908656 28800 0 CIT}
+ {-880272000 32400 0 JST}
+ {-770634000 28800 0 CIT}
+}
diff --git a/library/tzdata/Asia/Manila b/library/tzdata/Asia/Manila
new file mode 100644
index 0000000..12f9ac5
--- /dev/null
+++ b/library/tzdata/Asia/Manila
@@ -0,0 +1,15 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Manila) {
+ {-9223372036854775808 -57360 0 LMT}
+ {-3944621040 29040 0 LMT}
+ {-2229321840 28800 0 PHT}
+ {-1046678400 32400 1 PHST}
+ {-1038733200 28800 0 PHT}
+ {-873273600 32400 0 JST}
+ {-794221200 28800 0 PHT}
+ {-496224000 32400 1 PHST}
+ {-489315600 28800 0 PHT}
+ {259344000 32400 1 PHST}
+ {275151600 28800 0 PHT}
+}
diff --git a/library/tzdata/Asia/Muscat b/library/tzdata/Asia/Muscat
new file mode 100644
index 0000000..cecd83c
--- /dev/null
+++ b/library/tzdata/Asia/Muscat
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Muscat) {
+ {-9223372036854775808 14060 0 LMT}
+ {-1577937260 14400 0 GST}
+}
diff --git a/library/tzdata/Asia/Nicosia b/library/tzdata/Asia/Nicosia
new file mode 100644
index 0000000..33374a3
--- /dev/null
+++ b/library/tzdata/Asia/Nicosia
@@ -0,0 +1,257 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Nicosia) {
+ {-9223372036854775808 8008 0 LMT}
+ {-1518920008 7200 0 EET}
+ {166572000 10800 1 EEST}
+ {182293200 7200 0 EET}
+ {200959200 10800 1 EEST}
+ {213829200 7200 0 EET}
+ {228866400 10800 1 EEST}
+ {243982800 7200 0 EET}
+ {260316000 10800 1 EEST}
+ {276123600 7200 0 EET}
+ {291765600 10800 1 EEST}
+ {307486800 7200 0 EET}
+ {323820000 10800 1 EEST}
+ {338936400 7200 0 EET}
+ {354664800 10800 1 EEST}
+ {370386000 7200 0 EET}
+ {386114400 10800 1 EEST}
+ {401835600 7200 0 EET}
+ {417564000 10800 1 EEST}
+ {433285200 7200 0 EET}
+ {449013600 10800 1 EEST}
+ {465339600 7200 0 EET}
+ {481068000 10800 1 EEST}
+ {496789200 7200 0 EET}
+ {512517600 10800 1 EEST}
+ {528238800 7200 0 EET}
+ {543967200 10800 1 EEST}
+ {559688400 7200 0 EET}
+ {575416800 10800 1 EEST}
+ {591138000 7200 0 EET}
+ {606866400 10800 1 EEST}
+ {622587600 7200 0 EET}
+ {638316000 10800 1 EEST}
+ {654642000 7200 0 EET}
+ {670370400 10800 1 EEST}
+ {686091600 7200 0 EET}
+ {701820000 10800 1 EEST}
+ {717541200 7200 0 EET}
+ {733269600 10800 1 EEST}
+ {748990800 7200 0 EET}
+ {764719200 10800 1 EEST}
+ {780440400 7200 0 EET}
+ {796168800 10800 1 EEST}
+ {811890000 7200 0 EET}
+ {828223200 10800 1 EEST}
+ {843944400 7200 0 EET}
+ {859672800 10800 1 EEST}
+ {875394000 7200 0 EET}
+ {891122400 10800 1 EEST}
+ {904597200 10800 0 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Asia/Novosibirsk b/library/tzdata/Asia/Novosibirsk
new file mode 100644
index 0000000..3a92d89
--- /dev/null
+++ b/library/tzdata/Asia/Novosibirsk
@@ -0,0 +1,247 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Novosibirsk) {
+ {-9223372036854775808 19900 0 LMT}
+ {-1579476700 21600 0 NOVT}
+ {-1247551200 25200 0 NOVMMTT}
+ {354906000 28800 1 NOVST}
+ {370713600 25200 0 NOVT}
+ {386442000 28800 1 NOVST}
+ {402249600 25200 0 NOVT}
+ {417978000 28800 1 NOVST}
+ {433785600 25200 0 NOVT}
+ {449600400 28800 1 NOVST}
+ {465357600 25200 0 NOVT}
+ {481082400 28800 1 NOVST}
+ {496807200 25200 0 NOVT}
+ {512532000 28800 1 NOVST}
+ {528256800 25200 0 NOVT}
+ {543981600 28800 1 NOVST}
+ {559706400 25200 0 NOVT}
+ {575431200 28800 1 NOVST}
+ {591156000 25200 0 NOVT}
+ {606880800 28800 1 NOVST}
+ {622605600 25200 0 NOVT}
+ {638330400 28800 1 NOVST}
+ {654660000 25200 0 NOVT}
+ {670384800 25200 0 NOVST}
+ {686109600 21600 0 NOVT}
+ {695786400 25200 0 NOVMMTT}
+ {701798400 28800 1 NOVST}
+ {717519600 25200 0 NOVT}
+ {733284000 28800 1 NOVST}
+ {738090000 25200 0 NOVST}
+ {749008800 21600 0 NOVT}
+ {764733600 25200 1 NOVST}
+ {780458400 21600 0 NOVT}
+ {796183200 25200 1 NOVST}
+ {811908000 21600 0 NOVT}
+ {828237600 25200 1 NOVST}
+ {846381600 21600 0 NOVT}
+ {859687200 25200 1 NOVST}
+ {877831200 21600 0 NOVT}
+ {891136800 25200 1 NOVST}
+ {909280800 21600 0 NOVT}
+ {922586400 25200 1 NOVST}
+ {941335200 21600 0 NOVT}
+ {954036000 25200 1 NOVST}
+ {972784800 21600 0 NOVT}
+ {985485600 25200 1 NOVST}
+ {1004234400 21600 0 NOVT}
+ {1017540000 25200 1 NOVST}
+ {1035684000 21600 0 NOVT}
+ {1048989600 25200 1 NOVST}
+ {1067133600 21600 0 NOVT}
+ {1080439200 25200 1 NOVST}
+ {1099188000 21600 0 NOVT}
+ {1111888800 25200 1 NOVST}
+ {1130637600 21600 0 NOVT}
+ {1143338400 25200 1 NOVST}
+ {1162087200 21600 0 NOVT}
+ {1174788000 25200 1 NOVST}
+ {1193536800 21600 0 NOVT}
+ {1206842400 25200 1 NOVST}
+ {1224986400 21600 0 NOVT}
+ {1238292000 25200 1 NOVST}
+ {1256436000 21600 0 NOVT}
+ {1269741600 25200 1 NOVST}
+ {1288490400 21600 0 NOVT}
+ {1301191200 25200 1 NOVST}
+ {1319940000 21600 0 NOVT}
+ {1332640800 25200 1 NOVST}
+ {1351389600 21600 0 NOVT}
+ {1364695200 25200 1 NOVST}
+ {1382839200 21600 0 NOVT}
+ {1396144800 25200 1 NOVST}
+ {1414288800 21600 0 NOVT}
+ {1427594400 25200 1 NOVST}
+ {1445738400 21600 0 NOVT}
+ {1459044000 25200 1 NOVST}
+ {1477792800 21600 0 NOVT}
+ {1490493600 25200 1 NOVST}
+ {1509242400 21600 0 NOVT}
+ {1521943200 25200 1 NOVST}
+ {1540692000 21600 0 NOVT}
+ {1553997600 25200 1 NOVST}
+ {1572141600 21600 0 NOVT}
+ {1585447200 25200 1 NOVST}
+ {1603591200 21600 0 NOVT}
+ {1616896800 25200 1 NOVST}
+ {1635645600 21600 0 NOVT}
+ {1648346400 25200 1 NOVST}
+ {1667095200 21600 0 NOVT}
+ {1679796000 25200 1 NOVST}
+ {1698544800 21600 0 NOVT}
+ {1711850400 25200 1 NOVST}
+ {1729994400 21600 0 NOVT}
+ {1743300000 25200 1 NOVST}
+ {1761444000 21600 0 NOVT}
+ {1774749600 25200 1 NOVST}
+ {1792893600 21600 0 NOVT}
+ {1806199200 25200 1 NOVST}
+ {1824948000 21600 0 NOVT}
+ {1837648800 25200 1 NOVST}
+ {1856397600 21600 0 NOVT}
+ {1869098400 25200 1 NOVST}
+ {1887847200 21600 0 NOVT}
+ {1901152800 25200 1 NOVST}
+ {1919296800 21600 0 NOVT}
+ {1932602400 25200 1 NOVST}
+ {1950746400 21600 0 NOVT}
+ {1964052000 25200 1 NOVST}
+ {1982800800 21600 0 NOVT}
+ {1995501600 25200 1 NOVST}
+ {2014250400 21600 0 NOVT}
+ {2026951200 25200 1 NOVST}
+ {2045700000 21600 0 NOVT}
+ {2058400800 25200 1 NOVST}
+ {2077149600 21600 0 NOVT}
+ {2090455200 25200 1 NOVST}
+ {2108599200 21600 0 NOVT}
+ {2121904800 25200 1 NOVST}
+ {2140048800 21600 0 NOVT}
+ {2153354400 25200 1 NOVST}
+ {2172103200 21600 0 NOVT}
+ {2184804000 25200 1 NOVST}
+ {2203552800 21600 0 NOVT}
+ {2216253600 25200 1 NOVST}
+ {2235002400 21600 0 NOVT}
+ {2248308000 25200 1 NOVST}
+ {2266452000 21600 0 NOVT}
+ {2279757600 25200 1 NOVST}
+ {2297901600 21600 0 NOVT}
+ {2311207200 25200 1 NOVST}
+ {2329351200 21600 0 NOVT}
+ {2342656800 25200 1 NOVST}
+ {2361405600 21600 0 NOVT}
+ {2374106400 25200 1 NOVST}
+ {2392855200 21600 0 NOVT}
+ {2405556000 25200 1 NOVST}
+ {2424304800 21600 0 NOVT}
+ {2437610400 25200 1 NOVST}
+ {2455754400 21600 0 NOVT}
+ {2469060000 25200 1 NOVST}
+ {2487204000 21600 0 NOVT}
+ {2500509600 25200 1 NOVST}
+ {2519258400 21600 0 NOVT}
+ {2531959200 25200 1 NOVST}
+ {2550708000 21600 0 NOVT}
+ {2563408800 25200 1 NOVST}
+ {2582157600 21600 0 NOVT}
+ {2595463200 25200 1 NOVST}
+ {2613607200 21600 0 NOVT}
+ {2626912800 25200 1 NOVST}
+ {2645056800 21600 0 NOVT}
+ {2658362400 25200 1 NOVST}
+ {2676506400 21600 0 NOVT}
+ {2689812000 25200 1 NOVST}
+ {2708560800 21600 0 NOVT}
+ {2721261600 25200 1 NOVST}
+ {2740010400 21600 0 NOVT}
+ {2752711200 25200 1 NOVST}
+ {2771460000 21600 0 NOVT}
+ {2784765600 25200 1 NOVST}
+ {2802909600 21600 0 NOVT}
+ {2816215200 25200 1 NOVST}
+ {2834359200 21600 0 NOVT}
+ {2847664800 25200 1 NOVST}
+ {2866413600 21600 0 NOVT}
+ {2879114400 25200 1 NOVST}
+ {2897863200 21600 0 NOVT}
+ {2910564000 25200 1 NOVST}
+ {2929312800 21600 0 NOVT}
+ {2942013600 25200 1 NOVST}
+ {2960762400 21600 0 NOVT}
+ {2974068000 25200 1 NOVST}
+ {2992212000 21600 0 NOVT}
+ {3005517600 25200 1 NOVST}
+ {3023661600 21600 0 NOVT}
+ {3036967200 25200 1 NOVST}
+ {3055716000 21600 0 NOVT}
+ {3068416800 25200 1 NOVST}
+ {3087165600 21600 0 NOVT}
+ {3099866400 25200 1 NOVST}
+ {3118615200 21600 0 NOVT}
+ {3131920800 25200 1 NOVST}
+ {3150064800 21600 0 NOVT}
+ {3163370400 25200 1 NOVST}
+ {3181514400 21600 0 NOVT}
+ {3194820000 25200 1 NOVST}
+ {3212964000 21600 0 NOVT}
+ {3226269600 25200 1 NOVST}
+ {3245018400 21600 0 NOVT}
+ {3257719200 25200 1 NOVST}
+ {3276468000 21600 0 NOVT}
+ {3289168800 25200 1 NOVST}
+ {3307917600 21600 0 NOVT}
+ {3321223200 25200 1 NOVST}
+ {3339367200 21600 0 NOVT}
+ {3352672800 25200 1 NOVST}
+ {3370816800 21600 0 NOVT}
+ {3384122400 25200 1 NOVST}
+ {3402871200 21600 0 NOVT}
+ {3415572000 25200 1 NOVST}
+ {3434320800 21600 0 NOVT}
+ {3447021600 25200 1 NOVST}
+ {3465770400 21600 0 NOVT}
+ {3479076000 25200 1 NOVST}
+ {3497220000 21600 0 NOVT}
+ {3510525600 25200 1 NOVST}
+ {3528669600 21600 0 NOVT}
+ {3541975200 25200 1 NOVST}
+ {3560119200 21600 0 NOVT}
+ {3573424800 25200 1 NOVST}
+ {3592173600 21600 0 NOVT}
+ {3604874400 25200 1 NOVST}
+ {3623623200 21600 0 NOVT}
+ {3636324000 25200 1 NOVST}
+ {3655072800 21600 0 NOVT}
+ {3668378400 25200 1 NOVST}
+ {3686522400 21600 0 NOVT}
+ {3699828000 25200 1 NOVST}
+ {3717972000 21600 0 NOVT}
+ {3731277600 25200 1 NOVST}
+ {3750026400 21600 0 NOVT}
+ {3762727200 25200 1 NOVST}
+ {3781476000 21600 0 NOVT}
+ {3794176800 25200 1 NOVST}
+ {3812925600 21600 0 NOVT}
+ {3825626400 25200 1 NOVST}
+ {3844375200 21600 0 NOVT}
+ {3857680800 25200 1 NOVST}
+ {3875824800 21600 0 NOVT}
+ {3889130400 25200 1 NOVST}
+ {3907274400 21600 0 NOVT}
+ {3920580000 25200 1 NOVST}
+ {3939328800 21600 0 NOVT}
+ {3952029600 25200 1 NOVST}
+ {3970778400 21600 0 NOVT}
+ {3983479200 25200 1 NOVST}
+ {4002228000 21600 0 NOVT}
+ {4015533600 25200 1 NOVST}
+ {4033677600 21600 0 NOVT}
+ {4046983200 25200 1 NOVST}
+ {4065127200 21600 0 NOVT}
+ {4078432800 25200 1 NOVST}
+ {4096576800 21600 0 NOVT}
+}
diff --git a/library/tzdata/Asia/Omsk b/library/tzdata/Asia/Omsk
new file mode 100644
index 0000000..0b7b567
--- /dev/null
+++ b/library/tzdata/Asia/Omsk
@@ -0,0 +1,246 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Omsk) {
+ {-9223372036854775808 17616 0 LMT}
+ {-1582088016 18000 0 OMST}
+ {-1247547600 21600 0 OMSMMTT}
+ {354909600 25200 1 OMSST}
+ {370717200 21600 0 OMST}
+ {386445600 25200 1 OMSST}
+ {402253200 21600 0 OMST}
+ {417981600 25200 1 OMSST}
+ {433789200 21600 0 OMST}
+ {449604000 25200 1 OMSST}
+ {465357600 21600 0 OMST}
+ {481082400 25200 1 OMSST}
+ {496807200 21600 0 OMST}
+ {512532000 25200 1 OMSST}
+ {528256800 21600 0 OMST}
+ {543981600 25200 1 OMSST}
+ {559706400 21600 0 OMST}
+ {575431200 25200 1 OMSST}
+ {591156000 21600 0 OMST}
+ {606880800 25200 1 OMSST}
+ {622605600 21600 0 OMST}
+ {638330400 25200 1 OMSST}
+ {654660000 21600 0 OMST}
+ {670384800 21600 0 OMSST}
+ {686109600 18000 0 OMST}
+ {695786400 21600 0 OMSMMTT}
+ {701802000 25200 1 OMSST}
+ {717523200 21600 0 OMST}
+ {733284000 25200 1 OMSST}
+ {749008800 21600 0 OMST}
+ {764733600 25200 1 OMSST}
+ {780458400 21600 0 OMST}
+ {796183200 25200 1 OMSST}
+ {811908000 21600 0 OMST}
+ {828237600 25200 1 OMSST}
+ {846381600 21600 0 OMST}
+ {859687200 25200 1 OMSST}
+ {877831200 21600 0 OMST}
+ {891136800 25200 1 OMSST}
+ {909280800 21600 0 OMST}
+ {922586400 25200 1 OMSST}
+ {941335200 21600 0 OMST}
+ {954036000 25200 1 OMSST}
+ {972784800 21600 0 OMST}
+ {985485600 25200 1 OMSST}
+ {1004234400 21600 0 OMST}
+ {1017540000 25200 1 OMSST}
+ {1035684000 21600 0 OMST}
+ {1048989600 25200 1 OMSST}
+ {1067133600 21600 0 OMST}
+ {1080439200 25200 1 OMSST}
+ {1099188000 21600 0 OMST}
+ {1111888800 25200 1 OMSST}
+ {1130637600 21600 0 OMST}
+ {1143338400 25200 1 OMSST}
+ {1162087200 21600 0 OMST}
+ {1174788000 25200 1 OMSST}
+ {1193536800 21600 0 OMST}
+ {1206842400 25200 1 OMSST}
+ {1224986400 21600 0 OMST}
+ {1238292000 25200 1 OMSST}
+ {1256436000 21600 0 OMST}
+ {1269741600 25200 1 OMSST}
+ {1288490400 21600 0 OMST}
+ {1301191200 25200 1 OMSST}
+ {1319940000 21600 0 OMST}
+ {1332640800 25200 1 OMSST}
+ {1351389600 21600 0 OMST}
+ {1364695200 25200 1 OMSST}
+ {1382839200 21600 0 OMST}
+ {1396144800 25200 1 OMSST}
+ {1414288800 21600 0 OMST}
+ {1427594400 25200 1 OMSST}
+ {1445738400 21600 0 OMST}
+ {1459044000 25200 1 OMSST}
+ {1477792800 21600 0 OMST}
+ {1490493600 25200 1 OMSST}
+ {1509242400 21600 0 OMST}
+ {1521943200 25200 1 OMSST}
+ {1540692000 21600 0 OMST}
+ {1553997600 25200 1 OMSST}
+ {1572141600 21600 0 OMST}
+ {1585447200 25200 1 OMSST}
+ {1603591200 21600 0 OMST}
+ {1616896800 25200 1 OMSST}
+ {1635645600 21600 0 OMST}
+ {1648346400 25200 1 OMSST}
+ {1667095200 21600 0 OMST}
+ {1679796000 25200 1 OMSST}
+ {1698544800 21600 0 OMST}
+ {1711850400 25200 1 OMSST}
+ {1729994400 21600 0 OMST}
+ {1743300000 25200 1 OMSST}
+ {1761444000 21600 0 OMST}
+ {1774749600 25200 1 OMSST}
+ {1792893600 21600 0 OMST}
+ {1806199200 25200 1 OMSST}
+ {1824948000 21600 0 OMST}
+ {1837648800 25200 1 OMSST}
+ {1856397600 21600 0 OMST}
+ {1869098400 25200 1 OMSST}
+ {1887847200 21600 0 OMST}
+ {1901152800 25200 1 OMSST}
+ {1919296800 21600 0 OMST}
+ {1932602400 25200 1 OMSST}
+ {1950746400 21600 0 OMST}
+ {1964052000 25200 1 OMSST}
+ {1982800800 21600 0 OMST}
+ {1995501600 25200 1 OMSST}
+ {2014250400 21600 0 OMST}
+ {2026951200 25200 1 OMSST}
+ {2045700000 21600 0 OMST}
+ {2058400800 25200 1 OMSST}
+ {2077149600 21600 0 OMST}
+ {2090455200 25200 1 OMSST}
+ {2108599200 21600 0 OMST}
+ {2121904800 25200 1 OMSST}
+ {2140048800 21600 0 OMST}
+ {2153354400 25200 1 OMSST}
+ {2172103200 21600 0 OMST}
+ {2184804000 25200 1 OMSST}
+ {2203552800 21600 0 OMST}
+ {2216253600 25200 1 OMSST}
+ {2235002400 21600 0 OMST}
+ {2248308000 25200 1 OMSST}
+ {2266452000 21600 0 OMST}
+ {2279757600 25200 1 OMSST}
+ {2297901600 21600 0 OMST}
+ {2311207200 25200 1 OMSST}
+ {2329351200 21600 0 OMST}
+ {2342656800 25200 1 OMSST}
+ {2361405600 21600 0 OMST}
+ {2374106400 25200 1 OMSST}
+ {2392855200 21600 0 OMST}
+ {2405556000 25200 1 OMSST}
+ {2424304800 21600 0 OMST}
+ {2437610400 25200 1 OMSST}
+ {2455754400 21600 0 OMST}
+ {2469060000 25200 1 OMSST}
+ {2487204000 21600 0 OMST}
+ {2500509600 25200 1 OMSST}
+ {2519258400 21600 0 OMST}
+ {2531959200 25200 1 OMSST}
+ {2550708000 21600 0 OMST}
+ {2563408800 25200 1 OMSST}
+ {2582157600 21600 0 OMST}
+ {2595463200 25200 1 OMSST}
+ {2613607200 21600 0 OMST}
+ {2626912800 25200 1 OMSST}
+ {2645056800 21600 0 OMST}
+ {2658362400 25200 1 OMSST}
+ {2676506400 21600 0 OMST}
+ {2689812000 25200 1 OMSST}
+ {2708560800 21600 0 OMST}
+ {2721261600 25200 1 OMSST}
+ {2740010400 21600 0 OMST}
+ {2752711200 25200 1 OMSST}
+ {2771460000 21600 0 OMST}
+ {2784765600 25200 1 OMSST}
+ {2802909600 21600 0 OMST}
+ {2816215200 25200 1 OMSST}
+ {2834359200 21600 0 OMST}
+ {2847664800 25200 1 OMSST}
+ {2866413600 21600 0 OMST}
+ {2879114400 25200 1 OMSST}
+ {2897863200 21600 0 OMST}
+ {2910564000 25200 1 OMSST}
+ {2929312800 21600 0 OMST}
+ {2942013600 25200 1 OMSST}
+ {2960762400 21600 0 OMST}
+ {2974068000 25200 1 OMSST}
+ {2992212000 21600 0 OMST}
+ {3005517600 25200 1 OMSST}
+ {3023661600 21600 0 OMST}
+ {3036967200 25200 1 OMSST}
+ {3055716000 21600 0 OMST}
+ {3068416800 25200 1 OMSST}
+ {3087165600 21600 0 OMST}
+ {3099866400 25200 1 OMSST}
+ {3118615200 21600 0 OMST}
+ {3131920800 25200 1 OMSST}
+ {3150064800 21600 0 OMST}
+ {3163370400 25200 1 OMSST}
+ {3181514400 21600 0 OMST}
+ {3194820000 25200 1 OMSST}
+ {3212964000 21600 0 OMST}
+ {3226269600 25200 1 OMSST}
+ {3245018400 21600 0 OMST}
+ {3257719200 25200 1 OMSST}
+ {3276468000 21600 0 OMST}
+ {3289168800 25200 1 OMSST}
+ {3307917600 21600 0 OMST}
+ {3321223200 25200 1 OMSST}
+ {3339367200 21600 0 OMST}
+ {3352672800 25200 1 OMSST}
+ {3370816800 21600 0 OMST}
+ {3384122400 25200 1 OMSST}
+ {3402871200 21600 0 OMST}
+ {3415572000 25200 1 OMSST}
+ {3434320800 21600 0 OMST}
+ {3447021600 25200 1 OMSST}
+ {3465770400 21600 0 OMST}
+ {3479076000 25200 1 OMSST}
+ {3497220000 21600 0 OMST}
+ {3510525600 25200 1 OMSST}
+ {3528669600 21600 0 OMST}
+ {3541975200 25200 1 OMSST}
+ {3560119200 21600 0 OMST}
+ {3573424800 25200 1 OMSST}
+ {3592173600 21600 0 OMST}
+ {3604874400 25200 1 OMSST}
+ {3623623200 21600 0 OMST}
+ {3636324000 25200 1 OMSST}
+ {3655072800 21600 0 OMST}
+ {3668378400 25200 1 OMSST}
+ {3686522400 21600 0 OMST}
+ {3699828000 25200 1 OMSST}
+ {3717972000 21600 0 OMST}
+ {3731277600 25200 1 OMSST}
+ {3750026400 21600 0 OMST}
+ {3762727200 25200 1 OMSST}
+ {3781476000 21600 0 OMST}
+ {3794176800 25200 1 OMSST}
+ {3812925600 21600 0 OMST}
+ {3825626400 25200 1 OMSST}
+ {3844375200 21600 0 OMST}
+ {3857680800 25200 1 OMSST}
+ {3875824800 21600 0 OMST}
+ {3889130400 25200 1 OMSST}
+ {3907274400 21600 0 OMST}
+ {3920580000 25200 1 OMSST}
+ {3939328800 21600 0 OMST}
+ {3952029600 25200 1 OMSST}
+ {3970778400 21600 0 OMST}
+ {3983479200 25200 1 OMSST}
+ {4002228000 21600 0 OMST}
+ {4015533600 25200 1 OMSST}
+ {4033677600 21600 0 OMST}
+ {4046983200 25200 1 OMSST}
+ {4065127200 21600 0 OMST}
+ {4078432800 25200 1 OMSST}
+ {4096576800 21600 0 OMST}
+}
diff --git a/library/tzdata/Asia/Oral b/library/tzdata/Asia/Oral
new file mode 100644
index 0000000..0d54c34
--- /dev/null
+++ b/library/tzdata/Asia/Oral
@@ -0,0 +1,247 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Oral) {
+ {-9223372036854775808 12324 0 LMT}
+ {-1441164324 14400 0 URAT}
+ {-1247544000 18000 0 URAT}
+ {354913200 21600 1 URAST}
+ {370720800 21600 0 URAT}
+ {386445600 18000 0 URAT}
+ {386449200 21600 1 URAST}
+ {402256800 18000 0 URAT}
+ {417985200 21600 1 URAST}
+ {433792800 18000 0 URAT}
+ {449607600 21600 1 URAST}
+ {465357600 18000 0 URAT}
+ {481082400 21600 1 URAST}
+ {496807200 18000 0 URAT}
+ {512532000 21600 1 URAST}
+ {528256800 18000 0 URAT}
+ {543981600 21600 1 URAST}
+ {559706400 18000 0 URAT}
+ {575431200 21600 1 URAST}
+ {591156000 18000 0 URAT}
+ {606862800 14400 0 URAT}
+ {606880800 18000 1 URAST}
+ {622605600 14400 0 URAT}
+ {638330400 18000 1 URAST}
+ {654660000 14400 0 URAT}
+ {662673600 14400 0 URAT}
+ {692827200 14400 0 ORAT}
+ {701809200 18000 1 ORAST}
+ {717530400 14400 0 ORAT}
+ {733284000 18000 1 ORAST}
+ {749008800 14400 0 ORAT}
+ {764733600 18000 1 ORAST}
+ {780458400 14400 0 ORAT}
+ {796183200 18000 1 ORAST}
+ {811908000 14400 0 ORAT}
+ {828237600 18000 1 ORAST}
+ {846381600 14400 0 ORAT}
+ {859687200 18000 1 ORAST}
+ {877831200 14400 0 ORAT}
+ {891136800 18000 1 ORAST}
+ {909280800 14400 0 ORAT}
+ {922586400 18000 1 ORAST}
+ {941335200 14400 0 ORAT}
+ {954036000 18000 1 ORAST}
+ {972784800 14400 0 ORAT}
+ {985485600 18000 1 ORAST}
+ {1004234400 14400 0 ORAT}
+ {1017540000 18000 1 ORAST}
+ {1035684000 14400 0 ORAT}
+ {1048989600 18000 1 ORAST}
+ {1067133600 14400 0 ORAT}
+ {1080439200 18000 1 ORAST}
+ {1099188000 14400 0 ORAT}
+ {1111888800 18000 1 ORAST}
+ {1130637600 14400 0 ORAT}
+ {1143338400 18000 1 ORAST}
+ {1162087200 14400 0 ORAT}
+ {1174788000 18000 1 ORAST}
+ {1193536800 14400 0 ORAT}
+ {1206842400 18000 1 ORAST}
+ {1224986400 14400 0 ORAT}
+ {1238292000 18000 1 ORAST}
+ {1256436000 14400 0 ORAT}
+ {1269741600 18000 1 ORAST}
+ {1288490400 14400 0 ORAT}
+ {1301191200 18000 1 ORAST}
+ {1319940000 14400 0 ORAT}
+ {1332640800 18000 1 ORAST}
+ {1351389600 14400 0 ORAT}
+ {1364695200 18000 1 ORAST}
+ {1382839200 14400 0 ORAT}
+ {1396144800 18000 1 ORAST}
+ {1414288800 14400 0 ORAT}
+ {1427594400 18000 1 ORAST}
+ {1445738400 14400 0 ORAT}
+ {1459044000 18000 1 ORAST}
+ {1477792800 14400 0 ORAT}
+ {1490493600 18000 1 ORAST}
+ {1509242400 14400 0 ORAT}
+ {1521943200 18000 1 ORAST}
+ {1540692000 14400 0 ORAT}
+ {1553997600 18000 1 ORAST}
+ {1572141600 14400 0 ORAT}
+ {1585447200 18000 1 ORAST}
+ {1603591200 14400 0 ORAT}
+ {1616896800 18000 1 ORAST}
+ {1635645600 14400 0 ORAT}
+ {1648346400 18000 1 ORAST}
+ {1667095200 14400 0 ORAT}
+ {1679796000 18000 1 ORAST}
+ {1698544800 14400 0 ORAT}
+ {1711850400 18000 1 ORAST}
+ {1729994400 14400 0 ORAT}
+ {1743300000 18000 1 ORAST}
+ {1761444000 14400 0 ORAT}
+ {1774749600 18000 1 ORAST}
+ {1792893600 14400 0 ORAT}
+ {1806199200 18000 1 ORAST}
+ {1824948000 14400 0 ORAT}
+ {1837648800 18000 1 ORAST}
+ {1856397600 14400 0 ORAT}
+ {1869098400 18000 1 ORAST}
+ {1887847200 14400 0 ORAT}
+ {1901152800 18000 1 ORAST}
+ {1919296800 14400 0 ORAT}
+ {1932602400 18000 1 ORAST}
+ {1950746400 14400 0 ORAT}
+ {1964052000 18000 1 ORAST}
+ {1982800800 14400 0 ORAT}
+ {1995501600 18000 1 ORAST}
+ {2014250400 14400 0 ORAT}
+ {2026951200 18000 1 ORAST}
+ {2045700000 14400 0 ORAT}
+ {2058400800 18000 1 ORAST}
+ {2077149600 14400 0 ORAT}
+ {2090455200 18000 1 ORAST}
+ {2108599200 14400 0 ORAT}
+ {2121904800 18000 1 ORAST}
+ {2140048800 14400 0 ORAT}
+ {2153354400 18000 1 ORAST}
+ {2172103200 14400 0 ORAT}
+ {2184804000 18000 1 ORAST}
+ {2203552800 14400 0 ORAT}
+ {2216253600 18000 1 ORAST}
+ {2235002400 14400 0 ORAT}
+ {2248308000 18000 1 ORAST}
+ {2266452000 14400 0 ORAT}
+ {2279757600 18000 1 ORAST}
+ {2297901600 14400 0 ORAT}
+ {2311207200 18000 1 ORAST}
+ {2329351200 14400 0 ORAT}
+ {2342656800 18000 1 ORAST}
+ {2361405600 14400 0 ORAT}
+ {2374106400 18000 1 ORAST}
+ {2392855200 14400 0 ORAT}
+ {2405556000 18000 1 ORAST}
+ {2424304800 14400 0 ORAT}
+ {2437610400 18000 1 ORAST}
+ {2455754400 14400 0 ORAT}
+ {2469060000 18000 1 ORAST}
+ {2487204000 14400 0 ORAT}
+ {2500509600 18000 1 ORAST}
+ {2519258400 14400 0 ORAT}
+ {2531959200 18000 1 ORAST}
+ {2550708000 14400 0 ORAT}
+ {2563408800 18000 1 ORAST}
+ {2582157600 14400 0 ORAT}
+ {2595463200 18000 1 ORAST}
+ {2613607200 14400 0 ORAT}
+ {2626912800 18000 1 ORAST}
+ {2645056800 14400 0 ORAT}
+ {2658362400 18000 1 ORAST}
+ {2676506400 14400 0 ORAT}
+ {2689812000 18000 1 ORAST}
+ {2708560800 14400 0 ORAT}
+ {2721261600 18000 1 ORAST}
+ {2740010400 14400 0 ORAT}
+ {2752711200 18000 1 ORAST}
+ {2771460000 14400 0 ORAT}
+ {2784765600 18000 1 ORAST}
+ {2802909600 14400 0 ORAT}
+ {2816215200 18000 1 ORAST}
+ {2834359200 14400 0 ORAT}
+ {2847664800 18000 1 ORAST}
+ {2866413600 14400 0 ORAT}
+ {2879114400 18000 1 ORAST}
+ {2897863200 14400 0 ORAT}
+ {2910564000 18000 1 ORAST}
+ {2929312800 14400 0 ORAT}
+ {2942013600 18000 1 ORAST}
+ {2960762400 14400 0 ORAT}
+ {2974068000 18000 1 ORAST}
+ {2992212000 14400 0 ORAT}
+ {3005517600 18000 1 ORAST}
+ {3023661600 14400 0 ORAT}
+ {3036967200 18000 1 ORAST}
+ {3055716000 14400 0 ORAT}
+ {3068416800 18000 1 ORAST}
+ {3087165600 14400 0 ORAT}
+ {3099866400 18000 1 ORAST}
+ {3118615200 14400 0 ORAT}
+ {3131920800 18000 1 ORAST}
+ {3150064800 14400 0 ORAT}
+ {3163370400 18000 1 ORAST}
+ {3181514400 14400 0 ORAT}
+ {3194820000 18000 1 ORAST}
+ {3212964000 14400 0 ORAT}
+ {3226269600 18000 1 ORAST}
+ {3245018400 14400 0 ORAT}
+ {3257719200 18000 1 ORAST}
+ {3276468000 14400 0 ORAT}
+ {3289168800 18000 1 ORAST}
+ {3307917600 14400 0 ORAT}
+ {3321223200 18000 1 ORAST}
+ {3339367200 14400 0 ORAT}
+ {3352672800 18000 1 ORAST}
+ {3370816800 14400 0 ORAT}
+ {3384122400 18000 1 ORAST}
+ {3402871200 14400 0 ORAT}
+ {3415572000 18000 1 ORAST}
+ {3434320800 14400 0 ORAT}
+ {3447021600 18000 1 ORAST}
+ {3465770400 14400 0 ORAT}
+ {3479076000 18000 1 ORAST}
+ {3497220000 14400 0 ORAT}
+ {3510525600 18000 1 ORAST}
+ {3528669600 14400 0 ORAT}
+ {3541975200 18000 1 ORAST}
+ {3560119200 14400 0 ORAT}
+ {3573424800 18000 1 ORAST}
+ {3592173600 14400 0 ORAT}
+ {3604874400 18000 1 ORAST}
+ {3623623200 14400 0 ORAT}
+ {3636324000 18000 1 ORAST}
+ {3655072800 14400 0 ORAT}
+ {3668378400 18000 1 ORAST}
+ {3686522400 14400 0 ORAT}
+ {3699828000 18000 1 ORAST}
+ {3717972000 14400 0 ORAT}
+ {3731277600 18000 1 ORAST}
+ {3750026400 14400 0 ORAT}
+ {3762727200 18000 1 ORAST}
+ {3781476000 14400 0 ORAT}
+ {3794176800 18000 1 ORAST}
+ {3812925600 14400 0 ORAT}
+ {3825626400 18000 1 ORAST}
+ {3844375200 14400 0 ORAT}
+ {3857680800 18000 1 ORAST}
+ {3875824800 14400 0 ORAT}
+ {3889130400 18000 1 ORAST}
+ {3907274400 14400 0 ORAT}
+ {3920580000 18000 1 ORAST}
+ {3939328800 14400 0 ORAT}
+ {3952029600 18000 1 ORAST}
+ {3970778400 14400 0 ORAT}
+ {3983479200 18000 1 ORAST}
+ {4002228000 14400 0 ORAT}
+ {4015533600 18000 1 ORAST}
+ {4033677600 14400 0 ORAT}
+ {4046983200 18000 1 ORAST}
+ {4065127200 14400 0 ORAT}
+ {4078432800 18000 1 ORAST}
+ {4096576800 14400 0 ORAT}
+}
diff --git a/library/tzdata/Asia/Phnom_Penh b/library/tzdata/Asia/Phnom_Penh
new file mode 100644
index 0000000..ec8dcbb
--- /dev/null
+++ b/library/tzdata/Asia/Phnom_Penh
@@ -0,0 +1,9 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Phnom_Penh) {
+ {-9223372036854775808 25180 0 LMT}
+ {-2005973980 25580 0 SMT}
+ {-1855983920 25200 0 ICT}
+ {-1819954800 28800 0 ICT}
+ {-1220428800 25200 0 ICT}
+}
diff --git a/library/tzdata/Asia/Pontianak b/library/tzdata/Asia/Pontianak
new file mode 100644
index 0000000..f6bfdc1
--- /dev/null
+++ b/library/tzdata/Asia/Pontianak
@@ -0,0 +1,13 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Pontianak) {
+ {-9223372036854775808 26240 0 LMT}
+ {-1946186240 26240 0 PMT}
+ {-1172906240 27000 0 WIT}
+ {-881220600 32400 0 JST}
+ {-770634000 27000 0 WIT}
+ {-683883000 28800 0 WIT}
+ {-620812800 27000 0 WIT}
+ {-189415800 28800 0 CIT}
+ {567964800 25200 0 WIT}
+}
diff --git a/library/tzdata/Asia/Pyongyang b/library/tzdata/Asia/Pyongyang
new file mode 100644
index 0000000..63643f9
--- /dev/null
+++ b/library/tzdata/Asia/Pyongyang
@@ -0,0 +1,11 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Pyongyang) {
+ {-9223372036854775808 30180 0 LMT}
+ {-2524551780 30600 0 KST}
+ {-2053931400 32400 0 KST}
+ {-1325494800 30600 0 KST}
+ {-1199262600 32400 0 KST}
+ {-498128400 28800 0 KST}
+ {-264931200 32400 0 KST}
+}
diff --git a/library/tzdata/Asia/Qatar b/library/tzdata/Asia/Qatar
new file mode 100644
index 0000000..c7a9786
--- /dev/null
+++ b/library/tzdata/Asia/Qatar
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Qatar) {
+ {-9223372036854775808 12368 0 LMT}
+ {-1577935568 14400 0 GST}
+ {76190400 10800 0 AST}
+}
diff --git a/library/tzdata/Asia/Qyzylorda b/library/tzdata/Asia/Qyzylorda
new file mode 100644
index 0000000..28db804
--- /dev/null
+++ b/library/tzdata/Asia/Qyzylorda
@@ -0,0 +1,247 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Qyzylorda) {
+ {-9223372036854775808 15712 0 LMT}
+ {-1441167712 14400 0 KIZT}
+ {-1247544000 18000 0 KIZT}
+ {354913200 21600 1 KIZST}
+ {370720800 21600 0 KIZT}
+ {386445600 18000 0 KIZT}
+ {386449200 21600 1 KIZST}
+ {402256800 18000 0 KIZT}
+ {417985200 21600 1 KIZST}
+ {433792800 18000 0 KIZT}
+ {449607600 21600 1 KIZST}
+ {465357600 18000 0 KIZT}
+ {481082400 21600 1 KIZST}
+ {496807200 18000 0 KIZT}
+ {512532000 21600 1 KIZST}
+ {528256800 18000 0 KIZT}
+ {543981600 21600 1 KIZST}
+ {559706400 18000 0 KIZT}
+ {575431200 21600 1 KIZST}
+ {591156000 18000 0 KIZT}
+ {606880800 21600 1 KIZST}
+ {622605600 18000 0 KIZT}
+ {638330400 21600 1 KIZST}
+ {654660000 18000 0 KIZT}
+ {662670000 18000 0 KIZT}
+ {692823600 18000 0 QYZT}
+ {695768400 21600 0 QYZT}
+ {701802000 25200 1 QYZST}
+ {717523200 21600 0 QYZT}
+ {733284000 25200 1 QYZST}
+ {749008800 21600 0 QYZT}
+ {764733600 25200 1 QYZST}
+ {780458400 21600 0 QYZT}
+ {796183200 25200 1 QYZST}
+ {811908000 21600 0 QYZT}
+ {828237600 25200 1 QYZST}
+ {846381600 21600 0 QYZT}
+ {859687200 25200 1 QYZST}
+ {877831200 21600 0 QYZT}
+ {891136800 25200 1 QYZST}
+ {909280800 21600 0 QYZT}
+ {922586400 25200 1 QYZST}
+ {941335200 21600 0 QYZT}
+ {954036000 25200 1 QYZST}
+ {972784800 21600 0 QYZT}
+ {985485600 25200 1 QYZST}
+ {1004234400 21600 0 QYZT}
+ {1017540000 25200 1 QYZST}
+ {1035684000 21600 0 QYZT}
+ {1048989600 25200 1 QYZST}
+ {1067133600 21600 0 QYZT}
+ {1080439200 25200 1 QYZST}
+ {1099188000 21600 0 QYZT}
+ {1111888800 25200 1 QYZST}
+ {1130637600 21600 0 QYZT}
+ {1143338400 25200 1 QYZST}
+ {1162087200 21600 0 QYZT}
+ {1174788000 25200 1 QYZST}
+ {1193536800 21600 0 QYZT}
+ {1206842400 25200 1 QYZST}
+ {1224986400 21600 0 QYZT}
+ {1238292000 25200 1 QYZST}
+ {1256436000 21600 0 QYZT}
+ {1269741600 25200 1 QYZST}
+ {1288490400 21600 0 QYZT}
+ {1301191200 25200 1 QYZST}
+ {1319940000 21600 0 QYZT}
+ {1332640800 25200 1 QYZST}
+ {1351389600 21600 0 QYZT}
+ {1364695200 25200 1 QYZST}
+ {1382839200 21600 0 QYZT}
+ {1396144800 25200 1 QYZST}
+ {1414288800 21600 0 QYZT}
+ {1427594400 25200 1 QYZST}
+ {1445738400 21600 0 QYZT}
+ {1459044000 25200 1 QYZST}
+ {1477792800 21600 0 QYZT}
+ {1490493600 25200 1 QYZST}
+ {1509242400 21600 0 QYZT}
+ {1521943200 25200 1 QYZST}
+ {1540692000 21600 0 QYZT}
+ {1553997600 25200 1 QYZST}
+ {1572141600 21600 0 QYZT}
+ {1585447200 25200 1 QYZST}
+ {1603591200 21600 0 QYZT}
+ {1616896800 25200 1 QYZST}
+ {1635645600 21600 0 QYZT}
+ {1648346400 25200 1 QYZST}
+ {1667095200 21600 0 QYZT}
+ {1679796000 25200 1 QYZST}
+ {1698544800 21600 0 QYZT}
+ {1711850400 25200 1 QYZST}
+ {1729994400 21600 0 QYZT}
+ {1743300000 25200 1 QYZST}
+ {1761444000 21600 0 QYZT}
+ {1774749600 25200 1 QYZST}
+ {1792893600 21600 0 QYZT}
+ {1806199200 25200 1 QYZST}
+ {1824948000 21600 0 QYZT}
+ {1837648800 25200 1 QYZST}
+ {1856397600 21600 0 QYZT}
+ {1869098400 25200 1 QYZST}
+ {1887847200 21600 0 QYZT}
+ {1901152800 25200 1 QYZST}
+ {1919296800 21600 0 QYZT}
+ {1932602400 25200 1 QYZST}
+ {1950746400 21600 0 QYZT}
+ {1964052000 25200 1 QYZST}
+ {1982800800 21600 0 QYZT}
+ {1995501600 25200 1 QYZST}
+ {2014250400 21600 0 QYZT}
+ {2026951200 25200 1 QYZST}
+ {2045700000 21600 0 QYZT}
+ {2058400800 25200 1 QYZST}
+ {2077149600 21600 0 QYZT}
+ {2090455200 25200 1 QYZST}
+ {2108599200 21600 0 QYZT}
+ {2121904800 25200 1 QYZST}
+ {2140048800 21600 0 QYZT}
+ {2153354400 25200 1 QYZST}
+ {2172103200 21600 0 QYZT}
+ {2184804000 25200 1 QYZST}
+ {2203552800 21600 0 QYZT}
+ {2216253600 25200 1 QYZST}
+ {2235002400 21600 0 QYZT}
+ {2248308000 25200 1 QYZST}
+ {2266452000 21600 0 QYZT}
+ {2279757600 25200 1 QYZST}
+ {2297901600 21600 0 QYZT}
+ {2311207200 25200 1 QYZST}
+ {2329351200 21600 0 QYZT}
+ {2342656800 25200 1 QYZST}
+ {2361405600 21600 0 QYZT}
+ {2374106400 25200 1 QYZST}
+ {2392855200 21600 0 QYZT}
+ {2405556000 25200 1 QYZST}
+ {2424304800 21600 0 QYZT}
+ {2437610400 25200 1 QYZST}
+ {2455754400 21600 0 QYZT}
+ {2469060000 25200 1 QYZST}
+ {2487204000 21600 0 QYZT}
+ {2500509600 25200 1 QYZST}
+ {2519258400 21600 0 QYZT}
+ {2531959200 25200 1 QYZST}
+ {2550708000 21600 0 QYZT}
+ {2563408800 25200 1 QYZST}
+ {2582157600 21600 0 QYZT}
+ {2595463200 25200 1 QYZST}
+ {2613607200 21600 0 QYZT}
+ {2626912800 25200 1 QYZST}
+ {2645056800 21600 0 QYZT}
+ {2658362400 25200 1 QYZST}
+ {2676506400 21600 0 QYZT}
+ {2689812000 25200 1 QYZST}
+ {2708560800 21600 0 QYZT}
+ {2721261600 25200 1 QYZST}
+ {2740010400 21600 0 QYZT}
+ {2752711200 25200 1 QYZST}
+ {2771460000 21600 0 QYZT}
+ {2784765600 25200 1 QYZST}
+ {2802909600 21600 0 QYZT}
+ {2816215200 25200 1 QYZST}
+ {2834359200 21600 0 QYZT}
+ {2847664800 25200 1 QYZST}
+ {2866413600 21600 0 QYZT}
+ {2879114400 25200 1 QYZST}
+ {2897863200 21600 0 QYZT}
+ {2910564000 25200 1 QYZST}
+ {2929312800 21600 0 QYZT}
+ {2942013600 25200 1 QYZST}
+ {2960762400 21600 0 QYZT}
+ {2974068000 25200 1 QYZST}
+ {2992212000 21600 0 QYZT}
+ {3005517600 25200 1 QYZST}
+ {3023661600 21600 0 QYZT}
+ {3036967200 25200 1 QYZST}
+ {3055716000 21600 0 QYZT}
+ {3068416800 25200 1 QYZST}
+ {3087165600 21600 0 QYZT}
+ {3099866400 25200 1 QYZST}
+ {3118615200 21600 0 QYZT}
+ {3131920800 25200 1 QYZST}
+ {3150064800 21600 0 QYZT}
+ {3163370400 25200 1 QYZST}
+ {3181514400 21600 0 QYZT}
+ {3194820000 25200 1 QYZST}
+ {3212964000 21600 0 QYZT}
+ {3226269600 25200 1 QYZST}
+ {3245018400 21600 0 QYZT}
+ {3257719200 25200 1 QYZST}
+ {3276468000 21600 0 QYZT}
+ {3289168800 25200 1 QYZST}
+ {3307917600 21600 0 QYZT}
+ {3321223200 25200 1 QYZST}
+ {3339367200 21600 0 QYZT}
+ {3352672800 25200 1 QYZST}
+ {3370816800 21600 0 QYZT}
+ {3384122400 25200 1 QYZST}
+ {3402871200 21600 0 QYZT}
+ {3415572000 25200 1 QYZST}
+ {3434320800 21600 0 QYZT}
+ {3447021600 25200 1 QYZST}
+ {3465770400 21600 0 QYZT}
+ {3479076000 25200 1 QYZST}
+ {3497220000 21600 0 QYZT}
+ {3510525600 25200 1 QYZST}
+ {3528669600 21600 0 QYZT}
+ {3541975200 25200 1 QYZST}
+ {3560119200 21600 0 QYZT}
+ {3573424800 25200 1 QYZST}
+ {3592173600 21600 0 QYZT}
+ {3604874400 25200 1 QYZST}
+ {3623623200 21600 0 QYZT}
+ {3636324000 25200 1 QYZST}
+ {3655072800 21600 0 QYZT}
+ {3668378400 25200 1 QYZST}
+ {3686522400 21600 0 QYZT}
+ {3699828000 25200 1 QYZST}
+ {3717972000 21600 0 QYZT}
+ {3731277600 25200 1 QYZST}
+ {3750026400 21600 0 QYZT}
+ {3762727200 25200 1 QYZST}
+ {3781476000 21600 0 QYZT}
+ {3794176800 25200 1 QYZST}
+ {3812925600 21600 0 QYZT}
+ {3825626400 25200 1 QYZST}
+ {3844375200 21600 0 QYZT}
+ {3857680800 25200 1 QYZST}
+ {3875824800 21600 0 QYZT}
+ {3889130400 25200 1 QYZST}
+ {3907274400 21600 0 QYZT}
+ {3920580000 25200 1 QYZST}
+ {3939328800 21600 0 QYZT}
+ {3952029600 25200 1 QYZST}
+ {3970778400 21600 0 QYZT}
+ {3983479200 25200 1 QYZST}
+ {4002228000 21600 0 QYZT}
+ {4015533600 25200 1 QYZST}
+ {4033677600 21600 0 QYZT}
+ {4046983200 25200 1 QYZST}
+ {4065127200 21600 0 QYZT}
+ {4078432800 25200 1 QYZST}
+ {4096576800 21600 0 QYZT}
+}
diff --git a/library/tzdata/Asia/Rangoon b/library/tzdata/Asia/Rangoon
new file mode 100644
index 0000000..b0aced1
--- /dev/null
+++ b/library/tzdata/Asia/Rangoon
@@ -0,0 +1,9 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Rangoon) {
+ {-9223372036854775808 23080 0 LMT}
+ {-2840163880 23076 0 RMT}
+ {-1577946276 23400 0 BURT}
+ {-873268200 32400 0 JST}
+ {-778410000 23400 0 MMT}
+}
diff --git a/library/tzdata/Asia/Riyadh b/library/tzdata/Asia/Riyadh
new file mode 100644
index 0000000..295853e
--- /dev/null
+++ b/library/tzdata/Asia/Riyadh
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Riyadh) {
+ {-9223372036854775808 11212 0 LMT}
+ {-631163212 10800 0 AST}
+}
diff --git a/library/tzdata/Asia/Saigon b/library/tzdata/Asia/Saigon
new file mode 100644
index 0000000..2278d7a
--- /dev/null
+++ b/library/tzdata/Asia/Saigon
@@ -0,0 +1,9 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Saigon) {
+ {-9223372036854775808 25600 0 LMT}
+ {-2005974400 25580 0 SMT}
+ {-1855983920 25200 0 ICT}
+ {-1819954800 28800 0 ICT}
+ {-1220428800 25200 0 ICT}
+}
diff --git a/library/tzdata/Asia/Sakhalin b/library/tzdata/Asia/Sakhalin
new file mode 100644
index 0000000..bbbcdf6
--- /dev/null
+++ b/library/tzdata/Asia/Sakhalin
@@ -0,0 +1,247 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Sakhalin) {
+ {-9223372036854775808 34248 0 LMT}
+ {-2031039048 32400 0 CJT}
+ {-1009875600 32400 0 JST}
+ {-768560400 39600 0 SAKMMTT}
+ {354891600 43200 1 SAKST}
+ {370699200 39600 0 SAKT}
+ {386427600 43200 1 SAKST}
+ {402235200 39600 0 SAKT}
+ {417963600 43200 1 SAKST}
+ {433771200 39600 0 SAKT}
+ {449586000 43200 1 SAKST}
+ {465357600 39600 0 SAKT}
+ {481082400 43200 1 SAKST}
+ {496807200 39600 0 SAKT}
+ {512532000 43200 1 SAKST}
+ {528256800 39600 0 SAKT}
+ {543981600 43200 1 SAKST}
+ {559706400 39600 0 SAKT}
+ {575431200 43200 1 SAKST}
+ {591156000 39600 0 SAKT}
+ {606880800 43200 1 SAKST}
+ {622605600 39600 0 SAKT}
+ {638330400 43200 1 SAKST}
+ {654660000 39600 0 SAKT}
+ {670384800 39600 0 SAKST}
+ {686109600 36000 0 SAKT}
+ {695786400 39600 0 SAKMMTT}
+ {701784000 43200 1 SAKST}
+ {717505200 39600 0 SAKT}
+ {733284000 43200 1 SAKST}
+ {749008800 39600 0 SAKT}
+ {764733600 43200 1 SAKST}
+ {780458400 39600 0 SAKT}
+ {796183200 43200 1 SAKST}
+ {811908000 39600 0 SAKT}
+ {828237600 43200 1 SAKST}
+ {846381600 39600 0 SAKT}
+ {859687200 39600 0 SAKST}
+ {877831200 36000 0 SAKT}
+ {891136800 39600 1 SAKST}
+ {909280800 36000 0 SAKT}
+ {922586400 39600 1 SAKST}
+ {941335200 36000 0 SAKT}
+ {954036000 39600 1 SAKST}
+ {972784800 36000 0 SAKT}
+ {985485600 39600 1 SAKST}
+ {1004234400 36000 0 SAKT}
+ {1017540000 39600 1 SAKST}
+ {1035684000 36000 0 SAKT}
+ {1048989600 39600 1 SAKST}
+ {1067133600 36000 0 SAKT}
+ {1080439200 39600 1 SAKST}
+ {1099188000 36000 0 SAKT}
+ {1111888800 39600 1 SAKST}
+ {1130637600 36000 0 SAKT}
+ {1143338400 39600 1 SAKST}
+ {1162087200 36000 0 SAKT}
+ {1174788000 39600 1 SAKST}
+ {1193536800 36000 0 SAKT}
+ {1206842400 39600 1 SAKST}
+ {1224986400 36000 0 SAKT}
+ {1238292000 39600 1 SAKST}
+ {1256436000 36000 0 SAKT}
+ {1269741600 39600 1 SAKST}
+ {1288490400 36000 0 SAKT}
+ {1301191200 39600 1 SAKST}
+ {1319940000 36000 0 SAKT}
+ {1332640800 39600 1 SAKST}
+ {1351389600 36000 0 SAKT}
+ {1364695200 39600 1 SAKST}
+ {1382839200 36000 0 SAKT}
+ {1396144800 39600 1 SAKST}
+ {1414288800 36000 0 SAKT}
+ {1427594400 39600 1 SAKST}
+ {1445738400 36000 0 SAKT}
+ {1459044000 39600 1 SAKST}
+ {1477792800 36000 0 SAKT}
+ {1490493600 39600 1 SAKST}
+ {1509242400 36000 0 SAKT}
+ {1521943200 39600 1 SAKST}
+ {1540692000 36000 0 SAKT}
+ {1553997600 39600 1 SAKST}
+ {1572141600 36000 0 SAKT}
+ {1585447200 39600 1 SAKST}
+ {1603591200 36000 0 SAKT}
+ {1616896800 39600 1 SAKST}
+ {1635645600 36000 0 SAKT}
+ {1648346400 39600 1 SAKST}
+ {1667095200 36000 0 SAKT}
+ {1679796000 39600 1 SAKST}
+ {1698544800 36000 0 SAKT}
+ {1711850400 39600 1 SAKST}
+ {1729994400 36000 0 SAKT}
+ {1743300000 39600 1 SAKST}
+ {1761444000 36000 0 SAKT}
+ {1774749600 39600 1 SAKST}
+ {1792893600 36000 0 SAKT}
+ {1806199200 39600 1 SAKST}
+ {1824948000 36000 0 SAKT}
+ {1837648800 39600 1 SAKST}
+ {1856397600 36000 0 SAKT}
+ {1869098400 39600 1 SAKST}
+ {1887847200 36000 0 SAKT}
+ {1901152800 39600 1 SAKST}
+ {1919296800 36000 0 SAKT}
+ {1932602400 39600 1 SAKST}
+ {1950746400 36000 0 SAKT}
+ {1964052000 39600 1 SAKST}
+ {1982800800 36000 0 SAKT}
+ {1995501600 39600 1 SAKST}
+ {2014250400 36000 0 SAKT}
+ {2026951200 39600 1 SAKST}
+ {2045700000 36000 0 SAKT}
+ {2058400800 39600 1 SAKST}
+ {2077149600 36000 0 SAKT}
+ {2090455200 39600 1 SAKST}
+ {2108599200 36000 0 SAKT}
+ {2121904800 39600 1 SAKST}
+ {2140048800 36000 0 SAKT}
+ {2153354400 39600 1 SAKST}
+ {2172103200 36000 0 SAKT}
+ {2184804000 39600 1 SAKST}
+ {2203552800 36000 0 SAKT}
+ {2216253600 39600 1 SAKST}
+ {2235002400 36000 0 SAKT}
+ {2248308000 39600 1 SAKST}
+ {2266452000 36000 0 SAKT}
+ {2279757600 39600 1 SAKST}
+ {2297901600 36000 0 SAKT}
+ {2311207200 39600 1 SAKST}
+ {2329351200 36000 0 SAKT}
+ {2342656800 39600 1 SAKST}
+ {2361405600 36000 0 SAKT}
+ {2374106400 39600 1 SAKST}
+ {2392855200 36000 0 SAKT}
+ {2405556000 39600 1 SAKST}
+ {2424304800 36000 0 SAKT}
+ {2437610400 39600 1 SAKST}
+ {2455754400 36000 0 SAKT}
+ {2469060000 39600 1 SAKST}
+ {2487204000 36000 0 SAKT}
+ {2500509600 39600 1 SAKST}
+ {2519258400 36000 0 SAKT}
+ {2531959200 39600 1 SAKST}
+ {2550708000 36000 0 SAKT}
+ {2563408800 39600 1 SAKST}
+ {2582157600 36000 0 SAKT}
+ {2595463200 39600 1 SAKST}
+ {2613607200 36000 0 SAKT}
+ {2626912800 39600 1 SAKST}
+ {2645056800 36000 0 SAKT}
+ {2658362400 39600 1 SAKST}
+ {2676506400 36000 0 SAKT}
+ {2689812000 39600 1 SAKST}
+ {2708560800 36000 0 SAKT}
+ {2721261600 39600 1 SAKST}
+ {2740010400 36000 0 SAKT}
+ {2752711200 39600 1 SAKST}
+ {2771460000 36000 0 SAKT}
+ {2784765600 39600 1 SAKST}
+ {2802909600 36000 0 SAKT}
+ {2816215200 39600 1 SAKST}
+ {2834359200 36000 0 SAKT}
+ {2847664800 39600 1 SAKST}
+ {2866413600 36000 0 SAKT}
+ {2879114400 39600 1 SAKST}
+ {2897863200 36000 0 SAKT}
+ {2910564000 39600 1 SAKST}
+ {2929312800 36000 0 SAKT}
+ {2942013600 39600 1 SAKST}
+ {2960762400 36000 0 SAKT}
+ {2974068000 39600 1 SAKST}
+ {2992212000 36000 0 SAKT}
+ {3005517600 39600 1 SAKST}
+ {3023661600 36000 0 SAKT}
+ {3036967200 39600 1 SAKST}
+ {3055716000 36000 0 SAKT}
+ {3068416800 39600 1 SAKST}
+ {3087165600 36000 0 SAKT}
+ {3099866400 39600 1 SAKST}
+ {3118615200 36000 0 SAKT}
+ {3131920800 39600 1 SAKST}
+ {3150064800 36000 0 SAKT}
+ {3163370400 39600 1 SAKST}
+ {3181514400 36000 0 SAKT}
+ {3194820000 39600 1 SAKST}
+ {3212964000 36000 0 SAKT}
+ {3226269600 39600 1 SAKST}
+ {3245018400 36000 0 SAKT}
+ {3257719200 39600 1 SAKST}
+ {3276468000 36000 0 SAKT}
+ {3289168800 39600 1 SAKST}
+ {3307917600 36000 0 SAKT}
+ {3321223200 39600 1 SAKST}
+ {3339367200 36000 0 SAKT}
+ {3352672800 39600 1 SAKST}
+ {3370816800 36000 0 SAKT}
+ {3384122400 39600 1 SAKST}
+ {3402871200 36000 0 SAKT}
+ {3415572000 39600 1 SAKST}
+ {3434320800 36000 0 SAKT}
+ {3447021600 39600 1 SAKST}
+ {3465770400 36000 0 SAKT}
+ {3479076000 39600 1 SAKST}
+ {3497220000 36000 0 SAKT}
+ {3510525600 39600 1 SAKST}
+ {3528669600 36000 0 SAKT}
+ {3541975200 39600 1 SAKST}
+ {3560119200 36000 0 SAKT}
+ {3573424800 39600 1 SAKST}
+ {3592173600 36000 0 SAKT}
+ {3604874400 39600 1 SAKST}
+ {3623623200 36000 0 SAKT}
+ {3636324000 39600 1 SAKST}
+ {3655072800 36000 0 SAKT}
+ {3668378400 39600 1 SAKST}
+ {3686522400 36000 0 SAKT}
+ {3699828000 39600 1 SAKST}
+ {3717972000 36000 0 SAKT}
+ {3731277600 39600 1 SAKST}
+ {3750026400 36000 0 SAKT}
+ {3762727200 39600 1 SAKST}
+ {3781476000 36000 0 SAKT}
+ {3794176800 39600 1 SAKST}
+ {3812925600 36000 0 SAKT}
+ {3825626400 39600 1 SAKST}
+ {3844375200 36000 0 SAKT}
+ {3857680800 39600 1 SAKST}
+ {3875824800 36000 0 SAKT}
+ {3889130400 39600 1 SAKST}
+ {3907274400 36000 0 SAKT}
+ {3920580000 39600 1 SAKST}
+ {3939328800 36000 0 SAKT}
+ {3952029600 39600 1 SAKST}
+ {3970778400 36000 0 SAKT}
+ {3983479200 39600 1 SAKST}
+ {4002228000 36000 0 SAKT}
+ {4015533600 39600 1 SAKST}
+ {4033677600 36000 0 SAKT}
+ {4046983200 39600 1 SAKST}
+ {4065127200 36000 0 SAKT}
+ {4078432800 39600 1 SAKST}
+ {4096576800 36000 0 SAKT}
+}
diff --git a/library/tzdata/Asia/Samarkand b/library/tzdata/Asia/Samarkand
new file mode 100644
index 0000000..47a3a3b
--- /dev/null
+++ b/library/tzdata/Asia/Samarkand
@@ -0,0 +1,35 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Samarkand) {
+ {-9223372036854775808 16032 0 LMT}
+ {-1441168032 14400 0 SAMT}
+ {-1247544000 18000 0 SAMT}
+ {354913200 21600 1 SAMST}
+ {370720800 21600 0 TAST}
+ {386445600 25200 1 TASST}
+ {402253200 21600 0 TAST}
+ {417981600 25200 1 TASST}
+ {433789200 21600 0 TAST}
+ {449604000 25200 1 TASST}
+ {465357600 21600 0 TAST}
+ {481082400 25200 1 TASST}
+ {496807200 21600 0 TAST}
+ {512532000 25200 1 TASST}
+ {528256800 21600 0 TAST}
+ {543981600 25200 1 TASST}
+ {559706400 21600 0 TAST}
+ {575431200 25200 1 TASST}
+ {591156000 21600 0 TAST}
+ {606880800 25200 1 TASST}
+ {622605600 21600 0 TAST}
+ {638330400 25200 1 TASST}
+ {654660000 21600 0 TAST}
+ {670363200 18000 0 TAST}
+ {670384800 21600 1 TASST}
+ {683665200 21600 0 UZST}
+ {686109600 18000 0 UZT}
+ {694206000 18000 0 UZT}
+ {701805600 21600 1 UZST}
+ {717526800 18000 0 UZT}
+ {725828400 18000 0 UZT}
+}
diff --git a/library/tzdata/Asia/Seoul b/library/tzdata/Asia/Seoul
new file mode 100644
index 0000000..d1e1de7
--- /dev/null
+++ b/library/tzdata/Asia/Seoul
@@ -0,0 +1,18 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Seoul) {
+ {-9223372036854775808 30472 0 LMT}
+ {-2524552072 30600 0 KST}
+ {-2053931400 32400 0 KST}
+ {-1325494800 30600 0 KST}
+ {-1199262600 32400 0 KST}
+ {-498128400 28800 0 KST}
+ {-303984000 32400 1 KDT}
+ {-293533200 28800 0 KST}
+ {-264931200 30600 0 KST}
+ {-39515400 32400 0 KST}
+ {547570800 36000 1 KDT}
+ {560872800 32400 0 KST}
+ {579020400 36000 1 KDT}
+ {592322400 32400 0 KST}
+}
diff --git a/library/tzdata/Asia/Shanghai b/library/tzdata/Asia/Shanghai
new file mode 100644
index 0000000..6faac9f
--- /dev/null
+++ b/library/tzdata/Asia/Shanghai
@@ -0,0 +1,23 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Shanghai) {
+ {-9223372036854775808 29152 0 LMT}
+ {-1325491552 28800 0 CST}
+ {-933494400 32400 1 CDT}
+ {-923130000 28800 0 CST}
+ {-908784000 32400 1 CDT}
+ {-891594000 28800 0 CST}
+ {-662716800 28800 0 CST}
+ {515520000 32400 1 CDT}
+ {527007600 28800 0 CST}
+ {545155200 32400 1 CDT}
+ {558457200 28800 0 CST}
+ {576604800 32400 1 CDT}
+ {589906800 28800 0 CST}
+ {608659200 32400 1 CDT}
+ {621961200 28800 0 CST}
+ {640108800 32400 1 CDT}
+ {653410800 28800 0 CST}
+ {671558400 32400 1 CDT}
+ {684860400 28800 0 CST}
+}
diff --git a/library/tzdata/Asia/Singapore b/library/tzdata/Asia/Singapore
new file mode 100644
index 0000000..2f8931d
--- /dev/null
+++ b/library/tzdata/Asia/Singapore
@@ -0,0 +1,14 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Singapore) {
+ {-9223372036854775808 24925 0 LMT}
+ {-2177477725 24925 0 SMT}
+ {-2038200925 25200 0 MALT}
+ {-1167634800 26400 1 MALST}
+ {-1073028000 26400 0 MALT}
+ {-894180000 27000 0 MALT}
+ {-879665400 32400 0 JST}
+ {-767005200 27000 0 MALT}
+ {-138785400 27000 0 SGT}
+ {378664200 28800 0 SGT}
+}
diff --git a/library/tzdata/Asia/Taipei b/library/tzdata/Asia/Taipei
new file mode 100644
index 0000000..862538a
--- /dev/null
+++ b/library/tzdata/Asia/Taipei
@@ -0,0 +1,46 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Taipei) {
+ {-9223372036854775808 29160 0 LMT}
+ {-2335248360 28800 0 CST}
+ {-778579200 32400 1 CDT}
+ {-765363600 28800 0 CST}
+ {-747043200 32400 1 CDT}
+ {-733827600 28800 0 CST}
+ {-715507200 32400 1 CDT}
+ {-702291600 28800 0 CST}
+ {-683884800 32400 1 CDT}
+ {-670669200 28800 0 CST}
+ {-652348800 32400 1 CDT}
+ {-639133200 28800 0 CST}
+ {-620812800 32400 1 CDT}
+ {-607597200 28800 0 CST}
+ {-589276800 32400 1 CDT}
+ {-576061200 28800 0 CST}
+ {-562924800 32400 1 CDT}
+ {-541760400 28800 0 CST}
+ {-528710400 32400 1 CDT}
+ {-510224400 28800 0 CST}
+ {-497174400 32400 1 CDT}
+ {-478688400 28800 0 CST}
+ {-465638400 32400 1 CDT}
+ {-449830800 28800 0 CST}
+ {-434016000 32400 1 CDT}
+ {-418208400 28800 0 CST}
+ {-402480000 32400 1 CDT}
+ {-386672400 28800 0 CST}
+ {-370944000 32400 1 CDT}
+ {-355136400 28800 0 CST}
+ {-339408000 32400 1 CDT}
+ {-323600400 28800 0 CST}
+ {-302515200 32400 1 CDT}
+ {-291978000 28800 0 CST}
+ {-270979200 32400 1 CDT}
+ {-260442000 28800 0 CST}
+ {133977600 32400 1 CDT}
+ {149785200 28800 0 CST}
+ {165513600 32400 1 CDT}
+ {181321200 28800 0 CST}
+ {331142400 32400 1 CDT}
+ {339087600 28800 0 CST}
+}
diff --git a/library/tzdata/Asia/Tashkent b/library/tzdata/Asia/Tashkent
new file mode 100644
index 0000000..d412ee8
--- /dev/null
+++ b/library/tzdata/Asia/Tashkent
@@ -0,0 +1,33 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Tashkent) {
+ {-9223372036854775808 16632 0 LMT}
+ {-1441168632 18000 0 TAST}
+ {-1247547600 21600 0 TAST}
+ {354909600 25200 1 TASST}
+ {370717200 21600 0 TAST}
+ {386445600 25200 1 TASST}
+ {402253200 21600 0 TAST}
+ {417981600 25200 1 TASST}
+ {433789200 21600 0 TAST}
+ {449604000 25200 1 TASST}
+ {465357600 21600 0 TAST}
+ {481082400 25200 1 TASST}
+ {496807200 21600 0 TAST}
+ {512532000 25200 1 TASST}
+ {528256800 21600 0 TAST}
+ {543981600 25200 1 TASST}
+ {559706400 21600 0 TAST}
+ {575431200 25200 1 TASST}
+ {591156000 21600 0 TAST}
+ {606880800 25200 1 TASST}
+ {622605600 21600 0 TAST}
+ {638330400 25200 1 TASST}
+ {654660000 21600 0 TAST}
+ {683665200 21600 0 UZST}
+ {686109600 18000 0 UZT}
+ {694206000 18000 0 UZT}
+ {701805600 21600 1 UZST}
+ {717526800 18000 0 UZT}
+ {725828400 18000 0 UZT}
+}
diff --git a/library/tzdata/Asia/Tbilisi b/library/tzdata/Asia/Tbilisi
new file mode 100644
index 0000000..89ad3c4
--- /dev/null
+++ b/library/tzdata/Asia/Tbilisi
@@ -0,0 +1,249 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Tbilisi) {
+ {-9223372036854775808 10756 0 LMT}
+ {-2840151556 10756 0 TBMT}
+ {-1441162756 10800 0 TBIT}
+ {-405140400 14400 0 TBIT}
+ {354916800 18000 1 TBIST}
+ {370724400 14400 0 TBIT}
+ {386452800 18000 1 TBIST}
+ {402260400 14400 0 TBIT}
+ {417988800 18000 1 TBIST}
+ {433796400 14400 0 TBIT}
+ {449611200 18000 1 TBIST}
+ {465357600 14400 0 TBIT}
+ {481082400 18000 1 TBIST}
+ {496807200 14400 0 TBIT}
+ {512532000 18000 1 TBIST}
+ {528256800 14400 0 TBIT}
+ {543981600 18000 1 TBIST}
+ {559706400 14400 0 TBIT}
+ {575431200 18000 1 TBIST}
+ {591156000 14400 0 TBIT}
+ {606880800 18000 1 TBIST}
+ {622605600 14400 0 TBIT}
+ {638330400 18000 1 TBIST}
+ {654660000 14400 0 TBIT}
+ {670384800 14400 1 TBIST}
+ {671140800 14400 0 GEST}
+ {686109600 10800 0 GET}
+ {694213200 10800 0 GET}
+ {701816400 14400 1 GEST}
+ {717537600 10800 0 GET}
+ {733266000 14400 1 GEST}
+ {748987200 10800 0 GET}
+ {764715600 14400 1 GEST}
+ {780440400 14400 0 GET}
+ {796161600 18000 1 GEST}
+ {811882800 14400 0 GET}
+ {828216000 18000 1 GEST}
+ {846360000 18000 1 GEST}
+ {859662000 18000 0 GEST}
+ {877806000 14400 0 GET}
+ {891115200 18000 1 GEST}
+ {909255600 14400 0 GET}
+ {922564800 18000 1 GEST}
+ {941310000 14400 0 GET}
+ {954014400 18000 1 GEST}
+ {972759600 14400 0 GET}
+ {985464000 18000 1 GEST}
+ {1004209200 14400 0 GET}
+ {1017518400 18000 1 GEST}
+ {1035658800 14400 0 GET}
+ {1048968000 18000 1 GEST}
+ {1067108400 14400 0 GET}
+ {1080417600 18000 1 GEST}
+ {1088280000 14400 0 GEST}
+ {1099188000 10800 0 GET}
+ {1111888800 14400 1 GEST}
+ {1130637600 10800 0 GET}
+ {1143338400 14400 1 GEST}
+ {1162087200 10800 0 GET}
+ {1174788000 14400 1 GEST}
+ {1193536800 10800 0 GET}
+ {1206842400 14400 1 GEST}
+ {1224986400 10800 0 GET}
+ {1238292000 14400 1 GEST}
+ {1256436000 10800 0 GET}
+ {1269741600 14400 1 GEST}
+ {1288490400 10800 0 GET}
+ {1301191200 14400 1 GEST}
+ {1319940000 10800 0 GET}
+ {1332640800 14400 1 GEST}
+ {1351389600 10800 0 GET}
+ {1364695200 14400 1 GEST}
+ {1382839200 10800 0 GET}
+ {1396144800 14400 1 GEST}
+ {1414288800 10800 0 GET}
+ {1427594400 14400 1 GEST}
+ {1445738400 10800 0 GET}
+ {1459044000 14400 1 GEST}
+ {1477792800 10800 0 GET}
+ {1490493600 14400 1 GEST}
+ {1509242400 10800 0 GET}
+ {1521943200 14400 1 GEST}
+ {1540692000 10800 0 GET}
+ {1553997600 14400 1 GEST}
+ {1572141600 10800 0 GET}
+ {1585447200 14400 1 GEST}
+ {1603591200 10800 0 GET}
+ {1616896800 14400 1 GEST}
+ {1635645600 10800 0 GET}
+ {1648346400 14400 1 GEST}
+ {1667095200 10800 0 GET}
+ {1679796000 14400 1 GEST}
+ {1698544800 10800 0 GET}
+ {1711850400 14400 1 GEST}
+ {1729994400 10800 0 GET}
+ {1743300000 14400 1 GEST}
+ {1761444000 10800 0 GET}
+ {1774749600 14400 1 GEST}
+ {1792893600 10800 0 GET}
+ {1806199200 14400 1 GEST}
+ {1824948000 10800 0 GET}
+ {1837648800 14400 1 GEST}
+ {1856397600 10800 0 GET}
+ {1869098400 14400 1 GEST}
+ {1887847200 10800 0 GET}
+ {1901152800 14400 1 GEST}
+ {1919296800 10800 0 GET}
+ {1932602400 14400 1 GEST}
+ {1950746400 10800 0 GET}
+ {1964052000 14400 1 GEST}
+ {1982800800 10800 0 GET}
+ {1995501600 14400 1 GEST}
+ {2014250400 10800 0 GET}
+ {2026951200 14400 1 GEST}
+ {2045700000 10800 0 GET}
+ {2058400800 14400 1 GEST}
+ {2077149600 10800 0 GET}
+ {2090455200 14400 1 GEST}
+ {2108599200 10800 0 GET}
+ {2121904800 14400 1 GEST}
+ {2140048800 10800 0 GET}
+ {2153354400 14400 1 GEST}
+ {2172103200 10800 0 GET}
+ {2184804000 14400 1 GEST}
+ {2203552800 10800 0 GET}
+ {2216253600 14400 1 GEST}
+ {2235002400 10800 0 GET}
+ {2248308000 14400 1 GEST}
+ {2266452000 10800 0 GET}
+ {2279757600 14400 1 GEST}
+ {2297901600 10800 0 GET}
+ {2311207200 14400 1 GEST}
+ {2329351200 10800 0 GET}
+ {2342656800 14400 1 GEST}
+ {2361405600 10800 0 GET}
+ {2374106400 14400 1 GEST}
+ {2392855200 10800 0 GET}
+ {2405556000 14400 1 GEST}
+ {2424304800 10800 0 GET}
+ {2437610400 14400 1 GEST}
+ {2455754400 10800 0 GET}
+ {2469060000 14400 1 GEST}
+ {2487204000 10800 0 GET}
+ {2500509600 14400 1 GEST}
+ {2519258400 10800 0 GET}
+ {2531959200 14400 1 GEST}
+ {2550708000 10800 0 GET}
+ {2563408800 14400 1 GEST}
+ {2582157600 10800 0 GET}
+ {2595463200 14400 1 GEST}
+ {2613607200 10800 0 GET}
+ {2626912800 14400 1 GEST}
+ {2645056800 10800 0 GET}
+ {2658362400 14400 1 GEST}
+ {2676506400 10800 0 GET}
+ {2689812000 14400 1 GEST}
+ {2708560800 10800 0 GET}
+ {2721261600 14400 1 GEST}
+ {2740010400 10800 0 GET}
+ {2752711200 14400 1 GEST}
+ {2771460000 10800 0 GET}
+ {2784765600 14400 1 GEST}
+ {2802909600 10800 0 GET}
+ {2816215200 14400 1 GEST}
+ {2834359200 10800 0 GET}
+ {2847664800 14400 1 GEST}
+ {2866413600 10800 0 GET}
+ {2879114400 14400 1 GEST}
+ {2897863200 10800 0 GET}
+ {2910564000 14400 1 GEST}
+ {2929312800 10800 0 GET}
+ {2942013600 14400 1 GEST}
+ {2960762400 10800 0 GET}
+ {2974068000 14400 1 GEST}
+ {2992212000 10800 0 GET}
+ {3005517600 14400 1 GEST}
+ {3023661600 10800 0 GET}
+ {3036967200 14400 1 GEST}
+ {3055716000 10800 0 GET}
+ {3068416800 14400 1 GEST}
+ {3087165600 10800 0 GET}
+ {3099866400 14400 1 GEST}
+ {3118615200 10800 0 GET}
+ {3131920800 14400 1 GEST}
+ {3150064800 10800 0 GET}
+ {3163370400 14400 1 GEST}
+ {3181514400 10800 0 GET}
+ {3194820000 14400 1 GEST}
+ {3212964000 10800 0 GET}
+ {3226269600 14400 1 GEST}
+ {3245018400 10800 0 GET}
+ {3257719200 14400 1 GEST}
+ {3276468000 10800 0 GET}
+ {3289168800 14400 1 GEST}
+ {3307917600 10800 0 GET}
+ {3321223200 14400 1 GEST}
+ {3339367200 10800 0 GET}
+ {3352672800 14400 1 GEST}
+ {3370816800 10800 0 GET}
+ {3384122400 14400 1 GEST}
+ {3402871200 10800 0 GET}
+ {3415572000 14400 1 GEST}
+ {3434320800 10800 0 GET}
+ {3447021600 14400 1 GEST}
+ {3465770400 10800 0 GET}
+ {3479076000 14400 1 GEST}
+ {3497220000 10800 0 GET}
+ {3510525600 14400 1 GEST}
+ {3528669600 10800 0 GET}
+ {3541975200 14400 1 GEST}
+ {3560119200 10800 0 GET}
+ {3573424800 14400 1 GEST}
+ {3592173600 10800 0 GET}
+ {3604874400 14400 1 GEST}
+ {3623623200 10800 0 GET}
+ {3636324000 14400 1 GEST}
+ {3655072800 10800 0 GET}
+ {3668378400 14400 1 GEST}
+ {3686522400 10800 0 GET}
+ {3699828000 14400 1 GEST}
+ {3717972000 10800 0 GET}
+ {3731277600 14400 1 GEST}
+ {3750026400 10800 0 GET}
+ {3762727200 14400 1 GEST}
+ {3781476000 10800 0 GET}
+ {3794176800 14400 1 GEST}
+ {3812925600 10800 0 GET}
+ {3825626400 14400 1 GEST}
+ {3844375200 10800 0 GET}
+ {3857680800 14400 1 GEST}
+ {3875824800 10800 0 GET}
+ {3889130400 14400 1 GEST}
+ {3907274400 10800 0 GET}
+ {3920580000 14400 1 GEST}
+ {3939328800 10800 0 GET}
+ {3952029600 14400 1 GEST}
+ {3970778400 10800 0 GET}
+ {3983479200 14400 1 GEST}
+ {4002228000 10800 0 GET}
+ {4015533600 14400 1 GEST}
+ {4033677600 10800 0 GET}
+ {4046983200 14400 1 GEST}
+ {4065127200 10800 0 GET}
+ {4078432800 14400 1 GEST}
+ {4096576800 10800 0 GET}
+}
diff --git a/library/tzdata/Asia/Tehran b/library/tzdata/Asia/Tehran
new file mode 100644
index 0000000..369245e
--- /dev/null
+++ b/library/tzdata/Asia/Tehran
@@ -0,0 +1,109 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Tehran) {
+ {-9223372036854775808 12344 0 LMT}
+ {-1704165944 12344 0 TMT}
+ {-757394744 12600 0 IRST}
+ {247177800 14400 0 IRST}
+ {259272000 18000 1 IRDT}
+ {277758000 14400 0 IRST}
+ {283982400 12600 0 IRST}
+ {290809800 16200 1 IRDT}
+ {306531000 12600 0 IRST}
+ {322432200 16200 1 IRDT}
+ {338499000 12600 0 IRST}
+ {673216200 16200 1 IRDT}
+ {685481400 12600 0 IRST}
+ {701209800 16200 1 IRDT}
+ {717103800 12600 0 IRST}
+ {732745800 16200 1 IRDT}
+ {748639800 12600 0 IRST}
+ {764281800 16200 1 IRDT}
+ {780175800 12600 0 IRST}
+ {795817800 16200 1 IRDT}
+ {811711800 12600 0 IRST}
+ {827353800 16200 1 IRDT}
+ {843247800 12600 0 IRST}
+ {858976200 16200 1 IRDT}
+ {874870200 12600 0 IRST}
+ {890512200 16200 1 IRDT}
+ {906406200 12600 0 IRST}
+ {922048200 16200 1 IRDT}
+ {937942200 12600 0 IRST}
+ {953584200 16200 1 IRDT}
+ {969478200 12600 0 IRST}
+ {985206600 16200 1 IRDT}
+ {1001100600 12600 0 IRST}
+ {1016742600 16200 1 IRDT}
+ {1032636600 12600 0 IRST}
+ {1048278600 16200 1 IRDT}
+ {1064172600 12600 0 IRST}
+ {1079814600 16200 1 IRDT}
+ {1095708600 12600 0 IRST}
+ {1111437000 16200 1 IRDT}
+ {1127331000 12600 0 IRST}
+ {1142973000 16200 1 IRDT}
+ {1158867000 12600 0 IRST}
+ {1174509000 16200 1 IRDT}
+ {1190403000 12600 0 IRST}
+ {1206045000 16200 1 IRDT}
+ {1221939000 12600 0 IRST}
+ {1237667400 16200 1 IRDT}
+ {1253561400 12600 0 IRST}
+ {1269203400 16200 1 IRDT}
+ {1285097400 12600 0 IRST}
+ {1300739400 16200 1 IRDT}
+ {1316633400 12600 0 IRST}
+ {1332275400 16200 1 IRDT}
+ {1348169400 12600 0 IRST}
+ {1363897800 16200 1 IRDT}
+ {1379791800 12600 0 IRST}
+ {1395433800 16200 1 IRDT}
+ {1411327800 12600 0 IRST}
+ {1426969800 16200 1 IRDT}
+ {1442863800 12600 0 IRST}
+ {1458505800 16200 1 IRDT}
+ {1474399800 12600 0 IRST}
+ {1490128200 16200 1 IRDT}
+ {1506022200 12600 0 IRST}
+ {1521664200 16200 1 IRDT}
+ {1537558200 12600 0 IRST}
+ {1553200200 16200 1 IRDT}
+ {1569094200 12600 0 IRST}
+ {1584736200 16200 1 IRDT}
+ {1600630200 12600 0 IRST}
+ {1616358600 16200 1 IRDT}
+ {1632252600 12600 0 IRST}
+ {1647894600 16200 1 IRDT}
+ {1663788600 12600 0 IRST}
+ {1679430600 16200 1 IRDT}
+ {1695324600 12600 0 IRST}
+ {1710966600 16200 1 IRDT}
+ {1726860600 12600 0 IRST}
+ {1742502600 16200 1 IRDT}
+ {1758396600 12600 0 IRST}
+ {1774125000 16200 1 IRDT}
+ {1790019000 12600 0 IRST}
+ {1805661000 16200 1 IRDT}
+ {1821555000 12600 0 IRST}
+ {1837197000 16200 1 IRDT}
+ {1853091000 12600 0 IRST}
+ {1868733000 16200 1 IRDT}
+ {1884627000 12600 0 IRST}
+ {1900355400 16200 1 IRDT}
+ {1916249400 12600 0 IRST}
+ {1931891400 16200 1 IRDT}
+ {1947785400 12600 0 IRST}
+ {1963427400 16200 1 IRDT}
+ {1979321400 12600 0 IRST}
+ {1994963400 16200 1 IRDT}
+ {2010857400 12600 0 IRST}
+ {2026585800 16200 1 IRDT}
+ {2042479800 12600 0 IRST}
+ {2058121800 16200 1 IRDT}
+ {2074015800 12600 0 IRST}
+ {2089657800 16200 1 IRDT}
+ {2105551800 12600 0 IRST}
+ {2121193800 16200 1 IRDT}
+ {2137087800 12600 0 IRST}
+}
diff --git a/library/tzdata/Asia/Tel_Aviv b/library/tzdata/Asia/Tel_Aviv
new file mode 100644
index 0000000..37e5b93
--- /dev/null
+++ b/library/tzdata/Asia/Tel_Aviv
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Jerusalem)]} {
+ loadTimeZoneFile Asia/Jerusalem
+}
+set tzdata(:Asia/Tel_Aviv) $TZData(:Asia/Jerusalem)
diff --git a/library/tzdata/Asia/Thimbu b/library/tzdata/Asia/Thimbu
new file mode 100644
index 0000000..e505aa6
--- /dev/null
+++ b/library/tzdata/Asia/Thimbu
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Thimphu)]} {
+ loadTimeZoneFile Asia/Thimphu
+}
+set tzdata(:Asia/Thimbu) $TZData(:Asia/Thimphu)
diff --git a/library/tzdata/Asia/Thimphu b/library/tzdata/Asia/Thimphu
new file mode 100644
index 0000000..569e835
--- /dev/null
+++ b/library/tzdata/Asia/Thimphu
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Thimphu) {
+ {-9223372036854775808 21516 0 LMT}
+ {-706341516 19800 0 IST}
+ {560025000 21600 0 BTT}
+}
diff --git a/library/tzdata/Asia/Tokyo b/library/tzdata/Asia/Tokyo
new file mode 100644
index 0000000..aa12b1a
--- /dev/null
+++ b/library/tzdata/Asia/Tokyo
@@ -0,0 +1,8 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Tokyo) {
+ {-9223372036854775808 33539 0 LMT}
+ {-2587712400 32400 0 JST}
+ {-2335251600 32400 0 CJT}
+ {-1009875600 32400 0 JST}
+}
diff --git a/library/tzdata/Asia/Ujung_Pandang b/library/tzdata/Asia/Ujung_Pandang
new file mode 100644
index 0000000..2a53cc2
--- /dev/null
+++ b/library/tzdata/Asia/Ujung_Pandang
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Makassar)]} {
+ loadTimeZoneFile Asia/Makassar
+}
+set tzdata(:Asia/Ujung_Pandang) $TZData(:Asia/Makassar)
diff --git a/library/tzdata/Asia/Ulaanbaatar b/library/tzdata/Asia/Ulaanbaatar
new file mode 100644
index 0000000..9bf988f
--- /dev/null
+++ b/library/tzdata/Asia/Ulaanbaatar
@@ -0,0 +1,237 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Ulaanbaatar) {
+ {-9223372036854775808 25652 0 LMT}
+ {-2032931252 25200 0 ULAT}
+ {252435600 28800 0 ULAT}
+ {417974400 32400 1 ULAST}
+ {433782000 28800 0 ULAT}
+ {449596800 32400 1 ULAST}
+ {465357600 28800 0 ULAT}
+ {481082400 32400 1 ULAST}
+ {496807200 28800 0 ULAT}
+ {512532000 32400 1 ULAST}
+ {528256800 28800 0 ULAT}
+ {543981600 32400 1 ULAST}
+ {559706400 28800 0 ULAT}
+ {575431200 32400 1 ULAST}
+ {591156000 28800 0 ULAT}
+ {606880800 32400 1 ULAST}
+ {622605600 28800 0 ULAT}
+ {638330400 32400 1 ULAST}
+ {654660000 28800 0 ULAT}
+ {670384800 32400 1 ULAST}
+ {686109600 28800 0 ULAT}
+ {701834400 32400 1 ULAST}
+ {717559200 28800 0 ULAT}
+ {733284000 32400 1 ULAST}
+ {749008800 28800 0 ULAT}
+ {764733600 32400 1 ULAST}
+ {780458400 28800 0 ULAT}
+ {796183200 32400 1 ULAST}
+ {811908000 28800 0 ULAT}
+ {828237600 32400 1 ULAST}
+ {843962400 28800 0 ULAT}
+ {859687200 32400 1 ULAST}
+ {875412000 28800 0 ULAT}
+ {891136800 32400 1 ULAST}
+ {906861600 28800 0 ULAT}
+ {988394400 32400 1 ULAST}
+ {1001696400 28800 0 ULAT}
+ {1017424800 32400 1 ULAST}
+ {1033146000 28800 0 ULAT}
+ {1048874400 32400 1 ULAST}
+ {1064595600 28800 0 ULAT}
+ {1080324000 32400 1 ULAST}
+ {1096045200 28800 0 ULAT}
+ {1111773600 32400 1 ULAST}
+ {1127494800 28800 0 ULAT}
+ {1143223200 32400 1 ULAST}
+ {1159549200 28800 0 ULAT}
+ {1175277600 32400 1 ULAST}
+ {1190998800 28800 0 ULAT}
+ {1206727200 32400 1 ULAST}
+ {1222448400 28800 0 ULAT}
+ {1238176800 32400 1 ULAST}
+ {1253898000 28800 0 ULAT}
+ {1269626400 32400 1 ULAST}
+ {1285347600 28800 0 ULAT}
+ {1301076000 32400 1 ULAST}
+ {1316797200 28800 0 ULAT}
+ {1333130400 32400 1 ULAST}
+ {1348851600 28800 0 ULAT}
+ {1364580000 32400 1 ULAST}
+ {1380301200 28800 0 ULAT}
+ {1396029600 32400 1 ULAST}
+ {1411750800 28800 0 ULAT}
+ {1427479200 32400 1 ULAST}
+ {1443200400 28800 0 ULAT}
+ {1458928800 32400 1 ULAST}
+ {1474650000 28800 0 ULAT}
+ {1490378400 32400 1 ULAST}
+ {1506704400 28800 0 ULAT}
+ {1522432800 32400 1 ULAST}
+ {1538154000 28800 0 ULAT}
+ {1553882400 32400 1 ULAST}
+ {1569603600 28800 0 ULAT}
+ {1585332000 32400 1 ULAST}
+ {1601053200 28800 0 ULAT}
+ {1616781600 32400 1 ULAST}
+ {1632502800 28800 0 ULAT}
+ {1648231200 32400 1 ULAST}
+ {1663952400 28800 0 ULAT}
+ {1679680800 32400 1 ULAST}
+ {1696006800 28800 0 ULAT}
+ {1711735200 32400 1 ULAST}
+ {1727456400 28800 0 ULAT}
+ {1743184800 32400 1 ULAST}
+ {1758906000 28800 0 ULAT}
+ {1774634400 32400 1 ULAST}
+ {1790355600 28800 0 ULAT}
+ {1806084000 32400 1 ULAST}
+ {1821805200 28800 0 ULAT}
+ {1837533600 32400 1 ULAST}
+ {1853859600 28800 0 ULAT}
+ {1869588000 32400 1 ULAST}
+ {1885309200 28800 0 ULAT}
+ {1901037600 32400 1 ULAST}
+ {1916758800 28800 0 ULAT}
+ {1932487200 32400 1 ULAST}
+ {1948208400 28800 0 ULAT}
+ {1963936800 32400 1 ULAST}
+ {1979658000 28800 0 ULAT}
+ {1995386400 32400 1 ULAST}
+ {2011107600 28800 0 ULAT}
+ {2026836000 32400 1 ULAST}
+ {2043162000 28800 0 ULAT}
+ {2058890400 32400 1 ULAST}
+ {2074611600 28800 0 ULAT}
+ {2090340000 32400 1 ULAST}
+ {2106061200 28800 0 ULAT}
+ {2121789600 32400 1 ULAST}
+ {2137510800 28800 0 ULAT}
+ {2153239200 32400 1 ULAST}
+ {2168960400 28800 0 ULAT}
+ {2184688800 32400 1 ULAST}
+ {2200410000 28800 0 ULAT}
+ {2216743200 32400 1 ULAST}
+ {2232464400 28800 0 ULAT}
+ {2248192800 32400 1 ULAST}
+ {2263914000 28800 0 ULAT}
+ {2279642400 32400 1 ULAST}
+ {2295363600 28800 0 ULAT}
+ {2311092000 32400 1 ULAST}
+ {2326813200 28800 0 ULAT}
+ {2342541600 32400 1 ULAST}
+ {2358262800 28800 0 ULAT}
+ {2373991200 32400 1 ULAST}
+ {2390317200 28800 0 ULAT}
+ {2406045600 32400 1 ULAST}
+ {2421766800 28800 0 ULAT}
+ {2437495200 32400 1 ULAST}
+ {2453216400 28800 0 ULAT}
+ {2468944800 32400 1 ULAST}
+ {2484666000 28800 0 ULAT}
+ {2500394400 32400 1 ULAST}
+ {2516115600 28800 0 ULAT}
+ {2531844000 32400 1 ULAST}
+ {2547565200 28800 0 ULAT}
+ {2563293600 32400 1 ULAST}
+ {2579619600 28800 0 ULAT}
+ {2595348000 32400 1 ULAST}
+ {2611069200 28800 0 ULAT}
+ {2626797600 32400 1 ULAST}
+ {2642518800 28800 0 ULAT}
+ {2658247200 32400 1 ULAST}
+ {2673968400 28800 0 ULAT}
+ {2689696800 32400 1 ULAST}
+ {2705418000 28800 0 ULAT}
+ {2721146400 32400 1 ULAST}
+ {2737472400 28800 0 ULAT}
+ {2753200800 32400 1 ULAST}
+ {2768922000 28800 0 ULAT}
+ {2784650400 32400 1 ULAST}
+ {2800371600 28800 0 ULAT}
+ {2816100000 32400 1 ULAST}
+ {2831821200 28800 0 ULAT}
+ {2847549600 32400 1 ULAST}
+ {2863270800 28800 0 ULAT}
+ {2878999200 32400 1 ULAST}
+ {2894720400 28800 0 ULAT}
+ {2910448800 32400 1 ULAST}
+ {2926774800 28800 0 ULAT}
+ {2942503200 32400 1 ULAST}
+ {2958224400 28800 0 ULAT}
+ {2973952800 32400 1 ULAST}
+ {2989674000 28800 0 ULAT}
+ {3005402400 32400 1 ULAST}
+ {3021123600 28800 0 ULAT}
+ {3036852000 32400 1 ULAST}
+ {3052573200 28800 0 ULAT}
+ {3068301600 32400 1 ULAST}
+ {3084022800 28800 0 ULAT}
+ {3100356000 32400 1 ULAST}
+ {3116077200 28800 0 ULAT}
+ {3131805600 32400 1 ULAST}
+ {3147526800 28800 0 ULAT}
+ {3163255200 32400 1 ULAST}
+ {3178976400 28800 0 ULAT}
+ {3194704800 32400 1 ULAST}
+ {3210426000 28800 0 ULAT}
+ {3226154400 32400 1 ULAST}
+ {3241875600 28800 0 ULAT}
+ {3257604000 32400 1 ULAST}
+ {3273930000 28800 0 ULAT}
+ {3289658400 32400 1 ULAST}
+ {3305379600 28800 0 ULAT}
+ {3321108000 32400 1 ULAST}
+ {3336829200 28800 0 ULAT}
+ {3352557600 32400 1 ULAST}
+ {3368278800 28800 0 ULAT}
+ {3384007200 32400 1 ULAST}
+ {3399728400 28800 0 ULAT}
+ {3415456800 32400 1 ULAST}
+ {3431178000 28800 0 ULAT}
+ {3446906400 32400 1 ULAST}
+ {3463232400 28800 0 ULAT}
+ {3478960800 32400 1 ULAST}
+ {3494682000 28800 0 ULAT}
+ {3510410400 32400 1 ULAST}
+ {3526131600 28800 0 ULAT}
+ {3541860000 32400 1 ULAST}
+ {3557581200 28800 0 ULAT}
+ {3573309600 32400 1 ULAST}
+ {3589030800 28800 0 ULAT}
+ {3604759200 32400 1 ULAST}
+ {3621085200 28800 0 ULAT}
+ {3636813600 32400 1 ULAST}
+ {3652534800 28800 0 ULAT}
+ {3668263200 32400 1 ULAST}
+ {3683984400 28800 0 ULAT}
+ {3699712800 32400 1 ULAST}
+ {3715434000 28800 0 ULAT}
+ {3731162400 32400 1 ULAST}
+ {3746883600 28800 0 ULAT}
+ {3762612000 32400 1 ULAST}
+ {3778333200 28800 0 ULAT}
+ {3794061600 32400 1 ULAST}
+ {3810387600 28800 0 ULAT}
+ {3826116000 32400 1 ULAST}
+ {3841837200 28800 0 ULAT}
+ {3857565600 32400 1 ULAST}
+ {3873286800 28800 0 ULAT}
+ {3889015200 32400 1 ULAST}
+ {3904736400 28800 0 ULAT}
+ {3920464800 32400 1 ULAST}
+ {3936186000 28800 0 ULAT}
+ {3951914400 32400 1 ULAST}
+ {3967635600 28800 0 ULAT}
+ {3983968800 32400 1 ULAST}
+ {3999690000 28800 0 ULAT}
+ {4015418400 32400 1 ULAST}
+ {4031139600 28800 0 ULAT}
+ {4046868000 32400 1 ULAST}
+ {4062589200 28800 0 ULAT}
+ {4078317600 32400 1 ULAST}
+ {4094038800 28800 0 ULAT}
+}
diff --git a/library/tzdata/Asia/Ulan_Bator b/library/tzdata/Asia/Ulan_Bator
new file mode 100644
index 0000000..dbb691a
--- /dev/null
+++ b/library/tzdata/Asia/Ulan_Bator
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Ulaanbaatar)]} {
+ loadTimeZoneFile Asia/Ulaanbaatar
+}
+set tzdata(:Asia/Ulan_Bator) $TZData(:Asia/Ulaanbaatar)
diff --git a/library/tzdata/Asia/Urumqi b/library/tzdata/Asia/Urumqi
new file mode 100644
index 0000000..d5c0cb5
--- /dev/null
+++ b/library/tzdata/Asia/Urumqi
@@ -0,0 +1,19 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Urumqi) {
+ {-9223372036854775808 21020 0 LMT}
+ {-1325483420 21600 0 URUT}
+ {325965600 28800 0 CST}
+ {515520000 32400 1 CDT}
+ {527007600 28800 0 CST}
+ {545155200 32400 1 CDT}
+ {558457200 28800 0 CST}
+ {576604800 32400 1 CDT}
+ {589906800 28800 0 CST}
+ {608659200 32400 1 CDT}
+ {621961200 28800 0 CST}
+ {640108800 32400 1 CDT}
+ {653410800 28800 0 CST}
+ {671558400 32400 1 CDT}
+ {684860400 28800 0 CST}
+}
diff --git a/library/tzdata/Asia/Vientiane b/library/tzdata/Asia/Vientiane
new file mode 100644
index 0000000..289fdfa
--- /dev/null
+++ b/library/tzdata/Asia/Vientiane
@@ -0,0 +1,9 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Vientiane) {
+ {-9223372036854775808 24624 0 LMT}
+ {-2005973424 25580 0 SMT}
+ {-1855983920 25200 0 ICT}
+ {-1819954800 28800 0 ICT}
+ {-1220428800 25200 0 ICT}
+}
diff --git a/library/tzdata/Asia/Vladivostok b/library/tzdata/Asia/Vladivostok
new file mode 100644
index 0000000..d52c16c
--- /dev/null
+++ b/library/tzdata/Asia/Vladivostok
@@ -0,0 +1,246 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Vladivostok) {
+ {-9223372036854775808 31664 0 LMT}
+ {-1487321264 32400 0 VLAT}
+ {-1247562000 36000 0 VLAMMTT}
+ {354895200 39600 1 VLAST}
+ {370702800 36000 0 VLAT}
+ {386431200 39600 1 VLAST}
+ {402238800 36000 0 VLAT}
+ {417967200 39600 1 VLAST}
+ {433774800 36000 0 VLAT}
+ {449589600 39600 1 VLAST}
+ {465357600 36000 0 VLAT}
+ {481082400 39600 1 VLAST}
+ {496807200 36000 0 VLAT}
+ {512532000 39600 1 VLAST}
+ {528256800 36000 0 VLAT}
+ {543981600 39600 1 VLAST}
+ {559706400 36000 0 VLAT}
+ {575431200 39600 1 VLAST}
+ {591156000 36000 0 VLAT}
+ {606880800 39600 1 VLAST}
+ {622605600 36000 0 VLAT}
+ {638330400 39600 1 VLAST}
+ {654660000 36000 0 VLAT}
+ {670384800 36000 0 VLASST}
+ {686109600 32400 0 VLAST}
+ {695786400 36000 0 VLAMMTT}
+ {701787600 39600 1 VLAST}
+ {717508800 36000 0 VLAT}
+ {733284000 39600 1 VLAST}
+ {749008800 36000 0 VLAT}
+ {764733600 39600 1 VLAST}
+ {780458400 36000 0 VLAT}
+ {796183200 39600 1 VLAST}
+ {811908000 36000 0 VLAT}
+ {828237600 39600 1 VLAST}
+ {846381600 36000 0 VLAT}
+ {859687200 39600 1 VLAST}
+ {877831200 36000 0 VLAT}
+ {891136800 39600 1 VLAST}
+ {909280800 36000 0 VLAT}
+ {922586400 39600 1 VLAST}
+ {941335200 36000 0 VLAT}
+ {954036000 39600 1 VLAST}
+ {972784800 36000 0 VLAT}
+ {985485600 39600 1 VLAST}
+ {1004234400 36000 0 VLAT}
+ {1017540000 39600 1 VLAST}
+ {1035684000 36000 0 VLAT}
+ {1048989600 39600 1 VLAST}
+ {1067133600 36000 0 VLAT}
+ {1080439200 39600 1 VLAST}
+ {1099188000 36000 0 VLAT}
+ {1111888800 39600 1 VLAST}
+ {1130637600 36000 0 VLAT}
+ {1143338400 39600 1 VLAST}
+ {1162087200 36000 0 VLAT}
+ {1174788000 39600 1 VLAST}
+ {1193536800 36000 0 VLAT}
+ {1206842400 39600 1 VLAST}
+ {1224986400 36000 0 VLAT}
+ {1238292000 39600 1 VLAST}
+ {1256436000 36000 0 VLAT}
+ {1269741600 39600 1 VLAST}
+ {1288490400 36000 0 VLAT}
+ {1301191200 39600 1 VLAST}
+ {1319940000 36000 0 VLAT}
+ {1332640800 39600 1 VLAST}
+ {1351389600 36000 0 VLAT}
+ {1364695200 39600 1 VLAST}
+ {1382839200 36000 0 VLAT}
+ {1396144800 39600 1 VLAST}
+ {1414288800 36000 0 VLAT}
+ {1427594400 39600 1 VLAST}
+ {1445738400 36000 0 VLAT}
+ {1459044000 39600 1 VLAST}
+ {1477792800 36000 0 VLAT}
+ {1490493600 39600 1 VLAST}
+ {1509242400 36000 0 VLAT}
+ {1521943200 39600 1 VLAST}
+ {1540692000 36000 0 VLAT}
+ {1553997600 39600 1 VLAST}
+ {1572141600 36000 0 VLAT}
+ {1585447200 39600 1 VLAST}
+ {1603591200 36000 0 VLAT}
+ {1616896800 39600 1 VLAST}
+ {1635645600 36000 0 VLAT}
+ {1648346400 39600 1 VLAST}
+ {1667095200 36000 0 VLAT}
+ {1679796000 39600 1 VLAST}
+ {1698544800 36000 0 VLAT}
+ {1711850400 39600 1 VLAST}
+ {1729994400 36000 0 VLAT}
+ {1743300000 39600 1 VLAST}
+ {1761444000 36000 0 VLAT}
+ {1774749600 39600 1 VLAST}
+ {1792893600 36000 0 VLAT}
+ {1806199200 39600 1 VLAST}
+ {1824948000 36000 0 VLAT}
+ {1837648800 39600 1 VLAST}
+ {1856397600 36000 0 VLAT}
+ {1869098400 39600 1 VLAST}
+ {1887847200 36000 0 VLAT}
+ {1901152800 39600 1 VLAST}
+ {1919296800 36000 0 VLAT}
+ {1932602400 39600 1 VLAST}
+ {1950746400 36000 0 VLAT}
+ {1964052000 39600 1 VLAST}
+ {1982800800 36000 0 VLAT}
+ {1995501600 39600 1 VLAST}
+ {2014250400 36000 0 VLAT}
+ {2026951200 39600 1 VLAST}
+ {2045700000 36000 0 VLAT}
+ {2058400800 39600 1 VLAST}
+ {2077149600 36000 0 VLAT}
+ {2090455200 39600 1 VLAST}
+ {2108599200 36000 0 VLAT}
+ {2121904800 39600 1 VLAST}
+ {2140048800 36000 0 VLAT}
+ {2153354400 39600 1 VLAST}
+ {2172103200 36000 0 VLAT}
+ {2184804000 39600 1 VLAST}
+ {2203552800 36000 0 VLAT}
+ {2216253600 39600 1 VLAST}
+ {2235002400 36000 0 VLAT}
+ {2248308000 39600 1 VLAST}
+ {2266452000 36000 0 VLAT}
+ {2279757600 39600 1 VLAST}
+ {2297901600 36000 0 VLAT}
+ {2311207200 39600 1 VLAST}
+ {2329351200 36000 0 VLAT}
+ {2342656800 39600 1 VLAST}
+ {2361405600 36000 0 VLAT}
+ {2374106400 39600 1 VLAST}
+ {2392855200 36000 0 VLAT}
+ {2405556000 39600 1 VLAST}
+ {2424304800 36000 0 VLAT}
+ {2437610400 39600 1 VLAST}
+ {2455754400 36000 0 VLAT}
+ {2469060000 39600 1 VLAST}
+ {2487204000 36000 0 VLAT}
+ {2500509600 39600 1 VLAST}
+ {2519258400 36000 0 VLAT}
+ {2531959200 39600 1 VLAST}
+ {2550708000 36000 0 VLAT}
+ {2563408800 39600 1 VLAST}
+ {2582157600 36000 0 VLAT}
+ {2595463200 39600 1 VLAST}
+ {2613607200 36000 0 VLAT}
+ {2626912800 39600 1 VLAST}
+ {2645056800 36000 0 VLAT}
+ {2658362400 39600 1 VLAST}
+ {2676506400 36000 0 VLAT}
+ {2689812000 39600 1 VLAST}
+ {2708560800 36000 0 VLAT}
+ {2721261600 39600 1 VLAST}
+ {2740010400 36000 0 VLAT}
+ {2752711200 39600 1 VLAST}
+ {2771460000 36000 0 VLAT}
+ {2784765600 39600 1 VLAST}
+ {2802909600 36000 0 VLAT}
+ {2816215200 39600 1 VLAST}
+ {2834359200 36000 0 VLAT}
+ {2847664800 39600 1 VLAST}
+ {2866413600 36000 0 VLAT}
+ {2879114400 39600 1 VLAST}
+ {2897863200 36000 0 VLAT}
+ {2910564000 39600 1 VLAST}
+ {2929312800 36000 0 VLAT}
+ {2942013600 39600 1 VLAST}
+ {2960762400 36000 0 VLAT}
+ {2974068000 39600 1 VLAST}
+ {2992212000 36000 0 VLAT}
+ {3005517600 39600 1 VLAST}
+ {3023661600 36000 0 VLAT}
+ {3036967200 39600 1 VLAST}
+ {3055716000 36000 0 VLAT}
+ {3068416800 39600 1 VLAST}
+ {3087165600 36000 0 VLAT}
+ {3099866400 39600 1 VLAST}
+ {3118615200 36000 0 VLAT}
+ {3131920800 39600 1 VLAST}
+ {3150064800 36000 0 VLAT}
+ {3163370400 39600 1 VLAST}
+ {3181514400 36000 0 VLAT}
+ {3194820000 39600 1 VLAST}
+ {3212964000 36000 0 VLAT}
+ {3226269600 39600 1 VLAST}
+ {3245018400 36000 0 VLAT}
+ {3257719200 39600 1 VLAST}
+ {3276468000 36000 0 VLAT}
+ {3289168800 39600 1 VLAST}
+ {3307917600 36000 0 VLAT}
+ {3321223200 39600 1 VLAST}
+ {3339367200 36000 0 VLAT}
+ {3352672800 39600 1 VLAST}
+ {3370816800 36000 0 VLAT}
+ {3384122400 39600 1 VLAST}
+ {3402871200 36000 0 VLAT}
+ {3415572000 39600 1 VLAST}
+ {3434320800 36000 0 VLAT}
+ {3447021600 39600 1 VLAST}
+ {3465770400 36000 0 VLAT}
+ {3479076000 39600 1 VLAST}
+ {3497220000 36000 0 VLAT}
+ {3510525600 39600 1 VLAST}
+ {3528669600 36000 0 VLAT}
+ {3541975200 39600 1 VLAST}
+ {3560119200 36000 0 VLAT}
+ {3573424800 39600 1 VLAST}
+ {3592173600 36000 0 VLAT}
+ {3604874400 39600 1 VLAST}
+ {3623623200 36000 0 VLAT}
+ {3636324000 39600 1 VLAST}
+ {3655072800 36000 0 VLAT}
+ {3668378400 39600 1 VLAST}
+ {3686522400 36000 0 VLAT}
+ {3699828000 39600 1 VLAST}
+ {3717972000 36000 0 VLAT}
+ {3731277600 39600 1 VLAST}
+ {3750026400 36000 0 VLAT}
+ {3762727200 39600 1 VLAST}
+ {3781476000 36000 0 VLAT}
+ {3794176800 39600 1 VLAST}
+ {3812925600 36000 0 VLAT}
+ {3825626400 39600 1 VLAST}
+ {3844375200 36000 0 VLAT}
+ {3857680800 39600 1 VLAST}
+ {3875824800 36000 0 VLAT}
+ {3889130400 39600 1 VLAST}
+ {3907274400 36000 0 VLAT}
+ {3920580000 39600 1 VLAST}
+ {3939328800 36000 0 VLAT}
+ {3952029600 39600 1 VLAST}
+ {3970778400 36000 0 VLAT}
+ {3983479200 39600 1 VLAST}
+ {4002228000 36000 0 VLAT}
+ {4015533600 39600 1 VLAST}
+ {4033677600 36000 0 VLAT}
+ {4046983200 39600 1 VLAST}
+ {4065127200 36000 0 VLAT}
+ {4078432800 39600 1 VLAST}
+ {4096576800 36000 0 VLAT}
+}
diff --git a/library/tzdata/Asia/Yakutsk b/library/tzdata/Asia/Yakutsk
new file mode 100644
index 0000000..38ea44e
--- /dev/null
+++ b/library/tzdata/Asia/Yakutsk
@@ -0,0 +1,246 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Yakutsk) {
+ {-9223372036854775808 31120 0 LMT}
+ {-1579423120 28800 0 YAKT}
+ {-1247558400 32400 0 YAKMMTT}
+ {354898800 36000 1 YAKST}
+ {370706400 32400 0 YAKT}
+ {386434800 36000 1 YAKST}
+ {402242400 32400 0 YAKT}
+ {417970800 36000 1 YAKST}
+ {433778400 32400 0 YAKT}
+ {449593200 36000 1 YAKST}
+ {465357600 32400 0 YAKT}
+ {481082400 36000 1 YAKST}
+ {496807200 32400 0 YAKT}
+ {512532000 36000 1 YAKST}
+ {528256800 32400 0 YAKT}
+ {543981600 36000 1 YAKST}
+ {559706400 32400 0 YAKT}
+ {575431200 36000 1 YAKST}
+ {591156000 32400 0 YAKT}
+ {606880800 36000 1 YAKST}
+ {622605600 32400 0 YAKT}
+ {638330400 36000 1 YAKST}
+ {654660000 32400 0 YAKT}
+ {670384800 32400 0 YAKST}
+ {686109600 28800 0 YAKT}
+ {695786400 32400 0 YAKMMTT}
+ {701791200 36000 1 YAKST}
+ {717512400 32400 0 YAKT}
+ {733284000 36000 1 YAKST}
+ {749008800 32400 0 YAKT}
+ {764733600 36000 1 YAKST}
+ {780458400 32400 0 YAKT}
+ {796183200 36000 1 YAKST}
+ {811908000 32400 0 YAKT}
+ {828237600 36000 1 YAKST}
+ {846381600 32400 0 YAKT}
+ {859687200 36000 1 YAKST}
+ {877831200 32400 0 YAKT}
+ {891136800 36000 1 YAKST}
+ {909280800 32400 0 YAKT}
+ {922586400 36000 1 YAKST}
+ {941335200 32400 0 YAKT}
+ {954036000 36000 1 YAKST}
+ {972784800 32400 0 YAKT}
+ {985485600 36000 1 YAKST}
+ {1004234400 32400 0 YAKT}
+ {1017540000 36000 1 YAKST}
+ {1035684000 32400 0 YAKT}
+ {1048989600 36000 1 YAKST}
+ {1067133600 32400 0 YAKT}
+ {1080439200 36000 1 YAKST}
+ {1099188000 32400 0 YAKT}
+ {1111888800 36000 1 YAKST}
+ {1130637600 32400 0 YAKT}
+ {1143338400 36000 1 YAKST}
+ {1162087200 32400 0 YAKT}
+ {1174788000 36000 1 YAKST}
+ {1193536800 32400 0 YAKT}
+ {1206842400 36000 1 YAKST}
+ {1224986400 32400 0 YAKT}
+ {1238292000 36000 1 YAKST}
+ {1256436000 32400 0 YAKT}
+ {1269741600 36000 1 YAKST}
+ {1288490400 32400 0 YAKT}
+ {1301191200 36000 1 YAKST}
+ {1319940000 32400 0 YAKT}
+ {1332640800 36000 1 YAKST}
+ {1351389600 32400 0 YAKT}
+ {1364695200 36000 1 YAKST}
+ {1382839200 32400 0 YAKT}
+ {1396144800 36000 1 YAKST}
+ {1414288800 32400 0 YAKT}
+ {1427594400 36000 1 YAKST}
+ {1445738400 32400 0 YAKT}
+ {1459044000 36000 1 YAKST}
+ {1477792800 32400 0 YAKT}
+ {1490493600 36000 1 YAKST}
+ {1509242400 32400 0 YAKT}
+ {1521943200 36000 1 YAKST}
+ {1540692000 32400 0 YAKT}
+ {1553997600 36000 1 YAKST}
+ {1572141600 32400 0 YAKT}
+ {1585447200 36000 1 YAKST}
+ {1603591200 32400 0 YAKT}
+ {1616896800 36000 1 YAKST}
+ {1635645600 32400 0 YAKT}
+ {1648346400 36000 1 YAKST}
+ {1667095200 32400 0 YAKT}
+ {1679796000 36000 1 YAKST}
+ {1698544800 32400 0 YAKT}
+ {1711850400 36000 1 YAKST}
+ {1729994400 32400 0 YAKT}
+ {1743300000 36000 1 YAKST}
+ {1761444000 32400 0 YAKT}
+ {1774749600 36000 1 YAKST}
+ {1792893600 32400 0 YAKT}
+ {1806199200 36000 1 YAKST}
+ {1824948000 32400 0 YAKT}
+ {1837648800 36000 1 YAKST}
+ {1856397600 32400 0 YAKT}
+ {1869098400 36000 1 YAKST}
+ {1887847200 32400 0 YAKT}
+ {1901152800 36000 1 YAKST}
+ {1919296800 32400 0 YAKT}
+ {1932602400 36000 1 YAKST}
+ {1950746400 32400 0 YAKT}
+ {1964052000 36000 1 YAKST}
+ {1982800800 32400 0 YAKT}
+ {1995501600 36000 1 YAKST}
+ {2014250400 32400 0 YAKT}
+ {2026951200 36000 1 YAKST}
+ {2045700000 32400 0 YAKT}
+ {2058400800 36000 1 YAKST}
+ {2077149600 32400 0 YAKT}
+ {2090455200 36000 1 YAKST}
+ {2108599200 32400 0 YAKT}
+ {2121904800 36000 1 YAKST}
+ {2140048800 32400 0 YAKT}
+ {2153354400 36000 1 YAKST}
+ {2172103200 32400 0 YAKT}
+ {2184804000 36000 1 YAKST}
+ {2203552800 32400 0 YAKT}
+ {2216253600 36000 1 YAKST}
+ {2235002400 32400 0 YAKT}
+ {2248308000 36000 1 YAKST}
+ {2266452000 32400 0 YAKT}
+ {2279757600 36000 1 YAKST}
+ {2297901600 32400 0 YAKT}
+ {2311207200 36000 1 YAKST}
+ {2329351200 32400 0 YAKT}
+ {2342656800 36000 1 YAKST}
+ {2361405600 32400 0 YAKT}
+ {2374106400 36000 1 YAKST}
+ {2392855200 32400 0 YAKT}
+ {2405556000 36000 1 YAKST}
+ {2424304800 32400 0 YAKT}
+ {2437610400 36000 1 YAKST}
+ {2455754400 32400 0 YAKT}
+ {2469060000 36000 1 YAKST}
+ {2487204000 32400 0 YAKT}
+ {2500509600 36000 1 YAKST}
+ {2519258400 32400 0 YAKT}
+ {2531959200 36000 1 YAKST}
+ {2550708000 32400 0 YAKT}
+ {2563408800 36000 1 YAKST}
+ {2582157600 32400 0 YAKT}
+ {2595463200 36000 1 YAKST}
+ {2613607200 32400 0 YAKT}
+ {2626912800 36000 1 YAKST}
+ {2645056800 32400 0 YAKT}
+ {2658362400 36000 1 YAKST}
+ {2676506400 32400 0 YAKT}
+ {2689812000 36000 1 YAKST}
+ {2708560800 32400 0 YAKT}
+ {2721261600 36000 1 YAKST}
+ {2740010400 32400 0 YAKT}
+ {2752711200 36000 1 YAKST}
+ {2771460000 32400 0 YAKT}
+ {2784765600 36000 1 YAKST}
+ {2802909600 32400 0 YAKT}
+ {2816215200 36000 1 YAKST}
+ {2834359200 32400 0 YAKT}
+ {2847664800 36000 1 YAKST}
+ {2866413600 32400 0 YAKT}
+ {2879114400 36000 1 YAKST}
+ {2897863200 32400 0 YAKT}
+ {2910564000 36000 1 YAKST}
+ {2929312800 32400 0 YAKT}
+ {2942013600 36000 1 YAKST}
+ {2960762400 32400 0 YAKT}
+ {2974068000 36000 1 YAKST}
+ {2992212000 32400 0 YAKT}
+ {3005517600 36000 1 YAKST}
+ {3023661600 32400 0 YAKT}
+ {3036967200 36000 1 YAKST}
+ {3055716000 32400 0 YAKT}
+ {3068416800 36000 1 YAKST}
+ {3087165600 32400 0 YAKT}
+ {3099866400 36000 1 YAKST}
+ {3118615200 32400 0 YAKT}
+ {3131920800 36000 1 YAKST}
+ {3150064800 32400 0 YAKT}
+ {3163370400 36000 1 YAKST}
+ {3181514400 32400 0 YAKT}
+ {3194820000 36000 1 YAKST}
+ {3212964000 32400 0 YAKT}
+ {3226269600 36000 1 YAKST}
+ {3245018400 32400 0 YAKT}
+ {3257719200 36000 1 YAKST}
+ {3276468000 32400 0 YAKT}
+ {3289168800 36000 1 YAKST}
+ {3307917600 32400 0 YAKT}
+ {3321223200 36000 1 YAKST}
+ {3339367200 32400 0 YAKT}
+ {3352672800 36000 1 YAKST}
+ {3370816800 32400 0 YAKT}
+ {3384122400 36000 1 YAKST}
+ {3402871200 32400 0 YAKT}
+ {3415572000 36000 1 YAKST}
+ {3434320800 32400 0 YAKT}
+ {3447021600 36000 1 YAKST}
+ {3465770400 32400 0 YAKT}
+ {3479076000 36000 1 YAKST}
+ {3497220000 32400 0 YAKT}
+ {3510525600 36000 1 YAKST}
+ {3528669600 32400 0 YAKT}
+ {3541975200 36000 1 YAKST}
+ {3560119200 32400 0 YAKT}
+ {3573424800 36000 1 YAKST}
+ {3592173600 32400 0 YAKT}
+ {3604874400 36000 1 YAKST}
+ {3623623200 32400 0 YAKT}
+ {3636324000 36000 1 YAKST}
+ {3655072800 32400 0 YAKT}
+ {3668378400 36000 1 YAKST}
+ {3686522400 32400 0 YAKT}
+ {3699828000 36000 1 YAKST}
+ {3717972000 32400 0 YAKT}
+ {3731277600 36000 1 YAKST}
+ {3750026400 32400 0 YAKT}
+ {3762727200 36000 1 YAKST}
+ {3781476000 32400 0 YAKT}
+ {3794176800 36000 1 YAKST}
+ {3812925600 32400 0 YAKT}
+ {3825626400 36000 1 YAKST}
+ {3844375200 32400 0 YAKT}
+ {3857680800 36000 1 YAKST}
+ {3875824800 32400 0 YAKT}
+ {3889130400 36000 1 YAKST}
+ {3907274400 32400 0 YAKT}
+ {3920580000 36000 1 YAKST}
+ {3939328800 32400 0 YAKT}
+ {3952029600 36000 1 YAKST}
+ {3970778400 32400 0 YAKT}
+ {3983479200 36000 1 YAKST}
+ {4002228000 32400 0 YAKT}
+ {4015533600 36000 1 YAKST}
+ {4033677600 32400 0 YAKT}
+ {4046983200 36000 1 YAKST}
+ {4065127200 32400 0 YAKT}
+ {4078432800 36000 1 YAKST}
+ {4096576800 32400 0 YAKT}
+}
diff --git a/library/tzdata/Asia/Yekaterinburg b/library/tzdata/Asia/Yekaterinburg
new file mode 100644
index 0000000..756a854
--- /dev/null
+++ b/library/tzdata/Asia/Yekaterinburg
@@ -0,0 +1,246 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Yekaterinburg) {
+ {-9223372036854775808 14544 0 LMT}
+ {-1592611344 14400 0 SVET}
+ {-1247544000 18000 0 SVEMMTT}
+ {354913200 21600 1 SVEST}
+ {370720800 18000 0 SVET}
+ {386449200 21600 1 SVEST}
+ {402256800 18000 0 SVET}
+ {417985200 21600 1 SVEST}
+ {433792800 18000 0 SVET}
+ {449607600 21600 1 SVEST}
+ {465357600 18000 0 SVET}
+ {481082400 21600 1 SVEST}
+ {496807200 18000 0 SVET}
+ {512532000 21600 1 SVEST}
+ {528256800 18000 0 SVET}
+ {543981600 21600 1 SVEST}
+ {559706400 18000 0 SVET}
+ {575431200 21600 1 SVEST}
+ {591156000 18000 0 SVET}
+ {606880800 21600 1 SVEST}
+ {622605600 18000 0 SVET}
+ {638330400 21600 1 SVEST}
+ {654660000 18000 0 SVET}
+ {670384800 18000 0 SVEST}
+ {686109600 14400 0 SVET}
+ {695786400 18000 0 YEKMMTT}
+ {701805600 21600 1 YEKST}
+ {717526800 18000 0 YEKT}
+ {733284000 21600 1 YEKST}
+ {749008800 18000 0 YEKT}
+ {764733600 21600 1 YEKST}
+ {780458400 18000 0 YEKT}
+ {796183200 21600 1 YEKST}
+ {811908000 18000 0 YEKT}
+ {828237600 21600 1 YEKST}
+ {846381600 18000 0 YEKT}
+ {859687200 21600 1 YEKST}
+ {877831200 18000 0 YEKT}
+ {891136800 21600 1 YEKST}
+ {909280800 18000 0 YEKT}
+ {922586400 21600 1 YEKST}
+ {941335200 18000 0 YEKT}
+ {954036000 21600 1 YEKST}
+ {972784800 18000 0 YEKT}
+ {985485600 21600 1 YEKST}
+ {1004234400 18000 0 YEKT}
+ {1017540000 21600 1 YEKST}
+ {1035684000 18000 0 YEKT}
+ {1048989600 21600 1 YEKST}
+ {1067133600 18000 0 YEKT}
+ {1080439200 21600 1 YEKST}
+ {1099188000 18000 0 YEKT}
+ {1111888800 21600 1 YEKST}
+ {1130637600 18000 0 YEKT}
+ {1143338400 21600 1 YEKST}
+ {1162087200 18000 0 YEKT}
+ {1174788000 21600 1 YEKST}
+ {1193536800 18000 0 YEKT}
+ {1206842400 21600 1 YEKST}
+ {1224986400 18000 0 YEKT}
+ {1238292000 21600 1 YEKST}
+ {1256436000 18000 0 YEKT}
+ {1269741600 21600 1 YEKST}
+ {1288490400 18000 0 YEKT}
+ {1301191200 21600 1 YEKST}
+ {1319940000 18000 0 YEKT}
+ {1332640800 21600 1 YEKST}
+ {1351389600 18000 0 YEKT}
+ {1364695200 21600 1 YEKST}
+ {1382839200 18000 0 YEKT}
+ {1396144800 21600 1 YEKST}
+ {1414288800 18000 0 YEKT}
+ {1427594400 21600 1 YEKST}
+ {1445738400 18000 0 YEKT}
+ {1459044000 21600 1 YEKST}
+ {1477792800 18000 0 YEKT}
+ {1490493600 21600 1 YEKST}
+ {1509242400 18000 0 YEKT}
+ {1521943200 21600 1 YEKST}
+ {1540692000 18000 0 YEKT}
+ {1553997600 21600 1 YEKST}
+ {1572141600 18000 0 YEKT}
+ {1585447200 21600 1 YEKST}
+ {1603591200 18000 0 YEKT}
+ {1616896800 21600 1 YEKST}
+ {1635645600 18000 0 YEKT}
+ {1648346400 21600 1 YEKST}
+ {1667095200 18000 0 YEKT}
+ {1679796000 21600 1 YEKST}
+ {1698544800 18000 0 YEKT}
+ {1711850400 21600 1 YEKST}
+ {1729994400 18000 0 YEKT}
+ {1743300000 21600 1 YEKST}
+ {1761444000 18000 0 YEKT}
+ {1774749600 21600 1 YEKST}
+ {1792893600 18000 0 YEKT}
+ {1806199200 21600 1 YEKST}
+ {1824948000 18000 0 YEKT}
+ {1837648800 21600 1 YEKST}
+ {1856397600 18000 0 YEKT}
+ {1869098400 21600 1 YEKST}
+ {1887847200 18000 0 YEKT}
+ {1901152800 21600 1 YEKST}
+ {1919296800 18000 0 YEKT}
+ {1932602400 21600 1 YEKST}
+ {1950746400 18000 0 YEKT}
+ {1964052000 21600 1 YEKST}
+ {1982800800 18000 0 YEKT}
+ {1995501600 21600 1 YEKST}
+ {2014250400 18000 0 YEKT}
+ {2026951200 21600 1 YEKST}
+ {2045700000 18000 0 YEKT}
+ {2058400800 21600 1 YEKST}
+ {2077149600 18000 0 YEKT}
+ {2090455200 21600 1 YEKST}
+ {2108599200 18000 0 YEKT}
+ {2121904800 21600 1 YEKST}
+ {2140048800 18000 0 YEKT}
+ {2153354400 21600 1 YEKST}
+ {2172103200 18000 0 YEKT}
+ {2184804000 21600 1 YEKST}
+ {2203552800 18000 0 YEKT}
+ {2216253600 21600 1 YEKST}
+ {2235002400 18000 0 YEKT}
+ {2248308000 21600 1 YEKST}
+ {2266452000 18000 0 YEKT}
+ {2279757600 21600 1 YEKST}
+ {2297901600 18000 0 YEKT}
+ {2311207200 21600 1 YEKST}
+ {2329351200 18000 0 YEKT}
+ {2342656800 21600 1 YEKST}
+ {2361405600 18000 0 YEKT}
+ {2374106400 21600 1 YEKST}
+ {2392855200 18000 0 YEKT}
+ {2405556000 21600 1 YEKST}
+ {2424304800 18000 0 YEKT}
+ {2437610400 21600 1 YEKST}
+ {2455754400 18000 0 YEKT}
+ {2469060000 21600 1 YEKST}
+ {2487204000 18000 0 YEKT}
+ {2500509600 21600 1 YEKST}
+ {2519258400 18000 0 YEKT}
+ {2531959200 21600 1 YEKST}
+ {2550708000 18000 0 YEKT}
+ {2563408800 21600 1 YEKST}
+ {2582157600 18000 0 YEKT}
+ {2595463200 21600 1 YEKST}
+ {2613607200 18000 0 YEKT}
+ {2626912800 21600 1 YEKST}
+ {2645056800 18000 0 YEKT}
+ {2658362400 21600 1 YEKST}
+ {2676506400 18000 0 YEKT}
+ {2689812000 21600 1 YEKST}
+ {2708560800 18000 0 YEKT}
+ {2721261600 21600 1 YEKST}
+ {2740010400 18000 0 YEKT}
+ {2752711200 21600 1 YEKST}
+ {2771460000 18000 0 YEKT}
+ {2784765600 21600 1 YEKST}
+ {2802909600 18000 0 YEKT}
+ {2816215200 21600 1 YEKST}
+ {2834359200 18000 0 YEKT}
+ {2847664800 21600 1 YEKST}
+ {2866413600 18000 0 YEKT}
+ {2879114400 21600 1 YEKST}
+ {2897863200 18000 0 YEKT}
+ {2910564000 21600 1 YEKST}
+ {2929312800 18000 0 YEKT}
+ {2942013600 21600 1 YEKST}
+ {2960762400 18000 0 YEKT}
+ {2974068000 21600 1 YEKST}
+ {2992212000 18000 0 YEKT}
+ {3005517600 21600 1 YEKST}
+ {3023661600 18000 0 YEKT}
+ {3036967200 21600 1 YEKST}
+ {3055716000 18000 0 YEKT}
+ {3068416800 21600 1 YEKST}
+ {3087165600 18000 0 YEKT}
+ {3099866400 21600 1 YEKST}
+ {3118615200 18000 0 YEKT}
+ {3131920800 21600 1 YEKST}
+ {3150064800 18000 0 YEKT}
+ {3163370400 21600 1 YEKST}
+ {3181514400 18000 0 YEKT}
+ {3194820000 21600 1 YEKST}
+ {3212964000 18000 0 YEKT}
+ {3226269600 21600 1 YEKST}
+ {3245018400 18000 0 YEKT}
+ {3257719200 21600 1 YEKST}
+ {3276468000 18000 0 YEKT}
+ {3289168800 21600 1 YEKST}
+ {3307917600 18000 0 YEKT}
+ {3321223200 21600 1 YEKST}
+ {3339367200 18000 0 YEKT}
+ {3352672800 21600 1 YEKST}
+ {3370816800 18000 0 YEKT}
+ {3384122400 21600 1 YEKST}
+ {3402871200 18000 0 YEKT}
+ {3415572000 21600 1 YEKST}
+ {3434320800 18000 0 YEKT}
+ {3447021600 21600 1 YEKST}
+ {3465770400 18000 0 YEKT}
+ {3479076000 21600 1 YEKST}
+ {3497220000 18000 0 YEKT}
+ {3510525600 21600 1 YEKST}
+ {3528669600 18000 0 YEKT}
+ {3541975200 21600 1 YEKST}
+ {3560119200 18000 0 YEKT}
+ {3573424800 21600 1 YEKST}
+ {3592173600 18000 0 YEKT}
+ {3604874400 21600 1 YEKST}
+ {3623623200 18000 0 YEKT}
+ {3636324000 21600 1 YEKST}
+ {3655072800 18000 0 YEKT}
+ {3668378400 21600 1 YEKST}
+ {3686522400 18000 0 YEKT}
+ {3699828000 21600 1 YEKST}
+ {3717972000 18000 0 YEKT}
+ {3731277600 21600 1 YEKST}
+ {3750026400 18000 0 YEKT}
+ {3762727200 21600 1 YEKST}
+ {3781476000 18000 0 YEKT}
+ {3794176800 21600 1 YEKST}
+ {3812925600 18000 0 YEKT}
+ {3825626400 21600 1 YEKST}
+ {3844375200 18000 0 YEKT}
+ {3857680800 21600 1 YEKST}
+ {3875824800 18000 0 YEKT}
+ {3889130400 21600 1 YEKST}
+ {3907274400 18000 0 YEKT}
+ {3920580000 21600 1 YEKST}
+ {3939328800 18000 0 YEKT}
+ {3952029600 21600 1 YEKST}
+ {3970778400 18000 0 YEKT}
+ {3983479200 21600 1 YEKST}
+ {4002228000 18000 0 YEKT}
+ {4015533600 21600 1 YEKST}
+ {4033677600 18000 0 YEKT}
+ {4046983200 21600 1 YEKST}
+ {4065127200 18000 0 YEKT}
+ {4078432800 21600 1 YEKST}
+ {4096576800 18000 0 YEKT}
+}
diff --git a/library/tzdata/Asia/Yerevan b/library/tzdata/Asia/Yerevan
new file mode 100644
index 0000000..81316ff
--- /dev/null
+++ b/library/tzdata/Asia/Yerevan
@@ -0,0 +1,245 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Asia/Yerevan) {
+ {-9223372036854775808 10680 0 LMT}
+ {-1441162680 10800 0 YERT}
+ {-405140400 14400 0 YERT}
+ {354916800 18000 1 YERST}
+ {370724400 14400 0 YERT}
+ {386452800 18000 1 YERST}
+ {402260400 14400 0 YERT}
+ {417988800 18000 1 YERST}
+ {433796400 14400 0 YERT}
+ {449611200 18000 1 YERST}
+ {465357600 14400 0 YERT}
+ {481082400 18000 1 YERST}
+ {496807200 14400 0 YERT}
+ {512532000 18000 1 YERST}
+ {528256800 14400 0 YERT}
+ {543981600 18000 1 YERST}
+ {559706400 14400 0 YERT}
+ {575431200 18000 1 YERST}
+ {591156000 14400 0 YERT}
+ {606880800 18000 1 YERST}
+ {622605600 14400 0 YERT}
+ {638330400 18000 1 YERST}
+ {654660000 14400 0 YERT}
+ {670384800 14400 1 YERST}
+ {685569600 14400 0 AMST}
+ {686109600 10800 0 AMT}
+ {701812800 14400 1 AMST}
+ {717534000 10800 0 AMT}
+ {733284000 14400 1 AMST}
+ {749008800 10800 0 AMT}
+ {764733600 14400 1 AMST}
+ {780458400 10800 0 AMT}
+ {796183200 14400 1 AMST}
+ {811908000 14400 0 AMT}
+ {852062400 14400 0 AMT}
+ {859687200 18000 1 AMST}
+ {877831200 14400 0 AMT}
+ {891136800 18000 1 AMST}
+ {909280800 14400 0 AMT}
+ {922586400 18000 1 AMST}
+ {941335200 14400 0 AMT}
+ {954036000 18000 1 AMST}
+ {972784800 14400 0 AMT}
+ {985485600 18000 1 AMST}
+ {1004234400 14400 0 AMT}
+ {1017540000 18000 1 AMST}
+ {1035684000 14400 0 AMT}
+ {1048989600 18000 1 AMST}
+ {1067133600 14400 0 AMT}
+ {1080439200 18000 1 AMST}
+ {1099188000 14400 0 AMT}
+ {1111888800 18000 1 AMST}
+ {1130637600 14400 0 AMT}
+ {1143338400 18000 1 AMST}
+ {1162087200 14400 0 AMT}
+ {1174788000 18000 1 AMST}
+ {1193536800 14400 0 AMT}
+ {1206842400 18000 1 AMST}
+ {1224986400 14400 0 AMT}
+ {1238292000 18000 1 AMST}
+ {1256436000 14400 0 AMT}
+ {1269741600 18000 1 AMST}
+ {1288490400 14400 0 AMT}
+ {1301191200 18000 1 AMST}
+ {1319940000 14400 0 AMT}
+ {1332640800 18000 1 AMST}
+ {1351389600 14400 0 AMT}
+ {1364695200 18000 1 AMST}
+ {1382839200 14400 0 AMT}
+ {1396144800 18000 1 AMST}
+ {1414288800 14400 0 AMT}
+ {1427594400 18000 1 AMST}
+ {1445738400 14400 0 AMT}
+ {1459044000 18000 1 AMST}
+ {1477792800 14400 0 AMT}
+ {1490493600 18000 1 AMST}
+ {1509242400 14400 0 AMT}
+ {1521943200 18000 1 AMST}
+ {1540692000 14400 0 AMT}
+ {1553997600 18000 1 AMST}
+ {1572141600 14400 0 AMT}
+ {1585447200 18000 1 AMST}
+ {1603591200 14400 0 AMT}
+ {1616896800 18000 1 AMST}
+ {1635645600 14400 0 AMT}
+ {1648346400 18000 1 AMST}
+ {1667095200 14400 0 AMT}
+ {1679796000 18000 1 AMST}
+ {1698544800 14400 0 AMT}
+ {1711850400 18000 1 AMST}
+ {1729994400 14400 0 AMT}
+ {1743300000 18000 1 AMST}
+ {1761444000 14400 0 AMT}
+ {1774749600 18000 1 AMST}
+ {1792893600 14400 0 AMT}
+ {1806199200 18000 1 AMST}
+ {1824948000 14400 0 AMT}
+ {1837648800 18000 1 AMST}
+ {1856397600 14400 0 AMT}
+ {1869098400 18000 1 AMST}
+ {1887847200 14400 0 AMT}
+ {1901152800 18000 1 AMST}
+ {1919296800 14400 0 AMT}
+ {1932602400 18000 1 AMST}
+ {1950746400 14400 0 AMT}
+ {1964052000 18000 1 AMST}
+ {1982800800 14400 0 AMT}
+ {1995501600 18000 1 AMST}
+ {2014250400 14400 0 AMT}
+ {2026951200 18000 1 AMST}
+ {2045700000 14400 0 AMT}
+ {2058400800 18000 1 AMST}
+ {2077149600 14400 0 AMT}
+ {2090455200 18000 1 AMST}
+ {2108599200 14400 0 AMT}
+ {2121904800 18000 1 AMST}
+ {2140048800 14400 0 AMT}
+ {2153354400 18000 1 AMST}
+ {2172103200 14400 0 AMT}
+ {2184804000 18000 1 AMST}
+ {2203552800 14400 0 AMT}
+ {2216253600 18000 1 AMST}
+ {2235002400 14400 0 AMT}
+ {2248308000 18000 1 AMST}
+ {2266452000 14400 0 AMT}
+ {2279757600 18000 1 AMST}
+ {2297901600 14400 0 AMT}
+ {2311207200 18000 1 AMST}
+ {2329351200 14400 0 AMT}
+ {2342656800 18000 1 AMST}
+ {2361405600 14400 0 AMT}
+ {2374106400 18000 1 AMST}
+ {2392855200 14400 0 AMT}
+ {2405556000 18000 1 AMST}
+ {2424304800 14400 0 AMT}
+ {2437610400 18000 1 AMST}
+ {2455754400 14400 0 AMT}
+ {2469060000 18000 1 AMST}
+ {2487204000 14400 0 AMT}
+ {2500509600 18000 1 AMST}
+ {2519258400 14400 0 AMT}
+ {2531959200 18000 1 AMST}
+ {2550708000 14400 0 AMT}
+ {2563408800 18000 1 AMST}
+ {2582157600 14400 0 AMT}
+ {2595463200 18000 1 AMST}
+ {2613607200 14400 0 AMT}
+ {2626912800 18000 1 AMST}
+ {2645056800 14400 0 AMT}
+ {2658362400 18000 1 AMST}
+ {2676506400 14400 0 AMT}
+ {2689812000 18000 1 AMST}
+ {2708560800 14400 0 AMT}
+ {2721261600 18000 1 AMST}
+ {2740010400 14400 0 AMT}
+ {2752711200 18000 1 AMST}
+ {2771460000 14400 0 AMT}
+ {2784765600 18000 1 AMST}
+ {2802909600 14400 0 AMT}
+ {2816215200 18000 1 AMST}
+ {2834359200 14400 0 AMT}
+ {2847664800 18000 1 AMST}
+ {2866413600 14400 0 AMT}
+ {2879114400 18000 1 AMST}
+ {2897863200 14400 0 AMT}
+ {2910564000 18000 1 AMST}
+ {2929312800 14400 0 AMT}
+ {2942013600 18000 1 AMST}
+ {2960762400 14400 0 AMT}
+ {2974068000 18000 1 AMST}
+ {2992212000 14400 0 AMT}
+ {3005517600 18000 1 AMST}
+ {3023661600 14400 0 AMT}
+ {3036967200 18000 1 AMST}
+ {3055716000 14400 0 AMT}
+ {3068416800 18000 1 AMST}
+ {3087165600 14400 0 AMT}
+ {3099866400 18000 1 AMST}
+ {3118615200 14400 0 AMT}
+ {3131920800 18000 1 AMST}
+ {3150064800 14400 0 AMT}
+ {3163370400 18000 1 AMST}
+ {3181514400 14400 0 AMT}
+ {3194820000 18000 1 AMST}
+ {3212964000 14400 0 AMT}
+ {3226269600 18000 1 AMST}
+ {3245018400 14400 0 AMT}
+ {3257719200 18000 1 AMST}
+ {3276468000 14400 0 AMT}
+ {3289168800 18000 1 AMST}
+ {3307917600 14400 0 AMT}
+ {3321223200 18000 1 AMST}
+ {3339367200 14400 0 AMT}
+ {3352672800 18000 1 AMST}
+ {3370816800 14400 0 AMT}
+ {3384122400 18000 1 AMST}
+ {3402871200 14400 0 AMT}
+ {3415572000 18000 1 AMST}
+ {3434320800 14400 0 AMT}
+ {3447021600 18000 1 AMST}
+ {3465770400 14400 0 AMT}
+ {3479076000 18000 1 AMST}
+ {3497220000 14400 0 AMT}
+ {3510525600 18000 1 AMST}
+ {3528669600 14400 0 AMT}
+ {3541975200 18000 1 AMST}
+ {3560119200 14400 0 AMT}
+ {3573424800 18000 1 AMST}
+ {3592173600 14400 0 AMT}
+ {3604874400 18000 1 AMST}
+ {3623623200 14400 0 AMT}
+ {3636324000 18000 1 AMST}
+ {3655072800 14400 0 AMT}
+ {3668378400 18000 1 AMST}
+ {3686522400 14400 0 AMT}
+ {3699828000 18000 1 AMST}
+ {3717972000 14400 0 AMT}
+ {3731277600 18000 1 AMST}
+ {3750026400 14400 0 AMT}
+ {3762727200 18000 1 AMST}
+ {3781476000 14400 0 AMT}
+ {3794176800 18000 1 AMST}
+ {3812925600 14400 0 AMT}
+ {3825626400 18000 1 AMST}
+ {3844375200 14400 0 AMT}
+ {3857680800 18000 1 AMST}
+ {3875824800 14400 0 AMT}
+ {3889130400 18000 1 AMST}
+ {3907274400 14400 0 AMT}
+ {3920580000 18000 1 AMST}
+ {3939328800 14400 0 AMT}
+ {3952029600 18000 1 AMST}
+ {3970778400 14400 0 AMT}
+ {3983479200 18000 1 AMST}
+ {4002228000 14400 0 AMT}
+ {4015533600 18000 1 AMST}
+ {4033677600 14400 0 AMT}
+ {4046983200 18000 1 AMST}
+ {4065127200 14400 0 AMT}
+ {4078432800 18000 1 AMST}
+ {4096576800 14400 0 AMT}
+}
diff --git a/library/tzdata/Atlantic/Azores b/library/tzdata/Atlantic/Azores
new file mode 100644
index 0000000..6468e5c
--- /dev/null
+++ b/library/tzdata/Atlantic/Azores
@@ -0,0 +1,349 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Atlantic/Azores) {
+ {-9223372036854775808 -6160 0 LMT}
+ {-2713904240 -6872 0 HMT}
+ {-1849557928 -7200 0 AZOT}
+ {-1689548400 -3600 1 AZOST}
+ {-1677794400 -7200 0 AZOT}
+ {-1667437200 -3600 1 AZOST}
+ {-1647738000 -7200 0 AZOT}
+ {-1635814800 -3600 1 AZOST}
+ {-1616202000 -7200 0 AZOT}
+ {-1604365200 -3600 1 AZOST}
+ {-1584666000 -7200 0 AZOT}
+ {-1572742800 -3600 1 AZOST}
+ {-1553043600 -7200 0 AZOT}
+ {-1541206800 -3600 1 AZOST}
+ {-1521507600 -7200 0 AZOT}
+ {-1442451600 -3600 1 AZOST}
+ {-1426813200 -7200 0 AZOT}
+ {-1379293200 -3600 1 AZOST}
+ {-1364778000 -7200 0 AZOT}
+ {-1348448400 -3600 1 AZOST}
+ {-1333328400 -7200 0 AZOT}
+ {-1316394000 -3600 1 AZOST}
+ {-1301274000 -7200 0 AZOT}
+ {-1284339600 -3600 1 AZOST}
+ {-1269824400 -7200 0 AZOT}
+ {-1221440400 -3600 1 AZOST}
+ {-1206925200 -7200 0 AZOT}
+ {-1191200400 -3600 1 AZOST}
+ {-1175475600 -7200 0 AZOT}
+ {-1127696400 -3600 1 AZOST}
+ {-1111971600 -7200 0 AZOT}
+ {-1096851600 -3600 1 AZOST}
+ {-1080522000 -7200 0 AZOT}
+ {-1063587600 -3600 1 AZOST}
+ {-1049072400 -7200 0 AZOT}
+ {-1033347600 -3600 1 AZOST}
+ {-1017622800 -7200 0 AZOT}
+ {-1002502800 -3600 1 AZOST}
+ {-986173200 -7200 0 AZOT}
+ {-969238800 -3600 1 AZOST}
+ {-950490000 -7200 0 AZOT}
+ {-942022800 -3600 1 AZOST}
+ {-922669200 -7200 0 AZOT}
+ {-906944400 -3600 1 AZOST}
+ {-891133200 -7200 0 AZOT}
+ {-877309200 -3600 1 AZOST}
+ {-873684000 0 1 AZOMT}
+ {-864007200 -3600 1 AZOST}
+ {-857955600 -7200 0 AZOT}
+ {-845859600 -3600 1 AZOST}
+ {-842839200 0 1 AZOMT}
+ {-831348000 -3600 1 AZOST}
+ {-825901200 -7200 0 AZOT}
+ {-814410000 -3600 1 AZOST}
+ {-810784800 0 1 AZOMT}
+ {-799898400 -3600 1 AZOST}
+ {-794451600 -7200 0 AZOT}
+ {-782960400 -3600 1 AZOST}
+ {-779335200 0 1 AZOMT}
+ {-768448800 -3600 1 AZOST}
+ {-763002000 -7200 0 AZOT}
+ {-749091600 -3600 1 AZOST}
+ {-733366800 -7200 0 AZOT}
+ {-717631200 -3600 1 AZOST}
+ {-701906400 -7200 0 AZOT}
+ {-686181600 -3600 1 AZOST}
+ {-670456800 -7200 0 AZOT}
+ {-654732000 -3600 1 AZOST}
+ {-639007200 -7200 0 AZOT}
+ {-591832800 -3600 1 AZOST}
+ {-575503200 -7200 0 AZOT}
+ {-559778400 -3600 1 AZOST}
+ {-544053600 -7200 0 AZOT}
+ {-528328800 -3600 1 AZOST}
+ {-512604000 -7200 0 AZOT}
+ {-496879200 -3600 1 AZOST}
+ {-481154400 -7200 0 AZOT}
+ {-465429600 -3600 1 AZOST}
+ {-449704800 -7200 0 AZOT}
+ {-433980000 -3600 1 AZOST}
+ {-417650400 -7200 0 AZOT}
+ {-401925600 -3600 1 AZOST}
+ {-386200800 -7200 0 AZOT}
+ {-370476000 -3600 1 AZOST}
+ {-354751200 -7200 0 AZOT}
+ {-339026400 -3600 1 AZOST}
+ {-323301600 -7200 0 AZOT}
+ {-307576800 -3600 1 AZOST}
+ {-291852000 -7200 0 AZOT}
+ {-276127200 -3600 1 AZOST}
+ {-260402400 -7200 0 AZOT}
+ {-244677600 -3600 1 AZOST}
+ {-228348000 -7200 0 AZOT}
+ {-212623200 -3600 1 AZOST}
+ {-196898400 -7200 0 AZOT}
+ {-181173600 -3600 1 AZOST}
+ {-165448800 -7200 0 AZOT}
+ {-149724000 -3600 1 AZOST}
+ {-133999200 -7200 0 AZOT}
+ {-118267200 -3600 0 AZOT}
+ {228268800 0 1 AZOST}
+ {243993600 -3600 0 AZOT}
+ {260323200 0 1 AZOST}
+ {276048000 -3600 0 AZOT}
+ {291772800 0 1 AZOST}
+ {307501200 -3600 0 AZOT}
+ {323222400 0 1 AZOST}
+ {338950800 -3600 0 AZOT}
+ {354675600 0 1 AZOST}
+ {370400400 -3600 0 AZOT}
+ {386125200 0 1 AZOST}
+ {401850000 -3600 0 AZOT}
+ {417578400 0 1 AZOST}
+ {433299600 -3600 0 AZOT}
+ {449024400 0 1 AZOST}
+ {465354000 -3600 0 AZOT}
+ {481078800 0 1 AZOST}
+ {496803600 -3600 0 AZOT}
+ {512528400 0 1 AZOST}
+ {528253200 -3600 0 AZOT}
+ {543978000 0 1 AZOST}
+ {559702800 -3600 0 AZOT}
+ {575427600 0 1 AZOST}
+ {591152400 -3600 0 AZOT}
+ {606877200 0 1 AZOST}
+ {622602000 -3600 0 AZOT}
+ {638326800 0 1 AZOST}
+ {654656400 -3600 0 AZOT}
+ {670381200 0 1 AZOST}
+ {686106000 -3600 0 AZOT}
+ {701830800 0 1 AZOST}
+ {733280400 0 0 AZOST}
+ {749005200 -3600 0 AZOT}
+ {764730000 0 1 AZOST}
+ {780454800 -3600 0 AZOT}
+ {796179600 0 1 AZOST}
+ {811904400 -3600 0 AZOT}
+ {828234000 0 1 AZOST}
+ {846378000 -3600 0 AZOT}
+ {859683600 0 1 AZOST}
+ {877827600 -3600 0 AZOT}
+ {891133200 0 1 AZOST}
+ {909277200 -3600 0 AZOT}
+ {922582800 0 1 AZOST}
+ {941331600 -3600 0 AZOT}
+ {954032400 0 1 AZOST}
+ {972781200 -3600 0 AZOT}
+ {985482000 0 1 AZOST}
+ {1004230800 -3600 0 AZOT}
+ {1017536400 0 1 AZOST}
+ {1035680400 -3600 0 AZOT}
+ {1048986000 0 1 AZOST}
+ {1067130000 -3600 0 AZOT}
+ {1080435600 0 1 AZOST}
+ {1099184400 -3600 0 AZOT}
+ {1111885200 0 1 AZOST}
+ {1130634000 -3600 0 AZOT}
+ {1143334800 0 1 AZOST}
+ {1162083600 -3600 0 AZOT}
+ {1174784400 0 1 AZOST}
+ {1193533200 -3600 0 AZOT}
+ {1206838800 0 1 AZOST}
+ {1224982800 -3600 0 AZOT}
+ {1238288400 0 1 AZOST}
+ {1256432400 -3600 0 AZOT}
+ {1269738000 0 1 AZOST}
+ {1288486800 -3600 0 AZOT}
+ {1301187600 0 1 AZOST}
+ {1319936400 -3600 0 AZOT}
+ {1332637200 0 1 AZOST}
+ {1351386000 -3600 0 AZOT}
+ {1364691600 0 1 AZOST}
+ {1382835600 -3600 0 AZOT}
+ {1396141200 0 1 AZOST}
+ {1414285200 -3600 0 AZOT}
+ {1427590800 0 1 AZOST}
+ {1445734800 -3600 0 AZOT}
+ {1459040400 0 1 AZOST}
+ {1477789200 -3600 0 AZOT}
+ {1490490000 0 1 AZOST}
+ {1509238800 -3600 0 AZOT}
+ {1521939600 0 1 AZOST}
+ {1540688400 -3600 0 AZOT}
+ {1553994000 0 1 AZOST}
+ {1572138000 -3600 0 AZOT}
+ {1585443600 0 1 AZOST}
+ {1603587600 -3600 0 AZOT}
+ {1616893200 0 1 AZOST}
+ {1635642000 -3600 0 AZOT}
+ {1648342800 0 1 AZOST}
+ {1667091600 -3600 0 AZOT}
+ {1679792400 0 1 AZOST}
+ {1698541200 -3600 0 AZOT}
+ {1711846800 0 1 AZOST}
+ {1729990800 -3600 0 AZOT}
+ {1743296400 0 1 AZOST}
+ {1761440400 -3600 0 AZOT}
+ {1774746000 0 1 AZOST}
+ {1792890000 -3600 0 AZOT}
+ {1806195600 0 1 AZOST}
+ {1824944400 -3600 0 AZOT}
+ {1837645200 0 1 AZOST}
+ {1856394000 -3600 0 AZOT}
+ {1869094800 0 1 AZOST}
+ {1887843600 -3600 0 AZOT}
+ {1901149200 0 1 AZOST}
+ {1919293200 -3600 0 AZOT}
+ {1932598800 0 1 AZOST}
+ {1950742800 -3600 0 AZOT}
+ {1964048400 0 1 AZOST}
+ {1982797200 -3600 0 AZOT}
+ {1995498000 0 1 AZOST}
+ {2014246800 -3600 0 AZOT}
+ {2026947600 0 1 AZOST}
+ {2045696400 -3600 0 AZOT}
+ {2058397200 0 1 AZOST}
+ {2077146000 -3600 0 AZOT}
+ {2090451600 0 1 AZOST}
+ {2108595600 -3600 0 AZOT}
+ {2121901200 0 1 AZOST}
+ {2140045200 -3600 0 AZOT}
+ {2153350800 0 1 AZOST}
+ {2172099600 -3600 0 AZOT}
+ {2184800400 0 1 AZOST}
+ {2203549200 -3600 0 AZOT}
+ {2216250000 0 1 AZOST}
+ {2234998800 -3600 0 AZOT}
+ {2248304400 0 1 AZOST}
+ {2266448400 -3600 0 AZOT}
+ {2279754000 0 1 AZOST}
+ {2297898000 -3600 0 AZOT}
+ {2311203600 0 1 AZOST}
+ {2329347600 -3600 0 AZOT}
+ {2342653200 0 1 AZOST}
+ {2361402000 -3600 0 AZOT}
+ {2374102800 0 1 AZOST}
+ {2392851600 -3600 0 AZOT}
+ {2405552400 0 1 AZOST}
+ {2424301200 -3600 0 AZOT}
+ {2437606800 0 1 AZOST}
+ {2455750800 -3600 0 AZOT}
+ {2469056400 0 1 AZOST}
+ {2487200400 -3600 0 AZOT}
+ {2500506000 0 1 AZOST}
+ {2519254800 -3600 0 AZOT}
+ {2531955600 0 1 AZOST}
+ {2550704400 -3600 0 AZOT}
+ {2563405200 0 1 AZOST}
+ {2582154000 -3600 0 AZOT}
+ {2595459600 0 1 AZOST}
+ {2613603600 -3600 0 AZOT}
+ {2626909200 0 1 AZOST}
+ {2645053200 -3600 0 AZOT}
+ {2658358800 0 1 AZOST}
+ {2676502800 -3600 0 AZOT}
+ {2689808400 0 1 AZOST}
+ {2708557200 -3600 0 AZOT}
+ {2721258000 0 1 AZOST}
+ {2740006800 -3600 0 AZOT}
+ {2752707600 0 1 AZOST}
+ {2771456400 -3600 0 AZOT}
+ {2784762000 0 1 AZOST}
+ {2802906000 -3600 0 AZOT}
+ {2816211600 0 1 AZOST}
+ {2834355600 -3600 0 AZOT}
+ {2847661200 0 1 AZOST}
+ {2866410000 -3600 0 AZOT}
+ {2879110800 0 1 AZOST}
+ {2897859600 -3600 0 AZOT}
+ {2910560400 0 1 AZOST}
+ {2929309200 -3600 0 AZOT}
+ {2942010000 0 1 AZOST}
+ {2960758800 -3600 0 AZOT}
+ {2974064400 0 1 AZOST}
+ {2992208400 -3600 0 AZOT}
+ {3005514000 0 1 AZOST}
+ {3023658000 -3600 0 AZOT}
+ {3036963600 0 1 AZOST}
+ {3055712400 -3600 0 AZOT}
+ {3068413200 0 1 AZOST}
+ {3087162000 -3600 0 AZOT}
+ {3099862800 0 1 AZOST}
+ {3118611600 -3600 0 AZOT}
+ {3131917200 0 1 AZOST}
+ {3150061200 -3600 0 AZOT}
+ {3163366800 0 1 AZOST}
+ {3181510800 -3600 0 AZOT}
+ {3194816400 0 1 AZOST}
+ {3212960400 -3600 0 AZOT}
+ {3226266000 0 1 AZOST}
+ {3245014800 -3600 0 AZOT}
+ {3257715600 0 1 AZOST}
+ {3276464400 -3600 0 AZOT}
+ {3289165200 0 1 AZOST}
+ {3307914000 -3600 0 AZOT}
+ {3321219600 0 1 AZOST}
+ {3339363600 -3600 0 AZOT}
+ {3352669200 0 1 AZOST}
+ {3370813200 -3600 0 AZOT}
+ {3384118800 0 1 AZOST}
+ {3402867600 -3600 0 AZOT}
+ {3415568400 0 1 AZOST}
+ {3434317200 -3600 0 AZOT}
+ {3447018000 0 1 AZOST}
+ {3465766800 -3600 0 AZOT}
+ {3479072400 0 1 AZOST}
+ {3497216400 -3600 0 AZOT}
+ {3510522000 0 1 AZOST}
+ {3528666000 -3600 0 AZOT}
+ {3541971600 0 1 AZOST}
+ {3560115600 -3600 0 AZOT}
+ {3573421200 0 1 AZOST}
+ {3592170000 -3600 0 AZOT}
+ {3604870800 0 1 AZOST}
+ {3623619600 -3600 0 AZOT}
+ {3636320400 0 1 AZOST}
+ {3655069200 -3600 0 AZOT}
+ {3668374800 0 1 AZOST}
+ {3686518800 -3600 0 AZOT}
+ {3699824400 0 1 AZOST}
+ {3717968400 -3600 0 AZOT}
+ {3731274000 0 1 AZOST}
+ {3750022800 -3600 0 AZOT}
+ {3762723600 0 1 AZOST}
+ {3781472400 -3600 0 AZOT}
+ {3794173200 0 1 AZOST}
+ {3812922000 -3600 0 AZOT}
+ {3825622800 0 1 AZOST}
+ {3844371600 -3600 0 AZOT}
+ {3857677200 0 1 AZOST}
+ {3875821200 -3600 0 AZOT}
+ {3889126800 0 1 AZOST}
+ {3907270800 -3600 0 AZOT}
+ {3920576400 0 1 AZOST}
+ {3939325200 -3600 0 AZOT}
+ {3952026000 0 1 AZOST}
+ {3970774800 -3600 0 AZOT}
+ {3983475600 0 1 AZOST}
+ {4002224400 -3600 0 AZOT}
+ {4015530000 0 1 AZOST}
+ {4033674000 -3600 0 AZOT}
+ {4046979600 0 1 AZOST}
+ {4065123600 -3600 0 AZOT}
+ {4078429200 0 1 AZOST}
+ {4096573200 -3600 0 AZOT}
+}
diff --git a/library/tzdata/Atlantic/Bermuda b/library/tzdata/Atlantic/Bermuda
new file mode 100644
index 0000000..9f340e4
--- /dev/null
+++ b/library/tzdata/Atlantic/Bermuda
@@ -0,0 +1,258 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Atlantic/Bermuda) {
+ {-9223372036854775808 -15544 0 LMT}
+ {-1262281256 -14400 0 AST}
+ {136360800 -10800 0 ADT}
+ {152082000 -14400 0 AST}
+ {167810400 -10800 1 ADT}
+ {183531600 -14400 0 AST}
+ {199260000 -10800 1 ADT}
+ {215586000 -14400 0 AST}
+ {230709600 -10800 1 ADT}
+ {247035600 -14400 0 AST}
+ {262764000 -10800 1 ADT}
+ {278485200 -14400 0 AST}
+ {294213600 -10800 1 ADT}
+ {309934800 -14400 0 AST}
+ {325663200 -10800 1 ADT}
+ {341384400 -14400 0 AST}
+ {357112800 -10800 1 ADT}
+ {372834000 -14400 0 AST}
+ {388562400 -10800 1 ADT}
+ {404888400 -14400 0 AST}
+ {420012000 -10800 1 ADT}
+ {436338000 -14400 0 AST}
+ {452066400 -10800 1 ADT}
+ {467787600 -14400 0 AST}
+ {483516000 -10800 1 ADT}
+ {499237200 -14400 0 AST}
+ {514965600 -10800 1 ADT}
+ {530686800 -14400 0 AST}
+ {544600800 -10800 1 ADT}
+ {562136400 -14400 0 AST}
+ {576050400 -10800 1 ADT}
+ {594190800 -14400 0 AST}
+ {607500000 -10800 1 ADT}
+ {625640400 -14400 0 AST}
+ {638949600 -10800 1 ADT}
+ {657090000 -14400 0 AST}
+ {671004000 -10800 1 ADT}
+ {688539600 -14400 0 AST}
+ {702453600 -10800 1 ADT}
+ {719989200 -14400 0 AST}
+ {733903200 -10800 1 ADT}
+ {752043600 -14400 0 AST}
+ {765352800 -10800 1 ADT}
+ {783493200 -14400 0 AST}
+ {796802400 -10800 1 ADT}
+ {814942800 -14400 0 AST}
+ {828856800 -10800 1 ADT}
+ {846392400 -14400 0 AST}
+ {860306400 -10800 1 ADT}
+ {877842000 -14400 0 AST}
+ {891756000 -10800 1 ADT}
+ {909291600 -14400 0 AST}
+ {923205600 -10800 1 ADT}
+ {941346000 -14400 0 AST}
+ {954655200 -10800 1 ADT}
+ {972795600 -14400 0 AST}
+ {986104800 -10800 1 ADT}
+ {1004245200 -14400 0 AST}
+ {1018159200 -10800 1 ADT}
+ {1035694800 -14400 0 AST}
+ {1049608800 -10800 1 ADT}
+ {1067144400 -14400 0 AST}
+ {1081058400 -10800 1 ADT}
+ {1099198800 -14400 0 AST}
+ {1112508000 -10800 1 ADT}
+ {1130648400 -14400 0 AST}
+ {1143957600 -10800 1 ADT}
+ {1162098000 -14400 0 AST}
+ {1175407200 -10800 1 ADT}
+ {1193547600 -14400 0 AST}
+ {1207461600 -10800 1 ADT}
+ {1224997200 -14400 0 AST}
+ {1238911200 -10800 1 ADT}
+ {1256446800 -14400 0 AST}
+ {1270360800 -10800 1 ADT}
+ {1288501200 -14400 0 AST}
+ {1301810400 -10800 1 ADT}
+ {1319950800 -14400 0 AST}
+ {1333260000 -10800 1 ADT}
+ {1351400400 -14400 0 AST}
+ {1365314400 -10800 1 ADT}
+ {1382850000 -14400 0 AST}
+ {1396764000 -10800 1 ADT}
+ {1414299600 -14400 0 AST}
+ {1428213600 -10800 1 ADT}
+ {1445749200 -14400 0 AST}
+ {1459663200 -10800 1 ADT}
+ {1477803600 -14400 0 AST}
+ {1491112800 -10800 1 ADT}
+ {1509253200 -14400 0 AST}
+ {1522562400 -10800 1 ADT}
+ {1540702800 -14400 0 AST}
+ {1554616800 -10800 1 ADT}
+ {1572152400 -14400 0 AST}
+ {1586066400 -10800 1 ADT}
+ {1603602000 -14400 0 AST}
+ {1617516000 -10800 1 ADT}
+ {1635656400 -14400 0 AST}
+ {1648965600 -10800 1 ADT}
+ {1667106000 -14400 0 AST}
+ {1680415200 -10800 1 ADT}
+ {1698555600 -14400 0 AST}
+ {1712469600 -10800 1 ADT}
+ {1730005200 -14400 0 AST}
+ {1743919200 -10800 1 ADT}
+ {1761454800 -14400 0 AST}
+ {1775368800 -10800 1 ADT}
+ {1792904400 -14400 0 AST}
+ {1806818400 -10800 1 ADT}
+ {1824958800 -14400 0 AST}
+ {1838268000 -10800 1 ADT}
+ {1856408400 -14400 0 AST}
+ {1869717600 -10800 1 ADT}
+ {1887858000 -14400 0 AST}
+ {1901772000 -10800 1 ADT}
+ {1919307600 -14400 0 AST}
+ {1933221600 -10800 1 ADT}
+ {1950757200 -14400 0 AST}
+ {1964671200 -10800 1 ADT}
+ {1982811600 -14400 0 AST}
+ {1996120800 -10800 1 ADT}
+ {2014261200 -14400 0 AST}
+ {2027570400 -10800 1 ADT}
+ {2045710800 -14400 0 AST}
+ {2059020000 -10800 1 ADT}
+ {2077160400 -14400 0 AST}
+ {2091074400 -10800 1 ADT}
+ {2108610000 -14400 0 AST}
+ {2122524000 -10800 1 ADT}
+ {2140059600 -14400 0 AST}
+ {2153973600 -10800 1 ADT}
+ {2172114000 -14400 0 AST}
+ {2185423200 -10800 1 ADT}
+ {2203563600 -14400 0 AST}
+ {2216872800 -10800 1 ADT}
+ {2235013200 -14400 0 AST}
+ {2248927200 -10800 1 ADT}
+ {2266462800 -14400 0 AST}
+ {2280376800 -10800 1 ADT}
+ {2297912400 -14400 0 AST}
+ {2311826400 -10800 1 ADT}
+ {2329362000 -14400 0 AST}
+ {2343276000 -10800 1 ADT}
+ {2361416400 -14400 0 AST}
+ {2374725600 -10800 1 ADT}
+ {2392866000 -14400 0 AST}
+ {2406175200 -10800 1 ADT}
+ {2424315600 -14400 0 AST}
+ {2438229600 -10800 1 ADT}
+ {2455765200 -14400 0 AST}
+ {2469679200 -10800 1 ADT}
+ {2487214800 -14400 0 AST}
+ {2501128800 -10800 1 ADT}
+ {2519269200 -14400 0 AST}
+ {2532578400 -10800 1 ADT}
+ {2550718800 -14400 0 AST}
+ {2564028000 -10800 1 ADT}
+ {2582168400 -14400 0 AST}
+ {2596082400 -10800 1 ADT}
+ {2613618000 -14400 0 AST}
+ {2627532000 -10800 1 ADT}
+ {2645067600 -14400 0 AST}
+ {2658981600 -10800 1 ADT}
+ {2676517200 -14400 0 AST}
+ {2690431200 -10800 1 ADT}
+ {2708571600 -14400 0 AST}
+ {2721880800 -10800 1 ADT}
+ {2740021200 -14400 0 AST}
+ {2753330400 -10800 1 ADT}
+ {2771470800 -14400 0 AST}
+ {2785384800 -10800 1 ADT}
+ {2802920400 -14400 0 AST}
+ {2816834400 -10800 1 ADT}
+ {2834370000 -14400 0 AST}
+ {2848284000 -10800 1 ADT}
+ {2866424400 -14400 0 AST}
+ {2879733600 -10800 1 ADT}
+ {2897874000 -14400 0 AST}
+ {2911183200 -10800 1 ADT}
+ {2929323600 -14400 0 AST}
+ {2942632800 -10800 1 ADT}
+ {2960773200 -14400 0 AST}
+ {2974687200 -10800 1 ADT}
+ {2992222800 -14400 0 AST}
+ {3006136800 -10800 1 ADT}
+ {3023672400 -14400 0 AST}
+ {3037586400 -10800 1 ADT}
+ {3055726800 -14400 0 AST}
+ {3069036000 -10800 1 ADT}
+ {3087176400 -14400 0 AST}
+ {3100485600 -10800 1 ADT}
+ {3118626000 -14400 0 AST}
+ {3132540000 -10800 1 ADT}
+ {3150075600 -14400 0 AST}
+ {3163989600 -10800 1 ADT}
+ {3181525200 -14400 0 AST}
+ {3195439200 -10800 1 ADT}
+ {3212974800 -14400 0 AST}
+ {3226888800 -10800 1 ADT}
+ {3245029200 -14400 0 AST}
+ {3258338400 -10800 1 ADT}
+ {3276478800 -14400 0 AST}
+ {3289788000 -10800 1 ADT}
+ {3307928400 -14400 0 AST}
+ {3321842400 -10800 1 ADT}
+ {3339378000 -14400 0 AST}
+ {3353292000 -10800 1 ADT}
+ {3370827600 -14400 0 AST}
+ {3384741600 -10800 1 ADT}
+ {3402882000 -14400 0 AST}
+ {3416191200 -10800 1 ADT}
+ {3434331600 -14400 0 AST}
+ {3447640800 -10800 1 ADT}
+ {3465781200 -14400 0 AST}
+ {3479695200 -10800 1 ADT}
+ {3497230800 -14400 0 AST}
+ {3511144800 -10800 1 ADT}
+ {3528680400 -14400 0 AST}
+ {3542594400 -10800 1 ADT}
+ {3560130000 -14400 0 AST}
+ {3574044000 -10800 1 ADT}
+ {3592184400 -14400 0 AST}
+ {3605493600 -10800 1 ADT}
+ {3623634000 -14400 0 AST}
+ {3636943200 -10800 1 ADT}
+ {3655083600 -14400 0 AST}
+ {3668997600 -10800 1 ADT}
+ {3686533200 -14400 0 AST}
+ {3700447200 -10800 1 ADT}
+ {3717982800 -14400 0 AST}
+ {3731896800 -10800 1 ADT}
+ {3750037200 -14400 0 AST}
+ {3763346400 -10800 1 ADT}
+ {3781486800 -14400 0 AST}
+ {3794796000 -10800 1 ADT}
+ {3812936400 -14400 0 AST}
+ {3826245600 -10800 1 ADT}
+ {3844386000 -14400 0 AST}
+ {3858300000 -10800 1 ADT}
+ {3875835600 -14400 0 AST}
+ {3889749600 -10800 1 ADT}
+ {3907285200 -14400 0 AST}
+ {3921199200 -10800 1 ADT}
+ {3939339600 -14400 0 AST}
+ {3952648800 -10800 1 ADT}
+ {3970789200 -14400 0 AST}
+ {3984098400 -10800 1 ADT}
+ {4002238800 -14400 0 AST}
+ {4016152800 -10800 1 ADT}
+ {4033688400 -14400 0 AST}
+ {4047602400 -10800 1 ADT}
+ {4065138000 -14400 0 AST}
+ {4079052000 -10800 1 ADT}
+ {4096587600 -14400 0 AST}
+}
diff --git a/library/tzdata/Atlantic/Canary b/library/tzdata/Atlantic/Canary
new file mode 100644
index 0000000..4549ef3
--- /dev/null
+++ b/library/tzdata/Atlantic/Canary
@@ -0,0 +1,248 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Atlantic/Canary) {
+ {-9223372036854775808 -3696 0 LMT}
+ {-1509663504 -3600 0 CANT}
+ {-733874400 0 0 WET}
+ {323827200 3600 1 WEST}
+ {338947200 3600 0 WEST}
+ {338950800 0 0 WET}
+ {354675600 3600 1 WEST}
+ {370400400 0 0 WET}
+ {386125200 3600 1 WEST}
+ {401850000 0 0 WET}
+ {417574800 3600 1 WEST}
+ {433299600 0 0 WET}
+ {449024400 3600 1 WEST}
+ {465354000 0 0 WET}
+ {481078800 3600 1 WEST}
+ {496803600 0 0 WET}
+ {512528400 3600 1 WEST}
+ {528253200 0 0 WET}
+ {543978000 3600 1 WEST}
+ {559702800 0 0 WET}
+ {575427600 3600 1 WEST}
+ {591152400 0 0 WET}
+ {606877200 3600 1 WEST}
+ {622602000 0 0 WET}
+ {638326800 3600 1 WEST}
+ {654656400 0 0 WET}
+ {670381200 3600 1 WEST}
+ {686106000 0 0 WET}
+ {701830800 3600 1 WEST}
+ {717555600 0 0 WET}
+ {733280400 3600 1 WEST}
+ {749005200 0 0 WET}
+ {764730000 3600 1 WEST}
+ {780454800 0 0 WET}
+ {796179600 3600 1 WEST}
+ {811904400 0 0 WET}
+ {828234000 3600 1 WEST}
+ {846378000 0 0 WET}
+ {859683600 3600 1 WEST}
+ {877827600 0 0 WET}
+ {891133200 3600 1 WEST}
+ {909277200 0 0 WET}
+ {922582800 3600 1 WEST}
+ {941331600 0 0 WET}
+ {954032400 3600 1 WEST}
+ {972781200 0 0 WET}
+ {985482000 3600 1 WEST}
+ {1004230800 0 0 WET}
+ {1017536400 3600 1 WEST}
+ {1035680400 0 0 WET}
+ {1048986000 3600 1 WEST}
+ {1067130000 0 0 WET}
+ {1080435600 3600 1 WEST}
+ {1099184400 0 0 WET}
+ {1111885200 3600 1 WEST}
+ {1130634000 0 0 WET}
+ {1143334800 3600 1 WEST}
+ {1162083600 0 0 WET}
+ {1174784400 3600 1 WEST}
+ {1193533200 0 0 WET}
+ {1206838800 3600 1 WEST}
+ {1224982800 0 0 WET}
+ {1238288400 3600 1 WEST}
+ {1256432400 0 0 WET}
+ {1269738000 3600 1 WEST}
+ {1288486800 0 0 WET}
+ {1301187600 3600 1 WEST}
+ {1319936400 0 0 WET}
+ {1332637200 3600 1 WEST}
+ {1351386000 0 0 WET}
+ {1364691600 3600 1 WEST}
+ {1382835600 0 0 WET}
+ {1396141200 3600 1 WEST}
+ {1414285200 0 0 WET}
+ {1427590800 3600 1 WEST}
+ {1445734800 0 0 WET}
+ {1459040400 3600 1 WEST}
+ {1477789200 0 0 WET}
+ {1490490000 3600 1 WEST}
+ {1509238800 0 0 WET}
+ {1521939600 3600 1 WEST}
+ {1540688400 0 0 WET}
+ {1553994000 3600 1 WEST}
+ {1572138000 0 0 WET}
+ {1585443600 3600 1 WEST}
+ {1603587600 0 0 WET}
+ {1616893200 3600 1 WEST}
+ {1635642000 0 0 WET}
+ {1648342800 3600 1 WEST}
+ {1667091600 0 0 WET}
+ {1679792400 3600 1 WEST}
+ {1698541200 0 0 WET}
+ {1711846800 3600 1 WEST}
+ {1729990800 0 0 WET}
+ {1743296400 3600 1 WEST}
+ {1761440400 0 0 WET}
+ {1774746000 3600 1 WEST}
+ {1792890000 0 0 WET}
+ {1806195600 3600 1 WEST}
+ {1824944400 0 0 WET}
+ {1837645200 3600 1 WEST}
+ {1856394000 0 0 WET}
+ {1869094800 3600 1 WEST}
+ {1887843600 0 0 WET}
+ {1901149200 3600 1 WEST}
+ {1919293200 0 0 WET}
+ {1932598800 3600 1 WEST}
+ {1950742800 0 0 WET}
+ {1964048400 3600 1 WEST}
+ {1982797200 0 0 WET}
+ {1995498000 3600 1 WEST}
+ {2014246800 0 0 WET}
+ {2026947600 3600 1 WEST}
+ {2045696400 0 0 WET}
+ {2058397200 3600 1 WEST}
+ {2077146000 0 0 WET}
+ {2090451600 3600 1 WEST}
+ {2108595600 0 0 WET}
+ {2121901200 3600 1 WEST}
+ {2140045200 0 0 WET}
+ {2153350800 3600 1 WEST}
+ {2172099600 0 0 WET}
+ {2184800400 3600 1 WEST}
+ {2203549200 0 0 WET}
+ {2216250000 3600 1 WEST}
+ {2234998800 0 0 WET}
+ {2248304400 3600 1 WEST}
+ {2266448400 0 0 WET}
+ {2279754000 3600 1 WEST}
+ {2297898000 0 0 WET}
+ {2311203600 3600 1 WEST}
+ {2329347600 0 0 WET}
+ {2342653200 3600 1 WEST}
+ {2361402000 0 0 WET}
+ {2374102800 3600 1 WEST}
+ {2392851600 0 0 WET}
+ {2405552400 3600 1 WEST}
+ {2424301200 0 0 WET}
+ {2437606800 3600 1 WEST}
+ {2455750800 0 0 WET}
+ {2469056400 3600 1 WEST}
+ {2487200400 0 0 WET}
+ {2500506000 3600 1 WEST}
+ {2519254800 0 0 WET}
+ {2531955600 3600 1 WEST}
+ {2550704400 0 0 WET}
+ {2563405200 3600 1 WEST}
+ {2582154000 0 0 WET}
+ {2595459600 3600 1 WEST}
+ {2613603600 0 0 WET}
+ {2626909200 3600 1 WEST}
+ {2645053200 0 0 WET}
+ {2658358800 3600 1 WEST}
+ {2676502800 0 0 WET}
+ {2689808400 3600 1 WEST}
+ {2708557200 0 0 WET}
+ {2721258000 3600 1 WEST}
+ {2740006800 0 0 WET}
+ {2752707600 3600 1 WEST}
+ {2771456400 0 0 WET}
+ {2784762000 3600 1 WEST}
+ {2802906000 0 0 WET}
+ {2816211600 3600 1 WEST}
+ {2834355600 0 0 WET}
+ {2847661200 3600 1 WEST}
+ {2866410000 0 0 WET}
+ {2879110800 3600 1 WEST}
+ {2897859600 0 0 WET}
+ {2910560400 3600 1 WEST}
+ {2929309200 0 0 WET}
+ {2942010000 3600 1 WEST}
+ {2960758800 0 0 WET}
+ {2974064400 3600 1 WEST}
+ {2992208400 0 0 WET}
+ {3005514000 3600 1 WEST}
+ {3023658000 0 0 WET}
+ {3036963600 3600 1 WEST}
+ {3055712400 0 0 WET}
+ {3068413200 3600 1 WEST}
+ {3087162000 0 0 WET}
+ {3099862800 3600 1 WEST}
+ {3118611600 0 0 WET}
+ {3131917200 3600 1 WEST}
+ {3150061200 0 0 WET}
+ {3163366800 3600 1 WEST}
+ {3181510800 0 0 WET}
+ {3194816400 3600 1 WEST}
+ {3212960400 0 0 WET}
+ {3226266000 3600 1 WEST}
+ {3245014800 0 0 WET}
+ {3257715600 3600 1 WEST}
+ {3276464400 0 0 WET}
+ {3289165200 3600 1 WEST}
+ {3307914000 0 0 WET}
+ {3321219600 3600 1 WEST}
+ {3339363600 0 0 WET}
+ {3352669200 3600 1 WEST}
+ {3370813200 0 0 WET}
+ {3384118800 3600 1 WEST}
+ {3402867600 0 0 WET}
+ {3415568400 3600 1 WEST}
+ {3434317200 0 0 WET}
+ {3447018000 3600 1 WEST}
+ {3465766800 0 0 WET}
+ {3479072400 3600 1 WEST}
+ {3497216400 0 0 WET}
+ {3510522000 3600 1 WEST}
+ {3528666000 0 0 WET}
+ {3541971600 3600 1 WEST}
+ {3560115600 0 0 WET}
+ {3573421200 3600 1 WEST}
+ {3592170000 0 0 WET}
+ {3604870800 3600 1 WEST}
+ {3623619600 0 0 WET}
+ {3636320400 3600 1 WEST}
+ {3655069200 0 0 WET}
+ {3668374800 3600 1 WEST}
+ {3686518800 0 0 WET}
+ {3699824400 3600 1 WEST}
+ {3717968400 0 0 WET}
+ {3731274000 3600 1 WEST}
+ {3750022800 0 0 WET}
+ {3762723600 3600 1 WEST}
+ {3781472400 0 0 WET}
+ {3794173200 3600 1 WEST}
+ {3812922000 0 0 WET}
+ {3825622800 3600 1 WEST}
+ {3844371600 0 0 WET}
+ {3857677200 3600 1 WEST}
+ {3875821200 0 0 WET}
+ {3889126800 3600 1 WEST}
+ {3907270800 0 0 WET}
+ {3920576400 3600 1 WEST}
+ {3939325200 0 0 WET}
+ {3952026000 3600 1 WEST}
+ {3970774800 0 0 WET}
+ {3983475600 3600 1 WEST}
+ {4002224400 0 0 WET}
+ {4015530000 3600 1 WEST}
+ {4033674000 0 0 WET}
+ {4046979600 3600 1 WEST}
+ {4065123600 0 0 WET}
+ {4078429200 3600 1 WEST}
+ {4096573200 0 0 WET}
+}
diff --git a/library/tzdata/Atlantic/Cape_Verde b/library/tzdata/Atlantic/Cape_Verde
new file mode 100644
index 0000000..59103d4
--- /dev/null
+++ b/library/tzdata/Atlantic/Cape_Verde
@@ -0,0 +1,9 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Atlantic/Cape_Verde) {
+ {-9223372036854775808 -5644 0 LMT}
+ {-1988144756 -7200 0 CVT}
+ {-862610400 -3600 1 CVST}
+ {-764118000 -7200 0 CVT}
+ {186120000 -3600 0 CVT}
+}
diff --git a/library/tzdata/Atlantic/Faeroe b/library/tzdata/Atlantic/Faeroe
new file mode 100644
index 0000000..a8751fd
--- /dev/null
+++ b/library/tzdata/Atlantic/Faeroe
@@ -0,0 +1,245 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Atlantic/Faeroe) {
+ {-9223372036854775808 -1624 0 LMT}
+ {-1955748776 0 0 WET}
+ {347155200 0 0 WET}
+ {354675600 3600 1 WEST}
+ {370400400 0 0 WET}
+ {386125200 3600 1 WEST}
+ {401850000 0 0 WET}
+ {417574800 3600 1 WEST}
+ {433299600 0 0 WET}
+ {449024400 3600 1 WEST}
+ {465354000 0 0 WET}
+ {481078800 3600 1 WEST}
+ {496803600 0 0 WET}
+ {512528400 3600 1 WEST}
+ {528253200 0 0 WET}
+ {543978000 3600 1 WEST}
+ {559702800 0 0 WET}
+ {575427600 3600 1 WEST}
+ {591152400 0 0 WET}
+ {606877200 3600 1 WEST}
+ {622602000 0 0 WET}
+ {638326800 3600 1 WEST}
+ {654656400 0 0 WET}
+ {670381200 3600 1 WEST}
+ {686106000 0 0 WET}
+ {701830800 3600 1 WEST}
+ {717555600 0 0 WET}
+ {733280400 3600 1 WEST}
+ {749005200 0 0 WET}
+ {764730000 3600 1 WEST}
+ {780454800 0 0 WET}
+ {796179600 3600 1 WEST}
+ {811904400 0 0 WET}
+ {828234000 3600 1 WEST}
+ {846378000 0 0 WET}
+ {859683600 3600 1 WEST}
+ {877827600 0 0 WET}
+ {891133200 3600 1 WEST}
+ {909277200 0 0 WET}
+ {922582800 3600 1 WEST}
+ {941331600 0 0 WET}
+ {954032400 3600 1 WEST}
+ {972781200 0 0 WET}
+ {985482000 3600 1 WEST}
+ {1004230800 0 0 WET}
+ {1017536400 3600 1 WEST}
+ {1035680400 0 0 WET}
+ {1048986000 3600 1 WEST}
+ {1067130000 0 0 WET}
+ {1080435600 3600 1 WEST}
+ {1099184400 0 0 WET}
+ {1111885200 3600 1 WEST}
+ {1130634000 0 0 WET}
+ {1143334800 3600 1 WEST}
+ {1162083600 0 0 WET}
+ {1174784400 3600 1 WEST}
+ {1193533200 0 0 WET}
+ {1206838800 3600 1 WEST}
+ {1224982800 0 0 WET}
+ {1238288400 3600 1 WEST}
+ {1256432400 0 0 WET}
+ {1269738000 3600 1 WEST}
+ {1288486800 0 0 WET}
+ {1301187600 3600 1 WEST}
+ {1319936400 0 0 WET}
+ {1332637200 3600 1 WEST}
+ {1351386000 0 0 WET}
+ {1364691600 3600 1 WEST}
+ {1382835600 0 0 WET}
+ {1396141200 3600 1 WEST}
+ {1414285200 0 0 WET}
+ {1427590800 3600 1 WEST}
+ {1445734800 0 0 WET}
+ {1459040400 3600 1 WEST}
+ {1477789200 0 0 WET}
+ {1490490000 3600 1 WEST}
+ {1509238800 0 0 WET}
+ {1521939600 3600 1 WEST}
+ {1540688400 0 0 WET}
+ {1553994000 3600 1 WEST}
+ {1572138000 0 0 WET}
+ {1585443600 3600 1 WEST}
+ {1603587600 0 0 WET}
+ {1616893200 3600 1 WEST}
+ {1635642000 0 0 WET}
+ {1648342800 3600 1 WEST}
+ {1667091600 0 0 WET}
+ {1679792400 3600 1 WEST}
+ {1698541200 0 0 WET}
+ {1711846800 3600 1 WEST}
+ {1729990800 0 0 WET}
+ {1743296400 3600 1 WEST}
+ {1761440400 0 0 WET}
+ {1774746000 3600 1 WEST}
+ {1792890000 0 0 WET}
+ {1806195600 3600 1 WEST}
+ {1824944400 0 0 WET}
+ {1837645200 3600 1 WEST}
+ {1856394000 0 0 WET}
+ {1869094800 3600 1 WEST}
+ {1887843600 0 0 WET}
+ {1901149200 3600 1 WEST}
+ {1919293200 0 0 WET}
+ {1932598800 3600 1 WEST}
+ {1950742800 0 0 WET}
+ {1964048400 3600 1 WEST}
+ {1982797200 0 0 WET}
+ {1995498000 3600 1 WEST}
+ {2014246800 0 0 WET}
+ {2026947600 3600 1 WEST}
+ {2045696400 0 0 WET}
+ {2058397200 3600 1 WEST}
+ {2077146000 0 0 WET}
+ {2090451600 3600 1 WEST}
+ {2108595600 0 0 WET}
+ {2121901200 3600 1 WEST}
+ {2140045200 0 0 WET}
+ {2153350800 3600 1 WEST}
+ {2172099600 0 0 WET}
+ {2184800400 3600 1 WEST}
+ {2203549200 0 0 WET}
+ {2216250000 3600 1 WEST}
+ {2234998800 0 0 WET}
+ {2248304400 3600 1 WEST}
+ {2266448400 0 0 WET}
+ {2279754000 3600 1 WEST}
+ {2297898000 0 0 WET}
+ {2311203600 3600 1 WEST}
+ {2329347600 0 0 WET}
+ {2342653200 3600 1 WEST}
+ {2361402000 0 0 WET}
+ {2374102800 3600 1 WEST}
+ {2392851600 0 0 WET}
+ {2405552400 3600 1 WEST}
+ {2424301200 0 0 WET}
+ {2437606800 3600 1 WEST}
+ {2455750800 0 0 WET}
+ {2469056400 3600 1 WEST}
+ {2487200400 0 0 WET}
+ {2500506000 3600 1 WEST}
+ {2519254800 0 0 WET}
+ {2531955600 3600 1 WEST}
+ {2550704400 0 0 WET}
+ {2563405200 3600 1 WEST}
+ {2582154000 0 0 WET}
+ {2595459600 3600 1 WEST}
+ {2613603600 0 0 WET}
+ {2626909200 3600 1 WEST}
+ {2645053200 0 0 WET}
+ {2658358800 3600 1 WEST}
+ {2676502800 0 0 WET}
+ {2689808400 3600 1 WEST}
+ {2708557200 0 0 WET}
+ {2721258000 3600 1 WEST}
+ {2740006800 0 0 WET}
+ {2752707600 3600 1 WEST}
+ {2771456400 0 0 WET}
+ {2784762000 3600 1 WEST}
+ {2802906000 0 0 WET}
+ {2816211600 3600 1 WEST}
+ {2834355600 0 0 WET}
+ {2847661200 3600 1 WEST}
+ {2866410000 0 0 WET}
+ {2879110800 3600 1 WEST}
+ {2897859600 0 0 WET}
+ {2910560400 3600 1 WEST}
+ {2929309200 0 0 WET}
+ {2942010000 3600 1 WEST}
+ {2960758800 0 0 WET}
+ {2974064400 3600 1 WEST}
+ {2992208400 0 0 WET}
+ {3005514000 3600 1 WEST}
+ {3023658000 0 0 WET}
+ {3036963600 3600 1 WEST}
+ {3055712400 0 0 WET}
+ {3068413200 3600 1 WEST}
+ {3087162000 0 0 WET}
+ {3099862800 3600 1 WEST}
+ {3118611600 0 0 WET}
+ {3131917200 3600 1 WEST}
+ {3150061200 0 0 WET}
+ {3163366800 3600 1 WEST}
+ {3181510800 0 0 WET}
+ {3194816400 3600 1 WEST}
+ {3212960400 0 0 WET}
+ {3226266000 3600 1 WEST}
+ {3245014800 0 0 WET}
+ {3257715600 3600 1 WEST}
+ {3276464400 0 0 WET}
+ {3289165200 3600 1 WEST}
+ {3307914000 0 0 WET}
+ {3321219600 3600 1 WEST}
+ {3339363600 0 0 WET}
+ {3352669200 3600 1 WEST}
+ {3370813200 0 0 WET}
+ {3384118800 3600 1 WEST}
+ {3402867600 0 0 WET}
+ {3415568400 3600 1 WEST}
+ {3434317200 0 0 WET}
+ {3447018000 3600 1 WEST}
+ {3465766800 0 0 WET}
+ {3479072400 3600 1 WEST}
+ {3497216400 0 0 WET}
+ {3510522000 3600 1 WEST}
+ {3528666000 0 0 WET}
+ {3541971600 3600 1 WEST}
+ {3560115600 0 0 WET}
+ {3573421200 3600 1 WEST}
+ {3592170000 0 0 WET}
+ {3604870800 3600 1 WEST}
+ {3623619600 0 0 WET}
+ {3636320400 3600 1 WEST}
+ {3655069200 0 0 WET}
+ {3668374800 3600 1 WEST}
+ {3686518800 0 0 WET}
+ {3699824400 3600 1 WEST}
+ {3717968400 0 0 WET}
+ {3731274000 3600 1 WEST}
+ {3750022800 0 0 WET}
+ {3762723600 3600 1 WEST}
+ {3781472400 0 0 WET}
+ {3794173200 3600 1 WEST}
+ {3812922000 0 0 WET}
+ {3825622800 3600 1 WEST}
+ {3844371600 0 0 WET}
+ {3857677200 3600 1 WEST}
+ {3875821200 0 0 WET}
+ {3889126800 3600 1 WEST}
+ {3907270800 0 0 WET}
+ {3920576400 3600 1 WEST}
+ {3939325200 0 0 WET}
+ {3952026000 3600 1 WEST}
+ {3970774800 0 0 WET}
+ {3983475600 3600 1 WEST}
+ {4002224400 0 0 WET}
+ {4015530000 3600 1 WEST}
+ {4033674000 0 0 WET}
+ {4046979600 3600 1 WEST}
+ {4065123600 0 0 WET}
+ {4078429200 3600 1 WEST}
+ {4096573200 0 0 WET}
+}
diff --git a/library/tzdata/Atlantic/Jan_Mayen b/library/tzdata/Atlantic/Jan_Mayen
new file mode 100644
index 0000000..259fb61
--- /dev/null
+++ b/library/tzdata/Atlantic/Jan_Mayen
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Oslo)]} {
+ loadTimeZoneFile Europe/Oslo
+}
+set tzdata(:Atlantic/Jan_Mayen) $TZData(:Europe/Oslo)
diff --git a/library/tzdata/Atlantic/Madeira b/library/tzdata/Atlantic/Madeira
new file mode 100644
index 0000000..0a59565
--- /dev/null
+++ b/library/tzdata/Atlantic/Madeira
@@ -0,0 +1,350 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Atlantic/Madeira) {
+ {-9223372036854775808 -4056 0 LMT}
+ {-2713906344 -4056 0 FMT}
+ {-1849560744 -3600 0 MADT}
+ {-1689552000 0 1 MADST}
+ {-1677798000 -3600 0 MADT}
+ {-1667437200 0 1 MADST}
+ {-1647738000 -3600 0 MADT}
+ {-1635814800 0 1 MADST}
+ {-1616202000 -3600 0 MADT}
+ {-1604365200 0 1 MADST}
+ {-1584666000 -3600 0 MADT}
+ {-1572742800 0 1 MADST}
+ {-1553043600 -3600 0 MADT}
+ {-1541206800 0 1 MADST}
+ {-1521507600 -3600 0 MADT}
+ {-1442451600 0 1 MADST}
+ {-1426813200 -3600 0 MADT}
+ {-1379293200 0 1 MADST}
+ {-1364778000 -3600 0 MADT}
+ {-1348448400 0 1 MADST}
+ {-1333328400 -3600 0 MADT}
+ {-1316394000 0 1 MADST}
+ {-1301274000 -3600 0 MADT}
+ {-1284339600 0 1 MADST}
+ {-1269824400 -3600 0 MADT}
+ {-1221440400 0 1 MADST}
+ {-1206925200 -3600 0 MADT}
+ {-1191200400 0 1 MADST}
+ {-1175475600 -3600 0 MADT}
+ {-1127696400 0 1 MADST}
+ {-1111971600 -3600 0 MADT}
+ {-1096851600 0 1 MADST}
+ {-1080522000 -3600 0 MADT}
+ {-1063587600 0 1 MADST}
+ {-1049072400 -3600 0 MADT}
+ {-1033347600 0 1 MADST}
+ {-1017622800 -3600 0 MADT}
+ {-1002502800 0 1 MADST}
+ {-986173200 -3600 0 MADT}
+ {-969238800 0 1 MADST}
+ {-950490000 -3600 0 MADT}
+ {-942022800 0 1 MADST}
+ {-922669200 -3600 0 MADT}
+ {-906944400 0 1 MADST}
+ {-891133200 -3600 0 MADT}
+ {-877309200 0 1 MADST}
+ {-873684000 3600 1 MADMT}
+ {-864007200 0 1 MADST}
+ {-857955600 -3600 0 MADT}
+ {-845859600 0 1 MADST}
+ {-842839200 3600 1 MADMT}
+ {-831348000 0 1 MADST}
+ {-825901200 -3600 0 MADT}
+ {-814410000 0 1 MADST}
+ {-810784800 3600 1 MADMT}
+ {-799898400 0 1 MADST}
+ {-794451600 -3600 0 MADT}
+ {-782960400 0 1 MADST}
+ {-779335200 3600 1 MADMT}
+ {-768448800 0 1 MADST}
+ {-763002000 -3600 0 MADT}
+ {-749091600 0 1 MADST}
+ {-733366800 -3600 0 MADT}
+ {-717631200 0 1 MADST}
+ {-701906400 -3600 0 MADT}
+ {-686181600 0 1 MADST}
+ {-670456800 -3600 0 MADT}
+ {-654732000 0 1 MADST}
+ {-639007200 -3600 0 MADT}
+ {-591832800 0 1 MADST}
+ {-575503200 -3600 0 MADT}
+ {-559778400 0 1 MADST}
+ {-544053600 -3600 0 MADT}
+ {-528328800 0 1 MADST}
+ {-512604000 -3600 0 MADT}
+ {-496879200 0 1 MADST}
+ {-481154400 -3600 0 MADT}
+ {-465429600 0 1 MADST}
+ {-449704800 -3600 0 MADT}
+ {-433980000 0 1 MADST}
+ {-417650400 -3600 0 MADT}
+ {-401925600 0 1 MADST}
+ {-386200800 -3600 0 MADT}
+ {-370476000 0 1 MADST}
+ {-354751200 -3600 0 MADT}
+ {-339026400 0 1 MADST}
+ {-323301600 -3600 0 MADT}
+ {-307576800 0 1 MADST}
+ {-291852000 -3600 0 MADT}
+ {-276127200 0 1 MADST}
+ {-260402400 -3600 0 MADT}
+ {-244677600 0 1 MADST}
+ {-228348000 -3600 0 MADT}
+ {-212623200 0 1 MADST}
+ {-196898400 -3600 0 MADT}
+ {-181173600 0 1 MADST}
+ {-165448800 -3600 0 MADT}
+ {-149724000 0 1 MADST}
+ {-133999200 -3600 0 MADT}
+ {-118270800 0 0 WET}
+ {228268800 3600 1 WEST}
+ {243993600 0 0 WET}
+ {260323200 3600 1 WEST}
+ {276048000 0 0 WET}
+ {291772800 3600 1 WEST}
+ {307501200 0 0 WET}
+ {323222400 3600 1 WEST}
+ {338950800 0 0 WET}
+ {354675600 3600 1 WEST}
+ {370400400 0 0 WET}
+ {386125200 3600 1 WEST}
+ {401850000 0 0 WET}
+ {417578400 3600 1 WEST}
+ {433299600 0 0 WET}
+ {449024400 3600 1 WEST}
+ {465354000 0 0 WET}
+ {481078800 3600 1 WEST}
+ {496803600 0 0 WET}
+ {512528400 3600 1 WEST}
+ {528253200 0 0 WET}
+ {543978000 3600 1 WEST}
+ {559702800 0 0 WET}
+ {575427600 3600 1 WEST}
+ {591152400 0 0 WET}
+ {606877200 3600 1 WEST}
+ {622602000 0 0 WET}
+ {638326800 3600 1 WEST}
+ {654656400 0 0 WET}
+ {670381200 3600 1 WEST}
+ {686106000 0 0 WET}
+ {701830800 3600 1 WEST}
+ {717555600 0 0 WET}
+ {733280400 3600 1 WEST}
+ {749005200 0 0 WET}
+ {764730000 3600 1 WEST}
+ {780454800 0 0 WET}
+ {796179600 3600 1 WEST}
+ {811904400 0 0 WET}
+ {828234000 3600 1 WEST}
+ {846378000 0 0 WET}
+ {859683600 3600 1 WEST}
+ {877827600 0 0 WET}
+ {891133200 3600 1 WEST}
+ {909277200 0 0 WET}
+ {922582800 3600 1 WEST}
+ {941331600 0 0 WET}
+ {954032400 3600 1 WEST}
+ {972781200 0 0 WET}
+ {985482000 3600 1 WEST}
+ {1004230800 0 0 WET}
+ {1017536400 3600 1 WEST}
+ {1035680400 0 0 WET}
+ {1048986000 3600 1 WEST}
+ {1067130000 0 0 WET}
+ {1080435600 3600 1 WEST}
+ {1099184400 0 0 WET}
+ {1111885200 3600 1 WEST}
+ {1130634000 0 0 WET}
+ {1143334800 3600 1 WEST}
+ {1162083600 0 0 WET}
+ {1174784400 3600 1 WEST}
+ {1193533200 0 0 WET}
+ {1206838800 3600 1 WEST}
+ {1224982800 0 0 WET}
+ {1238288400 3600 1 WEST}
+ {1256432400 0 0 WET}
+ {1269738000 3600 1 WEST}
+ {1288486800 0 0 WET}
+ {1301187600 3600 1 WEST}
+ {1319936400 0 0 WET}
+ {1332637200 3600 1 WEST}
+ {1351386000 0 0 WET}
+ {1364691600 3600 1 WEST}
+ {1382835600 0 0 WET}
+ {1396141200 3600 1 WEST}
+ {1414285200 0 0 WET}
+ {1427590800 3600 1 WEST}
+ {1445734800 0 0 WET}
+ {1459040400 3600 1 WEST}
+ {1477789200 0 0 WET}
+ {1490490000 3600 1 WEST}
+ {1509238800 0 0 WET}
+ {1521939600 3600 1 WEST}
+ {1540688400 0 0 WET}
+ {1553994000 3600 1 WEST}
+ {1572138000 0 0 WET}
+ {1585443600 3600 1 WEST}
+ {1603587600 0 0 WET}
+ {1616893200 3600 1 WEST}
+ {1635642000 0 0 WET}
+ {1648342800 3600 1 WEST}
+ {1667091600 0 0 WET}
+ {1679792400 3600 1 WEST}
+ {1698541200 0 0 WET}
+ {1711846800 3600 1 WEST}
+ {1729990800 0 0 WET}
+ {1743296400 3600 1 WEST}
+ {1761440400 0 0 WET}
+ {1774746000 3600 1 WEST}
+ {1792890000 0 0 WET}
+ {1806195600 3600 1 WEST}
+ {1824944400 0 0 WET}
+ {1837645200 3600 1 WEST}
+ {1856394000 0 0 WET}
+ {1869094800 3600 1 WEST}
+ {1887843600 0 0 WET}
+ {1901149200 3600 1 WEST}
+ {1919293200 0 0 WET}
+ {1932598800 3600 1 WEST}
+ {1950742800 0 0 WET}
+ {1964048400 3600 1 WEST}
+ {1982797200 0 0 WET}
+ {1995498000 3600 1 WEST}
+ {2014246800 0 0 WET}
+ {2026947600 3600 1 WEST}
+ {2045696400 0 0 WET}
+ {2058397200 3600 1 WEST}
+ {2077146000 0 0 WET}
+ {2090451600 3600 1 WEST}
+ {2108595600 0 0 WET}
+ {2121901200 3600 1 WEST}
+ {2140045200 0 0 WET}
+ {2153350800 3600 1 WEST}
+ {2172099600 0 0 WET}
+ {2184800400 3600 1 WEST}
+ {2203549200 0 0 WET}
+ {2216250000 3600 1 WEST}
+ {2234998800 0 0 WET}
+ {2248304400 3600 1 WEST}
+ {2266448400 0 0 WET}
+ {2279754000 3600 1 WEST}
+ {2297898000 0 0 WET}
+ {2311203600 3600 1 WEST}
+ {2329347600 0 0 WET}
+ {2342653200 3600 1 WEST}
+ {2361402000 0 0 WET}
+ {2374102800 3600 1 WEST}
+ {2392851600 0 0 WET}
+ {2405552400 3600 1 WEST}
+ {2424301200 0 0 WET}
+ {2437606800 3600 1 WEST}
+ {2455750800 0 0 WET}
+ {2469056400 3600 1 WEST}
+ {2487200400 0 0 WET}
+ {2500506000 3600 1 WEST}
+ {2519254800 0 0 WET}
+ {2531955600 3600 1 WEST}
+ {2550704400 0 0 WET}
+ {2563405200 3600 1 WEST}
+ {2582154000 0 0 WET}
+ {2595459600 3600 1 WEST}
+ {2613603600 0 0 WET}
+ {2626909200 3600 1 WEST}
+ {2645053200 0 0 WET}
+ {2658358800 3600 1 WEST}
+ {2676502800 0 0 WET}
+ {2689808400 3600 1 WEST}
+ {2708557200 0 0 WET}
+ {2721258000 3600 1 WEST}
+ {2740006800 0 0 WET}
+ {2752707600 3600 1 WEST}
+ {2771456400 0 0 WET}
+ {2784762000 3600 1 WEST}
+ {2802906000 0 0 WET}
+ {2816211600 3600 1 WEST}
+ {2834355600 0 0 WET}
+ {2847661200 3600 1 WEST}
+ {2866410000 0 0 WET}
+ {2879110800 3600 1 WEST}
+ {2897859600 0 0 WET}
+ {2910560400 3600 1 WEST}
+ {2929309200 0 0 WET}
+ {2942010000 3600 1 WEST}
+ {2960758800 0 0 WET}
+ {2974064400 3600 1 WEST}
+ {2992208400 0 0 WET}
+ {3005514000 3600 1 WEST}
+ {3023658000 0 0 WET}
+ {3036963600 3600 1 WEST}
+ {3055712400 0 0 WET}
+ {3068413200 3600 1 WEST}
+ {3087162000 0 0 WET}
+ {3099862800 3600 1 WEST}
+ {3118611600 0 0 WET}
+ {3131917200 3600 1 WEST}
+ {3150061200 0 0 WET}
+ {3163366800 3600 1 WEST}
+ {3181510800 0 0 WET}
+ {3194816400 3600 1 WEST}
+ {3212960400 0 0 WET}
+ {3226266000 3600 1 WEST}
+ {3245014800 0 0 WET}
+ {3257715600 3600 1 WEST}
+ {3276464400 0 0 WET}
+ {3289165200 3600 1 WEST}
+ {3307914000 0 0 WET}
+ {3321219600 3600 1 WEST}
+ {3339363600 0 0 WET}
+ {3352669200 3600 1 WEST}
+ {3370813200 0 0 WET}
+ {3384118800 3600 1 WEST}
+ {3402867600 0 0 WET}
+ {3415568400 3600 1 WEST}
+ {3434317200 0 0 WET}
+ {3447018000 3600 1 WEST}
+ {3465766800 0 0 WET}
+ {3479072400 3600 1 WEST}
+ {3497216400 0 0 WET}
+ {3510522000 3600 1 WEST}
+ {3528666000 0 0 WET}
+ {3541971600 3600 1 WEST}
+ {3560115600 0 0 WET}
+ {3573421200 3600 1 WEST}
+ {3592170000 0 0 WET}
+ {3604870800 3600 1 WEST}
+ {3623619600 0 0 WET}
+ {3636320400 3600 1 WEST}
+ {3655069200 0 0 WET}
+ {3668374800 3600 1 WEST}
+ {3686518800 0 0 WET}
+ {3699824400 3600 1 WEST}
+ {3717968400 0 0 WET}
+ {3731274000 3600 1 WEST}
+ {3750022800 0 0 WET}
+ {3762723600 3600 1 WEST}
+ {3781472400 0 0 WET}
+ {3794173200 3600 1 WEST}
+ {3812922000 0 0 WET}
+ {3825622800 3600 1 WEST}
+ {3844371600 0 0 WET}
+ {3857677200 3600 1 WEST}
+ {3875821200 0 0 WET}
+ {3889126800 3600 1 WEST}
+ {3907270800 0 0 WET}
+ {3920576400 3600 1 WEST}
+ {3939325200 0 0 WET}
+ {3952026000 3600 1 WEST}
+ {3970774800 0 0 WET}
+ {3983475600 3600 1 WEST}
+ {4002224400 0 0 WET}
+ {4015530000 3600 1 WEST}
+ {4033674000 0 0 WET}
+ {4046979600 3600 1 WEST}
+ {4065123600 0 0 WET}
+ {4078429200 3600 1 WEST}
+ {4096573200 0 0 WET}
+}
diff --git a/library/tzdata/Atlantic/Reykjavik b/library/tzdata/Atlantic/Reykjavik
new file mode 100644
index 0000000..8508037
--- /dev/null
+++ b/library/tzdata/Atlantic/Reykjavik
@@ -0,0 +1,70 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Atlantic/Reykjavik) {
+ {-9223372036854775808 -5244 0 LMT}
+ {-4197047556 -5268 0 RMT}
+ {-1956609132 -3600 0 IST}
+ {-1668211200 0 1 ISST}
+ {-1647212400 -3600 0 IST}
+ {-1636675200 0 1 ISST}
+ {-1613430000 -3600 0 IST}
+ {-968025600 0 1 ISST}
+ {-949615200 -3600 0 IST}
+ {-942008400 0 1 ISST}
+ {-920239200 -3600 0 IST}
+ {-909961200 0 1 ISST}
+ {-888793200 -3600 0 IST}
+ {-877906800 0 1 ISST}
+ {-857948400 -3600 0 IST}
+ {-846457200 0 1 ISST}
+ {-826498800 -3600 0 IST}
+ {-815007600 0 1 ISST}
+ {-795049200 -3600 0 IST}
+ {-783558000 0 1 ISST}
+ {-762994800 -3600 0 IST}
+ {-752108400 0 1 ISST}
+ {-731545200 -3600 0 IST}
+ {-717634800 0 1 ISST}
+ {-700095600 -3600 0 IST}
+ {-686185200 0 1 ISST}
+ {-668646000 -3600 0 IST}
+ {-654735600 0 1 ISST}
+ {-636591600 -3600 0 IST}
+ {-623286000 0 1 ISST}
+ {-605746800 -3600 0 IST}
+ {-591836400 0 1 ISST}
+ {-573692400 -3600 0 IST}
+ {-559782000 0 1 ISST}
+ {-542242800 -3600 0 IST}
+ {-528332400 0 1 ISST}
+ {-510793200 -3600 0 IST}
+ {-496882800 0 1 ISST}
+ {-479343600 -3600 0 IST}
+ {-465433200 0 1 ISST}
+ {-447894000 -3600 0 IST}
+ {-433983600 0 1 ISST}
+ {-415839600 -3600 0 IST}
+ {-401929200 0 1 ISST}
+ {-384390000 -3600 0 IST}
+ {-370479600 0 1 ISST}
+ {-352940400 -3600 0 IST}
+ {-339030000 0 1 ISST}
+ {-321490800 -3600 0 IST}
+ {-307580400 0 1 ISST}
+ {-290041200 -3600 0 IST}
+ {-276130800 0 1 ISST}
+ {-258591600 -3600 0 IST}
+ {-244681200 0 1 ISST}
+ {-226537200 -3600 0 IST}
+ {-212626800 0 1 ISST}
+ {-195087600 -3600 0 IST}
+ {-181177200 0 1 ISST}
+ {-163638000 -3600 0 IST}
+ {-149727600 0 1 ISST}
+ {-132188400 -3600 0 IST}
+ {-118278000 0 1 ISST}
+ {-100738800 -3600 0 IST}
+ {-86828400 0 1 ISST}
+ {-68684400 -3600 0 IST}
+ {-54774000 0 0 GMT}
+}
diff --git a/library/tzdata/Atlantic/South_Georgia b/library/tzdata/Atlantic/South_Georgia
new file mode 100644
index 0000000..954a298
--- /dev/null
+++ b/library/tzdata/Atlantic/South_Georgia
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Atlantic/South_Georgia) {
+ {-9223372036854775808 -8768 0 LMT}
+ {-2524512832 -7200 0 GST}
+}
diff --git a/library/tzdata/Atlantic/St_Helena b/library/tzdata/Atlantic/St_Helena
new file mode 100644
index 0000000..cdabc47
--- /dev/null
+++ b/library/tzdata/Atlantic/St_Helena
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Atlantic/St_Helena) {
+ {-9223372036854775808 -1368 0 LMT}
+ {-2524520232 -1368 0 JMT}
+ {-599614632 0 0 GMT}
+}
diff --git a/library/tzdata/Atlantic/Stanley b/library/tzdata/Atlantic/Stanley
new file mode 100644
index 0000000..def6400
--- /dev/null
+++ b/library/tzdata/Atlantic/Stanley
@@ -0,0 +1,253 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Atlantic/Stanley) {
+ {-9223372036854775808 -13884 0 LMT}
+ {-2524507716 -13884 0 SMT}
+ {-1824235716 -14400 0 FKT}
+ {-1018209600 -10800 1 FKST}
+ {-1003093200 -14400 0 FKT}
+ {-986760000 -10800 1 FKST}
+ {-971643600 -14400 0 FKT}
+ {-954705600 -10800 1 FKST}
+ {-939589200 -14400 0 FKT}
+ {-923256000 -10800 1 FKST}
+ {-908139600 -14400 0 FKT}
+ {-891806400 -10800 1 FKST}
+ {-876690000 -14400 0 FKT}
+ {-860356800 -10800 1 FKST}
+ {420606000 -7200 0 FKT}
+ {433303200 -7200 1 FKST}
+ {452052000 -10800 0 FKT}
+ {464151600 -7200 1 FKST}
+ {483501600 -10800 0 FKT}
+ {495597600 -14400 0 FKT}
+ {495604800 -10800 1 FKST}
+ {514350000 -14400 0 FKT}
+ {527054400 -10800 1 FKST}
+ {545799600 -14400 0 FKT}
+ {558504000 -10800 1 FKST}
+ {577249200 -14400 0 FKT}
+ {589953600 -10800 1 FKST}
+ {608698800 -14400 0 FKT}
+ {621403200 -10800 1 FKST}
+ {640753200 -14400 0 FKT}
+ {652852800 -10800 1 FKST}
+ {672202800 -14400 0 FKT}
+ {684907200 -10800 1 FKST}
+ {703652400 -14400 0 FKT}
+ {716356800 -10800 1 FKST}
+ {735102000 -14400 0 FKT}
+ {747806400 -10800 1 FKST}
+ {766551600 -14400 0 FKT}
+ {779256000 -10800 1 FKST}
+ {798001200 -14400 0 FKT}
+ {810705600 -10800 1 FKST}
+ {830055600 -14400 0 FKT}
+ {842760000 -10800 1 FKST}
+ {861505200 -14400 0 FKT}
+ {874209600 -10800 1 FKST}
+ {892954800 -14400 0 FKT}
+ {905659200 -10800 1 FKST}
+ {924404400 -14400 0 FKT}
+ {937108800 -10800 1 FKST}
+ {955854000 -14400 0 FKT}
+ {968558400 -10800 1 FKST}
+ {987310800 -14400 0 FKT}
+ {999410400 -10800 1 FKST}
+ {1019365200 -14400 0 FKT}
+ {1030860000 -10800 1 FKST}
+ {1050814800 -14400 0 FKT}
+ {1062914400 -10800 1 FKST}
+ {1082264400 -14400 0 FKT}
+ {1094364000 -10800 1 FKST}
+ {1113714000 -14400 0 FKT}
+ {1125813600 -10800 1 FKST}
+ {1145163600 -14400 0 FKT}
+ {1157263200 -10800 1 FKST}
+ {1176613200 -14400 0 FKT}
+ {1188712800 -10800 1 FKST}
+ {1208667600 -14400 0 FKT}
+ {1220767200 -10800 1 FKST}
+ {1240117200 -14400 0 FKT}
+ {1252216800 -10800 1 FKST}
+ {1271566800 -14400 0 FKT}
+ {1283666400 -10800 1 FKST}
+ {1303016400 -14400 0 FKT}
+ {1315116000 -10800 1 FKST}
+ {1334466000 -14400 0 FKT}
+ {1346565600 -10800 1 FKST}
+ {1366520400 -14400 0 FKT}
+ {1378015200 -10800 1 FKST}
+ {1397970000 -14400 0 FKT}
+ {1410069600 -10800 1 FKST}
+ {1429419600 -14400 0 FKT}
+ {1441519200 -10800 1 FKST}
+ {1460869200 -14400 0 FKT}
+ {1472968800 -10800 1 FKST}
+ {1492318800 -14400 0 FKT}
+ {1504418400 -10800 1 FKST}
+ {1523768400 -14400 0 FKT}
+ {1535868000 -10800 1 FKST}
+ {1555822800 -14400 0 FKT}
+ {1567317600 -10800 1 FKST}
+ {1587272400 -14400 0 FKT}
+ {1599372000 -10800 1 FKST}
+ {1618722000 -14400 0 FKT}
+ {1630821600 -10800 1 FKST}
+ {1650171600 -14400 0 FKT}
+ {1662271200 -10800 1 FKST}
+ {1681621200 -14400 0 FKT}
+ {1693720800 -10800 1 FKST}
+ {1713675600 -14400 0 FKT}
+ {1725170400 -10800 1 FKST}
+ {1745125200 -14400 0 FKT}
+ {1757224800 -10800 1 FKST}
+ {1776574800 -14400 0 FKT}
+ {1788674400 -10800 1 FKST}
+ {1808024400 -14400 0 FKT}
+ {1820124000 -10800 1 FKST}
+ {1839474000 -14400 0 FKT}
+ {1851573600 -10800 1 FKST}
+ {1870923600 -14400 0 FKT}
+ {1883023200 -10800 1 FKST}
+ {1902978000 -14400 0 FKT}
+ {1914472800 -10800 1 FKST}
+ {1934427600 -14400 0 FKT}
+ {1946527200 -10800 1 FKST}
+ {1965877200 -14400 0 FKT}
+ {1977976800 -10800 1 FKST}
+ {1997326800 -14400 0 FKT}
+ {2009426400 -10800 1 FKST}
+ {2028776400 -14400 0 FKT}
+ {2040876000 -10800 1 FKST}
+ {2060226000 -14400 0 FKT}
+ {2072325600 -10800 1 FKST}
+ {2092280400 -14400 0 FKT}
+ {2104380000 -10800 1 FKST}
+ {2123730000 -14400 0 FKT}
+ {2135829600 -10800 1 FKST}
+ {2155179600 -14400 0 FKT}
+ {2167279200 -10800 1 FKST}
+ {2186629200 -14400 0 FKT}
+ {2198728800 -10800 1 FKST}
+ {2218078800 -14400 0 FKT}
+ {2230178400 -10800 1 FKST}
+ {2250133200 -14400 0 FKT}
+ {2261628000 -10800 1 FKST}
+ {2281582800 -14400 0 FKT}
+ {2293682400 -10800 1 FKST}
+ {2313032400 -14400 0 FKT}
+ {2325132000 -10800 1 FKST}
+ {2344482000 -14400 0 FKT}
+ {2356581600 -10800 1 FKST}
+ {2375931600 -14400 0 FKT}
+ {2388031200 -10800 1 FKST}
+ {2407381200 -14400 0 FKT}
+ {2419480800 -10800 1 FKST}
+ {2439435600 -14400 0 FKT}
+ {2450930400 -10800 1 FKST}
+ {2470885200 -14400 0 FKT}
+ {2482984800 -10800 1 FKST}
+ {2502334800 -14400 0 FKT}
+ {2514434400 -10800 1 FKST}
+ {2533784400 -14400 0 FKT}
+ {2545884000 -10800 1 FKST}
+ {2565234000 -14400 0 FKT}
+ {2577333600 -10800 1 FKST}
+ {2597288400 -14400 0 FKT}
+ {2608783200 -10800 1 FKST}
+ {2628738000 -14400 0 FKT}
+ {2640837600 -10800 1 FKST}
+ {2660187600 -14400 0 FKT}
+ {2672287200 -10800 1 FKST}
+ {2691637200 -14400 0 FKT}
+ {2703736800 -10800 1 FKST}
+ {2723086800 -14400 0 FKT}
+ {2735186400 -10800 1 FKST}
+ {2754536400 -14400 0 FKT}
+ {2766636000 -10800 1 FKST}
+ {2786590800 -14400 0 FKT}
+ {2798085600 -10800 1 FKST}
+ {2818040400 -14400 0 FKT}
+ {2830140000 -10800 1 FKST}
+ {2849490000 -14400 0 FKT}
+ {2861589600 -10800 1 FKST}
+ {2880939600 -14400 0 FKT}
+ {2893039200 -10800 1 FKST}
+ {2912389200 -14400 0 FKT}
+ {2924488800 -10800 1 FKST}
+ {2943838800 -14400 0 FKT}
+ {2955938400 -10800 1 FKST}
+ {2975893200 -14400 0 FKT}
+ {2987992800 -10800 1 FKST}
+ {3007342800 -14400 0 FKT}
+ {3019442400 -10800 1 FKST}
+ {3038792400 -14400 0 FKT}
+ {3050892000 -10800 1 FKST}
+ {3070242000 -14400 0 FKT}
+ {3082341600 -10800 1 FKST}
+ {3101691600 -14400 0 FKT}
+ {3113791200 -10800 1 FKST}
+ {3133746000 -14400 0 FKT}
+ {3145240800 -10800 1 FKST}
+ {3165195600 -14400 0 FKT}
+ {3177295200 -10800 1 FKST}
+ {3196645200 -14400 0 FKT}
+ {3208744800 -10800 1 FKST}
+ {3228094800 -14400 0 FKT}
+ {3240194400 -10800 1 FKST}
+ {3259544400 -14400 0 FKT}
+ {3271644000 -10800 1 FKST}
+ {3290994000 -14400 0 FKT}
+ {3303093600 -10800 1 FKST}
+ {3323048400 -14400 0 FKT}
+ {3334543200 -10800 1 FKST}
+ {3354498000 -14400 0 FKT}
+ {3366597600 -10800 1 FKST}
+ {3385947600 -14400 0 FKT}
+ {3398047200 -10800 1 FKST}
+ {3417397200 -14400 0 FKT}
+ {3429496800 -10800 1 FKST}
+ {3448846800 -14400 0 FKT}
+ {3460946400 -10800 1 FKST}
+ {3480901200 -14400 0 FKT}
+ {3492396000 -10800 1 FKST}
+ {3512350800 -14400 0 FKT}
+ {3524450400 -10800 1 FKST}
+ {3543800400 -14400 0 FKT}
+ {3555900000 -10800 1 FKST}
+ {3575250000 -14400 0 FKT}
+ {3587349600 -10800 1 FKST}
+ {3606699600 -14400 0 FKT}
+ {3618799200 -10800 1 FKST}
+ {3638149200 -14400 0 FKT}
+ {3650248800 -10800 1 FKST}
+ {3670203600 -14400 0 FKT}
+ {3681698400 -10800 1 FKST}
+ {3701653200 -14400 0 FKT}
+ {3713752800 -10800 1 FKST}
+ {3733102800 -14400 0 FKT}
+ {3745202400 -10800 1 FKST}
+ {3764552400 -14400 0 FKT}
+ {3776652000 -10800 1 FKST}
+ {3796002000 -14400 0 FKT}
+ {3808101600 -10800 1 FKST}
+ {3827451600 -14400 0 FKT}
+ {3839551200 -10800 1 FKST}
+ {3859506000 -14400 0 FKT}
+ {3871605600 -10800 1 FKST}
+ {3890955600 -14400 0 FKT}
+ {3903055200 -10800 1 FKST}
+ {3922405200 -14400 0 FKT}
+ {3934504800 -10800 1 FKST}
+ {3953854800 -14400 0 FKT}
+ {3965954400 -10800 1 FKST}
+ {3985304400 -14400 0 FKT}
+ {3997404000 -10800 1 FKST}
+ {4017358800 -14400 0 FKT}
+ {4028853600 -10800 1 FKST}
+ {4048808400 -14400 0 FKT}
+ {4060908000 -10800 1 FKST}
+ {4080258000 -14400 0 FKT}
+ {4092357600 -10800 1 FKST}
+}
diff --git a/library/tzdata/Australia/ACT b/library/tzdata/Australia/ACT
new file mode 100644
index 0000000..61c642f
--- /dev/null
+++ b/library/tzdata/Australia/ACT
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Australia/Sydney)]} {
+ loadTimeZoneFile Australia/Sydney
+}
+set tzdata(:Australia/ACT) $TZData(:Australia/Sydney)
diff --git a/library/tzdata/Australia/Adelaide b/library/tzdata/Australia/Adelaide
new file mode 100644
index 0000000..60d48e5
--- /dev/null
+++ b/library/tzdata/Australia/Adelaide
@@ -0,0 +1,273 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Australia/Adelaide) {
+ {-9223372036854775808 33260 0 LMT}
+ {-2364110060 32400 0 CST}
+ {-2230189200 34200 0 CST}
+ {-1672565340 37800 1 CST}
+ {-1665390600 34200 0 CST}
+ {-883639800 37800 1 CST}
+ {-876126600 34200 0 CST}
+ {-860398200 37800 1 CST}
+ {-844677000 34200 0 CST}
+ {-828343800 37800 1 CST}
+ {-813227400 34200 0 CST}
+ {31501800 34200 0 CST}
+ {57722400 37800 1 CST}
+ {68004000 34200 0 CST}
+ {89172000 37800 1 CST}
+ {100058400 34200 0 CST}
+ {120621600 37800 1 CST}
+ {131508000 34200 0 CST}
+ {152071200 37800 1 CST}
+ {162957600 34200 0 CST}
+ {183520800 37800 1 CST}
+ {195012000 34200 0 CST}
+ {215575200 37800 1 CST}
+ {226461600 34200 0 CST}
+ {247024800 37800 1 CST}
+ {257911200 34200 0 CST}
+ {278474400 37800 1 CST}
+ {289360800 34200 0 CST}
+ {309924000 37800 1 CST}
+ {320810400 34200 0 CST}
+ {341373600 37800 1 CST}
+ {352260000 34200 0 CST}
+ {372823200 37800 1 CST}
+ {384314400 34200 0 CST}
+ {404877600 37800 1 CST}
+ {415764000 34200 0 CST}
+ {436327200 37800 1 CST}
+ {447213600 34200 0 CST}
+ {467776800 37800 1 CST}
+ {478663200 34200 0 CST}
+ {499226400 37800 1 CST}
+ {511322400 34200 0 CST}
+ {530071200 37800 1 CST}
+ {542772000 34200 0 CST}
+ {562125600 37800 1 CST}
+ {574826400 34200 0 CST}
+ {594180000 37800 1 CST}
+ {606276000 34200 0 CST}
+ {625629600 37800 1 CST}
+ {637725600 34200 0 CST}
+ {657079200 37800 1 CST}
+ {667965600 34200 0 CST}
+ {688528800 37800 1 CST}
+ {701229600 34200 0 CST}
+ {719978400 37800 1 CST}
+ {731469600 34200 0 CST}
+ {752032800 37800 1 CST}
+ {764128800 34200 0 CST}
+ {783482400 37800 1 CST}
+ {796183200 34200 0 CST}
+ {814932000 37800 1 CST}
+ {828237600 34200 0 CST}
+ {846381600 37800 1 CST}
+ {859687200 34200 0 CST}
+ {877831200 37800 1 CST}
+ {891136800 34200 0 CST}
+ {909280800 37800 1 CST}
+ {922586400 34200 0 CST}
+ {941335200 37800 1 CST}
+ {954036000 34200 0 CST}
+ {972784800 37800 1 CST}
+ {985485600 34200 0 CST}
+ {1004234400 37800 1 CST}
+ {1017540000 34200 0 CST}
+ {1035684000 37800 1 CST}
+ {1048989600 34200 0 CST}
+ {1067133600 37800 1 CST}
+ {1080439200 34200 0 CST}
+ {1099188000 37800 1 CST}
+ {1111888800 34200 0 CST}
+ {1130637600 37800 1 CST}
+ {1143338400 34200 0 CST}
+ {1162087200 37800 1 CST}
+ {1174788000 34200 0 CST}
+ {1193536800 37800 1 CST}
+ {1206842400 34200 0 CST}
+ {1224986400 37800 1 CST}
+ {1238292000 34200 0 CST}
+ {1256436000 37800 1 CST}
+ {1269741600 34200 0 CST}
+ {1288490400 37800 1 CST}
+ {1301191200 34200 0 CST}
+ {1319940000 37800 1 CST}
+ {1332640800 34200 0 CST}
+ {1351389600 37800 1 CST}
+ {1364695200 34200 0 CST}
+ {1382839200 37800 1 CST}
+ {1396144800 34200 0 CST}
+ {1414288800 37800 1 CST}
+ {1427594400 34200 0 CST}
+ {1445738400 37800 1 CST}
+ {1459044000 34200 0 CST}
+ {1477792800 37800 1 CST}
+ {1490493600 34200 0 CST}
+ {1509242400 37800 1 CST}
+ {1521943200 34200 0 CST}
+ {1540692000 37800 1 CST}
+ {1553997600 34200 0 CST}
+ {1572141600 37800 1 CST}
+ {1585447200 34200 0 CST}
+ {1603591200 37800 1 CST}
+ {1616896800 34200 0 CST}
+ {1635645600 37800 1 CST}
+ {1648346400 34200 0 CST}
+ {1667095200 37800 1 CST}
+ {1679796000 34200 0 CST}
+ {1698544800 37800 1 CST}
+ {1711850400 34200 0 CST}
+ {1729994400 37800 1 CST}
+ {1743300000 34200 0 CST}
+ {1761444000 37800 1 CST}
+ {1774749600 34200 0 CST}
+ {1792893600 37800 1 CST}
+ {1806199200 34200 0 CST}
+ {1824948000 37800 1 CST}
+ {1837648800 34200 0 CST}
+ {1856397600 37800 1 CST}
+ {1869098400 34200 0 CST}
+ {1887847200 37800 1 CST}
+ {1901152800 34200 0 CST}
+ {1919296800 37800 1 CST}
+ {1932602400 34200 0 CST}
+ {1950746400 37800 1 CST}
+ {1964052000 34200 0 CST}
+ {1982800800 37800 1 CST}
+ {1995501600 34200 0 CST}
+ {2014250400 37800 1 CST}
+ {2026951200 34200 0 CST}
+ {2045700000 37800 1 CST}
+ {2058400800 34200 0 CST}
+ {2077149600 37800 1 CST}
+ {2090455200 34200 0 CST}
+ {2108599200 37800 1 CST}
+ {2121904800 34200 0 CST}
+ {2140048800 37800 1 CST}
+ {2153354400 34200 0 CST}
+ {2172103200 37800 1 CST}
+ {2184804000 34200 0 CST}
+ {2203552800 37800 1 CST}
+ {2216253600 34200 0 CST}
+ {2235002400 37800 1 CST}
+ {2248308000 34200 0 CST}
+ {2266452000 37800 1 CST}
+ {2279757600 34200 0 CST}
+ {2297901600 37800 1 CST}
+ {2311207200 34200 0 CST}
+ {2329351200 37800 1 CST}
+ {2342656800 34200 0 CST}
+ {2361405600 37800 1 CST}
+ {2374106400 34200 0 CST}
+ {2392855200 37800 1 CST}
+ {2405556000 34200 0 CST}
+ {2424304800 37800 1 CST}
+ {2437610400 34200 0 CST}
+ {2455754400 37800 1 CST}
+ {2469060000 34200 0 CST}
+ {2487204000 37800 1 CST}
+ {2500509600 34200 0 CST}
+ {2519258400 37800 1 CST}
+ {2531959200 34200 0 CST}
+ {2550708000 37800 1 CST}
+ {2563408800 34200 0 CST}
+ {2582157600 37800 1 CST}
+ {2595463200 34200 0 CST}
+ {2613607200 37800 1 CST}
+ {2626912800 34200 0 CST}
+ {2645056800 37800 1 CST}
+ {2658362400 34200 0 CST}
+ {2676506400 37800 1 CST}
+ {2689812000 34200 0 CST}
+ {2708560800 37800 1 CST}
+ {2721261600 34200 0 CST}
+ {2740010400 37800 1 CST}
+ {2752711200 34200 0 CST}
+ {2771460000 37800 1 CST}
+ {2784765600 34200 0 CST}
+ {2802909600 37800 1 CST}
+ {2816215200 34200 0 CST}
+ {2834359200 37800 1 CST}
+ {2847664800 34200 0 CST}
+ {2866413600 37800 1 CST}
+ {2879114400 34200 0 CST}
+ {2897863200 37800 1 CST}
+ {2910564000 34200 0 CST}
+ {2929312800 37800 1 CST}
+ {2942013600 34200 0 CST}
+ {2960762400 37800 1 CST}
+ {2974068000 34200 0 CST}
+ {2992212000 37800 1 CST}
+ {3005517600 34200 0 CST}
+ {3023661600 37800 1 CST}
+ {3036967200 34200 0 CST}
+ {3055716000 37800 1 CST}
+ {3068416800 34200 0 CST}
+ {3087165600 37800 1 CST}
+ {3099866400 34200 0 CST}
+ {3118615200 37800 1 CST}
+ {3131920800 34200 0 CST}
+ {3150064800 37800 1 CST}
+ {3163370400 34200 0 CST}
+ {3181514400 37800 1 CST}
+ {3194820000 34200 0 CST}
+ {3212964000 37800 1 CST}
+ {3226269600 34200 0 CST}
+ {3245018400 37800 1 CST}
+ {3257719200 34200 0 CST}
+ {3276468000 37800 1 CST}
+ {3289168800 34200 0 CST}
+ {3307917600 37800 1 CST}
+ {3321223200 34200 0 CST}
+ {3339367200 37800 1 CST}
+ {3352672800 34200 0 CST}
+ {3370816800 37800 1 CST}
+ {3384122400 34200 0 CST}
+ {3402871200 37800 1 CST}
+ {3415572000 34200 0 CST}
+ {3434320800 37800 1 CST}
+ {3447021600 34200 0 CST}
+ {3465770400 37800 1 CST}
+ {3479076000 34200 0 CST}
+ {3497220000 37800 1 CST}
+ {3510525600 34200 0 CST}
+ {3528669600 37800 1 CST}
+ {3541975200 34200 0 CST}
+ {3560119200 37800 1 CST}
+ {3573424800 34200 0 CST}
+ {3592173600 37800 1 CST}
+ {3604874400 34200 0 CST}
+ {3623623200 37800 1 CST}
+ {3636324000 34200 0 CST}
+ {3655072800 37800 1 CST}
+ {3668378400 34200 0 CST}
+ {3686522400 37800 1 CST}
+ {3699828000 34200 0 CST}
+ {3717972000 37800 1 CST}
+ {3731277600 34200 0 CST}
+ {3750026400 37800 1 CST}
+ {3762727200 34200 0 CST}
+ {3781476000 37800 1 CST}
+ {3794176800 34200 0 CST}
+ {3812925600 37800 1 CST}
+ {3825626400 34200 0 CST}
+ {3844375200 37800 1 CST}
+ {3857680800 34200 0 CST}
+ {3875824800 37800 1 CST}
+ {3889130400 34200 0 CST}
+ {3907274400 37800 1 CST}
+ {3920580000 34200 0 CST}
+ {3939328800 37800 1 CST}
+ {3952029600 34200 0 CST}
+ {3970778400 37800 1 CST}
+ {3983479200 34200 0 CST}
+ {4002228000 37800 1 CST}
+ {4015533600 34200 0 CST}
+ {4033677600 37800 1 CST}
+ {4046983200 34200 0 CST}
+ {4065127200 37800 1 CST}
+ {4078432800 34200 0 CST}
+ {4096576800 37800 1 CST}
+}
diff --git a/library/tzdata/Australia/Brisbane b/library/tzdata/Australia/Brisbane
new file mode 100644
index 0000000..b8008ba
--- /dev/null
+++ b/library/tzdata/Australia/Brisbane
@@ -0,0 +1,23 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Australia/Brisbane) {
+ {-9223372036854775808 36728 0 LMT}
+ {-2366791928 36000 0 EST}
+ {-1672567140 39600 1 EST}
+ {-1665392400 36000 0 EST}
+ {-883641600 39600 1 EST}
+ {-876128400 36000 0 EST}
+ {-860400000 39600 1 EST}
+ {-844678800 36000 0 EST}
+ {-828345600 39600 1 EST}
+ {-813229200 36000 0 EST}
+ {31500000 36000 0 EST}
+ {57722400 39600 1 EST}
+ {68004000 36000 0 EST}
+ {625629600 39600 1 EST}
+ {636516000 36000 0 EST}
+ {657079200 39600 1 EST}
+ {667965600 36000 0 EST}
+ {688528800 39600 1 EST}
+ {699415200 36000 0 EST}
+}
diff --git a/library/tzdata/Australia/Broken_Hill b/library/tzdata/Australia/Broken_Hill
new file mode 100644
index 0000000..9045ba2
--- /dev/null
+++ b/library/tzdata/Australia/Broken_Hill
@@ -0,0 +1,275 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Australia/Broken_Hill) {
+ {-9223372036854775808 33948 0 LMT}
+ {-2364110748 36000 0 EST}
+ {-2314951200 32400 0 CST}
+ {-2230189200 34200 0 CST}
+ {-1672565340 37800 1 CST}
+ {-1665390600 34200 0 CST}
+ {-883639800 37800 1 CST}
+ {-876126600 34200 0 CST}
+ {-860398200 37800 1 CST}
+ {-844677000 34200 0 CST}
+ {-828343800 37800 1 CST}
+ {-813227400 34200 0 CST}
+ {31501800 34200 0 CST}
+ {57722400 37800 1 CST}
+ {68004000 34200 0 CST}
+ {89172000 37800 1 CST}
+ {100058400 34200 0 CST}
+ {120621600 37800 1 CST}
+ {131508000 34200 0 CST}
+ {152071200 37800 1 CST}
+ {162957600 34200 0 CST}
+ {183520800 37800 1 CST}
+ {195012000 34200 0 CST}
+ {215575200 37800 1 CST}
+ {226461600 34200 0 CST}
+ {247024800 37800 1 CST}
+ {257911200 34200 0 CST}
+ {278474400 37800 1 CST}
+ {289360800 34200 0 CST}
+ {309924000 37800 1 CST}
+ {320810400 34200 0 CST}
+ {341373600 37800 1 CST}
+ {352260000 34200 0 CST}
+ {372823200 37800 1 CST}
+ {386733600 34200 0 CST}
+ {404877600 37800 1 CST}
+ {415764000 34200 0 CST}
+ {436327200 37800 1 CST}
+ {447213600 34200 0 CST}
+ {467776800 37800 1 CST}
+ {478663200 34200 0 CST}
+ {499226400 37800 1 CST}
+ {511322400 34200 0 CST}
+ {530071200 37800 1 CST}
+ {542772000 34200 0 CST}
+ {562125600 37800 1 CST}
+ {574826400 34200 0 CST}
+ {594180000 37800 1 CST}
+ {606276000 34200 0 CST}
+ {625629600 37800 1 CST}
+ {636516000 34200 0 CST}
+ {657079200 37800 1 CST}
+ {667965600 34200 0 CST}
+ {688528800 37800 1 CST}
+ {699415200 34200 0 CST}
+ {719978400 37800 1 CST}
+ {731469600 34200 0 CST}
+ {752032800 37800 1 CST}
+ {762919200 34200 0 CST}
+ {783482400 37800 1 CST}
+ {794368800 34200 0 CST}
+ {814932000 37800 1 CST}
+ {828237600 34200 0 CST}
+ {846381600 37800 1 CST}
+ {859687200 34200 0 CST}
+ {877831200 37800 1 CST}
+ {891136800 34200 0 CST}
+ {909280800 37800 1 CST}
+ {922586400 34200 0 CST}
+ {941335200 37800 1 CST}
+ {946647000 37800 0 CST}
+ {954036000 34200 0 CST}
+ {972784800 37800 1 CST}
+ {985485600 34200 0 CST}
+ {1004234400 37800 1 CST}
+ {1017540000 34200 0 CST}
+ {1035684000 37800 1 CST}
+ {1048989600 34200 0 CST}
+ {1067133600 37800 1 CST}
+ {1080439200 34200 0 CST}
+ {1099188000 37800 1 CST}
+ {1111888800 34200 0 CST}
+ {1130637600 37800 1 CST}
+ {1143338400 34200 0 CST}
+ {1162087200 37800 1 CST}
+ {1174788000 34200 0 CST}
+ {1193536800 37800 1 CST}
+ {1206842400 34200 0 CST}
+ {1224986400 37800 1 CST}
+ {1238292000 34200 0 CST}
+ {1256436000 37800 1 CST}
+ {1269741600 34200 0 CST}
+ {1288490400 37800 1 CST}
+ {1301191200 34200 0 CST}
+ {1319940000 37800 1 CST}
+ {1332640800 34200 0 CST}
+ {1351389600 37800 1 CST}
+ {1364695200 34200 0 CST}
+ {1382839200 37800 1 CST}
+ {1396144800 34200 0 CST}
+ {1414288800 37800 1 CST}
+ {1427594400 34200 0 CST}
+ {1445738400 37800 1 CST}
+ {1459044000 34200 0 CST}
+ {1477792800 37800 1 CST}
+ {1490493600 34200 0 CST}
+ {1509242400 37800 1 CST}
+ {1521943200 34200 0 CST}
+ {1540692000 37800 1 CST}
+ {1553997600 34200 0 CST}
+ {1572141600 37800 1 CST}
+ {1585447200 34200 0 CST}
+ {1603591200 37800 1 CST}
+ {1616896800 34200 0 CST}
+ {1635645600 37800 1 CST}
+ {1648346400 34200 0 CST}
+ {1667095200 37800 1 CST}
+ {1679796000 34200 0 CST}
+ {1698544800 37800 1 CST}
+ {1711850400 34200 0 CST}
+ {1729994400 37800 1 CST}
+ {1743300000 34200 0 CST}
+ {1761444000 37800 1 CST}
+ {1774749600 34200 0 CST}
+ {1792893600 37800 1 CST}
+ {1806199200 34200 0 CST}
+ {1824948000 37800 1 CST}
+ {1837648800 34200 0 CST}
+ {1856397600 37800 1 CST}
+ {1869098400 34200 0 CST}
+ {1887847200 37800 1 CST}
+ {1901152800 34200 0 CST}
+ {1919296800 37800 1 CST}
+ {1932602400 34200 0 CST}
+ {1950746400 37800 1 CST}
+ {1964052000 34200 0 CST}
+ {1982800800 37800 1 CST}
+ {1995501600 34200 0 CST}
+ {2014250400 37800 1 CST}
+ {2026951200 34200 0 CST}
+ {2045700000 37800 1 CST}
+ {2058400800 34200 0 CST}
+ {2077149600 37800 1 CST}
+ {2090455200 34200 0 CST}
+ {2108599200 37800 1 CST}
+ {2121904800 34200 0 CST}
+ {2140048800 37800 1 CST}
+ {2153354400 34200 0 CST}
+ {2172103200 37800 1 CST}
+ {2184804000 34200 0 CST}
+ {2203552800 37800 1 CST}
+ {2216253600 34200 0 CST}
+ {2235002400 37800 1 CST}
+ {2248308000 34200 0 CST}
+ {2266452000 37800 1 CST}
+ {2279757600 34200 0 CST}
+ {2297901600 37800 1 CST}
+ {2311207200 34200 0 CST}
+ {2329351200 37800 1 CST}
+ {2342656800 34200 0 CST}
+ {2361405600 37800 1 CST}
+ {2374106400 34200 0 CST}
+ {2392855200 37800 1 CST}
+ {2405556000 34200 0 CST}
+ {2424304800 37800 1 CST}
+ {2437610400 34200 0 CST}
+ {2455754400 37800 1 CST}
+ {2469060000 34200 0 CST}
+ {2487204000 37800 1 CST}
+ {2500509600 34200 0 CST}
+ {2519258400 37800 1 CST}
+ {2531959200 34200 0 CST}
+ {2550708000 37800 1 CST}
+ {2563408800 34200 0 CST}
+ {2582157600 37800 1 CST}
+ {2595463200 34200 0 CST}
+ {2613607200 37800 1 CST}
+ {2626912800 34200 0 CST}
+ {2645056800 37800 1 CST}
+ {2658362400 34200 0 CST}
+ {2676506400 37800 1 CST}
+ {2689812000 34200 0 CST}
+ {2708560800 37800 1 CST}
+ {2721261600 34200 0 CST}
+ {2740010400 37800 1 CST}
+ {2752711200 34200 0 CST}
+ {2771460000 37800 1 CST}
+ {2784765600 34200 0 CST}
+ {2802909600 37800 1 CST}
+ {2816215200 34200 0 CST}
+ {2834359200 37800 1 CST}
+ {2847664800 34200 0 CST}
+ {2866413600 37800 1 CST}
+ {2879114400 34200 0 CST}
+ {2897863200 37800 1 CST}
+ {2910564000 34200 0 CST}
+ {2929312800 37800 1 CST}
+ {2942013600 34200 0 CST}
+ {2960762400 37800 1 CST}
+ {2974068000 34200 0 CST}
+ {2992212000 37800 1 CST}
+ {3005517600 34200 0 CST}
+ {3023661600 37800 1 CST}
+ {3036967200 34200 0 CST}
+ {3055716000 37800 1 CST}
+ {3068416800 34200 0 CST}
+ {3087165600 37800 1 CST}
+ {3099866400 34200 0 CST}
+ {3118615200 37800 1 CST}
+ {3131920800 34200 0 CST}
+ {3150064800 37800 1 CST}
+ {3163370400 34200 0 CST}
+ {3181514400 37800 1 CST}
+ {3194820000 34200 0 CST}
+ {3212964000 37800 1 CST}
+ {3226269600 34200 0 CST}
+ {3245018400 37800 1 CST}
+ {3257719200 34200 0 CST}
+ {3276468000 37800 1 CST}
+ {3289168800 34200 0 CST}
+ {3307917600 37800 1 CST}
+ {3321223200 34200 0 CST}
+ {3339367200 37800 1 CST}
+ {3352672800 34200 0 CST}
+ {3370816800 37800 1 CST}
+ {3384122400 34200 0 CST}
+ {3402871200 37800 1 CST}
+ {3415572000 34200 0 CST}
+ {3434320800 37800 1 CST}
+ {3447021600 34200 0 CST}
+ {3465770400 37800 1 CST}
+ {3479076000 34200 0 CST}
+ {3497220000 37800 1 CST}
+ {3510525600 34200 0 CST}
+ {3528669600 37800 1 CST}
+ {3541975200 34200 0 CST}
+ {3560119200 37800 1 CST}
+ {3573424800 34200 0 CST}
+ {3592173600 37800 1 CST}
+ {3604874400 34200 0 CST}
+ {3623623200 37800 1 CST}
+ {3636324000 34200 0 CST}
+ {3655072800 37800 1 CST}
+ {3668378400 34200 0 CST}
+ {3686522400 37800 1 CST}
+ {3699828000 34200 0 CST}
+ {3717972000 37800 1 CST}
+ {3731277600 34200 0 CST}
+ {3750026400 37800 1 CST}
+ {3762727200 34200 0 CST}
+ {3781476000 37800 1 CST}
+ {3794176800 34200 0 CST}
+ {3812925600 37800 1 CST}
+ {3825626400 34200 0 CST}
+ {3844375200 37800 1 CST}
+ {3857680800 34200 0 CST}
+ {3875824800 37800 1 CST}
+ {3889130400 34200 0 CST}
+ {3907274400 37800 1 CST}
+ {3920580000 34200 0 CST}
+ {3939328800 37800 1 CST}
+ {3952029600 34200 0 CST}
+ {3970778400 37800 1 CST}
+ {3983479200 34200 0 CST}
+ {4002228000 37800 1 CST}
+ {4015533600 34200 0 CST}
+ {4033677600 37800 1 CST}
+ {4046983200 34200 0 CST}
+ {4065127200 37800 1 CST}
+ {4078432800 34200 0 CST}
+ {4096576800 37800 1 CST}
+}
diff --git a/library/tzdata/Australia/Canberra b/library/tzdata/Australia/Canberra
new file mode 100644
index 0000000..5657852
--- /dev/null
+++ b/library/tzdata/Australia/Canberra
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Australia/Sydney)]} {
+ loadTimeZoneFile Australia/Sydney
+}
+set tzdata(:Australia/Canberra) $TZData(:Australia/Sydney)
diff --git a/library/tzdata/Australia/Darwin b/library/tzdata/Australia/Darwin
new file mode 100644
index 0000000..20c532b
--- /dev/null
+++ b/library/tzdata/Australia/Darwin
@@ -0,0 +1,15 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Australia/Darwin) {
+ {-9223372036854775808 31400 0 LMT}
+ {-2364108200 32400 0 CST}
+ {-2230189200 34200 0 CST}
+ {-1672565340 37800 1 CST}
+ {-1665390600 34200 0 CST}
+ {-883639800 37800 1 CST}
+ {-876126600 34200 0 CST}
+ {-860398200 37800 1 CST}
+ {-844677000 34200 0 CST}
+ {-828343800 37800 1 CST}
+ {-813227400 34200 0 CST}
+}
diff --git a/library/tzdata/Australia/Hobart b/library/tzdata/Australia/Hobart
new file mode 100644
index 0000000..7a6cc85
--- /dev/null
+++ b/library/tzdata/Australia/Hobart
@@ -0,0 +1,281 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Australia/Hobart) {
+ {-9223372036854775808 35356 0 LMT}
+ {-2345795356 36000 0 EST}
+ {-1680508800 39600 1 EST}
+ {-1669892400 39600 0 EST}
+ {-1665392400 36000 0 EST}
+ {-883641600 39600 1 EST}
+ {-876128400 36000 0 EST}
+ {-860400000 39600 1 EST}
+ {-844678800 36000 0 EST}
+ {-828345600 39600 1 EST}
+ {-813229200 36000 0 EST}
+ {-94730400 36000 0 EST}
+ {-71100000 39600 1 EST}
+ {-55375200 36000 0 EST}
+ {-37231200 39600 1 EST}
+ {-25740000 36000 0 EST}
+ {-5781600 39600 1 EST}
+ {5709600 36000 0 EST}
+ {25668000 39600 1 EST}
+ {37764000 36000 0 EST}
+ {57722400 39600 1 EST}
+ {68004000 36000 0 EST}
+ {89172000 39600 1 EST}
+ {100058400 36000 0 EST}
+ {120621600 39600 1 EST}
+ {131508000 36000 0 EST}
+ {152071200 39600 1 EST}
+ {162957600 36000 0 EST}
+ {183520800 39600 1 EST}
+ {195012000 36000 0 EST}
+ {215575200 39600 1 EST}
+ {226461600 36000 0 EST}
+ {247024800 39600 1 EST}
+ {257911200 36000 0 EST}
+ {278474400 39600 1 EST}
+ {289360800 36000 0 EST}
+ {309924000 39600 1 EST}
+ {320810400 36000 0 EST}
+ {341373600 39600 1 EST}
+ {352260000 36000 0 EST}
+ {372823200 39600 1 EST}
+ {386128800 36000 0 EST}
+ {404877600 39600 1 EST}
+ {417578400 36000 0 EST}
+ {436327200 39600 1 EST}
+ {447213600 36000 0 EST}
+ {467776800 39600 1 EST}
+ {478663200 36000 0 EST}
+ {499226400 39600 1 EST}
+ {510112800 36000 0 EST}
+ {530071200 39600 1 EST}
+ {542772000 36000 0 EST}
+ {562125600 39600 1 EST}
+ {574826400 36000 0 EST}
+ {594180000 39600 1 EST}
+ {606276000 36000 0 EST}
+ {625629600 39600 1 EST}
+ {637725600 36000 0 EST}
+ {657079200 39600 1 EST}
+ {670384800 36000 0 EST}
+ {686714400 39600 1 EST}
+ {701834400 36000 0 EST}
+ {718164000 39600 1 EST}
+ {733284000 36000 0 EST}
+ {749613600 39600 1 EST}
+ {764733600 36000 0 EST}
+ {781063200 39600 1 EST}
+ {796183200 36000 0 EST}
+ {812512800 39600 1 EST}
+ {828237600 36000 0 EST}
+ {844567200 39600 1 EST}
+ {859687200 36000 0 EST}
+ {876016800 39600 1 EST}
+ {891136800 36000 0 EST}
+ {907466400 39600 1 EST}
+ {922586400 36000 0 EST}
+ {938916000 39600 1 EST}
+ {954036000 36000 0 EST}
+ {967341600 39600 1 EST}
+ {985485600 36000 0 EST}
+ {1002420000 39600 1 EST}
+ {1017540000 36000 0 EST}
+ {1033869600 39600 1 EST}
+ {1048989600 36000 0 EST}
+ {1065319200 39600 1 EST}
+ {1080439200 36000 0 EST}
+ {1096768800 39600 1 EST}
+ {1111888800 36000 0 EST}
+ {1128218400 39600 1 EST}
+ {1143338400 36000 0 EST}
+ {1159668000 39600 1 EST}
+ {1174788000 36000 0 EST}
+ {1191722400 39600 1 EST}
+ {1206842400 36000 0 EST}
+ {1223172000 39600 1 EST}
+ {1238292000 36000 0 EST}
+ {1254621600 39600 1 EST}
+ {1269741600 36000 0 EST}
+ {1286071200 39600 1 EST}
+ {1301191200 36000 0 EST}
+ {1317520800 39600 1 EST}
+ {1332640800 36000 0 EST}
+ {1349575200 39600 1 EST}
+ {1364695200 36000 0 EST}
+ {1381024800 39600 1 EST}
+ {1396144800 36000 0 EST}
+ {1412474400 39600 1 EST}
+ {1427594400 36000 0 EST}
+ {1443924000 39600 1 EST}
+ {1459044000 36000 0 EST}
+ {1475373600 39600 1 EST}
+ {1490493600 36000 0 EST}
+ {1506823200 39600 1 EST}
+ {1521943200 36000 0 EST}
+ {1538877600 39600 1 EST}
+ {1553997600 36000 0 EST}
+ {1570327200 39600 1 EST}
+ {1585447200 36000 0 EST}
+ {1601776800 39600 1 EST}
+ {1616896800 36000 0 EST}
+ {1633226400 39600 1 EST}
+ {1648346400 36000 0 EST}
+ {1664676000 39600 1 EST}
+ {1679796000 36000 0 EST}
+ {1696125600 39600 1 EST}
+ {1711850400 36000 0 EST}
+ {1728180000 39600 1 EST}
+ {1743300000 36000 0 EST}
+ {1759629600 39600 1 EST}
+ {1774749600 36000 0 EST}
+ {1791079200 39600 1 EST}
+ {1806199200 36000 0 EST}
+ {1822528800 39600 1 EST}
+ {1837648800 36000 0 EST}
+ {1853978400 39600 1 EST}
+ {1869098400 36000 0 EST}
+ {1886032800 39600 1 EST}
+ {1901152800 36000 0 EST}
+ {1917482400 39600 1 EST}
+ {1932602400 36000 0 EST}
+ {1948932000 39600 1 EST}
+ {1964052000 36000 0 EST}
+ {1980381600 39600 1 EST}
+ {1995501600 36000 0 EST}
+ {2011831200 39600 1 EST}
+ {2026951200 36000 0 EST}
+ {2043280800 39600 1 EST}
+ {2058400800 36000 0 EST}
+ {2075335200 39600 1 EST}
+ {2090455200 36000 0 EST}
+ {2106784800 39600 1 EST}
+ {2121904800 36000 0 EST}
+ {2138234400 39600 1 EST}
+ {2153354400 36000 0 EST}
+ {2169684000 39600 1 EST}
+ {2184804000 36000 0 EST}
+ {2201133600 39600 1 EST}
+ {2216253600 36000 0 EST}
+ {2233188000 39600 1 EST}
+ {2248308000 36000 0 EST}
+ {2264637600 39600 1 EST}
+ {2279757600 36000 0 EST}
+ {2296087200 39600 1 EST}
+ {2311207200 36000 0 EST}
+ {2327536800 39600 1 EST}
+ {2342656800 36000 0 EST}
+ {2358986400 39600 1 EST}
+ {2374106400 36000 0 EST}
+ {2390436000 39600 1 EST}
+ {2405556000 36000 0 EST}
+ {2422490400 39600 1 EST}
+ {2437610400 36000 0 EST}
+ {2453940000 39600 1 EST}
+ {2469060000 36000 0 EST}
+ {2485389600 39600 1 EST}
+ {2500509600 36000 0 EST}
+ {2516839200 39600 1 EST}
+ {2531959200 36000 0 EST}
+ {2548288800 39600 1 EST}
+ {2563408800 36000 0 EST}
+ {2579738400 39600 1 EST}
+ {2595463200 36000 0 EST}
+ {2611792800 39600 1 EST}
+ {2626912800 36000 0 EST}
+ {2643242400 39600 1 EST}
+ {2658362400 36000 0 EST}
+ {2674692000 39600 1 EST}
+ {2689812000 36000 0 EST}
+ {2706141600 39600 1 EST}
+ {2721261600 36000 0 EST}
+ {2737591200 39600 1 EST}
+ {2752711200 36000 0 EST}
+ {2769645600 39600 1 EST}
+ {2784765600 36000 0 EST}
+ {2801095200 39600 1 EST}
+ {2816215200 36000 0 EST}
+ {2832544800 39600 1 EST}
+ {2847664800 36000 0 EST}
+ {2863994400 39600 1 EST}
+ {2879114400 36000 0 EST}
+ {2895444000 39600 1 EST}
+ {2910564000 36000 0 EST}
+ {2926893600 39600 1 EST}
+ {2942013600 36000 0 EST}
+ {2958948000 39600 1 EST}
+ {2974068000 36000 0 EST}
+ {2990397600 39600 1 EST}
+ {3005517600 36000 0 EST}
+ {3021847200 39600 1 EST}
+ {3036967200 36000 0 EST}
+ {3053296800 39600 1 EST}
+ {3068416800 36000 0 EST}
+ {3084746400 39600 1 EST}
+ {3099866400 36000 0 EST}
+ {3116800800 39600 1 EST}
+ {3131920800 36000 0 EST}
+ {3148250400 39600 1 EST}
+ {3163370400 36000 0 EST}
+ {3179700000 39600 1 EST}
+ {3194820000 36000 0 EST}
+ {3211149600 39600 1 EST}
+ {3226269600 36000 0 EST}
+ {3242599200 39600 1 EST}
+ {3257719200 36000 0 EST}
+ {3274048800 39600 1 EST}
+ {3289168800 36000 0 EST}
+ {3306103200 39600 1 EST}
+ {3321223200 36000 0 EST}
+ {3337552800 39600 1 EST}
+ {3352672800 36000 0 EST}
+ {3369002400 39600 1 EST}
+ {3384122400 36000 0 EST}
+ {3400452000 39600 1 EST}
+ {3415572000 36000 0 EST}
+ {3431901600 39600 1 EST}
+ {3447021600 36000 0 EST}
+ {3463351200 39600 1 EST}
+ {3479076000 36000 0 EST}
+ {3495405600 39600 1 EST}
+ {3510525600 36000 0 EST}
+ {3526855200 39600 1 EST}
+ {3541975200 36000 0 EST}
+ {3558304800 39600 1 EST}
+ {3573424800 36000 0 EST}
+ {3589754400 39600 1 EST}
+ {3604874400 36000 0 EST}
+ {3621204000 39600 1 EST}
+ {3636324000 36000 0 EST}
+ {3653258400 39600 1 EST}
+ {3668378400 36000 0 EST}
+ {3684708000 39600 1 EST}
+ {3699828000 36000 0 EST}
+ {3716157600 39600 1 EST}
+ {3731277600 36000 0 EST}
+ {3747607200 39600 1 EST}
+ {3762727200 36000 0 EST}
+ {3779056800 39600 1 EST}
+ {3794176800 36000 0 EST}
+ {3810506400 39600 1 EST}
+ {3825626400 36000 0 EST}
+ {3842560800 39600 1 EST}
+ {3857680800 36000 0 EST}
+ {3874010400 39600 1 EST}
+ {3889130400 36000 0 EST}
+ {3905460000 39600 1 EST}
+ {3920580000 36000 0 EST}
+ {3936909600 39600 1 EST}
+ {3952029600 36000 0 EST}
+ {3968359200 39600 1 EST}
+ {3983479200 36000 0 EST}
+ {4000413600 39600 1 EST}
+ {4015533600 36000 0 EST}
+ {4031863200 39600 1 EST}
+ {4046983200 36000 0 EST}
+ {4063312800 39600 1 EST}
+ {4078432800 36000 0 EST}
+ {4094762400 39600 1 EST}
+}
diff --git a/library/tzdata/Australia/LHI b/library/tzdata/Australia/LHI
new file mode 100644
index 0000000..df97cad
--- /dev/null
+++ b/library/tzdata/Australia/LHI
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Australia/Lord_Howe)]} {
+ loadTimeZoneFile Australia/Lord_Howe
+}
+set tzdata(:Australia/LHI) $TZData(:Australia/Lord_Howe)
diff --git a/library/tzdata/Australia/Lindeman b/library/tzdata/Australia/Lindeman
new file mode 100644
index 0000000..5e0e6a1
--- /dev/null
+++ b/library/tzdata/Australia/Lindeman
@@ -0,0 +1,28 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Australia/Lindeman) {
+ {-9223372036854775808 35756 0 LMT}
+ {-2366790956 36000 0 EST}
+ {-1672567140 39600 1 EST}
+ {-1665392400 36000 0 EST}
+ {-883641600 39600 1 EST}
+ {-876128400 36000 0 EST}
+ {-860400000 39600 1 EST}
+ {-844678800 36000 0 EST}
+ {-828345600 39600 1 EST}
+ {-813229200 36000 0 EST}
+ {31500000 36000 0 EST}
+ {57722400 39600 1 EST}
+ {68004000 36000 0 EST}
+ {625629600 39600 1 EST}
+ {636516000 36000 0 EST}
+ {657079200 39600 1 EST}
+ {667965600 36000 0 EST}
+ {688528800 39600 1 EST}
+ {699415200 36000 0 EST}
+ {709912800 36000 0 EST}
+ {719978400 39600 1 EST}
+ {731469600 36000 0 EST}
+ {752032800 39600 1 EST}
+ {762919200 36000 0 EST}
+}
diff --git a/library/tzdata/Australia/Lord_Howe b/library/tzdata/Australia/Lord_Howe
new file mode 100644
index 0000000..da561a3
--- /dev/null
+++ b/library/tzdata/Australia/Lord_Howe
@@ -0,0 +1,244 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Australia/Lord_Howe) {
+ {-9223372036854775808 38180 0 LMT}
+ {-2364114980 36000 0 EST}
+ {352216800 37800 0 LHST}
+ {372785400 41400 1 LHST}
+ {384273000 37800 0 LHST}
+ {404839800 41400 1 LHST}
+ {415722600 37800 0 LHST}
+ {436289400 41400 1 LHST}
+ {447172200 37800 0 LHST}
+ {467739000 41400 1 LHST}
+ {478621800 37800 0 LHST}
+ {499188600 39600 1 LHST}
+ {511282800 37800 0 LHST}
+ {530033400 39600 1 LHST}
+ {542732400 37800 0 LHST}
+ {562087800 39600 1 LHST}
+ {574786800 37800 0 LHST}
+ {594142200 39600 1 LHST}
+ {606236400 37800 0 LHST}
+ {625591800 39600 1 LHST}
+ {636476400 37800 0 LHST}
+ {657041400 39600 1 LHST}
+ {667926000 37800 0 LHST}
+ {688491000 39600 1 LHST}
+ {699375600 37800 0 LHST}
+ {719940600 39600 1 LHST}
+ {731430000 37800 0 LHST}
+ {751995000 39600 1 LHST}
+ {762879600 37800 0 LHST}
+ {783444600 39600 1 LHST}
+ {794329200 37800 0 LHST}
+ {814894200 39600 1 LHST}
+ {828198000 37800 0 LHST}
+ {846343800 39600 1 LHST}
+ {859647600 37800 0 LHST}
+ {877793400 39600 1 LHST}
+ {891097200 37800 0 LHST}
+ {909243000 39600 1 LHST}
+ {922546800 37800 0 LHST}
+ {941297400 39600 1 LHST}
+ {953996400 37800 0 LHST}
+ {967303800 39600 1 LHST}
+ {985446000 37800 0 LHST}
+ {1004196600 39600 1 LHST}
+ {1017500400 37800 0 LHST}
+ {1035646200 39600 1 LHST}
+ {1048950000 37800 0 LHST}
+ {1067095800 39600 1 LHST}
+ {1080399600 37800 0 LHST}
+ {1099150200 39600 1 LHST}
+ {1111849200 37800 0 LHST}
+ {1130599800 39600 1 LHST}
+ {1143298800 37800 0 LHST}
+ {1162049400 39600 1 LHST}
+ {1174748400 37800 0 LHST}
+ {1193499000 39600 1 LHST}
+ {1206802800 37800 0 LHST}
+ {1224948600 39600 1 LHST}
+ {1238252400 37800 0 LHST}
+ {1256398200 39600 1 LHST}
+ {1269702000 37800 0 LHST}
+ {1288452600 39600 1 LHST}
+ {1301151600 37800 0 LHST}
+ {1319902200 39600 1 LHST}
+ {1332601200 37800 0 LHST}
+ {1351351800 39600 1 LHST}
+ {1364655600 37800 0 LHST}
+ {1382801400 39600 1 LHST}
+ {1396105200 37800 0 LHST}
+ {1414251000 39600 1 LHST}
+ {1427554800 37800 0 LHST}
+ {1445700600 39600 1 LHST}
+ {1459004400 37800 0 LHST}
+ {1477755000 39600 1 LHST}
+ {1490454000 37800 0 LHST}
+ {1509204600 39600 1 LHST}
+ {1521903600 37800 0 LHST}
+ {1540654200 39600 1 LHST}
+ {1553958000 37800 0 LHST}
+ {1572103800 39600 1 LHST}
+ {1585407600 37800 0 LHST}
+ {1603553400 39600 1 LHST}
+ {1616857200 37800 0 LHST}
+ {1635607800 39600 1 LHST}
+ {1648306800 37800 0 LHST}
+ {1667057400 39600 1 LHST}
+ {1679756400 37800 0 LHST}
+ {1698507000 39600 1 LHST}
+ {1711810800 37800 0 LHST}
+ {1729956600 39600 1 LHST}
+ {1743260400 37800 0 LHST}
+ {1761406200 39600 1 LHST}
+ {1774710000 37800 0 LHST}
+ {1792855800 39600 1 LHST}
+ {1806159600 37800 0 LHST}
+ {1824910200 39600 1 LHST}
+ {1837609200 37800 0 LHST}
+ {1856359800 39600 1 LHST}
+ {1869058800 37800 0 LHST}
+ {1887809400 39600 1 LHST}
+ {1901113200 37800 0 LHST}
+ {1919259000 39600 1 LHST}
+ {1932562800 37800 0 LHST}
+ {1950708600 39600 1 LHST}
+ {1964012400 37800 0 LHST}
+ {1982763000 39600 1 LHST}
+ {1995462000 37800 0 LHST}
+ {2014212600 39600 1 LHST}
+ {2026911600 37800 0 LHST}
+ {2045662200 39600 1 LHST}
+ {2058361200 37800 0 LHST}
+ {2077111800 39600 1 LHST}
+ {2090415600 37800 0 LHST}
+ {2108561400 39600 1 LHST}
+ {2121865200 37800 0 LHST}
+ {2140011000 39600 1 LHST}
+ {2153314800 37800 0 LHST}
+ {2172065400 39600 1 LHST}
+ {2184764400 37800 0 LHST}
+ {2203515000 39600 1 LHST}
+ {2216214000 37800 0 LHST}
+ {2234964600 39600 1 LHST}
+ {2248268400 37800 0 LHST}
+ {2266414200 39600 1 LHST}
+ {2279718000 37800 0 LHST}
+ {2297863800 39600 1 LHST}
+ {2311167600 37800 0 LHST}
+ {2329313400 39600 1 LHST}
+ {2342617200 37800 0 LHST}
+ {2361367800 39600 1 LHST}
+ {2374066800 37800 0 LHST}
+ {2392817400 39600 1 LHST}
+ {2405516400 37800 0 LHST}
+ {2424267000 39600 1 LHST}
+ {2437570800 37800 0 LHST}
+ {2455716600 39600 1 LHST}
+ {2469020400 37800 0 LHST}
+ {2487166200 39600 1 LHST}
+ {2500470000 37800 0 LHST}
+ {2519220600 39600 1 LHST}
+ {2531919600 37800 0 LHST}
+ {2550670200 39600 1 LHST}
+ {2563369200 37800 0 LHST}
+ {2582119800 39600 1 LHST}
+ {2595423600 37800 0 LHST}
+ {2613569400 39600 1 LHST}
+ {2626873200 37800 0 LHST}
+ {2645019000 39600 1 LHST}
+ {2658322800 37800 0 LHST}
+ {2676468600 39600 1 LHST}
+ {2689772400 37800 0 LHST}
+ {2708523000 39600 1 LHST}
+ {2721222000 37800 0 LHST}
+ {2739972600 39600 1 LHST}
+ {2752671600 37800 0 LHST}
+ {2771422200 39600 1 LHST}
+ {2784726000 37800 0 LHST}
+ {2802871800 39600 1 LHST}
+ {2816175600 37800 0 LHST}
+ {2834321400 39600 1 LHST}
+ {2847625200 37800 0 LHST}
+ {2866375800 39600 1 LHST}
+ {2879074800 37800 0 LHST}
+ {2897825400 39600 1 LHST}
+ {2910524400 37800 0 LHST}
+ {2929275000 39600 1 LHST}
+ {2941974000 37800 0 LHST}
+ {2960724600 39600 1 LHST}
+ {2974028400 37800 0 LHST}
+ {2992174200 39600 1 LHST}
+ {3005478000 37800 0 LHST}
+ {3023623800 39600 1 LHST}
+ {3036927600 37800 0 LHST}
+ {3055678200 39600 1 LHST}
+ {3068377200 37800 0 LHST}
+ {3087127800 39600 1 LHST}
+ {3099826800 37800 0 LHST}
+ {3118577400 39600 1 LHST}
+ {3131881200 37800 0 LHST}
+ {3150027000 39600 1 LHST}
+ {3163330800 37800 0 LHST}
+ {3181476600 39600 1 LHST}
+ {3194780400 37800 0 LHST}
+ {3212926200 39600 1 LHST}
+ {3226230000 37800 0 LHST}
+ {3244980600 39600 1 LHST}
+ {3257679600 37800 0 LHST}
+ {3276430200 39600 1 LHST}
+ {3289129200 37800 0 LHST}
+ {3307879800 39600 1 LHST}
+ {3321183600 37800 0 LHST}
+ {3339329400 39600 1 LHST}
+ {3352633200 37800 0 LHST}
+ {3370779000 39600 1 LHST}
+ {3384082800 37800 0 LHST}
+ {3402833400 39600 1 LHST}
+ {3415532400 37800 0 LHST}
+ {3434283000 39600 1 LHST}
+ {3446982000 37800 0 LHST}
+ {3465732600 39600 1 LHST}
+ {3479036400 37800 0 LHST}
+ {3497182200 39600 1 LHST}
+ {3510486000 37800 0 LHST}
+ {3528631800 39600 1 LHST}
+ {3541935600 37800 0 LHST}
+ {3560081400 39600 1 LHST}
+ {3573385200 37800 0 LHST}
+ {3592135800 39600 1 LHST}
+ {3604834800 37800 0 LHST}
+ {3623585400 39600 1 LHST}
+ {3636284400 37800 0 LHST}
+ {3655035000 39600 1 LHST}
+ {3668338800 37800 0 LHST}
+ {3686484600 39600 1 LHST}
+ {3699788400 37800 0 LHST}
+ {3717934200 39600 1 LHST}
+ {3731238000 37800 0 LHST}
+ {3749988600 39600 1 LHST}
+ {3762687600 37800 0 LHST}
+ {3781438200 39600 1 LHST}
+ {3794137200 37800 0 LHST}
+ {3812887800 39600 1 LHST}
+ {3825586800 37800 0 LHST}
+ {3844337400 39600 1 LHST}
+ {3857641200 37800 0 LHST}
+ {3875787000 39600 1 LHST}
+ {3889090800 37800 0 LHST}
+ {3907236600 39600 1 LHST}
+ {3920540400 37800 0 LHST}
+ {3939291000 39600 1 LHST}
+ {3951990000 37800 0 LHST}
+ {3970740600 39600 1 LHST}
+ {3983439600 37800 0 LHST}
+ {4002190200 39600 1 LHST}
+ {4015494000 37800 0 LHST}
+ {4033639800 39600 1 LHST}
+ {4046943600 37800 0 LHST}
+ {4065089400 39600 1 LHST}
+ {4078393200 37800 0 LHST}
+ {4096539000 39600 1 LHST}
+}
diff --git a/library/tzdata/Australia/Melbourne b/library/tzdata/Australia/Melbourne
new file mode 100644
index 0000000..332eb18
--- /dev/null
+++ b/library/tzdata/Australia/Melbourne
@@ -0,0 +1,272 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Australia/Melbourne) {
+ {-9223372036854775808 34792 0 LMT}
+ {-2364111592 36000 0 EST}
+ {-1672567140 39600 1 EST}
+ {-1665392400 36000 0 EST}
+ {-883641600 39600 1 EST}
+ {-876128400 36000 0 EST}
+ {-860400000 39600 1 EST}
+ {-844678800 36000 0 EST}
+ {-828345600 39600 1 EST}
+ {-813229200 36000 0 EST}
+ {31500000 36000 0 EST}
+ {57722400 39600 1 EST}
+ {68004000 36000 0 EST}
+ {89172000 39600 1 EST}
+ {100058400 36000 0 EST}
+ {120621600 39600 1 EST}
+ {131508000 36000 0 EST}
+ {152071200 39600 1 EST}
+ {162957600 36000 0 EST}
+ {183520800 39600 1 EST}
+ {195012000 36000 0 EST}
+ {215575200 39600 1 EST}
+ {226461600 36000 0 EST}
+ {247024800 39600 1 EST}
+ {257911200 36000 0 EST}
+ {278474400 39600 1 EST}
+ {289360800 36000 0 EST}
+ {309924000 39600 1 EST}
+ {320810400 36000 0 EST}
+ {341373600 39600 1 EST}
+ {352260000 36000 0 EST}
+ {372823200 39600 1 EST}
+ {384314400 36000 0 EST}
+ {404877600 39600 1 EST}
+ {415764000 36000 0 EST}
+ {436327200 39600 1 EST}
+ {447213600 36000 0 EST}
+ {467776800 39600 1 EST}
+ {478663200 36000 0 EST}
+ {499226400 39600 1 EST}
+ {511322400 36000 0 EST}
+ {530071200 39600 1 EST}
+ {542772000 36000 0 EST}
+ {561520800 39600 1 EST}
+ {574826400 36000 0 EST}
+ {594180000 39600 1 EST}
+ {606276000 36000 0 EST}
+ {625629600 39600 1 EST}
+ {637725600 36000 0 EST}
+ {657079200 39600 1 EST}
+ {667965600 36000 0 EST}
+ {688528800 39600 1 EST}
+ {699415200 36000 0 EST}
+ {719978400 39600 1 EST}
+ {731469600 36000 0 EST}
+ {752032800 39600 1 EST}
+ {762919200 36000 0 EST}
+ {783482400 39600 1 EST}
+ {796183200 36000 0 EST}
+ {814932000 39600 1 EST}
+ {828237600 36000 0 EST}
+ {846381600 39600 1 EST}
+ {859687200 36000 0 EST}
+ {877831200 39600 1 EST}
+ {891136800 36000 0 EST}
+ {909280800 39600 1 EST}
+ {922586400 36000 0 EST}
+ {941335200 39600 1 EST}
+ {954036000 36000 0 EST}
+ {967341600 39600 1 EST}
+ {985485600 36000 0 EST}
+ {1004234400 39600 1 EST}
+ {1017540000 36000 0 EST}
+ {1035684000 39600 1 EST}
+ {1048989600 36000 0 EST}
+ {1067133600 39600 1 EST}
+ {1080439200 36000 0 EST}
+ {1099188000 39600 1 EST}
+ {1111888800 36000 0 EST}
+ {1130637600 39600 1 EST}
+ {1143338400 36000 0 EST}
+ {1162087200 39600 1 EST}
+ {1174788000 36000 0 EST}
+ {1193536800 39600 1 EST}
+ {1206842400 36000 0 EST}
+ {1224986400 39600 1 EST}
+ {1238292000 36000 0 EST}
+ {1256436000 39600 1 EST}
+ {1269741600 36000 0 EST}
+ {1288490400 39600 1 EST}
+ {1301191200 36000 0 EST}
+ {1319940000 39600 1 EST}
+ {1332640800 36000 0 EST}
+ {1351389600 39600 1 EST}
+ {1364695200 36000 0 EST}
+ {1382839200 39600 1 EST}
+ {1396144800 36000 0 EST}
+ {1414288800 39600 1 EST}
+ {1427594400 36000 0 EST}
+ {1445738400 39600 1 EST}
+ {1459044000 36000 0 EST}
+ {1477792800 39600 1 EST}
+ {1490493600 36000 0 EST}
+ {1509242400 39600 1 EST}
+ {1521943200 36000 0 EST}
+ {1540692000 39600 1 EST}
+ {1553997600 36000 0 EST}
+ {1572141600 39600 1 EST}
+ {1585447200 36000 0 EST}
+ {1603591200 39600 1 EST}
+ {1616896800 36000 0 EST}
+ {1635645600 39600 1 EST}
+ {1648346400 36000 0 EST}
+ {1667095200 39600 1 EST}
+ {1679796000 36000 0 EST}
+ {1698544800 39600 1 EST}
+ {1711850400 36000 0 EST}
+ {1729994400 39600 1 EST}
+ {1743300000 36000 0 EST}
+ {1761444000 39600 1 EST}
+ {1774749600 36000 0 EST}
+ {1792893600 39600 1 EST}
+ {1806199200 36000 0 EST}
+ {1824948000 39600 1 EST}
+ {1837648800 36000 0 EST}
+ {1856397600 39600 1 EST}
+ {1869098400 36000 0 EST}
+ {1887847200 39600 1 EST}
+ {1901152800 36000 0 EST}
+ {1919296800 39600 1 EST}
+ {1932602400 36000 0 EST}
+ {1950746400 39600 1 EST}
+ {1964052000 36000 0 EST}
+ {1982800800 39600 1 EST}
+ {1995501600 36000 0 EST}
+ {2014250400 39600 1 EST}
+ {2026951200 36000 0 EST}
+ {2045700000 39600 1 EST}
+ {2058400800 36000 0 EST}
+ {2077149600 39600 1 EST}
+ {2090455200 36000 0 EST}
+ {2108599200 39600 1 EST}
+ {2121904800 36000 0 EST}
+ {2140048800 39600 1 EST}
+ {2153354400 36000 0 EST}
+ {2172103200 39600 1 EST}
+ {2184804000 36000 0 EST}
+ {2203552800 39600 1 EST}
+ {2216253600 36000 0 EST}
+ {2235002400 39600 1 EST}
+ {2248308000 36000 0 EST}
+ {2266452000 39600 1 EST}
+ {2279757600 36000 0 EST}
+ {2297901600 39600 1 EST}
+ {2311207200 36000 0 EST}
+ {2329351200 39600 1 EST}
+ {2342656800 36000 0 EST}
+ {2361405600 39600 1 EST}
+ {2374106400 36000 0 EST}
+ {2392855200 39600 1 EST}
+ {2405556000 36000 0 EST}
+ {2424304800 39600 1 EST}
+ {2437610400 36000 0 EST}
+ {2455754400 39600 1 EST}
+ {2469060000 36000 0 EST}
+ {2487204000 39600 1 EST}
+ {2500509600 36000 0 EST}
+ {2519258400 39600 1 EST}
+ {2531959200 36000 0 EST}
+ {2550708000 39600 1 EST}
+ {2563408800 36000 0 EST}
+ {2582157600 39600 1 EST}
+ {2595463200 36000 0 EST}
+ {2613607200 39600 1 EST}
+ {2626912800 36000 0 EST}
+ {2645056800 39600 1 EST}
+ {2658362400 36000 0 EST}
+ {2676506400 39600 1 EST}
+ {2689812000 36000 0 EST}
+ {2708560800 39600 1 EST}
+ {2721261600 36000 0 EST}
+ {2740010400 39600 1 EST}
+ {2752711200 36000 0 EST}
+ {2771460000 39600 1 EST}
+ {2784765600 36000 0 EST}
+ {2802909600 39600 1 EST}
+ {2816215200 36000 0 EST}
+ {2834359200 39600 1 EST}
+ {2847664800 36000 0 EST}
+ {2866413600 39600 1 EST}
+ {2879114400 36000 0 EST}
+ {2897863200 39600 1 EST}
+ {2910564000 36000 0 EST}
+ {2929312800 39600 1 EST}
+ {2942013600 36000 0 EST}
+ {2960762400 39600 1 EST}
+ {2974068000 36000 0 EST}
+ {2992212000 39600 1 EST}
+ {3005517600 36000 0 EST}
+ {3023661600 39600 1 EST}
+ {3036967200 36000 0 EST}
+ {3055716000 39600 1 EST}
+ {3068416800 36000 0 EST}
+ {3087165600 39600 1 EST}
+ {3099866400 36000 0 EST}
+ {3118615200 39600 1 EST}
+ {3131920800 36000 0 EST}
+ {3150064800 39600 1 EST}
+ {3163370400 36000 0 EST}
+ {3181514400 39600 1 EST}
+ {3194820000 36000 0 EST}
+ {3212964000 39600 1 EST}
+ {3226269600 36000 0 EST}
+ {3245018400 39600 1 EST}
+ {3257719200 36000 0 EST}
+ {3276468000 39600 1 EST}
+ {3289168800 36000 0 EST}
+ {3307917600 39600 1 EST}
+ {3321223200 36000 0 EST}
+ {3339367200 39600 1 EST}
+ {3352672800 36000 0 EST}
+ {3370816800 39600 1 EST}
+ {3384122400 36000 0 EST}
+ {3402871200 39600 1 EST}
+ {3415572000 36000 0 EST}
+ {3434320800 39600 1 EST}
+ {3447021600 36000 0 EST}
+ {3465770400 39600 1 EST}
+ {3479076000 36000 0 EST}
+ {3497220000 39600 1 EST}
+ {3510525600 36000 0 EST}
+ {3528669600 39600 1 EST}
+ {3541975200 36000 0 EST}
+ {3560119200 39600 1 EST}
+ {3573424800 36000 0 EST}
+ {3592173600 39600 1 EST}
+ {3604874400 36000 0 EST}
+ {3623623200 39600 1 EST}
+ {3636324000 36000 0 EST}
+ {3655072800 39600 1 EST}
+ {3668378400 36000 0 EST}
+ {3686522400 39600 1 EST}
+ {3699828000 36000 0 EST}
+ {3717972000 39600 1 EST}
+ {3731277600 36000 0 EST}
+ {3750026400 39600 1 EST}
+ {3762727200 36000 0 EST}
+ {3781476000 39600 1 EST}
+ {3794176800 36000 0 EST}
+ {3812925600 39600 1 EST}
+ {3825626400 36000 0 EST}
+ {3844375200 39600 1 EST}
+ {3857680800 36000 0 EST}
+ {3875824800 39600 1 EST}
+ {3889130400 36000 0 EST}
+ {3907274400 39600 1 EST}
+ {3920580000 36000 0 EST}
+ {3939328800 39600 1 EST}
+ {3952029600 36000 0 EST}
+ {3970778400 39600 1 EST}
+ {3983479200 36000 0 EST}
+ {4002228000 39600 1 EST}
+ {4015533600 36000 0 EST}
+ {4033677600 39600 1 EST}
+ {4046983200 36000 0 EST}
+ {4065127200 39600 1 EST}
+ {4078432800 36000 0 EST}
+ {4096576800 39600 1 EST}
+}
diff --git a/library/tzdata/Australia/NSW b/library/tzdata/Australia/NSW
new file mode 100644
index 0000000..6cea21d
--- /dev/null
+++ b/library/tzdata/Australia/NSW
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Australia/Sydney)]} {
+ loadTimeZoneFile Australia/Sydney
+}
+set tzdata(:Australia/NSW) $TZData(:Australia/Sydney)
diff --git a/library/tzdata/Australia/North b/library/tzdata/Australia/North
new file mode 100644
index 0000000..ddffd2b
--- /dev/null
+++ b/library/tzdata/Australia/North
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Australia/Darwin)]} {
+ loadTimeZoneFile Australia/Darwin
+}
+set tzdata(:Australia/North) $TZData(:Australia/Darwin)
diff --git a/library/tzdata/Australia/Perth b/library/tzdata/Australia/Perth
new file mode 100644
index 0000000..557490d
--- /dev/null
+++ b/library/tzdata/Australia/Perth
@@ -0,0 +1,19 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Australia/Perth) {
+ {-9223372036854775808 27804 0 LMT}
+ {-2337925404 28800 0 WST}
+ {-1672559940 32400 1 WST}
+ {-1665385200 28800 0 WST}
+ {-883634400 32400 1 WST}
+ {-876121200 28800 0 WST}
+ {-860392800 32400 1 WST}
+ {-844671600 28800 0 WST}
+ {-836470800 28800 0 WST}
+ {152071200 32400 1 WST}
+ {162957600 28800 0 WST}
+ {436327200 32400 1 WST}
+ {447213600 28800 0 WST}
+ {690343200 32400 1 WST}
+ {699415200 28800 0 WST}
+}
diff --git a/library/tzdata/Australia/Queensland b/library/tzdata/Australia/Queensland
new file mode 100644
index 0000000..78614fe
--- /dev/null
+++ b/library/tzdata/Australia/Queensland
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Australia/Brisbane)]} {
+ loadTimeZoneFile Australia/Brisbane
+}
+set tzdata(:Australia/Queensland) $TZData(:Australia/Brisbane)
diff --git a/library/tzdata/Australia/South b/library/tzdata/Australia/South
new file mode 100644
index 0000000..5a39e02
--- /dev/null
+++ b/library/tzdata/Australia/South
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Australia/Adelaide)]} {
+ loadTimeZoneFile Australia/Adelaide
+}
+set tzdata(:Australia/South) $TZData(:Australia/Adelaide)
diff --git a/library/tzdata/Australia/Sydney b/library/tzdata/Australia/Sydney
new file mode 100644
index 0000000..a15b384
--- /dev/null
+++ b/library/tzdata/Australia/Sydney
@@ -0,0 +1,272 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Australia/Sydney) {
+ {-9223372036854775808 36292 0 LMT}
+ {-2364113092 36000 0 EST}
+ {-1672567140 39600 1 EST}
+ {-1665392400 36000 0 EST}
+ {-883641600 39600 1 EST}
+ {-876128400 36000 0 EST}
+ {-860400000 39600 1 EST}
+ {-844678800 36000 0 EST}
+ {-828345600 39600 1 EST}
+ {-813229200 36000 0 EST}
+ {31500000 36000 0 EST}
+ {57722400 39600 1 EST}
+ {68004000 36000 0 EST}
+ {89172000 39600 1 EST}
+ {100058400 36000 0 EST}
+ {120621600 39600 1 EST}
+ {131508000 36000 0 EST}
+ {152071200 39600 1 EST}
+ {162957600 36000 0 EST}
+ {183520800 39600 1 EST}
+ {195012000 36000 0 EST}
+ {215575200 39600 1 EST}
+ {226461600 36000 0 EST}
+ {247024800 39600 1 EST}
+ {257911200 36000 0 EST}
+ {278474400 39600 1 EST}
+ {289360800 36000 0 EST}
+ {309924000 39600 1 EST}
+ {320810400 36000 0 EST}
+ {341373600 39600 1 EST}
+ {352260000 36000 0 EST}
+ {372823200 39600 1 EST}
+ {386733600 36000 0 EST}
+ {404877600 39600 1 EST}
+ {415764000 36000 0 EST}
+ {436327200 39600 1 EST}
+ {447213600 36000 0 EST}
+ {467776800 39600 1 EST}
+ {478663200 36000 0 EST}
+ {499226400 39600 1 EST}
+ {511322400 36000 0 EST}
+ {530071200 39600 1 EST}
+ {542772000 36000 0 EST}
+ {562125600 39600 1 EST}
+ {574826400 36000 0 EST}
+ {594180000 39600 1 EST}
+ {606276000 36000 0 EST}
+ {625629600 39600 1 EST}
+ {636516000 36000 0 EST}
+ {657079200 39600 1 EST}
+ {667965600 36000 0 EST}
+ {688528800 39600 1 EST}
+ {699415200 36000 0 EST}
+ {719978400 39600 1 EST}
+ {731469600 36000 0 EST}
+ {752032800 39600 1 EST}
+ {762919200 36000 0 EST}
+ {783482400 39600 1 EST}
+ {794368800 36000 0 EST}
+ {814932000 39600 1 EST}
+ {828237600 36000 0 EST}
+ {846381600 39600 1 EST}
+ {859687200 36000 0 EST}
+ {877831200 39600 1 EST}
+ {891136800 36000 0 EST}
+ {909280800 39600 1 EST}
+ {922586400 36000 0 EST}
+ {941335200 39600 1 EST}
+ {954036000 36000 0 EST}
+ {967341600 39600 1 EST}
+ {985485600 36000 0 EST}
+ {1004234400 39600 1 EST}
+ {1017540000 36000 0 EST}
+ {1035684000 39600 1 EST}
+ {1048989600 36000 0 EST}
+ {1067133600 39600 1 EST}
+ {1080439200 36000 0 EST}
+ {1099188000 39600 1 EST}
+ {1111888800 36000 0 EST}
+ {1130637600 39600 1 EST}
+ {1143338400 36000 0 EST}
+ {1162087200 39600 1 EST}
+ {1174788000 36000 0 EST}
+ {1193536800 39600 1 EST}
+ {1206842400 36000 0 EST}
+ {1224986400 39600 1 EST}
+ {1238292000 36000 0 EST}
+ {1256436000 39600 1 EST}
+ {1269741600 36000 0 EST}
+ {1288490400 39600 1 EST}
+ {1301191200 36000 0 EST}
+ {1319940000 39600 1 EST}
+ {1332640800 36000 0 EST}
+ {1351389600 39600 1 EST}
+ {1364695200 36000 0 EST}
+ {1382839200 39600 1 EST}
+ {1396144800 36000 0 EST}
+ {1414288800 39600 1 EST}
+ {1427594400 36000 0 EST}
+ {1445738400 39600 1 EST}
+ {1459044000 36000 0 EST}
+ {1477792800 39600 1 EST}
+ {1490493600 36000 0 EST}
+ {1509242400 39600 1 EST}
+ {1521943200 36000 0 EST}
+ {1540692000 39600 1 EST}
+ {1553997600 36000 0 EST}
+ {1572141600 39600 1 EST}
+ {1585447200 36000 0 EST}
+ {1603591200 39600 1 EST}
+ {1616896800 36000 0 EST}
+ {1635645600 39600 1 EST}
+ {1648346400 36000 0 EST}
+ {1667095200 39600 1 EST}
+ {1679796000 36000 0 EST}
+ {1698544800 39600 1 EST}
+ {1711850400 36000 0 EST}
+ {1729994400 39600 1 EST}
+ {1743300000 36000 0 EST}
+ {1761444000 39600 1 EST}
+ {1774749600 36000 0 EST}
+ {1792893600 39600 1 EST}
+ {1806199200 36000 0 EST}
+ {1824948000 39600 1 EST}
+ {1837648800 36000 0 EST}
+ {1856397600 39600 1 EST}
+ {1869098400 36000 0 EST}
+ {1887847200 39600 1 EST}
+ {1901152800 36000 0 EST}
+ {1919296800 39600 1 EST}
+ {1932602400 36000 0 EST}
+ {1950746400 39600 1 EST}
+ {1964052000 36000 0 EST}
+ {1982800800 39600 1 EST}
+ {1995501600 36000 0 EST}
+ {2014250400 39600 1 EST}
+ {2026951200 36000 0 EST}
+ {2045700000 39600 1 EST}
+ {2058400800 36000 0 EST}
+ {2077149600 39600 1 EST}
+ {2090455200 36000 0 EST}
+ {2108599200 39600 1 EST}
+ {2121904800 36000 0 EST}
+ {2140048800 39600 1 EST}
+ {2153354400 36000 0 EST}
+ {2172103200 39600 1 EST}
+ {2184804000 36000 0 EST}
+ {2203552800 39600 1 EST}
+ {2216253600 36000 0 EST}
+ {2235002400 39600 1 EST}
+ {2248308000 36000 0 EST}
+ {2266452000 39600 1 EST}
+ {2279757600 36000 0 EST}
+ {2297901600 39600 1 EST}
+ {2311207200 36000 0 EST}
+ {2329351200 39600 1 EST}
+ {2342656800 36000 0 EST}
+ {2361405600 39600 1 EST}
+ {2374106400 36000 0 EST}
+ {2392855200 39600 1 EST}
+ {2405556000 36000 0 EST}
+ {2424304800 39600 1 EST}
+ {2437610400 36000 0 EST}
+ {2455754400 39600 1 EST}
+ {2469060000 36000 0 EST}
+ {2487204000 39600 1 EST}
+ {2500509600 36000 0 EST}
+ {2519258400 39600 1 EST}
+ {2531959200 36000 0 EST}
+ {2550708000 39600 1 EST}
+ {2563408800 36000 0 EST}
+ {2582157600 39600 1 EST}
+ {2595463200 36000 0 EST}
+ {2613607200 39600 1 EST}
+ {2626912800 36000 0 EST}
+ {2645056800 39600 1 EST}
+ {2658362400 36000 0 EST}
+ {2676506400 39600 1 EST}
+ {2689812000 36000 0 EST}
+ {2708560800 39600 1 EST}
+ {2721261600 36000 0 EST}
+ {2740010400 39600 1 EST}
+ {2752711200 36000 0 EST}
+ {2771460000 39600 1 EST}
+ {2784765600 36000 0 EST}
+ {2802909600 39600 1 EST}
+ {2816215200 36000 0 EST}
+ {2834359200 39600 1 EST}
+ {2847664800 36000 0 EST}
+ {2866413600 39600 1 EST}
+ {2879114400 36000 0 EST}
+ {2897863200 39600 1 EST}
+ {2910564000 36000 0 EST}
+ {2929312800 39600 1 EST}
+ {2942013600 36000 0 EST}
+ {2960762400 39600 1 EST}
+ {2974068000 36000 0 EST}
+ {2992212000 39600 1 EST}
+ {3005517600 36000 0 EST}
+ {3023661600 39600 1 EST}
+ {3036967200 36000 0 EST}
+ {3055716000 39600 1 EST}
+ {3068416800 36000 0 EST}
+ {3087165600 39600 1 EST}
+ {3099866400 36000 0 EST}
+ {3118615200 39600 1 EST}
+ {3131920800 36000 0 EST}
+ {3150064800 39600 1 EST}
+ {3163370400 36000 0 EST}
+ {3181514400 39600 1 EST}
+ {3194820000 36000 0 EST}
+ {3212964000 39600 1 EST}
+ {3226269600 36000 0 EST}
+ {3245018400 39600 1 EST}
+ {3257719200 36000 0 EST}
+ {3276468000 39600 1 EST}
+ {3289168800 36000 0 EST}
+ {3307917600 39600 1 EST}
+ {3321223200 36000 0 EST}
+ {3339367200 39600 1 EST}
+ {3352672800 36000 0 EST}
+ {3370816800 39600 1 EST}
+ {3384122400 36000 0 EST}
+ {3402871200 39600 1 EST}
+ {3415572000 36000 0 EST}
+ {3434320800 39600 1 EST}
+ {3447021600 36000 0 EST}
+ {3465770400 39600 1 EST}
+ {3479076000 36000 0 EST}
+ {3497220000 39600 1 EST}
+ {3510525600 36000 0 EST}
+ {3528669600 39600 1 EST}
+ {3541975200 36000 0 EST}
+ {3560119200 39600 1 EST}
+ {3573424800 36000 0 EST}
+ {3592173600 39600 1 EST}
+ {3604874400 36000 0 EST}
+ {3623623200 39600 1 EST}
+ {3636324000 36000 0 EST}
+ {3655072800 39600 1 EST}
+ {3668378400 36000 0 EST}
+ {3686522400 39600 1 EST}
+ {3699828000 36000 0 EST}
+ {3717972000 39600 1 EST}
+ {3731277600 36000 0 EST}
+ {3750026400 39600 1 EST}
+ {3762727200 36000 0 EST}
+ {3781476000 39600 1 EST}
+ {3794176800 36000 0 EST}
+ {3812925600 39600 1 EST}
+ {3825626400 36000 0 EST}
+ {3844375200 39600 1 EST}
+ {3857680800 36000 0 EST}
+ {3875824800 39600 1 EST}
+ {3889130400 36000 0 EST}
+ {3907274400 39600 1 EST}
+ {3920580000 36000 0 EST}
+ {3939328800 39600 1 EST}
+ {3952029600 36000 0 EST}
+ {3970778400 39600 1 EST}
+ {3983479200 36000 0 EST}
+ {4002228000 39600 1 EST}
+ {4015533600 36000 0 EST}
+ {4033677600 39600 1 EST}
+ {4046983200 36000 0 EST}
+ {4065127200 39600 1 EST}
+ {4078432800 36000 0 EST}
+ {4096576800 39600 1 EST}
+}
diff --git a/library/tzdata/Australia/Tasmania b/library/tzdata/Australia/Tasmania
new file mode 100644
index 0000000..04fd979
--- /dev/null
+++ b/library/tzdata/Australia/Tasmania
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Australia/Hobart)]} {
+ loadTimeZoneFile Australia/Hobart
+}
+set tzdata(:Australia/Tasmania) $TZData(:Australia/Hobart)
diff --git a/library/tzdata/Australia/Victoria b/library/tzdata/Australia/Victoria
new file mode 100644
index 0000000..ada266b
--- /dev/null
+++ b/library/tzdata/Australia/Victoria
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Australia/Melbourne)]} {
+ loadTimeZoneFile Australia/Melbourne
+}
+set tzdata(:Australia/Victoria) $TZData(:Australia/Melbourne)
diff --git a/library/tzdata/Australia/West b/library/tzdata/Australia/West
new file mode 100644
index 0000000..8327e10
--- /dev/null
+++ b/library/tzdata/Australia/West
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Australia/Perth)]} {
+ loadTimeZoneFile Australia/Perth
+}
+set tzdata(:Australia/West) $TZData(:Australia/Perth)
diff --git a/library/tzdata/Australia/Yancowinna b/library/tzdata/Australia/Yancowinna
new file mode 100644
index 0000000..2c1af7f
--- /dev/null
+++ b/library/tzdata/Australia/Yancowinna
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Australia/Broken_Hill)]} {
+ loadTimeZoneFile Australia/Broken_Hill
+}
+set tzdata(:Australia/Yancowinna) $TZData(:Australia/Broken_Hill)
diff --git a/library/tzdata/Brazil/Acre b/library/tzdata/Brazil/Acre
new file mode 100644
index 0000000..012b25c
--- /dev/null
+++ b/library/tzdata/Brazil/Acre
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Porto_Acre)]} {
+ loadTimeZoneFile America/Porto_Acre
+}
+set tzdata(:Brazil/Acre) $TZData(:America/Porto_Acre)
diff --git a/library/tzdata/Brazil/DeNoronha b/library/tzdata/Brazil/DeNoronha
new file mode 100644
index 0000000..4678316
--- /dev/null
+++ b/library/tzdata/Brazil/DeNoronha
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Noronha)]} {
+ loadTimeZoneFile America/Noronha
+}
+set tzdata(:Brazil/DeNoronha) $TZData(:America/Noronha)
diff --git a/library/tzdata/Brazil/East b/library/tzdata/Brazil/East
new file mode 100644
index 0000000..7fa21c1
--- /dev/null
+++ b/library/tzdata/Brazil/East
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Sao_Paulo)]} {
+ loadTimeZoneFile America/Sao_Paulo
+}
+set tzdata(:Brazil/East) $TZData(:America/Sao_Paulo)
diff --git a/library/tzdata/Brazil/West b/library/tzdata/Brazil/West
new file mode 100644
index 0000000..e2bbabf
--- /dev/null
+++ b/library/tzdata/Brazil/West
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Manaus)]} {
+ loadTimeZoneFile America/Manaus
+}
+set tzdata(:Brazil/West) $TZData(:America/Manaus)
diff --git a/library/tzdata/CET b/library/tzdata/CET
new file mode 100644
index 0000000..a41388f
--- /dev/null
+++ b/library/tzdata/CET
@@ -0,0 +1,263 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:CET) {
+ {-9223372036854775808 3600 0 CET}
+ {-1693706400 7200 1 CEST}
+ {-1680483600 3600 0 CET}
+ {-1663452000 7200 1 CEST}
+ {-1650146400 3600 0 CET}
+ {-1632002400 7200 1 CEST}
+ {-1618696800 3600 0 CET}
+ {-938901600 7200 1 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796773600 3600 0 CET}
+ {228880800 7200 1 CEST}
+ {244000800 3600 0 CET}
+ {260330400 7200 1 CEST}
+ {276055200 3600 0 CET}
+ {291780000 7200 1 CEST}
+ {307504800 3600 0 CET}
+ {323834400 7200 1 CEST}
+ {338954400 3600 0 CET}
+ {354679200 7200 1 CEST}
+ {370404000 3600 0 CET}
+ {386128800 7200 1 CEST}
+ {401853600 3600 0 CET}
+ {417578400 7200 1 CEST}
+ {433303200 3600 0 CET}
+ {449028000 7200 1 CEST}
+ {465357600 3600 0 CET}
+ {481082400 7200 1 CEST}
+ {496807200 3600 0 CET}
+ {512532000 7200 1 CEST}
+ {528256800 3600 0 CET}
+ {543981600 7200 1 CEST}
+ {559706400 3600 0 CET}
+ {575431200 7200 1 CEST}
+ {591156000 3600 0 CET}
+ {606880800 7200 1 CEST}
+ {622605600 3600 0 CET}
+ {638330400 7200 1 CEST}
+ {654660000 3600 0 CET}
+ {670384800 7200 1 CEST}
+ {686109600 3600 0 CET}
+ {701834400 7200 1 CEST}
+ {717559200 3600 0 CET}
+ {733284000 7200 1 CEST}
+ {749008800 3600 0 CET}
+ {764733600 7200 1 CEST}
+ {780458400 3600 0 CET}
+ {796183200 7200 1 CEST}
+ {811908000 3600 0 CET}
+ {828237600 7200 1 CEST}
+ {846381600 3600 0 CET}
+ {859687200 7200 1 CEST}
+ {877831200 3600 0 CET}
+ {891136800 7200 1 CEST}
+ {909280800 3600 0 CET}
+ {922586400 7200 1 CEST}
+ {941335200 3600 0 CET}
+ {954036000 7200 1 CEST}
+ {972784800 3600 0 CET}
+ {985485600 7200 1 CEST}
+ {1004234400 3600 0 CET}
+ {1017540000 7200 1 CEST}
+ {1035684000 3600 0 CET}
+ {1048989600 7200 1 CEST}
+ {1067133600 3600 0 CET}
+ {1080439200 7200 1 CEST}
+ {1099188000 3600 0 CET}
+ {1111888800 7200 1 CEST}
+ {1130637600 3600 0 CET}
+ {1143338400 7200 1 CEST}
+ {1162087200 3600 0 CET}
+ {1174788000 7200 1 CEST}
+ {1193536800 3600 0 CET}
+ {1206842400 7200 1 CEST}
+ {1224986400 3600 0 CET}
+ {1238292000 7200 1 CEST}
+ {1256436000 3600 0 CET}
+ {1269741600 7200 1 CEST}
+ {1288490400 3600 0 CET}
+ {1301191200 7200 1 CEST}
+ {1319940000 3600 0 CET}
+ {1332640800 7200 1 CEST}
+ {1351389600 3600 0 CET}
+ {1364695200 7200 1 CEST}
+ {1382839200 3600 0 CET}
+ {1396144800 7200 1 CEST}
+ {1414288800 3600 0 CET}
+ {1427594400 7200 1 CEST}
+ {1445738400 3600 0 CET}
+ {1459044000 7200 1 CEST}
+ {1477792800 3600 0 CET}
+ {1490493600 7200 1 CEST}
+ {1509242400 3600 0 CET}
+ {1521943200 7200 1 CEST}
+ {1540692000 3600 0 CET}
+ {1553997600 7200 1 CEST}
+ {1572141600 3600 0 CET}
+ {1585447200 7200 1 CEST}
+ {1603591200 3600 0 CET}
+ {1616896800 7200 1 CEST}
+ {1635645600 3600 0 CET}
+ {1648346400 7200 1 CEST}
+ {1667095200 3600 0 CET}
+ {1679796000 7200 1 CEST}
+ {1698544800 3600 0 CET}
+ {1711850400 7200 1 CEST}
+ {1729994400 3600 0 CET}
+ {1743300000 7200 1 CEST}
+ {1761444000 3600 0 CET}
+ {1774749600 7200 1 CEST}
+ {1792893600 3600 0 CET}
+ {1806199200 7200 1 CEST}
+ {1824948000 3600 0 CET}
+ {1837648800 7200 1 CEST}
+ {1856397600 3600 0 CET}
+ {1869098400 7200 1 CEST}
+ {1887847200 3600 0 CET}
+ {1901152800 7200 1 CEST}
+ {1919296800 3600 0 CET}
+ {1932602400 7200 1 CEST}
+ {1950746400 3600 0 CET}
+ {1964052000 7200 1 CEST}
+ {1982800800 3600 0 CET}
+ {1995501600 7200 1 CEST}
+ {2014250400 3600 0 CET}
+ {2026951200 7200 1 CEST}
+ {2045700000 3600 0 CET}
+ {2058400800 7200 1 CEST}
+ {2077149600 3600 0 CET}
+ {2090455200 7200 1 CEST}
+ {2108599200 3600 0 CET}
+ {2121904800 7200 1 CEST}
+ {2140048800 3600 0 CET}
+ {2153354400 7200 1 CEST}
+ {2172103200 3600 0 CET}
+ {2184804000 7200 1 CEST}
+ {2203552800 3600 0 CET}
+ {2216253600 7200 1 CEST}
+ {2235002400 3600 0 CET}
+ {2248308000 7200 1 CEST}
+ {2266452000 3600 0 CET}
+ {2279757600 7200 1 CEST}
+ {2297901600 3600 0 CET}
+ {2311207200 7200 1 CEST}
+ {2329351200 3600 0 CET}
+ {2342656800 7200 1 CEST}
+ {2361405600 3600 0 CET}
+ {2374106400 7200 1 CEST}
+ {2392855200 3600 0 CET}
+ {2405556000 7200 1 CEST}
+ {2424304800 3600 0 CET}
+ {2437610400 7200 1 CEST}
+ {2455754400 3600 0 CET}
+ {2469060000 7200 1 CEST}
+ {2487204000 3600 0 CET}
+ {2500509600 7200 1 CEST}
+ {2519258400 3600 0 CET}
+ {2531959200 7200 1 CEST}
+ {2550708000 3600 0 CET}
+ {2563408800 7200 1 CEST}
+ {2582157600 3600 0 CET}
+ {2595463200 7200 1 CEST}
+ {2613607200 3600 0 CET}
+ {2626912800 7200 1 CEST}
+ {2645056800 3600 0 CET}
+ {2658362400 7200 1 CEST}
+ {2676506400 3600 0 CET}
+ {2689812000 7200 1 CEST}
+ {2708560800 3600 0 CET}
+ {2721261600 7200 1 CEST}
+ {2740010400 3600 0 CET}
+ {2752711200 7200 1 CEST}
+ {2771460000 3600 0 CET}
+ {2784765600 7200 1 CEST}
+ {2802909600 3600 0 CET}
+ {2816215200 7200 1 CEST}
+ {2834359200 3600 0 CET}
+ {2847664800 7200 1 CEST}
+ {2866413600 3600 0 CET}
+ {2879114400 7200 1 CEST}
+ {2897863200 3600 0 CET}
+ {2910564000 7200 1 CEST}
+ {2929312800 3600 0 CET}
+ {2942013600 7200 1 CEST}
+ {2960762400 3600 0 CET}
+ {2974068000 7200 1 CEST}
+ {2992212000 3600 0 CET}
+ {3005517600 7200 1 CEST}
+ {3023661600 3600 0 CET}
+ {3036967200 7200 1 CEST}
+ {3055716000 3600 0 CET}
+ {3068416800 7200 1 CEST}
+ {3087165600 3600 0 CET}
+ {3099866400 7200 1 CEST}
+ {3118615200 3600 0 CET}
+ {3131920800 7200 1 CEST}
+ {3150064800 3600 0 CET}
+ {3163370400 7200 1 CEST}
+ {3181514400 3600 0 CET}
+ {3194820000 7200 1 CEST}
+ {3212964000 3600 0 CET}
+ {3226269600 7200 1 CEST}
+ {3245018400 3600 0 CET}
+ {3257719200 7200 1 CEST}
+ {3276468000 3600 0 CET}
+ {3289168800 7200 1 CEST}
+ {3307917600 3600 0 CET}
+ {3321223200 7200 1 CEST}
+ {3339367200 3600 0 CET}
+ {3352672800 7200 1 CEST}
+ {3370816800 3600 0 CET}
+ {3384122400 7200 1 CEST}
+ {3402871200 3600 0 CET}
+ {3415572000 7200 1 CEST}
+ {3434320800 3600 0 CET}
+ {3447021600 7200 1 CEST}
+ {3465770400 3600 0 CET}
+ {3479076000 7200 1 CEST}
+ {3497220000 3600 0 CET}
+ {3510525600 7200 1 CEST}
+ {3528669600 3600 0 CET}
+ {3541975200 7200 1 CEST}
+ {3560119200 3600 0 CET}
+ {3573424800 7200 1 CEST}
+ {3592173600 3600 0 CET}
+ {3604874400 7200 1 CEST}
+ {3623623200 3600 0 CET}
+ {3636324000 7200 1 CEST}
+ {3655072800 3600 0 CET}
+ {3668378400 7200 1 CEST}
+ {3686522400 3600 0 CET}
+ {3699828000 7200 1 CEST}
+ {3717972000 3600 0 CET}
+ {3731277600 7200 1 CEST}
+ {3750026400 3600 0 CET}
+ {3762727200 7200 1 CEST}
+ {3781476000 3600 0 CET}
+ {3794176800 7200 1 CEST}
+ {3812925600 3600 0 CET}
+ {3825626400 7200 1 CEST}
+ {3844375200 3600 0 CET}
+ {3857680800 7200 1 CEST}
+ {3875824800 3600 0 CET}
+ {3889130400 7200 1 CEST}
+ {3907274400 3600 0 CET}
+ {3920580000 7200 1 CEST}
+ {3939328800 3600 0 CET}
+ {3952029600 7200 1 CEST}
+ {3970778400 3600 0 CET}
+ {3983479200 7200 1 CEST}
+ {4002228000 3600 0 CET}
+ {4015533600 7200 1 CEST}
+ {4033677600 3600 0 CET}
+ {4046983200 7200 1 CEST}
+ {4065127200 3600 0 CET}
+ {4078432800 7200 1 CEST}
+ {4096576800 3600 0 CET}
+}
diff --git a/library/tzdata/CST6CDT b/library/tzdata/CST6CDT
new file mode 100644
index 0000000..5d48f6d
--- /dev/null
+++ b/library/tzdata/CST6CDT
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Chicago)]} {
+ loadTimeZoneFile America/Chicago
+}
+set tzdata(:CST6CDT) $TZData(:America/Chicago)
diff --git a/library/tzdata/Canada/Atlantic b/library/tzdata/Canada/Atlantic
new file mode 100644
index 0000000..f117d29
--- /dev/null
+++ b/library/tzdata/Canada/Atlantic
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Halifax)]} {
+ loadTimeZoneFile America/Halifax
+}
+set tzdata(:Canada/Atlantic) $TZData(:America/Halifax)
diff --git a/library/tzdata/Canada/Central b/library/tzdata/Canada/Central
new file mode 100644
index 0000000..d3bb162
--- /dev/null
+++ b/library/tzdata/Canada/Central
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Winnipeg)]} {
+ loadTimeZoneFile America/Winnipeg
+}
+set tzdata(:Canada/Central) $TZData(:America/Winnipeg)
diff --git a/library/tzdata/Canada/East-Saskatchewan b/library/tzdata/Canada/East-Saskatchewan
new file mode 100644
index 0000000..4fd4e24
--- /dev/null
+++ b/library/tzdata/Canada/East-Saskatchewan
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Regina)]} {
+ loadTimeZoneFile America/Regina
+}
+set tzdata(:Canada/East-Saskatchewan) $TZData(:America/Regina)
diff --git a/library/tzdata/Canada/Eastern b/library/tzdata/Canada/Eastern
new file mode 100644
index 0000000..e660a78
--- /dev/null
+++ b/library/tzdata/Canada/Eastern
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Toronto)]} {
+ loadTimeZoneFile America/Toronto
+}
+set tzdata(:Canada/Eastern) $TZData(:America/Toronto)
diff --git a/library/tzdata/Canada/Mountain b/library/tzdata/Canada/Mountain
new file mode 100644
index 0000000..69a6ab4
--- /dev/null
+++ b/library/tzdata/Canada/Mountain
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Edmonton)]} {
+ loadTimeZoneFile America/Edmonton
+}
+set tzdata(:Canada/Mountain) $TZData(:America/Edmonton)
diff --git a/library/tzdata/Canada/Newfoundland b/library/tzdata/Canada/Newfoundland
new file mode 100644
index 0000000..9f8b9fd
--- /dev/null
+++ b/library/tzdata/Canada/Newfoundland
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/St_Johns)]} {
+ loadTimeZoneFile America/St_Johns
+}
+set tzdata(:Canada/Newfoundland) $TZData(:America/St_Johns)
diff --git a/library/tzdata/Canada/Pacific b/library/tzdata/Canada/Pacific
new file mode 100644
index 0000000..3e09ebe
--- /dev/null
+++ b/library/tzdata/Canada/Pacific
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Vancouver)]} {
+ loadTimeZoneFile America/Vancouver
+}
+set tzdata(:Canada/Pacific) $TZData(:America/Vancouver)
diff --git a/library/tzdata/Canada/Saskatchewan b/library/tzdata/Canada/Saskatchewan
new file mode 100644
index 0000000..eb3ac84
--- /dev/null
+++ b/library/tzdata/Canada/Saskatchewan
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Regina)]} {
+ loadTimeZoneFile America/Regina
+}
+set tzdata(:Canada/Saskatchewan) $TZData(:America/Regina)
diff --git a/library/tzdata/Canada/Yukon b/library/tzdata/Canada/Yukon
new file mode 100644
index 0000000..2a93090
--- /dev/null
+++ b/library/tzdata/Canada/Yukon
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Whitehorse)]} {
+ loadTimeZoneFile America/Whitehorse
+}
+set tzdata(:Canada/Yukon) $TZData(:America/Whitehorse)
diff --git a/library/tzdata/Chile/Continental b/library/tzdata/Chile/Continental
new file mode 100644
index 0000000..130839f
--- /dev/null
+++ b/library/tzdata/Chile/Continental
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Santiago)]} {
+ loadTimeZoneFile America/Santiago
+}
+set tzdata(:Chile/Continental) $TZData(:America/Santiago)
diff --git a/library/tzdata/Chile/EasterIsland b/library/tzdata/Chile/EasterIsland
new file mode 100644
index 0000000..9648e0b
--- /dev/null
+++ b/library/tzdata/Chile/EasterIsland
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Pacific/Easter)]} {
+ loadTimeZoneFile Pacific/Easter
+}
+set tzdata(:Chile/EasterIsland) $TZData(:Pacific/Easter)
diff --git a/library/tzdata/Cuba b/library/tzdata/Cuba
new file mode 100644
index 0000000..2eceba1
--- /dev/null
+++ b/library/tzdata/Cuba
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Havana)]} {
+ loadTimeZoneFile America/Havana
+}
+set tzdata(:Cuba) $TZData(:America/Havana)
diff --git a/library/tzdata/EET b/library/tzdata/EET
new file mode 100644
index 0000000..1709714
--- /dev/null
+++ b/library/tzdata/EET
@@ -0,0 +1,251 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:EET) {
+ {-9223372036854775808 7200 0 EET}
+ {228877200 10800 1 EEST}
+ {243997200 7200 0 EET}
+ {260326800 10800 1 EEST}
+ {276051600 7200 0 EET}
+ {291776400 10800 1 EEST}
+ {307501200 7200 0 EET}
+ {323830800 10800 1 EEST}
+ {338950800 7200 0 EET}
+ {354675600 10800 1 EEST}
+ {370400400 7200 0 EET}
+ {386125200 10800 1 EEST}
+ {401850000 7200 0 EET}
+ {417574800 10800 1 EEST}
+ {433299600 7200 0 EET}
+ {449024400 10800 1 EEST}
+ {465354000 7200 0 EET}
+ {481078800 10800 1 EEST}
+ {496803600 7200 0 EET}
+ {512528400 10800 1 EEST}
+ {528253200 7200 0 EET}
+ {543978000 10800 1 EEST}
+ {559702800 7200 0 EET}
+ {575427600 10800 1 EEST}
+ {591152400 7200 0 EET}
+ {606877200 10800 1 EEST}
+ {622602000 7200 0 EET}
+ {638326800 10800 1 EEST}
+ {654656400 7200 0 EET}
+ {670381200 10800 1 EEST}
+ {686106000 7200 0 EET}
+ {701830800 10800 1 EEST}
+ {717555600 7200 0 EET}
+ {733280400 10800 1 EEST}
+ {749005200 7200 0 EET}
+ {764730000 10800 1 EEST}
+ {780454800 7200 0 EET}
+ {796179600 10800 1 EEST}
+ {811904400 7200 0 EET}
+ {828234000 10800 1 EEST}
+ {846378000 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/EST b/library/tzdata/EST
new file mode 100644
index 0000000..5dffcd0
--- /dev/null
+++ b/library/tzdata/EST
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Indianapolis)]} {
+ loadTimeZoneFile America/Indianapolis
+}
+set tzdata(:EST) $TZData(:America/Indianapolis)
diff --git a/library/tzdata/EST5EDT b/library/tzdata/EST5EDT
new file mode 100644
index 0000000..84b903c
--- /dev/null
+++ b/library/tzdata/EST5EDT
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/New_York)]} {
+ loadTimeZoneFile America/New_York
+}
+set tzdata(:EST5EDT) $TZData(:America/New_York)
diff --git a/library/tzdata/Egypt b/library/tzdata/Egypt
new file mode 100644
index 0000000..6fcdbb8
--- /dev/null
+++ b/library/tzdata/Egypt
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Africa/Cairo)]} {
+ loadTimeZoneFile Africa/Cairo
+}
+set tzdata(:Egypt) $TZData(:Africa/Cairo)
diff --git a/library/tzdata/Eire b/library/tzdata/Eire
new file mode 100644
index 0000000..a40b498
--- /dev/null
+++ b/library/tzdata/Eire
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Dublin)]} {
+ loadTimeZoneFile Europe/Dublin
+}
+set tzdata(:Eire) $TZData(:Europe/Dublin)
diff --git a/library/tzdata/Etc/GMT b/library/tzdata/Etc/GMT
new file mode 100644
index 0000000..f6c919f
--- /dev/null
+++ b/library/tzdata/Etc/GMT
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT) {
+ {-9223372036854775808 0 0 GMT}
+}
diff --git a/library/tzdata/Etc/GMT+0 b/library/tzdata/Etc/GMT+0
new file mode 100644
index 0000000..e489b6c
--- /dev/null
+++ b/library/tzdata/Etc/GMT+0
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Etc/GMT)]} {
+ loadTimeZoneFile Etc/GMT
+}
+set tzdata(:Etc/GMT+0) $TZData(:Etc/GMT)
diff --git a/library/tzdata/Etc/GMT+1 b/library/tzdata/Etc/GMT+1
new file mode 100644
index 0000000..adc16af
--- /dev/null
+++ b/library/tzdata/Etc/GMT+1
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT+1) {
+ {-9223372036854775808 -3600 0 GMT+1}
+}
diff --git a/library/tzdata/Etc/GMT+10 b/library/tzdata/Etc/GMT+10
new file mode 100644
index 0000000..2ff7910
--- /dev/null
+++ b/library/tzdata/Etc/GMT+10
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT+10) {
+ {-9223372036854775808 -36000 0 GMT+10}
+}
diff --git a/library/tzdata/Etc/GMT+11 b/library/tzdata/Etc/GMT+11
new file mode 100644
index 0000000..af71a7a
--- /dev/null
+++ b/library/tzdata/Etc/GMT+11
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT+11) {
+ {-9223372036854775808 -39600 0 GMT+11}
+}
diff --git a/library/tzdata/Etc/GMT+12 b/library/tzdata/Etc/GMT+12
new file mode 100644
index 0000000..30ce089
--- /dev/null
+++ b/library/tzdata/Etc/GMT+12
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT+12) {
+ {-9223372036854775808 -43200 0 GMT+12}
+}
diff --git a/library/tzdata/Etc/GMT+2 b/library/tzdata/Etc/GMT+2
new file mode 100644
index 0000000..649333f
--- /dev/null
+++ b/library/tzdata/Etc/GMT+2
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT+2) {
+ {-9223372036854775808 -7200 0 GMT+2}
+}
diff --git a/library/tzdata/Etc/GMT+3 b/library/tzdata/Etc/GMT+3
new file mode 100644
index 0000000..af359b0
--- /dev/null
+++ b/library/tzdata/Etc/GMT+3
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT+3) {
+ {-9223372036854775808 -10800 0 GMT+3}
+}
diff --git a/library/tzdata/Etc/GMT+4 b/library/tzdata/Etc/GMT+4
new file mode 100644
index 0000000..741372f
--- /dev/null
+++ b/library/tzdata/Etc/GMT+4
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT+4) {
+ {-9223372036854775808 -14400 0 GMT+4}
+}
diff --git a/library/tzdata/Etc/GMT+5 b/library/tzdata/Etc/GMT+5
new file mode 100644
index 0000000..28dd2a2
--- /dev/null
+++ b/library/tzdata/Etc/GMT+5
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT+5) {
+ {-9223372036854775808 -18000 0 GMT+5}
+}
diff --git a/library/tzdata/Etc/GMT+6 b/library/tzdata/Etc/GMT+6
new file mode 100644
index 0000000..c5bf5db
--- /dev/null
+++ b/library/tzdata/Etc/GMT+6
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT+6) {
+ {-9223372036854775808 -21600 0 GMT+6}
+}
diff --git a/library/tzdata/Etc/GMT+7 b/library/tzdata/Etc/GMT+7
new file mode 100644
index 0000000..fa4af1e
--- /dev/null
+++ b/library/tzdata/Etc/GMT+7
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT+7) {
+ {-9223372036854775808 -25200 0 GMT+7}
+}
diff --git a/library/tzdata/Etc/GMT+8 b/library/tzdata/Etc/GMT+8
new file mode 100644
index 0000000..6814da4
--- /dev/null
+++ b/library/tzdata/Etc/GMT+8
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT+8) {
+ {-9223372036854775808 -28800 0 GMT+8}
+}
diff --git a/library/tzdata/Etc/GMT+9 b/library/tzdata/Etc/GMT+9
new file mode 100644
index 0000000..02157d4
--- /dev/null
+++ b/library/tzdata/Etc/GMT+9
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT+9) {
+ {-9223372036854775808 -32400 0 GMT+9}
+}
diff --git a/library/tzdata/Etc/GMT-0 b/library/tzdata/Etc/GMT-0
new file mode 100644
index 0000000..95e6d07
--- /dev/null
+++ b/library/tzdata/Etc/GMT-0
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Etc/GMT)]} {
+ loadTimeZoneFile Etc/GMT
+}
+set tzdata(:Etc/GMT-0) $TZData(:Etc/GMT)
diff --git a/library/tzdata/Etc/GMT-1 b/library/tzdata/Etc/GMT-1
new file mode 100644
index 0000000..95f320a
--- /dev/null
+++ b/library/tzdata/Etc/GMT-1
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-1) {
+ {-9223372036854775808 3600 0 GMT-1}
+}
diff --git a/library/tzdata/Etc/GMT-10 b/library/tzdata/Etc/GMT-10
new file mode 100644
index 0000000..1fd7692
--- /dev/null
+++ b/library/tzdata/Etc/GMT-10
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-10) {
+ {-9223372036854775808 36000 0 GMT-10}
+}
diff --git a/library/tzdata/Etc/GMT-11 b/library/tzdata/Etc/GMT-11
new file mode 100644
index 0000000..86b9462
--- /dev/null
+++ b/library/tzdata/Etc/GMT-11
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-11) {
+ {-9223372036854775808 39600 0 GMT-11}
+}
diff --git a/library/tzdata/Etc/GMT-12 b/library/tzdata/Etc/GMT-12
new file mode 100644
index 0000000..8a71ccf
--- /dev/null
+++ b/library/tzdata/Etc/GMT-12
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-12) {
+ {-9223372036854775808 43200 0 GMT-12}
+}
diff --git a/library/tzdata/Etc/GMT-13 b/library/tzdata/Etc/GMT-13
new file mode 100644
index 0000000..e5dec03
--- /dev/null
+++ b/library/tzdata/Etc/GMT-13
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-13) {
+ {-9223372036854775808 46800 0 GMT-13}
+}
diff --git a/library/tzdata/Etc/GMT-14 b/library/tzdata/Etc/GMT-14
new file mode 100644
index 0000000..38089d0
--- /dev/null
+++ b/library/tzdata/Etc/GMT-14
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-14) {
+ {-9223372036854775808 50400 0 GMT-14}
+}
diff --git a/library/tzdata/Etc/GMT-2 b/library/tzdata/Etc/GMT-2
new file mode 100644
index 0000000..7ab1e56
--- /dev/null
+++ b/library/tzdata/Etc/GMT-2
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-2) {
+ {-9223372036854775808 7200 0 GMT-2}
+}
diff --git a/library/tzdata/Etc/GMT-3 b/library/tzdata/Etc/GMT-3
new file mode 100644
index 0000000..ed56212
--- /dev/null
+++ b/library/tzdata/Etc/GMT-3
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-3) {
+ {-9223372036854775808 10800 0 GMT-3}
+}
diff --git a/library/tzdata/Etc/GMT-4 b/library/tzdata/Etc/GMT-4
new file mode 100644
index 0000000..79b9429
--- /dev/null
+++ b/library/tzdata/Etc/GMT-4
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-4) {
+ {-9223372036854775808 14400 0 GMT-4}
+}
diff --git a/library/tzdata/Etc/GMT-5 b/library/tzdata/Etc/GMT-5
new file mode 100644
index 0000000..834806d
--- /dev/null
+++ b/library/tzdata/Etc/GMT-5
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-5) {
+ {-9223372036854775808 18000 0 GMT-5}
+}
diff --git a/library/tzdata/Etc/GMT-6 b/library/tzdata/Etc/GMT-6
new file mode 100644
index 0000000..2297bf5
--- /dev/null
+++ b/library/tzdata/Etc/GMT-6
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-6) {
+ {-9223372036854775808 21600 0 GMT-6}
+}
diff --git a/library/tzdata/Etc/GMT-7 b/library/tzdata/Etc/GMT-7
new file mode 100644
index 0000000..ed58c58
--- /dev/null
+++ b/library/tzdata/Etc/GMT-7
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-7) {
+ {-9223372036854775808 25200 0 GMT-7}
+}
diff --git a/library/tzdata/Etc/GMT-8 b/library/tzdata/Etc/GMT-8
new file mode 100644
index 0000000..87db42d
--- /dev/null
+++ b/library/tzdata/Etc/GMT-8
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-8) {
+ {-9223372036854775808 28800 0 GMT-8}
+}
diff --git a/library/tzdata/Etc/GMT-9 b/library/tzdata/Etc/GMT-9
new file mode 100644
index 0000000..4d1ea32
--- /dev/null
+++ b/library/tzdata/Etc/GMT-9
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/GMT-9) {
+ {-9223372036854775808 32400 0 GMT-9}
+}
diff --git a/library/tzdata/Etc/GMT0 b/library/tzdata/Etc/GMT0
new file mode 100644
index 0000000..c09f8a5
--- /dev/null
+++ b/library/tzdata/Etc/GMT0
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Etc/GMT)]} {
+ loadTimeZoneFile Etc/GMT
+}
+set tzdata(:Etc/GMT0) $TZData(:Etc/GMT)
diff --git a/library/tzdata/Etc/Greenwich b/library/tzdata/Etc/Greenwich
new file mode 100644
index 0000000..2993a95
--- /dev/null
+++ b/library/tzdata/Etc/Greenwich
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Etc/GMT)]} {
+ loadTimeZoneFile Etc/GMT
+}
+set tzdata(:Etc/Greenwich) $TZData(:Etc/GMT)
diff --git a/library/tzdata/Etc/UCT b/library/tzdata/Etc/UCT
new file mode 100644
index 0000000..3ce66ef
--- /dev/null
+++ b/library/tzdata/Etc/UCT
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/UCT) {
+ {-9223372036854775808 0 0 UCT}
+}
diff --git a/library/tzdata/Etc/UTC b/library/tzdata/Etc/UTC
new file mode 100644
index 0000000..c6656a8
--- /dev/null
+++ b/library/tzdata/Etc/UTC
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Etc/UTC) {
+ {-9223372036854775808 0 0 UTC}
+}
diff --git a/library/tzdata/Etc/Universal b/library/tzdata/Etc/Universal
new file mode 100644
index 0000000..8b3ad0d
--- /dev/null
+++ b/library/tzdata/Etc/Universal
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Etc/UTC)]} {
+ loadTimeZoneFile Etc/UTC
+}
+set tzdata(:Etc/Universal) $TZData(:Etc/UTC)
diff --git a/library/tzdata/Etc/Zulu b/library/tzdata/Etc/Zulu
new file mode 100644
index 0000000..5c2db5f
--- /dev/null
+++ b/library/tzdata/Etc/Zulu
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Etc/UTC)]} {
+ loadTimeZoneFile Etc/UTC
+}
+set tzdata(:Etc/Zulu) $TZData(:Etc/UTC)
diff --git a/library/tzdata/Europe/Amsterdam b/library/tzdata/Europe/Amsterdam
new file mode 100644
index 0000000..4e8bcad
--- /dev/null
+++ b/library/tzdata/Europe/Amsterdam
@@ -0,0 +1,311 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Amsterdam) {
+ {-9223372036854775808 1172 0 LMT}
+ {-4260212372 1172 0 AMT}
+ {-1693700372 4772 1 NST}
+ {-1680484772 1172 0 AMT}
+ {-1663452000 4772 1 NST}
+ {-1650146400 1172 0 AMT}
+ {-1633212000 4772 1 NST}
+ {-1617487200 1172 0 AMT}
+ {-1601157600 4772 1 NST}
+ {-1586037600 1172 0 AMT}
+ {-1569708000 4772 1 NST}
+ {-1554588000 1172 0 AMT}
+ {-1538258400 4772 1 NST}
+ {-1523138400 1172 0 AMT}
+ {-1507500000 4772 1 NST}
+ {-1490565600 1172 0 AMT}
+ {-1470175200 4772 1 NST}
+ {-1459116000 1172 0 AMT}
+ {-1443996000 4772 1 NST}
+ {-1427666400 1172 0 AMT}
+ {-1406671200 4772 1 NST}
+ {-1396216800 1172 0 AMT}
+ {-1376949600 4772 1 NST}
+ {-1364767200 1172 0 AMT}
+ {-1345413600 4772 1 NST}
+ {-1333317600 1172 0 AMT}
+ {-1313791200 4772 1 NST}
+ {-1301263200 1172 0 AMT}
+ {-1282255200 4772 1 NST}
+ {-1269813600 1172 0 AMT}
+ {-1250719200 4772 1 NST}
+ {-1238364000 1172 0 AMT}
+ {-1219183200 4772 1 NST}
+ {-1206914400 1172 0 AMT}
+ {-1186956000 4772 1 NST}
+ {-1175464800 1172 0 AMT}
+ {-1156024800 4772 1 NST}
+ {-1143410400 1172 0 AMT}
+ {-1124488800 4772 1 NST}
+ {-1111960800 1172 0 AMT}
+ {-1092952800 4772 1 NST}
+ {-1080511200 1172 0 AMT}
+ {-1061330400 4772 1 NST}
+ {-1049061600 1172 0 AMT}
+ {-1029189600 4772 1 NST}
+ {-1025741972 4800 0 NEST}
+ {-1017612000 1200 0 NET}
+ {-998258400 4800 1 NEST}
+ {-986162400 1200 0 NET}
+ {-966722400 4800 1 NEST}
+ {-954108000 1200 0 NET}
+ {-935022000 7200 0 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796773600 3600 0 CET}
+ {-781052400 3600 0 CEAMTT}
+ {-781048800 7200 1 CEST}
+ {-766620000 3600 0 CET}
+ {220921200 3600 0 CET}
+ {228877200 7200 1 CEST}
+ {243997200 3600 0 CET}
+ {260326800 7200 1 CEST}
+ {276051600 3600 0 CET}
+ {291776400 7200 1 CEST}
+ {307501200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Andorra b/library/tzdata/Europe/Andorra
new file mode 100644
index 0000000..2a2f74c
--- /dev/null
+++ b/library/tzdata/Europe/Andorra
@@ -0,0 +1,237 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Andorra) {
+ {-9223372036854775808 364 0 LMT}
+ {-2177453164 0 0 WET}
+ {-733881600 3600 0 CET}
+ {481078800 7200 0 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Athens b/library/tzdata/Europe/Athens
new file mode 100644
index 0000000..50a621b
--- /dev/null
+++ b/library/tzdata/Europe/Athens
@@ -0,0 +1,268 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Athens) {
+ {-9223372036854775808 5692 0 LMT}
+ {-2344642492 5692 0 AMT}
+ {-1686101632 7200 0 EET}
+ {-1182996000 10800 1 EEST}
+ {-1178161200 7200 0 EET}
+ {-906861600 10800 1 EEST}
+ {-904878000 7200 0 CEST}
+ {-857257200 3600 0 CET}
+ {-844477200 7200 1 CEST}
+ {-828237600 3600 0 CET}
+ {-812422800 7200 0 EET}
+ {-552362400 10800 1 EEST}
+ {-541652400 7200 0 EET}
+ {166492800 10800 1 EEST}
+ {186192000 7200 0 EET}
+ {198036000 10800 1 EEST}
+ {213760800 7200 0 EET}
+ {228880800 10800 1 EEST}
+ {244087200 7200 0 EET}
+ {260330400 10800 1 EEST}
+ {275446800 7200 0 EET}
+ {291798000 10800 1 EEST}
+ {307407600 7200 0 EET}
+ {323388000 10800 1 EEST}
+ {338936400 7200 0 EET}
+ {347148000 7200 0 EET}
+ {354675600 10800 1 EEST}
+ {370400400 7200 0 EET}
+ {386125200 10800 1 EEST}
+ {401850000 7200 0 EET}
+ {417574800 10800 1 EEST}
+ {433299600 7200 0 EET}
+ {449024400 10800 1 EEST}
+ {465354000 7200 0 EET}
+ {481078800 10800 1 EEST}
+ {496803600 7200 0 EET}
+ {512528400 10800 1 EEST}
+ {528253200 7200 0 EET}
+ {543978000 10800 1 EEST}
+ {559702800 7200 0 EET}
+ {575427600 10800 1 EEST}
+ {591152400 7200 0 EET}
+ {606877200 10800 1 EEST}
+ {622602000 7200 0 EET}
+ {638326800 10800 1 EEST}
+ {654656400 7200 0 EET}
+ {670381200 10800 1 EEST}
+ {686106000 7200 0 EET}
+ {701830800 10800 1 EEST}
+ {717555600 7200 0 EET}
+ {733280400 10800 1 EEST}
+ {749005200 7200 0 EET}
+ {764730000 10800 1 EEST}
+ {780454800 7200 0 EET}
+ {796179600 10800 1 EEST}
+ {811904400 7200 0 EET}
+ {828234000 10800 1 EEST}
+ {846378000 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Belfast b/library/tzdata/Europe/Belfast
new file mode 100644
index 0000000..a23f43f
--- /dev/null
+++ b/library/tzdata/Europe/Belfast
@@ -0,0 +1,372 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Belfast) {
+ {-9223372036854775808 -1420 0 LMT}
+ {-2821649780 -1521 0 DMT}
+ {-1691962479 2079 1 IST}
+ {-1680472800 0 0 GMT}
+ {-1664143200 3600 1 BST}
+ {-1650146400 0 0 GMT}
+ {-1633903200 3600 1 BST}
+ {-1617487200 0 0 GMT}
+ {-1601848800 3600 1 BST}
+ {-1586037600 0 0 GMT}
+ {-1570399200 3600 1 BST}
+ {-1552168800 0 0 GMT}
+ {-1538344800 3600 1 BST}
+ {-1522533600 0 0 GMT}
+ {-1507500000 3600 1 BST}
+ {-1490565600 0 0 GMT}
+ {-1473631200 3600 1 BST}
+ {-1460930400 0 0 GMT}
+ {-1442786400 3600 1 BST}
+ {-1428876000 0 0 GMT}
+ {-1410732000 3600 1 BST}
+ {-1396216800 0 0 GMT}
+ {-1379282400 3600 1 BST}
+ {-1364767200 0 0 GMT}
+ {-1348437600 3600 1 BST}
+ {-1333317600 0 0 GMT}
+ {-1315778400 3600 1 BST}
+ {-1301263200 0 0 GMT}
+ {-1284328800 3600 1 BST}
+ {-1269813600 0 0 GMT}
+ {-1253484000 3600 1 BST}
+ {-1238364000 0 0 GMT}
+ {-1221429600 3600 1 BST}
+ {-1206914400 0 0 GMT}
+ {-1189980000 3600 1 BST}
+ {-1175464800 0 0 GMT}
+ {-1159135200 3600 1 BST}
+ {-1143410400 0 0 GMT}
+ {-1126476000 3600 1 BST}
+ {-1111960800 0 0 GMT}
+ {-1095631200 3600 1 BST}
+ {-1080511200 0 0 GMT}
+ {-1063576800 3600 1 BST}
+ {-1049061600 0 0 GMT}
+ {-1032127200 3600 1 BST}
+ {-1017612000 0 0 GMT}
+ {-1001282400 3600 1 BST}
+ {-986162400 0 0 GMT}
+ {-969228000 3600 1 BST}
+ {-950479200 0 0 GMT}
+ {-942012000 3600 1 BST}
+ {-904518000 7200 1 BDST}
+ {-896050800 3600 1 BST}
+ {-875487600 7200 1 BDST}
+ {-864601200 3600 1 BST}
+ {-844038000 7200 1 BDST}
+ {-832546800 3600 1 BST}
+ {-812588400 7200 1 BDST}
+ {-798073200 3600 1 BST}
+ {-781052400 7200 1 BDST}
+ {-772066800 3600 1 BST}
+ {-764805600 0 0 GMT}
+ {-748476000 3600 1 BST}
+ {-733356000 0 0 GMT}
+ {-719445600 3600 1 BST}
+ {-717030000 7200 1 BDST}
+ {-706748400 3600 1 BST}
+ {-699487200 0 0 GMT}
+ {-687996000 3600 1 BST}
+ {-668037600 0 0 GMT}
+ {-654732000 3600 1 BST}
+ {-636588000 0 0 GMT}
+ {-622072800 3600 1 BST}
+ {-605743200 0 0 GMT}
+ {-590623200 3600 1 BST}
+ {-574293600 0 0 GMT}
+ {-558568800 3600 1 BST}
+ {-542239200 0 0 GMT}
+ {-527119200 3600 1 BST}
+ {-512604000 0 0 GMT}
+ {-496274400 3600 1 BST}
+ {-481154400 0 0 GMT}
+ {-464220000 3600 1 BST}
+ {-449704800 0 0 GMT}
+ {-432165600 3600 1 BST}
+ {-417650400 0 0 GMT}
+ {-401320800 3600 1 BST}
+ {-386200800 0 0 GMT}
+ {-369266400 3600 1 BST}
+ {-354751200 0 0 GMT}
+ {-337816800 3600 1 BST}
+ {-323301600 0 0 GMT}
+ {-306972000 3600 1 BST}
+ {-291852000 0 0 GMT}
+ {-276732000 3600 1 BST}
+ {-257983200 0 0 GMT}
+ {-245282400 3600 1 BST}
+ {-226533600 0 0 GMT}
+ {-213228000 3600 1 BST}
+ {-195084000 0 0 GMT}
+ {-182383200 3600 1 BST}
+ {-163634400 0 0 GMT}
+ {-150933600 3600 1 BST}
+ {-132184800 0 0 GMT}
+ {-119484000 3600 1 BST}
+ {-100735200 0 0 GMT}
+ {-88034400 3600 1 BST}
+ {-68680800 0 0 GMT}
+ {-59004000 3600 1 BST}
+ {-37238400 3600 0 BST}
+ {57722400 0 0 GMT}
+ {69818400 3600 1 BST}
+ {89172000 0 0 GMT}
+ {101268000 3600 1 BST}
+ {120621600 0 0 GMT}
+ {132717600 3600 1 BST}
+ {152071200 0 0 GMT}
+ {164167200 3600 1 BST}
+ {183520800 0 0 GMT}
+ {196221600 3600 1 BST}
+ {214970400 0 0 GMT}
+ {227671200 3600 1 BST}
+ {246420000 0 0 GMT}
+ {259120800 3600 1 BST}
+ {278474400 0 0 GMT}
+ {290570400 3600 1 BST}
+ {309924000 0 0 GMT}
+ {322020000 3600 1 BST}
+ {341373600 0 0 GMT}
+ {354675600 3600 1 BST}
+ {372819600 0 0 GMT}
+ {386125200 3600 1 BST}
+ {404269200 0 0 GMT}
+ {417574800 3600 1 BST}
+ {435718800 0 0 GMT}
+ {449024400 3600 1 BST}
+ {467773200 0 0 GMT}
+ {481078800 3600 1 BST}
+ {499222800 0 0 GMT}
+ {512528400 3600 1 BST}
+ {530672400 0 0 GMT}
+ {543978000 3600 1 BST}
+ {562122000 0 0 GMT}
+ {575427600 3600 1 BST}
+ {593571600 0 0 GMT}
+ {606877200 3600 1 BST}
+ {625626000 0 0 GMT}
+ {638326800 3600 1 BST}
+ {657075600 0 0 GMT}
+ {670381200 3600 1 BST}
+ {688525200 0 0 GMT}
+ {701830800 3600 1 BST}
+ {719974800 0 0 GMT}
+ {733280400 3600 1 BST}
+ {751424400 0 0 GMT}
+ {764730000 3600 1 BST}
+ {782874000 0 0 GMT}
+ {796179600 3600 1 BST}
+ {814323600 0 0 GMT}
+ {820454400 0 0 GMT}
+ {828234000 3600 1 BST}
+ {846378000 0 0 GMT}
+ {859683600 3600 1 BST}
+ {877827600 0 0 GMT}
+ {891133200 3600 1 BST}
+ {909277200 0 0 GMT}
+ {922582800 3600 1 BST}
+ {941331600 0 0 GMT}
+ {954032400 3600 1 BST}
+ {972781200 0 0 GMT}
+ {985482000 3600 1 BST}
+ {1004230800 0 0 GMT}
+ {1017536400 3600 1 BST}
+ {1035680400 0 0 GMT}
+ {1048986000 3600 1 BST}
+ {1067130000 0 0 GMT}
+ {1080435600 3600 1 BST}
+ {1099184400 0 0 GMT}
+ {1111885200 3600 1 BST}
+ {1130634000 0 0 GMT}
+ {1143334800 3600 1 BST}
+ {1162083600 0 0 GMT}
+ {1174784400 3600 1 BST}
+ {1193533200 0 0 GMT}
+ {1206838800 3600 1 BST}
+ {1224982800 0 0 GMT}
+ {1238288400 3600 1 BST}
+ {1256432400 0 0 GMT}
+ {1269738000 3600 1 BST}
+ {1288486800 0 0 GMT}
+ {1301187600 3600 1 BST}
+ {1319936400 0 0 GMT}
+ {1332637200 3600 1 BST}
+ {1351386000 0 0 GMT}
+ {1364691600 3600 1 BST}
+ {1382835600 0 0 GMT}
+ {1396141200 3600 1 BST}
+ {1414285200 0 0 GMT}
+ {1427590800 3600 1 BST}
+ {1445734800 0 0 GMT}
+ {1459040400 3600 1 BST}
+ {1477789200 0 0 GMT}
+ {1490490000 3600 1 BST}
+ {1509238800 0 0 GMT}
+ {1521939600 3600 1 BST}
+ {1540688400 0 0 GMT}
+ {1553994000 3600 1 BST}
+ {1572138000 0 0 GMT}
+ {1585443600 3600 1 BST}
+ {1603587600 0 0 GMT}
+ {1616893200 3600 1 BST}
+ {1635642000 0 0 GMT}
+ {1648342800 3600 1 BST}
+ {1667091600 0 0 GMT}
+ {1679792400 3600 1 BST}
+ {1698541200 0 0 GMT}
+ {1711846800 3600 1 BST}
+ {1729990800 0 0 GMT}
+ {1743296400 3600 1 BST}
+ {1761440400 0 0 GMT}
+ {1774746000 3600 1 BST}
+ {1792890000 0 0 GMT}
+ {1806195600 3600 1 BST}
+ {1824944400 0 0 GMT}
+ {1837645200 3600 1 BST}
+ {1856394000 0 0 GMT}
+ {1869094800 3600 1 BST}
+ {1887843600 0 0 GMT}
+ {1901149200 3600 1 BST}
+ {1919293200 0 0 GMT}
+ {1932598800 3600 1 BST}
+ {1950742800 0 0 GMT}
+ {1964048400 3600 1 BST}
+ {1982797200 0 0 GMT}
+ {1995498000 3600 1 BST}
+ {2014246800 0 0 GMT}
+ {2026947600 3600 1 BST}
+ {2045696400 0 0 GMT}
+ {2058397200 3600 1 BST}
+ {2077146000 0 0 GMT}
+ {2090451600 3600 1 BST}
+ {2108595600 0 0 GMT}
+ {2121901200 3600 1 BST}
+ {2140045200 0 0 GMT}
+ {2153350800 3600 1 BST}
+ {2172099600 0 0 GMT}
+ {2184800400 3600 1 BST}
+ {2203549200 0 0 GMT}
+ {2216250000 3600 1 BST}
+ {2234998800 0 0 GMT}
+ {2248304400 3600 1 BST}
+ {2266448400 0 0 GMT}
+ {2279754000 3600 1 BST}
+ {2297898000 0 0 GMT}
+ {2311203600 3600 1 BST}
+ {2329347600 0 0 GMT}
+ {2342653200 3600 1 BST}
+ {2361402000 0 0 GMT}
+ {2374102800 3600 1 BST}
+ {2392851600 0 0 GMT}
+ {2405552400 3600 1 BST}
+ {2424301200 0 0 GMT}
+ {2437606800 3600 1 BST}
+ {2455750800 0 0 GMT}
+ {2469056400 3600 1 BST}
+ {2487200400 0 0 GMT}
+ {2500506000 3600 1 BST}
+ {2519254800 0 0 GMT}
+ {2531955600 3600 1 BST}
+ {2550704400 0 0 GMT}
+ {2563405200 3600 1 BST}
+ {2582154000 0 0 GMT}
+ {2595459600 3600 1 BST}
+ {2613603600 0 0 GMT}
+ {2626909200 3600 1 BST}
+ {2645053200 0 0 GMT}
+ {2658358800 3600 1 BST}
+ {2676502800 0 0 GMT}
+ {2689808400 3600 1 BST}
+ {2708557200 0 0 GMT}
+ {2721258000 3600 1 BST}
+ {2740006800 0 0 GMT}
+ {2752707600 3600 1 BST}
+ {2771456400 0 0 GMT}
+ {2784762000 3600 1 BST}
+ {2802906000 0 0 GMT}
+ {2816211600 3600 1 BST}
+ {2834355600 0 0 GMT}
+ {2847661200 3600 1 BST}
+ {2866410000 0 0 GMT}
+ {2879110800 3600 1 BST}
+ {2897859600 0 0 GMT}
+ {2910560400 3600 1 BST}
+ {2929309200 0 0 GMT}
+ {2942010000 3600 1 BST}
+ {2960758800 0 0 GMT}
+ {2974064400 3600 1 BST}
+ {2992208400 0 0 GMT}
+ {3005514000 3600 1 BST}
+ {3023658000 0 0 GMT}
+ {3036963600 3600 1 BST}
+ {3055712400 0 0 GMT}
+ {3068413200 3600 1 BST}
+ {3087162000 0 0 GMT}
+ {3099862800 3600 1 BST}
+ {3118611600 0 0 GMT}
+ {3131917200 3600 1 BST}
+ {3150061200 0 0 GMT}
+ {3163366800 3600 1 BST}
+ {3181510800 0 0 GMT}
+ {3194816400 3600 1 BST}
+ {3212960400 0 0 GMT}
+ {3226266000 3600 1 BST}
+ {3245014800 0 0 GMT}
+ {3257715600 3600 1 BST}
+ {3276464400 0 0 GMT}
+ {3289165200 3600 1 BST}
+ {3307914000 0 0 GMT}
+ {3321219600 3600 1 BST}
+ {3339363600 0 0 GMT}
+ {3352669200 3600 1 BST}
+ {3370813200 0 0 GMT}
+ {3384118800 3600 1 BST}
+ {3402867600 0 0 GMT}
+ {3415568400 3600 1 BST}
+ {3434317200 0 0 GMT}
+ {3447018000 3600 1 BST}
+ {3465766800 0 0 GMT}
+ {3479072400 3600 1 BST}
+ {3497216400 0 0 GMT}
+ {3510522000 3600 1 BST}
+ {3528666000 0 0 GMT}
+ {3541971600 3600 1 BST}
+ {3560115600 0 0 GMT}
+ {3573421200 3600 1 BST}
+ {3592170000 0 0 GMT}
+ {3604870800 3600 1 BST}
+ {3623619600 0 0 GMT}
+ {3636320400 3600 1 BST}
+ {3655069200 0 0 GMT}
+ {3668374800 3600 1 BST}
+ {3686518800 0 0 GMT}
+ {3699824400 3600 1 BST}
+ {3717968400 0 0 GMT}
+ {3731274000 3600 1 BST}
+ {3750022800 0 0 GMT}
+ {3762723600 3600 1 BST}
+ {3781472400 0 0 GMT}
+ {3794173200 3600 1 BST}
+ {3812922000 0 0 GMT}
+ {3825622800 3600 1 BST}
+ {3844371600 0 0 GMT}
+ {3857677200 3600 1 BST}
+ {3875821200 0 0 GMT}
+ {3889126800 3600 1 BST}
+ {3907270800 0 0 GMT}
+ {3920576400 3600 1 BST}
+ {3939325200 0 0 GMT}
+ {3952026000 3600 1 BST}
+ {3970774800 0 0 GMT}
+ {3983475600 3600 1 BST}
+ {4002224400 0 0 GMT}
+ {4015530000 3600 1 BST}
+ {4033674000 0 0 GMT}
+ {4046979600 3600 1 BST}
+ {4065123600 0 0 GMT}
+ {4078429200 3600 1 BST}
+ {4096573200 0 0 GMT}
+}
diff --git a/library/tzdata/Europe/Belgrade b/library/tzdata/Europe/Belgrade
new file mode 100644
index 0000000..d990fd5
--- /dev/null
+++ b/library/tzdata/Europe/Belgrade
@@ -0,0 +1,249 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Belgrade) {
+ {-9223372036854775808 4920 0 LMT}
+ {-2713915320 3600 0 CET}
+ {-905824800 3600 0 CET}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796773600 3600 0 CET}
+ {-777938400 7200 1 CEST}
+ {-766620000 3600 0 CET}
+ {407199600 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Berlin b/library/tzdata/Europe/Berlin
new file mode 100644
index 0000000..8768f7e
--- /dev/null
+++ b/library/tzdata/Europe/Berlin
@@ -0,0 +1,274 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Berlin) {
+ {-9223372036854775808 3208 0 LMT}
+ {-2422054408 3600 0 CET}
+ {-1693706400 7200 1 CEST}
+ {-1680483600 3600 0 CET}
+ {-1663452000 7200 1 CEST}
+ {-1650146400 3600 0 CET}
+ {-1632002400 7200 1 CEST}
+ {-1618696800 3600 0 CET}
+ {-938901600 7200 1 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796773600 3600 0 CET}
+ {-781052400 3600 0 CET}
+ {-781048800 7200 1 CEST}
+ {-776563200 10800 1 CEMT}
+ {-765936000 7200 1 CEST}
+ {-761176800 3600 0 CET}
+ {-748476000 7200 1 CEST}
+ {-733269600 3600 0 CET}
+ {-717631200 7200 1 CEST}
+ {-714607200 10800 1 CEMT}
+ {-710380800 7200 1 CEST}
+ {-701906400 3600 0 CET}
+ {-684972000 7200 1 CEST}
+ {-670456800 3600 0 CET}
+ {-654127200 7200 1 CEST}
+ {-639007200 3600 0 CET}
+ {315529200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Bratislava b/library/tzdata/Europe/Bratislava
new file mode 100644
index 0000000..c706cb4
--- /dev/null
+++ b/library/tzdata/Europe/Bratislava
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Prague)]} {
+ loadTimeZoneFile Europe/Prague
+}
+set tzdata(:Europe/Bratislava) $TZData(:Europe/Prague)
diff --git a/library/tzdata/Europe/Brussels b/library/tzdata/Europe/Brussels
new file mode 100644
index 0000000..d82ed03
--- /dev/null
+++ b/library/tzdata/Europe/Brussels
@@ -0,0 +1,316 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Brussels) {
+ {-9223372036854775808 1050 0 LMT}
+ {-2840141850 1050 0 BMT}
+ {-2450953050 0 0 WET}
+ {-1740355200 3600 0 CET}
+ {-1693702800 7200 0 CEST}
+ {-1680483600 3600 0 CET}
+ {-1663452000 7200 1 CEST}
+ {-1650146400 3600 0 CET}
+ {-1632002400 7200 1 CEST}
+ {-1618696800 3600 0 CET}
+ {-1613826000 0 0 WET}
+ {-1604278800 3600 1 WEST}
+ {-1585530000 0 0 WET}
+ {-1574038800 3600 1 WEST}
+ {-1552266000 0 0 WET}
+ {-1539997200 3600 1 WEST}
+ {-1520557200 0 0 WET}
+ {-1507510800 3600 1 WEST}
+ {-1490576400 0 0 WET}
+ {-1473642000 3600 1 WEST}
+ {-1459126800 0 0 WET}
+ {-1444006800 3600 1 WEST}
+ {-1427677200 0 0 WET}
+ {-1411952400 3600 1 WEST}
+ {-1396227600 0 0 WET}
+ {-1379293200 3600 1 WEST}
+ {-1364778000 0 0 WET}
+ {-1348448400 3600 1 WEST}
+ {-1333328400 0 0 WET}
+ {-1316394000 3600 1 WEST}
+ {-1301263200 0 0 WET}
+ {-1284328800 3600 1 WEST}
+ {-1269813600 0 0 WET}
+ {-1253484000 3600 1 WEST}
+ {-1238364000 0 0 WET}
+ {-1221429600 3600 1 WEST}
+ {-1206914400 0 0 WET}
+ {-1191189600 3600 1 WEST}
+ {-1175464800 0 0 WET}
+ {-1160344800 3600 1 WEST}
+ {-1143410400 0 0 WET}
+ {-1127685600 3600 1 WEST}
+ {-1111960800 0 0 WET}
+ {-1096840800 3600 1 WEST}
+ {-1080511200 0 0 WET}
+ {-1063576800 3600 1 WEST}
+ {-1049061600 0 0 WET}
+ {-1033336800 3600 1 WEST}
+ {-1017612000 0 0 WET}
+ {-1002492000 3600 1 WEST}
+ {-986162400 0 0 WET}
+ {-969228000 3600 1 WEST}
+ {-950479200 0 0 WET}
+ {-942012000 3600 1 WEST}
+ {-934668000 7200 0 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-799290000 3600 0 CET}
+ {-798069600 3600 0 CET}
+ {-781048800 7200 1 CEST}
+ {-766620000 3600 0 CET}
+ {-745452000 7200 1 CEST}
+ {-733269600 3600 0 CET}
+ {220921200 3600 0 CET}
+ {228877200 7200 1 CEST}
+ {243997200 3600 0 CET}
+ {260326800 7200 1 CEST}
+ {276051600 3600 0 CET}
+ {291776400 7200 1 CEST}
+ {307501200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Bucharest b/library/tzdata/Europe/Bucharest
new file mode 100644
index 0000000..4ad1ffa
--- /dev/null
+++ b/library/tzdata/Europe/Bucharest
@@ -0,0 +1,268 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Bucharest) {
+ {-9223372036854775808 6264 0 LMT}
+ {-2469404664 6264 0 BMT}
+ {-1213148664 7200 0 EET}
+ {-1187049600 10800 1 EEST}
+ {-1175472000 7200 0 EET}
+ {-1159747200 10800 1 EEST}
+ {-1144022400 7200 0 EET}
+ {-1127692800 10800 1 EEST}
+ {-1111968000 7200 0 EET}
+ {-1096243200 10800 1 EEST}
+ {-1080518400 7200 0 EET}
+ {-1064793600 10800 1 EEST}
+ {-1049068800 7200 0 EET}
+ {-1033344000 10800 1 EEST}
+ {-1017619200 7200 0 EET}
+ {-1001894400 10800 1 EEST}
+ {-986169600 7200 0 EET}
+ {-970444800 10800 1 EEST}
+ {-954720000 7200 0 EET}
+ {296604000 10800 1 EEST}
+ {307486800 7200 0 EET}
+ {323816400 10800 1 EEST}
+ {338940000 7200 0 EET}
+ {354679200 10800 0 EEST}
+ {370404000 7200 0 EET}
+ {386128800 10800 1 EEST}
+ {401853600 7200 0 EET}
+ {417578400 10800 1 EEST}
+ {433303200 7200 0 EET}
+ {449028000 10800 1 EEST}
+ {465357600 7200 0 EET}
+ {481082400 10800 1 EEST}
+ {496807200 7200 0 EET}
+ {512532000 10800 1 EEST}
+ {528256800 7200 0 EET}
+ {543981600 10800 1 EEST}
+ {559706400 7200 0 EET}
+ {575431200 10800 1 EEST}
+ {591156000 7200 0 EET}
+ {606880800 10800 1 EEST}
+ {622605600 7200 0 EET}
+ {638330400 10800 1 EEST}
+ {654660000 7200 0 EET}
+ {662680800 7200 0 EET}
+ {670377600 10800 1 EEST}
+ {686102400 7200 0 EET}
+ {701827200 10800 1 EEST}
+ {717552000 7200 0 EET}
+ {733276800 10800 1 EEST}
+ {749001600 7200 0 EET}
+ {757375200 7200 0 EET}
+ {764719200 10800 1 EEST}
+ {780440400 7200 0 EET}
+ {796168800 10800 1 EEST}
+ {811890000 7200 0 EET}
+ {828223200 10800 1 EEST}
+ {846363600 7200 0 EET}
+ {852069600 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Budapest b/library/tzdata/Europe/Budapest
new file mode 100644
index 0000000..a65d091
--- /dev/null
+++ b/library/tzdata/Europe/Budapest
@@ -0,0 +1,283 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Budapest) {
+ {-9223372036854775808 4580 0 LMT}
+ {-2500938980 3600 0 CET}
+ {-1693706400 7200 1 CEST}
+ {-1680483600 3600 0 CET}
+ {-1663452000 7200 1 CEST}
+ {-1650146400 3600 0 CET}
+ {-1640998800 3600 0 CET}
+ {-1633212000 7200 1 CEST}
+ {-1617577200 3600 0 CET}
+ {-1600466400 7200 1 CEST}
+ {-1587250800 3600 0 CET}
+ {-1569708000 7200 1 CEST}
+ {-1554332400 3600 0 CET}
+ {-906937200 3600 0 CET}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796773600 3600 0 CET}
+ {-778471200 7200 0 CEST}
+ {-762487200 3600 0 CET}
+ {-749685600 7200 1 CEST}
+ {-733356000 3600 0 CET}
+ {-717631200 7200 1 CEST}
+ {-701906400 3600 0 CET}
+ {-686181600 7200 1 CEST}
+ {-670456800 3600 0 CET}
+ {-654127200 7200 1 CEST}
+ {-639007200 3600 0 CET}
+ {-621986400 7200 1 CEST}
+ {-605656800 3600 0 CET}
+ {-492656400 7200 1 CEST}
+ {-481168800 3600 0 CET}
+ {-461120400 7200 1 CEST}
+ {-449632800 3600 0 CET}
+ {-428547600 7200 1 CEST}
+ {-418269600 3600 0 CET}
+ {-397094400 7200 1 CEST}
+ {-386809200 3600 0 CET}
+ {323827200 7200 1 CEST}
+ {338954400 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Chisinau b/library/tzdata/Europe/Chisinau
new file mode 100644
index 0000000..95ebcba
--- /dev/null
+++ b/library/tzdata/Europe/Chisinau
@@ -0,0 +1,272 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Chisinau) {
+ {-9223372036854775808 6920 0 LMT}
+ {-2840147720 6900 0 CMT}
+ {-1637114100 6264 0 BMT}
+ {-1213148664 7200 0 EET}
+ {-1187049600 10800 1 EEST}
+ {-1175472000 7200 0 EET}
+ {-1159747200 10800 1 EEST}
+ {-1144022400 7200 0 EET}
+ {-1127692800 10800 1 EEST}
+ {-1111968000 7200 0 EET}
+ {-1096243200 10800 1 EEST}
+ {-1080518400 7200 0 EET}
+ {-1064793600 10800 1 EEST}
+ {-1049068800 7200 0 EET}
+ {-1033344000 10800 1 EEST}
+ {-1017619200 7200 0 EET}
+ {-1001894400 10800 1 EEST}
+ {-986169600 7200 0 EET}
+ {-970444800 10800 1 EEST}
+ {-954720000 7200 0 EET}
+ {-927165600 10800 1 EEST}
+ {-898138800 7200 0 CET}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-800154000 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465357600 10800 0 MSK}
+ {481082400 14400 1 MSD}
+ {496807200 10800 0 MSK}
+ {512532000 14400 1 MSD}
+ {528256800 10800 0 MSK}
+ {543981600 14400 1 MSD}
+ {559706400 10800 0 MSK}
+ {575431200 14400 1 MSD}
+ {591156000 10800 0 MSK}
+ {606880800 14400 1 MSD}
+ {622605600 10800 0 MSK}
+ {631141200 10800 0 MSK}
+ {641941200 7200 0 EET}
+ {662680800 7200 0 EEMMTT}
+ {670384800 10800 1 EEST}
+ {686109600 7200 0 EET}
+ {694216800 7200 0 EET}
+ {701820000 10800 1 EEST}
+ {717541200 7200 0 EET}
+ {733269600 10800 1 EEST}
+ {748990800 7200 0 EET}
+ {764719200 10800 1 EEST}
+ {780440400 7200 0 EET}
+ {796168800 10800 1 EEST}
+ {811890000 7200 0 EET}
+ {828223200 10800 1 EEST}
+ {846363600 7200 0 EET}
+ {852069600 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Copenhagen b/library/tzdata/Europe/Copenhagen
new file mode 100644
index 0000000..deb57e0
--- /dev/null
+++ b/library/tzdata/Europe/Copenhagen
@@ -0,0 +1,265 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Copenhagen) {
+ {-9223372036854775808 3020 0 LMT}
+ {-2524524620 3020 0 CMT}
+ {-2390518220 3600 0 CET}
+ {-1692496800 7200 1 CEST}
+ {-1680490800 3600 0 CET}
+ {-935110800 7200 1 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796773600 3600 0 CET}
+ {-781052400 3600 0 CET}
+ {-781048800 7200 1 CEST}
+ {-769384800 3600 0 CET}
+ {-747007200 7200 1 CEST}
+ {-736380000 3600 0 CET}
+ {-715212000 7200 1 CEST}
+ {-706744800 3600 0 CET}
+ {-683157600 7200 1 CEST}
+ {-675295200 3600 0 CET}
+ {315529200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Dublin b/library/tzdata/Europe/Dublin
new file mode 100644
index 0000000..4359026
--- /dev/null
+++ b/library/tzdata/Europe/Dublin
@@ -0,0 +1,359 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Dublin) {
+ {-9223372036854775808 -1500 0 LMT}
+ {-2821649700 -1521 0 DMT}
+ {-1691962479 2079 1 IST}
+ {-1680472800 0 0 GMT}
+ {-1664143200 3600 1 BST}
+ {-1650146400 0 0 GMT}
+ {-1633903200 3600 1 BST}
+ {-1617487200 0 0 GMT}
+ {-1601848800 3600 1 BST}
+ {-1586037600 0 0 GMT}
+ {-1570399200 3600 1 BST}
+ {-1552168800 0 0 GMT}
+ {-1538344800 3600 1 BST}
+ {-1522533600 0 0 GMT}
+ {-1517011200 0 0 IST}
+ {-1507500000 3600 1 IST}
+ {-1490565600 0 0 IST}
+ {-1473631200 3600 1 IST}
+ {-1460930400 0 0 IST}
+ {-1442786400 3600 1 IST}
+ {-1428876000 0 0 IST}
+ {-1410732000 3600 1 IST}
+ {-1396216800 0 0 IST}
+ {-1379282400 3600 1 IST}
+ {-1364767200 0 0 IST}
+ {-1348437600 3600 1 IST}
+ {-1333317600 0 0 IST}
+ {-1315778400 3600 1 IST}
+ {-1301263200 0 0 IST}
+ {-1284328800 3600 1 IST}
+ {-1269813600 0 0 IST}
+ {-1253484000 3600 1 IST}
+ {-1238364000 0 0 IST}
+ {-1221429600 3600 1 IST}
+ {-1206914400 0 0 IST}
+ {-1189980000 3600 1 IST}
+ {-1175464800 0 0 IST}
+ {-1159135200 3600 1 IST}
+ {-1143410400 0 0 IST}
+ {-1126476000 3600 1 IST}
+ {-1111960800 0 0 IST}
+ {-1095631200 3600 1 IST}
+ {-1080511200 0 0 IST}
+ {-1063576800 3600 1 IST}
+ {-1049061600 0 0 IST}
+ {-1032127200 3600 1 IST}
+ {-1017612000 0 0 IST}
+ {-1001282400 3600 1 IST}
+ {-986162400 0 0 IST}
+ {-969228000 3600 1 IST}
+ {-950479200 0 0 IST}
+ {-942015600 3600 1 IST}
+ {-733359600 0 0 GMT}
+ {-719445600 3600 1 IST}
+ {-699490800 0 0 GMT}
+ {-684972000 3600 0 IST}
+ {-668037600 0 0 IST}
+ {-654732000 3600 1 IST}
+ {-636588000 0 0 IST}
+ {-622072800 3600 1 IST}
+ {-605743200 0 0 IST}
+ {-590623200 3600 1 IST}
+ {-574293600 0 0 IST}
+ {-558568800 3600 1 IST}
+ {-542239200 0 0 IST}
+ {-527119200 3600 1 IST}
+ {-512604000 0 0 IST}
+ {-496274400 3600 1 IST}
+ {-481154400 0 0 IST}
+ {-464220000 3600 1 IST}
+ {-449704800 0 0 IST}
+ {-432165600 3600 1 IST}
+ {-417650400 0 0 IST}
+ {-401320800 3600 1 IST}
+ {-386200800 0 0 IST}
+ {-369266400 3600 1 IST}
+ {-354751200 0 0 IST}
+ {-337816800 3600 1 IST}
+ {-323301600 0 0 IST}
+ {-306972000 3600 1 IST}
+ {-291852000 0 0 IST}
+ {-276732000 3600 1 IST}
+ {-257983200 0 0 IST}
+ {-245282400 3600 1 IST}
+ {-226533600 0 0 IST}
+ {-213228000 3600 1 IST}
+ {-195084000 0 0 IST}
+ {-182383200 3600 1 IST}
+ {-163634400 0 0 IST}
+ {-150933600 3600 1 IST}
+ {-132184800 0 0 IST}
+ {-119484000 3600 1 IST}
+ {-100735200 0 0 IST}
+ {-88034400 3600 1 IST}
+ {-68680800 0 0 IST}
+ {-59004000 3600 1 IST}
+ {-37238400 3600 0 IST}
+ {57722400 0 0 IST}
+ {69818400 3600 1 IST}
+ {89172000 0 0 IST}
+ {101268000 3600 1 IST}
+ {120621600 0 0 IST}
+ {132717600 3600 1 IST}
+ {152071200 0 0 IST}
+ {164167200 3600 1 IST}
+ {183520800 0 0 IST}
+ {196221600 3600 1 IST}
+ {214970400 0 0 IST}
+ {227671200 3600 1 IST}
+ {246420000 0 0 IST}
+ {259120800 3600 1 IST}
+ {278474400 0 0 IST}
+ {290570400 3600 1 IST}
+ {309924000 0 0 IST}
+ {322020000 3600 1 IST}
+ {341373600 0 0 IST}
+ {354675600 3600 1 IST}
+ {372819600 0 0 IST}
+ {386125200 3600 1 IST}
+ {404269200 0 0 IST}
+ {417574800 3600 1 IST}
+ {435718800 0 0 IST}
+ {449024400 3600 1 IST}
+ {467773200 0 0 IST}
+ {481078800 3600 1 IST}
+ {499222800 0 0 IST}
+ {512528400 3600 1 IST}
+ {530672400 0 0 IST}
+ {543978000 3600 1 IST}
+ {562122000 0 0 IST}
+ {575427600 3600 1 IST}
+ {593571600 0 0 IST}
+ {606877200 3600 1 IST}
+ {625626000 0 0 IST}
+ {638326800 3600 1 IST}
+ {657075600 0 0 IST}
+ {670381200 3600 1 IST}
+ {688525200 0 0 IST}
+ {701830800 3600 1 IST}
+ {719974800 0 0 IST}
+ {733280400 3600 1 IST}
+ {751424400 0 0 IST}
+ {764730000 3600 1 IST}
+ {782874000 0 0 IST}
+ {796179600 3600 1 IST}
+ {814323600 0 0 IST}
+ {820454400 0 0 GMT}
+ {828234000 3600 1 IST}
+ {846378000 0 0 GMT}
+ {859683600 3600 1 IST}
+ {877827600 0 0 GMT}
+ {891133200 3600 1 IST}
+ {909277200 0 0 GMT}
+ {922582800 3600 1 IST}
+ {941331600 0 0 GMT}
+ {954032400 3600 1 IST}
+ {972781200 0 0 GMT}
+ {985482000 3600 1 IST}
+ {1004230800 0 0 GMT}
+ {1017536400 3600 1 IST}
+ {1035680400 0 0 GMT}
+ {1048986000 3600 1 IST}
+ {1067130000 0 0 GMT}
+ {1080435600 3600 1 IST}
+ {1099184400 0 0 GMT}
+ {1111885200 3600 1 IST}
+ {1130634000 0 0 GMT}
+ {1143334800 3600 1 IST}
+ {1162083600 0 0 GMT}
+ {1174784400 3600 1 IST}
+ {1193533200 0 0 GMT}
+ {1206838800 3600 1 IST}
+ {1224982800 0 0 GMT}
+ {1238288400 3600 1 IST}
+ {1256432400 0 0 GMT}
+ {1269738000 3600 1 IST}
+ {1288486800 0 0 GMT}
+ {1301187600 3600 1 IST}
+ {1319936400 0 0 GMT}
+ {1332637200 3600 1 IST}
+ {1351386000 0 0 GMT}
+ {1364691600 3600 1 IST}
+ {1382835600 0 0 GMT}
+ {1396141200 3600 1 IST}
+ {1414285200 0 0 GMT}
+ {1427590800 3600 1 IST}
+ {1445734800 0 0 GMT}
+ {1459040400 3600 1 IST}
+ {1477789200 0 0 GMT}
+ {1490490000 3600 1 IST}
+ {1509238800 0 0 GMT}
+ {1521939600 3600 1 IST}
+ {1540688400 0 0 GMT}
+ {1553994000 3600 1 IST}
+ {1572138000 0 0 GMT}
+ {1585443600 3600 1 IST}
+ {1603587600 0 0 GMT}
+ {1616893200 3600 1 IST}
+ {1635642000 0 0 GMT}
+ {1648342800 3600 1 IST}
+ {1667091600 0 0 GMT}
+ {1679792400 3600 1 IST}
+ {1698541200 0 0 GMT}
+ {1711846800 3600 1 IST}
+ {1729990800 0 0 GMT}
+ {1743296400 3600 1 IST}
+ {1761440400 0 0 GMT}
+ {1774746000 3600 1 IST}
+ {1792890000 0 0 GMT}
+ {1806195600 3600 1 IST}
+ {1824944400 0 0 GMT}
+ {1837645200 3600 1 IST}
+ {1856394000 0 0 GMT}
+ {1869094800 3600 1 IST}
+ {1887843600 0 0 GMT}
+ {1901149200 3600 1 IST}
+ {1919293200 0 0 GMT}
+ {1932598800 3600 1 IST}
+ {1950742800 0 0 GMT}
+ {1964048400 3600 1 IST}
+ {1982797200 0 0 GMT}
+ {1995498000 3600 1 IST}
+ {2014246800 0 0 GMT}
+ {2026947600 3600 1 IST}
+ {2045696400 0 0 GMT}
+ {2058397200 3600 1 IST}
+ {2077146000 0 0 GMT}
+ {2090451600 3600 1 IST}
+ {2108595600 0 0 GMT}
+ {2121901200 3600 1 IST}
+ {2140045200 0 0 GMT}
+ {2153350800 3600 1 IST}
+ {2172099600 0 0 GMT}
+ {2184800400 3600 1 IST}
+ {2203549200 0 0 GMT}
+ {2216250000 3600 1 IST}
+ {2234998800 0 0 GMT}
+ {2248304400 3600 1 IST}
+ {2266448400 0 0 GMT}
+ {2279754000 3600 1 IST}
+ {2297898000 0 0 GMT}
+ {2311203600 3600 1 IST}
+ {2329347600 0 0 GMT}
+ {2342653200 3600 1 IST}
+ {2361402000 0 0 GMT}
+ {2374102800 3600 1 IST}
+ {2392851600 0 0 GMT}
+ {2405552400 3600 1 IST}
+ {2424301200 0 0 GMT}
+ {2437606800 3600 1 IST}
+ {2455750800 0 0 GMT}
+ {2469056400 3600 1 IST}
+ {2487200400 0 0 GMT}
+ {2500506000 3600 1 IST}
+ {2519254800 0 0 GMT}
+ {2531955600 3600 1 IST}
+ {2550704400 0 0 GMT}
+ {2563405200 3600 1 IST}
+ {2582154000 0 0 GMT}
+ {2595459600 3600 1 IST}
+ {2613603600 0 0 GMT}
+ {2626909200 3600 1 IST}
+ {2645053200 0 0 GMT}
+ {2658358800 3600 1 IST}
+ {2676502800 0 0 GMT}
+ {2689808400 3600 1 IST}
+ {2708557200 0 0 GMT}
+ {2721258000 3600 1 IST}
+ {2740006800 0 0 GMT}
+ {2752707600 3600 1 IST}
+ {2771456400 0 0 GMT}
+ {2784762000 3600 1 IST}
+ {2802906000 0 0 GMT}
+ {2816211600 3600 1 IST}
+ {2834355600 0 0 GMT}
+ {2847661200 3600 1 IST}
+ {2866410000 0 0 GMT}
+ {2879110800 3600 1 IST}
+ {2897859600 0 0 GMT}
+ {2910560400 3600 1 IST}
+ {2929309200 0 0 GMT}
+ {2942010000 3600 1 IST}
+ {2960758800 0 0 GMT}
+ {2974064400 3600 1 IST}
+ {2992208400 0 0 GMT}
+ {3005514000 3600 1 IST}
+ {3023658000 0 0 GMT}
+ {3036963600 3600 1 IST}
+ {3055712400 0 0 GMT}
+ {3068413200 3600 1 IST}
+ {3087162000 0 0 GMT}
+ {3099862800 3600 1 IST}
+ {3118611600 0 0 GMT}
+ {3131917200 3600 1 IST}
+ {3150061200 0 0 GMT}
+ {3163366800 3600 1 IST}
+ {3181510800 0 0 GMT}
+ {3194816400 3600 1 IST}
+ {3212960400 0 0 GMT}
+ {3226266000 3600 1 IST}
+ {3245014800 0 0 GMT}
+ {3257715600 3600 1 IST}
+ {3276464400 0 0 GMT}
+ {3289165200 3600 1 IST}
+ {3307914000 0 0 GMT}
+ {3321219600 3600 1 IST}
+ {3339363600 0 0 GMT}
+ {3352669200 3600 1 IST}
+ {3370813200 0 0 GMT}
+ {3384118800 3600 1 IST}
+ {3402867600 0 0 GMT}
+ {3415568400 3600 1 IST}
+ {3434317200 0 0 GMT}
+ {3447018000 3600 1 IST}
+ {3465766800 0 0 GMT}
+ {3479072400 3600 1 IST}
+ {3497216400 0 0 GMT}
+ {3510522000 3600 1 IST}
+ {3528666000 0 0 GMT}
+ {3541971600 3600 1 IST}
+ {3560115600 0 0 GMT}
+ {3573421200 3600 1 IST}
+ {3592170000 0 0 GMT}
+ {3604870800 3600 1 IST}
+ {3623619600 0 0 GMT}
+ {3636320400 3600 1 IST}
+ {3655069200 0 0 GMT}
+ {3668374800 3600 1 IST}
+ {3686518800 0 0 GMT}
+ {3699824400 3600 1 IST}
+ {3717968400 0 0 GMT}
+ {3731274000 3600 1 IST}
+ {3750022800 0 0 GMT}
+ {3762723600 3600 1 IST}
+ {3781472400 0 0 GMT}
+ {3794173200 3600 1 IST}
+ {3812922000 0 0 GMT}
+ {3825622800 3600 1 IST}
+ {3844371600 0 0 GMT}
+ {3857677200 3600 1 IST}
+ {3875821200 0 0 GMT}
+ {3889126800 3600 1 IST}
+ {3907270800 0 0 GMT}
+ {3920576400 3600 1 IST}
+ {3939325200 0 0 GMT}
+ {3952026000 3600 1 IST}
+ {3970774800 0 0 GMT}
+ {3983475600 3600 1 IST}
+ {4002224400 0 0 GMT}
+ {4015530000 3600 1 IST}
+ {4033674000 0 0 GMT}
+ {4046979600 3600 1 IST}
+ {4065123600 0 0 GMT}
+ {4078429200 3600 1 IST}
+ {4096573200 0 0 GMT}
+}
diff --git a/library/tzdata/Europe/Gibraltar b/library/tzdata/Europe/Gibraltar
new file mode 100644
index 0000000..cb66a38
--- /dev/null
+++ b/library/tzdata/Europe/Gibraltar
@@ -0,0 +1,328 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Gibraltar) {
+ {-9223372036854775808 -1284 0 LMT}
+ {-2821649916 0 0 GMT}
+ {-1691964000 3600 1 BST}
+ {-1680472800 0 0 GMT}
+ {-1664143200 3600 1 BST}
+ {-1650146400 0 0 GMT}
+ {-1633903200 3600 1 BST}
+ {-1617487200 0 0 GMT}
+ {-1601848800 3600 1 BST}
+ {-1586037600 0 0 GMT}
+ {-1570399200 3600 1 BST}
+ {-1552168800 0 0 GMT}
+ {-1538344800 3600 1 BST}
+ {-1522533600 0 0 GMT}
+ {-1507500000 3600 1 BST}
+ {-1490565600 0 0 GMT}
+ {-1473631200 3600 1 BST}
+ {-1460930400 0 0 GMT}
+ {-1442786400 3600 1 BST}
+ {-1428876000 0 0 GMT}
+ {-1410732000 3600 1 BST}
+ {-1396216800 0 0 GMT}
+ {-1379282400 3600 1 BST}
+ {-1364767200 0 0 GMT}
+ {-1348437600 3600 1 BST}
+ {-1333317600 0 0 GMT}
+ {-1315778400 3600 1 BST}
+ {-1301263200 0 0 GMT}
+ {-1284328800 3600 1 BST}
+ {-1269813600 0 0 GMT}
+ {-1253484000 3600 1 BST}
+ {-1238364000 0 0 GMT}
+ {-1221429600 3600 1 BST}
+ {-1206914400 0 0 GMT}
+ {-1189980000 3600 1 BST}
+ {-1175464800 0 0 GMT}
+ {-1159135200 3600 1 BST}
+ {-1143410400 0 0 GMT}
+ {-1126476000 3600 1 BST}
+ {-1111960800 0 0 GMT}
+ {-1095631200 3600 1 BST}
+ {-1080511200 0 0 GMT}
+ {-1063576800 3600 1 BST}
+ {-1049061600 0 0 GMT}
+ {-1032127200 3600 1 BST}
+ {-1017612000 0 0 GMT}
+ {-1001282400 3600 1 BST}
+ {-986162400 0 0 GMT}
+ {-969228000 3600 1 BST}
+ {-950479200 0 0 GMT}
+ {-942012000 3600 1 BST}
+ {-904518000 7200 1 BDST}
+ {-896050800 3600 1 BST}
+ {-875487600 7200 1 BDST}
+ {-864601200 3600 1 BST}
+ {-844038000 7200 1 BDST}
+ {-832546800 3600 1 BST}
+ {-812588400 7200 1 BDST}
+ {-798073200 3600 1 BST}
+ {-781052400 7200 1 BDST}
+ {-772066800 3600 1 BST}
+ {-764805600 0 0 GMT}
+ {-748476000 3600 1 BST}
+ {-733356000 0 0 GMT}
+ {-719445600 3600 1 BST}
+ {-717030000 7200 1 BDST}
+ {-706748400 3600 1 BST}
+ {-699487200 0 0 GMT}
+ {-687996000 3600 1 BST}
+ {-668037600 0 0 GMT}
+ {-654732000 3600 1 BST}
+ {-636588000 0 0 GMT}
+ {-622072800 3600 1 BST}
+ {-605743200 0 0 GMT}
+ {-590623200 3600 1 BST}
+ {-574293600 0 0 GMT}
+ {-558568800 3600 1 BST}
+ {-542239200 0 0 GMT}
+ {-527119200 3600 1 BST}
+ {-512604000 0 0 GMT}
+ {-496274400 3600 1 BST}
+ {-481154400 0 0 GMT}
+ {-464220000 3600 1 BST}
+ {-449704800 0 0 GMT}
+ {-432165600 3600 1 BST}
+ {-417650400 0 0 GMT}
+ {-401320800 3600 0 CET}
+ {378687600 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Helsinki b/library/tzdata/Europe/Helsinki
new file mode 100644
index 0000000..292e468
--- /dev/null
+++ b/library/tzdata/Europe/Helsinki
@@ -0,0 +1,248 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Helsinki) {
+ {-9223372036854775808 5992 0 LMT}
+ {-2890258792 5992 0 HMT}
+ {-1535938792 7200 0 EET}
+ {-875671200 10800 1 EEST}
+ {-859863600 7200 0 EET}
+ {354672000 7200 0 EET}
+ {354675600 10800 1 EEST}
+ {370400400 7200 0 EET}
+ {386125200 10800 1 EEST}
+ {401850000 7200 0 EET}
+ {417574800 10800 1 EEST}
+ {433299600 7200 0 EET}
+ {449024400 10800 1 EEST}
+ {465354000 7200 0 EET}
+ {481078800 10800 1 EEST}
+ {496803600 7200 0 EET}
+ {512528400 10800 1 EEST}
+ {528253200 7200 0 EET}
+ {543978000 10800 1 EEST}
+ {559702800 7200 0 EET}
+ {575427600 10800 1 EEST}
+ {591152400 7200 0 EET}
+ {606877200 10800 1 EEST}
+ {622602000 7200 0 EET}
+ {638326800 10800 1 EEST}
+ {654656400 7200 0 EET}
+ {670381200 10800 1 EEST}
+ {686106000 7200 0 EET}
+ {701830800 10800 1 EEST}
+ {717555600 7200 0 EET}
+ {733280400 10800 1 EEST}
+ {749005200 7200 0 EET}
+ {764730000 10800 1 EEST}
+ {780454800 7200 0 EET}
+ {796179600 10800 1 EEST}
+ {811904400 7200 0 EET}
+ {828234000 10800 1 EEST}
+ {846378000 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Istanbul b/library/tzdata/Europe/Istanbul
new file mode 100644
index 0000000..8151ee0
--- /dev/null
+++ b/library/tzdata/Europe/Istanbul
@@ -0,0 +1,304 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Istanbul) {
+ {-9223372036854775808 6952 0 LMT}
+ {-2840147752 7016 0 IMT}
+ {-1869875816 7200 0 EET}
+ {-1693706400 10800 1 EEST}
+ {-1680490800 7200 0 EET}
+ {-1570413600 10800 1 EEST}
+ {-1552186800 7200 0 EET}
+ {-1538359200 10800 1 EEST}
+ {-1522551600 7200 0 EET}
+ {-1507514400 10800 1 EEST}
+ {-1490583600 7200 0 EET}
+ {-1440208800 10800 1 EEST}
+ {-1428030000 7200 0 EET}
+ {-1409709600 10800 1 EEST}
+ {-1396494000 7200 0 EET}
+ {-931140000 10800 1 EEST}
+ {-922762800 7200 0 EET}
+ {-917834400 10800 1 EEST}
+ {-892436400 7200 0 EET}
+ {-875844000 10800 1 EEST}
+ {-857358000 7200 0 EET}
+ {-781063200 10800 1 EEST}
+ {-764737200 7200 0 EET}
+ {-744343200 10800 1 EEST}
+ {-733806000 7200 0 EET}
+ {-716436000 10800 1 EEST}
+ {-701924400 7200 0 EET}
+ {-684986400 10800 1 EEST}
+ {-670474800 7200 0 EET}
+ {-654141600 10800 1 EEST}
+ {-639025200 7200 0 EET}
+ {-621828000 10800 1 EEST}
+ {-606970800 7200 0 EET}
+ {-590032800 10800 1 EEST}
+ {-575434800 7200 0 EET}
+ {-235620000 10800 1 EEST}
+ {-228279600 7200 0 EET}
+ {-177732000 10800 1 EEST}
+ {-165726000 7200 0 EET}
+ {10533600 10800 1 EEST}
+ {23835600 7200 0 EET}
+ {41983200 10800 1 EEST}
+ {55285200 7200 0 EET}
+ {74037600 10800 1 EEST}
+ {87339600 7200 0 EET}
+ {107910000 10800 1 EEST}
+ {121219200 7200 0 EET}
+ {133920000 10800 1 EEST}
+ {152676000 7200 0 EET}
+ {165362400 10800 1 EEST}
+ {183502800 7200 0 EET}
+ {202428000 10800 1 EEST}
+ {215557200 7200 0 EET}
+ {228866400 10800 1 EEST}
+ {245797200 7200 0 EET}
+ {260316000 10800 1 EEST}
+ {277246800 14400 0 TRST}
+ {291769200 14400 1 TRST}
+ {308779200 10800 0 TRT}
+ {323827200 14400 1 TRST}
+ {340228800 10800 0 TRT}
+ {354672000 14400 1 TRST}
+ {371678400 10800 0 TRT}
+ {386121600 14400 1 TRST}
+ {403128000 10800 0 TRT}
+ {428446800 14400 1 TRST}
+ {433886400 10800 0 TRT}
+ {482792400 7200 0 EET}
+ {482796000 10800 1 EEST}
+ {496702800 7200 0 EET}
+ {504914400 7200 0 EET}
+ {512532000 10800 1 EEST}
+ {528256800 7200 0 EET}
+ {543981600 10800 1 EEST}
+ {559706400 7200 0 EET}
+ {575431200 10800 1 EEST}
+ {591156000 7200 0 EET}
+ {606880800 10800 1 EEST}
+ {622605600 7200 0 EET}
+ {638330400 10800 1 EEST}
+ {654660000 7200 0 EET}
+ {662680800 7200 0 EET}
+ {670381200 10800 1 EEST}
+ {686106000 7200 0 EET}
+ {701830800 10800 1 EEST}
+ {717555600 7200 0 EET}
+ {733280400 10800 1 EEST}
+ {749005200 7200 0 EET}
+ {764730000 10800 1 EEST}
+ {780454800 7200 0 EET}
+ {796179600 10800 1 EEST}
+ {811904400 7200 0 EET}
+ {828234000 10800 1 EEST}
+ {846378000 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Kaliningrad b/library/tzdata/Europe/Kaliningrad
new file mode 100644
index 0000000..650c526
--- /dev/null
+++ b/library/tzdata/Europe/Kaliningrad
@@ -0,0 +1,260 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Kaliningrad) {
+ {-9223372036854775808 4920 0 LMT}
+ {-2422056120 3600 0 CET}
+ {-1693706400 7200 1 CEST}
+ {-1680483600 3600 0 CET}
+ {-1663452000 7200 1 CEST}
+ {-1650146400 3600 0 CET}
+ {-1632002400 7200 1 CEST}
+ {-1618696800 3600 0 CET}
+ {-938901600 7200 1 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796773600 3600 0 CET}
+ {-788922000 7200 0 CET}
+ {-778730400 10800 1 CEST}
+ {-762663600 7200 0 CET}
+ {-757389600 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465357600 10800 0 MSK}
+ {481082400 14400 1 MSD}
+ {496807200 10800 0 MSK}
+ {512532000 14400 1 MSD}
+ {528256800 10800 0 MSK}
+ {543981600 14400 1 MSD}
+ {559706400 10800 0 MSK}
+ {575431200 14400 1 MSD}
+ {591156000 10800 0 MSK}
+ {606880800 14400 1 MSD}
+ {622605600 10800 0 MSK}
+ {638330400 14400 1 MSD}
+ {654660000 10800 0 MSK}
+ {670384800 10800 0 EEST}
+ {686109600 7200 0 EET}
+ {701816400 10800 1 EEST}
+ {717537600 7200 0 EET}
+ {733284000 10800 1 EEST}
+ {749008800 7200 0 EET}
+ {764733600 10800 1 EEST}
+ {780458400 7200 0 EET}
+ {796183200 10800 1 EEST}
+ {811908000 7200 0 EET}
+ {828237600 10800 1 EEST}
+ {846381600 7200 0 EET}
+ {859687200 10800 1 EEST}
+ {877831200 7200 0 EET}
+ {891136800 10800 1 EEST}
+ {909280800 7200 0 EET}
+ {922586400 10800 1 EEST}
+ {941335200 7200 0 EET}
+ {954036000 10800 1 EEST}
+ {972784800 7200 0 EET}
+ {985485600 10800 1 EEST}
+ {1004234400 7200 0 EET}
+ {1017540000 10800 1 EEST}
+ {1035684000 7200 0 EET}
+ {1048989600 10800 1 EEST}
+ {1067133600 7200 0 EET}
+ {1080439200 10800 1 EEST}
+ {1099188000 7200 0 EET}
+ {1111888800 10800 1 EEST}
+ {1130637600 7200 0 EET}
+ {1143338400 10800 1 EEST}
+ {1162087200 7200 0 EET}
+ {1174788000 10800 1 EEST}
+ {1193536800 7200 0 EET}
+ {1206842400 10800 1 EEST}
+ {1224986400 7200 0 EET}
+ {1238292000 10800 1 EEST}
+ {1256436000 7200 0 EET}
+ {1269741600 10800 1 EEST}
+ {1288490400 7200 0 EET}
+ {1301191200 10800 1 EEST}
+ {1319940000 7200 0 EET}
+ {1332640800 10800 1 EEST}
+ {1351389600 7200 0 EET}
+ {1364695200 10800 1 EEST}
+ {1382839200 7200 0 EET}
+ {1396144800 10800 1 EEST}
+ {1414288800 7200 0 EET}
+ {1427594400 10800 1 EEST}
+ {1445738400 7200 0 EET}
+ {1459044000 10800 1 EEST}
+ {1477792800 7200 0 EET}
+ {1490493600 10800 1 EEST}
+ {1509242400 7200 0 EET}
+ {1521943200 10800 1 EEST}
+ {1540692000 7200 0 EET}
+ {1553997600 10800 1 EEST}
+ {1572141600 7200 0 EET}
+ {1585447200 10800 1 EEST}
+ {1603591200 7200 0 EET}
+ {1616896800 10800 1 EEST}
+ {1635645600 7200 0 EET}
+ {1648346400 10800 1 EEST}
+ {1667095200 7200 0 EET}
+ {1679796000 10800 1 EEST}
+ {1698544800 7200 0 EET}
+ {1711850400 10800 1 EEST}
+ {1729994400 7200 0 EET}
+ {1743300000 10800 1 EEST}
+ {1761444000 7200 0 EET}
+ {1774749600 10800 1 EEST}
+ {1792893600 7200 0 EET}
+ {1806199200 10800 1 EEST}
+ {1824948000 7200 0 EET}
+ {1837648800 10800 1 EEST}
+ {1856397600 7200 0 EET}
+ {1869098400 10800 1 EEST}
+ {1887847200 7200 0 EET}
+ {1901152800 10800 1 EEST}
+ {1919296800 7200 0 EET}
+ {1932602400 10800 1 EEST}
+ {1950746400 7200 0 EET}
+ {1964052000 10800 1 EEST}
+ {1982800800 7200 0 EET}
+ {1995501600 10800 1 EEST}
+ {2014250400 7200 0 EET}
+ {2026951200 10800 1 EEST}
+ {2045700000 7200 0 EET}
+ {2058400800 10800 1 EEST}
+ {2077149600 7200 0 EET}
+ {2090455200 10800 1 EEST}
+ {2108599200 7200 0 EET}
+ {2121904800 10800 1 EEST}
+ {2140048800 7200 0 EET}
+ {2153354400 10800 1 EEST}
+ {2172103200 7200 0 EET}
+ {2184804000 10800 1 EEST}
+ {2203552800 7200 0 EET}
+ {2216253600 10800 1 EEST}
+ {2235002400 7200 0 EET}
+ {2248308000 10800 1 EEST}
+ {2266452000 7200 0 EET}
+ {2279757600 10800 1 EEST}
+ {2297901600 7200 0 EET}
+ {2311207200 10800 1 EEST}
+ {2329351200 7200 0 EET}
+ {2342656800 10800 1 EEST}
+ {2361405600 7200 0 EET}
+ {2374106400 10800 1 EEST}
+ {2392855200 7200 0 EET}
+ {2405556000 10800 1 EEST}
+ {2424304800 7200 0 EET}
+ {2437610400 10800 1 EEST}
+ {2455754400 7200 0 EET}
+ {2469060000 10800 1 EEST}
+ {2487204000 7200 0 EET}
+ {2500509600 10800 1 EEST}
+ {2519258400 7200 0 EET}
+ {2531959200 10800 1 EEST}
+ {2550708000 7200 0 EET}
+ {2563408800 10800 1 EEST}
+ {2582157600 7200 0 EET}
+ {2595463200 10800 1 EEST}
+ {2613607200 7200 0 EET}
+ {2626912800 10800 1 EEST}
+ {2645056800 7200 0 EET}
+ {2658362400 10800 1 EEST}
+ {2676506400 7200 0 EET}
+ {2689812000 10800 1 EEST}
+ {2708560800 7200 0 EET}
+ {2721261600 10800 1 EEST}
+ {2740010400 7200 0 EET}
+ {2752711200 10800 1 EEST}
+ {2771460000 7200 0 EET}
+ {2784765600 10800 1 EEST}
+ {2802909600 7200 0 EET}
+ {2816215200 10800 1 EEST}
+ {2834359200 7200 0 EET}
+ {2847664800 10800 1 EEST}
+ {2866413600 7200 0 EET}
+ {2879114400 10800 1 EEST}
+ {2897863200 7200 0 EET}
+ {2910564000 10800 1 EEST}
+ {2929312800 7200 0 EET}
+ {2942013600 10800 1 EEST}
+ {2960762400 7200 0 EET}
+ {2974068000 10800 1 EEST}
+ {2992212000 7200 0 EET}
+ {3005517600 10800 1 EEST}
+ {3023661600 7200 0 EET}
+ {3036967200 10800 1 EEST}
+ {3055716000 7200 0 EET}
+ {3068416800 10800 1 EEST}
+ {3087165600 7200 0 EET}
+ {3099866400 10800 1 EEST}
+ {3118615200 7200 0 EET}
+ {3131920800 10800 1 EEST}
+ {3150064800 7200 0 EET}
+ {3163370400 10800 1 EEST}
+ {3181514400 7200 0 EET}
+ {3194820000 10800 1 EEST}
+ {3212964000 7200 0 EET}
+ {3226269600 10800 1 EEST}
+ {3245018400 7200 0 EET}
+ {3257719200 10800 1 EEST}
+ {3276468000 7200 0 EET}
+ {3289168800 10800 1 EEST}
+ {3307917600 7200 0 EET}
+ {3321223200 10800 1 EEST}
+ {3339367200 7200 0 EET}
+ {3352672800 10800 1 EEST}
+ {3370816800 7200 0 EET}
+ {3384122400 10800 1 EEST}
+ {3402871200 7200 0 EET}
+ {3415572000 10800 1 EEST}
+ {3434320800 7200 0 EET}
+ {3447021600 10800 1 EEST}
+ {3465770400 7200 0 EET}
+ {3479076000 10800 1 EEST}
+ {3497220000 7200 0 EET}
+ {3510525600 10800 1 EEST}
+ {3528669600 7200 0 EET}
+ {3541975200 10800 1 EEST}
+ {3560119200 7200 0 EET}
+ {3573424800 10800 1 EEST}
+ {3592173600 7200 0 EET}
+ {3604874400 10800 1 EEST}
+ {3623623200 7200 0 EET}
+ {3636324000 10800 1 EEST}
+ {3655072800 7200 0 EET}
+ {3668378400 10800 1 EEST}
+ {3686522400 7200 0 EET}
+ {3699828000 10800 1 EEST}
+ {3717972000 7200 0 EET}
+ {3731277600 10800 1 EEST}
+ {3750026400 7200 0 EET}
+ {3762727200 10800 1 EEST}
+ {3781476000 7200 0 EET}
+ {3794176800 10800 1 EEST}
+ {3812925600 7200 0 EET}
+ {3825626400 10800 1 EEST}
+ {3844375200 7200 0 EET}
+ {3857680800 10800 1 EEST}
+ {3875824800 7200 0 EET}
+ {3889130400 10800 1 EEST}
+ {3907274400 7200 0 EET}
+ {3920580000 10800 1 EEST}
+ {3939328800 7200 0 EET}
+ {3952029600 10800 1 EEST}
+ {3970778400 7200 0 EET}
+ {3983479200 10800 1 EEST}
+ {4002228000 7200 0 EET}
+ {4015533600 10800 1 EEST}
+ {4033677600 7200 0 EET}
+ {4046983200 10800 1 EEST}
+ {4065127200 7200 0 EET}
+ {4078432800 10800 1 EEST}
+ {4096576800 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Kiev b/library/tzdata/Europe/Kiev
new file mode 100644
index 0000000..a4e4826
--- /dev/null
+++ b/library/tzdata/Europe/Kiev
@@ -0,0 +1,251 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Kiev) {
+ {-9223372036854775808 7324 0 LMT}
+ {-2840148124 7324 0 KMT}
+ {-1441159324 7200 0 EET}
+ {-1247536800 10800 0 MSK}
+ {-892522800 3600 0 CET}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-825382800 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465357600 10800 0 MSK}
+ {481082400 14400 1 MSD}
+ {496807200 10800 0 MSK}
+ {512532000 14400 1 MSD}
+ {528256800 10800 0 MSK}
+ {543981600 14400 1 MSD}
+ {559706400 10800 0 MSK}
+ {575431200 14400 1 MSD}
+ {591156000 10800 0 MSK}
+ {606880800 14400 1 MSD}
+ {622605600 10800 0 MSK}
+ {631141200 10800 0 MSK}
+ {646786800 7200 0 EET}
+ {694216800 7200 0 EET}
+ {701820000 10800 1 EEST}
+ {717541200 7200 0 EET}
+ {733269600 10800 1 EEST}
+ {748990800 7200 0 EET}
+ {764719200 10800 1 EEST}
+ {780440400 7200 0 EET}
+ {788911200 7200 0 EET}
+ {796179600 10800 1 EEST}
+ {811904400 7200 0 EET}
+ {828234000 10800 1 EEST}
+ {846378000 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Lisbon b/library/tzdata/Europe/Lisbon
new file mode 100644
index 0000000..fcf6903
--- /dev/null
+++ b/library/tzdata/Europe/Lisbon
@@ -0,0 +1,351 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Lisbon) {
+ {-9223372036854775808 -2192 0 LMT}
+ {-2713908208 -2192 0 LMT}
+ {-1830381808 0 0 WET}
+ {-1689555600 3600 1 WEST}
+ {-1677801600 0 0 WET}
+ {-1667437200 3600 1 WEST}
+ {-1647738000 0 0 WET}
+ {-1635814800 3600 1 WEST}
+ {-1616202000 0 0 WET}
+ {-1604365200 3600 1 WEST}
+ {-1584666000 0 0 WET}
+ {-1572742800 3600 1 WEST}
+ {-1553043600 0 0 WET}
+ {-1541206800 3600 1 WEST}
+ {-1521507600 0 0 WET}
+ {-1442451600 3600 1 WEST}
+ {-1426813200 0 0 WET}
+ {-1379293200 3600 1 WEST}
+ {-1364778000 0 0 WET}
+ {-1348448400 3600 1 WEST}
+ {-1333328400 0 0 WET}
+ {-1316394000 3600 1 WEST}
+ {-1301274000 0 0 WET}
+ {-1284339600 3600 1 WEST}
+ {-1269824400 0 0 WET}
+ {-1221440400 3600 1 WEST}
+ {-1206925200 0 0 WET}
+ {-1191200400 3600 1 WEST}
+ {-1175475600 0 0 WET}
+ {-1127696400 3600 1 WEST}
+ {-1111971600 0 0 WET}
+ {-1096851600 3600 1 WEST}
+ {-1080522000 0 0 WET}
+ {-1063587600 3600 1 WEST}
+ {-1049072400 0 0 WET}
+ {-1033347600 3600 1 WEST}
+ {-1017622800 0 0 WET}
+ {-1002502800 3600 1 WEST}
+ {-986173200 0 0 WET}
+ {-969238800 3600 1 WEST}
+ {-950490000 0 0 WET}
+ {-942022800 3600 1 WEST}
+ {-922669200 0 0 WET}
+ {-906944400 3600 1 WEST}
+ {-891133200 0 0 WET}
+ {-877309200 3600 1 WEST}
+ {-873684000 7200 1 WEMT}
+ {-864007200 3600 1 WEST}
+ {-857955600 0 0 WET}
+ {-845859600 3600 1 WEST}
+ {-842839200 7200 1 WEMT}
+ {-831348000 3600 1 WEST}
+ {-825901200 0 0 WET}
+ {-814410000 3600 1 WEST}
+ {-810784800 7200 1 WEMT}
+ {-799898400 3600 1 WEST}
+ {-794451600 0 0 WET}
+ {-782960400 3600 1 WEST}
+ {-779335200 7200 1 WEMT}
+ {-768448800 3600 1 WEST}
+ {-763002000 0 0 WET}
+ {-749091600 3600 1 WEST}
+ {-733366800 0 0 WET}
+ {-717631200 3600 1 WEST}
+ {-701906400 0 0 WET}
+ {-686181600 3600 1 WEST}
+ {-670456800 0 0 WET}
+ {-654732000 3600 1 WEST}
+ {-639007200 0 0 WET}
+ {-591832800 3600 1 WEST}
+ {-575503200 0 0 WET}
+ {-559778400 3600 1 WEST}
+ {-544053600 0 0 WET}
+ {-528328800 3600 1 WEST}
+ {-512604000 0 0 WET}
+ {-496879200 3600 1 WEST}
+ {-481154400 0 0 WET}
+ {-465429600 3600 1 WEST}
+ {-449704800 0 0 WET}
+ {-433980000 3600 1 WEST}
+ {-417650400 0 0 WET}
+ {-401925600 3600 1 WEST}
+ {-386200800 0 0 WET}
+ {-370476000 3600 1 WEST}
+ {-354751200 0 0 WET}
+ {-339026400 3600 1 WEST}
+ {-323301600 0 0 WET}
+ {-307576800 3600 1 WEST}
+ {-291852000 0 0 WET}
+ {-276127200 3600 1 WEST}
+ {-260402400 0 0 WET}
+ {-244677600 3600 1 WEST}
+ {-228348000 0 0 WET}
+ {-212623200 3600 1 WEST}
+ {-196898400 0 0 WET}
+ {-181173600 3600 1 WEST}
+ {-165448800 0 0 WET}
+ {-149724000 3600 1 WEST}
+ {-133999200 0 0 WET}
+ {-118274400 3600 0 CET}
+ {212544000 0 0 WET}
+ {228268800 3600 1 WEST}
+ {243993600 0 0 WET}
+ {260323200 3600 1 WEST}
+ {276048000 0 0 WET}
+ {291772800 3600 1 WEST}
+ {307501200 0 0 WET}
+ {323222400 3600 1 WEST}
+ {338950800 0 0 WET}
+ {354675600 3600 1 WEST}
+ {370400400 0 0 WET}
+ {386125200 3600 1 WEST}
+ {401850000 0 0 WET}
+ {417578400 3600 1 WEST}
+ {433299600 0 0 WET}
+ {449024400 3600 1 WEST}
+ {465354000 0 0 WET}
+ {481078800 3600 1 WEST}
+ {496803600 0 0 WET}
+ {512528400 3600 1 WEST}
+ {528253200 0 0 WET}
+ {543978000 3600 1 WEST}
+ {559702800 0 0 WET}
+ {575427600 3600 1 WEST}
+ {591152400 0 0 WET}
+ {606877200 3600 1 WEST}
+ {622602000 0 0 WET}
+ {638326800 3600 1 WEST}
+ {654656400 0 0 WET}
+ {670381200 3600 1 WEST}
+ {686106000 0 0 WET}
+ {701830800 3600 1 WEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 3600 0 WEST}
+ {846378000 0 0 WET}
+ {859683600 3600 1 WEST}
+ {877827600 0 0 WET}
+ {891133200 3600 1 WEST}
+ {909277200 0 0 WET}
+ {922582800 3600 1 WEST}
+ {941331600 0 0 WET}
+ {954032400 3600 1 WEST}
+ {972781200 0 0 WET}
+ {985482000 3600 1 WEST}
+ {1004230800 0 0 WET}
+ {1017536400 3600 1 WEST}
+ {1035680400 0 0 WET}
+ {1048986000 3600 1 WEST}
+ {1067130000 0 0 WET}
+ {1080435600 3600 1 WEST}
+ {1099184400 0 0 WET}
+ {1111885200 3600 1 WEST}
+ {1130634000 0 0 WET}
+ {1143334800 3600 1 WEST}
+ {1162083600 0 0 WET}
+ {1174784400 3600 1 WEST}
+ {1193533200 0 0 WET}
+ {1206838800 3600 1 WEST}
+ {1224982800 0 0 WET}
+ {1238288400 3600 1 WEST}
+ {1256432400 0 0 WET}
+ {1269738000 3600 1 WEST}
+ {1288486800 0 0 WET}
+ {1301187600 3600 1 WEST}
+ {1319936400 0 0 WET}
+ {1332637200 3600 1 WEST}
+ {1351386000 0 0 WET}
+ {1364691600 3600 1 WEST}
+ {1382835600 0 0 WET}
+ {1396141200 3600 1 WEST}
+ {1414285200 0 0 WET}
+ {1427590800 3600 1 WEST}
+ {1445734800 0 0 WET}
+ {1459040400 3600 1 WEST}
+ {1477789200 0 0 WET}
+ {1490490000 3600 1 WEST}
+ {1509238800 0 0 WET}
+ {1521939600 3600 1 WEST}
+ {1540688400 0 0 WET}
+ {1553994000 3600 1 WEST}
+ {1572138000 0 0 WET}
+ {1585443600 3600 1 WEST}
+ {1603587600 0 0 WET}
+ {1616893200 3600 1 WEST}
+ {1635642000 0 0 WET}
+ {1648342800 3600 1 WEST}
+ {1667091600 0 0 WET}
+ {1679792400 3600 1 WEST}
+ {1698541200 0 0 WET}
+ {1711846800 3600 1 WEST}
+ {1729990800 0 0 WET}
+ {1743296400 3600 1 WEST}
+ {1761440400 0 0 WET}
+ {1774746000 3600 1 WEST}
+ {1792890000 0 0 WET}
+ {1806195600 3600 1 WEST}
+ {1824944400 0 0 WET}
+ {1837645200 3600 1 WEST}
+ {1856394000 0 0 WET}
+ {1869094800 3600 1 WEST}
+ {1887843600 0 0 WET}
+ {1901149200 3600 1 WEST}
+ {1919293200 0 0 WET}
+ {1932598800 3600 1 WEST}
+ {1950742800 0 0 WET}
+ {1964048400 3600 1 WEST}
+ {1982797200 0 0 WET}
+ {1995498000 3600 1 WEST}
+ {2014246800 0 0 WET}
+ {2026947600 3600 1 WEST}
+ {2045696400 0 0 WET}
+ {2058397200 3600 1 WEST}
+ {2077146000 0 0 WET}
+ {2090451600 3600 1 WEST}
+ {2108595600 0 0 WET}
+ {2121901200 3600 1 WEST}
+ {2140045200 0 0 WET}
+ {2153350800 3600 1 WEST}
+ {2172099600 0 0 WET}
+ {2184800400 3600 1 WEST}
+ {2203549200 0 0 WET}
+ {2216250000 3600 1 WEST}
+ {2234998800 0 0 WET}
+ {2248304400 3600 1 WEST}
+ {2266448400 0 0 WET}
+ {2279754000 3600 1 WEST}
+ {2297898000 0 0 WET}
+ {2311203600 3600 1 WEST}
+ {2329347600 0 0 WET}
+ {2342653200 3600 1 WEST}
+ {2361402000 0 0 WET}
+ {2374102800 3600 1 WEST}
+ {2392851600 0 0 WET}
+ {2405552400 3600 1 WEST}
+ {2424301200 0 0 WET}
+ {2437606800 3600 1 WEST}
+ {2455750800 0 0 WET}
+ {2469056400 3600 1 WEST}
+ {2487200400 0 0 WET}
+ {2500506000 3600 1 WEST}
+ {2519254800 0 0 WET}
+ {2531955600 3600 1 WEST}
+ {2550704400 0 0 WET}
+ {2563405200 3600 1 WEST}
+ {2582154000 0 0 WET}
+ {2595459600 3600 1 WEST}
+ {2613603600 0 0 WET}
+ {2626909200 3600 1 WEST}
+ {2645053200 0 0 WET}
+ {2658358800 3600 1 WEST}
+ {2676502800 0 0 WET}
+ {2689808400 3600 1 WEST}
+ {2708557200 0 0 WET}
+ {2721258000 3600 1 WEST}
+ {2740006800 0 0 WET}
+ {2752707600 3600 1 WEST}
+ {2771456400 0 0 WET}
+ {2784762000 3600 1 WEST}
+ {2802906000 0 0 WET}
+ {2816211600 3600 1 WEST}
+ {2834355600 0 0 WET}
+ {2847661200 3600 1 WEST}
+ {2866410000 0 0 WET}
+ {2879110800 3600 1 WEST}
+ {2897859600 0 0 WET}
+ {2910560400 3600 1 WEST}
+ {2929309200 0 0 WET}
+ {2942010000 3600 1 WEST}
+ {2960758800 0 0 WET}
+ {2974064400 3600 1 WEST}
+ {2992208400 0 0 WET}
+ {3005514000 3600 1 WEST}
+ {3023658000 0 0 WET}
+ {3036963600 3600 1 WEST}
+ {3055712400 0 0 WET}
+ {3068413200 3600 1 WEST}
+ {3087162000 0 0 WET}
+ {3099862800 3600 1 WEST}
+ {3118611600 0 0 WET}
+ {3131917200 3600 1 WEST}
+ {3150061200 0 0 WET}
+ {3163366800 3600 1 WEST}
+ {3181510800 0 0 WET}
+ {3194816400 3600 1 WEST}
+ {3212960400 0 0 WET}
+ {3226266000 3600 1 WEST}
+ {3245014800 0 0 WET}
+ {3257715600 3600 1 WEST}
+ {3276464400 0 0 WET}
+ {3289165200 3600 1 WEST}
+ {3307914000 0 0 WET}
+ {3321219600 3600 1 WEST}
+ {3339363600 0 0 WET}
+ {3352669200 3600 1 WEST}
+ {3370813200 0 0 WET}
+ {3384118800 3600 1 WEST}
+ {3402867600 0 0 WET}
+ {3415568400 3600 1 WEST}
+ {3434317200 0 0 WET}
+ {3447018000 3600 1 WEST}
+ {3465766800 0 0 WET}
+ {3479072400 3600 1 WEST}
+ {3497216400 0 0 WET}
+ {3510522000 3600 1 WEST}
+ {3528666000 0 0 WET}
+ {3541971600 3600 1 WEST}
+ {3560115600 0 0 WET}
+ {3573421200 3600 1 WEST}
+ {3592170000 0 0 WET}
+ {3604870800 3600 1 WEST}
+ {3623619600 0 0 WET}
+ {3636320400 3600 1 WEST}
+ {3655069200 0 0 WET}
+ {3668374800 3600 1 WEST}
+ {3686518800 0 0 WET}
+ {3699824400 3600 1 WEST}
+ {3717968400 0 0 WET}
+ {3731274000 3600 1 WEST}
+ {3750022800 0 0 WET}
+ {3762723600 3600 1 WEST}
+ {3781472400 0 0 WET}
+ {3794173200 3600 1 WEST}
+ {3812922000 0 0 WET}
+ {3825622800 3600 1 WEST}
+ {3844371600 0 0 WET}
+ {3857677200 3600 1 WEST}
+ {3875821200 0 0 WET}
+ {3889126800 3600 1 WEST}
+ {3907270800 0 0 WET}
+ {3920576400 3600 1 WEST}
+ {3939325200 0 0 WET}
+ {3952026000 3600 1 WEST}
+ {3970774800 0 0 WET}
+ {3983475600 3600 1 WEST}
+ {4002224400 0 0 WET}
+ {4015530000 3600 1 WEST}
+ {4033674000 0 0 WET}
+ {4046979600 3600 1 WEST}
+ {4065123600 0 0 WET}
+ {4078429200 3600 1 WEST}
+ {4096573200 0 0 WET}
+}
diff --git a/library/tzdata/Europe/Ljubljana b/library/tzdata/Europe/Ljubljana
new file mode 100644
index 0000000..cda35ff
--- /dev/null
+++ b/library/tzdata/Europe/Ljubljana
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Belgrade)]} {
+ loadTimeZoneFile Europe/Belgrade
+}
+set tzdata(:Europe/Ljubljana) $TZData(:Europe/Belgrade)
diff --git a/library/tzdata/Europe/London b/library/tzdata/Europe/London
new file mode 100644
index 0000000..70edb91
--- /dev/null
+++ b/library/tzdata/Europe/London
@@ -0,0 +1,372 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/London) {
+ {-9223372036854775808 -75 0 LMT}
+ {-3852662325 0 0 GMT}
+ {-1691964000 3600 1 BST}
+ {-1680472800 0 0 GMT}
+ {-1664143200 3600 1 BST}
+ {-1650146400 0 0 GMT}
+ {-1633903200 3600 1 BST}
+ {-1617487200 0 0 GMT}
+ {-1601848800 3600 1 BST}
+ {-1586037600 0 0 GMT}
+ {-1570399200 3600 1 BST}
+ {-1552168800 0 0 GMT}
+ {-1538344800 3600 1 BST}
+ {-1522533600 0 0 GMT}
+ {-1507500000 3600 1 BST}
+ {-1490565600 0 0 GMT}
+ {-1473631200 3600 1 BST}
+ {-1460930400 0 0 GMT}
+ {-1442786400 3600 1 BST}
+ {-1428876000 0 0 GMT}
+ {-1410732000 3600 1 BST}
+ {-1396216800 0 0 GMT}
+ {-1379282400 3600 1 BST}
+ {-1364767200 0 0 GMT}
+ {-1348437600 3600 1 BST}
+ {-1333317600 0 0 GMT}
+ {-1315778400 3600 1 BST}
+ {-1301263200 0 0 GMT}
+ {-1284328800 3600 1 BST}
+ {-1269813600 0 0 GMT}
+ {-1253484000 3600 1 BST}
+ {-1238364000 0 0 GMT}
+ {-1221429600 3600 1 BST}
+ {-1206914400 0 0 GMT}
+ {-1189980000 3600 1 BST}
+ {-1175464800 0 0 GMT}
+ {-1159135200 3600 1 BST}
+ {-1143410400 0 0 GMT}
+ {-1126476000 3600 1 BST}
+ {-1111960800 0 0 GMT}
+ {-1095631200 3600 1 BST}
+ {-1080511200 0 0 GMT}
+ {-1063576800 3600 1 BST}
+ {-1049061600 0 0 GMT}
+ {-1032127200 3600 1 BST}
+ {-1017612000 0 0 GMT}
+ {-1001282400 3600 1 BST}
+ {-986162400 0 0 GMT}
+ {-969228000 3600 1 BST}
+ {-950479200 0 0 GMT}
+ {-942012000 3600 1 BST}
+ {-904518000 7200 1 BDST}
+ {-896050800 3600 1 BST}
+ {-875487600 7200 1 BDST}
+ {-864601200 3600 1 BST}
+ {-844038000 7200 1 BDST}
+ {-832546800 3600 1 BST}
+ {-812588400 7200 1 BDST}
+ {-798073200 3600 1 BST}
+ {-781052400 7200 1 BDST}
+ {-772066800 3600 1 BST}
+ {-764805600 0 0 GMT}
+ {-748476000 3600 1 BST}
+ {-733356000 0 0 GMT}
+ {-719445600 3600 1 BST}
+ {-717030000 7200 1 BDST}
+ {-706748400 3600 1 BST}
+ {-699487200 0 0 GMT}
+ {-687996000 3600 1 BST}
+ {-668037600 0 0 GMT}
+ {-654732000 3600 1 BST}
+ {-636588000 0 0 GMT}
+ {-622072800 3600 1 BST}
+ {-605743200 0 0 GMT}
+ {-590623200 3600 1 BST}
+ {-574293600 0 0 GMT}
+ {-558568800 3600 1 BST}
+ {-542239200 0 0 GMT}
+ {-527119200 3600 1 BST}
+ {-512604000 0 0 GMT}
+ {-496274400 3600 1 BST}
+ {-481154400 0 0 GMT}
+ {-464220000 3600 1 BST}
+ {-449704800 0 0 GMT}
+ {-432165600 3600 1 BST}
+ {-417650400 0 0 GMT}
+ {-401320800 3600 1 BST}
+ {-386200800 0 0 GMT}
+ {-369266400 3600 1 BST}
+ {-354751200 0 0 GMT}
+ {-337816800 3600 1 BST}
+ {-323301600 0 0 GMT}
+ {-306972000 3600 1 BST}
+ {-291852000 0 0 GMT}
+ {-276732000 3600 1 BST}
+ {-257983200 0 0 GMT}
+ {-245282400 3600 1 BST}
+ {-226533600 0 0 GMT}
+ {-213228000 3600 1 BST}
+ {-195084000 0 0 GMT}
+ {-182383200 3600 1 BST}
+ {-163634400 0 0 GMT}
+ {-150933600 3600 1 BST}
+ {-132184800 0 0 GMT}
+ {-119484000 3600 1 BST}
+ {-100735200 0 0 GMT}
+ {-88034400 3600 1 BST}
+ {-68680800 0 0 GMT}
+ {-59004000 3600 1 BST}
+ {-37238400 3600 0 BST}
+ {57722400 0 0 GMT}
+ {69818400 3600 1 BST}
+ {89172000 0 0 GMT}
+ {101268000 3600 1 BST}
+ {120621600 0 0 GMT}
+ {132717600 3600 1 BST}
+ {152071200 0 0 GMT}
+ {164167200 3600 1 BST}
+ {183520800 0 0 GMT}
+ {196221600 3600 1 BST}
+ {214970400 0 0 GMT}
+ {227671200 3600 1 BST}
+ {246420000 0 0 GMT}
+ {259120800 3600 1 BST}
+ {278474400 0 0 GMT}
+ {290570400 3600 1 BST}
+ {309924000 0 0 GMT}
+ {322020000 3600 1 BST}
+ {341373600 0 0 GMT}
+ {354675600 3600 1 BST}
+ {372819600 0 0 GMT}
+ {386125200 3600 1 BST}
+ {404269200 0 0 GMT}
+ {417574800 3600 1 BST}
+ {435718800 0 0 GMT}
+ {449024400 3600 1 BST}
+ {467773200 0 0 GMT}
+ {481078800 3600 1 BST}
+ {499222800 0 0 GMT}
+ {512528400 3600 1 BST}
+ {530672400 0 0 GMT}
+ {543978000 3600 1 BST}
+ {562122000 0 0 GMT}
+ {575427600 3600 1 BST}
+ {593571600 0 0 GMT}
+ {606877200 3600 1 BST}
+ {625626000 0 0 GMT}
+ {638326800 3600 1 BST}
+ {657075600 0 0 GMT}
+ {670381200 3600 1 BST}
+ {688525200 0 0 GMT}
+ {701830800 3600 1 BST}
+ {719974800 0 0 GMT}
+ {733280400 3600 1 BST}
+ {751424400 0 0 GMT}
+ {764730000 3600 1 BST}
+ {782874000 0 0 GMT}
+ {796179600 3600 1 BST}
+ {814323600 0 0 GMT}
+ {820454400 0 0 GMT}
+ {828234000 3600 1 BST}
+ {846378000 0 0 GMT}
+ {859683600 3600 1 BST}
+ {877827600 0 0 GMT}
+ {891133200 3600 1 BST}
+ {909277200 0 0 GMT}
+ {922582800 3600 1 BST}
+ {941331600 0 0 GMT}
+ {954032400 3600 1 BST}
+ {972781200 0 0 GMT}
+ {985482000 3600 1 BST}
+ {1004230800 0 0 GMT}
+ {1017536400 3600 1 BST}
+ {1035680400 0 0 GMT}
+ {1048986000 3600 1 BST}
+ {1067130000 0 0 GMT}
+ {1080435600 3600 1 BST}
+ {1099184400 0 0 GMT}
+ {1111885200 3600 1 BST}
+ {1130634000 0 0 GMT}
+ {1143334800 3600 1 BST}
+ {1162083600 0 0 GMT}
+ {1174784400 3600 1 BST}
+ {1193533200 0 0 GMT}
+ {1206838800 3600 1 BST}
+ {1224982800 0 0 GMT}
+ {1238288400 3600 1 BST}
+ {1256432400 0 0 GMT}
+ {1269738000 3600 1 BST}
+ {1288486800 0 0 GMT}
+ {1301187600 3600 1 BST}
+ {1319936400 0 0 GMT}
+ {1332637200 3600 1 BST}
+ {1351386000 0 0 GMT}
+ {1364691600 3600 1 BST}
+ {1382835600 0 0 GMT}
+ {1396141200 3600 1 BST}
+ {1414285200 0 0 GMT}
+ {1427590800 3600 1 BST}
+ {1445734800 0 0 GMT}
+ {1459040400 3600 1 BST}
+ {1477789200 0 0 GMT}
+ {1490490000 3600 1 BST}
+ {1509238800 0 0 GMT}
+ {1521939600 3600 1 BST}
+ {1540688400 0 0 GMT}
+ {1553994000 3600 1 BST}
+ {1572138000 0 0 GMT}
+ {1585443600 3600 1 BST}
+ {1603587600 0 0 GMT}
+ {1616893200 3600 1 BST}
+ {1635642000 0 0 GMT}
+ {1648342800 3600 1 BST}
+ {1667091600 0 0 GMT}
+ {1679792400 3600 1 BST}
+ {1698541200 0 0 GMT}
+ {1711846800 3600 1 BST}
+ {1729990800 0 0 GMT}
+ {1743296400 3600 1 BST}
+ {1761440400 0 0 GMT}
+ {1774746000 3600 1 BST}
+ {1792890000 0 0 GMT}
+ {1806195600 3600 1 BST}
+ {1824944400 0 0 GMT}
+ {1837645200 3600 1 BST}
+ {1856394000 0 0 GMT}
+ {1869094800 3600 1 BST}
+ {1887843600 0 0 GMT}
+ {1901149200 3600 1 BST}
+ {1919293200 0 0 GMT}
+ {1932598800 3600 1 BST}
+ {1950742800 0 0 GMT}
+ {1964048400 3600 1 BST}
+ {1982797200 0 0 GMT}
+ {1995498000 3600 1 BST}
+ {2014246800 0 0 GMT}
+ {2026947600 3600 1 BST}
+ {2045696400 0 0 GMT}
+ {2058397200 3600 1 BST}
+ {2077146000 0 0 GMT}
+ {2090451600 3600 1 BST}
+ {2108595600 0 0 GMT}
+ {2121901200 3600 1 BST}
+ {2140045200 0 0 GMT}
+ {2153350800 3600 1 BST}
+ {2172099600 0 0 GMT}
+ {2184800400 3600 1 BST}
+ {2203549200 0 0 GMT}
+ {2216250000 3600 1 BST}
+ {2234998800 0 0 GMT}
+ {2248304400 3600 1 BST}
+ {2266448400 0 0 GMT}
+ {2279754000 3600 1 BST}
+ {2297898000 0 0 GMT}
+ {2311203600 3600 1 BST}
+ {2329347600 0 0 GMT}
+ {2342653200 3600 1 BST}
+ {2361402000 0 0 GMT}
+ {2374102800 3600 1 BST}
+ {2392851600 0 0 GMT}
+ {2405552400 3600 1 BST}
+ {2424301200 0 0 GMT}
+ {2437606800 3600 1 BST}
+ {2455750800 0 0 GMT}
+ {2469056400 3600 1 BST}
+ {2487200400 0 0 GMT}
+ {2500506000 3600 1 BST}
+ {2519254800 0 0 GMT}
+ {2531955600 3600 1 BST}
+ {2550704400 0 0 GMT}
+ {2563405200 3600 1 BST}
+ {2582154000 0 0 GMT}
+ {2595459600 3600 1 BST}
+ {2613603600 0 0 GMT}
+ {2626909200 3600 1 BST}
+ {2645053200 0 0 GMT}
+ {2658358800 3600 1 BST}
+ {2676502800 0 0 GMT}
+ {2689808400 3600 1 BST}
+ {2708557200 0 0 GMT}
+ {2721258000 3600 1 BST}
+ {2740006800 0 0 GMT}
+ {2752707600 3600 1 BST}
+ {2771456400 0 0 GMT}
+ {2784762000 3600 1 BST}
+ {2802906000 0 0 GMT}
+ {2816211600 3600 1 BST}
+ {2834355600 0 0 GMT}
+ {2847661200 3600 1 BST}
+ {2866410000 0 0 GMT}
+ {2879110800 3600 1 BST}
+ {2897859600 0 0 GMT}
+ {2910560400 3600 1 BST}
+ {2929309200 0 0 GMT}
+ {2942010000 3600 1 BST}
+ {2960758800 0 0 GMT}
+ {2974064400 3600 1 BST}
+ {2992208400 0 0 GMT}
+ {3005514000 3600 1 BST}
+ {3023658000 0 0 GMT}
+ {3036963600 3600 1 BST}
+ {3055712400 0 0 GMT}
+ {3068413200 3600 1 BST}
+ {3087162000 0 0 GMT}
+ {3099862800 3600 1 BST}
+ {3118611600 0 0 GMT}
+ {3131917200 3600 1 BST}
+ {3150061200 0 0 GMT}
+ {3163366800 3600 1 BST}
+ {3181510800 0 0 GMT}
+ {3194816400 3600 1 BST}
+ {3212960400 0 0 GMT}
+ {3226266000 3600 1 BST}
+ {3245014800 0 0 GMT}
+ {3257715600 3600 1 BST}
+ {3276464400 0 0 GMT}
+ {3289165200 3600 1 BST}
+ {3307914000 0 0 GMT}
+ {3321219600 3600 1 BST}
+ {3339363600 0 0 GMT}
+ {3352669200 3600 1 BST}
+ {3370813200 0 0 GMT}
+ {3384118800 3600 1 BST}
+ {3402867600 0 0 GMT}
+ {3415568400 3600 1 BST}
+ {3434317200 0 0 GMT}
+ {3447018000 3600 1 BST}
+ {3465766800 0 0 GMT}
+ {3479072400 3600 1 BST}
+ {3497216400 0 0 GMT}
+ {3510522000 3600 1 BST}
+ {3528666000 0 0 GMT}
+ {3541971600 3600 1 BST}
+ {3560115600 0 0 GMT}
+ {3573421200 3600 1 BST}
+ {3592170000 0 0 GMT}
+ {3604870800 3600 1 BST}
+ {3623619600 0 0 GMT}
+ {3636320400 3600 1 BST}
+ {3655069200 0 0 GMT}
+ {3668374800 3600 1 BST}
+ {3686518800 0 0 GMT}
+ {3699824400 3600 1 BST}
+ {3717968400 0 0 GMT}
+ {3731274000 3600 1 BST}
+ {3750022800 0 0 GMT}
+ {3762723600 3600 1 BST}
+ {3781472400 0 0 GMT}
+ {3794173200 3600 1 BST}
+ {3812922000 0 0 GMT}
+ {3825622800 3600 1 BST}
+ {3844371600 0 0 GMT}
+ {3857677200 3600 1 BST}
+ {3875821200 0 0 GMT}
+ {3889126800 3600 1 BST}
+ {3907270800 0 0 GMT}
+ {3920576400 3600 1 BST}
+ {3939325200 0 0 GMT}
+ {3952026000 3600 1 BST}
+ {3970774800 0 0 GMT}
+ {3983475600 3600 1 BST}
+ {4002224400 0 0 GMT}
+ {4015530000 3600 1 BST}
+ {4033674000 0 0 GMT}
+ {4046979600 3600 1 BST}
+ {4065123600 0 0 GMT}
+ {4078429200 3600 1 BST}
+ {4096573200 0 0 GMT}
+}
diff --git a/library/tzdata/Europe/Luxembourg b/library/tzdata/Europe/Luxembourg
new file mode 100644
index 0000000..ac9fc75
--- /dev/null
+++ b/library/tzdata/Europe/Luxembourg
@@ -0,0 +1,313 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Luxembourg) {
+ {-9223372036854775808 1476 0 LMT}
+ {-2069713476 3600 0 CET}
+ {-1692496800 7200 1 CEST}
+ {-1680483600 3600 0 CET}
+ {-1662343200 7200 1 CEST}
+ {-1650157200 3600 0 CET}
+ {-1632002400 7200 1 CEST}
+ {-1618696800 3600 0 CET}
+ {-1612659600 0 0 WET}
+ {-1604278800 3600 1 WEST}
+ {-1585519200 0 0 WET}
+ {-1574038800 3600 1 WEST}
+ {-1552258800 0 0 WET}
+ {-1539997200 3600 1 WEST}
+ {-1520550000 0 0 WET}
+ {-1507510800 3600 1 WEST}
+ {-1490572800 0 0 WET}
+ {-1473642000 3600 1 WEST}
+ {-1459119600 0 0 WET}
+ {-1444006800 3600 1 WEST}
+ {-1427673600 0 0 WET}
+ {-1411866000 3600 1 WEST}
+ {-1396224000 0 0 WET}
+ {-1379293200 3600 1 WEST}
+ {-1364774400 0 0 WET}
+ {-1348448400 3600 1 WEST}
+ {-1333324800 0 0 WET}
+ {-1316394000 3600 1 WEST}
+ {-1301270400 0 0 WET}
+ {-1284339600 3600 1 WEST}
+ {-1269813600 0 0 WET}
+ {-1253484000 3600 1 WEST}
+ {-1238364000 0 0 WET}
+ {-1221429600 3600 1 WEST}
+ {-1206914400 0 0 WET}
+ {-1191189600 3600 1 WEST}
+ {-1175464800 0 0 WET}
+ {-1160344800 3600 1 WEST}
+ {-1143410400 0 0 WET}
+ {-1127685600 3600 1 WEST}
+ {-1111960800 0 0 WET}
+ {-1096840800 3600 1 WEST}
+ {-1080511200 0 0 WET}
+ {-1063576800 3600 1 WEST}
+ {-1049061600 0 0 WET}
+ {-1033336800 3600 1 WEST}
+ {-1017612000 0 0 WET}
+ {-1002492000 3600 1 WEST}
+ {-986162400 0 0 WET}
+ {-969228000 3600 1 WEST}
+ {-950479200 0 0 WET}
+ {-942012000 3600 1 WEST}
+ {-935186400 7200 0 WEST}
+ {-857253600 3600 0 WET}
+ {-844552800 7200 1 WEST}
+ {-828223200 3600 0 WET}
+ {-812498400 7200 1 WEST}
+ {-797983200 3600 0 CET}
+ {-781048800 7200 1 CEST}
+ {-766620000 3600 0 CET}
+ {-745452000 7200 1 CEST}
+ {-733269600 3600 0 CET}
+ {220921200 3600 0 CET}
+ {228877200 7200 1 CEST}
+ {243997200 3600 0 CET}
+ {260326800 7200 1 CEST}
+ {276051600 3600 0 CET}
+ {291776400 7200 1 CEST}
+ {307501200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Madrid b/library/tzdata/Europe/Madrid
new file mode 100644
index 0000000..98337ce
--- /dev/null
+++ b/library/tzdata/Europe/Madrid
@@ -0,0 +1,294 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Madrid) {
+ {-9223372036854775808 -884 0 LMT}
+ {-2177451916 0 0 WET}
+ {-1661734800 3600 1 WEST}
+ {-1648429200 0 0 WET}
+ {-1631926800 3600 1 WEST}
+ {-1616893200 0 0 WET}
+ {-1601254800 3600 1 WEST}
+ {-1585357200 0 0 WET}
+ {-1442451600 3600 1 WEST}
+ {-1427677200 0 0 WET}
+ {-1379293200 3600 1 WEST}
+ {-1364778000 0 0 WET}
+ {-1348448400 3600 1 WEST}
+ {-1333328400 0 0 WET}
+ {-1316394000 3600 1 WEST}
+ {-1301274000 0 0 WET}
+ {-1284339600 3600 1 WEST}
+ {-1269824400 0 0 WET}
+ {-1029114000 3600 1 WEST}
+ {-1017622800 0 0 WET}
+ {-1002848400 3600 1 WEST}
+ {-986173200 0 0 WET}
+ {-969238800 3600 1 WEST}
+ {-954118800 0 0 WET}
+ {-940208400 3600 1 WEST}
+ {-873079200 7200 1 WEMT}
+ {-862538400 3600 1 WEST}
+ {-842839200 7200 1 WEMT}
+ {-828237600 3600 1 WEST}
+ {-811389600 7200 1 WEMT}
+ {-796010400 3600 1 WEST}
+ {-779940000 7200 1 WEMT}
+ {-765421200 3600 1 WEST}
+ {-748490400 7200 1 WEMT}
+ {-733881600 3600 0 CET}
+ {-652327200 7200 1 CEST}
+ {-639190800 3600 0 CET}
+ {135122400 7200 1 CEST}
+ {150246000 3600 0 CET}
+ {167176800 7200 1 CEST}
+ {181695600 3600 0 CET}
+ {196812000 7200 1 CEST}
+ {212540400 3600 0 CET}
+ {228866400 7200 1 CEST}
+ {243990000 3600 0 CET}
+ {260402400 7200 1 CEST}
+ {276044400 3600 0 CET}
+ {283993200 3600 0 CET}
+ {291776400 7200 1 CEST}
+ {307501200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Malta b/library/tzdata/Europe/Malta
new file mode 100644
index 0000000..5bcde77
--- /dev/null
+++ b/library/tzdata/Europe/Malta
@@ -0,0 +1,300 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Malta) {
+ {-9223372036854775808 3484 0 LMT}
+ {-2403478684 3600 0 CET}
+ {-1690848000 7200 1 CEST}
+ {-1680480000 3600 0 CET}
+ {-1664755200 7200 1 CEST}
+ {-1649030400 3600 0 CET}
+ {-1635120000 7200 1 CEST}
+ {-1616976000 3600 0 CET}
+ {-1604275200 7200 1 CEST}
+ {-1585526400 3600 0 CET}
+ {-1571011200 7200 1 CEST}
+ {-1555286400 3600 0 CET}
+ {-932428800 7200 1 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796773600 3600 0 CET}
+ {-781048800 7200 0 CEST}
+ {-766713600 3600 0 CET}
+ {-750895200 7200 1 CEST}
+ {-733356000 3600 0 CET}
+ {-719452800 7200 1 CEST}
+ {-701913600 3600 0 CET}
+ {-689205600 7200 1 CEST}
+ {-670456800 3600 0 CET}
+ {-114051600 7200 1 CEST}
+ {-103168800 3600 0 CET}
+ {-81997200 7200 1 CEST}
+ {-71719200 3600 0 CET}
+ {-50547600 7200 1 CEST}
+ {-40269600 3600 0 CET}
+ {-18493200 7200 1 CEST}
+ {-8215200 3600 0 CET}
+ {12956400 7200 1 CEST}
+ {23234400 3600 0 CET}
+ {43801200 7200 1 CEST}
+ {54687600 3600 0 CET}
+ {75855600 7200 1 CEST}
+ {86738400 3600 0 CET}
+ {102380400 3600 0 CET}
+ {102384000 7200 1 CEST}
+ {118108800 3600 0 CET}
+ {135734400 7200 1 CEST}
+ {148521600 3600 0 CET}
+ {167187600 7200 1 CEST}
+ {180489600 3600 0 CET}
+ {198637200 7200 1 CEST}
+ {211939200 3600 0 CET}
+ {230086800 7200 1 CEST}
+ {243388800 3600 0 CET}
+ {261536400 7200 1 CEST}
+ {274838400 3600 0 CET}
+ {292986000 7200 1 CEST}
+ {306288000 3600 0 CET}
+ {323312400 7200 1 CEST}
+ {338342400 3600 0 CET}
+ {347151600 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Mariehamn b/library/tzdata/Europe/Mariehamn
new file mode 100644
index 0000000..1da96cf
--- /dev/null
+++ b/library/tzdata/Europe/Mariehamn
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Helsinki)]} {
+ loadTimeZoneFile Europe/Helsinki
+}
+set tzdata(:Europe/Mariehamn) $TZData(:Europe/Helsinki)
diff --git a/library/tzdata/Europe/Minsk b/library/tzdata/Europe/Minsk
new file mode 100644
index 0000000..ee7e546
--- /dev/null
+++ b/library/tzdata/Europe/Minsk
@@ -0,0 +1,251 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Minsk) {
+ {-9223372036854775808 6616 0 LMT}
+ {-2840147416 6600 0 MMT}
+ {-1441158600 7200 0 EET}
+ {-1247536800 10800 0 MSK}
+ {-899780400 3600 0 CET}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-804646800 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465357600 10800 0 MSK}
+ {481082400 14400 1 MSD}
+ {496807200 10800 0 MSK}
+ {512532000 14400 1 MSD}
+ {528256800 10800 0 MSK}
+ {543981600 14400 1 MSD}
+ {559706400 10800 0 MSK}
+ {575431200 14400 1 MSD}
+ {591156000 10800 0 MSK}
+ {606880800 14400 1 MSD}
+ {622605600 10800 0 MSK}
+ {631141200 10800 0 MSK}
+ {670384800 10800 1 EEST}
+ {686109600 7200 0 EET}
+ {701827200 10800 1 EEST}
+ {717552000 7200 0 EET}
+ {733284000 10800 1 EEST}
+ {749008800 7200 0 EET}
+ {764733600 10800 1 EEST}
+ {780458400 7200 0 EET}
+ {796183200 10800 1 EEST}
+ {811908000 7200 0 EET}
+ {828237600 10800 1 EEST}
+ {846381600 7200 0 EET}
+ {859687200 10800 1 EEST}
+ {877831200 7200 0 EET}
+ {891136800 10800 1 EEST}
+ {909280800 7200 0 EET}
+ {922586400 10800 1 EEST}
+ {941335200 7200 0 EET}
+ {954036000 10800 1 EEST}
+ {972784800 7200 0 EET}
+ {985485600 10800 1 EEST}
+ {1004234400 7200 0 EET}
+ {1017540000 10800 1 EEST}
+ {1035684000 7200 0 EET}
+ {1048989600 10800 1 EEST}
+ {1067133600 7200 0 EET}
+ {1080439200 10800 1 EEST}
+ {1099188000 7200 0 EET}
+ {1111888800 10800 1 EEST}
+ {1130637600 7200 0 EET}
+ {1143338400 10800 1 EEST}
+ {1162087200 7200 0 EET}
+ {1174788000 10800 1 EEST}
+ {1193536800 7200 0 EET}
+ {1206842400 10800 1 EEST}
+ {1224986400 7200 0 EET}
+ {1238292000 10800 1 EEST}
+ {1256436000 7200 0 EET}
+ {1269741600 10800 1 EEST}
+ {1288490400 7200 0 EET}
+ {1301191200 10800 1 EEST}
+ {1319940000 7200 0 EET}
+ {1332640800 10800 1 EEST}
+ {1351389600 7200 0 EET}
+ {1364695200 10800 1 EEST}
+ {1382839200 7200 0 EET}
+ {1396144800 10800 1 EEST}
+ {1414288800 7200 0 EET}
+ {1427594400 10800 1 EEST}
+ {1445738400 7200 0 EET}
+ {1459044000 10800 1 EEST}
+ {1477792800 7200 0 EET}
+ {1490493600 10800 1 EEST}
+ {1509242400 7200 0 EET}
+ {1521943200 10800 1 EEST}
+ {1540692000 7200 0 EET}
+ {1553997600 10800 1 EEST}
+ {1572141600 7200 0 EET}
+ {1585447200 10800 1 EEST}
+ {1603591200 7200 0 EET}
+ {1616896800 10800 1 EEST}
+ {1635645600 7200 0 EET}
+ {1648346400 10800 1 EEST}
+ {1667095200 7200 0 EET}
+ {1679796000 10800 1 EEST}
+ {1698544800 7200 0 EET}
+ {1711850400 10800 1 EEST}
+ {1729994400 7200 0 EET}
+ {1743300000 10800 1 EEST}
+ {1761444000 7200 0 EET}
+ {1774749600 10800 1 EEST}
+ {1792893600 7200 0 EET}
+ {1806199200 10800 1 EEST}
+ {1824948000 7200 0 EET}
+ {1837648800 10800 1 EEST}
+ {1856397600 7200 0 EET}
+ {1869098400 10800 1 EEST}
+ {1887847200 7200 0 EET}
+ {1901152800 10800 1 EEST}
+ {1919296800 7200 0 EET}
+ {1932602400 10800 1 EEST}
+ {1950746400 7200 0 EET}
+ {1964052000 10800 1 EEST}
+ {1982800800 7200 0 EET}
+ {1995501600 10800 1 EEST}
+ {2014250400 7200 0 EET}
+ {2026951200 10800 1 EEST}
+ {2045700000 7200 0 EET}
+ {2058400800 10800 1 EEST}
+ {2077149600 7200 0 EET}
+ {2090455200 10800 1 EEST}
+ {2108599200 7200 0 EET}
+ {2121904800 10800 1 EEST}
+ {2140048800 7200 0 EET}
+ {2153354400 10800 1 EEST}
+ {2172103200 7200 0 EET}
+ {2184804000 10800 1 EEST}
+ {2203552800 7200 0 EET}
+ {2216253600 10800 1 EEST}
+ {2235002400 7200 0 EET}
+ {2248308000 10800 1 EEST}
+ {2266452000 7200 0 EET}
+ {2279757600 10800 1 EEST}
+ {2297901600 7200 0 EET}
+ {2311207200 10800 1 EEST}
+ {2329351200 7200 0 EET}
+ {2342656800 10800 1 EEST}
+ {2361405600 7200 0 EET}
+ {2374106400 10800 1 EEST}
+ {2392855200 7200 0 EET}
+ {2405556000 10800 1 EEST}
+ {2424304800 7200 0 EET}
+ {2437610400 10800 1 EEST}
+ {2455754400 7200 0 EET}
+ {2469060000 10800 1 EEST}
+ {2487204000 7200 0 EET}
+ {2500509600 10800 1 EEST}
+ {2519258400 7200 0 EET}
+ {2531959200 10800 1 EEST}
+ {2550708000 7200 0 EET}
+ {2563408800 10800 1 EEST}
+ {2582157600 7200 0 EET}
+ {2595463200 10800 1 EEST}
+ {2613607200 7200 0 EET}
+ {2626912800 10800 1 EEST}
+ {2645056800 7200 0 EET}
+ {2658362400 10800 1 EEST}
+ {2676506400 7200 0 EET}
+ {2689812000 10800 1 EEST}
+ {2708560800 7200 0 EET}
+ {2721261600 10800 1 EEST}
+ {2740010400 7200 0 EET}
+ {2752711200 10800 1 EEST}
+ {2771460000 7200 0 EET}
+ {2784765600 10800 1 EEST}
+ {2802909600 7200 0 EET}
+ {2816215200 10800 1 EEST}
+ {2834359200 7200 0 EET}
+ {2847664800 10800 1 EEST}
+ {2866413600 7200 0 EET}
+ {2879114400 10800 1 EEST}
+ {2897863200 7200 0 EET}
+ {2910564000 10800 1 EEST}
+ {2929312800 7200 0 EET}
+ {2942013600 10800 1 EEST}
+ {2960762400 7200 0 EET}
+ {2974068000 10800 1 EEST}
+ {2992212000 7200 0 EET}
+ {3005517600 10800 1 EEST}
+ {3023661600 7200 0 EET}
+ {3036967200 10800 1 EEST}
+ {3055716000 7200 0 EET}
+ {3068416800 10800 1 EEST}
+ {3087165600 7200 0 EET}
+ {3099866400 10800 1 EEST}
+ {3118615200 7200 0 EET}
+ {3131920800 10800 1 EEST}
+ {3150064800 7200 0 EET}
+ {3163370400 10800 1 EEST}
+ {3181514400 7200 0 EET}
+ {3194820000 10800 1 EEST}
+ {3212964000 7200 0 EET}
+ {3226269600 10800 1 EEST}
+ {3245018400 7200 0 EET}
+ {3257719200 10800 1 EEST}
+ {3276468000 7200 0 EET}
+ {3289168800 10800 1 EEST}
+ {3307917600 7200 0 EET}
+ {3321223200 10800 1 EEST}
+ {3339367200 7200 0 EET}
+ {3352672800 10800 1 EEST}
+ {3370816800 7200 0 EET}
+ {3384122400 10800 1 EEST}
+ {3402871200 7200 0 EET}
+ {3415572000 10800 1 EEST}
+ {3434320800 7200 0 EET}
+ {3447021600 10800 1 EEST}
+ {3465770400 7200 0 EET}
+ {3479076000 10800 1 EEST}
+ {3497220000 7200 0 EET}
+ {3510525600 10800 1 EEST}
+ {3528669600 7200 0 EET}
+ {3541975200 10800 1 EEST}
+ {3560119200 7200 0 EET}
+ {3573424800 10800 1 EEST}
+ {3592173600 7200 0 EET}
+ {3604874400 10800 1 EEST}
+ {3623623200 7200 0 EET}
+ {3636324000 10800 1 EEST}
+ {3655072800 7200 0 EET}
+ {3668378400 10800 1 EEST}
+ {3686522400 7200 0 EET}
+ {3699828000 10800 1 EEST}
+ {3717972000 7200 0 EET}
+ {3731277600 10800 1 EEST}
+ {3750026400 7200 0 EET}
+ {3762727200 10800 1 EEST}
+ {3781476000 7200 0 EET}
+ {3794176800 10800 1 EEST}
+ {3812925600 7200 0 EET}
+ {3825626400 10800 1 EEST}
+ {3844375200 7200 0 EET}
+ {3857680800 10800 1 EEST}
+ {3875824800 7200 0 EET}
+ {3889130400 10800 1 EEST}
+ {3907274400 7200 0 EET}
+ {3920580000 10800 1 EEST}
+ {3939328800 7200 0 EET}
+ {3952029600 10800 1 EEST}
+ {3970778400 7200 0 EET}
+ {3983479200 10800 1 EEST}
+ {4002228000 7200 0 EET}
+ {4015533600 10800 1 EEST}
+ {4033677600 7200 0 EET}
+ {4046983200 10800 1 EEST}
+ {4065127200 7200 0 EET}
+ {4078432800 10800 1 EEST}
+ {4096576800 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Monaco b/library/tzdata/Europe/Monaco
new file mode 100644
index 0000000..1e0a6fa
--- /dev/null
+++ b/library/tzdata/Europe/Monaco
@@ -0,0 +1,315 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Monaco) {
+ {-9223372036854775808 1772 0 LMT}
+ {-2486680172 561 0 PMT}
+ {-1855958961 0 0 WET}
+ {-1689814800 3600 1 WEST}
+ {-1680397200 0 0 WET}
+ {-1665363600 3600 1 WEST}
+ {-1648342800 0 0 WET}
+ {-1635123600 3600 1 WEST}
+ {-1616893200 0 0 WET}
+ {-1604278800 3600 1 WEST}
+ {-1585443600 0 0 WET}
+ {-1574038800 3600 1 WEST}
+ {-1552266000 0 0 WET}
+ {-1539997200 3600 1 WEST}
+ {-1520557200 0 0 WET}
+ {-1507510800 3600 1 WEST}
+ {-1490576400 0 0 WET}
+ {-1470618000 3600 1 WEST}
+ {-1459126800 0 0 WET}
+ {-1444006800 3600 1 WEST}
+ {-1427677200 0 0 WET}
+ {-1411952400 3600 1 WEST}
+ {-1396227600 0 0 WET}
+ {-1379293200 3600 1 WEST}
+ {-1364778000 0 0 WET}
+ {-1348448400 3600 1 WEST}
+ {-1333328400 0 0 WET}
+ {-1316394000 3600 1 WEST}
+ {-1301274000 0 0 WET}
+ {-1284339600 3600 1 WEST}
+ {-1269824400 0 0 WET}
+ {-1253494800 3600 1 WEST}
+ {-1238374800 0 0 WET}
+ {-1221440400 3600 1 WEST}
+ {-1206925200 0 0 WET}
+ {-1191200400 3600 1 WEST}
+ {-1175475600 0 0 WET}
+ {-1160355600 3600 1 WEST}
+ {-1143421200 0 0 WET}
+ {-1127696400 3600 1 WEST}
+ {-1111971600 0 0 WET}
+ {-1096851600 3600 1 WEST}
+ {-1080522000 0 0 WET}
+ {-1063587600 3600 1 WEST}
+ {-1049072400 0 0 WET}
+ {-1033347600 3600 1 WEST}
+ {-1017622800 0 0 WET}
+ {-1002502800 3600 1 WEST}
+ {-986173200 0 0 WET}
+ {-969238800 3600 1 WEST}
+ {-950490000 0 0 WET}
+ {-942012000 3600 1 WEST}
+ {-904438800 7200 1 WEMT}
+ {-891136800 3600 1 WEST}
+ {-877827600 7200 1 WEMT}
+ {-857257200 3600 1 WEST}
+ {-844556400 7200 1 WEMT}
+ {-828226800 3600 1 WEST}
+ {-812502000 7200 1 WEMT}
+ {-796266000 3600 1 WEST}
+ {-781052400 7200 1 WEMT}
+ {-766616400 3600 0 CET}
+ {196819200 7200 1 CEST}
+ {212540400 3600 0 CET}
+ {220921200 3600 0 CET}
+ {228877200 7200 1 CEST}
+ {243997200 3600 0 CET}
+ {260326800 7200 1 CEST}
+ {276051600 3600 0 CET}
+ {291776400 7200 1 CEST}
+ {307501200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Moscow b/library/tzdata/Europe/Moscow
new file mode 100644
index 0000000..6847a15
--- /dev/null
+++ b/library/tzdata/Europe/Moscow
@@ -0,0 +1,259 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Moscow) {
+ {-9223372036854775808 9020 0 LMT}
+ {-2840149820 9000 0 MMT}
+ {-1688265000 9048 0 MMT}
+ {-1656819048 12648 1 MST}
+ {-1641353448 9048 0 MMT}
+ {-1627965048 16248 1 MDST}
+ {-1618716648 12648 1 MST}
+ {-1596429048 16248 1 MDST}
+ {-1593822648 14400 0 MSD}
+ {-1589860800 10800 0 MSK}
+ {-1542427200 14400 1 MSD}
+ {-1539493200 18000 1 MSD}
+ {-1525323600 14400 1 MSD}
+ {-1522728000 10800 0 MSK}
+ {-1491188400 7200 0 EET}
+ {-1247536800 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465357600 10800 0 MSK}
+ {481082400 14400 1 MSD}
+ {496807200 10800 0 MSK}
+ {512532000 14400 1 MSD}
+ {528256800 10800 0 MSK}
+ {543981600 14400 1 MSD}
+ {559706400 10800 0 MSK}
+ {575431200 14400 1 MSD}
+ {591156000 10800 0 MSK}
+ {606880800 14400 1 MSD}
+ {622605600 10800 0 MSK}
+ {638330400 14400 1 MSD}
+ {654660000 10800 0 MSK}
+ {670384800 10800 0 EEST}
+ {686109600 7200 0 EET}
+ {695786400 10800 0 MSD}
+ {701812800 14400 1 MSD}
+ {717534000 10800 0 MSK}
+ {733284000 14400 1 MSD}
+ {749008800 10800 0 MSK}
+ {764733600 14400 1 MSD}
+ {780458400 10800 0 MSK}
+ {796183200 14400 1 MSD}
+ {811908000 10800 0 MSK}
+ {828237600 14400 1 MSD}
+ {846381600 10800 0 MSK}
+ {859687200 14400 1 MSD}
+ {877831200 10800 0 MSK}
+ {891136800 14400 1 MSD}
+ {909280800 10800 0 MSK}
+ {922586400 14400 1 MSD}
+ {941335200 10800 0 MSK}
+ {954036000 14400 1 MSD}
+ {972784800 10800 0 MSK}
+ {985485600 14400 1 MSD}
+ {1004234400 10800 0 MSK}
+ {1017540000 14400 1 MSD}
+ {1035684000 10800 0 MSK}
+ {1048989600 14400 1 MSD}
+ {1067133600 10800 0 MSK}
+ {1080439200 14400 1 MSD}
+ {1099188000 10800 0 MSK}
+ {1111888800 14400 1 MSD}
+ {1130637600 10800 0 MSK}
+ {1143338400 14400 1 MSD}
+ {1162087200 10800 0 MSK}
+ {1174788000 14400 1 MSD}
+ {1193536800 10800 0 MSK}
+ {1206842400 14400 1 MSD}
+ {1224986400 10800 0 MSK}
+ {1238292000 14400 1 MSD}
+ {1256436000 10800 0 MSK}
+ {1269741600 14400 1 MSD}
+ {1288490400 10800 0 MSK}
+ {1301191200 14400 1 MSD}
+ {1319940000 10800 0 MSK}
+ {1332640800 14400 1 MSD}
+ {1351389600 10800 0 MSK}
+ {1364695200 14400 1 MSD}
+ {1382839200 10800 0 MSK}
+ {1396144800 14400 1 MSD}
+ {1414288800 10800 0 MSK}
+ {1427594400 14400 1 MSD}
+ {1445738400 10800 0 MSK}
+ {1459044000 14400 1 MSD}
+ {1477792800 10800 0 MSK}
+ {1490493600 14400 1 MSD}
+ {1509242400 10800 0 MSK}
+ {1521943200 14400 1 MSD}
+ {1540692000 10800 0 MSK}
+ {1553997600 14400 1 MSD}
+ {1572141600 10800 0 MSK}
+ {1585447200 14400 1 MSD}
+ {1603591200 10800 0 MSK}
+ {1616896800 14400 1 MSD}
+ {1635645600 10800 0 MSK}
+ {1648346400 14400 1 MSD}
+ {1667095200 10800 0 MSK}
+ {1679796000 14400 1 MSD}
+ {1698544800 10800 0 MSK}
+ {1711850400 14400 1 MSD}
+ {1729994400 10800 0 MSK}
+ {1743300000 14400 1 MSD}
+ {1761444000 10800 0 MSK}
+ {1774749600 14400 1 MSD}
+ {1792893600 10800 0 MSK}
+ {1806199200 14400 1 MSD}
+ {1824948000 10800 0 MSK}
+ {1837648800 14400 1 MSD}
+ {1856397600 10800 0 MSK}
+ {1869098400 14400 1 MSD}
+ {1887847200 10800 0 MSK}
+ {1901152800 14400 1 MSD}
+ {1919296800 10800 0 MSK}
+ {1932602400 14400 1 MSD}
+ {1950746400 10800 0 MSK}
+ {1964052000 14400 1 MSD}
+ {1982800800 10800 0 MSK}
+ {1995501600 14400 1 MSD}
+ {2014250400 10800 0 MSK}
+ {2026951200 14400 1 MSD}
+ {2045700000 10800 0 MSK}
+ {2058400800 14400 1 MSD}
+ {2077149600 10800 0 MSK}
+ {2090455200 14400 1 MSD}
+ {2108599200 10800 0 MSK}
+ {2121904800 14400 1 MSD}
+ {2140048800 10800 0 MSK}
+ {2153354400 14400 1 MSD}
+ {2172103200 10800 0 MSK}
+ {2184804000 14400 1 MSD}
+ {2203552800 10800 0 MSK}
+ {2216253600 14400 1 MSD}
+ {2235002400 10800 0 MSK}
+ {2248308000 14400 1 MSD}
+ {2266452000 10800 0 MSK}
+ {2279757600 14400 1 MSD}
+ {2297901600 10800 0 MSK}
+ {2311207200 14400 1 MSD}
+ {2329351200 10800 0 MSK}
+ {2342656800 14400 1 MSD}
+ {2361405600 10800 0 MSK}
+ {2374106400 14400 1 MSD}
+ {2392855200 10800 0 MSK}
+ {2405556000 14400 1 MSD}
+ {2424304800 10800 0 MSK}
+ {2437610400 14400 1 MSD}
+ {2455754400 10800 0 MSK}
+ {2469060000 14400 1 MSD}
+ {2487204000 10800 0 MSK}
+ {2500509600 14400 1 MSD}
+ {2519258400 10800 0 MSK}
+ {2531959200 14400 1 MSD}
+ {2550708000 10800 0 MSK}
+ {2563408800 14400 1 MSD}
+ {2582157600 10800 0 MSK}
+ {2595463200 14400 1 MSD}
+ {2613607200 10800 0 MSK}
+ {2626912800 14400 1 MSD}
+ {2645056800 10800 0 MSK}
+ {2658362400 14400 1 MSD}
+ {2676506400 10800 0 MSK}
+ {2689812000 14400 1 MSD}
+ {2708560800 10800 0 MSK}
+ {2721261600 14400 1 MSD}
+ {2740010400 10800 0 MSK}
+ {2752711200 14400 1 MSD}
+ {2771460000 10800 0 MSK}
+ {2784765600 14400 1 MSD}
+ {2802909600 10800 0 MSK}
+ {2816215200 14400 1 MSD}
+ {2834359200 10800 0 MSK}
+ {2847664800 14400 1 MSD}
+ {2866413600 10800 0 MSK}
+ {2879114400 14400 1 MSD}
+ {2897863200 10800 0 MSK}
+ {2910564000 14400 1 MSD}
+ {2929312800 10800 0 MSK}
+ {2942013600 14400 1 MSD}
+ {2960762400 10800 0 MSK}
+ {2974068000 14400 1 MSD}
+ {2992212000 10800 0 MSK}
+ {3005517600 14400 1 MSD}
+ {3023661600 10800 0 MSK}
+ {3036967200 14400 1 MSD}
+ {3055716000 10800 0 MSK}
+ {3068416800 14400 1 MSD}
+ {3087165600 10800 0 MSK}
+ {3099866400 14400 1 MSD}
+ {3118615200 10800 0 MSK}
+ {3131920800 14400 1 MSD}
+ {3150064800 10800 0 MSK}
+ {3163370400 14400 1 MSD}
+ {3181514400 10800 0 MSK}
+ {3194820000 14400 1 MSD}
+ {3212964000 10800 0 MSK}
+ {3226269600 14400 1 MSD}
+ {3245018400 10800 0 MSK}
+ {3257719200 14400 1 MSD}
+ {3276468000 10800 0 MSK}
+ {3289168800 14400 1 MSD}
+ {3307917600 10800 0 MSK}
+ {3321223200 14400 1 MSD}
+ {3339367200 10800 0 MSK}
+ {3352672800 14400 1 MSD}
+ {3370816800 10800 0 MSK}
+ {3384122400 14400 1 MSD}
+ {3402871200 10800 0 MSK}
+ {3415572000 14400 1 MSD}
+ {3434320800 10800 0 MSK}
+ {3447021600 14400 1 MSD}
+ {3465770400 10800 0 MSK}
+ {3479076000 14400 1 MSD}
+ {3497220000 10800 0 MSK}
+ {3510525600 14400 1 MSD}
+ {3528669600 10800 0 MSK}
+ {3541975200 14400 1 MSD}
+ {3560119200 10800 0 MSK}
+ {3573424800 14400 1 MSD}
+ {3592173600 10800 0 MSK}
+ {3604874400 14400 1 MSD}
+ {3623623200 10800 0 MSK}
+ {3636324000 14400 1 MSD}
+ {3655072800 10800 0 MSK}
+ {3668378400 14400 1 MSD}
+ {3686522400 10800 0 MSK}
+ {3699828000 14400 1 MSD}
+ {3717972000 10800 0 MSK}
+ {3731277600 14400 1 MSD}
+ {3750026400 10800 0 MSK}
+ {3762727200 14400 1 MSD}
+ {3781476000 10800 0 MSK}
+ {3794176800 14400 1 MSD}
+ {3812925600 10800 0 MSK}
+ {3825626400 14400 1 MSD}
+ {3844375200 10800 0 MSK}
+ {3857680800 14400 1 MSD}
+ {3875824800 10800 0 MSK}
+ {3889130400 14400 1 MSD}
+ {3907274400 10800 0 MSK}
+ {3920580000 14400 1 MSD}
+ {3939328800 10800 0 MSK}
+ {3952029600 14400 1 MSD}
+ {3970778400 10800 0 MSK}
+ {3983479200 14400 1 MSD}
+ {4002228000 10800 0 MSK}
+ {4015533600 14400 1 MSD}
+ {4033677600 10800 0 MSK}
+ {4046983200 14400 1 MSD}
+ {4065127200 10800 0 MSK}
+ {4078432800 14400 1 MSD}
+ {4096576800 10800 0 MSK}
+}
diff --git a/library/tzdata/Europe/Nicosia b/library/tzdata/Europe/Nicosia
new file mode 100644
index 0000000..b5a0851
--- /dev/null
+++ b/library/tzdata/Europe/Nicosia
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Nicosia)]} {
+ loadTimeZoneFile Asia/Nicosia
+}
+set tzdata(:Europe/Nicosia) $TZData(:Asia/Nicosia)
diff --git a/library/tzdata/Europe/Oslo b/library/tzdata/Europe/Oslo
new file mode 100644
index 0000000..931a6e0
--- /dev/null
+++ b/library/tzdata/Europe/Oslo
@@ -0,0 +1,272 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Oslo) {
+ {-9223372036854775808 2580 0 LMT}
+ {-2366757780 3600 0 CET}
+ {-1691884800 7200 1 CEST}
+ {-1680573600 3600 0 CET}
+ {-927511200 7200 0 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796773600 3600 0 CET}
+ {-781052400 3600 0 CET}
+ {-781048800 7200 1 CEST}
+ {-765324000 3600 0 CET}
+ {-340840800 7200 1 CEST}
+ {-324511200 3600 0 CET}
+ {-308786400 7200 1 CEST}
+ {-293061600 3600 0 CET}
+ {-277336800 7200 1 CEST}
+ {-261612000 3600 0 CET}
+ {-245887200 7200 1 CEST}
+ {-230162400 3600 0 CET}
+ {-214437600 7200 1 CEST}
+ {-198712800 3600 0 CET}
+ {-182988000 7200 1 CEST}
+ {-166658400 3600 0 CET}
+ {-147909600 7200 1 CEST}
+ {-135208800 3600 0 CET}
+ {315529200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Paris b/library/tzdata/Europe/Paris
new file mode 100644
index 0000000..8c443b9
--- /dev/null
+++ b/library/tzdata/Europe/Paris
@@ -0,0 +1,314 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Paris) {
+ {-9223372036854775808 561 0 LMT}
+ {-2486678901 561 0 PMT}
+ {-1855958901 0 0 WET}
+ {-1689814800 3600 1 WEST}
+ {-1680397200 0 0 WET}
+ {-1665363600 3600 1 WEST}
+ {-1648342800 0 0 WET}
+ {-1635123600 3600 1 WEST}
+ {-1616893200 0 0 WET}
+ {-1604278800 3600 1 WEST}
+ {-1585443600 0 0 WET}
+ {-1574038800 3600 1 WEST}
+ {-1552266000 0 0 WET}
+ {-1539997200 3600 1 WEST}
+ {-1520557200 0 0 WET}
+ {-1507510800 3600 1 WEST}
+ {-1490576400 0 0 WET}
+ {-1470618000 3600 1 WEST}
+ {-1459126800 0 0 WET}
+ {-1444006800 3600 1 WEST}
+ {-1427677200 0 0 WET}
+ {-1411952400 3600 1 WEST}
+ {-1396227600 0 0 WET}
+ {-1379293200 3600 1 WEST}
+ {-1364778000 0 0 WET}
+ {-1348448400 3600 1 WEST}
+ {-1333328400 0 0 WET}
+ {-1316394000 3600 1 WEST}
+ {-1301274000 0 0 WET}
+ {-1284339600 3600 1 WEST}
+ {-1269824400 0 0 WET}
+ {-1253494800 3600 1 WEST}
+ {-1238374800 0 0 WET}
+ {-1221440400 3600 1 WEST}
+ {-1206925200 0 0 WET}
+ {-1191200400 3600 1 WEST}
+ {-1175475600 0 0 WET}
+ {-1160355600 3600 1 WEST}
+ {-1143421200 0 0 WET}
+ {-1127696400 3600 1 WEST}
+ {-1111971600 0 0 WET}
+ {-1096851600 3600 1 WEST}
+ {-1080522000 0 0 WET}
+ {-1063587600 3600 1 WEST}
+ {-1049072400 0 0 WET}
+ {-1033347600 3600 1 WEST}
+ {-1017622800 0 0 WET}
+ {-1002502800 3600 1 WEST}
+ {-986173200 0 0 WET}
+ {-969238800 3600 1 WEST}
+ {-950490000 0 0 WET}
+ {-942012000 3600 1 WEST}
+ {-932436000 7200 0 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-800067600 7200 0 WEMT}
+ {-796266000 3600 1 WEST}
+ {-781052400 7200 1 WEMT}
+ {-766616400 3600 0 CET}
+ {196819200 7200 1 CEST}
+ {212540400 3600 0 CET}
+ {220921200 3600 0 CET}
+ {228877200 7200 1 CEST}
+ {243997200 3600 0 CET}
+ {260326800 7200 1 CEST}
+ {276051600 3600 0 CET}
+ {291776400 7200 1 CEST}
+ {307501200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Prague b/library/tzdata/Europe/Prague
new file mode 100644
index 0000000..e3b5e08
--- /dev/null
+++ b/library/tzdata/Europe/Prague
@@ -0,0 +1,272 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Prague) {
+ {-9223372036854775808 3464 0 LMT}
+ {-3786829064 3464 0 PMT}
+ {-2469401864 3600 0 CET}
+ {-1693706400 7200 1 CEST}
+ {-1680483600 3600 0 CET}
+ {-1663452000 7200 1 CEST}
+ {-1650146400 3600 0 CET}
+ {-1632002400 7200 1 CEST}
+ {-1618696800 3600 0 CET}
+ {-938901600 7200 1 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-798069600 3600 0 CET}
+ {-780530400 7200 1 CEST}
+ {-761176800 3600 0 CET}
+ {-746575200 7200 1 CEST}
+ {-733356000 3600 0 CET}
+ {-716421600 7200 1 CEST}
+ {-701906400 3600 0 CET}
+ {-684972000 7200 1 CEST}
+ {-670456800 3600 0 CET}
+ {-654213600 7200 1 CEST}
+ {-639007200 3600 0 CET}
+ {283993200 3600 0 CET}
+ {291776400 7200 1 CEST}
+ {307501200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Riga b/library/tzdata/Europe/Riga
new file mode 100644
index 0000000..9d75785
--- /dev/null
+++ b/library/tzdata/Europe/Riga
@@ -0,0 +1,258 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Riga) {
+ {-9223372036854775808 5784 0 LMT}
+ {-2840146584 5784 0 RMT}
+ {-1632008184 9384 1 LST}
+ {-1618702584 5784 0 RMT}
+ {-1601681784 9384 1 LST}
+ {-1597275384 5784 0 RMT}
+ {-1377308184 7200 0 EET}
+ {-928029600 10800 0 MSK}
+ {-899521200 3600 0 CET}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796773600 3600 0 CET}
+ {-795834000 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465357600 10800 0 MSK}
+ {481082400 14400 1 MSD}
+ {496807200 10800 0 MSK}
+ {512532000 14400 1 MSD}
+ {528256800 10800 0 MSK}
+ {543981600 14400 1 MSD}
+ {559706400 10800 0 MSK}
+ {575431200 14400 1 MSD}
+ {591156000 10800 0 MSK}
+ {606880800 10800 1 EEST}
+ {622605600 7200 0 EET}
+ {638330400 10800 1 EEST}
+ {654660000 7200 0 EET}
+ {670384800 10800 1 EEST}
+ {686109600 7200 0 EET}
+ {701834400 10800 1 EEST}
+ {717559200 7200 0 EET}
+ {733284000 10800 1 EEST}
+ {749008800 7200 0 EET}
+ {764733600 10800 1 EEST}
+ {780458400 7200 0 EET}
+ {796183200 10800 1 EEST}
+ {811908000 7200 0 EET}
+ {828237600 10800 1 EEST}
+ {843962400 7200 0 EET}
+ {853797600 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {951775200 7200 0 EET}
+ {978386400 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Rome b/library/tzdata/Europe/Rome
new file mode 100644
index 0000000..6ad0438
--- /dev/null
+++ b/library/tzdata/Europe/Rome
@@ -0,0 +1,301 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Rome) {
+ {-9223372036854775808 2996 0 LMT}
+ {-3259097396 2996 0 RMT}
+ {-2403564596 3600 0 CET}
+ {-1690848000 7200 1 CEST}
+ {-1680480000 3600 0 CET}
+ {-1664755200 7200 1 CEST}
+ {-1649030400 3600 0 CET}
+ {-1635120000 7200 1 CEST}
+ {-1616976000 3600 0 CET}
+ {-1604275200 7200 1 CEST}
+ {-1585526400 3600 0 CET}
+ {-1571011200 7200 1 CEST}
+ {-1555286400 3600 0 CET}
+ {-932428800 7200 1 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-804819600 3600 0 CET}
+ {-798076800 3600 0 CET}
+ {-781052400 7200 1 CEST}
+ {-766713600 3600 0 CET}
+ {-750895200 7200 1 CEST}
+ {-733356000 3600 0 CET}
+ {-719452800 7200 1 CEST}
+ {-701913600 3600 0 CET}
+ {-689205600 7200 1 CEST}
+ {-670456800 3600 0 CET}
+ {-114051600 7200 1 CEST}
+ {-103168800 3600 0 CET}
+ {-81997200 7200 1 CEST}
+ {-71719200 3600 0 CET}
+ {-50547600 7200 1 CEST}
+ {-40269600 3600 0 CET}
+ {-18493200 7200 1 CEST}
+ {-8215200 3600 0 CET}
+ {12956400 7200 1 CEST}
+ {23234400 3600 0 CET}
+ {43801200 7200 1 CEST}
+ {54687600 3600 0 CET}
+ {75855600 7200 1 CEST}
+ {86738400 3600 0 CET}
+ {107910000 7200 1 CEST}
+ {118188000 3600 0 CET}
+ {138754800 7200 1 CEST}
+ {149637600 3600 0 CET}
+ {170812800 7200 1 CEST}
+ {181094400 3600 0 CET}
+ {202262400 7200 1 CEST}
+ {212544000 3600 0 CET}
+ {233107200 7200 1 CEST}
+ {243993600 3600 0 CET}
+ {265161600 7200 1 CEST}
+ {276048000 3600 0 CET}
+ {296611200 7200 1 CEST}
+ {307497600 3600 0 CET}
+ {315529200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Samara b/library/tzdata/Europe/Samara
new file mode 100644
index 0000000..9cb9b19
--- /dev/null
+++ b/library/tzdata/Europe/Samara
@@ -0,0 +1,245 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Samara) {
+ {-9223372036854775808 12036 0 LMT}
+ {-1593825636 10800 0 KUYT}
+ {-1247540400 14400 0 KUYMMTT}
+ {354916800 18000 1 KUYST}
+ {370724400 14400 0 KUYT}
+ {386452800 18000 1 KUYST}
+ {402260400 14400 0 KUYT}
+ {417988800 18000 1 KUYST}
+ {433796400 14400 0 KUYT}
+ {449611200 18000 1 KUYST}
+ {465357600 14400 0 KUYT}
+ {481082400 18000 1 KUYST}
+ {496807200 14400 0 KUYT}
+ {512532000 18000 1 KUYST}
+ {528256800 14400 0 KUYT}
+ {543981600 18000 1 KUYST}
+ {559706400 14400 0 KUYT}
+ {575431200 18000 1 KUYST}
+ {591156000 14400 0 KUYT}
+ {606880800 14400 0 KUYST}
+ {622605600 10800 0 KUYT}
+ {638330400 14400 1 KUYST}
+ {654660000 10800 0 KUYT}
+ {686109600 10800 0 KUYT}
+ {687916800 14400 0 SAMT}
+ {701809200 18000 1 SAMST}
+ {717530400 14400 0 SAMT}
+ {733284000 18000 1 SAMST}
+ {749008800 14400 0 SAMT}
+ {764733600 18000 1 SAMST}
+ {780458400 14400 0 SAMT}
+ {796183200 18000 1 SAMST}
+ {811908000 14400 0 SAMT}
+ {828237600 18000 1 SAMST}
+ {846381600 14400 0 SAMT}
+ {859687200 18000 1 SAMST}
+ {877831200 14400 0 SAMT}
+ {891136800 18000 1 SAMST}
+ {909280800 14400 0 SAMT}
+ {922586400 18000 1 SAMST}
+ {941335200 14400 0 SAMT}
+ {954036000 18000 1 SAMST}
+ {972784800 14400 0 SAMT}
+ {985485600 18000 1 SAMST}
+ {1004234400 14400 0 SAMT}
+ {1017540000 18000 1 SAMST}
+ {1035684000 14400 0 SAMT}
+ {1048989600 18000 1 SAMST}
+ {1067133600 14400 0 SAMT}
+ {1080439200 18000 1 SAMST}
+ {1099188000 14400 0 SAMT}
+ {1111888800 18000 1 SAMST}
+ {1130637600 14400 0 SAMT}
+ {1143338400 18000 1 SAMST}
+ {1162087200 14400 0 SAMT}
+ {1174788000 18000 1 SAMST}
+ {1193536800 14400 0 SAMT}
+ {1206842400 18000 1 SAMST}
+ {1224986400 14400 0 SAMT}
+ {1238292000 18000 1 SAMST}
+ {1256436000 14400 0 SAMT}
+ {1269741600 18000 1 SAMST}
+ {1288490400 14400 0 SAMT}
+ {1301191200 18000 1 SAMST}
+ {1319940000 14400 0 SAMT}
+ {1332640800 18000 1 SAMST}
+ {1351389600 14400 0 SAMT}
+ {1364695200 18000 1 SAMST}
+ {1382839200 14400 0 SAMT}
+ {1396144800 18000 1 SAMST}
+ {1414288800 14400 0 SAMT}
+ {1427594400 18000 1 SAMST}
+ {1445738400 14400 0 SAMT}
+ {1459044000 18000 1 SAMST}
+ {1477792800 14400 0 SAMT}
+ {1490493600 18000 1 SAMST}
+ {1509242400 14400 0 SAMT}
+ {1521943200 18000 1 SAMST}
+ {1540692000 14400 0 SAMT}
+ {1553997600 18000 1 SAMST}
+ {1572141600 14400 0 SAMT}
+ {1585447200 18000 1 SAMST}
+ {1603591200 14400 0 SAMT}
+ {1616896800 18000 1 SAMST}
+ {1635645600 14400 0 SAMT}
+ {1648346400 18000 1 SAMST}
+ {1667095200 14400 0 SAMT}
+ {1679796000 18000 1 SAMST}
+ {1698544800 14400 0 SAMT}
+ {1711850400 18000 1 SAMST}
+ {1729994400 14400 0 SAMT}
+ {1743300000 18000 1 SAMST}
+ {1761444000 14400 0 SAMT}
+ {1774749600 18000 1 SAMST}
+ {1792893600 14400 0 SAMT}
+ {1806199200 18000 1 SAMST}
+ {1824948000 14400 0 SAMT}
+ {1837648800 18000 1 SAMST}
+ {1856397600 14400 0 SAMT}
+ {1869098400 18000 1 SAMST}
+ {1887847200 14400 0 SAMT}
+ {1901152800 18000 1 SAMST}
+ {1919296800 14400 0 SAMT}
+ {1932602400 18000 1 SAMST}
+ {1950746400 14400 0 SAMT}
+ {1964052000 18000 1 SAMST}
+ {1982800800 14400 0 SAMT}
+ {1995501600 18000 1 SAMST}
+ {2014250400 14400 0 SAMT}
+ {2026951200 18000 1 SAMST}
+ {2045700000 14400 0 SAMT}
+ {2058400800 18000 1 SAMST}
+ {2077149600 14400 0 SAMT}
+ {2090455200 18000 1 SAMST}
+ {2108599200 14400 0 SAMT}
+ {2121904800 18000 1 SAMST}
+ {2140048800 14400 0 SAMT}
+ {2153354400 18000 1 SAMST}
+ {2172103200 14400 0 SAMT}
+ {2184804000 18000 1 SAMST}
+ {2203552800 14400 0 SAMT}
+ {2216253600 18000 1 SAMST}
+ {2235002400 14400 0 SAMT}
+ {2248308000 18000 1 SAMST}
+ {2266452000 14400 0 SAMT}
+ {2279757600 18000 1 SAMST}
+ {2297901600 14400 0 SAMT}
+ {2311207200 18000 1 SAMST}
+ {2329351200 14400 0 SAMT}
+ {2342656800 18000 1 SAMST}
+ {2361405600 14400 0 SAMT}
+ {2374106400 18000 1 SAMST}
+ {2392855200 14400 0 SAMT}
+ {2405556000 18000 1 SAMST}
+ {2424304800 14400 0 SAMT}
+ {2437610400 18000 1 SAMST}
+ {2455754400 14400 0 SAMT}
+ {2469060000 18000 1 SAMST}
+ {2487204000 14400 0 SAMT}
+ {2500509600 18000 1 SAMST}
+ {2519258400 14400 0 SAMT}
+ {2531959200 18000 1 SAMST}
+ {2550708000 14400 0 SAMT}
+ {2563408800 18000 1 SAMST}
+ {2582157600 14400 0 SAMT}
+ {2595463200 18000 1 SAMST}
+ {2613607200 14400 0 SAMT}
+ {2626912800 18000 1 SAMST}
+ {2645056800 14400 0 SAMT}
+ {2658362400 18000 1 SAMST}
+ {2676506400 14400 0 SAMT}
+ {2689812000 18000 1 SAMST}
+ {2708560800 14400 0 SAMT}
+ {2721261600 18000 1 SAMST}
+ {2740010400 14400 0 SAMT}
+ {2752711200 18000 1 SAMST}
+ {2771460000 14400 0 SAMT}
+ {2784765600 18000 1 SAMST}
+ {2802909600 14400 0 SAMT}
+ {2816215200 18000 1 SAMST}
+ {2834359200 14400 0 SAMT}
+ {2847664800 18000 1 SAMST}
+ {2866413600 14400 0 SAMT}
+ {2879114400 18000 1 SAMST}
+ {2897863200 14400 0 SAMT}
+ {2910564000 18000 1 SAMST}
+ {2929312800 14400 0 SAMT}
+ {2942013600 18000 1 SAMST}
+ {2960762400 14400 0 SAMT}
+ {2974068000 18000 1 SAMST}
+ {2992212000 14400 0 SAMT}
+ {3005517600 18000 1 SAMST}
+ {3023661600 14400 0 SAMT}
+ {3036967200 18000 1 SAMST}
+ {3055716000 14400 0 SAMT}
+ {3068416800 18000 1 SAMST}
+ {3087165600 14400 0 SAMT}
+ {3099866400 18000 1 SAMST}
+ {3118615200 14400 0 SAMT}
+ {3131920800 18000 1 SAMST}
+ {3150064800 14400 0 SAMT}
+ {3163370400 18000 1 SAMST}
+ {3181514400 14400 0 SAMT}
+ {3194820000 18000 1 SAMST}
+ {3212964000 14400 0 SAMT}
+ {3226269600 18000 1 SAMST}
+ {3245018400 14400 0 SAMT}
+ {3257719200 18000 1 SAMST}
+ {3276468000 14400 0 SAMT}
+ {3289168800 18000 1 SAMST}
+ {3307917600 14400 0 SAMT}
+ {3321223200 18000 1 SAMST}
+ {3339367200 14400 0 SAMT}
+ {3352672800 18000 1 SAMST}
+ {3370816800 14400 0 SAMT}
+ {3384122400 18000 1 SAMST}
+ {3402871200 14400 0 SAMT}
+ {3415572000 18000 1 SAMST}
+ {3434320800 14400 0 SAMT}
+ {3447021600 18000 1 SAMST}
+ {3465770400 14400 0 SAMT}
+ {3479076000 18000 1 SAMST}
+ {3497220000 14400 0 SAMT}
+ {3510525600 18000 1 SAMST}
+ {3528669600 14400 0 SAMT}
+ {3541975200 18000 1 SAMST}
+ {3560119200 14400 0 SAMT}
+ {3573424800 18000 1 SAMST}
+ {3592173600 14400 0 SAMT}
+ {3604874400 18000 1 SAMST}
+ {3623623200 14400 0 SAMT}
+ {3636324000 18000 1 SAMST}
+ {3655072800 14400 0 SAMT}
+ {3668378400 18000 1 SAMST}
+ {3686522400 14400 0 SAMT}
+ {3699828000 18000 1 SAMST}
+ {3717972000 14400 0 SAMT}
+ {3731277600 18000 1 SAMST}
+ {3750026400 14400 0 SAMT}
+ {3762727200 18000 1 SAMST}
+ {3781476000 14400 0 SAMT}
+ {3794176800 18000 1 SAMST}
+ {3812925600 14400 0 SAMT}
+ {3825626400 18000 1 SAMST}
+ {3844375200 14400 0 SAMT}
+ {3857680800 18000 1 SAMST}
+ {3875824800 14400 0 SAMT}
+ {3889130400 18000 1 SAMST}
+ {3907274400 14400 0 SAMT}
+ {3920580000 18000 1 SAMST}
+ {3939328800 14400 0 SAMT}
+ {3952029600 18000 1 SAMST}
+ {3970778400 14400 0 SAMT}
+ {3983479200 18000 1 SAMST}
+ {4002228000 14400 0 SAMT}
+ {4015533600 18000 1 SAMST}
+ {4033677600 14400 0 SAMT}
+ {4046983200 18000 1 SAMST}
+ {4065127200 14400 0 SAMT}
+ {4078432800 18000 1 SAMST}
+ {4096576800 14400 0 SAMT}
+}
diff --git a/library/tzdata/Europe/San_Marino b/library/tzdata/Europe/San_Marino
new file mode 100644
index 0000000..de12abe
--- /dev/null
+++ b/library/tzdata/Europe/San_Marino
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Rome)]} {
+ loadTimeZoneFile Europe/Rome
+}
+set tzdata(:Europe/San_Marino) $TZData(:Europe/Rome)
diff --git a/library/tzdata/Europe/Sarajevo b/library/tzdata/Europe/Sarajevo
new file mode 100644
index 0000000..3fe0317
--- /dev/null
+++ b/library/tzdata/Europe/Sarajevo
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Belgrade)]} {
+ loadTimeZoneFile Europe/Belgrade
+}
+set tzdata(:Europe/Sarajevo) $TZData(:Europe/Belgrade)
diff --git a/library/tzdata/Europe/Simferopol b/library/tzdata/Europe/Simferopol
new file mode 100644
index 0000000..9846ce0
--- /dev/null
+++ b/library/tzdata/Europe/Simferopol
@@ -0,0 +1,253 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Simferopol) {
+ {-9223372036854775808 8184 0 LMT}
+ {-2840148984 8160 0 SMT}
+ {-1441160160 7200 0 EET}
+ {-1247536800 10800 0 MSK}
+ {-888894000 3600 0 CET}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-811645200 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465357600 10800 0 MSK}
+ {481082400 14400 1 MSD}
+ {496807200 10800 0 MSK}
+ {512532000 14400 1 MSD}
+ {528256800 10800 0 MSK}
+ {543981600 14400 1 MSD}
+ {559706400 10800 0 MSK}
+ {575431200 14400 1 MSD}
+ {591156000 10800 0 MSK}
+ {606880800 14400 1 MSD}
+ {622605600 10800 0 MSK}
+ {631141200 10800 0 MSK}
+ {646786800 7200 0 EET}
+ {694216800 7200 0 EET}
+ {701820000 10800 1 EEST}
+ {717541200 7200 0 EET}
+ {733269600 10800 1 EEST}
+ {748990800 7200 0 EET}
+ {764719200 10800 1 EEST}
+ {767743200 14400 0 MSD}
+ {780436800 10800 0 MSK}
+ {796165200 14400 1 MSD}
+ {811886400 10800 0 MSK}
+ {828219600 14400 1 MSD}
+ {828241200 14400 1 MSD}
+ {852066000 10800 0 MSK}
+ {859683600 10800 0 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Skopje b/library/tzdata/Europe/Skopje
new file mode 100644
index 0000000..d5f6294
--- /dev/null
+++ b/library/tzdata/Europe/Skopje
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Belgrade)]} {
+ loadTimeZoneFile Europe/Belgrade
+}
+set tzdata(:Europe/Skopje) $TZData(:Europe/Belgrade)
diff --git a/library/tzdata/Europe/Sofia b/library/tzdata/Europe/Sofia
new file mode 100644
index 0000000..e64b106
--- /dev/null
+++ b/library/tzdata/Europe/Sofia
@@ -0,0 +1,259 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Sofia) {
+ {-9223372036854775808 5596 0 LMT}
+ {-2840146396 7016 0 IMT}
+ {-2369527016 7200 0 EET}
+ {-857257200 3600 0 CET}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796773600 3600 0 CET}
+ {-781048800 7200 0 EET}
+ {291762000 10800 0 EEST}
+ {307576800 7200 0 EET}
+ {323816400 10800 1 EEST}
+ {339026400 7200 0 EET}
+ {355266000 10800 1 EEST}
+ {370393200 7200 0 EET}
+ {386715600 10800 1 EEST}
+ {401842800 10800 0 EEST}
+ {401853600 7200 0 EET}
+ {417578400 10800 1 EEST}
+ {433303200 7200 0 EET}
+ {449028000 10800 1 EEST}
+ {465357600 7200 0 EET}
+ {481082400 10800 1 EEST}
+ {496807200 7200 0 EET}
+ {512532000 10800 1 EEST}
+ {528256800 7200 0 EET}
+ {543981600 10800 1 EEST}
+ {559706400 7200 0 EET}
+ {575431200 10800 1 EEST}
+ {591156000 7200 0 EET}
+ {606880800 10800 1 EEST}
+ {622605600 7200 0 EET}
+ {638330400 10800 1 EEST}
+ {654660000 7200 0 EET}
+ {662680800 7200 0 EET}
+ {670370400 10800 1 EEST}
+ {686091600 7200 0 EET}
+ {701820000 10800 1 EEST}
+ {717541200 7200 0 EET}
+ {733269600 10800 1 EEST}
+ {748990800 7200 0 EET}
+ {764719200 10800 1 EEST}
+ {780440400 7200 0 EET}
+ {796168800 10800 1 EEST}
+ {811890000 7200 0 EET}
+ {828223200 10800 1 EEST}
+ {846363600 7200 0 EET}
+ {852069600 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Stockholm b/library/tzdata/Europe/Stockholm
new file mode 100644
index 0000000..1a6ed8c
--- /dev/null
+++ b/library/tzdata/Europe/Stockholm
@@ -0,0 +1,250 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Stockholm) {
+ {-9223372036854775808 4332 0 LMT}
+ {-2871681132 3614 0 SET}
+ {-2208992414 3600 0 CET}
+ {-1692496800 7200 1 CEST}
+ {-1680483600 3600 0 CET}
+ {315529200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Tallinn b/library/tzdata/Europe/Tallinn
new file mode 100644
index 0000000..66e3829
--- /dev/null
+++ b/library/tzdata/Europe/Tallinn
@@ -0,0 +1,255 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Tallinn) {
+ {-9223372036854775808 5940 0 LMT}
+ {-2840146740 5940 0 TMT}
+ {-1638322740 3600 0 CET}
+ {-1632002400 7200 1 CEST}
+ {-1618696800 3600 0 CET}
+ {-1593824400 5940 0 TMT}
+ {-1535938740 7200 0 EET}
+ {-927943200 10800 0 MSK}
+ {-892954800 3600 0 CET}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-797648400 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465357600 10800 0 MSK}
+ {481082400 14400 1 MSD}
+ {496807200 10800 0 MSK}
+ {512532000 14400 1 MSD}
+ {528256800 10800 0 MSK}
+ {543981600 14400 1 MSD}
+ {559706400 10800 0 MSK}
+ {575431200 14400 1 MSD}
+ {591156000 10800 0 MSK}
+ {606880800 10800 1 EEST}
+ {622605600 7200 0 EET}
+ {638330400 10800 1 EEST}
+ {654660000 7200 0 EET}
+ {670384800 10800 1 EEST}
+ {686109600 7200 0 EET}
+ {701834400 10800 1 EEST}
+ {717559200 7200 0 EET}
+ {733284000 10800 1 EEST}
+ {749008800 7200 0 EET}
+ {764733600 10800 1 EEST}
+ {780458400 7200 0 EET}
+ {796183200 10800 1 EEST}
+ {811908000 7200 0 EET}
+ {828237600 10800 1 EEST}
+ {846381600 7200 0 EET}
+ {859687200 10800 1 EEST}
+ {877831200 7200 0 EET}
+ {891136800 10800 1 EEST}
+ {906415200 10800 0 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {941407200 7200 0 EET}
+ {1014242400 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Tirane b/library/tzdata/Europe/Tirane
new file mode 100644
index 0000000..46480bf
--- /dev/null
+++ b/library/tzdata/Europe/Tirane
@@ -0,0 +1,263 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Tirane) {
+ {-9223372036854775808 4760 0 LMT}
+ {-1767230360 3600 0 CET}
+ {-932346000 7200 0 CEST}
+ {-857257200 3600 0 CET}
+ {-844556400 7200 1 CEST}
+ {-843519600 3600 0 CET}
+ {136854000 7200 1 CEST}
+ {149896800 3600 0 CET}
+ {168130800 7200 1 CEST}
+ {181432800 3600 0 CET}
+ {199839600 7200 1 CEST}
+ {213141600 3600 0 CET}
+ {231894000 7200 1 CEST}
+ {244591200 3600 0 CET}
+ {263257200 7200 1 CEST}
+ {276040800 3600 0 CET}
+ {294706800 7200 1 CEST}
+ {307490400 3600 0 CET}
+ {326156400 7200 1 CEST}
+ {339458400 3600 0 CET}
+ {357087600 7200 1 CEST}
+ {370389600 3600 0 CET}
+ {389142000 7200 1 CEST}
+ {402444000 3600 0 CET}
+ {419468400 7200 1 CEST}
+ {433807200 3600 0 CET}
+ {449622000 7200 1 CEST}
+ {457480800 7200 0 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Tiraspol b/library/tzdata/Europe/Tiraspol
new file mode 100644
index 0000000..3b65891
--- /dev/null
+++ b/library/tzdata/Europe/Tiraspol
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Chisinau)]} {
+ loadTimeZoneFile Europe/Chisinau
+}
+set tzdata(:Europe/Tiraspol) $TZData(:Europe/Chisinau)
diff --git a/library/tzdata/Europe/Uzhgorod b/library/tzdata/Europe/Uzhgorod
new file mode 100644
index 0000000..40e3773
--- /dev/null
+++ b/library/tzdata/Europe/Uzhgorod
@@ -0,0 +1,254 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Uzhgorod) {
+ {-9223372036854775808 5352 0 LMT}
+ {-2500939752 3600 0 CET}
+ {-946774800 3600 0 CET}
+ {-938901600 7200 1 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796870800 7200 1 CEST}
+ {-794714400 3600 0 CET}
+ {-773456400 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465357600 10800 0 MSK}
+ {481082400 14400 1 MSD}
+ {496807200 10800 0 MSK}
+ {512532000 14400 1 MSD}
+ {528256800 10800 0 MSK}
+ {543981600 14400 1 MSD}
+ {559706400 10800 0 MSK}
+ {575431200 14400 1 MSD}
+ {591156000 10800 0 MSK}
+ {606880800 14400 1 MSD}
+ {622605600 10800 0 MSK}
+ {631141200 10800 0 MSK}
+ {646786800 3600 0 CET}
+ {670384800 7200 0 EET}
+ {694216800 7200 0 EET}
+ {701820000 10800 1 EEST}
+ {717541200 7200 0 EET}
+ {733269600 10800 1 EEST}
+ {748990800 7200 0 EET}
+ {764719200 10800 1 EEST}
+ {780440400 7200 0 EET}
+ {788911200 7200 0 EET}
+ {796179600 10800 1 EEST}
+ {811904400 7200 0 EET}
+ {828234000 10800 1 EEST}
+ {846378000 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Vaduz b/library/tzdata/Europe/Vaduz
new file mode 100644
index 0000000..f8a55dc
--- /dev/null
+++ b/library/tzdata/Europe/Vaduz
@@ -0,0 +1,245 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Vaduz) {
+ {-9223372036854775808 2284 0 LMT}
+ {-2385247084 3600 0 CET}
+ {347151600 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Vatican b/library/tzdata/Europe/Vatican
new file mode 100644
index 0000000..be72780
--- /dev/null
+++ b/library/tzdata/Europe/Vatican
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Rome)]} {
+ loadTimeZoneFile Europe/Rome
+}
+set tzdata(:Europe/Vatican) $TZData(:Europe/Rome)
diff --git a/library/tzdata/Europe/Vienna b/library/tzdata/Europe/Vienna
new file mode 100644
index 0000000..0e4f03a
--- /dev/null
+++ b/library/tzdata/Europe/Vienna
@@ -0,0 +1,271 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Vienna) {
+ {-9223372036854775808 3920 0 LMT}
+ {-2422055120 3600 0 CET}
+ {-1693706400 7200 1 CEST}
+ {-1680483600 3600 0 CET}
+ {-1663452000 7200 1 CEST}
+ {-1650146400 3600 0 CET}
+ {-1632002400 7200 1 CEST}
+ {-1618696800 3600 0 CET}
+ {-1577926800 3600 0 CET}
+ {-1569708000 7200 1 CEST}
+ {-1555797600 3600 0 CET}
+ {-938901600 7200 0 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796773600 3600 0 CET}
+ {-781048800 7200 1 CEST}
+ {-780184800 3600 0 CET}
+ {-757386000 3600 0 CET}
+ {-748476000 7200 1 CEST}
+ {-733356000 3600 0 CET}
+ {-717631200 7200 1 CEST}
+ {-701906400 3600 0 CET}
+ {-684972000 7200 1 CEST}
+ {-670456800 3600 0 CET}
+ {323823600 7200 1 CEST}
+ {338940000 3600 0 CET}
+ {347151600 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Vilnius b/library/tzdata/Europe/Vilnius
new file mode 100644
index 0000000..8bdf4e5
--- /dev/null
+++ b/library/tzdata/Europe/Vilnius
@@ -0,0 +1,251 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Vilnius) {
+ {-9223372036854775808 6076 0 LMT}
+ {-2840146876 5040 0 WMT}
+ {-1672536240 5736 0 KMT}
+ {-1585100136 3600 0 CET}
+ {-1561251600 7200 0 EET}
+ {-1553565600 3600 0 CET}
+ {-928198800 10800 0 MSK}
+ {-900126000 3600 0 CET}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-802141200 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465357600 10800 0 MSK}
+ {481082400 14400 1 MSD}
+ {496807200 10800 0 MSK}
+ {512532000 14400 1 MSD}
+ {528256800 10800 0 MSK}
+ {543981600 14400 1 MSD}
+ {559706400 10800 0 MSK}
+ {575431200 14400 1 MSD}
+ {591156000 10800 0 MSK}
+ {606880800 14400 1 MSD}
+ {622605600 10800 0 MSK}
+ {638330400 14400 1 MSD}
+ {654660000 10800 0 MSK}
+ {670384800 10800 1 EEST}
+ {686109600 7200 0 EET}
+ {701834400 10800 1 EEST}
+ {717559200 7200 0 EET}
+ {733284000 10800 1 EEST}
+ {749008800 7200 0 EET}
+ {764733600 10800 1 EEST}
+ {780458400 7200 0 EET}
+ {796183200 10800 1 EEST}
+ {811908000 7200 0 EET}
+ {828237600 10800 1 EEST}
+ {846381600 7200 0 EET}
+ {859687200 10800 1 EEST}
+ {877831200 7200 0 EET}
+ {883605600 7200 0 EET}
+ {891133200 7200 0 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 7200 0 EET}
+ {1041372000 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Warsaw b/library/tzdata/Europe/Warsaw
new file mode 100644
index 0000000..8285b9a
--- /dev/null
+++ b/library/tzdata/Europe/Warsaw
@@ -0,0 +1,294 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Warsaw) {
+ {-9223372036854775808 5040 0 LMT}
+ {-2840145840 5040 0 WMT}
+ {-1717032240 3600 0 CET}
+ {-1693706400 7200 1 CEST}
+ {-1680483600 3600 0 CET}
+ {-1663452000 7200 1 CEST}
+ {-1650146400 3600 0 CET}
+ {-1632002400 7200 1 CEST}
+ {-1618696800 7200 0 EET}
+ {-1600466400 10800 1 EEST}
+ {-1587160800 7200 0 EET}
+ {-931734000 7200 0 CEST}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-812498400 7200 1 CEST}
+ {-796870800 3600 0 CET}
+ {-796604400 3600 0 CET}
+ {-778726800 7200 1 CEST}
+ {-762660000 3600 0 CET}
+ {-748486800 7200 1 CEST}
+ {-735876000 3600 0 CET}
+ {-715222800 7200 1 CEST}
+ {-701920800 3600 0 CET}
+ {-684982800 7200 1 CEST}
+ {-670471200 3600 0 CET}
+ {-397090800 7200 1 CEST}
+ {-386809200 3600 0 CET}
+ {-371084400 7200 1 CEST}
+ {-355359600 3600 0 CET}
+ {-334191600 7200 1 CEST}
+ {-323305200 3600 0 CET}
+ {-307580400 7200 1 CEST}
+ {-291855600 3600 0 CET}
+ {-271292400 7200 1 CEST}
+ {-260406000 3600 0 CET}
+ {-239842800 7200 1 CEST}
+ {-228956400 3600 0 CET}
+ {-208393200 7200 1 CEST}
+ {-197506800 3600 0 CET}
+ {-176338800 7200 1 CEST}
+ {-166057200 3600 0 CET}
+ {228873600 3600 0 CET}
+ {228877200 7200 1 CEST}
+ {243997200 3600 0 CET}
+ {260326800 7200 1 CEST}
+ {276051600 3600 0 CET}
+ {291776400 7200 1 CEST}
+ {307501200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {915145200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/Europe/Zagreb b/library/tzdata/Europe/Zagreb
new file mode 100644
index 0000000..4712a69
--- /dev/null
+++ b/library/tzdata/Europe/Zagreb
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Belgrade)]} {
+ loadTimeZoneFile Europe/Belgrade
+}
+set tzdata(:Europe/Zagreb) $TZData(:Europe/Belgrade)
diff --git a/library/tzdata/Europe/Zaporozhye b/library/tzdata/Europe/Zaporozhye
new file mode 100644
index 0000000..cde98a6
--- /dev/null
+++ b/library/tzdata/Europe/Zaporozhye
@@ -0,0 +1,252 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Zaporozhye) {
+ {-9223372036854775808 8440 0 LMT}
+ {-2840149240 8400 0 CUT}
+ {-1441160400 7200 0 EET}
+ {-1247536800 10800 0 MSK}
+ {-894769200 3600 0 CET}
+ {-857253600 3600 0 CET}
+ {-844552800 7200 1 CEST}
+ {-828223200 3600 0 CET}
+ {-826419600 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465357600 10800 0 MSK}
+ {481082400 14400 1 MSD}
+ {496807200 10800 0 MSK}
+ {512532000 14400 1 MSD}
+ {528256800 10800 0 MSK}
+ {543981600 14400 1 MSD}
+ {559706400 10800 0 MSK}
+ {575431200 14400 1 MSD}
+ {591156000 10800 0 MSK}
+ {606880800 14400 1 MSD}
+ {622605600 10800 0 MSK}
+ {638330400 14400 1 MSD}
+ {654660000 10800 0 MSK}
+ {670374000 10800 0 EEST}
+ {686091600 7200 0 EET}
+ {701820000 10800 1 EEST}
+ {717541200 7200 0 EET}
+ {733269600 10800 1 EEST}
+ {748990800 7200 0 EET}
+ {764719200 10800 1 EEST}
+ {780440400 7200 0 EET}
+ {788911200 7200 0 EET}
+ {796179600 10800 1 EEST}
+ {811904400 7200 0 EET}
+ {828234000 10800 1 EEST}
+ {846378000 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
+}
diff --git a/library/tzdata/Europe/Zurich b/library/tzdata/Europe/Zurich
new file mode 100644
index 0000000..faa576a
--- /dev/null
+++ b/library/tzdata/Europe/Zurich
@@ -0,0 +1,252 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Europe/Zurich) {
+ {-9223372036854775808 2048 0 LMT}
+ {-3827954048 1784 0 BMT}
+ {-2385246584 3600 0 CET}
+ {-920336400 7200 1 CEST}
+ {-915242400 3600 0 CET}
+ {-904518000 7200 1 CEST}
+ {-891223200 3600 0 CET}
+ {-873068400 7200 1 CEST}
+ {-859773600 3600 0 CET}
+ {347151600 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 3600 0 CET}
+ {1269738000 7200 1 CEST}
+ {1288486800 3600 0 CET}
+ {1301187600 7200 1 CEST}
+ {1319936400 3600 0 CET}
+ {1332637200 7200 1 CEST}
+ {1351386000 3600 0 CET}
+ {1364691600 7200 1 CEST}
+ {1382835600 3600 0 CET}
+ {1396141200 7200 1 CEST}
+ {1414285200 3600 0 CET}
+ {1427590800 7200 1 CEST}
+ {1445734800 3600 0 CET}
+ {1459040400 7200 1 CEST}
+ {1477789200 3600 0 CET}
+ {1490490000 7200 1 CEST}
+ {1509238800 3600 0 CET}
+ {1521939600 7200 1 CEST}
+ {1540688400 3600 0 CET}
+ {1553994000 7200 1 CEST}
+ {1572138000 3600 0 CET}
+ {1585443600 7200 1 CEST}
+ {1603587600 3600 0 CET}
+ {1616893200 7200 1 CEST}
+ {1635642000 3600 0 CET}
+ {1648342800 7200 1 CEST}
+ {1667091600 3600 0 CET}
+ {1679792400 7200 1 CEST}
+ {1698541200 3600 0 CET}
+ {1711846800 7200 1 CEST}
+ {1729990800 3600 0 CET}
+ {1743296400 7200 1 CEST}
+ {1761440400 3600 0 CET}
+ {1774746000 7200 1 CEST}
+ {1792890000 3600 0 CET}
+ {1806195600 7200 1 CEST}
+ {1824944400 3600 0 CET}
+ {1837645200 7200 1 CEST}
+ {1856394000 3600 0 CET}
+ {1869094800 7200 1 CEST}
+ {1887843600 3600 0 CET}
+ {1901149200 7200 1 CEST}
+ {1919293200 3600 0 CET}
+ {1932598800 7200 1 CEST}
+ {1950742800 3600 0 CET}
+ {1964048400 7200 1 CEST}
+ {1982797200 3600 0 CET}
+ {1995498000 7200 1 CEST}
+ {2014246800 3600 0 CET}
+ {2026947600 7200 1 CEST}
+ {2045696400 3600 0 CET}
+ {2058397200 7200 1 CEST}
+ {2077146000 3600 0 CET}
+ {2090451600 7200 1 CEST}
+ {2108595600 3600 0 CET}
+ {2121901200 7200 1 CEST}
+ {2140045200 3600 0 CET}
+ {2153350800 7200 1 CEST}
+ {2172099600 3600 0 CET}
+ {2184800400 7200 1 CEST}
+ {2203549200 3600 0 CET}
+ {2216250000 7200 1 CEST}
+ {2234998800 3600 0 CET}
+ {2248304400 7200 1 CEST}
+ {2266448400 3600 0 CET}
+ {2279754000 7200 1 CEST}
+ {2297898000 3600 0 CET}
+ {2311203600 7200 1 CEST}
+ {2329347600 3600 0 CET}
+ {2342653200 7200 1 CEST}
+ {2361402000 3600 0 CET}
+ {2374102800 7200 1 CEST}
+ {2392851600 3600 0 CET}
+ {2405552400 7200 1 CEST}
+ {2424301200 3600 0 CET}
+ {2437606800 7200 1 CEST}
+ {2455750800 3600 0 CET}
+ {2469056400 7200 1 CEST}
+ {2487200400 3600 0 CET}
+ {2500506000 7200 1 CEST}
+ {2519254800 3600 0 CET}
+ {2531955600 7200 1 CEST}
+ {2550704400 3600 0 CET}
+ {2563405200 7200 1 CEST}
+ {2582154000 3600 0 CET}
+ {2595459600 7200 1 CEST}
+ {2613603600 3600 0 CET}
+ {2626909200 7200 1 CEST}
+ {2645053200 3600 0 CET}
+ {2658358800 7200 1 CEST}
+ {2676502800 3600 0 CET}
+ {2689808400 7200 1 CEST}
+ {2708557200 3600 0 CET}
+ {2721258000 7200 1 CEST}
+ {2740006800 3600 0 CET}
+ {2752707600 7200 1 CEST}
+ {2771456400 3600 0 CET}
+ {2784762000 7200 1 CEST}
+ {2802906000 3600 0 CET}
+ {2816211600 7200 1 CEST}
+ {2834355600 3600 0 CET}
+ {2847661200 7200 1 CEST}
+ {2866410000 3600 0 CET}
+ {2879110800 7200 1 CEST}
+ {2897859600 3600 0 CET}
+ {2910560400 7200 1 CEST}
+ {2929309200 3600 0 CET}
+ {2942010000 7200 1 CEST}
+ {2960758800 3600 0 CET}
+ {2974064400 7200 1 CEST}
+ {2992208400 3600 0 CET}
+ {3005514000 7200 1 CEST}
+ {3023658000 3600 0 CET}
+ {3036963600 7200 1 CEST}
+ {3055712400 3600 0 CET}
+ {3068413200 7200 1 CEST}
+ {3087162000 3600 0 CET}
+ {3099862800 7200 1 CEST}
+ {3118611600 3600 0 CET}
+ {3131917200 7200 1 CEST}
+ {3150061200 3600 0 CET}
+ {3163366800 7200 1 CEST}
+ {3181510800 3600 0 CET}
+ {3194816400 7200 1 CEST}
+ {3212960400 3600 0 CET}
+ {3226266000 7200 1 CEST}
+ {3245014800 3600 0 CET}
+ {3257715600 7200 1 CEST}
+ {3276464400 3600 0 CET}
+ {3289165200 7200 1 CEST}
+ {3307914000 3600 0 CET}
+ {3321219600 7200 1 CEST}
+ {3339363600 3600 0 CET}
+ {3352669200 7200 1 CEST}
+ {3370813200 3600 0 CET}
+ {3384118800 7200 1 CEST}
+ {3402867600 3600 0 CET}
+ {3415568400 7200 1 CEST}
+ {3434317200 3600 0 CET}
+ {3447018000 7200 1 CEST}
+ {3465766800 3600 0 CET}
+ {3479072400 7200 1 CEST}
+ {3497216400 3600 0 CET}
+ {3510522000 7200 1 CEST}
+ {3528666000 3600 0 CET}
+ {3541971600 7200 1 CEST}
+ {3560115600 3600 0 CET}
+ {3573421200 7200 1 CEST}
+ {3592170000 3600 0 CET}
+ {3604870800 7200 1 CEST}
+ {3623619600 3600 0 CET}
+ {3636320400 7200 1 CEST}
+ {3655069200 3600 0 CET}
+ {3668374800 7200 1 CEST}
+ {3686518800 3600 0 CET}
+ {3699824400 7200 1 CEST}
+ {3717968400 3600 0 CET}
+ {3731274000 7200 1 CEST}
+ {3750022800 3600 0 CET}
+ {3762723600 7200 1 CEST}
+ {3781472400 3600 0 CET}
+ {3794173200 7200 1 CEST}
+ {3812922000 3600 0 CET}
+ {3825622800 7200 1 CEST}
+ {3844371600 3600 0 CET}
+ {3857677200 7200 1 CEST}
+ {3875821200 3600 0 CET}
+ {3889126800 7200 1 CEST}
+ {3907270800 3600 0 CET}
+ {3920576400 7200 1 CEST}
+ {3939325200 3600 0 CET}
+ {3952026000 7200 1 CEST}
+ {3970774800 3600 0 CET}
+ {3983475600 7200 1 CEST}
+ {4002224400 3600 0 CET}
+ {4015530000 7200 1 CEST}
+ {4033674000 3600 0 CET}
+ {4046979600 7200 1 CEST}
+ {4065123600 3600 0 CET}
+ {4078429200 7200 1 CEST}
+ {4096573200 3600 0 CET}
+}
diff --git a/library/tzdata/GB b/library/tzdata/GB
new file mode 100644
index 0000000..a332520
--- /dev/null
+++ b/library/tzdata/GB
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/London)]} {
+ loadTimeZoneFile Europe/London
+}
+set tzdata(:GB) $TZData(:Europe/London)
diff --git a/library/tzdata/GB-Eire b/library/tzdata/GB-Eire
new file mode 100644
index 0000000..23b86c8
--- /dev/null
+++ b/library/tzdata/GB-Eire
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/London)]} {
+ loadTimeZoneFile Europe/London
+}
+set tzdata(:GB-Eire) $TZData(:Europe/London)
diff --git a/library/tzdata/GMT b/library/tzdata/GMT
new file mode 100644
index 0000000..9c205fe
--- /dev/null
+++ b/library/tzdata/GMT
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Etc/GMT)]} {
+ loadTimeZoneFile Etc/GMT
+}
+set tzdata(:GMT) $TZData(:Etc/GMT)
diff --git a/library/tzdata/GMT+0 b/library/tzdata/GMT+0
new file mode 100644
index 0000000..165cd43
--- /dev/null
+++ b/library/tzdata/GMT+0
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Etc/GMT+0)]} {
+ loadTimeZoneFile Etc/GMT+0
+}
+set tzdata(:GMT+0) $TZData(:Etc/GMT+0)
diff --git a/library/tzdata/GMT-0 b/library/tzdata/GMT-0
new file mode 100644
index 0000000..d96aa6d
--- /dev/null
+++ b/library/tzdata/GMT-0
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Etc/GMT-0)]} {
+ loadTimeZoneFile Etc/GMT-0
+}
+set tzdata(:GMT-0) $TZData(:Etc/GMT-0)
diff --git a/library/tzdata/GMT0 b/library/tzdata/GMT0
new file mode 100644
index 0000000..4a9ed19
--- /dev/null
+++ b/library/tzdata/GMT0
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Etc/GMT0)]} {
+ loadTimeZoneFile Etc/GMT0
+}
+set tzdata(:GMT0) $TZData(:Etc/GMT0)
diff --git a/library/tzdata/Greenwich b/library/tzdata/Greenwich
new file mode 100644
index 0000000..a688aa0
--- /dev/null
+++ b/library/tzdata/Greenwich
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Etc/Greenwich)]} {
+ loadTimeZoneFile Etc/Greenwich
+}
+set tzdata(:Greenwich) $TZData(:Etc/Greenwich)
diff --git a/library/tzdata/HST b/library/tzdata/HST
new file mode 100644
index 0000000..e496174
--- /dev/null
+++ b/library/tzdata/HST
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Pacific/Honolulu)]} {
+ loadTimeZoneFile Pacific/Honolulu
+}
+set tzdata(:HST) $TZData(:Pacific/Honolulu)
diff --git a/library/tzdata/Hongkong b/library/tzdata/Hongkong
new file mode 100644
index 0000000..2525ed8
--- /dev/null
+++ b/library/tzdata/Hongkong
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Hong_Kong)]} {
+ loadTimeZoneFile Asia/Hong_Kong
+}
+set tzdata(:Hongkong) $TZData(:Asia/Hong_Kong)
diff --git a/library/tzdata/Iceland b/library/tzdata/Iceland
new file mode 100644
index 0000000..75b146c
--- /dev/null
+++ b/library/tzdata/Iceland
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Atlantic/Reykjavik)]} {
+ loadTimeZoneFile Atlantic/Reykjavik
+}
+set tzdata(:Iceland) $TZData(:Atlantic/Reykjavik)
diff --git a/library/tzdata/Indian/Antananarivo b/library/tzdata/Indian/Antananarivo
new file mode 100644
index 0000000..0829892
--- /dev/null
+++ b/library/tzdata/Indian/Antananarivo
@@ -0,0 +1,8 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Indian/Antananarivo) {
+ {-9223372036854775808 11404 0 LMT}
+ {-1846293004 10800 0 EAT}
+ {-499914000 14400 1 EAST}
+ {-492051600 10800 0 EAT}
+}
diff --git a/library/tzdata/Indian/Chagos b/library/tzdata/Indian/Chagos
new file mode 100644
index 0000000..f3ac8df
--- /dev/null
+++ b/library/tzdata/Indian/Chagos
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Indian/Chagos) {
+ {-9223372036854775808 18000 0 IOT}
+ {820436400 21600 0 IOT}
+}
diff --git a/library/tzdata/Indian/Christmas b/library/tzdata/Indian/Christmas
new file mode 100644
index 0000000..727d896
--- /dev/null
+++ b/library/tzdata/Indian/Christmas
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Indian/Christmas) {
+ {-9223372036854775808 25372 0 LMT}
+ {-2364102172 25200 0 CXT}
+}
diff --git a/library/tzdata/Indian/Cocos b/library/tzdata/Indian/Cocos
new file mode 100644
index 0000000..511ed58
--- /dev/null
+++ b/library/tzdata/Indian/Cocos
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Indian/Cocos) {
+ {-9223372036854775808 23400 0 CCT}
+}
diff --git a/library/tzdata/Indian/Comoro b/library/tzdata/Indian/Comoro
new file mode 100644
index 0000000..f3f6f87
--- /dev/null
+++ b/library/tzdata/Indian/Comoro
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Indian/Comoro) {
+ {-9223372036854775808 10384 0 LMT}
+ {-1846291984 10800 0 EAT}
+}
diff --git a/library/tzdata/Indian/Kerguelen b/library/tzdata/Indian/Kerguelen
new file mode 100644
index 0000000..964eb94
--- /dev/null
+++ b/library/tzdata/Indian/Kerguelen
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Indian/Kerguelen) {
+ {-9223372036854775808 0 0 zzz}
+ {-631152000 18000 0 TFT}
+}
diff --git a/library/tzdata/Indian/Mahe b/library/tzdata/Indian/Mahe
new file mode 100644
index 0000000..2c5c30d
--- /dev/null
+++ b/library/tzdata/Indian/Mahe
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Indian/Mahe) {
+ {-9223372036854775808 13308 0 LMT}
+ {-2006653308 14400 0 SCT}
+}
diff --git a/library/tzdata/Indian/Maldives b/library/tzdata/Indian/Maldives
new file mode 100644
index 0000000..5fcf442
--- /dev/null
+++ b/library/tzdata/Indian/Maldives
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Indian/Maldives) {
+ {-9223372036854775808 17640 0 LMT}
+ {-2840158440 17640 0 MMT}
+ {-315636840 18000 0 MVT}
+}
diff --git a/library/tzdata/Indian/Mauritius b/library/tzdata/Indian/Mauritius
new file mode 100644
index 0000000..9f2ca7d
--- /dev/null
+++ b/library/tzdata/Indian/Mauritius
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Indian/Mauritius) {
+ {-9223372036854775808 13800 0 LMT}
+ {-1988164200 14400 0 MUT}
+}
diff --git a/library/tzdata/Indian/Mayotte b/library/tzdata/Indian/Mayotte
new file mode 100644
index 0000000..e7c8b4d
--- /dev/null
+++ b/library/tzdata/Indian/Mayotte
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Indian/Mayotte) {
+ {-9223372036854775808 10856 0 LMT}
+ {-1846292456 10800 0 EAT}
+}
diff --git a/library/tzdata/Indian/Reunion b/library/tzdata/Indian/Reunion
new file mode 100644
index 0000000..dbeedc7
--- /dev/null
+++ b/library/tzdata/Indian/Reunion
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Indian/Reunion) {
+ {-9223372036854775808 13312 0 LMT}
+ {-1848886912 14400 0 RET}
+}
diff --git a/library/tzdata/Iran b/library/tzdata/Iran
new file mode 100644
index 0000000..c14cbd4
--- /dev/null
+++ b/library/tzdata/Iran
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Tehran)]} {
+ loadTimeZoneFile Asia/Tehran
+}
+set tzdata(:Iran) $TZData(:Asia/Tehran)
diff --git a/library/tzdata/Israel b/library/tzdata/Israel
new file mode 100644
index 0000000..e2ba284
--- /dev/null
+++ b/library/tzdata/Israel
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Jerusalem)]} {
+ loadTimeZoneFile Asia/Jerusalem
+}
+set tzdata(:Israel) $TZData(:Asia/Jerusalem)
diff --git a/library/tzdata/Jamaica b/library/tzdata/Jamaica
new file mode 100644
index 0000000..ab2d38d
--- /dev/null
+++ b/library/tzdata/Jamaica
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Jamaica)]} {
+ loadTimeZoneFile America/Jamaica
+}
+set tzdata(:Jamaica) $TZData(:America/Jamaica)
diff --git a/library/tzdata/Japan b/library/tzdata/Japan
new file mode 100644
index 0000000..a5a2f20
--- /dev/null
+++ b/library/tzdata/Japan
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Tokyo)]} {
+ loadTimeZoneFile Asia/Tokyo
+}
+set tzdata(:Japan) $TZData(:Asia/Tokyo)
diff --git a/library/tzdata/Kwajalein b/library/tzdata/Kwajalein
new file mode 100644
index 0000000..9c51ef7
--- /dev/null
+++ b/library/tzdata/Kwajalein
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Pacific/Kwajalein)]} {
+ loadTimeZoneFile Pacific/Kwajalein
+}
+set tzdata(:Kwajalein) $TZData(:Pacific/Kwajalein)
diff --git a/library/tzdata/Libya b/library/tzdata/Libya
new file mode 100644
index 0000000..1950b75
--- /dev/null
+++ b/library/tzdata/Libya
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Africa/Tripoli)]} {
+ loadTimeZoneFile Africa/Tripoli
+}
+set tzdata(:Libya) $TZData(:Africa/Tripoli)
diff --git a/library/tzdata/MET b/library/tzdata/MET
new file mode 100644
index 0000000..04bf664
--- /dev/null
+++ b/library/tzdata/MET
@@ -0,0 +1,263 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:MET) {
+ {-9223372036854775808 3600 0 MET}
+ {-1693706400 7200 1 MEST}
+ {-1680483600 3600 0 MET}
+ {-1663452000 7200 1 MEST}
+ {-1650146400 3600 0 MET}
+ {-1632002400 7200 1 MEST}
+ {-1618696800 3600 0 MET}
+ {-938901600 7200 1 MEST}
+ {-857253600 3600 0 MET}
+ {-844552800 7200 1 MEST}
+ {-828223200 3600 0 MET}
+ {-812498400 7200 1 MEST}
+ {-796773600 3600 0 MET}
+ {228880800 7200 1 MEST}
+ {244000800 3600 0 MET}
+ {260330400 7200 1 MEST}
+ {276055200 3600 0 MET}
+ {291780000 7200 1 MEST}
+ {307504800 3600 0 MET}
+ {323834400 7200 1 MEST}
+ {338954400 3600 0 MET}
+ {354679200 7200 1 MEST}
+ {370404000 3600 0 MET}
+ {386128800 7200 1 MEST}
+ {401853600 3600 0 MET}
+ {417578400 7200 1 MEST}
+ {433303200 3600 0 MET}
+ {449028000 7200 1 MEST}
+ {465357600 3600 0 MET}
+ {481082400 7200 1 MEST}
+ {496807200 3600 0 MET}
+ {512532000 7200 1 MEST}
+ {528256800 3600 0 MET}
+ {543981600 7200 1 MEST}
+ {559706400 3600 0 MET}
+ {575431200 7200 1 MEST}
+ {591156000 3600 0 MET}
+ {606880800 7200 1 MEST}
+ {622605600 3600 0 MET}
+ {638330400 7200 1 MEST}
+ {654660000 3600 0 MET}
+ {670384800 7200 1 MEST}
+ {686109600 3600 0 MET}
+ {701834400 7200 1 MEST}
+ {717559200 3600 0 MET}
+ {733284000 7200 1 MEST}
+ {749008800 3600 0 MET}
+ {764733600 7200 1 MEST}
+ {780458400 3600 0 MET}
+ {796183200 7200 1 MEST}
+ {811908000 3600 0 MET}
+ {828237600 7200 1 MEST}
+ {846381600 3600 0 MET}
+ {859687200 7200 1 MEST}
+ {877831200 3600 0 MET}
+ {891136800 7200 1 MEST}
+ {909280800 3600 0 MET}
+ {922586400 7200 1 MEST}
+ {941335200 3600 0 MET}
+ {954036000 7200 1 MEST}
+ {972784800 3600 0 MET}
+ {985485600 7200 1 MEST}
+ {1004234400 3600 0 MET}
+ {1017540000 7200 1 MEST}
+ {1035684000 3600 0 MET}
+ {1048989600 7200 1 MEST}
+ {1067133600 3600 0 MET}
+ {1080439200 7200 1 MEST}
+ {1099188000 3600 0 MET}
+ {1111888800 7200 1 MEST}
+ {1130637600 3600 0 MET}
+ {1143338400 7200 1 MEST}
+ {1162087200 3600 0 MET}
+ {1174788000 7200 1 MEST}
+ {1193536800 3600 0 MET}
+ {1206842400 7200 1 MEST}
+ {1224986400 3600 0 MET}
+ {1238292000 7200 1 MEST}
+ {1256436000 3600 0 MET}
+ {1269741600 7200 1 MEST}
+ {1288490400 3600 0 MET}
+ {1301191200 7200 1 MEST}
+ {1319940000 3600 0 MET}
+ {1332640800 7200 1 MEST}
+ {1351389600 3600 0 MET}
+ {1364695200 7200 1 MEST}
+ {1382839200 3600 0 MET}
+ {1396144800 7200 1 MEST}
+ {1414288800 3600 0 MET}
+ {1427594400 7200 1 MEST}
+ {1445738400 3600 0 MET}
+ {1459044000 7200 1 MEST}
+ {1477792800 3600 0 MET}
+ {1490493600 7200 1 MEST}
+ {1509242400 3600 0 MET}
+ {1521943200 7200 1 MEST}
+ {1540692000 3600 0 MET}
+ {1553997600 7200 1 MEST}
+ {1572141600 3600 0 MET}
+ {1585447200 7200 1 MEST}
+ {1603591200 3600 0 MET}
+ {1616896800 7200 1 MEST}
+ {1635645600 3600 0 MET}
+ {1648346400 7200 1 MEST}
+ {1667095200 3600 0 MET}
+ {1679796000 7200 1 MEST}
+ {1698544800 3600 0 MET}
+ {1711850400 7200 1 MEST}
+ {1729994400 3600 0 MET}
+ {1743300000 7200 1 MEST}
+ {1761444000 3600 0 MET}
+ {1774749600 7200 1 MEST}
+ {1792893600 3600 0 MET}
+ {1806199200 7200 1 MEST}
+ {1824948000 3600 0 MET}
+ {1837648800 7200 1 MEST}
+ {1856397600 3600 0 MET}
+ {1869098400 7200 1 MEST}
+ {1887847200 3600 0 MET}
+ {1901152800 7200 1 MEST}
+ {1919296800 3600 0 MET}
+ {1932602400 7200 1 MEST}
+ {1950746400 3600 0 MET}
+ {1964052000 7200 1 MEST}
+ {1982800800 3600 0 MET}
+ {1995501600 7200 1 MEST}
+ {2014250400 3600 0 MET}
+ {2026951200 7200 1 MEST}
+ {2045700000 3600 0 MET}
+ {2058400800 7200 1 MEST}
+ {2077149600 3600 0 MET}
+ {2090455200 7200 1 MEST}
+ {2108599200 3600 0 MET}
+ {2121904800 7200 1 MEST}
+ {2140048800 3600 0 MET}
+ {2153354400 7200 1 MEST}
+ {2172103200 3600 0 MET}
+ {2184804000 7200 1 MEST}
+ {2203552800 3600 0 MET}
+ {2216253600 7200 1 MEST}
+ {2235002400 3600 0 MET}
+ {2248308000 7200 1 MEST}
+ {2266452000 3600 0 MET}
+ {2279757600 7200 1 MEST}
+ {2297901600 3600 0 MET}
+ {2311207200 7200 1 MEST}
+ {2329351200 3600 0 MET}
+ {2342656800 7200 1 MEST}
+ {2361405600 3600 0 MET}
+ {2374106400 7200 1 MEST}
+ {2392855200 3600 0 MET}
+ {2405556000 7200 1 MEST}
+ {2424304800 3600 0 MET}
+ {2437610400 7200 1 MEST}
+ {2455754400 3600 0 MET}
+ {2469060000 7200 1 MEST}
+ {2487204000 3600 0 MET}
+ {2500509600 7200 1 MEST}
+ {2519258400 3600 0 MET}
+ {2531959200 7200 1 MEST}
+ {2550708000 3600 0 MET}
+ {2563408800 7200 1 MEST}
+ {2582157600 3600 0 MET}
+ {2595463200 7200 1 MEST}
+ {2613607200 3600 0 MET}
+ {2626912800 7200 1 MEST}
+ {2645056800 3600 0 MET}
+ {2658362400 7200 1 MEST}
+ {2676506400 3600 0 MET}
+ {2689812000 7200 1 MEST}
+ {2708560800 3600 0 MET}
+ {2721261600 7200 1 MEST}
+ {2740010400 3600 0 MET}
+ {2752711200 7200 1 MEST}
+ {2771460000 3600 0 MET}
+ {2784765600 7200 1 MEST}
+ {2802909600 3600 0 MET}
+ {2816215200 7200 1 MEST}
+ {2834359200 3600 0 MET}
+ {2847664800 7200 1 MEST}
+ {2866413600 3600 0 MET}
+ {2879114400 7200 1 MEST}
+ {2897863200 3600 0 MET}
+ {2910564000 7200 1 MEST}
+ {2929312800 3600 0 MET}
+ {2942013600 7200 1 MEST}
+ {2960762400 3600 0 MET}
+ {2974068000 7200 1 MEST}
+ {2992212000 3600 0 MET}
+ {3005517600 7200 1 MEST}
+ {3023661600 3600 0 MET}
+ {3036967200 7200 1 MEST}
+ {3055716000 3600 0 MET}
+ {3068416800 7200 1 MEST}
+ {3087165600 3600 0 MET}
+ {3099866400 7200 1 MEST}
+ {3118615200 3600 0 MET}
+ {3131920800 7200 1 MEST}
+ {3150064800 3600 0 MET}
+ {3163370400 7200 1 MEST}
+ {3181514400 3600 0 MET}
+ {3194820000 7200 1 MEST}
+ {3212964000 3600 0 MET}
+ {3226269600 7200 1 MEST}
+ {3245018400 3600 0 MET}
+ {3257719200 7200 1 MEST}
+ {3276468000 3600 0 MET}
+ {3289168800 7200 1 MEST}
+ {3307917600 3600 0 MET}
+ {3321223200 7200 1 MEST}
+ {3339367200 3600 0 MET}
+ {3352672800 7200 1 MEST}
+ {3370816800 3600 0 MET}
+ {3384122400 7200 1 MEST}
+ {3402871200 3600 0 MET}
+ {3415572000 7200 1 MEST}
+ {3434320800 3600 0 MET}
+ {3447021600 7200 1 MEST}
+ {3465770400 3600 0 MET}
+ {3479076000 7200 1 MEST}
+ {3497220000 3600 0 MET}
+ {3510525600 7200 1 MEST}
+ {3528669600 3600 0 MET}
+ {3541975200 7200 1 MEST}
+ {3560119200 3600 0 MET}
+ {3573424800 7200 1 MEST}
+ {3592173600 3600 0 MET}
+ {3604874400 7200 1 MEST}
+ {3623623200 3600 0 MET}
+ {3636324000 7200 1 MEST}
+ {3655072800 3600 0 MET}
+ {3668378400 7200 1 MEST}
+ {3686522400 3600 0 MET}
+ {3699828000 7200 1 MEST}
+ {3717972000 3600 0 MET}
+ {3731277600 7200 1 MEST}
+ {3750026400 3600 0 MET}
+ {3762727200 7200 1 MEST}
+ {3781476000 3600 0 MET}
+ {3794176800 7200 1 MEST}
+ {3812925600 3600 0 MET}
+ {3825626400 7200 1 MEST}
+ {3844375200 3600 0 MET}
+ {3857680800 7200 1 MEST}
+ {3875824800 3600 0 MET}
+ {3889130400 7200 1 MEST}
+ {3907274400 3600 0 MET}
+ {3920580000 7200 1 MEST}
+ {3939328800 3600 0 MET}
+ {3952029600 7200 1 MEST}
+ {3970778400 3600 0 MET}
+ {3983479200 7200 1 MEST}
+ {4002228000 3600 0 MET}
+ {4015533600 7200 1 MEST}
+ {4033677600 3600 0 MET}
+ {4046983200 7200 1 MEST}
+ {4065127200 3600 0 MET}
+ {4078432800 7200 1 MEST}
+ {4096576800 3600 0 MET}
+}
diff --git a/library/tzdata/MST b/library/tzdata/MST
new file mode 100644
index 0000000..4abedf6
--- /dev/null
+++ b/library/tzdata/MST
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Phoenix)]} {
+ loadTimeZoneFile America/Phoenix
+}
+set tzdata(:MST) $TZData(:America/Phoenix)
diff --git a/library/tzdata/MST7MDT b/library/tzdata/MST7MDT
new file mode 100644
index 0000000..3bd768b
--- /dev/null
+++ b/library/tzdata/MST7MDT
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Denver)]} {
+ loadTimeZoneFile America/Denver
+}
+set tzdata(:MST7MDT) $TZData(:America/Denver)
diff --git a/library/tzdata/Mexico/BajaNorte b/library/tzdata/Mexico/BajaNorte
new file mode 100644
index 0000000..d433e0b
--- /dev/null
+++ b/library/tzdata/Mexico/BajaNorte
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Tijuana)]} {
+ loadTimeZoneFile America/Tijuana
+}
+set tzdata(:Mexico/BajaNorte) $TZData(:America/Tijuana)
diff --git a/library/tzdata/Mexico/BajaSur b/library/tzdata/Mexico/BajaSur
new file mode 100644
index 0000000..9341763
--- /dev/null
+++ b/library/tzdata/Mexico/BajaSur
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Mazatlan)]} {
+ loadTimeZoneFile America/Mazatlan
+}
+set tzdata(:Mexico/BajaSur) $TZData(:America/Mazatlan)
diff --git a/library/tzdata/Mexico/General b/library/tzdata/Mexico/General
new file mode 100644
index 0000000..7307435
--- /dev/null
+++ b/library/tzdata/Mexico/General
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Mexico_City)]} {
+ loadTimeZoneFile America/Mexico_City
+}
+set tzdata(:Mexico/General) $TZData(:America/Mexico_City)
diff --git a/library/tzdata/NZ b/library/tzdata/NZ
new file mode 100644
index 0000000..ed40555
--- /dev/null
+++ b/library/tzdata/NZ
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Pacific/Auckland)]} {
+ loadTimeZoneFile Pacific/Auckland
+}
+set tzdata(:NZ) $TZData(:Pacific/Auckland)
diff --git a/library/tzdata/NZ-CHAT b/library/tzdata/NZ-CHAT
new file mode 100644
index 0000000..980e16b
--- /dev/null
+++ b/library/tzdata/NZ-CHAT
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Pacific/Chatham)]} {
+ loadTimeZoneFile Pacific/Chatham
+}
+set tzdata(:NZ-CHAT) $TZData(:Pacific/Chatham)
diff --git a/library/tzdata/Navajo b/library/tzdata/Navajo
new file mode 100644
index 0000000..4301bc5
--- /dev/null
+++ b/library/tzdata/Navajo
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Shiprock)]} {
+ loadTimeZoneFile America/Shiprock
+}
+set tzdata(:Navajo) $TZData(:America/Shiprock)
diff --git a/library/tzdata/PRC b/library/tzdata/PRC
new file mode 100644
index 0000000..f784a31
--- /dev/null
+++ b/library/tzdata/PRC
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Shanghai)]} {
+ loadTimeZoneFile Asia/Shanghai
+}
+set tzdata(:PRC) $TZData(:Asia/Shanghai)
diff --git a/library/tzdata/PST8PDT b/library/tzdata/PST8PDT
new file mode 100644
index 0000000..d38bad0
--- /dev/null
+++ b/library/tzdata/PST8PDT
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Los_Angeles)]} {
+ loadTimeZoneFile America/Los_Angeles
+}
+set tzdata(:PST8PDT) $TZData(:America/Los_Angeles)
diff --git a/library/tzdata/Pacific/Apia b/library/tzdata/Pacific/Apia
new file mode 100644
index 0000000..fb37f68
--- /dev/null
+++ b/library/tzdata/Pacific/Apia
@@ -0,0 +1,8 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Apia) {
+ {-9223372036854775808 45184 0 LMT}
+ {-2855737984 -41216 0 LMT}
+ {-1861878784 -41400 0 SAMT}
+ {-631110600 -39600 0 WST}
+}
diff --git a/library/tzdata/Pacific/Auckland b/library/tzdata/Pacific/Auckland
new file mode 100644
index 0000000..290fd5c
--- /dev/null
+++ b/library/tzdata/Pacific/Auckland
@@ -0,0 +1,285 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Auckland) {
+ {-9223372036854775808 41944 0 LMT}
+ {-3192435544 41400 0 NZMT}
+ {-1330335000 45000 1 NZST}
+ {-1320057000 41400 0 NZMT}
+ {-1300699800 43200 1 NZST}
+ {-1287396000 41400 0 NZMT}
+ {-1269250200 43200 1 NZST}
+ {-1255946400 41400 0 NZMT}
+ {-1237800600 43200 1 NZST}
+ {-1224496800 41400 0 NZMT}
+ {-1206351000 43200 1 NZST}
+ {-1192442400 41400 0 NZMT}
+ {-1174901400 43200 1 NZST}
+ {-1160992800 41400 0 NZMT}
+ {-1143451800 43200 1 NZST}
+ {-1125914400 41400 0 NZMT}
+ {-1112607000 43200 1 NZST}
+ {-1094464800 41400 0 NZMT}
+ {-1081157400 43200 1 NZST}
+ {-1063015200 41400 0 NZMT}
+ {-1049707800 43200 1 NZST}
+ {-1031565600 41400 0 NZMT}
+ {-1018258200 43200 1 NZST}
+ {-1000116000 41400 0 NZMT}
+ {-986808600 43200 1 NZST}
+ {-968061600 41400 0 NZMT}
+ {-955359000 43200 1 NZST}
+ {-936612000 41400 0 NZMT}
+ {-923304600 43200 1 NZST}
+ {-757425600 43200 0 NZST}
+ {152676000 46800 1 NZDT}
+ {162352800 43200 0 NZST}
+ {183520800 46800 1 NZDT}
+ {195012000 43200 0 NZST}
+ {215575200 46800 1 NZDT}
+ {226461600 43200 0 NZST}
+ {247024800 46800 1 NZDT}
+ {257911200 43200 0 NZST}
+ {278474400 46800 1 NZDT}
+ {289360800 43200 0 NZST}
+ {309924000 46800 1 NZDT}
+ {320810400 43200 0 NZST}
+ {341373600 46800 1 NZDT}
+ {352260000 43200 0 NZST}
+ {372823200 46800 1 NZDT}
+ {384314400 43200 0 NZST}
+ {404877600 46800 1 NZDT}
+ {415764000 43200 0 NZST}
+ {436327200 46800 1 NZDT}
+ {447213600 43200 0 NZST}
+ {467776800 46800 1 NZDT}
+ {478663200 43200 0 NZST}
+ {499226400 46800 1 NZDT}
+ {510112800 43200 0 NZST}
+ {530676000 46800 1 NZDT}
+ {541562400 43200 0 NZST}
+ {562125600 46800 1 NZDT}
+ {573616800 43200 0 NZST}
+ {594180000 46800 1 NZDT}
+ {605066400 43200 0 NZST}
+ {623815200 46800 1 NZDT}
+ {637725600 43200 0 NZST}
+ {655264800 46800 1 NZDT}
+ {669175200 43200 0 NZST}
+ {686714400 46800 1 NZDT}
+ {700624800 43200 0 NZST}
+ {718164000 46800 1 NZDT}
+ {732679200 43200 0 NZST}
+ {749613600 46800 1 NZDT}
+ {764128800 43200 0 NZST}
+ {781063200 46800 1 NZDT}
+ {795578400 43200 0 NZST}
+ {812512800 46800 1 NZDT}
+ {827028000 43200 0 NZST}
+ {844567200 46800 1 NZDT}
+ {858477600 43200 0 NZST}
+ {876016800 46800 1 NZDT}
+ {889927200 43200 0 NZST}
+ {907466400 46800 1 NZDT}
+ {921981600 43200 0 NZST}
+ {938916000 46800 1 NZDT}
+ {953431200 43200 0 NZST}
+ {970365600 46800 1 NZDT}
+ {984880800 43200 0 NZST}
+ {1002420000 46800 1 NZDT}
+ {1016330400 43200 0 NZST}
+ {1033869600 46800 1 NZDT}
+ {1047780000 43200 0 NZST}
+ {1065319200 46800 1 NZDT}
+ {1079834400 43200 0 NZST}
+ {1096768800 46800 1 NZDT}
+ {1111284000 43200 0 NZST}
+ {1128218400 46800 1 NZDT}
+ {1142733600 43200 0 NZST}
+ {1159668000 46800 1 NZDT}
+ {1174183200 43200 0 NZST}
+ {1191722400 46800 1 NZDT}
+ {1205632800 43200 0 NZST}
+ {1223172000 46800 1 NZDT}
+ {1237082400 43200 0 NZST}
+ {1254621600 46800 1 NZDT}
+ {1269136800 43200 0 NZST}
+ {1286071200 46800 1 NZDT}
+ {1300586400 43200 0 NZST}
+ {1317520800 46800 1 NZDT}
+ {1332036000 43200 0 NZST}
+ {1349575200 46800 1 NZDT}
+ {1363485600 43200 0 NZST}
+ {1381024800 46800 1 NZDT}
+ {1394935200 43200 0 NZST}
+ {1412474400 46800 1 NZDT}
+ {1426384800 43200 0 NZST}
+ {1443924000 46800 1 NZDT}
+ {1458439200 43200 0 NZST}
+ {1475373600 46800 1 NZDT}
+ {1489888800 43200 0 NZST}
+ {1506823200 46800 1 NZDT}
+ {1521338400 43200 0 NZST}
+ {1538877600 46800 1 NZDT}
+ {1552788000 43200 0 NZST}
+ {1570327200 46800 1 NZDT}
+ {1584237600 43200 0 NZST}
+ {1601776800 46800 1 NZDT}
+ {1616292000 43200 0 NZST}
+ {1633226400 46800 1 NZDT}
+ {1647741600 43200 0 NZST}
+ {1664676000 46800 1 NZDT}
+ {1679191200 43200 0 NZST}
+ {1696125600 46800 1 NZDT}
+ {1710640800 43200 0 NZST}
+ {1728180000 46800 1 NZDT}
+ {1742090400 43200 0 NZST}
+ {1759629600 46800 1 NZDT}
+ {1773540000 43200 0 NZST}
+ {1791079200 46800 1 NZDT}
+ {1805594400 43200 0 NZST}
+ {1822528800 46800 1 NZDT}
+ {1837044000 43200 0 NZST}
+ {1853978400 46800 1 NZDT}
+ {1868493600 43200 0 NZST}
+ {1886032800 46800 1 NZDT}
+ {1899943200 43200 0 NZST}
+ {1917482400 46800 1 NZDT}
+ {1931392800 43200 0 NZST}
+ {1948932000 46800 1 NZDT}
+ {1963447200 43200 0 NZST}
+ {1980381600 46800 1 NZDT}
+ {1994896800 43200 0 NZST}
+ {2011831200 46800 1 NZDT}
+ {2026346400 43200 0 NZST}
+ {2043280800 46800 1 NZDT}
+ {2057796000 43200 0 NZST}
+ {2075335200 46800 1 NZDT}
+ {2089245600 43200 0 NZST}
+ {2106784800 46800 1 NZDT}
+ {2120695200 43200 0 NZST}
+ {2138234400 46800 1 NZDT}
+ {2152749600 43200 0 NZST}
+ {2169684000 46800 1 NZDT}
+ {2184199200 43200 0 NZST}
+ {2201133600 46800 1 NZDT}
+ {2215648800 43200 0 NZST}
+ {2233188000 46800 1 NZDT}
+ {2247098400 43200 0 NZST}
+ {2264637600 46800 1 NZDT}
+ {2278548000 43200 0 NZST}
+ {2296087200 46800 1 NZDT}
+ {2309997600 43200 0 NZST}
+ {2327536800 46800 1 NZDT}
+ {2342052000 43200 0 NZST}
+ {2358986400 46800 1 NZDT}
+ {2373501600 43200 0 NZST}
+ {2390436000 46800 1 NZDT}
+ {2404951200 43200 0 NZST}
+ {2422490400 46800 1 NZDT}
+ {2436400800 43200 0 NZST}
+ {2453940000 46800 1 NZDT}
+ {2467850400 43200 0 NZST}
+ {2485389600 46800 1 NZDT}
+ {2499904800 43200 0 NZST}
+ {2516839200 46800 1 NZDT}
+ {2531354400 43200 0 NZST}
+ {2548288800 46800 1 NZDT}
+ {2562804000 43200 0 NZST}
+ {2579738400 46800 1 NZDT}
+ {2594253600 43200 0 NZST}
+ {2611792800 46800 1 NZDT}
+ {2625703200 43200 0 NZST}
+ {2643242400 46800 1 NZDT}
+ {2657152800 43200 0 NZST}
+ {2674692000 46800 1 NZDT}
+ {2689207200 43200 0 NZST}
+ {2706141600 46800 1 NZDT}
+ {2720656800 43200 0 NZST}
+ {2737591200 46800 1 NZDT}
+ {2752106400 43200 0 NZST}
+ {2769645600 46800 1 NZDT}
+ {2783556000 43200 0 NZST}
+ {2801095200 46800 1 NZDT}
+ {2815005600 43200 0 NZST}
+ {2832544800 46800 1 NZDT}
+ {2847060000 43200 0 NZST}
+ {2863994400 46800 1 NZDT}
+ {2878509600 43200 0 NZST}
+ {2895444000 46800 1 NZDT}
+ {2909959200 43200 0 NZST}
+ {2926893600 46800 1 NZDT}
+ {2941408800 43200 0 NZST}
+ {2958948000 46800 1 NZDT}
+ {2972858400 43200 0 NZST}
+ {2990397600 46800 1 NZDT}
+ {3004308000 43200 0 NZST}
+ {3021847200 46800 1 NZDT}
+ {3036362400 43200 0 NZST}
+ {3053296800 46800 1 NZDT}
+ {3067812000 43200 0 NZST}
+ {3084746400 46800 1 NZDT}
+ {3099261600 43200 0 NZST}
+ {3116800800 46800 1 NZDT}
+ {3130711200 43200 0 NZST}
+ {3148250400 46800 1 NZDT}
+ {3162160800 43200 0 NZST}
+ {3179700000 46800 1 NZDT}
+ {3193610400 43200 0 NZST}
+ {3211149600 46800 1 NZDT}
+ {3225664800 43200 0 NZST}
+ {3242599200 46800 1 NZDT}
+ {3257114400 43200 0 NZST}
+ {3274048800 46800 1 NZDT}
+ {3288564000 43200 0 NZST}
+ {3306103200 46800 1 NZDT}
+ {3320013600 43200 0 NZST}
+ {3337552800 46800 1 NZDT}
+ {3351463200 43200 0 NZST}
+ {3369002400 46800 1 NZDT}
+ {3383517600 43200 0 NZST}
+ {3400452000 46800 1 NZDT}
+ {3414967200 43200 0 NZST}
+ {3431901600 46800 1 NZDT}
+ {3446416800 43200 0 NZST}
+ {3463351200 46800 1 NZDT}
+ {3477866400 43200 0 NZST}
+ {3495405600 46800 1 NZDT}
+ {3509316000 43200 0 NZST}
+ {3526855200 46800 1 NZDT}
+ {3540765600 43200 0 NZST}
+ {3558304800 46800 1 NZDT}
+ {3572820000 43200 0 NZST}
+ {3589754400 46800 1 NZDT}
+ {3604269600 43200 0 NZST}
+ {3621204000 46800 1 NZDT}
+ {3635719200 43200 0 NZST}
+ {3653258400 46800 1 NZDT}
+ {3667168800 43200 0 NZST}
+ {3684708000 46800 1 NZDT}
+ {3698618400 43200 0 NZST}
+ {3716157600 46800 1 NZDT}
+ {3730672800 43200 0 NZST}
+ {3747607200 46800 1 NZDT}
+ {3762122400 43200 0 NZST}
+ {3779056800 46800 1 NZDT}
+ {3793572000 43200 0 NZST}
+ {3810506400 46800 1 NZDT}
+ {3825021600 43200 0 NZST}
+ {3842560800 46800 1 NZDT}
+ {3856471200 43200 0 NZST}
+ {3874010400 46800 1 NZDT}
+ {3887920800 43200 0 NZST}
+ {3905460000 46800 1 NZDT}
+ {3919975200 43200 0 NZST}
+ {3936909600 46800 1 NZDT}
+ {3951424800 43200 0 NZST}
+ {3968359200 46800 1 NZDT}
+ {3982874400 43200 0 NZST}
+ {4000413600 46800 1 NZDT}
+ {4014324000 43200 0 NZST}
+ {4031863200 46800 1 NZDT}
+ {4045773600 43200 0 NZST}
+ {4063312800 46800 1 NZDT}
+ {4077223200 43200 0 NZST}
+ {4094762400 46800 1 NZDT}
+}
diff --git a/library/tzdata/Pacific/Chatham b/library/tzdata/Pacific/Chatham
new file mode 100644
index 0000000..01cab6d
--- /dev/null
+++ b/library/tzdata/Pacific/Chatham
@@ -0,0 +1,257 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Chatham) {
+ {-9223372036854775808 44028 0 LMT}
+ {-410271228 45900 0 CHAST}
+ {152678700 49500 1 CHADT}
+ {162355500 45900 0 CHAST}
+ {183523500 49500 1 CHADT}
+ {195014700 45900 0 CHAST}
+ {215577900 49500 1 CHADT}
+ {226464300 45900 0 CHAST}
+ {247027500 49500 1 CHADT}
+ {257913900 45900 0 CHAST}
+ {278477100 49500 1 CHADT}
+ {289363500 45900 0 CHAST}
+ {309926700 49500 1 CHADT}
+ {320813100 45900 0 CHAST}
+ {341376300 49500 1 CHADT}
+ {352262700 45900 0 CHAST}
+ {372825900 49500 1 CHADT}
+ {384317100 45900 0 CHAST}
+ {404880300 49500 1 CHADT}
+ {415766700 45900 0 CHAST}
+ {436329900 49500 1 CHADT}
+ {447216300 45900 0 CHAST}
+ {467779500 49500 1 CHADT}
+ {478665900 45900 0 CHAST}
+ {499229100 49500 1 CHADT}
+ {510115500 45900 0 CHAST}
+ {530678700 49500 1 CHADT}
+ {541565100 45900 0 CHAST}
+ {562128300 49500 1 CHADT}
+ {573619500 45900 0 CHAST}
+ {594182700 49500 1 CHADT}
+ {605069100 45900 0 CHAST}
+ {623817900 49500 1 CHADT}
+ {637728300 45900 0 CHAST}
+ {655267500 49500 1 CHADT}
+ {669177900 45900 0 CHAST}
+ {686717100 49500 1 CHADT}
+ {700627500 45900 0 CHAST}
+ {718166700 49500 1 CHADT}
+ {732681900 45900 0 CHAST}
+ {749616300 49500 1 CHADT}
+ {764131500 45900 0 CHAST}
+ {781065900 49500 1 CHADT}
+ {795581100 45900 0 CHAST}
+ {812515500 49500 1 CHADT}
+ {827030700 45900 0 CHAST}
+ {844569900 49500 1 CHADT}
+ {858480300 45900 0 CHAST}
+ {876019500 49500 1 CHADT}
+ {889929900 45900 0 CHAST}
+ {907469100 49500 1 CHADT}
+ {921984300 45900 0 CHAST}
+ {938918700 49500 1 CHADT}
+ {953433900 45900 0 CHAST}
+ {970368300 49500 1 CHADT}
+ {984883500 45900 0 CHAST}
+ {1002422700 49500 1 CHADT}
+ {1016333100 45900 0 CHAST}
+ {1033872300 49500 1 CHADT}
+ {1047782700 45900 0 CHAST}
+ {1065321900 49500 1 CHADT}
+ {1079837100 45900 0 CHAST}
+ {1096771500 49500 1 CHADT}
+ {1111286700 45900 0 CHAST}
+ {1128221100 49500 1 CHADT}
+ {1142736300 45900 0 CHAST}
+ {1159670700 49500 1 CHADT}
+ {1174185900 45900 0 CHAST}
+ {1191725100 49500 1 CHADT}
+ {1205635500 45900 0 CHAST}
+ {1223174700 49500 1 CHADT}
+ {1237085100 45900 0 CHAST}
+ {1254624300 49500 1 CHADT}
+ {1269139500 45900 0 CHAST}
+ {1286073900 49500 1 CHADT}
+ {1300589100 45900 0 CHAST}
+ {1317523500 49500 1 CHADT}
+ {1332038700 45900 0 CHAST}
+ {1349577900 49500 1 CHADT}
+ {1363488300 45900 0 CHAST}
+ {1381027500 49500 1 CHADT}
+ {1394937900 45900 0 CHAST}
+ {1412477100 49500 1 CHADT}
+ {1426387500 45900 0 CHAST}
+ {1443926700 49500 1 CHADT}
+ {1458441900 45900 0 CHAST}
+ {1475376300 49500 1 CHADT}
+ {1489891500 45900 0 CHAST}
+ {1506825900 49500 1 CHADT}
+ {1521341100 45900 0 CHAST}
+ {1538880300 49500 1 CHADT}
+ {1552790700 45900 0 CHAST}
+ {1570329900 49500 1 CHADT}
+ {1584240300 45900 0 CHAST}
+ {1601779500 49500 1 CHADT}
+ {1616294700 45900 0 CHAST}
+ {1633229100 49500 1 CHADT}
+ {1647744300 45900 0 CHAST}
+ {1664678700 49500 1 CHADT}
+ {1679193900 45900 0 CHAST}
+ {1696128300 49500 1 CHADT}
+ {1710643500 45900 0 CHAST}
+ {1728182700 49500 1 CHADT}
+ {1742093100 45900 0 CHAST}
+ {1759632300 49500 1 CHADT}
+ {1773542700 45900 0 CHAST}
+ {1791081900 49500 1 CHADT}
+ {1805597100 45900 0 CHAST}
+ {1822531500 49500 1 CHADT}
+ {1837046700 45900 0 CHAST}
+ {1853981100 49500 1 CHADT}
+ {1868496300 45900 0 CHAST}
+ {1886035500 49500 1 CHADT}
+ {1899945900 45900 0 CHAST}
+ {1917485100 49500 1 CHADT}
+ {1931395500 45900 0 CHAST}
+ {1948934700 49500 1 CHADT}
+ {1963449900 45900 0 CHAST}
+ {1980384300 49500 1 CHADT}
+ {1994899500 45900 0 CHAST}
+ {2011833900 49500 1 CHADT}
+ {2026349100 45900 0 CHAST}
+ {2043283500 49500 1 CHADT}
+ {2057798700 45900 0 CHAST}
+ {2075337900 49500 1 CHADT}
+ {2089248300 45900 0 CHAST}
+ {2106787500 49500 1 CHADT}
+ {2120697900 45900 0 CHAST}
+ {2138237100 49500 1 CHADT}
+ {2152752300 45900 0 CHAST}
+ {2169686700 49500 1 CHADT}
+ {2184201900 45900 0 CHAST}
+ {2201136300 49500 1 CHADT}
+ {2215651500 45900 0 CHAST}
+ {2233190700 49500 1 CHADT}
+ {2247101100 45900 0 CHAST}
+ {2264640300 49500 1 CHADT}
+ {2278550700 45900 0 CHAST}
+ {2296089900 49500 1 CHADT}
+ {2310000300 45900 0 CHAST}
+ {2327539500 49500 1 CHADT}
+ {2342054700 45900 0 CHAST}
+ {2358989100 49500 1 CHADT}
+ {2373504300 45900 0 CHAST}
+ {2390438700 49500 1 CHADT}
+ {2404953900 45900 0 CHAST}
+ {2422493100 49500 1 CHADT}
+ {2436403500 45900 0 CHAST}
+ {2453942700 49500 1 CHADT}
+ {2467853100 45900 0 CHAST}
+ {2485392300 49500 1 CHADT}
+ {2499907500 45900 0 CHAST}
+ {2516841900 49500 1 CHADT}
+ {2531357100 45900 0 CHAST}
+ {2548291500 49500 1 CHADT}
+ {2562806700 45900 0 CHAST}
+ {2579741100 49500 1 CHADT}
+ {2594256300 45900 0 CHAST}
+ {2611795500 49500 1 CHADT}
+ {2625705900 45900 0 CHAST}
+ {2643245100 49500 1 CHADT}
+ {2657155500 45900 0 CHAST}
+ {2674694700 49500 1 CHADT}
+ {2689209900 45900 0 CHAST}
+ {2706144300 49500 1 CHADT}
+ {2720659500 45900 0 CHAST}
+ {2737593900 49500 1 CHADT}
+ {2752109100 45900 0 CHAST}
+ {2769648300 49500 1 CHADT}
+ {2783558700 45900 0 CHAST}
+ {2801097900 49500 1 CHADT}
+ {2815008300 45900 0 CHAST}
+ {2832547500 49500 1 CHADT}
+ {2847062700 45900 0 CHAST}
+ {2863997100 49500 1 CHADT}
+ {2878512300 45900 0 CHAST}
+ {2895446700 49500 1 CHADT}
+ {2909961900 45900 0 CHAST}
+ {2926896300 49500 1 CHADT}
+ {2941411500 45900 0 CHAST}
+ {2958950700 49500 1 CHADT}
+ {2972861100 45900 0 CHAST}
+ {2990400300 49500 1 CHADT}
+ {3004310700 45900 0 CHAST}
+ {3021849900 49500 1 CHADT}
+ {3036365100 45900 0 CHAST}
+ {3053299500 49500 1 CHADT}
+ {3067814700 45900 0 CHAST}
+ {3084749100 49500 1 CHADT}
+ {3099264300 45900 0 CHAST}
+ {3116803500 49500 1 CHADT}
+ {3130713900 45900 0 CHAST}
+ {3148253100 49500 1 CHADT}
+ {3162163500 45900 0 CHAST}
+ {3179702700 49500 1 CHADT}
+ {3193613100 45900 0 CHAST}
+ {3211152300 49500 1 CHADT}
+ {3225667500 45900 0 CHAST}
+ {3242601900 49500 1 CHADT}
+ {3257117100 45900 0 CHAST}
+ {3274051500 49500 1 CHADT}
+ {3288566700 45900 0 CHAST}
+ {3306105900 49500 1 CHADT}
+ {3320016300 45900 0 CHAST}
+ {3337555500 49500 1 CHADT}
+ {3351465900 45900 0 CHAST}
+ {3369005100 49500 1 CHADT}
+ {3383520300 45900 0 CHAST}
+ {3400454700 49500 1 CHADT}
+ {3414969900 45900 0 CHAST}
+ {3431904300 49500 1 CHADT}
+ {3446419500 45900 0 CHAST}
+ {3463353900 49500 1 CHADT}
+ {3477869100 45900 0 CHAST}
+ {3495408300 49500 1 CHADT}
+ {3509318700 45900 0 CHAST}
+ {3526857900 49500 1 CHADT}
+ {3540768300 45900 0 CHAST}
+ {3558307500 49500 1 CHADT}
+ {3572822700 45900 0 CHAST}
+ {3589757100 49500 1 CHADT}
+ {3604272300 45900 0 CHAST}
+ {3621206700 49500 1 CHADT}
+ {3635721900 45900 0 CHAST}
+ {3653261100 49500 1 CHADT}
+ {3667171500 45900 0 CHAST}
+ {3684710700 49500 1 CHADT}
+ {3698621100 45900 0 CHAST}
+ {3716160300 49500 1 CHADT}
+ {3730675500 45900 0 CHAST}
+ {3747609900 49500 1 CHADT}
+ {3762125100 45900 0 CHAST}
+ {3779059500 49500 1 CHADT}
+ {3793574700 45900 0 CHAST}
+ {3810509100 49500 1 CHADT}
+ {3825024300 45900 0 CHAST}
+ {3842563500 49500 1 CHADT}
+ {3856473900 45900 0 CHAST}
+ {3874013100 49500 1 CHADT}
+ {3887923500 45900 0 CHAST}
+ {3905462700 49500 1 CHADT}
+ {3919977900 45900 0 CHAST}
+ {3936912300 49500 1 CHADT}
+ {3951427500 45900 0 CHAST}
+ {3968361900 49500 1 CHADT}
+ {3982877100 45900 0 CHAST}
+ {4000416300 49500 1 CHADT}
+ {4014326700 45900 0 CHAST}
+ {4031865900 49500 1 CHADT}
+ {4045776300 45900 0 CHAST}
+ {4063315500 49500 1 CHADT}
+ {4077225900 45900 0 CHAST}
+ {4094765100 49500 1 CHADT}
+}
diff --git a/library/tzdata/Pacific/Easter b/library/tzdata/Pacific/Easter
new file mode 100644
index 0000000..e21ff50
--- /dev/null
+++ b/library/tzdata/Pacific/Easter
@@ -0,0 +1,275 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Easter) {
+ {-9223372036854775808 -26248 0 LMT}
+ {-2524495352 -26248 0 MMT}
+ {-1178124152 -25200 0 EAST}
+ {-101937600 -21600 1 EASST}
+ {-88635600 -25200 0 EAST}
+ {-69883200 -21600 1 EASST}
+ {-57186000 -25200 0 EAST}
+ {-38433600 -21600 1 EASST}
+ {-25736400 -25200 0 EAST}
+ {-6984000 -21600 1 EASST}
+ {6318000 -25200 0 EAST}
+ {24465600 -21600 1 EASST}
+ {37767600 -25200 0 EAST}
+ {55915200 -21600 1 EASST}
+ {69217200 -25200 0 EAST}
+ {87969600 -21600 1 EASST}
+ {100666800 -25200 0 EAST}
+ {119419200 -21600 1 EASST}
+ {132116400 -25200 0 EAST}
+ {150868800 -21600 1 EASST}
+ {163566000 -25200 0 EAST}
+ {182318400 -21600 1 EASST}
+ {195620400 -25200 0 EAST}
+ {213768000 -21600 1 EASST}
+ {227070000 -25200 0 EAST}
+ {245217600 -21600 1 EASST}
+ {258519600 -25200 0 EAST}
+ {277272000 -21600 1 EASST}
+ {289969200 -25200 0 EAST}
+ {308721600 -21600 1 EASST}
+ {321418800 -25200 0 EAST}
+ {340171200 -21600 1 EASST}
+ {353473200 -25200 0 EAST}
+ {371620800 -21600 1 EASST}
+ {384922800 -25200 0 EAST}
+ {384933600 -21600 0 EAST}
+ {403070400 -18000 1 EASST}
+ {416372400 -21600 0 EAST}
+ {434520000 -18000 1 EASST}
+ {447822000 -21600 0 EAST}
+ {466574400 -18000 1 EASST}
+ {479271600 -21600 0 EAST}
+ {498024000 -18000 1 EASST}
+ {510721200 -21600 0 EAST}
+ {529473600 -18000 1 EASST}
+ {542775600 -21600 0 EAST}
+ {560923200 -18000 1 EASST}
+ {574225200 -21600 0 EAST}
+ {592372800 -18000 1 EASST}
+ {605674800 -21600 0 EAST}
+ {624427200 -18000 1 EASST}
+ {637124400 -21600 0 EAST}
+ {655876800 -18000 1 EASST}
+ {668574000 -21600 0 EAST}
+ {687326400 -18000 1 EASST}
+ {700628400 -21600 0 EAST}
+ {718776000 -18000 1 EASST}
+ {732078000 -21600 0 EAST}
+ {750225600 -18000 1 EASST}
+ {763527600 -21600 0 EAST}
+ {781675200 -18000 1 EASST}
+ {794977200 -21600 0 EAST}
+ {813729600 -18000 1 EASST}
+ {826426800 -21600 0 EAST}
+ {845179200 -18000 1 EASST}
+ {857876400 -21600 0 EAST}
+ {876628800 -18000 1 EASST}
+ {889930800 -21600 0 EAST}
+ {906868800 -18000 1 EASST}
+ {923194800 -21600 0 EAST}
+ {939528000 -18000 1 EASST}
+ {952830000 -21600 0 EAST}
+ {971582400 -18000 1 EASST}
+ {984279600 -21600 0 EAST}
+ {1003032000 -18000 1 EASST}
+ {1015729200 -21600 0 EAST}
+ {1034481600 -18000 1 EASST}
+ {1047178800 -21600 0 EAST}
+ {1065931200 -18000 1 EASST}
+ {1079233200 -21600 0 EAST}
+ {1097380800 -18000 1 EASST}
+ {1110682800 -21600 0 EAST}
+ {1128830400 -18000 1 EASST}
+ {1142132400 -21600 0 EAST}
+ {1160884800 -18000 1 EASST}
+ {1173582000 -21600 0 EAST}
+ {1192334400 -18000 1 EASST}
+ {1205031600 -21600 0 EAST}
+ {1223784000 -18000 1 EASST}
+ {1237086000 -21600 0 EAST}
+ {1255233600 -18000 1 EASST}
+ {1268535600 -21600 0 EAST}
+ {1286683200 -18000 1 EASST}
+ {1299985200 -21600 0 EAST}
+ {1318132800 -18000 1 EASST}
+ {1331434800 -21600 0 EAST}
+ {1350187200 -18000 1 EASST}
+ {1362884400 -21600 0 EAST}
+ {1381636800 -18000 1 EASST}
+ {1394334000 -21600 0 EAST}
+ {1413086400 -18000 1 EASST}
+ {1426388400 -21600 0 EAST}
+ {1444536000 -18000 1 EASST}
+ {1457838000 -21600 0 EAST}
+ {1475985600 -18000 1 EASST}
+ {1489287600 -21600 0 EAST}
+ {1508040000 -18000 1 EASST}
+ {1520737200 -21600 0 EAST}
+ {1539489600 -18000 1 EASST}
+ {1552186800 -21600 0 EAST}
+ {1570939200 -18000 1 EASST}
+ {1584241200 -21600 0 EAST}
+ {1602388800 -18000 1 EASST}
+ {1615690800 -21600 0 EAST}
+ {1633838400 -18000 1 EASST}
+ {1647140400 -21600 0 EAST}
+ {1665288000 -18000 1 EASST}
+ {1678590000 -21600 0 EAST}
+ {1697342400 -18000 1 EASST}
+ {1710039600 -21600 0 EAST}
+ {1728792000 -18000 1 EASST}
+ {1741489200 -21600 0 EAST}
+ {1760241600 -18000 1 EASST}
+ {1773543600 -21600 0 EAST}
+ {1791691200 -18000 1 EASST}
+ {1804993200 -21600 0 EAST}
+ {1823140800 -18000 1 EASST}
+ {1836442800 -21600 0 EAST}
+ {1855195200 -18000 1 EASST}
+ {1867892400 -21600 0 EAST}
+ {1886644800 -18000 1 EASST}
+ {1899342000 -21600 0 EAST}
+ {1918094400 -18000 1 EASST}
+ {1930791600 -21600 0 EAST}
+ {1949544000 -18000 1 EASST}
+ {1962846000 -21600 0 EAST}
+ {1980993600 -18000 1 EASST}
+ {1994295600 -21600 0 EAST}
+ {2012443200 -18000 1 EASST}
+ {2025745200 -21600 0 EAST}
+ {2044497600 -18000 1 EASST}
+ {2057194800 -21600 0 EAST}
+ {2075947200 -18000 1 EASST}
+ {2088644400 -21600 0 EAST}
+ {2107396800 -18000 1 EASST}
+ {2120698800 -21600 0 EAST}
+ {2138846400 -18000 1 EASST}
+ {2152148400 -21600 0 EAST}
+ {2170296000 -18000 1 EASST}
+ {2183598000 -21600 0 EAST}
+ {2201745600 -18000 1 EASST}
+ {2215047600 -21600 0 EAST}
+ {2233800000 -18000 1 EASST}
+ {2246497200 -21600 0 EAST}
+ {2265249600 -18000 1 EASST}
+ {2277946800 -21600 0 EAST}
+ {2296699200 -18000 1 EASST}
+ {2310001200 -21600 0 EAST}
+ {2328148800 -18000 1 EASST}
+ {2341450800 -21600 0 EAST}
+ {2359598400 -18000 1 EASST}
+ {2372900400 -21600 0 EAST}
+ {2391652800 -18000 1 EASST}
+ {2404350000 -21600 0 EAST}
+ {2423102400 -18000 1 EASST}
+ {2435799600 -21600 0 EAST}
+ {2454552000 -18000 1 EASST}
+ {2467854000 -21600 0 EAST}
+ {2486001600 -18000 1 EASST}
+ {2499303600 -21600 0 EAST}
+ {2517451200 -18000 1 EASST}
+ {2530753200 -21600 0 EAST}
+ {2548900800 -18000 1 EASST}
+ {2562202800 -21600 0 EAST}
+ {2580955200 -18000 1 EASST}
+ {2593652400 -21600 0 EAST}
+ {2612404800 -18000 1 EASST}
+ {2625102000 -21600 0 EAST}
+ {2643854400 -18000 1 EASST}
+ {2657156400 -21600 0 EAST}
+ {2675304000 -18000 1 EASST}
+ {2688606000 -21600 0 EAST}
+ {2706753600 -18000 1 EASST}
+ {2720055600 -21600 0 EAST}
+ {2738808000 -18000 1 EASST}
+ {2751505200 -21600 0 EAST}
+ {2770257600 -18000 1 EASST}
+ {2782954800 -21600 0 EAST}
+ {2801707200 -18000 1 EASST}
+ {2814404400 -21600 0 EAST}
+ {2833156800 -18000 1 EASST}
+ {2846458800 -21600 0 EAST}
+ {2864606400 -18000 1 EASST}
+ {2877908400 -21600 0 EAST}
+ {2896056000 -18000 1 EASST}
+ {2909358000 -21600 0 EAST}
+ {2928110400 -18000 1 EASST}
+ {2940807600 -21600 0 EAST}
+ {2959560000 -18000 1 EASST}
+ {2972257200 -21600 0 EAST}
+ {2991009600 -18000 1 EASST}
+ {3004311600 -21600 0 EAST}
+ {3022459200 -18000 1 EASST}
+ {3035761200 -21600 0 EAST}
+ {3053908800 -18000 1 EASST}
+ {3067210800 -21600 0 EAST}
+ {3085358400 -18000 1 EASST}
+ {3098660400 -21600 0 EAST}
+ {3117412800 -18000 1 EASST}
+ {3130110000 -21600 0 EAST}
+ {3148862400 -18000 1 EASST}
+ {3161559600 -21600 0 EAST}
+ {3180312000 -18000 1 EASST}
+ {3193614000 -21600 0 EAST}
+ {3211761600 -18000 1 EASST}
+ {3225063600 -21600 0 EAST}
+ {3243211200 -18000 1 EASST}
+ {3256513200 -21600 0 EAST}
+ {3275265600 -18000 1 EASST}
+ {3287962800 -21600 0 EAST}
+ {3306715200 -18000 1 EASST}
+ {3319412400 -21600 0 EAST}
+ {3338164800 -18000 1 EASST}
+ {3351466800 -21600 0 EAST}
+ {3369614400 -18000 1 EASST}
+ {3382916400 -21600 0 EAST}
+ {3401064000 -18000 1 EASST}
+ {3414366000 -21600 0 EAST}
+ {3432513600 -18000 1 EASST}
+ {3445815600 -21600 0 EAST}
+ {3464568000 -18000 1 EASST}
+ {3477265200 -21600 0 EAST}
+ {3496017600 -18000 1 EASST}
+ {3508714800 -21600 0 EAST}
+ {3527467200 -18000 1 EASST}
+ {3540769200 -21600 0 EAST}
+ {3558916800 -18000 1 EASST}
+ {3572218800 -21600 0 EAST}
+ {3590366400 -18000 1 EASST}
+ {3603668400 -21600 0 EAST}
+ {3622420800 -18000 1 EASST}
+ {3635118000 -21600 0 EAST}
+ {3653870400 -18000 1 EASST}
+ {3666567600 -21600 0 EAST}
+ {3685320000 -18000 1 EASST}
+ {3698017200 -21600 0 EAST}
+ {3716769600 -18000 1 EASST}
+ {3730071600 -21600 0 EAST}
+ {3748219200 -18000 1 EASST}
+ {3761521200 -21600 0 EAST}
+ {3779668800 -18000 1 EASST}
+ {3792970800 -21600 0 EAST}
+ {3811723200 -18000 1 EASST}
+ {3824420400 -21600 0 EAST}
+ {3843172800 -18000 1 EASST}
+ {3855870000 -21600 0 EAST}
+ {3874622400 -18000 1 EASST}
+ {3887924400 -21600 0 EAST}
+ {3906072000 -18000 1 EASST}
+ {3919374000 -21600 0 EAST}
+ {3937521600 -18000 1 EASST}
+ {3950823600 -21600 0 EAST}
+ {3968971200 -18000 1 EASST}
+ {3982273200 -21600 0 EAST}
+ {4001025600 -18000 1 EASST}
+ {4013722800 -21600 0 EAST}
+ {4032475200 -18000 1 EASST}
+ {4045172400 -21600 0 EAST}
+ {4063924800 -18000 1 EASST}
+ {4077226800 -21600 0 EAST}
+ {4095374400 -18000 1 EASST}
+}
diff --git a/library/tzdata/Pacific/Efate b/library/tzdata/Pacific/Efate
new file mode 100644
index 0000000..b586bc3
--- /dev/null
+++ b/library/tzdata/Pacific/Efate
@@ -0,0 +1,26 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Efate) {
+ {-9223372036854775808 40396 0 LMT}
+ {-1829387596 39600 0 VUT}
+ {433256400 43200 1 VUST}
+ {448977600 39600 0 VUT}
+ {467298000 43200 1 VUST}
+ {480427200 39600 0 VUT}
+ {496760400 43200 1 VUST}
+ {511876800 39600 0 VUT}
+ {528210000 43200 1 VUST}
+ {543931200 39600 0 VUT}
+ {559659600 43200 1 VUST}
+ {575380800 39600 0 VUT}
+ {591109200 43200 1 VUST}
+ {606830400 39600 0 VUT}
+ {622558800 43200 1 VUST}
+ {638280000 39600 0 VUT}
+ {654008400 43200 1 VUST}
+ {669729600 39600 0 VUT}
+ {686062800 43200 1 VUST}
+ {696340800 39600 0 VUT}
+ {719931600 43200 1 VUST}
+ {727790400 39600 0 VUT}
+}
diff --git a/library/tzdata/Pacific/Enderbury b/library/tzdata/Pacific/Enderbury
new file mode 100644
index 0000000..c184560
--- /dev/null
+++ b/library/tzdata/Pacific/Enderbury
@@ -0,0 +1,8 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Enderbury) {
+ {-9223372036854775808 -41060 0 LMT}
+ {-2177411740 -43200 0 PHOT}
+ {307627200 -39600 0 PHOT}
+ {788958000 46800 0 PHOT}
+}
diff --git a/library/tzdata/Pacific/Fakaofo b/library/tzdata/Pacific/Fakaofo
new file mode 100644
index 0000000..83b0ef7
--- /dev/null
+++ b/library/tzdata/Pacific/Fakaofo
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Fakaofo) {
+ {-9223372036854775808 -41096 0 LMT}
+ {-2177411704 -36000 0 TKT}
+}
diff --git a/library/tzdata/Pacific/Fiji b/library/tzdata/Pacific/Fiji
new file mode 100644
index 0000000..5f6e02f
--- /dev/null
+++ b/library/tzdata/Pacific/Fiji
@@ -0,0 +1,10 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Fiji) {
+ {-9223372036854775808 42820 0 LMT}
+ {-1709985220 43200 0 FJT}
+ {909842400 46800 1 FJST}
+ {920124000 43200 0 FJT}
+ {941896800 46800 1 FJST}
+ {951573600 43200 0 FJT}
+}
diff --git a/library/tzdata/Pacific/Funafuti b/library/tzdata/Pacific/Funafuti
new file mode 100644
index 0000000..6e14d0e
--- /dev/null
+++ b/library/tzdata/Pacific/Funafuti
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Funafuti) {
+ {-9223372036854775808 43012 0 LMT}
+ {-2177495812 43200 0 TVT}
+}
diff --git a/library/tzdata/Pacific/Galapagos b/library/tzdata/Pacific/Galapagos
new file mode 100644
index 0000000..357c26e
--- /dev/null
+++ b/library/tzdata/Pacific/Galapagos
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Galapagos) {
+ {-9223372036854775808 -21504 0 LMT}
+ {-1230746496 -18000 0 ECT}
+ {504939600 -21600 0 GALT}
+}
diff --git a/library/tzdata/Pacific/Gambier b/library/tzdata/Pacific/Gambier
new file mode 100644
index 0000000..88e5b4f
--- /dev/null
+++ b/library/tzdata/Pacific/Gambier
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Gambier) {
+ {-9223372036854775808 -32388 0 LMT}
+ {-1806678012 -32400 0 GAMT}
+}
diff --git a/library/tzdata/Pacific/Guadalcanal b/library/tzdata/Pacific/Guadalcanal
new file mode 100644
index 0000000..2823890
--- /dev/null
+++ b/library/tzdata/Pacific/Guadalcanal
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Guadalcanal) {
+ {-9223372036854775808 38388 0 LMT}
+ {-1806748788 39600 0 SBT}
+}
diff --git a/library/tzdata/Pacific/Guam b/library/tzdata/Pacific/Guam
new file mode 100644
index 0000000..6aceb20
--- /dev/null
+++ b/library/tzdata/Pacific/Guam
@@ -0,0 +1,8 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Guam) {
+ {-9223372036854775808 -51660 0 LMT}
+ {-3944626740 34740 0 LMT}
+ {-2177487540 36000 0 GST}
+ {977493600 36000 0 ChST}
+}
diff --git a/library/tzdata/Pacific/Honolulu b/library/tzdata/Pacific/Honolulu
new file mode 100644
index 0000000..dbbaaaa
--- /dev/null
+++ b/library/tzdata/Pacific/Honolulu
@@ -0,0 +1,12 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Honolulu) {
+ {-9223372036854775808 -37886 0 LMT}
+ {-2208907714 -37800 0 HST}
+ {-1157283000 -34200 1 HDT}
+ {-1155472200 -34200 0 HST}
+ {-880201800 -34200 1 HWT}
+ {-769395600 -34200 1 HPT}
+ {-765376200 -37800 0 HST}
+ {-712150200 -36000 0 HST}
+}
diff --git a/library/tzdata/Pacific/Johnston b/library/tzdata/Pacific/Johnston
new file mode 100644
index 0000000..94a1a15
--- /dev/null
+++ b/library/tzdata/Pacific/Johnston
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Johnston) {
+ {-9223372036854775808 -36000 0 HST}
+}
diff --git a/library/tzdata/Pacific/Kiritimati b/library/tzdata/Pacific/Kiritimati
new file mode 100644
index 0000000..dda035a
--- /dev/null
+++ b/library/tzdata/Pacific/Kiritimati
@@ -0,0 +1,8 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Kiritimati) {
+ {-9223372036854775808 -37760 0 LMT}
+ {-2177415040 -38400 0 LINT}
+ {307622400 -36000 0 LINT}
+ {788954400 50400 0 LINT}
+}
diff --git a/library/tzdata/Pacific/Kosrae b/library/tzdata/Pacific/Kosrae
new file mode 100644
index 0000000..db8a6ed
--- /dev/null
+++ b/library/tzdata/Pacific/Kosrae
@@ -0,0 +1,8 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Kosrae) {
+ {-9223372036854775808 39116 0 LMT}
+ {-2177491916 39600 0 KOST}
+ {-7988400 43200 0 KOST}
+ {915105600 39600 0 KOST}
+}
diff --git a/library/tzdata/Pacific/Kwajalein b/library/tzdata/Pacific/Kwajalein
new file mode 100644
index 0000000..1583b52
--- /dev/null
+++ b/library/tzdata/Pacific/Kwajalein
@@ -0,0 +1,8 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Kwajalein) {
+ {-9223372036854775808 40160 0 LMT}
+ {-2177492960 39600 0 MHT}
+ {-7988400 -43200 0 KWAT}
+ {745848000 43200 0 MHT}
+}
diff --git a/library/tzdata/Pacific/Majuro b/library/tzdata/Pacific/Majuro
new file mode 100644
index 0000000..71fa222
--- /dev/null
+++ b/library/tzdata/Pacific/Majuro
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Majuro) {
+ {-9223372036854775808 41088 0 LMT}
+ {-2177493888 39600 0 MHT}
+ {-7988400 43200 0 MHT}
+}
diff --git a/library/tzdata/Pacific/Marquesas b/library/tzdata/Pacific/Marquesas
new file mode 100644
index 0000000..f8e618c
--- /dev/null
+++ b/library/tzdata/Pacific/Marquesas
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Marquesas) {
+ {-9223372036854775808 -33480 0 LMT}
+ {-1806676920 -34200 0 MART}
+}
diff --git a/library/tzdata/Pacific/Midway b/library/tzdata/Pacific/Midway
new file mode 100644
index 0000000..4d49e70
--- /dev/null
+++ b/library/tzdata/Pacific/Midway
@@ -0,0 +1,10 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Midway) {
+ {-9223372036854775808 -42568 0 LMT}
+ {-2177410232 -39600 0 NST}
+ {-428504400 -36000 1 NDT}
+ {-420645600 -39600 0 NST}
+ {-86878800 -39600 0 BST}
+ {439038000 -39600 0 SST}
+}
diff --git a/library/tzdata/Pacific/Nauru b/library/tzdata/Pacific/Nauru
new file mode 100644
index 0000000..be30e5b
--- /dev/null
+++ b/library/tzdata/Pacific/Nauru
@@ -0,0 +1,9 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Nauru) {
+ {-9223372036854775808 40060 0 LMT}
+ {-1545131260 41400 0 NRT}
+ {-877347000 32400 0 JST}
+ {-800960400 41400 0 NRT}
+ {294323400 43200 0 NRT}
+}
diff --git a/library/tzdata/Pacific/Niue b/library/tzdata/Pacific/Niue
new file mode 100644
index 0000000..529529a
--- /dev/null
+++ b/library/tzdata/Pacific/Niue
@@ -0,0 +1,8 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Niue) {
+ {-9223372036854775808 -40780 0 LMT}
+ {-2177412020 -40800 0 NUT}
+ {-599575200 -41400 0 NUT}
+ {276089400 -39600 0 NUT}
+}
diff --git a/library/tzdata/Pacific/Norfolk b/library/tzdata/Pacific/Norfolk
new file mode 100644
index 0000000..f6d5638
--- /dev/null
+++ b/library/tzdata/Pacific/Norfolk
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Norfolk) {
+ {-9223372036854775808 40312 0 LMT}
+ {-2177493112 40320 0 NMT}
+ {-599656320 41400 0 NFT}
+}
diff --git a/library/tzdata/Pacific/Noumea b/library/tzdata/Pacific/Noumea
new file mode 100644
index 0000000..8b5b086
--- /dev/null
+++ b/library/tzdata/Pacific/Noumea
@@ -0,0 +1,12 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Noumea) {
+ {-9223372036854775808 39948 0 LMT}
+ {-1829387148 39600 0 NCT}
+ {250002000 43200 1 NCST}
+ {257342400 39600 0 NCT}
+ {281451600 43200 1 NCST}
+ {288878400 39600 0 NCT}
+ {849405600 43200 1 NCST}
+ {857268000 39600 0 NCT}
+}
diff --git a/library/tzdata/Pacific/Pago_Pago b/library/tzdata/Pacific/Pago_Pago
new file mode 100644
index 0000000..a23a4a2
--- /dev/null
+++ b/library/tzdata/Pacific/Pago_Pago
@@ -0,0 +1,10 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Pago_Pago) {
+ {-9223372036854775808 45432 0 LMT}
+ {-2855738232 -40968 0 LMT}
+ {-1861879032 -41400 0 SAMT}
+ {-631110600 -39600 0 NST}
+ {-86878800 -39600 0 BST}
+ {439038000 -39600 0 SST}
+}
diff --git a/library/tzdata/Pacific/Palau b/library/tzdata/Pacific/Palau
new file mode 100644
index 0000000..23fb850
--- /dev/null
+++ b/library/tzdata/Pacific/Palau
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Palau) {
+ {-9223372036854775808 32276 0 LMT}
+ {-2177485076 32400 0 PWT}
+}
diff --git a/library/tzdata/Pacific/Pitcairn b/library/tzdata/Pacific/Pitcairn
new file mode 100644
index 0000000..c78c3ee
--- /dev/null
+++ b/library/tzdata/Pacific/Pitcairn
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Pitcairn) {
+ {-9223372036854775808 -31220 0 LMT}
+ {-2177421580 -30600 0 PNT}
+ {893665800 -28800 0 PST}
+}
diff --git a/library/tzdata/Pacific/Ponape b/library/tzdata/Pacific/Ponape
new file mode 100644
index 0000000..58d5dac
--- /dev/null
+++ b/library/tzdata/Pacific/Ponape
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Ponape) {
+ {-9223372036854775808 37972 0 LMT}
+ {-2177490772 39600 0 PONT}
+}
diff --git a/library/tzdata/Pacific/Port_Moresby b/library/tzdata/Pacific/Port_Moresby
new file mode 100644
index 0000000..8b90e04
--- /dev/null
+++ b/library/tzdata/Pacific/Port_Moresby
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Port_Moresby) {
+ {-9223372036854775808 35320 0 LMT}
+ {-2840176120 35312 0 PMMT}
+ {-2366790512 36000 0 PGT}
+}
diff --git a/library/tzdata/Pacific/Rarotonga b/library/tzdata/Pacific/Rarotonga
new file mode 100644
index 0000000..d7aae35
--- /dev/null
+++ b/library/tzdata/Pacific/Rarotonga
@@ -0,0 +1,32 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Rarotonga) {
+ {-9223372036854775808 -38344 0 LMT}
+ {-2177414456 -37800 0 CKT}
+ {279714600 -34200 0 CKHST}
+ {289387800 -36000 0 CKT}
+ {309952800 -34200 1 CKHST}
+ {320837400 -36000 0 CKT}
+ {341402400 -34200 1 CKHST}
+ {352287000 -36000 0 CKT}
+ {372852000 -34200 1 CKHST}
+ {384341400 -36000 0 CKT}
+ {404906400 -34200 1 CKHST}
+ {415791000 -36000 0 CKT}
+ {436356000 -34200 1 CKHST}
+ {447240600 -36000 0 CKT}
+ {467805600 -34200 1 CKHST}
+ {478690200 -36000 0 CKT}
+ {499255200 -34200 1 CKHST}
+ {510139800 -36000 0 CKT}
+ {530704800 -34200 1 CKHST}
+ {541589400 -36000 0 CKT}
+ {562154400 -34200 1 CKHST}
+ {573643800 -36000 0 CKT}
+ {594208800 -34200 1 CKHST}
+ {605093400 -36000 0 CKT}
+ {625658400 -34200 1 CKHST}
+ {636543000 -36000 0 CKT}
+ {657108000 -34200 1 CKHST}
+ {667992600 -36000 0 CKT}
+}
diff --git a/library/tzdata/Pacific/Saipan b/library/tzdata/Pacific/Saipan
new file mode 100644
index 0000000..460ecf9
--- /dev/null
+++ b/library/tzdata/Pacific/Saipan
@@ -0,0 +1,9 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Saipan) {
+ {-9223372036854775808 -51420 0 LMT}
+ {-3944626980 34980 0 LMT}
+ {-2177487780 32400 0 MPT}
+ {-7981200 36000 0 MPT}
+ {977493600 36000 0 ChST}
+}
diff --git a/library/tzdata/Pacific/Samoa b/library/tzdata/Pacific/Samoa
new file mode 100644
index 0000000..43aae76
--- /dev/null
+++ b/library/tzdata/Pacific/Samoa
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Pacific/Pago_Pago)]} {
+ loadTimeZoneFile Pacific/Pago_Pago
+}
+set tzdata(:Pacific/Samoa) $TZData(:Pacific/Pago_Pago)
diff --git a/library/tzdata/Pacific/Tahiti b/library/tzdata/Pacific/Tahiti
new file mode 100644
index 0000000..055d631
--- /dev/null
+++ b/library/tzdata/Pacific/Tahiti
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Tahiti) {
+ {-9223372036854775808 -35896 0 LMT}
+ {-1806674504 -36000 0 TAHT}
+}
diff --git a/library/tzdata/Pacific/Tarawa b/library/tzdata/Pacific/Tarawa
new file mode 100644
index 0000000..03a8dcd
--- /dev/null
+++ b/library/tzdata/Pacific/Tarawa
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Tarawa) {
+ {-9223372036854775808 41524 0 LMT}
+ {-2177494324 43200 0 GILT}
+}
diff --git a/library/tzdata/Pacific/Tongatapu b/library/tzdata/Pacific/Tongatapu
new file mode 100644
index 0000000..4ba096b
--- /dev/null
+++ b/library/tzdata/Pacific/Tongatapu
@@ -0,0 +1,14 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Tongatapu) {
+ {-9223372036854775808 44360 0 LMT}
+ {-2177497160 44400 0 TOT}
+ {-915193200 46800 0 TOT}
+ {915102000 46800 0 TOT}
+ {939261600 50400 1 TOST}
+ {953431200 46800 0 TOT}
+ {973342800 50400 1 TOST}
+ {980596800 46800 0 TOT}
+ {1004792400 50400 1 TOST}
+ {1012046400 46800 0 TOT}
+}
diff --git a/library/tzdata/Pacific/Truk b/library/tzdata/Pacific/Truk
new file mode 100644
index 0000000..19dad5f
--- /dev/null
+++ b/library/tzdata/Pacific/Truk
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Truk) {
+ {-9223372036854775808 36428 0 LMT}
+ {-2177489228 36000 0 TRUT}
+}
diff --git a/library/tzdata/Pacific/Wake b/library/tzdata/Pacific/Wake
new file mode 100644
index 0000000..71d7ea4
--- /dev/null
+++ b/library/tzdata/Pacific/Wake
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Wake) {
+ {-9223372036854775808 39988 0 LMT}
+ {-2177492788 43200 0 WAKT}
+}
diff --git a/library/tzdata/Pacific/Wallis b/library/tzdata/Pacific/Wallis
new file mode 100644
index 0000000..5f02993
--- /dev/null
+++ b/library/tzdata/Pacific/Wallis
@@ -0,0 +1,6 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Wallis) {
+ {-9223372036854775808 44120 0 LMT}
+ {-2177496920 43200 0 WFT}
+}
diff --git a/library/tzdata/Pacific/Yap b/library/tzdata/Pacific/Yap
new file mode 100644
index 0000000..78d9677
--- /dev/null
+++ b/library/tzdata/Pacific/Yap
@@ -0,0 +1,7 @@
+# created by ../tools/tclZIC.tcl - do not edit
+
+set TZData(:Pacific/Yap) {
+ {-9223372036854775808 33152 0 LMT}
+ {-2177485952 32400 0 YAPT}
+ {-7981200 36000 0 YAPT}
+}
diff --git a/library/tzdata/Poland b/library/tzdata/Poland
new file mode 100644
index 0000000..8a522b1
--- /dev/null
+++ b/library/tzdata/Poland
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Warsaw)]} {
+ loadTimeZoneFile Europe/Warsaw
+}
+set tzdata(:Poland) $TZData(:Europe/Warsaw)
diff --git a/library/tzdata/Portugal b/library/tzdata/Portugal
new file mode 100644
index 0000000..83f54c5
--- /dev/null
+++ b/library/tzdata/Portugal
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Europe/Lisbon)]} {
+ loadTimeZoneFile Europe/Lisbon
+}
+set tzdata(:Portugal) $TZData(:Europe/Lisbon)
diff --git a/library/tzdata/ROC b/library/tzdata/ROC
new file mode 100644
index 0000000..589826d
--- /dev/null
+++ b/library/tzdata/ROC
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Taipei)]} {
+ loadTimeZoneFile Asia/Taipei
+}
+set tzdata(:ROC) $TZData(:Asia/Taipei)
diff --git a/library/tzdata/ROK b/library/tzdata/ROK
new file mode 100644
index 0000000..ee10fd1
--- /dev/null
+++ b/library/tzdata/ROK
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Seoul)]} {
+ loadTimeZoneFile Asia/Seoul
+}
+set tzdata(:ROK) $TZData(:Asia/Seoul)
diff --git a/library/tzdata/Singapore b/library/tzdata/Singapore
new file mode 100644
index 0000000..ad8dbaa
--- /dev/null
+++ b/library/tzdata/Singapore
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Asia/Singapore)]} {
+ loadTimeZoneFile Asia/Singapore
+}
+set tzdata(:Singapore) $TZData(:Asia/Singapore)
diff --git a/library/tzdata/SystemV/AST4 b/library/tzdata/SystemV/AST4
new file mode 100644
index 0000000..68c16ca
--- /dev/null
+++ b/library/tzdata/SystemV/AST4
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Puerto_Rico)]} {
+ loadTimeZoneFile America/Puerto_Rico
+}
+set tzdata(:SystemV/AST4) $TZData(:America/Puerto_Rico)
diff --git a/library/tzdata/SystemV/AST4ADT b/library/tzdata/SystemV/AST4ADT
new file mode 100644
index 0000000..135525a
--- /dev/null
+++ b/library/tzdata/SystemV/AST4ADT
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Halifax)]} {
+ loadTimeZoneFile America/Halifax
+}
+set tzdata(:SystemV/AST4ADT) $TZData(:America/Halifax)
diff --git a/library/tzdata/SystemV/CST6 b/library/tzdata/SystemV/CST6
new file mode 100644
index 0000000..65c8323
--- /dev/null
+++ b/library/tzdata/SystemV/CST6
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Regina)]} {
+ loadTimeZoneFile America/Regina
+}
+set tzdata(:SystemV/CST6) $TZData(:America/Regina)
diff --git a/library/tzdata/SystemV/CST6CDT b/library/tzdata/SystemV/CST6CDT
new file mode 100644
index 0000000..de8e2eb
--- /dev/null
+++ b/library/tzdata/SystemV/CST6CDT
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Chicago)]} {
+ loadTimeZoneFile America/Chicago
+}
+set tzdata(:SystemV/CST6CDT) $TZData(:America/Chicago)
diff --git a/library/tzdata/SystemV/EST5 b/library/tzdata/SystemV/EST5
new file mode 100644
index 0000000..b2e6844
--- /dev/null
+++ b/library/tzdata/SystemV/EST5
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Indianapolis)]} {
+ loadTimeZoneFile America/Indianapolis
+}
+set tzdata(:SystemV/EST5) $TZData(:America/Indianapolis)
diff --git a/library/tzdata/SystemV/EST5EDT b/library/tzdata/SystemV/EST5EDT
new file mode 100644
index 0000000..8cc725e
--- /dev/null
+++ b/library/tzdata/SystemV/EST5EDT
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/New_York)]} {
+ loadTimeZoneFile America/New_York
+}
+set tzdata(:SystemV/EST5EDT) $TZData(:America/New_York)
diff --git a/library/tzdata/SystemV/HST10 b/library/tzdata/SystemV/HST10
new file mode 100644
index 0000000..f9df247
--- /dev/null
+++ b/library/tzdata/SystemV/HST10
@@ -0,0 +1,5 @@
+# created by ../tools/tclZIC.tcl - do not edit
+if {![info exists TZData(Pacific/Honolulu)]} {
+ loadTimeZoneFile Pacific/Honolulu
+}
+set tzdata(:SystemV/HST10) $TZData(:Pacific/Honolulu)
diff --git a/library/tzdata/SystemV/MST7 b/library/tzdata/SystemV/MST7
new file mode 100644