AceTime  2.3.0
Date and time classes for Arduino that support timezones from the TZ Database.
zone_infos.cpp
1 // This file was generated by the following script:
2 //
3 // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py
4 // --input_dir /home/brian/src/AceTime/src/zonedbc/tzfiles
5 // --output_dir /home/brian/src/AceTime/src/zonedbc
6 // --tz_version 2023c
7 // --action zonedb
8 // --language arduino
9 // --scope complete
10 // --db_namespace zonedbc
11 // --start_year 1800
12 // --until_year 2200
13 //
14 // using the TZ Database files
15 //
16 // africa
17 // antarctica
18 // asia
19 // australasia
20 // backward
21 // etcetera
22 // europe
23 // northamerica
24 // southamerica
25 //
26 // from https://github.com/eggert/tz/releases/tag/2023c
27 //
28 // Supported Zones: 596 (350 zones, 246 links)
29 // Unsupported Zones: 0 (0 zones, 0 links)
30 //
31 // Requested Years: [1800,2200]
32 // Accurate Years: [-32767,32767]
33 //
34 // Original Years: [1844,2087]
35 // Generated Years: [1844,2087]
36 // Lower/Upper Truncated: [False,False]
37 //
38 // Estimator Years: [1800,2090]
39 // Max Buffer Size: 8
40 //
41 // Records:
42 // Infos: 596
43 // Eras: 1949
44 // Policies: 134
45 // Rules: 2238
46 //
47 // Memory (8-bits):
48 // Context: 16
49 // Rules: 26856
50 // Policies: 402
51 // Eras: 29235
52 // Zones: 4550
53 // Links: 3198
54 // Registry: 1192
55 // Formats: 1032
56 // Letters: 160
57 // Fragments: 150
58 // Names: 5649 (original: 9076)
59 // TOTAL: 72440
60 //
61 // Memory (32-bits):
62 // Context: 24
63 // Rules: 26856
64 // Policies: 1072
65 // Eras: 38980
66 // Zones: 8400
67 // Links: 5904
68 // Registry: 2384
69 // Formats: 1032
70 // Letters: 216
71 // Fragments: 178
72 // Names: 5649 (original: 9076)
73 // TOTAL: 90695
74 //
75 // DO NOT EDIT
76 
77 #include <zoneinfo/compat.h>
78 #include "zone_policies.h"
79 #include "zone_infos.h"
80 
81 namespace ace_time {
82 namespace zonedbc {
83 
84 //---------------------------------------------------------------------------
85 // ZoneContext
86 //---------------------------------------------------------------------------
87 
88 static const char kVersionString[] ACE_TIME_PROGMEM = "2023c";
89 const __FlashStringHelper* const kTzDatabaseVersion =
90  (const __FlashStringHelper*) kVersionString;
91 
92 static const char kFragment1[] ACE_TIME_PROGMEM = "Africa/";
93 static const char kFragment2[] ACE_TIME_PROGMEM = "America/";
94 static const char kFragment3[] ACE_TIME_PROGMEM = "Antarctica/";
95 static const char kFragment4[] ACE_TIME_PROGMEM = "Argentina/";
96 static const char kFragment5[] ACE_TIME_PROGMEM = "Asia/";
97 static const char kFragment6[] ACE_TIME_PROGMEM = "Atlantic/";
98 static const char kFragment7[] ACE_TIME_PROGMEM = "Australia/";
99 static const char kFragment8[] ACE_TIME_PROGMEM = "Brazil/";
100 static const char kFragment9[] ACE_TIME_PROGMEM = "Canada/";
101 static const char kFragment10[] ACE_TIME_PROGMEM = "Etc/";
102 static const char kFragment11[] ACE_TIME_PROGMEM = "Europe/";
103 static const char kFragment12[] ACE_TIME_PROGMEM = "Indian/";
104 static const char kFragment13[] ACE_TIME_PROGMEM = "Indiana/";
105 static const char kFragment14[] ACE_TIME_PROGMEM = "Pacific/";
106 
107 const char* const kFragments[] ACE_TIME_PROGMEM = {
108  nullptr, // '\x00' cannot exist
109  kFragment1, // '\x01' "Africa/"
110  kFragment2, // '\x02' "America/"
111  kFragment3, // '\x03' "Antarctica/"
112  kFragment4, // '\x04' "Argentina/"
113  kFragment5, // '\x05' "Asia/"
114  kFragment6, // '\x06' "Atlantic/"
115  kFragment7, // '\x07' "Australia/"
116  kFragment8, // '\x08' "Brazil/"
117  kFragment9, // '\x09' "Canada/"
118  kFragment10, // '\x0a' "Etc/"
119  kFragment11, // '\x0b' "Europe/"
120  kFragment12, // '\x0c' "Indian/"
121  kFragment13, // '\x0d' "Indiana/"
122  kFragment14, // '\x0e' "Pacific/"
123 
124 };
125 
126 static const char kLetter0[] ACE_TIME_PROGMEM = "";
127 static const char kLetter1[] ACE_TIME_PROGMEM = "+00";
128 static const char kLetter2[] ACE_TIME_PROGMEM = "+02";
129 static const char kLetter3[] ACE_TIME_PROGMEM = "+05";
130 static const char kLetter4[] ACE_TIME_PROGMEM = "-0430";
131 static const char kLetter5[] ACE_TIME_PROGMEM = "-0530";
132 static const char kLetter6[] ACE_TIME_PROGMEM = "BDST";
133 static const char kLetter7[] ACE_TIME_PROGMEM = "BST";
134 static const char kLetter8[] ACE_TIME_PROGMEM = "CAT";
135 static const char kLetter9[] ACE_TIME_PROGMEM = "CDT";
136 static const char kLetter10[] ACE_TIME_PROGMEM = "CPT";
137 static const char kLetter11[] ACE_TIME_PROGMEM = "CST";
138 static const char kLetter12[] ACE_TIME_PROGMEM = "CWT";
139 static const char kLetter13[] ACE_TIME_PROGMEM = "D";
140 static const char kLetter14[] ACE_TIME_PROGMEM = "DD";
141 static const char kLetter15[] ACE_TIME_PROGMEM = "EDT";
142 static const char kLetter16[] ACE_TIME_PROGMEM = "EST";
143 static const char kLetter17[] ACE_TIME_PROGMEM = "GMT";
144 static const char kLetter18[] ACE_TIME_PROGMEM = "M";
145 static const char kLetter19[] ACE_TIME_PROGMEM = "MDST";
146 static const char kLetter20[] ACE_TIME_PROGMEM = "MMT";
147 static const char kLetter21[] ACE_TIME_PROGMEM = "MSD";
148 static const char kLetter22[] ACE_TIME_PROGMEM = "MSK";
149 static const char kLetter23[] ACE_TIME_PROGMEM = "MST";
150 static const char kLetter24[] ACE_TIME_PROGMEM = "P";
151 static const char kLetter25[] ACE_TIME_PROGMEM = "S";
152 static const char kLetter26[] ACE_TIME_PROGMEM = "W";
153 static const char kLetter27[] ACE_TIME_PROGMEM = "WAT";
154 
155 const char* const kLetters[] ACE_TIME_PROGMEM = {
156  kLetter0, // ""
157  kLetter1, // "+00"
158  kLetter2, // "+02"
159  kLetter3, // "+05"
160  kLetter4, // "-0430"
161  kLetter5, // "-0530"
162  kLetter6, // "BDST"
163  kLetter7, // "BST"
164  kLetter8, // "CAT"
165  kLetter9, // "CDT"
166  kLetter10, // "CPT"
167  kLetter11, // "CST"
168  kLetter12, // "CWT"
169  kLetter13, // "D"
170  kLetter14, // "DD"
171  kLetter15, // "EDT"
172  kLetter16, // "EST"
173  kLetter17, // "GMT"
174  kLetter18, // "M"
175  kLetter19, // "MDST"
176  kLetter20, // "MMT"
177  kLetter21, // "MSD"
178  kLetter22, // "MSK"
179  kLetter23, // "MST"
180  kLetter24, // "P"
181  kLetter25, // "S"
182  kLetter26, // "W"
183  kLetter27, // "WAT"
184 
185 };
186 
187 const complete::ZoneContext kZoneContext ACE_TIME_PROGMEM = {
188  1800 /*startYear*/,
189  2200 /*untilYear*/,
190  -32767 /*startYearAccurate*/,
191  32767 /*untilYearAccurate*/,
192  2100 /*baseYear*/,
193  8 /*maxTransitions*/,
194  kVersionString /*tzVersion*/,
195  15 /*numFragments*/,
196  28 /*numLetters*/,
197  kFragments /*fragments*/,
198  kLetters /*letters*/,
199 };
200 
201 //---------------------------------------------------------------------------
202 // Zones: 350
203 // Eras: 1949
204 //---------------------------------------------------------------------------
205 
206 //---------------------------------------------------------------------------
207 // Zone name: Africa/Abidjan
208 // Eras: 2
209 //---------------------------------------------------------------------------
210 
211 static const complete::ZoneEra kZoneEraAfrica_Abidjan[] ACE_TIME_PROGMEM = {
212  // -0:16:08 - LMT 1912
213  {
214  nullptr /*zonePolicy*/,
215  "LMT" /*format*/,
216  -65 /*offsetCode (-968/15)*/,
217  7 /*offsetRemainder (-968%15)*/,
218  0 /*deltaMinutes*/,
219  1912 /*untilYear*/,
220  1 /*untilMonth*/,
221  1 /*untilDay*/,
222  0 /*untilTimeCode (0/15)*/,
223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
224  },
225  // 0:00 - GMT
226  {
227  nullptr /*zonePolicy*/,
228  "GMT" /*format*/,
229  0 /*offsetCode (0/15)*/,
230  0 /*offsetRemainder (0%15)*/,
231  0 /*deltaMinutes*/,
232  32767 /*untilYear*/,
233  1 /*untilMonth*/,
234  1 /*untilDay*/,
235  0 /*untilTimeCode (0/15)*/,
236  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
237  },
238 
239 };
240 
241 static const char kZoneNameAfrica_Abidjan[] ACE_TIME_PROGMEM = "\x01" "Abidjan";
242 
243 const complete::ZoneInfo kZoneAfrica_Abidjan ACE_TIME_PROGMEM = {
244  kZoneNameAfrica_Abidjan /*name*/,
245  0xc21305a3 /*zoneId*/,
246  &kZoneContext /*zoneContext*/,
247  2 /*numEras*/,
248  kZoneEraAfrica_Abidjan /*eras*/,
249  nullptr /*targetInfo*/,
250 };
251 
252 //---------------------------------------------------------------------------
253 // Zone name: Africa/Algiers
254 // Eras: 10
255 //---------------------------------------------------------------------------
256 
257 static const complete::ZoneEra kZoneEraAfrica_Algiers[] ACE_TIME_PROGMEM = {
258  // 0:12:12 - LMT 1891 Mar 16
259  {
260  nullptr /*zonePolicy*/,
261  "LMT" /*format*/,
262  48 /*offsetCode (732/15)*/,
263  12 /*offsetRemainder (732%15)*/,
264  0 /*deltaMinutes*/,
265  1891 /*untilYear*/,
266  3 /*untilMonth*/,
267  16 /*untilDay*/,
268  0 /*untilTimeCode (0/15)*/,
269  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
270  },
271  // 0:09:21 - PMT 1911 Mar 11
272  {
273  nullptr /*zonePolicy*/,
274  "PMT" /*format*/,
275  37 /*offsetCode (561/15)*/,
276  6 /*offsetRemainder (561%15)*/,
277  0 /*deltaMinutes*/,
278  1911 /*untilYear*/,
279  3 /*untilMonth*/,
280  11 /*untilDay*/,
281  0 /*untilTimeCode (0/15)*/,
282  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
283  },
284  // 0:00 Algeria WE%sT 1940 Feb 25 2:00
285  {
286  &kZonePolicyAlgeria /*zonePolicy*/,
287  "WE%T" /*format*/,
288  0 /*offsetCode (0/15)*/,
289  0 /*offsetRemainder (0%15)*/,
290  0 /*deltaMinutes*/,
291  1940 /*untilYear*/,
292  2 /*untilMonth*/,
293  25 /*untilDay*/,
294  480 /*untilTimeCode (7200/15)*/,
295  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
296  },
297  // 1:00 Algeria CE%sT 1946 Oct 7
298  {
299  &kZonePolicyAlgeria /*zonePolicy*/,
300  "CE%T" /*format*/,
301  240 /*offsetCode (3600/15)*/,
302  0 /*offsetRemainder (3600%15)*/,
303  0 /*deltaMinutes*/,
304  1946 /*untilYear*/,
305  10 /*untilMonth*/,
306  7 /*untilDay*/,
307  0 /*untilTimeCode (0/15)*/,
308  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
309  },
310  // 0:00 - WET 1956 Jan 29
311  {
312  nullptr /*zonePolicy*/,
313  "WET" /*format*/,
314  0 /*offsetCode (0/15)*/,
315  0 /*offsetRemainder (0%15)*/,
316  0 /*deltaMinutes*/,
317  1956 /*untilYear*/,
318  1 /*untilMonth*/,
319  29 /*untilDay*/,
320  0 /*untilTimeCode (0/15)*/,
321  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
322  },
323  // 1:00 - CET 1963 Apr 14
324  {
325  nullptr /*zonePolicy*/,
326  "CET" /*format*/,
327  240 /*offsetCode (3600/15)*/,
328  0 /*offsetRemainder (3600%15)*/,
329  0 /*deltaMinutes*/,
330  1963 /*untilYear*/,
331  4 /*untilMonth*/,
332  14 /*untilDay*/,
333  0 /*untilTimeCode (0/15)*/,
334  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
335  },
336  // 0:00 Algeria WE%sT 1977 Oct 21
337  {
338  &kZonePolicyAlgeria /*zonePolicy*/,
339  "WE%T" /*format*/,
340  0 /*offsetCode (0/15)*/,
341  0 /*offsetRemainder (0%15)*/,
342  0 /*deltaMinutes*/,
343  1977 /*untilYear*/,
344  10 /*untilMonth*/,
345  21 /*untilDay*/,
346  0 /*untilTimeCode (0/15)*/,
347  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
348  },
349  // 1:00 Algeria CE%sT 1979 Oct 26
350  {
351  &kZonePolicyAlgeria /*zonePolicy*/,
352  "CE%T" /*format*/,
353  240 /*offsetCode (3600/15)*/,
354  0 /*offsetRemainder (3600%15)*/,
355  0 /*deltaMinutes*/,
356  1979 /*untilYear*/,
357  10 /*untilMonth*/,
358  26 /*untilDay*/,
359  0 /*untilTimeCode (0/15)*/,
360  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
361  },
362  // 0:00 Algeria WE%sT 1981 May
363  {
364  &kZonePolicyAlgeria /*zonePolicy*/,
365  "WE%T" /*format*/,
366  0 /*offsetCode (0/15)*/,
367  0 /*offsetRemainder (0%15)*/,
368  0 /*deltaMinutes*/,
369  1981 /*untilYear*/,
370  5 /*untilMonth*/,
371  1 /*untilDay*/,
372  0 /*untilTimeCode (0/15)*/,
373  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
374  },
375  // 1:00 - CET
376  {
377  nullptr /*zonePolicy*/,
378  "CET" /*format*/,
379  240 /*offsetCode (3600/15)*/,
380  0 /*offsetRemainder (3600%15)*/,
381  0 /*deltaMinutes*/,
382  32767 /*untilYear*/,
383  1 /*untilMonth*/,
384  1 /*untilDay*/,
385  0 /*untilTimeCode (0/15)*/,
386  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
387  },
388 
389 };
390 
391 static const char kZoneNameAfrica_Algiers[] ACE_TIME_PROGMEM = "\x01" "Algiers";
392 
393 const complete::ZoneInfo kZoneAfrica_Algiers ACE_TIME_PROGMEM = {
394  kZoneNameAfrica_Algiers /*name*/,
395  0xd94515c1 /*zoneId*/,
396  &kZoneContext /*zoneContext*/,
397  10 /*numEras*/,
398  kZoneEraAfrica_Algiers /*eras*/,
399  nullptr /*targetInfo*/,
400 };
401 
402 //---------------------------------------------------------------------------
403 // Zone name: Africa/Bissau
404 // Eras: 3
405 //---------------------------------------------------------------------------
406 
407 static const complete::ZoneEra kZoneEraAfrica_Bissau[] ACE_TIME_PROGMEM = {
408  // -1:02:20 - LMT 1912 Jan 1 1:00u
409  {
410  nullptr /*zonePolicy*/,
411  "LMT" /*format*/,
412  -250 /*offsetCode (-3740/15)*/,
413  10 /*offsetRemainder (-3740%15)*/,
414  0 /*deltaMinutes*/,
415  1912 /*untilYear*/,
416  1 /*untilMonth*/,
417  1 /*untilDay*/,
418  240 /*untilTimeCode (3600/15)*/,
419  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
420  },
421  // -1:00 - -01 1975
422  {
423  nullptr /*zonePolicy*/,
424  "-01" /*format*/,
425  -240 /*offsetCode (-3600/15)*/,
426  0 /*offsetRemainder (-3600%15)*/,
427  0 /*deltaMinutes*/,
428  1975 /*untilYear*/,
429  1 /*untilMonth*/,
430  1 /*untilDay*/,
431  0 /*untilTimeCode (0/15)*/,
432  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
433  },
434  // 0:00 - GMT
435  {
436  nullptr /*zonePolicy*/,
437  "GMT" /*format*/,
438  0 /*offsetCode (0/15)*/,
439  0 /*offsetRemainder (0%15)*/,
440  0 /*deltaMinutes*/,
441  32767 /*untilYear*/,
442  1 /*untilMonth*/,
443  1 /*untilDay*/,
444  0 /*untilTimeCode (0/15)*/,
445  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
446  },
447 
448 };
449 
450 static const char kZoneNameAfrica_Bissau[] ACE_TIME_PROGMEM = "\x01" "Bissau";
451 
452 const complete::ZoneInfo kZoneAfrica_Bissau ACE_TIME_PROGMEM = {
453  kZoneNameAfrica_Bissau /*name*/,
454  0x75564141 /*zoneId*/,
455  &kZoneContext /*zoneContext*/,
456  3 /*numEras*/,
457  kZoneEraAfrica_Bissau /*eras*/,
458  nullptr /*targetInfo*/,
459 };
460 
461 //---------------------------------------------------------------------------
462 // Zone name: Africa/Cairo
463 // Eras: 2
464 //---------------------------------------------------------------------------
465 
466 static const complete::ZoneEra kZoneEraAfrica_Cairo[] ACE_TIME_PROGMEM = {
467  // 2:05:09 - LMT 1900 Oct
468  {
469  nullptr /*zonePolicy*/,
470  "LMT" /*format*/,
471  500 /*offsetCode (7509/15)*/,
472  9 /*offsetRemainder (7509%15)*/,
473  0 /*deltaMinutes*/,
474  1900 /*untilYear*/,
475  10 /*untilMonth*/,
476  1 /*untilDay*/,
477  0 /*untilTimeCode (0/15)*/,
478  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
479  },
480  // 2:00 Egypt EE%sT
481  {
482  &kZonePolicyEgypt /*zonePolicy*/,
483  "EE%T" /*format*/,
484  480 /*offsetCode (7200/15)*/,
485  0 /*offsetRemainder (7200%15)*/,
486  0 /*deltaMinutes*/,
487  32767 /*untilYear*/,
488  1 /*untilMonth*/,
489  1 /*untilDay*/,
490  0 /*untilTimeCode (0/15)*/,
491  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
492  },
493 
494 };
495 
496 static const char kZoneNameAfrica_Cairo[] ACE_TIME_PROGMEM = "\x01" "Cairo";
497 
498 const complete::ZoneInfo kZoneAfrica_Cairo ACE_TIME_PROGMEM = {
499  kZoneNameAfrica_Cairo /*name*/,
500  0x77f8e228 /*zoneId*/,
501  &kZoneContext /*zoneContext*/,
502  2 /*numEras*/,
503  kZoneEraAfrica_Cairo /*eras*/,
504  nullptr /*targetInfo*/,
505 };
506 
507 //---------------------------------------------------------------------------
508 // Zone name: Africa/Casablanca
509 // Eras: 5
510 //---------------------------------------------------------------------------
511 
512 static const complete::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = {
513  // -0:30:20 - LMT 1913 Oct 26
514  {
515  nullptr /*zonePolicy*/,
516  "LMT" /*format*/,
517  -122 /*offsetCode (-1820/15)*/,
518  10 /*offsetRemainder (-1820%15)*/,
519  0 /*deltaMinutes*/,
520  1913 /*untilYear*/,
521  10 /*untilMonth*/,
522  26 /*untilDay*/,
523  0 /*untilTimeCode (0/15)*/,
524  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
525  },
526  // 0:00 Morocco +00/+01 1984 Mar 16
527  {
528  &kZonePolicyMorocco /*zonePolicy*/,
529  "+00/+01" /*format*/,
530  0 /*offsetCode (0/15)*/,
531  0 /*offsetRemainder (0%15)*/,
532  0 /*deltaMinutes*/,
533  1984 /*untilYear*/,
534  3 /*untilMonth*/,
535  16 /*untilDay*/,
536  0 /*untilTimeCode (0/15)*/,
537  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
538  },
539  // 1:00 - +01 1986
540  {
541  nullptr /*zonePolicy*/,
542  "+01" /*format*/,
543  240 /*offsetCode (3600/15)*/,
544  0 /*offsetRemainder (3600%15)*/,
545  0 /*deltaMinutes*/,
546  1986 /*untilYear*/,
547  1 /*untilMonth*/,
548  1 /*untilDay*/,
549  0 /*untilTimeCode (0/15)*/,
550  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
551  },
552  // 0:00 Morocco +00/+01 2018 Oct 28 3:00
553  {
554  &kZonePolicyMorocco /*zonePolicy*/,
555  "+00/+01" /*format*/,
556  0 /*offsetCode (0/15)*/,
557  0 /*offsetRemainder (0%15)*/,
558  0 /*deltaMinutes*/,
559  2018 /*untilYear*/,
560  10 /*untilMonth*/,
561  28 /*untilDay*/,
562  720 /*untilTimeCode (10800/15)*/,
563  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
564  },
565  // 1:00 Morocco +01/+00
566  {
567  &kZonePolicyMorocco /*zonePolicy*/,
568  "+01/+00" /*format*/,
569  240 /*offsetCode (3600/15)*/,
570  0 /*offsetRemainder (3600%15)*/,
571  0 /*deltaMinutes*/,
572  32767 /*untilYear*/,
573  1 /*untilMonth*/,
574  1 /*untilDay*/,
575  0 /*untilTimeCode (0/15)*/,
576  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
577  },
578 
579 };
580 
581 static const char kZoneNameAfrica_Casablanca[] ACE_TIME_PROGMEM = "\x01" "Casablanca";
582 
583 const complete::ZoneInfo kZoneAfrica_Casablanca ACE_TIME_PROGMEM = {
584  kZoneNameAfrica_Casablanca /*name*/,
585  0xc59f1b33 /*zoneId*/,
586  &kZoneContext /*zoneContext*/,
587  5 /*numEras*/,
588  kZoneEraAfrica_Casablanca /*eras*/,
589  nullptr /*targetInfo*/,
590 };
591 
592 //---------------------------------------------------------------------------
593 // Zone name: Africa/Ceuta
594 // Eras: 9
595 //---------------------------------------------------------------------------
596 
597 static const complete::ZoneEra kZoneEraAfrica_Ceuta[] ACE_TIME_PROGMEM = {
598  // -0:21:16 - LMT 1901 Jan 1 0:00u
599  {
600  nullptr /*zonePolicy*/,
601  "LMT" /*format*/,
602  -86 /*offsetCode (-1276/15)*/,
603  14 /*offsetRemainder (-1276%15)*/,
604  0 /*deltaMinutes*/,
605  1901 /*untilYear*/,
606  1 /*untilMonth*/,
607  1 /*untilDay*/,
608  0 /*untilTimeCode (0/15)*/,
609  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
610  },
611  // 0:00 - WET 1918 May 6 23:00
612  {
613  nullptr /*zonePolicy*/,
614  "WET" /*format*/,
615  0 /*offsetCode (0/15)*/,
616  0 /*offsetRemainder (0%15)*/,
617  0 /*deltaMinutes*/,
618  1918 /*untilYear*/,
619  5 /*untilMonth*/,
620  6 /*untilDay*/,
621  5520 /*untilTimeCode (82800/15)*/,
622  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
623  },
624  // 0:00 1:00 WEST 1918 Oct 7 23:00
625  {
626  nullptr /*zonePolicy*/,
627  "WEST" /*format*/,
628  0 /*offsetCode (0/15)*/,
629  0 /*offsetRemainder (0%15)*/,
630  60 /*deltaMinutes*/,
631  1918 /*untilYear*/,
632  10 /*untilMonth*/,
633  7 /*untilDay*/,
634  5520 /*untilTimeCode (82800/15)*/,
635  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
636  },
637  // 0:00 - WET 1924
638  {
639  nullptr /*zonePolicy*/,
640  "WET" /*format*/,
641  0 /*offsetCode (0/15)*/,
642  0 /*offsetRemainder (0%15)*/,
643  0 /*deltaMinutes*/,
644  1924 /*untilYear*/,
645  1 /*untilMonth*/,
646  1 /*untilDay*/,
647  0 /*untilTimeCode (0/15)*/,
648  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
649  },
650  // 0:00 Spain WE%sT 1929
651  {
652  &kZonePolicySpain /*zonePolicy*/,
653  "WE%T" /*format*/,
654  0 /*offsetCode (0/15)*/,
655  0 /*offsetRemainder (0%15)*/,
656  0 /*deltaMinutes*/,
657  1929 /*untilYear*/,
658  1 /*untilMonth*/,
659  1 /*untilDay*/,
660  0 /*untilTimeCode (0/15)*/,
661  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
662  },
663  // 0:00 - WET 1967
664  {
665  nullptr /*zonePolicy*/,
666  "WET" /*format*/,
667  0 /*offsetCode (0/15)*/,
668  0 /*offsetRemainder (0%15)*/,
669  0 /*deltaMinutes*/,
670  1967 /*untilYear*/,
671  1 /*untilMonth*/,
672  1 /*untilDay*/,
673  0 /*untilTimeCode (0/15)*/,
674  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
675  },
676  // 0:00 SpainAfrica WE%sT 1984 Mar 16
677  {
678  &kZonePolicySpainAfrica /*zonePolicy*/,
679  "WE%T" /*format*/,
680  0 /*offsetCode (0/15)*/,
681  0 /*offsetRemainder (0%15)*/,
682  0 /*deltaMinutes*/,
683  1984 /*untilYear*/,
684  3 /*untilMonth*/,
685  16 /*untilDay*/,
686  0 /*untilTimeCode (0/15)*/,
687  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
688  },
689  // 1:00 - CET 1986
690  {
691  nullptr /*zonePolicy*/,
692  "CET" /*format*/,
693  240 /*offsetCode (3600/15)*/,
694  0 /*offsetRemainder (3600%15)*/,
695  0 /*deltaMinutes*/,
696  1986 /*untilYear*/,
697  1 /*untilMonth*/,
698  1 /*untilDay*/,
699  0 /*untilTimeCode (0/15)*/,
700  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
701  },
702  // 1:00 EU CE%sT
703  {
704  &kZonePolicyEU /*zonePolicy*/,
705  "CE%T" /*format*/,
706  240 /*offsetCode (3600/15)*/,
707  0 /*offsetRemainder (3600%15)*/,
708  0 /*deltaMinutes*/,
709  32767 /*untilYear*/,
710  1 /*untilMonth*/,
711  1 /*untilDay*/,
712  0 /*untilTimeCode (0/15)*/,
713  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
714  },
715 
716 };
717 
718 static const char kZoneNameAfrica_Ceuta[] ACE_TIME_PROGMEM = "\x01" "Ceuta";
719 
720 const complete::ZoneInfo kZoneAfrica_Ceuta ACE_TIME_PROGMEM = {
721  kZoneNameAfrica_Ceuta /*name*/,
722  0x77fb46ec /*zoneId*/,
723  &kZoneContext /*zoneContext*/,
724  9 /*numEras*/,
725  kZoneEraAfrica_Ceuta /*eras*/,
726  nullptr /*targetInfo*/,
727 };
728 
729 //---------------------------------------------------------------------------
730 // Zone name: Africa/El_Aaiun
731 // Eras: 4
732 //---------------------------------------------------------------------------
733 
734 static const complete::ZoneEra kZoneEraAfrica_El_Aaiun[] ACE_TIME_PROGMEM = {
735  // -0:52:48 - LMT 1934 Jan
736  {
737  nullptr /*zonePolicy*/,
738  "LMT" /*format*/,
739  -212 /*offsetCode (-3168/15)*/,
740  12 /*offsetRemainder (-3168%15)*/,
741  0 /*deltaMinutes*/,
742  1934 /*untilYear*/,
743  1 /*untilMonth*/,
744  1 /*untilDay*/,
745  0 /*untilTimeCode (0/15)*/,
746  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
747  },
748  // -1:00 - -01 1976 Apr 14
749  {
750  nullptr /*zonePolicy*/,
751  "-01" /*format*/,
752  -240 /*offsetCode (-3600/15)*/,
753  0 /*offsetRemainder (-3600%15)*/,
754  0 /*deltaMinutes*/,
755  1976 /*untilYear*/,
756  4 /*untilMonth*/,
757  14 /*untilDay*/,
758  0 /*untilTimeCode (0/15)*/,
759  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
760  },
761  // 0:00 Morocco +00/+01 2018 Oct 28 3:00
762  {
763  &kZonePolicyMorocco /*zonePolicy*/,
764  "+00/+01" /*format*/,
765  0 /*offsetCode (0/15)*/,
766  0 /*offsetRemainder (0%15)*/,
767  0 /*deltaMinutes*/,
768  2018 /*untilYear*/,
769  10 /*untilMonth*/,
770  28 /*untilDay*/,
771  720 /*untilTimeCode (10800/15)*/,
772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
773  },
774  // 1:00 Morocco +01/+00
775  {
776  &kZonePolicyMorocco /*zonePolicy*/,
777  "+01/+00" /*format*/,
778  240 /*offsetCode (3600/15)*/,
779  0 /*offsetRemainder (3600%15)*/,
780  0 /*deltaMinutes*/,
781  32767 /*untilYear*/,
782  1 /*untilMonth*/,
783  1 /*untilDay*/,
784  0 /*untilTimeCode (0/15)*/,
785  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
786  },
787 
788 };
789 
790 static const char kZoneNameAfrica_El_Aaiun[] ACE_TIME_PROGMEM = "\x01" "El_Aaiun";
791 
792 const complete::ZoneInfo kZoneAfrica_El_Aaiun ACE_TIME_PROGMEM = {
793  kZoneNameAfrica_El_Aaiun /*name*/,
794  0x9d6fb118 /*zoneId*/,
795  &kZoneContext /*zoneContext*/,
796  4 /*numEras*/,
797  kZoneEraAfrica_El_Aaiun /*eras*/,
798  nullptr /*targetInfo*/,
799 };
800 
801 //---------------------------------------------------------------------------
802 // Zone name: Africa/Johannesburg
803 // Eras: 3
804 //---------------------------------------------------------------------------
805 
806 static const complete::ZoneEra kZoneEraAfrica_Johannesburg[] ACE_TIME_PROGMEM = {
807  // 1:52:00 - LMT 1892 Feb 8
808  {
809  nullptr /*zonePolicy*/,
810  "LMT" /*format*/,
811  448 /*offsetCode (6720/15)*/,
812  0 /*offsetRemainder (6720%15)*/,
813  0 /*deltaMinutes*/,
814  1892 /*untilYear*/,
815  2 /*untilMonth*/,
816  8 /*untilDay*/,
817  0 /*untilTimeCode (0/15)*/,
818  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
819  },
820  // 1:30 - SAST 1903 Mar
821  {
822  nullptr /*zonePolicy*/,
823  "SAST" /*format*/,
824  360 /*offsetCode (5400/15)*/,
825  0 /*offsetRemainder (5400%15)*/,
826  0 /*deltaMinutes*/,
827  1903 /*untilYear*/,
828  3 /*untilMonth*/,
829  1 /*untilDay*/,
830  0 /*untilTimeCode (0/15)*/,
831  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
832  },
833  // 2:00 SA SAST
834  {
835  &kZonePolicySA /*zonePolicy*/,
836  "SAST" /*format*/,
837  480 /*offsetCode (7200/15)*/,
838  0 /*offsetRemainder (7200%15)*/,
839  0 /*deltaMinutes*/,
840  32767 /*untilYear*/,
841  1 /*untilMonth*/,
842  1 /*untilDay*/,
843  0 /*untilTimeCode (0/15)*/,
844  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
845  },
846 
847 };
848 
849 static const char kZoneNameAfrica_Johannesburg[] ACE_TIME_PROGMEM = "\x01" "Johannesburg";
850 
851 const complete::ZoneInfo kZoneAfrica_Johannesburg ACE_TIME_PROGMEM = {
852  kZoneNameAfrica_Johannesburg /*name*/,
853  0xd5d157a0 /*zoneId*/,
854  &kZoneContext /*zoneContext*/,
855  3 /*numEras*/,
856  kZoneEraAfrica_Johannesburg /*eras*/,
857  nullptr /*targetInfo*/,
858 };
859 
860 //---------------------------------------------------------------------------
861 // Zone name: Africa/Juba
862 // Eras: 4
863 //---------------------------------------------------------------------------
864 
865 static const complete::ZoneEra kZoneEraAfrica_Juba[] ACE_TIME_PROGMEM = {
866  // 2:06:28 - LMT 1931
867  {
868  nullptr /*zonePolicy*/,
869  "LMT" /*format*/,
870  505 /*offsetCode (7588/15)*/,
871  13 /*offsetRemainder (7588%15)*/,
872  0 /*deltaMinutes*/,
873  1931 /*untilYear*/,
874  1 /*untilMonth*/,
875  1 /*untilDay*/,
876  0 /*untilTimeCode (0/15)*/,
877  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
878  },
879  // 2:00 Sudan CA%sT 2000 Jan 15 12:00
880  {
881  &kZonePolicySudan /*zonePolicy*/,
882  "CA%T" /*format*/,
883  480 /*offsetCode (7200/15)*/,
884  0 /*offsetRemainder (7200%15)*/,
885  0 /*deltaMinutes*/,
886  2000 /*untilYear*/,
887  1 /*untilMonth*/,
888  15 /*untilDay*/,
889  2880 /*untilTimeCode (43200/15)*/,
890  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
891  },
892  // 3:00 - EAT 2021 Feb 1 00:00
893  {
894  nullptr /*zonePolicy*/,
895  "EAT" /*format*/,
896  720 /*offsetCode (10800/15)*/,
897  0 /*offsetRemainder (10800%15)*/,
898  0 /*deltaMinutes*/,
899  2021 /*untilYear*/,
900  2 /*untilMonth*/,
901  1 /*untilDay*/,
902  0 /*untilTimeCode (0/15)*/,
903  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
904  },
905  // 2:00 - CAT
906  {
907  nullptr /*zonePolicy*/,
908  "CAT" /*format*/,
909  480 /*offsetCode (7200/15)*/,
910  0 /*offsetRemainder (7200%15)*/,
911  0 /*deltaMinutes*/,
912  32767 /*untilYear*/,
913  1 /*untilMonth*/,
914  1 /*untilDay*/,
915  0 /*untilTimeCode (0/15)*/,
916  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
917  },
918 
919 };
920 
921 static const char kZoneNameAfrica_Juba[] ACE_TIME_PROGMEM = "\x01" "Juba";
922 
923 const complete::ZoneInfo kZoneAfrica_Juba ACE_TIME_PROGMEM = {
924  kZoneNameAfrica_Juba /*name*/,
925  0xd51b395c /*zoneId*/,
926  &kZoneContext /*zoneContext*/,
927  4 /*numEras*/,
928  kZoneEraAfrica_Juba /*eras*/,
929  nullptr /*targetInfo*/,
930 };
931 
932 //---------------------------------------------------------------------------
933 // Zone name: Africa/Khartoum
934 // Eras: 4
935 //---------------------------------------------------------------------------
936 
937 static const complete::ZoneEra kZoneEraAfrica_Khartoum[] ACE_TIME_PROGMEM = {
938  // 2:10:08 - LMT 1931
939  {
940  nullptr /*zonePolicy*/,
941  "LMT" /*format*/,
942  520 /*offsetCode (7808/15)*/,
943  8 /*offsetRemainder (7808%15)*/,
944  0 /*deltaMinutes*/,
945  1931 /*untilYear*/,
946  1 /*untilMonth*/,
947  1 /*untilDay*/,
948  0 /*untilTimeCode (0/15)*/,
949  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
950  },
951  // 2:00 Sudan CA%sT 2000 Jan 15 12:00
952  {
953  &kZonePolicySudan /*zonePolicy*/,
954  "CA%T" /*format*/,
955  480 /*offsetCode (7200/15)*/,
956  0 /*offsetRemainder (7200%15)*/,
957  0 /*deltaMinutes*/,
958  2000 /*untilYear*/,
959  1 /*untilMonth*/,
960  15 /*untilDay*/,
961  2880 /*untilTimeCode (43200/15)*/,
962  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
963  },
964  // 3:00 - EAT 2017 Nov 1
965  {
966  nullptr /*zonePolicy*/,
967  "EAT" /*format*/,
968  720 /*offsetCode (10800/15)*/,
969  0 /*offsetRemainder (10800%15)*/,
970  0 /*deltaMinutes*/,
971  2017 /*untilYear*/,
972  11 /*untilMonth*/,
973  1 /*untilDay*/,
974  0 /*untilTimeCode (0/15)*/,
975  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
976  },
977  // 2:00 - CAT
978  {
979  nullptr /*zonePolicy*/,
980  "CAT" /*format*/,
981  480 /*offsetCode (7200/15)*/,
982  0 /*offsetRemainder (7200%15)*/,
983  0 /*deltaMinutes*/,
984  32767 /*untilYear*/,
985  1 /*untilMonth*/,
986  1 /*untilDay*/,
987  0 /*untilTimeCode (0/15)*/,
988  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
989  },
990 
991 };
992 
993 static const char kZoneNameAfrica_Khartoum[] ACE_TIME_PROGMEM = "\x01" "Khartoum";
994 
995 const complete::ZoneInfo kZoneAfrica_Khartoum ACE_TIME_PROGMEM = {
996  kZoneNameAfrica_Khartoum /*name*/,
997  0xfb3d4205 /*zoneId*/,
998  &kZoneContext /*zoneContext*/,
999  4 /*numEras*/,
1000  kZoneEraAfrica_Khartoum /*eras*/,
1001  nullptr /*targetInfo*/,
1002 };
1003 
1004 //---------------------------------------------------------------------------
1005 // Zone name: Africa/Lagos
1006 // Eras: 5
1007 //---------------------------------------------------------------------------
1008 
1009 static const complete::ZoneEra kZoneEraAfrica_Lagos[] ACE_TIME_PROGMEM = {
1010  // 0:13:35 - LMT 1905 Jul 1
1011  {
1012  nullptr /*zonePolicy*/,
1013  "LMT" /*format*/,
1014  54 /*offsetCode (815/15)*/,
1015  5 /*offsetRemainder (815%15)*/,
1016  0 /*deltaMinutes*/,
1017  1905 /*untilYear*/,
1018  7 /*untilMonth*/,
1019  1 /*untilDay*/,
1020  0 /*untilTimeCode (0/15)*/,
1021  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1022  },
1023  // 0:00 - GMT 1908 Jul 1
1024  {
1025  nullptr /*zonePolicy*/,
1026  "GMT" /*format*/,
1027  0 /*offsetCode (0/15)*/,
1028  0 /*offsetRemainder (0%15)*/,
1029  0 /*deltaMinutes*/,
1030  1908 /*untilYear*/,
1031  7 /*untilMonth*/,
1032  1 /*untilDay*/,
1033  0 /*untilTimeCode (0/15)*/,
1034  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1035  },
1036  // 0:13:35 - LMT 1914 Jan 1
1037  {
1038  nullptr /*zonePolicy*/,
1039  "LMT" /*format*/,
1040  54 /*offsetCode (815/15)*/,
1041  5 /*offsetRemainder (815%15)*/,
1042  0 /*deltaMinutes*/,
1043  1914 /*untilYear*/,
1044  1 /*untilMonth*/,
1045  1 /*untilDay*/,
1046  0 /*untilTimeCode (0/15)*/,
1047  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1048  },
1049  // 0:30 - +0030 1919 Sep 1
1050  {
1051  nullptr /*zonePolicy*/,
1052  "+0030" /*format*/,
1053  120 /*offsetCode (1800/15)*/,
1054  0 /*offsetRemainder (1800%15)*/,
1055  0 /*deltaMinutes*/,
1056  1919 /*untilYear*/,
1057  9 /*untilMonth*/,
1058  1 /*untilDay*/,
1059  0 /*untilTimeCode (0/15)*/,
1060  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1061  },
1062  // 1:00 - WAT
1063  {
1064  nullptr /*zonePolicy*/,
1065  "WAT" /*format*/,
1066  240 /*offsetCode (3600/15)*/,
1067  0 /*offsetRemainder (3600%15)*/,
1068  0 /*deltaMinutes*/,
1069  32767 /*untilYear*/,
1070  1 /*untilMonth*/,
1071  1 /*untilDay*/,
1072  0 /*untilTimeCode (0/15)*/,
1073  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1074  },
1075 
1076 };
1077 
1078 static const char kZoneNameAfrica_Lagos[] ACE_TIME_PROGMEM = "\x01" "Lagos";
1079 
1080 const complete::ZoneInfo kZoneAfrica_Lagos ACE_TIME_PROGMEM = {
1081  kZoneNameAfrica_Lagos /*name*/,
1082  0x789bb5d0 /*zoneId*/,
1083  &kZoneContext /*zoneContext*/,
1084  5 /*numEras*/,
1085  kZoneEraAfrica_Lagos /*eras*/,
1086  nullptr /*targetInfo*/,
1087 };
1088 
1089 //---------------------------------------------------------------------------
1090 // Zone name: Africa/Maputo
1091 // Eras: 2
1092 //---------------------------------------------------------------------------
1093 
1094 static const complete::ZoneEra kZoneEraAfrica_Maputo[] ACE_TIME_PROGMEM = {
1095  // 2:10:20 - LMT 1903 Mar
1096  {
1097  nullptr /*zonePolicy*/,
1098  "LMT" /*format*/,
1099  521 /*offsetCode (7820/15)*/,
1100  5 /*offsetRemainder (7820%15)*/,
1101  0 /*deltaMinutes*/,
1102  1903 /*untilYear*/,
1103  3 /*untilMonth*/,
1104  1 /*untilDay*/,
1105  0 /*untilTimeCode (0/15)*/,
1106  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1107  },
1108  // 2:00 - CAT
1109  {
1110  nullptr /*zonePolicy*/,
1111  "CAT" /*format*/,
1112  480 /*offsetCode (7200/15)*/,
1113  0 /*offsetRemainder (7200%15)*/,
1114  0 /*deltaMinutes*/,
1115  32767 /*untilYear*/,
1116  1 /*untilMonth*/,
1117  1 /*untilDay*/,
1118  0 /*untilTimeCode (0/15)*/,
1119  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1120  },
1121 
1122 };
1123 
1124 static const char kZoneNameAfrica_Maputo[] ACE_TIME_PROGMEM = "\x01" "Maputo";
1125 
1126 const complete::ZoneInfo kZoneAfrica_Maputo ACE_TIME_PROGMEM = {
1127  kZoneNameAfrica_Maputo /*name*/,
1128  0x8e6ca1f0 /*zoneId*/,
1129  &kZoneContext /*zoneContext*/,
1130  2 /*numEras*/,
1131  kZoneEraAfrica_Maputo /*eras*/,
1132  nullptr /*targetInfo*/,
1133 };
1134 
1135 //---------------------------------------------------------------------------
1136 // Zone name: Africa/Monrovia
1137 // Eras: 4
1138 //---------------------------------------------------------------------------
1139 
1140 static const complete::ZoneEra kZoneEraAfrica_Monrovia[] ACE_TIME_PROGMEM = {
1141  // -0:43:08 - LMT 1882
1142  {
1143  nullptr /*zonePolicy*/,
1144  "LMT" /*format*/,
1145  -173 /*offsetCode (-2588/15)*/,
1146  7 /*offsetRemainder (-2588%15)*/,
1147  0 /*deltaMinutes*/,
1148  1882 /*untilYear*/,
1149  1 /*untilMonth*/,
1150  1 /*untilDay*/,
1151  0 /*untilTimeCode (0/15)*/,
1152  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1153  },
1154  // -0:43:08 - MMT 1919 Mar
1155  {
1156  nullptr /*zonePolicy*/,
1157  "MMT" /*format*/,
1158  -173 /*offsetCode (-2588/15)*/,
1159  7 /*offsetRemainder (-2588%15)*/,
1160  0 /*deltaMinutes*/,
1161  1919 /*untilYear*/,
1162  3 /*untilMonth*/,
1163  1 /*untilDay*/,
1164  0 /*untilTimeCode (0/15)*/,
1165  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1166  },
1167  // -0:44:30 - MMT 1972 Jan 7
1168  {
1169  nullptr /*zonePolicy*/,
1170  "MMT" /*format*/,
1171  -178 /*offsetCode (-2670/15)*/,
1172  0 /*offsetRemainder (-2670%15)*/,
1173  0 /*deltaMinutes*/,
1174  1972 /*untilYear*/,
1175  1 /*untilMonth*/,
1176  7 /*untilDay*/,
1177  0 /*untilTimeCode (0/15)*/,
1178  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1179  },
1180  // 0:00 - GMT
1181  {
1182  nullptr /*zonePolicy*/,
1183  "GMT" /*format*/,
1184  0 /*offsetCode (0/15)*/,
1185  0 /*offsetRemainder (0%15)*/,
1186  0 /*deltaMinutes*/,
1187  32767 /*untilYear*/,
1188  1 /*untilMonth*/,
1189  1 /*untilDay*/,
1190  0 /*untilTimeCode (0/15)*/,
1191  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1192  },
1193 
1194 };
1195 
1196 static const char kZoneNameAfrica_Monrovia[] ACE_TIME_PROGMEM = "\x01" "Monrovia";
1197 
1198 const complete::ZoneInfo kZoneAfrica_Monrovia ACE_TIME_PROGMEM = {
1199  kZoneNameAfrica_Monrovia /*name*/,
1200  0x0ce90385 /*zoneId*/,
1201  &kZoneContext /*zoneContext*/,
1202  4 /*numEras*/,
1203  kZoneEraAfrica_Monrovia /*eras*/,
1204  nullptr /*targetInfo*/,
1205 };
1206 
1207 //---------------------------------------------------------------------------
1208 // Zone name: Africa/Nairobi
1209 // Eras: 6
1210 //---------------------------------------------------------------------------
1211 
1212 static const complete::ZoneEra kZoneEraAfrica_Nairobi[] ACE_TIME_PROGMEM = {
1213  // 2:27:16 - LMT 1908 May
1214  {
1215  nullptr /*zonePolicy*/,
1216  "LMT" /*format*/,
1217  589 /*offsetCode (8836/15)*/,
1218  1 /*offsetRemainder (8836%15)*/,
1219  0 /*deltaMinutes*/,
1220  1908 /*untilYear*/,
1221  5 /*untilMonth*/,
1222  1 /*untilDay*/,
1223  0 /*untilTimeCode (0/15)*/,
1224  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1225  },
1226  // 2:30 - +0230 1928 Jun 30 24:00
1227  {
1228  nullptr /*zonePolicy*/,
1229  "+0230" /*format*/,
1230  600 /*offsetCode (9000/15)*/,
1231  0 /*offsetRemainder (9000%15)*/,
1232  0 /*deltaMinutes*/,
1233  1928 /*untilYear*/,
1234  6 /*untilMonth*/,
1235  30 /*untilDay*/,
1236  5760 /*untilTimeCode (86400/15)*/,
1237  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1238  },
1239  // 3:00 - EAT 1930 Jan 4 24:00
1240  {
1241  nullptr /*zonePolicy*/,
1242  "EAT" /*format*/,
1243  720 /*offsetCode (10800/15)*/,
1244  0 /*offsetRemainder (10800%15)*/,
1245  0 /*deltaMinutes*/,
1246  1930 /*untilYear*/,
1247  1 /*untilMonth*/,
1248  4 /*untilDay*/,
1249  5760 /*untilTimeCode (86400/15)*/,
1250  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1251  },
1252  // 2:30 - +0230 1936 Dec 31 24:00
1253  {
1254  nullptr /*zonePolicy*/,
1255  "+0230" /*format*/,
1256  600 /*offsetCode (9000/15)*/,
1257  0 /*offsetRemainder (9000%15)*/,
1258  0 /*deltaMinutes*/,
1259  1936 /*untilYear*/,
1260  12 /*untilMonth*/,
1261  31 /*untilDay*/,
1262  5760 /*untilTimeCode (86400/15)*/,
1263  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1264  },
1265  // 2:45 - +0245 1942 Jul 31 24:00
1266  {
1267  nullptr /*zonePolicy*/,
1268  "+0245" /*format*/,
1269  660 /*offsetCode (9900/15)*/,
1270  0 /*offsetRemainder (9900%15)*/,
1271  0 /*deltaMinutes*/,
1272  1942 /*untilYear*/,
1273  7 /*untilMonth*/,
1274  31 /*untilDay*/,
1275  5760 /*untilTimeCode (86400/15)*/,
1276  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1277  },
1278  // 3:00 - EAT
1279  {
1280  nullptr /*zonePolicy*/,
1281  "EAT" /*format*/,
1282  720 /*offsetCode (10800/15)*/,
1283  0 /*offsetRemainder (10800%15)*/,
1284  0 /*deltaMinutes*/,
1285  32767 /*untilYear*/,
1286  1 /*untilMonth*/,
1287  1 /*untilDay*/,
1288  0 /*untilTimeCode (0/15)*/,
1289  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1290  },
1291 
1292 };
1293 
1294 static const char kZoneNameAfrica_Nairobi[] ACE_TIME_PROGMEM = "\x01" "Nairobi";
1295 
1296 const complete::ZoneInfo kZoneAfrica_Nairobi ACE_TIME_PROGMEM = {
1297  kZoneNameAfrica_Nairobi /*name*/,
1298  0xa87ab57e /*zoneId*/,
1299  &kZoneContext /*zoneContext*/,
1300  6 /*numEras*/,
1301  kZoneEraAfrica_Nairobi /*eras*/,
1302  nullptr /*targetInfo*/,
1303 };
1304 
1305 //---------------------------------------------------------------------------
1306 // Zone name: Africa/Ndjamena
1307 // Eras: 4
1308 //---------------------------------------------------------------------------
1309 
1310 static const complete::ZoneEra kZoneEraAfrica_Ndjamena[] ACE_TIME_PROGMEM = {
1311  // 1:00:12 - LMT 1912
1312  {
1313  nullptr /*zonePolicy*/,
1314  "LMT" /*format*/,
1315  240 /*offsetCode (3612/15)*/,
1316  12 /*offsetRemainder (3612%15)*/,
1317  0 /*deltaMinutes*/,
1318  1912 /*untilYear*/,
1319  1 /*untilMonth*/,
1320  1 /*untilDay*/,
1321  0 /*untilTimeCode (0/15)*/,
1322  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1323  },
1324  // 1:00 - WAT 1979 Oct 14
1325  {
1326  nullptr /*zonePolicy*/,
1327  "WAT" /*format*/,
1328  240 /*offsetCode (3600/15)*/,
1329  0 /*offsetRemainder (3600%15)*/,
1330  0 /*deltaMinutes*/,
1331  1979 /*untilYear*/,
1332  10 /*untilMonth*/,
1333  14 /*untilDay*/,
1334  0 /*untilTimeCode (0/15)*/,
1335  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1336  },
1337  // 1:00 1:00 WAST 1980 Mar 8
1338  {
1339  nullptr /*zonePolicy*/,
1340  "WAST" /*format*/,
1341  240 /*offsetCode (3600/15)*/,
1342  0 /*offsetRemainder (3600%15)*/,
1343  60 /*deltaMinutes*/,
1344  1980 /*untilYear*/,
1345  3 /*untilMonth*/,
1346  8 /*untilDay*/,
1347  0 /*untilTimeCode (0/15)*/,
1348  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1349  },
1350  // 1:00 - WAT
1351  {
1352  nullptr /*zonePolicy*/,
1353  "WAT" /*format*/,
1354  240 /*offsetCode (3600/15)*/,
1355  0 /*offsetRemainder (3600%15)*/,
1356  0 /*deltaMinutes*/,
1357  32767 /*untilYear*/,
1358  1 /*untilMonth*/,
1359  1 /*untilDay*/,
1360  0 /*untilTimeCode (0/15)*/,
1361  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1362  },
1363 
1364 };
1365 
1366 static const char kZoneNameAfrica_Ndjamena[] ACE_TIME_PROGMEM = "\x01" "Ndjamena";
1367 
1368 const complete::ZoneInfo kZoneAfrica_Ndjamena ACE_TIME_PROGMEM = {
1369  kZoneNameAfrica_Ndjamena /*name*/,
1370  0x9fe09898 /*zoneId*/,
1371  &kZoneContext /*zoneContext*/,
1372  4 /*numEras*/,
1373  kZoneEraAfrica_Ndjamena /*eras*/,
1374  nullptr /*targetInfo*/,
1375 };
1376 
1377 //---------------------------------------------------------------------------
1378 // Zone name: Africa/Sao_Tome
1379 // Eras: 5
1380 //---------------------------------------------------------------------------
1381 
1382 static const complete::ZoneEra kZoneEraAfrica_Sao_Tome[] ACE_TIME_PROGMEM = {
1383  // 0:26:56 - LMT 1884
1384  {
1385  nullptr /*zonePolicy*/,
1386  "LMT" /*format*/,
1387  107 /*offsetCode (1616/15)*/,
1388  11 /*offsetRemainder (1616%15)*/,
1389  0 /*deltaMinutes*/,
1390  1884 /*untilYear*/,
1391  1 /*untilMonth*/,
1392  1 /*untilDay*/,
1393  0 /*untilTimeCode (0/15)*/,
1394  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1395  },
1396  // -0:36:45 - LMT 1912 Jan 1 00:00u
1397  {
1398  nullptr /*zonePolicy*/,
1399  "LMT" /*format*/,
1400  -147 /*offsetCode (-2205/15)*/,
1401  0 /*offsetRemainder (-2205%15)*/,
1402  0 /*deltaMinutes*/,
1403  1912 /*untilYear*/,
1404  1 /*untilMonth*/,
1405  1 /*untilDay*/,
1406  0 /*untilTimeCode (0/15)*/,
1407  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
1408  },
1409  // 0:00 - GMT 2018 Jan 1 01:00
1410  {
1411  nullptr /*zonePolicy*/,
1412  "GMT" /*format*/,
1413  0 /*offsetCode (0/15)*/,
1414  0 /*offsetRemainder (0%15)*/,
1415  0 /*deltaMinutes*/,
1416  2018 /*untilYear*/,
1417  1 /*untilMonth*/,
1418  1 /*untilDay*/,
1419  240 /*untilTimeCode (3600/15)*/,
1420  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1421  },
1422  // 1:00 - WAT 2019 Jan 1 02:00
1423  {
1424  nullptr /*zonePolicy*/,
1425  "WAT" /*format*/,
1426  240 /*offsetCode (3600/15)*/,
1427  0 /*offsetRemainder (3600%15)*/,
1428  0 /*deltaMinutes*/,
1429  2019 /*untilYear*/,
1430  1 /*untilMonth*/,
1431  1 /*untilDay*/,
1432  480 /*untilTimeCode (7200/15)*/,
1433  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1434  },
1435  // 0:00 - GMT
1436  {
1437  nullptr /*zonePolicy*/,
1438  "GMT" /*format*/,
1439  0 /*offsetCode (0/15)*/,
1440  0 /*offsetRemainder (0%15)*/,
1441  0 /*deltaMinutes*/,
1442  32767 /*untilYear*/,
1443  1 /*untilMonth*/,
1444  1 /*untilDay*/,
1445  0 /*untilTimeCode (0/15)*/,
1446  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1447  },
1448 
1449 };
1450 
1451 static const char kZoneNameAfrica_Sao_Tome[] ACE_TIME_PROGMEM = "\x01" "Sao_Tome";
1452 
1453 const complete::ZoneInfo kZoneAfrica_Sao_Tome ACE_TIME_PROGMEM = {
1454  kZoneNameAfrica_Sao_Tome /*name*/,
1455  0x61b319d1 /*zoneId*/,
1456  &kZoneContext /*zoneContext*/,
1457  5 /*numEras*/,
1458  kZoneEraAfrica_Sao_Tome /*eras*/,
1459  nullptr /*targetInfo*/,
1460 };
1461 
1462 //---------------------------------------------------------------------------
1463 // Zone name: Africa/Tripoli
1464 // Eras: 9
1465 //---------------------------------------------------------------------------
1466 
1467 static const complete::ZoneEra kZoneEraAfrica_Tripoli[] ACE_TIME_PROGMEM = {
1468  // 0:52:44 - LMT 1920
1469  {
1470  nullptr /*zonePolicy*/,
1471  "LMT" /*format*/,
1472  210 /*offsetCode (3164/15)*/,
1473  14 /*offsetRemainder (3164%15)*/,
1474  0 /*deltaMinutes*/,
1475  1920 /*untilYear*/,
1476  1 /*untilMonth*/,
1477  1 /*untilDay*/,
1478  0 /*untilTimeCode (0/15)*/,
1479  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1480  },
1481  // 1:00 Libya CE%sT 1959
1482  {
1483  &kZonePolicyLibya /*zonePolicy*/,
1484  "CE%T" /*format*/,
1485  240 /*offsetCode (3600/15)*/,
1486  0 /*offsetRemainder (3600%15)*/,
1487  0 /*deltaMinutes*/,
1488  1959 /*untilYear*/,
1489  1 /*untilMonth*/,
1490  1 /*untilDay*/,
1491  0 /*untilTimeCode (0/15)*/,
1492  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1493  },
1494  // 2:00 - EET 1982
1495  {
1496  nullptr /*zonePolicy*/,
1497  "EET" /*format*/,
1498  480 /*offsetCode (7200/15)*/,
1499  0 /*offsetRemainder (7200%15)*/,
1500  0 /*deltaMinutes*/,
1501  1982 /*untilYear*/,
1502  1 /*untilMonth*/,
1503  1 /*untilDay*/,
1504  0 /*untilTimeCode (0/15)*/,
1505  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1506  },
1507  // 1:00 Libya CE%sT 1990 May 4
1508  {
1509  &kZonePolicyLibya /*zonePolicy*/,
1510  "CE%T" /*format*/,
1511  240 /*offsetCode (3600/15)*/,
1512  0 /*offsetRemainder (3600%15)*/,
1513  0 /*deltaMinutes*/,
1514  1990 /*untilYear*/,
1515  5 /*untilMonth*/,
1516  4 /*untilDay*/,
1517  0 /*untilTimeCode (0/15)*/,
1518  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1519  },
1520  // 2:00 - EET 1996 Sep 30
1521  {
1522  nullptr /*zonePolicy*/,
1523  "EET" /*format*/,
1524  480 /*offsetCode (7200/15)*/,
1525  0 /*offsetRemainder (7200%15)*/,
1526  0 /*deltaMinutes*/,
1527  1996 /*untilYear*/,
1528  9 /*untilMonth*/,
1529  30 /*untilDay*/,
1530  0 /*untilTimeCode (0/15)*/,
1531  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1532  },
1533  // 1:00 Libya CE%sT 1997 Oct 4
1534  {
1535  &kZonePolicyLibya /*zonePolicy*/,
1536  "CE%T" /*format*/,
1537  240 /*offsetCode (3600/15)*/,
1538  0 /*offsetRemainder (3600%15)*/,
1539  0 /*deltaMinutes*/,
1540  1997 /*untilYear*/,
1541  10 /*untilMonth*/,
1542  4 /*untilDay*/,
1543  0 /*untilTimeCode (0/15)*/,
1544  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1545  },
1546  // 2:00 - EET 2012 Nov 10 2:00
1547  {
1548  nullptr /*zonePolicy*/,
1549  "EET" /*format*/,
1550  480 /*offsetCode (7200/15)*/,
1551  0 /*offsetRemainder (7200%15)*/,
1552  0 /*deltaMinutes*/,
1553  2012 /*untilYear*/,
1554  11 /*untilMonth*/,
1555  10 /*untilDay*/,
1556  480 /*untilTimeCode (7200/15)*/,
1557  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1558  },
1559  // 1:00 Libya CE%sT 2013 Oct 25 2:00
1560  {
1561  &kZonePolicyLibya /*zonePolicy*/,
1562  "CE%T" /*format*/,
1563  240 /*offsetCode (3600/15)*/,
1564  0 /*offsetRemainder (3600%15)*/,
1565  0 /*deltaMinutes*/,
1566  2013 /*untilYear*/,
1567  10 /*untilMonth*/,
1568  25 /*untilDay*/,
1569  480 /*untilTimeCode (7200/15)*/,
1570  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1571  },
1572  // 2:00 - EET
1573  {
1574  nullptr /*zonePolicy*/,
1575  "EET" /*format*/,
1576  480 /*offsetCode (7200/15)*/,
1577  0 /*offsetRemainder (7200%15)*/,
1578  0 /*deltaMinutes*/,
1579  32767 /*untilYear*/,
1580  1 /*untilMonth*/,
1581  1 /*untilDay*/,
1582  0 /*untilTimeCode (0/15)*/,
1583  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1584  },
1585 
1586 };
1587 
1588 static const char kZoneNameAfrica_Tripoli[] ACE_TIME_PROGMEM = "\x01" "Tripoli";
1589 
1590 const complete::ZoneInfo kZoneAfrica_Tripoli ACE_TIME_PROGMEM = {
1591  kZoneNameAfrica_Tripoli /*name*/,
1592  0x9dfebd3d /*zoneId*/,
1593  &kZoneContext /*zoneContext*/,
1594  9 /*numEras*/,
1595  kZoneEraAfrica_Tripoli /*eras*/,
1596  nullptr /*targetInfo*/,
1597 };
1598 
1599 //---------------------------------------------------------------------------
1600 // Zone name: Africa/Tunis
1601 // Eras: 3
1602 //---------------------------------------------------------------------------
1603 
1604 static const complete::ZoneEra kZoneEraAfrica_Tunis[] ACE_TIME_PROGMEM = {
1605  // 0:40:44 - LMT 1881 May 12
1606  {
1607  nullptr /*zonePolicy*/,
1608  "LMT" /*format*/,
1609  162 /*offsetCode (2444/15)*/,
1610  14 /*offsetRemainder (2444%15)*/,
1611  0 /*deltaMinutes*/,
1612  1881 /*untilYear*/,
1613  5 /*untilMonth*/,
1614  12 /*untilDay*/,
1615  0 /*untilTimeCode (0/15)*/,
1616  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1617  },
1618  // 0:09:21 - PMT 1911 Mar 11
1619  {
1620  nullptr /*zonePolicy*/,
1621  "PMT" /*format*/,
1622  37 /*offsetCode (561/15)*/,
1623  6 /*offsetRemainder (561%15)*/,
1624  0 /*deltaMinutes*/,
1625  1911 /*untilYear*/,
1626  3 /*untilMonth*/,
1627  11 /*untilDay*/,
1628  0 /*untilTimeCode (0/15)*/,
1629  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1630  },
1631  // 1:00 Tunisia CE%sT
1632  {
1633  &kZonePolicyTunisia /*zonePolicy*/,
1634  "CE%T" /*format*/,
1635  240 /*offsetCode (3600/15)*/,
1636  0 /*offsetRemainder (3600%15)*/,
1637  0 /*deltaMinutes*/,
1638  32767 /*untilYear*/,
1639  1 /*untilMonth*/,
1640  1 /*untilDay*/,
1641  0 /*untilTimeCode (0/15)*/,
1642  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1643  },
1644 
1645 };
1646 
1647 static const char kZoneNameAfrica_Tunis[] ACE_TIME_PROGMEM = "\x01" "Tunis";
1648 
1649 const complete::ZoneInfo kZoneAfrica_Tunis ACE_TIME_PROGMEM = {
1650  kZoneNameAfrica_Tunis /*name*/,
1651  0x79378e6d /*zoneId*/,
1652  &kZoneContext /*zoneContext*/,
1653  3 /*numEras*/,
1654  kZoneEraAfrica_Tunis /*eras*/,
1655  nullptr /*targetInfo*/,
1656 };
1657 
1658 //---------------------------------------------------------------------------
1659 // Zone name: Africa/Windhoek
1660 // Eras: 6
1661 //---------------------------------------------------------------------------
1662 
1663 static const complete::ZoneEra kZoneEraAfrica_Windhoek[] ACE_TIME_PROGMEM = {
1664  // 1:08:24 - LMT 1892 Feb 8
1665  {
1666  nullptr /*zonePolicy*/,
1667  "LMT" /*format*/,
1668  273 /*offsetCode (4104/15)*/,
1669  9 /*offsetRemainder (4104%15)*/,
1670  0 /*deltaMinutes*/,
1671  1892 /*untilYear*/,
1672  2 /*untilMonth*/,
1673  8 /*untilDay*/,
1674  0 /*untilTimeCode (0/15)*/,
1675  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1676  },
1677  // 1:30 - +0130 1903 Mar
1678  {
1679  nullptr /*zonePolicy*/,
1680  "+0130" /*format*/,
1681  360 /*offsetCode (5400/15)*/,
1682  0 /*offsetRemainder (5400%15)*/,
1683  0 /*deltaMinutes*/,
1684  1903 /*untilYear*/,
1685  3 /*untilMonth*/,
1686  1 /*untilDay*/,
1687  0 /*untilTimeCode (0/15)*/,
1688  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1689  },
1690  // 2:00 - SAST 1942 Sep 20 2:00
1691  {
1692  nullptr /*zonePolicy*/,
1693  "SAST" /*format*/,
1694  480 /*offsetCode (7200/15)*/,
1695  0 /*offsetRemainder (7200%15)*/,
1696  0 /*deltaMinutes*/,
1697  1942 /*untilYear*/,
1698  9 /*untilMonth*/,
1699  20 /*untilDay*/,
1700  480 /*untilTimeCode (7200/15)*/,
1701  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1702  },
1703  // 2:00 1:00 SAST 1943 Mar 21 2:00
1704  {
1705  nullptr /*zonePolicy*/,
1706  "SAST" /*format*/,
1707  480 /*offsetCode (7200/15)*/,
1708  0 /*offsetRemainder (7200%15)*/,
1709  60 /*deltaMinutes*/,
1710  1943 /*untilYear*/,
1711  3 /*untilMonth*/,
1712  21 /*untilDay*/,
1713  480 /*untilTimeCode (7200/15)*/,
1714  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1715  },
1716  // 2:00 - SAST 1990 Mar 21
1717  {
1718  nullptr /*zonePolicy*/,
1719  "SAST" /*format*/,
1720  480 /*offsetCode (7200/15)*/,
1721  0 /*offsetRemainder (7200%15)*/,
1722  0 /*deltaMinutes*/,
1723  1990 /*untilYear*/,
1724  3 /*untilMonth*/,
1725  21 /*untilDay*/,
1726  0 /*untilTimeCode (0/15)*/,
1727  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1728  },
1729  // 2:00 Namibia %s
1730  {
1731  &kZonePolicyNamibia /*zonePolicy*/,
1732  "%" /*format*/,
1733  480 /*offsetCode (7200/15)*/,
1734  0 /*offsetRemainder (7200%15)*/,
1735  0 /*deltaMinutes*/,
1736  32767 /*untilYear*/,
1737  1 /*untilMonth*/,
1738  1 /*untilDay*/,
1739  0 /*untilTimeCode (0/15)*/,
1740  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1741  },
1742 
1743 };
1744 
1745 static const char kZoneNameAfrica_Windhoek[] ACE_TIME_PROGMEM = "\x01" "Windhoek";
1746 
1747 const complete::ZoneInfo kZoneAfrica_Windhoek ACE_TIME_PROGMEM = {
1748  kZoneNameAfrica_Windhoek /*name*/,
1749  0x789c9bd3 /*zoneId*/,
1750  &kZoneContext /*zoneContext*/,
1751  6 /*numEras*/,
1752  kZoneEraAfrica_Windhoek /*eras*/,
1753  nullptr /*targetInfo*/,
1754 };
1755 
1756 //---------------------------------------------------------------------------
1757 // Zone name: America/Adak
1758 // Eras: 9
1759 //---------------------------------------------------------------------------
1760 
1761 static const complete::ZoneEra kZoneEraAmerica_Adak[] ACE_TIME_PROGMEM = {
1762  // 12:13:22 - LMT 1867 Oct 19 12:44:35
1763  {
1764  nullptr /*zonePolicy*/,
1765  "LMT" /*format*/,
1766  2933 /*offsetCode (44002/15)*/,
1767  7 /*offsetRemainder (44002%15)*/,
1768  0 /*deltaMinutes*/,
1769  1867 /*untilYear*/,
1770  10 /*untilMonth*/,
1771  19 /*untilDay*/,
1772  3058 /*untilTimeCode (45875/15)*/,
1773  5 /*untilTimeModifier (kAtcSuffixW + seconds=5)*/,
1774  },
1775  // -11:46:38 - LMT 1900 Aug 20 12:00
1776  {
1777  nullptr /*zonePolicy*/,
1778  "LMT" /*format*/,
1779  -2827 /*offsetCode (-42398/15)*/,
1780  7 /*offsetRemainder (-42398%15)*/,
1781  0 /*deltaMinutes*/,
1782  1900 /*untilYear*/,
1783  8 /*untilMonth*/,
1784  20 /*untilDay*/,
1785  2880 /*untilTimeCode (43200/15)*/,
1786  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1787  },
1788  // -11:00 - NST 1942
1789  {
1790  nullptr /*zonePolicy*/,
1791  "NST" /*format*/,
1792  -2640 /*offsetCode (-39600/15)*/,
1793  0 /*offsetRemainder (-39600%15)*/,
1794  0 /*deltaMinutes*/,
1795  1942 /*untilYear*/,
1796  1 /*untilMonth*/,
1797  1 /*untilDay*/,
1798  0 /*untilTimeCode (0/15)*/,
1799  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1800  },
1801  // -11:00 US N%sT 1946
1802  {
1803  &kZonePolicyUS /*zonePolicy*/,
1804  "N%T" /*format*/,
1805  -2640 /*offsetCode (-39600/15)*/,
1806  0 /*offsetRemainder (-39600%15)*/,
1807  0 /*deltaMinutes*/,
1808  1946 /*untilYear*/,
1809  1 /*untilMonth*/,
1810  1 /*untilDay*/,
1811  0 /*untilTimeCode (0/15)*/,
1812  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1813  },
1814  // -11:00 - NST 1967 Apr
1815  {
1816  nullptr /*zonePolicy*/,
1817  "NST" /*format*/,
1818  -2640 /*offsetCode (-39600/15)*/,
1819  0 /*offsetRemainder (-39600%15)*/,
1820  0 /*deltaMinutes*/,
1821  1967 /*untilYear*/,
1822  4 /*untilMonth*/,
1823  1 /*untilDay*/,
1824  0 /*untilTimeCode (0/15)*/,
1825  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1826  },
1827  // -11:00 - BST 1969
1828  {
1829  nullptr /*zonePolicy*/,
1830  "BST" /*format*/,
1831  -2640 /*offsetCode (-39600/15)*/,
1832  0 /*offsetRemainder (-39600%15)*/,
1833  0 /*deltaMinutes*/,
1834  1969 /*untilYear*/,
1835  1 /*untilMonth*/,
1836  1 /*untilDay*/,
1837  0 /*untilTimeCode (0/15)*/,
1838  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1839  },
1840  // -11:00 US B%sT 1983 Oct 30 2:00
1841  {
1842  &kZonePolicyUS /*zonePolicy*/,
1843  "B%T" /*format*/,
1844  -2640 /*offsetCode (-39600/15)*/,
1845  0 /*offsetRemainder (-39600%15)*/,
1846  0 /*deltaMinutes*/,
1847  1983 /*untilYear*/,
1848  10 /*untilMonth*/,
1849  30 /*untilDay*/,
1850  480 /*untilTimeCode (7200/15)*/,
1851  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1852  },
1853  // -10:00 US AH%sT 1983 Nov 30
1854  {
1855  &kZonePolicyUS /*zonePolicy*/,
1856  "AH%T" /*format*/,
1857  -2400 /*offsetCode (-36000/15)*/,
1858  0 /*offsetRemainder (-36000%15)*/,
1859  0 /*deltaMinutes*/,
1860  1983 /*untilYear*/,
1861  11 /*untilMonth*/,
1862  30 /*untilDay*/,
1863  0 /*untilTimeCode (0/15)*/,
1864  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1865  },
1866  // -10:00 US H%sT
1867  {
1868  &kZonePolicyUS /*zonePolicy*/,
1869  "H%T" /*format*/,
1870  -2400 /*offsetCode (-36000/15)*/,
1871  0 /*offsetRemainder (-36000%15)*/,
1872  0 /*deltaMinutes*/,
1873  32767 /*untilYear*/,
1874  1 /*untilMonth*/,
1875  1 /*untilDay*/,
1876  0 /*untilTimeCode (0/15)*/,
1877  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1878  },
1879 
1880 };
1881 
1882 static const char kZoneNameAmerica_Adak[] ACE_TIME_PROGMEM = "\x02" "Adak";
1883 
1884 const complete::ZoneInfo kZoneAmerica_Adak ACE_TIME_PROGMEM = {
1885  kZoneNameAmerica_Adak /*name*/,
1886  0x97fe49d7 /*zoneId*/,
1887  &kZoneContext /*zoneContext*/,
1888  9 /*numEras*/,
1889  kZoneEraAmerica_Adak /*eras*/,
1890  nullptr /*targetInfo*/,
1891 };
1892 
1893 //---------------------------------------------------------------------------
1894 // Zone name: America/Anchorage
1895 // Eras: 8
1896 //---------------------------------------------------------------------------
1897 
1898 static const complete::ZoneEra kZoneEraAmerica_Anchorage[] ACE_TIME_PROGMEM = {
1899  // 14:00:24 - LMT 1867 Oct 19 14:31:37
1900  {
1901  nullptr /*zonePolicy*/,
1902  "LMT" /*format*/,
1903  3361 /*offsetCode (50424/15)*/,
1904  9 /*offsetRemainder (50424%15)*/,
1905  0 /*deltaMinutes*/,
1906  1867 /*untilYear*/,
1907  10 /*untilMonth*/,
1908  19 /*untilDay*/,
1909  3486 /*untilTimeCode (52297/15)*/,
1910  7 /*untilTimeModifier (kAtcSuffixW + seconds=7)*/,
1911  },
1912  // -9:59:36 - LMT 1900 Aug 20 12:00
1913  {
1914  nullptr /*zonePolicy*/,
1915  "LMT" /*format*/,
1916  -2399 /*offsetCode (-35976/15)*/,
1917  9 /*offsetRemainder (-35976%15)*/,
1918  0 /*deltaMinutes*/,
1919  1900 /*untilYear*/,
1920  8 /*untilMonth*/,
1921  20 /*untilDay*/,
1922  2880 /*untilTimeCode (43200/15)*/,
1923  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1924  },
1925  // -10:00 - AST 1942
1926  {
1927  nullptr /*zonePolicy*/,
1928  "AST" /*format*/,
1929  -2400 /*offsetCode (-36000/15)*/,
1930  0 /*offsetRemainder (-36000%15)*/,
1931  0 /*deltaMinutes*/,
1932  1942 /*untilYear*/,
1933  1 /*untilMonth*/,
1934  1 /*untilDay*/,
1935  0 /*untilTimeCode (0/15)*/,
1936  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1937  },
1938  // -10:00 US A%sT 1967 Apr
1939  {
1940  &kZonePolicyUS /*zonePolicy*/,
1941  "A%T" /*format*/,
1942  -2400 /*offsetCode (-36000/15)*/,
1943  0 /*offsetRemainder (-36000%15)*/,
1944  0 /*deltaMinutes*/,
1945  1967 /*untilYear*/,
1946  4 /*untilMonth*/,
1947  1 /*untilDay*/,
1948  0 /*untilTimeCode (0/15)*/,
1949  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1950  },
1951  // -10:00 - AHST 1969
1952  {
1953  nullptr /*zonePolicy*/,
1954  "AHST" /*format*/,
1955  -2400 /*offsetCode (-36000/15)*/,
1956  0 /*offsetRemainder (-36000%15)*/,
1957  0 /*deltaMinutes*/,
1958  1969 /*untilYear*/,
1959  1 /*untilMonth*/,
1960  1 /*untilDay*/,
1961  0 /*untilTimeCode (0/15)*/,
1962  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1963  },
1964  // -10:00 US AH%sT 1983 Oct 30 2:00
1965  {
1966  &kZonePolicyUS /*zonePolicy*/,
1967  "AH%T" /*format*/,
1968  -2400 /*offsetCode (-36000/15)*/,
1969  0 /*offsetRemainder (-36000%15)*/,
1970  0 /*deltaMinutes*/,
1971  1983 /*untilYear*/,
1972  10 /*untilMonth*/,
1973  30 /*untilDay*/,
1974  480 /*untilTimeCode (7200/15)*/,
1975  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1976  },
1977  // -9:00 US Y%sT 1983 Nov 30
1978  {
1979  &kZonePolicyUS /*zonePolicy*/,
1980  "Y%T" /*format*/,
1981  -2160 /*offsetCode (-32400/15)*/,
1982  0 /*offsetRemainder (-32400%15)*/,
1983  0 /*deltaMinutes*/,
1984  1983 /*untilYear*/,
1985  11 /*untilMonth*/,
1986  30 /*untilDay*/,
1987  0 /*untilTimeCode (0/15)*/,
1988  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1989  },
1990  // -9:00 US AK%sT
1991  {
1992  &kZonePolicyUS /*zonePolicy*/,
1993  "AK%T" /*format*/,
1994  -2160 /*offsetCode (-32400/15)*/,
1995  0 /*offsetRemainder (-32400%15)*/,
1996  0 /*deltaMinutes*/,
1997  32767 /*untilYear*/,
1998  1 /*untilMonth*/,
1999  1 /*untilDay*/,
2000  0 /*untilTimeCode (0/15)*/,
2001  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2002  },
2003 
2004 };
2005 
2006 static const char kZoneNameAmerica_Anchorage[] ACE_TIME_PROGMEM = "\x02" "Anchorage";
2007 
2008 const complete::ZoneInfo kZoneAmerica_Anchorage ACE_TIME_PROGMEM = {
2009  kZoneNameAmerica_Anchorage /*name*/,
2010  0x5a79260e /*zoneId*/,
2011  &kZoneContext /*zoneContext*/,
2012  8 /*numEras*/,
2013  kZoneEraAmerica_Anchorage /*eras*/,
2014  nullptr /*targetInfo*/,
2015 };
2016 
2017 //---------------------------------------------------------------------------
2018 // Zone name: America/Araguaina
2019 // Eras: 7
2020 //---------------------------------------------------------------------------
2021 
2022 static const complete::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = {
2023  // -3:12:48 - LMT 1914
2024  {
2025  nullptr /*zonePolicy*/,
2026  "LMT" /*format*/,
2027  -772 /*offsetCode (-11568/15)*/,
2028  12 /*offsetRemainder (-11568%15)*/,
2029  0 /*deltaMinutes*/,
2030  1914 /*untilYear*/,
2031  1 /*untilMonth*/,
2032  1 /*untilDay*/,
2033  0 /*untilTimeCode (0/15)*/,
2034  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2035  },
2036  // -3:00 Brazil -03/-02 1990 Sep 17
2037  {
2038  &kZonePolicyBrazil /*zonePolicy*/,
2039  "-03/-02" /*format*/,
2040  -720 /*offsetCode (-10800/15)*/,
2041  0 /*offsetRemainder (-10800%15)*/,
2042  0 /*deltaMinutes*/,
2043  1990 /*untilYear*/,
2044  9 /*untilMonth*/,
2045  17 /*untilDay*/,
2046  0 /*untilTimeCode (0/15)*/,
2047  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2048  },
2049  // -3:00 - -03 1995 Sep 14
2050  {
2051  nullptr /*zonePolicy*/,
2052  "-03" /*format*/,
2053  -720 /*offsetCode (-10800/15)*/,
2054  0 /*offsetRemainder (-10800%15)*/,
2055  0 /*deltaMinutes*/,
2056  1995 /*untilYear*/,
2057  9 /*untilMonth*/,
2058  14 /*untilDay*/,
2059  0 /*untilTimeCode (0/15)*/,
2060  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2061  },
2062  // -3:00 Brazil -03/-02 2003 Sep 24
2063  {
2064  &kZonePolicyBrazil /*zonePolicy*/,
2065  "-03/-02" /*format*/,
2066  -720 /*offsetCode (-10800/15)*/,
2067  0 /*offsetRemainder (-10800%15)*/,
2068  0 /*deltaMinutes*/,
2069  2003 /*untilYear*/,
2070  9 /*untilMonth*/,
2071  24 /*untilDay*/,
2072  0 /*untilTimeCode (0/15)*/,
2073  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2074  },
2075  // -3:00 - -03 2012 Oct 21
2076  {
2077  nullptr /*zonePolicy*/,
2078  "-03" /*format*/,
2079  -720 /*offsetCode (-10800/15)*/,
2080  0 /*offsetRemainder (-10800%15)*/,
2081  0 /*deltaMinutes*/,
2082  2012 /*untilYear*/,
2083  10 /*untilMonth*/,
2084  21 /*untilDay*/,
2085  0 /*untilTimeCode (0/15)*/,
2086  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2087  },
2088  // -3:00 Brazil -03/-02 2013 Sep
2089  {
2090  &kZonePolicyBrazil /*zonePolicy*/,
2091  "-03/-02" /*format*/,
2092  -720 /*offsetCode (-10800/15)*/,
2093  0 /*offsetRemainder (-10800%15)*/,
2094  0 /*deltaMinutes*/,
2095  2013 /*untilYear*/,
2096  9 /*untilMonth*/,
2097  1 /*untilDay*/,
2098  0 /*untilTimeCode (0/15)*/,
2099  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2100  },
2101  // -3:00 - -03
2102  {
2103  nullptr /*zonePolicy*/,
2104  "-03" /*format*/,
2105  -720 /*offsetCode (-10800/15)*/,
2106  0 /*offsetRemainder (-10800%15)*/,
2107  0 /*deltaMinutes*/,
2108  32767 /*untilYear*/,
2109  1 /*untilMonth*/,
2110  1 /*untilDay*/,
2111  0 /*untilTimeCode (0/15)*/,
2112  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2113  },
2114 
2115 };
2116 
2117 static const char kZoneNameAmerica_Araguaina[] ACE_TIME_PROGMEM = "\x02" "Araguaina";
2118 
2119 const complete::ZoneInfo kZoneAmerica_Araguaina ACE_TIME_PROGMEM = {
2120  kZoneNameAmerica_Araguaina /*name*/,
2121  0x6f9a3aef /*zoneId*/,
2122  &kZoneContext /*zoneContext*/,
2123  7 /*numEras*/,
2124  kZoneEraAmerica_Araguaina /*eras*/,
2125  nullptr /*targetInfo*/,
2126 };
2127 
2128 //---------------------------------------------------------------------------
2129 // Zone name: America/Argentina/Buenos_Aires
2130 // Eras: 7
2131 //---------------------------------------------------------------------------
2132 
2133 static const complete::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = {
2134  // -3:53:48 - LMT 1894 Oct 31
2135  {
2136  nullptr /*zonePolicy*/,
2137  "LMT" /*format*/,
2138  -936 /*offsetCode (-14028/15)*/,
2139  12 /*offsetRemainder (-14028%15)*/,
2140  0 /*deltaMinutes*/,
2141  1894 /*untilYear*/,
2142  10 /*untilMonth*/,
2143  31 /*untilDay*/,
2144  0 /*untilTimeCode (0/15)*/,
2145  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2146  },
2147  // -4:16:48 - CMT 1920 May
2148  {
2149  nullptr /*zonePolicy*/,
2150  "CMT" /*format*/,
2151  -1028 /*offsetCode (-15408/15)*/,
2152  12 /*offsetRemainder (-15408%15)*/,
2153  0 /*deltaMinutes*/,
2154  1920 /*untilYear*/,
2155  5 /*untilMonth*/,
2156  1 /*untilDay*/,
2157  0 /*untilTimeCode (0/15)*/,
2158  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2159  },
2160  // -4:00 - -04 1930 Dec
2161  {
2162  nullptr /*zonePolicy*/,
2163  "-04" /*format*/,
2164  -960 /*offsetCode (-14400/15)*/,
2165  0 /*offsetRemainder (-14400%15)*/,
2166  0 /*deltaMinutes*/,
2167  1930 /*untilYear*/,
2168  12 /*untilMonth*/,
2169  1 /*untilDay*/,
2170  0 /*untilTimeCode (0/15)*/,
2171  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2172  },
2173  // -4:00 Arg -04/-03 1969 Oct 5
2174  {
2175  &kZonePolicyArg /*zonePolicy*/,
2176  "-04/-03" /*format*/,
2177  -960 /*offsetCode (-14400/15)*/,
2178  0 /*offsetRemainder (-14400%15)*/,
2179  0 /*deltaMinutes*/,
2180  1969 /*untilYear*/,
2181  10 /*untilMonth*/,
2182  5 /*untilDay*/,
2183  0 /*untilTimeCode (0/15)*/,
2184  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2185  },
2186  // -3:00 Arg -03/-02 1999 Oct 3
2187  {
2188  &kZonePolicyArg /*zonePolicy*/,
2189  "-03/-02" /*format*/,
2190  -720 /*offsetCode (-10800/15)*/,
2191  0 /*offsetRemainder (-10800%15)*/,
2192  0 /*deltaMinutes*/,
2193  1999 /*untilYear*/,
2194  10 /*untilMonth*/,
2195  3 /*untilDay*/,
2196  0 /*untilTimeCode (0/15)*/,
2197  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2198  },
2199  // -4:00 Arg -04/-03 2000 Mar 3
2200  {
2201  &kZonePolicyArg /*zonePolicy*/,
2202  "-04/-03" /*format*/,
2203  -960 /*offsetCode (-14400/15)*/,
2204  0 /*offsetRemainder (-14400%15)*/,
2205  0 /*deltaMinutes*/,
2206  2000 /*untilYear*/,
2207  3 /*untilMonth*/,
2208  3 /*untilDay*/,
2209  0 /*untilTimeCode (0/15)*/,
2210  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2211  },
2212  // -3:00 Arg -03/-02
2213  {
2214  &kZonePolicyArg /*zonePolicy*/,
2215  "-03/-02" /*format*/,
2216  -720 /*offsetCode (-10800/15)*/,
2217  0 /*offsetRemainder (-10800%15)*/,
2218  0 /*deltaMinutes*/,
2219  32767 /*untilYear*/,
2220  1 /*untilMonth*/,
2221  1 /*untilDay*/,
2222  0 /*untilTimeCode (0/15)*/,
2223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2224  },
2225 
2226 };
2227 
2228 static const char kZoneNameAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = "\x02" "\x04" "Buenos_Aires";
2229 
2230 const complete::ZoneInfo kZoneAmerica_Argentina_Buenos_Aires ACE_TIME_PROGMEM = {
2231  kZoneNameAmerica_Argentina_Buenos_Aires /*name*/,
2232  0xd43b4c0d /*zoneId*/,
2233  &kZoneContext /*zoneContext*/,
2234  7 /*numEras*/,
2235  kZoneEraAmerica_Argentina_Buenos_Aires /*eras*/,
2236  nullptr /*targetInfo*/,
2237 };
2238 
2239 //---------------------------------------------------------------------------
2240 // Zone name: America/Argentina/Catamarca
2241 // Eras: 12
2242 //---------------------------------------------------------------------------
2243 
2244 static const complete::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = {
2245  // -4:23:08 - LMT 1894 Oct 31
2246  {
2247  nullptr /*zonePolicy*/,
2248  "LMT" /*format*/,
2249  -1053 /*offsetCode (-15788/15)*/,
2250  7 /*offsetRemainder (-15788%15)*/,
2251  0 /*deltaMinutes*/,
2252  1894 /*untilYear*/,
2253  10 /*untilMonth*/,
2254  31 /*untilDay*/,
2255  0 /*untilTimeCode (0/15)*/,
2256  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2257  },
2258  // -4:16:48 - CMT 1920 May
2259  {
2260  nullptr /*zonePolicy*/,
2261  "CMT" /*format*/,
2262  -1028 /*offsetCode (-15408/15)*/,
2263  12 /*offsetRemainder (-15408%15)*/,
2264  0 /*deltaMinutes*/,
2265  1920 /*untilYear*/,
2266  5 /*untilMonth*/,
2267  1 /*untilDay*/,
2268  0 /*untilTimeCode (0/15)*/,
2269  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2270  },
2271  // -4:00 - -04 1930 Dec
2272  {
2273  nullptr /*zonePolicy*/,
2274  "-04" /*format*/,
2275  -960 /*offsetCode (-14400/15)*/,
2276  0 /*offsetRemainder (-14400%15)*/,
2277  0 /*deltaMinutes*/,
2278  1930 /*untilYear*/,
2279  12 /*untilMonth*/,
2280  1 /*untilDay*/,
2281  0 /*untilTimeCode (0/15)*/,
2282  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2283  },
2284  // -4:00 Arg -04/-03 1969 Oct 5
2285  {
2286  &kZonePolicyArg /*zonePolicy*/,
2287  "-04/-03" /*format*/,
2288  -960 /*offsetCode (-14400/15)*/,
2289  0 /*offsetRemainder (-14400%15)*/,
2290  0 /*deltaMinutes*/,
2291  1969 /*untilYear*/,
2292  10 /*untilMonth*/,
2293  5 /*untilDay*/,
2294  0 /*untilTimeCode (0/15)*/,
2295  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2296  },
2297  // -3:00 Arg -03/-02 1991 Mar 3
2298  {
2299  &kZonePolicyArg /*zonePolicy*/,
2300  "-03/-02" /*format*/,
2301  -720 /*offsetCode (-10800/15)*/,
2302  0 /*offsetRemainder (-10800%15)*/,
2303  0 /*deltaMinutes*/,
2304  1991 /*untilYear*/,
2305  3 /*untilMonth*/,
2306  3 /*untilDay*/,
2307  0 /*untilTimeCode (0/15)*/,
2308  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2309  },
2310  // -4:00 - -04 1991 Oct 20
2311  {
2312  nullptr /*zonePolicy*/,
2313  "-04" /*format*/,
2314  -960 /*offsetCode (-14400/15)*/,
2315  0 /*offsetRemainder (-14400%15)*/,
2316  0 /*deltaMinutes*/,
2317  1991 /*untilYear*/,
2318  10 /*untilMonth*/,
2319  20 /*untilDay*/,
2320  0 /*untilTimeCode (0/15)*/,
2321  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2322  },
2323  // -3:00 Arg -03/-02 1999 Oct 3
2324  {
2325  &kZonePolicyArg /*zonePolicy*/,
2326  "-03/-02" /*format*/,
2327  -720 /*offsetCode (-10800/15)*/,
2328  0 /*offsetRemainder (-10800%15)*/,
2329  0 /*deltaMinutes*/,
2330  1999 /*untilYear*/,
2331  10 /*untilMonth*/,
2332  3 /*untilDay*/,
2333  0 /*untilTimeCode (0/15)*/,
2334  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2335  },
2336  // -4:00 Arg -04/-03 2000 Mar 3
2337  {
2338  &kZonePolicyArg /*zonePolicy*/,
2339  "-04/-03" /*format*/,
2340  -960 /*offsetCode (-14400/15)*/,
2341  0 /*offsetRemainder (-14400%15)*/,
2342  0 /*deltaMinutes*/,
2343  2000 /*untilYear*/,
2344  3 /*untilMonth*/,
2345  3 /*untilDay*/,
2346  0 /*untilTimeCode (0/15)*/,
2347  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2348  },
2349  // -3:00 - -03 2004 Jun 1
2350  {
2351  nullptr /*zonePolicy*/,
2352  "-03" /*format*/,
2353  -720 /*offsetCode (-10800/15)*/,
2354  0 /*offsetRemainder (-10800%15)*/,
2355  0 /*deltaMinutes*/,
2356  2004 /*untilYear*/,
2357  6 /*untilMonth*/,
2358  1 /*untilDay*/,
2359  0 /*untilTimeCode (0/15)*/,
2360  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2361  },
2362  // -4:00 - -04 2004 Jun 20
2363  {
2364  nullptr /*zonePolicy*/,
2365  "-04" /*format*/,
2366  -960 /*offsetCode (-14400/15)*/,
2367  0 /*offsetRemainder (-14400%15)*/,
2368  0 /*deltaMinutes*/,
2369  2004 /*untilYear*/,
2370  6 /*untilMonth*/,
2371  20 /*untilDay*/,
2372  0 /*untilTimeCode (0/15)*/,
2373  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2374  },
2375  // -3:00 Arg -03/-02 2008 Oct 18
2376  {
2377  &kZonePolicyArg /*zonePolicy*/,
2378  "-03/-02" /*format*/,
2379  -720 /*offsetCode (-10800/15)*/,
2380  0 /*offsetRemainder (-10800%15)*/,
2381  0 /*deltaMinutes*/,
2382  2008 /*untilYear*/,
2383  10 /*untilMonth*/,
2384  18 /*untilDay*/,
2385  0 /*untilTimeCode (0/15)*/,
2386  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2387  },
2388  // -3:00 - -03
2389  {
2390  nullptr /*zonePolicy*/,
2391  "-03" /*format*/,
2392  -720 /*offsetCode (-10800/15)*/,
2393  0 /*offsetRemainder (-10800%15)*/,
2394  0 /*deltaMinutes*/,
2395  32767 /*untilYear*/,
2396  1 /*untilMonth*/,
2397  1 /*untilDay*/,
2398  0 /*untilTimeCode (0/15)*/,
2399  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2400  },
2401 
2402 };
2403 
2404 static const char kZoneNameAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = "\x02" "\x04" "Catamarca";
2405 
2406 const complete::ZoneInfo kZoneAmerica_Argentina_Catamarca ACE_TIME_PROGMEM = {
2407  kZoneNameAmerica_Argentina_Catamarca /*name*/,
2408  0x8d40986b /*zoneId*/,
2409  &kZoneContext /*zoneContext*/,
2410  12 /*numEras*/,
2411  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
2412  nullptr /*targetInfo*/,
2413 };
2414 
2415 //---------------------------------------------------------------------------
2416 // Zone name: America/Argentina/Cordoba
2417 // Eras: 9
2418 //---------------------------------------------------------------------------
2419 
2420 static const complete::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = {
2421  // -4:16:48 - LMT 1894 Oct 31
2422  {
2423  nullptr /*zonePolicy*/,
2424  "LMT" /*format*/,
2425  -1028 /*offsetCode (-15408/15)*/,
2426  12 /*offsetRemainder (-15408%15)*/,
2427  0 /*deltaMinutes*/,
2428  1894 /*untilYear*/,
2429  10 /*untilMonth*/,
2430  31 /*untilDay*/,
2431  0 /*untilTimeCode (0/15)*/,
2432  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2433  },
2434  // -4:16:48 - CMT 1920 May
2435  {
2436  nullptr /*zonePolicy*/,
2437  "CMT" /*format*/,
2438  -1028 /*offsetCode (-15408/15)*/,
2439  12 /*offsetRemainder (-15408%15)*/,
2440  0 /*deltaMinutes*/,
2441  1920 /*untilYear*/,
2442  5 /*untilMonth*/,
2443  1 /*untilDay*/,
2444  0 /*untilTimeCode (0/15)*/,
2445  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2446  },
2447  // -4:00 - -04 1930 Dec
2448  {
2449  nullptr /*zonePolicy*/,
2450  "-04" /*format*/,
2451  -960 /*offsetCode (-14400/15)*/,
2452  0 /*offsetRemainder (-14400%15)*/,
2453  0 /*deltaMinutes*/,
2454  1930 /*untilYear*/,
2455  12 /*untilMonth*/,
2456  1 /*untilDay*/,
2457  0 /*untilTimeCode (0/15)*/,
2458  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2459  },
2460  // -4:00 Arg -04/-03 1969 Oct 5
2461  {
2462  &kZonePolicyArg /*zonePolicy*/,
2463  "-04/-03" /*format*/,
2464  -960 /*offsetCode (-14400/15)*/,
2465  0 /*offsetRemainder (-14400%15)*/,
2466  0 /*deltaMinutes*/,
2467  1969 /*untilYear*/,
2468  10 /*untilMonth*/,
2469  5 /*untilDay*/,
2470  0 /*untilTimeCode (0/15)*/,
2471  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2472  },
2473  // -3:00 Arg -03/-02 1991 Mar 3
2474  {
2475  &kZonePolicyArg /*zonePolicy*/,
2476  "-03/-02" /*format*/,
2477  -720 /*offsetCode (-10800/15)*/,
2478  0 /*offsetRemainder (-10800%15)*/,
2479  0 /*deltaMinutes*/,
2480  1991 /*untilYear*/,
2481  3 /*untilMonth*/,
2482  3 /*untilDay*/,
2483  0 /*untilTimeCode (0/15)*/,
2484  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2485  },
2486  // -4:00 - -04 1991 Oct 20
2487  {
2488  nullptr /*zonePolicy*/,
2489  "-04" /*format*/,
2490  -960 /*offsetCode (-14400/15)*/,
2491  0 /*offsetRemainder (-14400%15)*/,
2492  0 /*deltaMinutes*/,
2493  1991 /*untilYear*/,
2494  10 /*untilMonth*/,
2495  20 /*untilDay*/,
2496  0 /*untilTimeCode (0/15)*/,
2497  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2498  },
2499  // -3:00 Arg -03/-02 1999 Oct 3
2500  {
2501  &kZonePolicyArg /*zonePolicy*/,
2502  "-03/-02" /*format*/,
2503  -720 /*offsetCode (-10800/15)*/,
2504  0 /*offsetRemainder (-10800%15)*/,
2505  0 /*deltaMinutes*/,
2506  1999 /*untilYear*/,
2507  10 /*untilMonth*/,
2508  3 /*untilDay*/,
2509  0 /*untilTimeCode (0/15)*/,
2510  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2511  },
2512  // -4:00 Arg -04/-03 2000 Mar 3
2513  {
2514  &kZonePolicyArg /*zonePolicy*/,
2515  "-04/-03" /*format*/,
2516  -960 /*offsetCode (-14400/15)*/,
2517  0 /*offsetRemainder (-14400%15)*/,
2518  0 /*deltaMinutes*/,
2519  2000 /*untilYear*/,
2520  3 /*untilMonth*/,
2521  3 /*untilDay*/,
2522  0 /*untilTimeCode (0/15)*/,
2523  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2524  },
2525  // -3:00 Arg -03/-02
2526  {
2527  &kZonePolicyArg /*zonePolicy*/,
2528  "-03/-02" /*format*/,
2529  -720 /*offsetCode (-10800/15)*/,
2530  0 /*offsetRemainder (-10800%15)*/,
2531  0 /*deltaMinutes*/,
2532  32767 /*untilYear*/,
2533  1 /*untilMonth*/,
2534  1 /*untilDay*/,
2535  0 /*untilTimeCode (0/15)*/,
2536  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2537  },
2538 
2539 };
2540 
2541 static const char kZoneNameAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = "\x02" "\x04" "Cordoba";
2542 
2543 const complete::ZoneInfo kZoneAmerica_Argentina_Cordoba ACE_TIME_PROGMEM = {
2544  kZoneNameAmerica_Argentina_Cordoba /*name*/,
2545  0xbfccc308 /*zoneId*/,
2546  &kZoneContext /*zoneContext*/,
2547  9 /*numEras*/,
2548  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
2549  nullptr /*targetInfo*/,
2550 };
2551 
2552 //---------------------------------------------------------------------------
2553 // Zone name: America/Argentina/Jujuy
2554 // Eras: 13
2555 //---------------------------------------------------------------------------
2556 
2557 static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = {
2558  // -4:21:12 - LMT 1894 Oct 31
2559  {
2560  nullptr /*zonePolicy*/,
2561  "LMT" /*format*/,
2562  -1045 /*offsetCode (-15672/15)*/,
2563  3 /*offsetRemainder (-15672%15)*/,
2564  0 /*deltaMinutes*/,
2565  1894 /*untilYear*/,
2566  10 /*untilMonth*/,
2567  31 /*untilDay*/,
2568  0 /*untilTimeCode (0/15)*/,
2569  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2570  },
2571  // -4:16:48 - CMT 1920 May
2572  {
2573  nullptr /*zonePolicy*/,
2574  "CMT" /*format*/,
2575  -1028 /*offsetCode (-15408/15)*/,
2576  12 /*offsetRemainder (-15408%15)*/,
2577  0 /*deltaMinutes*/,
2578  1920 /*untilYear*/,
2579  5 /*untilMonth*/,
2580  1 /*untilDay*/,
2581  0 /*untilTimeCode (0/15)*/,
2582  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2583  },
2584  // -4:00 - -04 1930 Dec
2585  {
2586  nullptr /*zonePolicy*/,
2587  "-04" /*format*/,
2588  -960 /*offsetCode (-14400/15)*/,
2589  0 /*offsetRemainder (-14400%15)*/,
2590  0 /*deltaMinutes*/,
2591  1930 /*untilYear*/,
2592  12 /*untilMonth*/,
2593  1 /*untilDay*/,
2594  0 /*untilTimeCode (0/15)*/,
2595  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2596  },
2597  // -4:00 Arg -04/-03 1969 Oct 5
2598  {
2599  &kZonePolicyArg /*zonePolicy*/,
2600  "-04/-03" /*format*/,
2601  -960 /*offsetCode (-14400/15)*/,
2602  0 /*offsetRemainder (-14400%15)*/,
2603  0 /*deltaMinutes*/,
2604  1969 /*untilYear*/,
2605  10 /*untilMonth*/,
2606  5 /*untilDay*/,
2607  0 /*untilTimeCode (0/15)*/,
2608  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2609  },
2610  // -3:00 Arg -03/-02 1990 Mar 4
2611  {
2612  &kZonePolicyArg /*zonePolicy*/,
2613  "-03/-02" /*format*/,
2614  -720 /*offsetCode (-10800/15)*/,
2615  0 /*offsetRemainder (-10800%15)*/,
2616  0 /*deltaMinutes*/,
2617  1990 /*untilYear*/,
2618  3 /*untilMonth*/,
2619  4 /*untilDay*/,
2620  0 /*untilTimeCode (0/15)*/,
2621  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2622  },
2623  // -4:00 - -04 1990 Oct 28
2624  {
2625  nullptr /*zonePolicy*/,
2626  "-04" /*format*/,
2627  -960 /*offsetCode (-14400/15)*/,
2628  0 /*offsetRemainder (-14400%15)*/,
2629  0 /*deltaMinutes*/,
2630  1990 /*untilYear*/,
2631  10 /*untilMonth*/,
2632  28 /*untilDay*/,
2633  0 /*untilTimeCode (0/15)*/,
2634  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2635  },
2636  // -4:00 1:00 -03 1991 Mar 17
2637  {
2638  nullptr /*zonePolicy*/,
2639  "-03" /*format*/,
2640  -960 /*offsetCode (-14400/15)*/,
2641  0 /*offsetRemainder (-14400%15)*/,
2642  60 /*deltaMinutes*/,
2643  1991 /*untilYear*/,
2644  3 /*untilMonth*/,
2645  17 /*untilDay*/,
2646  0 /*untilTimeCode (0/15)*/,
2647  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2648  },
2649  // -4:00 - -04 1991 Oct 6
2650  {
2651  nullptr /*zonePolicy*/,
2652  "-04" /*format*/,
2653  -960 /*offsetCode (-14400/15)*/,
2654  0 /*offsetRemainder (-14400%15)*/,
2655  0 /*deltaMinutes*/,
2656  1991 /*untilYear*/,
2657  10 /*untilMonth*/,
2658  6 /*untilDay*/,
2659  0 /*untilTimeCode (0/15)*/,
2660  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2661  },
2662  // -3:00 1:00 -02 1992
2663  {
2664  nullptr /*zonePolicy*/,
2665  "-02" /*format*/,
2666  -720 /*offsetCode (-10800/15)*/,
2667  0 /*offsetRemainder (-10800%15)*/,
2668  60 /*deltaMinutes*/,
2669  1992 /*untilYear*/,
2670  1 /*untilMonth*/,
2671  1 /*untilDay*/,
2672  0 /*untilTimeCode (0/15)*/,
2673  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2674  },
2675  // -3:00 Arg -03/-02 1999 Oct 3
2676  {
2677  &kZonePolicyArg /*zonePolicy*/,
2678  "-03/-02" /*format*/,
2679  -720 /*offsetCode (-10800/15)*/,
2680  0 /*offsetRemainder (-10800%15)*/,
2681  0 /*deltaMinutes*/,
2682  1999 /*untilYear*/,
2683  10 /*untilMonth*/,
2684  3 /*untilDay*/,
2685  0 /*untilTimeCode (0/15)*/,
2686  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2687  },
2688  // -4:00 Arg -04/-03 2000 Mar 3
2689  {
2690  &kZonePolicyArg /*zonePolicy*/,
2691  "-04/-03" /*format*/,
2692  -960 /*offsetCode (-14400/15)*/,
2693  0 /*offsetRemainder (-14400%15)*/,
2694  0 /*deltaMinutes*/,
2695  2000 /*untilYear*/,
2696  3 /*untilMonth*/,
2697  3 /*untilDay*/,
2698  0 /*untilTimeCode (0/15)*/,
2699  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2700  },
2701  // -3:00 Arg -03/-02 2008 Oct 18
2702  {
2703  &kZonePolicyArg /*zonePolicy*/,
2704  "-03/-02" /*format*/,
2705  -720 /*offsetCode (-10800/15)*/,
2706  0 /*offsetRemainder (-10800%15)*/,
2707  0 /*deltaMinutes*/,
2708  2008 /*untilYear*/,
2709  10 /*untilMonth*/,
2710  18 /*untilDay*/,
2711  0 /*untilTimeCode (0/15)*/,
2712  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2713  },
2714  // -3:00 - -03
2715  {
2716  nullptr /*zonePolicy*/,
2717  "-03" /*format*/,
2718  -720 /*offsetCode (-10800/15)*/,
2719  0 /*offsetRemainder (-10800%15)*/,
2720  0 /*deltaMinutes*/,
2721  32767 /*untilYear*/,
2722  1 /*untilMonth*/,
2723  1 /*untilDay*/,
2724  0 /*untilTimeCode (0/15)*/,
2725  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2726  },
2727 
2728 };
2729 
2730 static const char kZoneNameAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = "\x02" "\x04" "Jujuy";
2731 
2732 const complete::ZoneInfo kZoneAmerica_Argentina_Jujuy ACE_TIME_PROGMEM = {
2733  kZoneNameAmerica_Argentina_Jujuy /*name*/,
2734  0x5f2f46c5 /*zoneId*/,
2735  &kZoneContext /*zoneContext*/,
2736  13 /*numEras*/,
2737  kZoneEraAmerica_Argentina_Jujuy /*eras*/,
2738  nullptr /*targetInfo*/,
2739 };
2740 
2741 //---------------------------------------------------------------------------
2742 // Zone name: America/Argentina/La_Rioja
2743 // Eras: 12
2744 //---------------------------------------------------------------------------
2745 
2746 static const complete::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = {
2747  // -4:27:24 - LMT 1894 Oct 31
2748  {
2749  nullptr /*zonePolicy*/,
2750  "LMT" /*format*/,
2751  -1070 /*offsetCode (-16044/15)*/,
2752  6 /*offsetRemainder (-16044%15)*/,
2753  0 /*deltaMinutes*/,
2754  1894 /*untilYear*/,
2755  10 /*untilMonth*/,
2756  31 /*untilDay*/,
2757  0 /*untilTimeCode (0/15)*/,
2758  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2759  },
2760  // -4:16:48 - CMT 1920 May
2761  {
2762  nullptr /*zonePolicy*/,
2763  "CMT" /*format*/,
2764  -1028 /*offsetCode (-15408/15)*/,
2765  12 /*offsetRemainder (-15408%15)*/,
2766  0 /*deltaMinutes*/,
2767  1920 /*untilYear*/,
2768  5 /*untilMonth*/,
2769  1 /*untilDay*/,
2770  0 /*untilTimeCode (0/15)*/,
2771  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2772  },
2773  // -4:00 - -04 1930 Dec
2774  {
2775  nullptr /*zonePolicy*/,
2776  "-04" /*format*/,
2777  -960 /*offsetCode (-14400/15)*/,
2778  0 /*offsetRemainder (-14400%15)*/,
2779  0 /*deltaMinutes*/,
2780  1930 /*untilYear*/,
2781  12 /*untilMonth*/,
2782  1 /*untilDay*/,
2783  0 /*untilTimeCode (0/15)*/,
2784  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2785  },
2786  // -4:00 Arg -04/-03 1969 Oct 5
2787  {
2788  &kZonePolicyArg /*zonePolicy*/,
2789  "-04/-03" /*format*/,
2790  -960 /*offsetCode (-14400/15)*/,
2791  0 /*offsetRemainder (-14400%15)*/,
2792  0 /*deltaMinutes*/,
2793  1969 /*untilYear*/,
2794  10 /*untilMonth*/,
2795  5 /*untilDay*/,
2796  0 /*untilTimeCode (0/15)*/,
2797  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2798  },
2799  // -3:00 Arg -03/-02 1991 Mar 1
2800  {
2801  &kZonePolicyArg /*zonePolicy*/,
2802  "-03/-02" /*format*/,
2803  -720 /*offsetCode (-10800/15)*/,
2804  0 /*offsetRemainder (-10800%15)*/,
2805  0 /*deltaMinutes*/,
2806  1991 /*untilYear*/,
2807  3 /*untilMonth*/,
2808  1 /*untilDay*/,
2809  0 /*untilTimeCode (0/15)*/,
2810  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2811  },
2812  // -4:00 - -04 1991 May 7
2813  {
2814  nullptr /*zonePolicy*/,
2815  "-04" /*format*/,
2816  -960 /*offsetCode (-14400/15)*/,
2817  0 /*offsetRemainder (-14400%15)*/,
2818  0 /*deltaMinutes*/,
2819  1991 /*untilYear*/,
2820  5 /*untilMonth*/,
2821  7 /*untilDay*/,
2822  0 /*untilTimeCode (0/15)*/,
2823  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2824  },
2825  // -3:00 Arg -03/-02 1999 Oct 3
2826  {
2827  &kZonePolicyArg /*zonePolicy*/,
2828  "-03/-02" /*format*/,
2829  -720 /*offsetCode (-10800/15)*/,
2830  0 /*offsetRemainder (-10800%15)*/,
2831  0 /*deltaMinutes*/,
2832  1999 /*untilYear*/,
2833  10 /*untilMonth*/,
2834  3 /*untilDay*/,
2835  0 /*untilTimeCode (0/15)*/,
2836  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2837  },
2838  // -4:00 Arg -04/-03 2000 Mar 3
2839  {
2840  &kZonePolicyArg /*zonePolicy*/,
2841  "-04/-03" /*format*/,
2842  -960 /*offsetCode (-14400/15)*/,
2843  0 /*offsetRemainder (-14400%15)*/,
2844  0 /*deltaMinutes*/,
2845  2000 /*untilYear*/,
2846  3 /*untilMonth*/,
2847  3 /*untilDay*/,
2848  0 /*untilTimeCode (0/15)*/,
2849  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2850  },
2851  // -3:00 - -03 2004 Jun 1
2852  {
2853  nullptr /*zonePolicy*/,
2854  "-03" /*format*/,
2855  -720 /*offsetCode (-10800/15)*/,
2856  0 /*offsetRemainder (-10800%15)*/,
2857  0 /*deltaMinutes*/,
2858  2004 /*untilYear*/,
2859  6 /*untilMonth*/,
2860  1 /*untilDay*/,
2861  0 /*untilTimeCode (0/15)*/,
2862  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2863  },
2864  // -4:00 - -04 2004 Jun 20
2865  {
2866  nullptr /*zonePolicy*/,
2867  "-04" /*format*/,
2868  -960 /*offsetCode (-14400/15)*/,
2869  0 /*offsetRemainder (-14400%15)*/,
2870  0 /*deltaMinutes*/,
2871  2004 /*untilYear*/,
2872  6 /*untilMonth*/,
2873  20 /*untilDay*/,
2874  0 /*untilTimeCode (0/15)*/,
2875  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2876  },
2877  // -3:00 Arg -03/-02 2008 Oct 18
2878  {
2879  &kZonePolicyArg /*zonePolicy*/,
2880  "-03/-02" /*format*/,
2881  -720 /*offsetCode (-10800/15)*/,
2882  0 /*offsetRemainder (-10800%15)*/,
2883  0 /*deltaMinutes*/,
2884  2008 /*untilYear*/,
2885  10 /*untilMonth*/,
2886  18 /*untilDay*/,
2887  0 /*untilTimeCode (0/15)*/,
2888  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2889  },
2890  // -3:00 - -03
2891  {
2892  nullptr /*zonePolicy*/,
2893  "-03" /*format*/,
2894  -720 /*offsetCode (-10800/15)*/,
2895  0 /*offsetRemainder (-10800%15)*/,
2896  0 /*deltaMinutes*/,
2897  32767 /*untilYear*/,
2898  1 /*untilMonth*/,
2899  1 /*untilDay*/,
2900  0 /*untilTimeCode (0/15)*/,
2901  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2902  },
2903 
2904 };
2905 
2906 static const char kZoneNameAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = "\x02" "\x04" "La_Rioja";
2907 
2908 const complete::ZoneInfo kZoneAmerica_Argentina_La_Rioja ACE_TIME_PROGMEM = {
2909  kZoneNameAmerica_Argentina_La_Rioja /*name*/,
2910  0xa46b7eef /*zoneId*/,
2911  &kZoneContext /*zoneContext*/,
2912  12 /*numEras*/,
2913  kZoneEraAmerica_Argentina_La_Rioja /*eras*/,
2914  nullptr /*targetInfo*/,
2915 };
2916 
2917 //---------------------------------------------------------------------------
2918 // Zone name: America/Argentina/Mendoza
2919 // Eras: 16
2920 //---------------------------------------------------------------------------
2921 
2922 static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = {
2923  // -4:35:16 - LMT 1894 Oct 31
2924  {
2925  nullptr /*zonePolicy*/,
2926  "LMT" /*format*/,
2927  -1102 /*offsetCode (-16516/15)*/,
2928  14 /*offsetRemainder (-16516%15)*/,
2929  0 /*deltaMinutes*/,
2930  1894 /*untilYear*/,
2931  10 /*untilMonth*/,
2932  31 /*untilDay*/,
2933  0 /*untilTimeCode (0/15)*/,
2934  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2935  },
2936  // -4:16:48 - CMT 1920 May
2937  {
2938  nullptr /*zonePolicy*/,
2939  "CMT" /*format*/,
2940  -1028 /*offsetCode (-15408/15)*/,
2941  12 /*offsetRemainder (-15408%15)*/,
2942  0 /*deltaMinutes*/,
2943  1920 /*untilYear*/,
2944  5 /*untilMonth*/,
2945  1 /*untilDay*/,
2946  0 /*untilTimeCode (0/15)*/,
2947  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2948  },
2949  // -4:00 - -04 1930 Dec
2950  {
2951  nullptr /*zonePolicy*/,
2952  "-04" /*format*/,
2953  -960 /*offsetCode (-14400/15)*/,
2954  0 /*offsetRemainder (-14400%15)*/,
2955  0 /*deltaMinutes*/,
2956  1930 /*untilYear*/,
2957  12 /*untilMonth*/,
2958  1 /*untilDay*/,
2959  0 /*untilTimeCode (0/15)*/,
2960  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2961  },
2962  // -4:00 Arg -04/-03 1969 Oct 5
2963  {
2964  &kZonePolicyArg /*zonePolicy*/,
2965  "-04/-03" /*format*/,
2966  -960 /*offsetCode (-14400/15)*/,
2967  0 /*offsetRemainder (-14400%15)*/,
2968  0 /*deltaMinutes*/,
2969  1969 /*untilYear*/,
2970  10 /*untilMonth*/,
2971  5 /*untilDay*/,
2972  0 /*untilTimeCode (0/15)*/,
2973  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2974  },
2975  // -3:00 Arg -03/-02 1990 Mar 4
2976  {
2977  &kZonePolicyArg /*zonePolicy*/,
2978  "-03/-02" /*format*/,
2979  -720 /*offsetCode (-10800/15)*/,
2980  0 /*offsetRemainder (-10800%15)*/,
2981  0 /*deltaMinutes*/,
2982  1990 /*untilYear*/,
2983  3 /*untilMonth*/,
2984  4 /*untilDay*/,
2985  0 /*untilTimeCode (0/15)*/,
2986  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2987  },
2988  // -4:00 - -04 1990 Oct 15
2989  {
2990  nullptr /*zonePolicy*/,
2991  "-04" /*format*/,
2992  -960 /*offsetCode (-14400/15)*/,
2993  0 /*offsetRemainder (-14400%15)*/,
2994  0 /*deltaMinutes*/,
2995  1990 /*untilYear*/,
2996  10 /*untilMonth*/,
2997  15 /*untilDay*/,
2998  0 /*untilTimeCode (0/15)*/,
2999  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3000  },
3001  // -4:00 1:00 -03 1991 Mar 1
3002  {
3003  nullptr /*zonePolicy*/,
3004  "-03" /*format*/,
3005  -960 /*offsetCode (-14400/15)*/,
3006  0 /*offsetRemainder (-14400%15)*/,
3007  60 /*deltaMinutes*/,
3008  1991 /*untilYear*/,
3009  3 /*untilMonth*/,
3010  1 /*untilDay*/,
3011  0 /*untilTimeCode (0/15)*/,
3012  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3013  },
3014  // -4:00 - -04 1991 Oct 15
3015  {
3016  nullptr /*zonePolicy*/,
3017  "-04" /*format*/,
3018  -960 /*offsetCode (-14400/15)*/,
3019  0 /*offsetRemainder (-14400%15)*/,
3020  0 /*deltaMinutes*/,
3021  1991 /*untilYear*/,
3022  10 /*untilMonth*/,
3023  15 /*untilDay*/,
3024  0 /*untilTimeCode (0/15)*/,
3025  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3026  },
3027  // -4:00 1:00 -03 1992 Mar 1
3028  {
3029  nullptr /*zonePolicy*/,
3030  "-03" /*format*/,
3031  -960 /*offsetCode (-14400/15)*/,
3032  0 /*offsetRemainder (-14400%15)*/,
3033  60 /*deltaMinutes*/,
3034  1992 /*untilYear*/,
3035  3 /*untilMonth*/,
3036  1 /*untilDay*/,
3037  0 /*untilTimeCode (0/15)*/,
3038  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3039  },
3040  // -4:00 - -04 1992 Oct 18
3041  {
3042  nullptr /*zonePolicy*/,
3043  "-04" /*format*/,
3044  -960 /*offsetCode (-14400/15)*/,
3045  0 /*offsetRemainder (-14400%15)*/,
3046  0 /*deltaMinutes*/,
3047  1992 /*untilYear*/,
3048  10 /*untilMonth*/,
3049  18 /*untilDay*/,
3050  0 /*untilTimeCode (0/15)*/,
3051  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3052  },
3053  // -3:00 Arg -03/-02 1999 Oct 3
3054  {
3055  &kZonePolicyArg /*zonePolicy*/,
3056  "-03/-02" /*format*/,
3057  -720 /*offsetCode (-10800/15)*/,
3058  0 /*offsetRemainder (-10800%15)*/,
3059  0 /*deltaMinutes*/,
3060  1999 /*untilYear*/,
3061  10 /*untilMonth*/,
3062  3 /*untilDay*/,
3063  0 /*untilTimeCode (0/15)*/,
3064  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3065  },
3066  // -4:00 Arg -04/-03 2000 Mar 3
3067  {
3068  &kZonePolicyArg /*zonePolicy*/,
3069  "-04/-03" /*format*/,
3070  -960 /*offsetCode (-14400/15)*/,
3071  0 /*offsetRemainder (-14400%15)*/,
3072  0 /*deltaMinutes*/,
3073  2000 /*untilYear*/,
3074  3 /*untilMonth*/,
3075  3 /*untilDay*/,
3076  0 /*untilTimeCode (0/15)*/,
3077  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3078  },
3079  // -3:00 - -03 2004 May 23
3080  {
3081  nullptr /*zonePolicy*/,
3082  "-03" /*format*/,
3083  -720 /*offsetCode (-10800/15)*/,
3084  0 /*offsetRemainder (-10800%15)*/,
3085  0 /*deltaMinutes*/,
3086  2004 /*untilYear*/,
3087  5 /*untilMonth*/,
3088  23 /*untilDay*/,
3089  0 /*untilTimeCode (0/15)*/,
3090  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3091  },
3092  // -4:00 - -04 2004 Sep 26
3093  {
3094  nullptr /*zonePolicy*/,
3095  "-04" /*format*/,
3096  -960 /*offsetCode (-14400/15)*/,
3097  0 /*offsetRemainder (-14400%15)*/,
3098  0 /*deltaMinutes*/,
3099  2004 /*untilYear*/,
3100  9 /*untilMonth*/,
3101  26 /*untilDay*/,
3102  0 /*untilTimeCode (0/15)*/,
3103  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3104  },
3105  // -3:00 Arg -03/-02 2008 Oct 18
3106  {
3107  &kZonePolicyArg /*zonePolicy*/,
3108  "-03/-02" /*format*/,
3109  -720 /*offsetCode (-10800/15)*/,
3110  0 /*offsetRemainder (-10800%15)*/,
3111  0 /*deltaMinutes*/,
3112  2008 /*untilYear*/,
3113  10 /*untilMonth*/,
3114  18 /*untilDay*/,
3115  0 /*untilTimeCode (0/15)*/,
3116  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3117  },
3118  // -3:00 - -03
3119  {
3120  nullptr /*zonePolicy*/,
3121  "-03" /*format*/,
3122  -720 /*offsetCode (-10800/15)*/,
3123  0 /*offsetRemainder (-10800%15)*/,
3124  0 /*deltaMinutes*/,
3125  32767 /*untilYear*/,
3126  1 /*untilMonth*/,
3127  1 /*untilDay*/,
3128  0 /*untilTimeCode (0/15)*/,
3129  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3130  },
3131 
3132 };
3133 
3134 static const char kZoneNameAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = "\x02" "\x04" "Mendoza";
3135 
3136 const complete::ZoneInfo kZoneAmerica_Argentina_Mendoza ACE_TIME_PROGMEM = {
3137  kZoneNameAmerica_Argentina_Mendoza /*name*/,
3138  0xa9f72d5c /*zoneId*/,
3139  &kZoneContext /*zoneContext*/,
3140  16 /*numEras*/,
3141  kZoneEraAmerica_Argentina_Mendoza /*eras*/,
3142  nullptr /*targetInfo*/,
3143 };
3144 
3145 //---------------------------------------------------------------------------
3146 // Zone name: America/Argentina/Rio_Gallegos
3147 // Eras: 10
3148 //---------------------------------------------------------------------------
3149 
3150 static const complete::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = {
3151  // -4:36:52 - LMT 1894 Oct 31
3152  {
3153  nullptr /*zonePolicy*/,
3154  "LMT" /*format*/,
3155  -1108 /*offsetCode (-16612/15)*/,
3156  8 /*offsetRemainder (-16612%15)*/,
3157  0 /*deltaMinutes*/,
3158  1894 /*untilYear*/,
3159  10 /*untilMonth*/,
3160  31 /*untilDay*/,
3161  0 /*untilTimeCode (0/15)*/,
3162  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3163  },
3164  // -4:16:48 - CMT 1920 May
3165  {
3166  nullptr /*zonePolicy*/,
3167  "CMT" /*format*/,
3168  -1028 /*offsetCode (-15408/15)*/,
3169  12 /*offsetRemainder (-15408%15)*/,
3170  0 /*deltaMinutes*/,
3171  1920 /*untilYear*/,
3172  5 /*untilMonth*/,
3173  1 /*untilDay*/,
3174  0 /*untilTimeCode (0/15)*/,
3175  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3176  },
3177  // -4:00 - -04 1930 Dec
3178  {
3179  nullptr /*zonePolicy*/,
3180  "-04" /*format*/,
3181  -960 /*offsetCode (-14400/15)*/,
3182  0 /*offsetRemainder (-14400%15)*/,
3183  0 /*deltaMinutes*/,
3184  1930 /*untilYear*/,
3185  12 /*untilMonth*/,
3186  1 /*untilDay*/,
3187  0 /*untilTimeCode (0/15)*/,
3188  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3189  },
3190  // -4:00 Arg -04/-03 1969 Oct 5
3191  {
3192  &kZonePolicyArg /*zonePolicy*/,
3193  "-04/-03" /*format*/,
3194  -960 /*offsetCode (-14400/15)*/,
3195  0 /*offsetRemainder (-14400%15)*/,
3196  0 /*deltaMinutes*/,
3197  1969 /*untilYear*/,
3198  10 /*untilMonth*/,
3199  5 /*untilDay*/,
3200  0 /*untilTimeCode (0/15)*/,
3201  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3202  },
3203  // -3:00 Arg -03/-02 1999 Oct 3
3204  {
3205  &kZonePolicyArg /*zonePolicy*/,
3206  "-03/-02" /*format*/,
3207  -720 /*offsetCode (-10800/15)*/,
3208  0 /*offsetRemainder (-10800%15)*/,
3209  0 /*deltaMinutes*/,
3210  1999 /*untilYear*/,
3211  10 /*untilMonth*/,
3212  3 /*untilDay*/,
3213  0 /*untilTimeCode (0/15)*/,
3214  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3215  },
3216  // -4:00 Arg -04/-03 2000 Mar 3
3217  {
3218  &kZonePolicyArg /*zonePolicy*/,
3219  "-04/-03" /*format*/,
3220  -960 /*offsetCode (-14400/15)*/,
3221  0 /*offsetRemainder (-14400%15)*/,
3222  0 /*deltaMinutes*/,
3223  2000 /*untilYear*/,
3224  3 /*untilMonth*/,
3225  3 /*untilDay*/,
3226  0 /*untilTimeCode (0/15)*/,
3227  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3228  },
3229  // -3:00 - -03 2004 Jun 1
3230  {
3231  nullptr /*zonePolicy*/,
3232  "-03" /*format*/,
3233  -720 /*offsetCode (-10800/15)*/,
3234  0 /*offsetRemainder (-10800%15)*/,
3235  0 /*deltaMinutes*/,
3236  2004 /*untilYear*/,
3237  6 /*untilMonth*/,
3238  1 /*untilDay*/,
3239  0 /*untilTimeCode (0/15)*/,
3240  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3241  },
3242  // -4:00 - -04 2004 Jun 20
3243  {
3244  nullptr /*zonePolicy*/,
3245  "-04" /*format*/,
3246  -960 /*offsetCode (-14400/15)*/,
3247  0 /*offsetRemainder (-14400%15)*/,
3248  0 /*deltaMinutes*/,
3249  2004 /*untilYear*/,
3250  6 /*untilMonth*/,
3251  20 /*untilDay*/,
3252  0 /*untilTimeCode (0/15)*/,
3253  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3254  },
3255  // -3:00 Arg -03/-02 2008 Oct 18
3256  {
3257  &kZonePolicyArg /*zonePolicy*/,
3258  "-03/-02" /*format*/,
3259  -720 /*offsetCode (-10800/15)*/,
3260  0 /*offsetRemainder (-10800%15)*/,
3261  0 /*deltaMinutes*/,
3262  2008 /*untilYear*/,
3263  10 /*untilMonth*/,
3264  18 /*untilDay*/,
3265  0 /*untilTimeCode (0/15)*/,
3266  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3267  },
3268  // -3:00 - -03
3269  {
3270  nullptr /*zonePolicy*/,
3271  "-03" /*format*/,
3272  -720 /*offsetCode (-10800/15)*/,
3273  0 /*offsetRemainder (-10800%15)*/,
3274  0 /*deltaMinutes*/,
3275  32767 /*untilYear*/,
3276  1 /*untilMonth*/,
3277  1 /*untilDay*/,
3278  0 /*untilTimeCode (0/15)*/,
3279  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3280  },
3281 
3282 };
3283 
3284 static const char kZoneNameAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = "\x02" "\x04" "Rio_Gallegos";
3285 
3286 const complete::ZoneInfo kZoneAmerica_Argentina_Rio_Gallegos ACE_TIME_PROGMEM = {
3287  kZoneNameAmerica_Argentina_Rio_Gallegos /*name*/,
3288  0xc5b0f565 /*zoneId*/,
3289  &kZoneContext /*zoneContext*/,
3290  10 /*numEras*/,
3291  kZoneEraAmerica_Argentina_Rio_Gallegos /*eras*/,
3292  nullptr /*targetInfo*/,
3293 };
3294 
3295 //---------------------------------------------------------------------------
3296 // Zone name: America/Argentina/Salta
3297 // Eras: 10
3298 //---------------------------------------------------------------------------
3299 
3300 static const complete::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = {
3301  // -4:21:40 - LMT 1894 Oct 31
3302  {
3303  nullptr /*zonePolicy*/,
3304  "LMT" /*format*/,
3305  -1047 /*offsetCode (-15700/15)*/,
3306  5 /*offsetRemainder (-15700%15)*/,
3307  0 /*deltaMinutes*/,
3308  1894 /*untilYear*/,
3309  10 /*untilMonth*/,
3310  31 /*untilDay*/,
3311  0 /*untilTimeCode (0/15)*/,
3312  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3313  },
3314  // -4:16:48 - CMT 1920 May
3315  {
3316  nullptr /*zonePolicy*/,
3317  "CMT" /*format*/,
3318  -1028 /*offsetCode (-15408/15)*/,
3319  12 /*offsetRemainder (-15408%15)*/,
3320  0 /*deltaMinutes*/,
3321  1920 /*untilYear*/,
3322  5 /*untilMonth*/,
3323  1 /*untilDay*/,
3324  0 /*untilTimeCode (0/15)*/,
3325  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3326  },
3327  // -4:00 - -04 1930 Dec
3328  {
3329  nullptr /*zonePolicy*/,
3330  "-04" /*format*/,
3331  -960 /*offsetCode (-14400/15)*/,
3332  0 /*offsetRemainder (-14400%15)*/,
3333  0 /*deltaMinutes*/,
3334  1930 /*untilYear*/,
3335  12 /*untilMonth*/,
3336  1 /*untilDay*/,
3337  0 /*untilTimeCode (0/15)*/,
3338  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3339  },
3340  // -4:00 Arg -04/-03 1969 Oct 5
3341  {
3342  &kZonePolicyArg /*zonePolicy*/,
3343  "-04/-03" /*format*/,
3344  -960 /*offsetCode (-14400/15)*/,
3345  0 /*offsetRemainder (-14400%15)*/,
3346  0 /*deltaMinutes*/,
3347  1969 /*untilYear*/,
3348  10 /*untilMonth*/,
3349  5 /*untilDay*/,
3350  0 /*untilTimeCode (0/15)*/,
3351  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3352  },
3353  // -3:00 Arg -03/-02 1991 Mar 3
3354  {
3355  &kZonePolicyArg /*zonePolicy*/,
3356  "-03/-02" /*format*/,
3357  -720 /*offsetCode (-10800/15)*/,
3358  0 /*offsetRemainder (-10800%15)*/,
3359  0 /*deltaMinutes*/,
3360  1991 /*untilYear*/,
3361  3 /*untilMonth*/,
3362  3 /*untilDay*/,
3363  0 /*untilTimeCode (0/15)*/,
3364  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3365  },
3366  // -4:00 - -04 1991 Oct 20
3367  {
3368  nullptr /*zonePolicy*/,
3369  "-04" /*format*/,
3370  -960 /*offsetCode (-14400/15)*/,
3371  0 /*offsetRemainder (-14400%15)*/,
3372  0 /*deltaMinutes*/,
3373  1991 /*untilYear*/,
3374  10 /*untilMonth*/,
3375  20 /*untilDay*/,
3376  0 /*untilTimeCode (0/15)*/,
3377  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3378  },
3379  // -3:00 Arg -03/-02 1999 Oct 3
3380  {
3381  &kZonePolicyArg /*zonePolicy*/,
3382  "-03/-02" /*format*/,
3383  -720 /*offsetCode (-10800/15)*/,
3384  0 /*offsetRemainder (-10800%15)*/,
3385  0 /*deltaMinutes*/,
3386  1999 /*untilYear*/,
3387  10 /*untilMonth*/,
3388  3 /*untilDay*/,
3389  0 /*untilTimeCode (0/15)*/,
3390  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3391  },
3392  // -4:00 Arg -04/-03 2000 Mar 3
3393  {
3394  &kZonePolicyArg /*zonePolicy*/,
3395  "-04/-03" /*format*/,
3396  -960 /*offsetCode (-14400/15)*/,
3397  0 /*offsetRemainder (-14400%15)*/,
3398  0 /*deltaMinutes*/,
3399  2000 /*untilYear*/,
3400  3 /*untilMonth*/,
3401  3 /*untilDay*/,
3402  0 /*untilTimeCode (0/15)*/,
3403  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3404  },
3405  // -3:00 Arg -03/-02 2008 Oct 18
3406  {
3407  &kZonePolicyArg /*zonePolicy*/,
3408  "-03/-02" /*format*/,
3409  -720 /*offsetCode (-10800/15)*/,
3410  0 /*offsetRemainder (-10800%15)*/,
3411  0 /*deltaMinutes*/,
3412  2008 /*untilYear*/,
3413  10 /*untilMonth*/,
3414  18 /*untilDay*/,
3415  0 /*untilTimeCode (0/15)*/,
3416  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3417  },
3418  // -3:00 - -03
3419  {
3420  nullptr /*zonePolicy*/,
3421  "-03" /*format*/,
3422  -720 /*offsetCode (-10800/15)*/,
3423  0 /*offsetRemainder (-10800%15)*/,
3424  0 /*deltaMinutes*/,
3425  32767 /*untilYear*/,
3426  1 /*untilMonth*/,
3427  1 /*untilDay*/,
3428  0 /*untilTimeCode (0/15)*/,
3429  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3430  },
3431 
3432 };
3433 
3434 static const char kZoneNameAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = "\x02" "\x04" "Salta";
3435 
3436 const complete::ZoneInfo kZoneAmerica_Argentina_Salta ACE_TIME_PROGMEM = {
3437  kZoneNameAmerica_Argentina_Salta /*name*/,
3438  0x5fc73403 /*zoneId*/,
3439  &kZoneContext /*zoneContext*/,
3440  10 /*numEras*/,
3441  kZoneEraAmerica_Argentina_Salta /*eras*/,
3442  nullptr /*targetInfo*/,
3443 };
3444 
3445 //---------------------------------------------------------------------------
3446 // Zone name: America/Argentina/San_Juan
3447 // Eras: 12
3448 //---------------------------------------------------------------------------
3449 
3450 static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = {
3451  // -4:34:04 - LMT 1894 Oct 31
3452  {
3453  nullptr /*zonePolicy*/,
3454  "LMT" /*format*/,
3455  -1097 /*offsetCode (-16444/15)*/,
3456  11 /*offsetRemainder (-16444%15)*/,
3457  0 /*deltaMinutes*/,
3458  1894 /*untilYear*/,
3459  10 /*untilMonth*/,
3460  31 /*untilDay*/,
3461  0 /*untilTimeCode (0/15)*/,
3462  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3463  },
3464  // -4:16:48 - CMT 1920 May
3465  {
3466  nullptr /*zonePolicy*/,
3467  "CMT" /*format*/,
3468  -1028 /*offsetCode (-15408/15)*/,
3469  12 /*offsetRemainder (-15408%15)*/,
3470  0 /*deltaMinutes*/,
3471  1920 /*untilYear*/,
3472  5 /*untilMonth*/,
3473  1 /*untilDay*/,
3474  0 /*untilTimeCode (0/15)*/,
3475  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3476  },
3477  // -4:00 - -04 1930 Dec
3478  {
3479  nullptr /*zonePolicy*/,
3480  "-04" /*format*/,
3481  -960 /*offsetCode (-14400/15)*/,
3482  0 /*offsetRemainder (-14400%15)*/,
3483  0 /*deltaMinutes*/,
3484  1930 /*untilYear*/,
3485  12 /*untilMonth*/,
3486  1 /*untilDay*/,
3487  0 /*untilTimeCode (0/15)*/,
3488  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3489  },
3490  // -4:00 Arg -04/-03 1969 Oct 5
3491  {
3492  &kZonePolicyArg /*zonePolicy*/,
3493  "-04/-03" /*format*/,
3494  -960 /*offsetCode (-14400/15)*/,
3495  0 /*offsetRemainder (-14400%15)*/,
3496  0 /*deltaMinutes*/,
3497  1969 /*untilYear*/,
3498  10 /*untilMonth*/,
3499  5 /*untilDay*/,
3500  0 /*untilTimeCode (0/15)*/,
3501  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3502  },
3503  // -3:00 Arg -03/-02 1991 Mar 1
3504  {
3505  &kZonePolicyArg /*zonePolicy*/,
3506  "-03/-02" /*format*/,
3507  -720 /*offsetCode (-10800/15)*/,
3508  0 /*offsetRemainder (-10800%15)*/,
3509  0 /*deltaMinutes*/,
3510  1991 /*untilYear*/,
3511  3 /*untilMonth*/,
3512  1 /*untilDay*/,
3513  0 /*untilTimeCode (0/15)*/,
3514  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3515  },
3516  // -4:00 - -04 1991 May 7
3517  {
3518  nullptr /*zonePolicy*/,
3519  "-04" /*format*/,
3520  -960 /*offsetCode (-14400/15)*/,
3521  0 /*offsetRemainder (-14400%15)*/,
3522  0 /*deltaMinutes*/,
3523  1991 /*untilYear*/,
3524  5 /*untilMonth*/,
3525  7 /*untilDay*/,
3526  0 /*untilTimeCode (0/15)*/,
3527  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3528  },
3529  // -3:00 Arg -03/-02 1999 Oct 3
3530  {
3531  &kZonePolicyArg /*zonePolicy*/,
3532  "-03/-02" /*format*/,
3533  -720 /*offsetCode (-10800/15)*/,
3534  0 /*offsetRemainder (-10800%15)*/,
3535  0 /*deltaMinutes*/,
3536  1999 /*untilYear*/,
3537  10 /*untilMonth*/,
3538  3 /*untilDay*/,
3539  0 /*untilTimeCode (0/15)*/,
3540  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3541  },
3542  // -4:00 Arg -04/-03 2000 Mar 3
3543  {
3544  &kZonePolicyArg /*zonePolicy*/,
3545  "-04/-03" /*format*/,
3546  -960 /*offsetCode (-14400/15)*/,
3547  0 /*offsetRemainder (-14400%15)*/,
3548  0 /*deltaMinutes*/,
3549  2000 /*untilYear*/,
3550  3 /*untilMonth*/,
3551  3 /*untilDay*/,
3552  0 /*untilTimeCode (0/15)*/,
3553  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3554  },
3555  // -3:00 - -03 2004 May 31
3556  {
3557  nullptr /*zonePolicy*/,
3558  "-03" /*format*/,
3559  -720 /*offsetCode (-10800/15)*/,
3560  0 /*offsetRemainder (-10800%15)*/,
3561  0 /*deltaMinutes*/,
3562  2004 /*untilYear*/,
3563  5 /*untilMonth*/,
3564  31 /*untilDay*/,
3565  0 /*untilTimeCode (0/15)*/,
3566  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3567  },
3568  // -4:00 - -04 2004 Jul 25
3569  {
3570  nullptr /*zonePolicy*/,
3571  "-04" /*format*/,
3572  -960 /*offsetCode (-14400/15)*/,
3573  0 /*offsetRemainder (-14400%15)*/,
3574  0 /*deltaMinutes*/,
3575  2004 /*untilYear*/,
3576  7 /*untilMonth*/,
3577  25 /*untilDay*/,
3578  0 /*untilTimeCode (0/15)*/,
3579  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3580  },
3581  // -3:00 Arg -03/-02 2008 Oct 18
3582  {
3583  &kZonePolicyArg /*zonePolicy*/,
3584  "-03/-02" /*format*/,
3585  -720 /*offsetCode (-10800/15)*/,
3586  0 /*offsetRemainder (-10800%15)*/,
3587  0 /*deltaMinutes*/,
3588  2008 /*untilYear*/,
3589  10 /*untilMonth*/,
3590  18 /*untilDay*/,
3591  0 /*untilTimeCode (0/15)*/,
3592  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3593  },
3594  // -3:00 - -03
3595  {
3596  nullptr /*zonePolicy*/,
3597  "-03" /*format*/,
3598  -720 /*offsetCode (-10800/15)*/,
3599  0 /*offsetRemainder (-10800%15)*/,
3600  0 /*deltaMinutes*/,
3601  32767 /*untilYear*/,
3602  1 /*untilMonth*/,
3603  1 /*untilDay*/,
3604  0 /*untilTimeCode (0/15)*/,
3605  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3606  },
3607 
3608 };
3609 
3610 static const char kZoneNameAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = "\x02" "\x04" "San_Juan";
3611 
3612 const complete::ZoneInfo kZoneAmerica_Argentina_San_Juan ACE_TIME_PROGMEM = {
3613  kZoneNameAmerica_Argentina_San_Juan /*name*/,
3614  0x3e1009bd /*zoneId*/,
3615  &kZoneContext /*zoneContext*/,
3616  12 /*numEras*/,
3617  kZoneEraAmerica_Argentina_San_Juan /*eras*/,
3618  nullptr /*targetInfo*/,
3619 };
3620 
3621 //---------------------------------------------------------------------------
3622 // Zone name: America/Argentina/San_Luis
3623 // Eras: 16
3624 //---------------------------------------------------------------------------
3625 
3626 static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = {
3627  // -4:25:24 - LMT 1894 Oct 31
3628  {
3629  nullptr /*zonePolicy*/,
3630  "LMT" /*format*/,
3631  -1062 /*offsetCode (-15924/15)*/,
3632  6 /*offsetRemainder (-15924%15)*/,
3633  0 /*deltaMinutes*/,
3634  1894 /*untilYear*/,
3635  10 /*untilMonth*/,
3636  31 /*untilDay*/,
3637  0 /*untilTimeCode (0/15)*/,
3638  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3639  },
3640  // -4:16:48 - CMT 1920 May
3641  {
3642  nullptr /*zonePolicy*/,
3643  "CMT" /*format*/,
3644  -1028 /*offsetCode (-15408/15)*/,
3645  12 /*offsetRemainder (-15408%15)*/,
3646  0 /*deltaMinutes*/,
3647  1920 /*untilYear*/,
3648  5 /*untilMonth*/,
3649  1 /*untilDay*/,
3650  0 /*untilTimeCode (0/15)*/,
3651  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3652  },
3653  // -4:00 - -04 1930 Dec
3654  {
3655  nullptr /*zonePolicy*/,
3656  "-04" /*format*/,
3657  -960 /*offsetCode (-14400/15)*/,
3658  0 /*offsetRemainder (-14400%15)*/,
3659  0 /*deltaMinutes*/,
3660  1930 /*untilYear*/,
3661  12 /*untilMonth*/,
3662  1 /*untilDay*/,
3663  0 /*untilTimeCode (0/15)*/,
3664  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3665  },
3666  // -4:00 Arg -04/-03 1969 Oct 5
3667  {
3668  &kZonePolicyArg /*zonePolicy*/,
3669  "-04/-03" /*format*/,
3670  -960 /*offsetCode (-14400/15)*/,
3671  0 /*offsetRemainder (-14400%15)*/,
3672  0 /*deltaMinutes*/,
3673  1969 /*untilYear*/,
3674  10 /*untilMonth*/,
3675  5 /*untilDay*/,
3676  0 /*untilTimeCode (0/15)*/,
3677  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3678  },
3679  // -3:00 Arg -03/-02 1990
3680  {
3681  &kZonePolicyArg /*zonePolicy*/,
3682  "-03/-02" /*format*/,
3683  -720 /*offsetCode (-10800/15)*/,
3684  0 /*offsetRemainder (-10800%15)*/,
3685  0 /*deltaMinutes*/,
3686  1990 /*untilYear*/,
3687  1 /*untilMonth*/,
3688  1 /*untilDay*/,
3689  0 /*untilTimeCode (0/15)*/,
3690  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3691  },
3692  // -3:00 1:00 -02 1990 Mar 14
3693  {
3694  nullptr /*zonePolicy*/,
3695  "-02" /*format*/,
3696  -720 /*offsetCode (-10800/15)*/,
3697  0 /*offsetRemainder (-10800%15)*/,
3698  60 /*deltaMinutes*/,
3699  1990 /*untilYear*/,
3700  3 /*untilMonth*/,
3701  14 /*untilDay*/,
3702  0 /*untilTimeCode (0/15)*/,
3703  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3704  },
3705  // -4:00 - -04 1990 Oct 15
3706  {
3707  nullptr /*zonePolicy*/,
3708  "-04" /*format*/,
3709  -960 /*offsetCode (-14400/15)*/,
3710  0 /*offsetRemainder (-14400%15)*/,
3711  0 /*deltaMinutes*/,
3712  1990 /*untilYear*/,
3713  10 /*untilMonth*/,
3714  15 /*untilDay*/,
3715  0 /*untilTimeCode (0/15)*/,
3716  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3717  },
3718  // -4:00 1:00 -03 1991 Mar 1
3719  {
3720  nullptr /*zonePolicy*/,
3721  "-03" /*format*/,
3722  -960 /*offsetCode (-14400/15)*/,
3723  0 /*offsetRemainder (-14400%15)*/,
3724  60 /*deltaMinutes*/,
3725  1991 /*untilYear*/,
3726  3 /*untilMonth*/,
3727  1 /*untilDay*/,
3728  0 /*untilTimeCode (0/15)*/,
3729  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3730  },
3731  // -4:00 - -04 1991 Jun 1
3732  {
3733  nullptr /*zonePolicy*/,
3734  "-04" /*format*/,
3735  -960 /*offsetCode (-14400/15)*/,
3736  0 /*offsetRemainder (-14400%15)*/,
3737  0 /*deltaMinutes*/,
3738  1991 /*untilYear*/,
3739  6 /*untilMonth*/,
3740  1 /*untilDay*/,
3741  0 /*untilTimeCode (0/15)*/,
3742  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3743  },
3744  // -3:00 - -03 1999 Oct 3
3745  {
3746  nullptr /*zonePolicy*/,
3747  "-03" /*format*/,
3748  -720 /*offsetCode (-10800/15)*/,
3749  0 /*offsetRemainder (-10800%15)*/,
3750  0 /*deltaMinutes*/,
3751  1999 /*untilYear*/,
3752  10 /*untilMonth*/,
3753  3 /*untilDay*/,
3754  0 /*untilTimeCode (0/15)*/,
3755  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3756  },
3757  // -4:00 1:00 -03 2000 Mar 3
3758  {
3759  nullptr /*zonePolicy*/,
3760  "-03" /*format*/,
3761  -960 /*offsetCode (-14400/15)*/,
3762  0 /*offsetRemainder (-14400%15)*/,
3763  60 /*deltaMinutes*/,
3764  2000 /*untilYear*/,
3765  3 /*untilMonth*/,
3766  3 /*untilDay*/,
3767  0 /*untilTimeCode (0/15)*/,
3768  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3769  },
3770  // -3:00 - -03 2004 May 31
3771  {
3772  nullptr /*zonePolicy*/,
3773  "-03" /*format*/,
3774  -720 /*offsetCode (-10800/15)*/,
3775  0 /*offsetRemainder (-10800%15)*/,
3776  0 /*deltaMinutes*/,
3777  2004 /*untilYear*/,
3778  5 /*untilMonth*/,
3779  31 /*untilDay*/,
3780  0 /*untilTimeCode (0/15)*/,
3781  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3782  },
3783  // -4:00 - -04 2004 Jul 25
3784  {
3785  nullptr /*zonePolicy*/,
3786  "-04" /*format*/,
3787  -960 /*offsetCode (-14400/15)*/,
3788  0 /*offsetRemainder (-14400%15)*/,
3789  0 /*deltaMinutes*/,
3790  2004 /*untilYear*/,
3791  7 /*untilMonth*/,
3792  25 /*untilDay*/,
3793  0 /*untilTimeCode (0/15)*/,
3794  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3795  },
3796  // -3:00 Arg -03/-02 2008 Jan 21
3797  {
3798  &kZonePolicyArg /*zonePolicy*/,
3799  "-03/-02" /*format*/,
3800  -720 /*offsetCode (-10800/15)*/,
3801  0 /*offsetRemainder (-10800%15)*/,
3802  0 /*deltaMinutes*/,
3803  2008 /*untilYear*/,
3804  1 /*untilMonth*/,
3805  21 /*untilDay*/,
3806  0 /*untilTimeCode (0/15)*/,
3807  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3808  },
3809  // -4:00 SanLuis -04/-03 2009 Oct 11
3810  {
3811  &kZonePolicySanLuis /*zonePolicy*/,
3812  "-04/-03" /*format*/,
3813  -960 /*offsetCode (-14400/15)*/,
3814  0 /*offsetRemainder (-14400%15)*/,
3815  0 /*deltaMinutes*/,
3816  2009 /*untilYear*/,
3817  10 /*untilMonth*/,
3818  11 /*untilDay*/,
3819  0 /*untilTimeCode (0/15)*/,
3820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3821  },
3822  // -3:00 - -03
3823  {
3824  nullptr /*zonePolicy*/,
3825  "-03" /*format*/,
3826  -720 /*offsetCode (-10800/15)*/,
3827  0 /*offsetRemainder (-10800%15)*/,
3828  0 /*deltaMinutes*/,
3829  32767 /*untilYear*/,
3830  1 /*untilMonth*/,
3831  1 /*untilDay*/,
3832  0 /*untilTimeCode (0/15)*/,
3833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3834  },
3835 
3836 };
3837 
3838 static const char kZoneNameAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = "\x02" "\x04" "San_Luis";
3839 
3840 const complete::ZoneInfo kZoneAmerica_Argentina_San_Luis ACE_TIME_PROGMEM = {
3841  kZoneNameAmerica_Argentina_San_Luis /*name*/,
3842  0x3e11238c /*zoneId*/,
3843  &kZoneContext /*zoneContext*/,
3844  16 /*numEras*/,
3845  kZoneEraAmerica_Argentina_San_Luis /*eras*/,
3846  nullptr /*targetInfo*/,
3847 };
3848 
3849 //---------------------------------------------------------------------------
3850 // Zone name: America/Argentina/Tucuman
3851 // Eras: 11
3852 //---------------------------------------------------------------------------
3853 
3854 static const complete::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = {
3855  // -4:20:52 - LMT 1894 Oct 31
3856  {
3857  nullptr /*zonePolicy*/,
3858  "LMT" /*format*/,
3859  -1044 /*offsetCode (-15652/15)*/,
3860  8 /*offsetRemainder (-15652%15)*/,
3861  0 /*deltaMinutes*/,
3862  1894 /*untilYear*/,
3863  10 /*untilMonth*/,
3864  31 /*untilDay*/,
3865  0 /*untilTimeCode (0/15)*/,
3866  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3867  },
3868  // -4:16:48 - CMT 1920 May
3869  {
3870  nullptr /*zonePolicy*/,
3871  "CMT" /*format*/,
3872  -1028 /*offsetCode (-15408/15)*/,
3873  12 /*offsetRemainder (-15408%15)*/,
3874  0 /*deltaMinutes*/,
3875  1920 /*untilYear*/,
3876  5 /*untilMonth*/,
3877  1 /*untilDay*/,
3878  0 /*untilTimeCode (0/15)*/,
3879  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3880  },
3881  // -4:00 - -04 1930 Dec
3882  {
3883  nullptr /*zonePolicy*/,
3884  "-04" /*format*/,
3885  -960 /*offsetCode (-14400/15)*/,
3886  0 /*offsetRemainder (-14400%15)*/,
3887  0 /*deltaMinutes*/,
3888  1930 /*untilYear*/,
3889  12 /*untilMonth*/,
3890  1 /*untilDay*/,
3891  0 /*untilTimeCode (0/15)*/,
3892  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3893  },
3894  // -4:00 Arg -04/-03 1969 Oct 5
3895  {
3896  &kZonePolicyArg /*zonePolicy*/,
3897  "-04/-03" /*format*/,
3898  -960 /*offsetCode (-14400/15)*/,
3899  0 /*offsetRemainder (-14400%15)*/,
3900  0 /*deltaMinutes*/,
3901  1969 /*untilYear*/,
3902  10 /*untilMonth*/,
3903  5 /*untilDay*/,
3904  0 /*untilTimeCode (0/15)*/,
3905  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3906  },
3907  // -3:00 Arg -03/-02 1991 Mar 3
3908  {
3909  &kZonePolicyArg /*zonePolicy*/,
3910  "-03/-02" /*format*/,
3911  -720 /*offsetCode (-10800/15)*/,
3912  0 /*offsetRemainder (-10800%15)*/,
3913  0 /*deltaMinutes*/,
3914  1991 /*untilYear*/,
3915  3 /*untilMonth*/,
3916  3 /*untilDay*/,
3917  0 /*untilTimeCode (0/15)*/,
3918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3919  },
3920  // -4:00 - -04 1991 Oct 20
3921  {
3922  nullptr /*zonePolicy*/,
3923  "-04" /*format*/,
3924  -960 /*offsetCode (-14400/15)*/,
3925  0 /*offsetRemainder (-14400%15)*/,
3926  0 /*deltaMinutes*/,
3927  1991 /*untilYear*/,
3928  10 /*untilMonth*/,
3929  20 /*untilDay*/,
3930  0 /*untilTimeCode (0/15)*/,
3931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3932  },
3933  // -3:00 Arg -03/-02 1999 Oct 3
3934  {
3935  &kZonePolicyArg /*zonePolicy*/,
3936  "-03/-02" /*format*/,
3937  -720 /*offsetCode (-10800/15)*/,
3938  0 /*offsetRemainder (-10800%15)*/,
3939  0 /*deltaMinutes*/,
3940  1999 /*untilYear*/,
3941  10 /*untilMonth*/,
3942  3 /*untilDay*/,
3943  0 /*untilTimeCode (0/15)*/,
3944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3945  },
3946  // -4:00 Arg -04/-03 2000 Mar 3
3947  {
3948  &kZonePolicyArg /*zonePolicy*/,
3949  "-04/-03" /*format*/,
3950  -960 /*offsetCode (-14400/15)*/,
3951  0 /*offsetRemainder (-14400%15)*/,
3952  0 /*deltaMinutes*/,
3953  2000 /*untilYear*/,
3954  3 /*untilMonth*/,
3955  3 /*untilDay*/,
3956  0 /*untilTimeCode (0/15)*/,
3957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3958  },
3959  // -3:00 - -03 2004 Jun 1
3960  {
3961  nullptr /*zonePolicy*/,
3962  "-03" /*format*/,
3963  -720 /*offsetCode (-10800/15)*/,
3964  0 /*offsetRemainder (-10800%15)*/,
3965  0 /*deltaMinutes*/,
3966  2004 /*untilYear*/,
3967  6 /*untilMonth*/,
3968  1 /*untilDay*/,
3969  0 /*untilTimeCode (0/15)*/,
3970  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3971  },
3972  // -4:00 - -04 2004 Jun 13
3973  {
3974  nullptr /*zonePolicy*/,
3975  "-04" /*format*/,
3976  -960 /*offsetCode (-14400/15)*/,
3977  0 /*offsetRemainder (-14400%15)*/,
3978  0 /*deltaMinutes*/,
3979  2004 /*untilYear*/,
3980  6 /*untilMonth*/,
3981  13 /*untilDay*/,
3982  0 /*untilTimeCode (0/15)*/,
3983  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3984  },
3985  // -3:00 Arg -03/-02
3986  {
3987  &kZonePolicyArg /*zonePolicy*/,
3988  "-03/-02" /*format*/,
3989  -720 /*offsetCode (-10800/15)*/,
3990  0 /*offsetRemainder (-10800%15)*/,
3991  0 /*deltaMinutes*/,
3992  32767 /*untilYear*/,
3993  1 /*untilMonth*/,
3994  1 /*untilDay*/,
3995  0 /*untilTimeCode (0/15)*/,
3996  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3997  },
3998 
3999 };
4000 
4001 static const char kZoneNameAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = "\x02" "\x04" "Tucuman";
4002 
4003 const complete::ZoneInfo kZoneAmerica_Argentina_Tucuman ACE_TIME_PROGMEM = {
4004  kZoneNameAmerica_Argentina_Tucuman /*name*/,
4005  0xe96399eb /*zoneId*/,
4006  &kZoneContext /*zoneContext*/,
4007  11 /*numEras*/,
4008  kZoneEraAmerica_Argentina_Tucuman /*eras*/,
4009  nullptr /*targetInfo*/,
4010 };
4011 
4012 //---------------------------------------------------------------------------
4013 // Zone name: America/Argentina/Ushuaia
4014 // Eras: 10
4015 //---------------------------------------------------------------------------
4016 
4017 static const complete::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = {
4018  // -4:33:12 - LMT 1894 Oct 31
4019  {
4020  nullptr /*zonePolicy*/,
4021  "LMT" /*format*/,
4022  -1093 /*offsetCode (-16392/15)*/,
4023  3 /*offsetRemainder (-16392%15)*/,
4024  0 /*deltaMinutes*/,
4025  1894 /*untilYear*/,
4026  10 /*untilMonth*/,
4027  31 /*untilDay*/,
4028  0 /*untilTimeCode (0/15)*/,
4029  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4030  },
4031  // -4:16:48 - CMT 1920 May
4032  {
4033  nullptr /*zonePolicy*/,
4034  "CMT" /*format*/,
4035  -1028 /*offsetCode (-15408/15)*/,
4036  12 /*offsetRemainder (-15408%15)*/,
4037  0 /*deltaMinutes*/,
4038  1920 /*untilYear*/,
4039  5 /*untilMonth*/,
4040  1 /*untilDay*/,
4041  0 /*untilTimeCode (0/15)*/,
4042  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4043  },
4044  // -4:00 - -04 1930 Dec
4045  {
4046  nullptr /*zonePolicy*/,
4047  "-04" /*format*/,
4048  -960 /*offsetCode (-14400/15)*/,
4049  0 /*offsetRemainder (-14400%15)*/,
4050  0 /*deltaMinutes*/,
4051  1930 /*untilYear*/,
4052  12 /*untilMonth*/,
4053  1 /*untilDay*/,
4054  0 /*untilTimeCode (0/15)*/,
4055  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4056  },
4057  // -4:00 Arg -04/-03 1969 Oct 5
4058  {
4059  &kZonePolicyArg /*zonePolicy*/,
4060  "-04/-03" /*format*/,
4061  -960 /*offsetCode (-14400/15)*/,
4062  0 /*offsetRemainder (-14400%15)*/,
4063  0 /*deltaMinutes*/,
4064  1969 /*untilYear*/,
4065  10 /*untilMonth*/,
4066  5 /*untilDay*/,
4067  0 /*untilTimeCode (0/15)*/,
4068  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4069  },
4070  // -3:00 Arg -03/-02 1999 Oct 3
4071  {
4072  &kZonePolicyArg /*zonePolicy*/,
4073  "-03/-02" /*format*/,
4074  -720 /*offsetCode (-10800/15)*/,
4075  0 /*offsetRemainder (-10800%15)*/,
4076  0 /*deltaMinutes*/,
4077  1999 /*untilYear*/,
4078  10 /*untilMonth*/,
4079  3 /*untilDay*/,
4080  0 /*untilTimeCode (0/15)*/,
4081  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4082  },
4083  // -4:00 Arg -04/-03 2000 Mar 3
4084  {
4085  &kZonePolicyArg /*zonePolicy*/,
4086  "-04/-03" /*format*/,
4087  -960 /*offsetCode (-14400/15)*/,
4088  0 /*offsetRemainder (-14400%15)*/,
4089  0 /*deltaMinutes*/,
4090  2000 /*untilYear*/,
4091  3 /*untilMonth*/,
4092  3 /*untilDay*/,
4093  0 /*untilTimeCode (0/15)*/,
4094  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4095  },
4096  // -3:00 - -03 2004 May 30
4097  {
4098  nullptr /*zonePolicy*/,
4099  "-03" /*format*/,
4100  -720 /*offsetCode (-10800/15)*/,
4101  0 /*offsetRemainder (-10800%15)*/,
4102  0 /*deltaMinutes*/,
4103  2004 /*untilYear*/,
4104  5 /*untilMonth*/,
4105  30 /*untilDay*/,
4106  0 /*untilTimeCode (0/15)*/,
4107  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4108  },
4109  // -4:00 - -04 2004 Jun 20
4110  {
4111  nullptr /*zonePolicy*/,
4112  "-04" /*format*/,
4113  -960 /*offsetCode (-14400/15)*/,
4114  0 /*offsetRemainder (-14400%15)*/,
4115  0 /*deltaMinutes*/,
4116  2004 /*untilYear*/,
4117  6 /*untilMonth*/,
4118  20 /*untilDay*/,
4119  0 /*untilTimeCode (0/15)*/,
4120  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4121  },
4122  // -3:00 Arg -03/-02 2008 Oct 18
4123  {
4124  &kZonePolicyArg /*zonePolicy*/,
4125  "-03/-02" /*format*/,
4126  -720 /*offsetCode (-10800/15)*/,
4127  0 /*offsetRemainder (-10800%15)*/,
4128  0 /*deltaMinutes*/,
4129  2008 /*untilYear*/,
4130  10 /*untilMonth*/,
4131  18 /*untilDay*/,
4132  0 /*untilTimeCode (0/15)*/,
4133  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4134  },
4135  // -3:00 - -03
4136  {
4137  nullptr /*zonePolicy*/,
4138  "-03" /*format*/,
4139  -720 /*offsetCode (-10800/15)*/,
4140  0 /*offsetRemainder (-10800%15)*/,
4141  0 /*deltaMinutes*/,
4142  32767 /*untilYear*/,
4143  1 /*untilMonth*/,
4144  1 /*untilDay*/,
4145  0 /*untilTimeCode (0/15)*/,
4146  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4147  },
4148 
4149 };
4150 
4151 static const char kZoneNameAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = "\x02" "\x04" "Ushuaia";
4152 
4153 const complete::ZoneInfo kZoneAmerica_Argentina_Ushuaia ACE_TIME_PROGMEM = {
4154  kZoneNameAmerica_Argentina_Ushuaia /*name*/,
4155  0x320dcdde /*zoneId*/,
4156  &kZoneContext /*zoneContext*/,
4157  10 /*numEras*/,
4158  kZoneEraAmerica_Argentina_Ushuaia /*eras*/,
4159  nullptr /*targetInfo*/,
4160 };
4161 
4162 //---------------------------------------------------------------------------
4163 // Zone name: America/Asuncion
4164 // Eras: 5
4165 //---------------------------------------------------------------------------
4166 
4167 static const complete::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = {
4168  // -3:50:40 - LMT 1890
4169  {
4170  nullptr /*zonePolicy*/,
4171  "LMT" /*format*/,
4172  -923 /*offsetCode (-13840/15)*/,
4173  5 /*offsetRemainder (-13840%15)*/,
4174  0 /*deltaMinutes*/,
4175  1890 /*untilYear*/,
4176  1 /*untilMonth*/,
4177  1 /*untilDay*/,
4178  0 /*untilTimeCode (0/15)*/,
4179  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4180  },
4181  // -3:50:40 - AMT 1931 Oct 10
4182  {
4183  nullptr /*zonePolicy*/,
4184  "AMT" /*format*/,
4185  -923 /*offsetCode (-13840/15)*/,
4186  5 /*offsetRemainder (-13840%15)*/,
4187  0 /*deltaMinutes*/,
4188  1931 /*untilYear*/,
4189  10 /*untilMonth*/,
4190  10 /*untilDay*/,
4191  0 /*untilTimeCode (0/15)*/,
4192  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4193  },
4194  // -4:00 - -04 1972 Oct
4195  {
4196  nullptr /*zonePolicy*/,
4197  "-04" /*format*/,
4198  -960 /*offsetCode (-14400/15)*/,
4199  0 /*offsetRemainder (-14400%15)*/,
4200  0 /*deltaMinutes*/,
4201  1972 /*untilYear*/,
4202  10 /*untilMonth*/,
4203  1 /*untilDay*/,
4204  0 /*untilTimeCode (0/15)*/,
4205  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4206  },
4207  // -3:00 - -03 1974 Apr
4208  {
4209  nullptr /*zonePolicy*/,
4210  "-03" /*format*/,
4211  -720 /*offsetCode (-10800/15)*/,
4212  0 /*offsetRemainder (-10800%15)*/,
4213  0 /*deltaMinutes*/,
4214  1974 /*untilYear*/,
4215  4 /*untilMonth*/,
4216  1 /*untilDay*/,
4217  0 /*untilTimeCode (0/15)*/,
4218  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4219  },
4220  // -4:00 Para -04/-03
4221  {
4222  &kZonePolicyPara /*zonePolicy*/,
4223  "-04/-03" /*format*/,
4224  -960 /*offsetCode (-14400/15)*/,
4225  0 /*offsetRemainder (-14400%15)*/,
4226  0 /*deltaMinutes*/,
4227  32767 /*untilYear*/,
4228  1 /*untilMonth*/,
4229  1 /*untilDay*/,
4230  0 /*untilTimeCode (0/15)*/,
4231  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4232  },
4233 
4234 };
4235 
4236 static const char kZoneNameAmerica_Asuncion[] ACE_TIME_PROGMEM = "\x02" "Asuncion";
4237 
4238 const complete::ZoneInfo kZoneAmerica_Asuncion ACE_TIME_PROGMEM = {
4239  kZoneNameAmerica_Asuncion /*name*/,
4240  0x50ec79a6 /*zoneId*/,
4241  &kZoneContext /*zoneContext*/,
4242  5 /*numEras*/,
4243  kZoneEraAmerica_Asuncion /*eras*/,
4244  nullptr /*targetInfo*/,
4245 };
4246 
4247 //---------------------------------------------------------------------------
4248 // Zone name: America/Bahia
4249 // Eras: 5
4250 //---------------------------------------------------------------------------
4251 
4252 static const complete::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = {
4253  // -2:34:04 - LMT 1914
4254  {
4255  nullptr /*zonePolicy*/,
4256  "LMT" /*format*/,
4257  -617 /*offsetCode (-9244/15)*/,
4258  11 /*offsetRemainder (-9244%15)*/,
4259  0 /*deltaMinutes*/,
4260  1914 /*untilYear*/,
4261  1 /*untilMonth*/,
4262  1 /*untilDay*/,
4263  0 /*untilTimeCode (0/15)*/,
4264  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4265  },
4266  // -3:00 Brazil -03/-02 2003 Sep 24
4267  {
4268  &kZonePolicyBrazil /*zonePolicy*/,
4269  "-03/-02" /*format*/,
4270  -720 /*offsetCode (-10800/15)*/,
4271  0 /*offsetRemainder (-10800%15)*/,
4272  0 /*deltaMinutes*/,
4273  2003 /*untilYear*/,
4274  9 /*untilMonth*/,
4275  24 /*untilDay*/,
4276  0 /*untilTimeCode (0/15)*/,
4277  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4278  },
4279  // -3:00 - -03 2011 Oct 16
4280  {
4281  nullptr /*zonePolicy*/,
4282  "-03" /*format*/,
4283  -720 /*offsetCode (-10800/15)*/,
4284  0 /*offsetRemainder (-10800%15)*/,
4285  0 /*deltaMinutes*/,
4286  2011 /*untilYear*/,
4287  10 /*untilMonth*/,
4288  16 /*untilDay*/,
4289  0 /*untilTimeCode (0/15)*/,
4290  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4291  },
4292  // -3:00 Brazil -03/-02 2012 Oct 21
4293  {
4294  &kZonePolicyBrazil /*zonePolicy*/,
4295  "-03/-02" /*format*/,
4296  -720 /*offsetCode (-10800/15)*/,
4297  0 /*offsetRemainder (-10800%15)*/,
4298  0 /*deltaMinutes*/,
4299  2012 /*untilYear*/,
4300  10 /*untilMonth*/,
4301  21 /*untilDay*/,
4302  0 /*untilTimeCode (0/15)*/,
4303  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4304  },
4305  // -3:00 - -03
4306  {
4307  nullptr /*zonePolicy*/,
4308  "-03" /*format*/,
4309  -720 /*offsetCode (-10800/15)*/,
4310  0 /*offsetRemainder (-10800%15)*/,
4311  0 /*deltaMinutes*/,
4312  32767 /*untilYear*/,
4313  1 /*untilMonth*/,
4314  1 /*untilDay*/,
4315  0 /*untilTimeCode (0/15)*/,
4316  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4317  },
4318 
4319 };
4320 
4321 static const char kZoneNameAmerica_Bahia[] ACE_TIME_PROGMEM = "\x02" "Bahia";
4322 
4323 const complete::ZoneInfo kZoneAmerica_Bahia ACE_TIME_PROGMEM = {
4324  kZoneNameAmerica_Bahia /*name*/,
4325  0x97d815fb /*zoneId*/,
4326  &kZoneContext /*zoneContext*/,
4327  5 /*numEras*/,
4328  kZoneEraAmerica_Bahia /*eras*/,
4329  nullptr /*targetInfo*/,
4330 };
4331 
4332 //---------------------------------------------------------------------------
4333 // Zone name: America/Bahia_Banderas
4334 // Eras: 9
4335 //---------------------------------------------------------------------------
4336 
4337 static const complete::ZoneEra kZoneEraAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = {
4338  // -7:01:00 - LMT 1922 Jan 1 7:00u
4339  {
4340  nullptr /*zonePolicy*/,
4341  "LMT" /*format*/,
4342  -1684 /*offsetCode (-25260/15)*/,
4343  0 /*offsetRemainder (-25260%15)*/,
4344  0 /*deltaMinutes*/,
4345  1922 /*untilYear*/,
4346  1 /*untilMonth*/,
4347  1 /*untilDay*/,
4348  1680 /*untilTimeCode (25200/15)*/,
4349  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
4350  },
4351  // -7:00 - MST 1927 Jun 10 23:00
4352  {
4353  nullptr /*zonePolicy*/,
4354  "MST" /*format*/,
4355  -1680 /*offsetCode (-25200/15)*/,
4356  0 /*offsetRemainder (-25200%15)*/,
4357  0 /*deltaMinutes*/,
4358  1927 /*untilYear*/,
4359  6 /*untilMonth*/,
4360  10 /*untilDay*/,
4361  5520 /*untilTimeCode (82800/15)*/,
4362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4363  },
4364  // -6:00 - CST 1930 Nov 15
4365  {
4366  nullptr /*zonePolicy*/,
4367  "CST" /*format*/,
4368  -1440 /*offsetCode (-21600/15)*/,
4369  0 /*offsetRemainder (-21600%15)*/,
4370  0 /*deltaMinutes*/,
4371  1930 /*untilYear*/,
4372  11 /*untilMonth*/,
4373  15 /*untilDay*/,
4374  0 /*untilTimeCode (0/15)*/,
4375  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4376  },
4377  // -7:00 Mexico M%sT 1932 Apr 1
4378  {
4379  &kZonePolicyMexico /*zonePolicy*/,
4380  "M%T" /*format*/,
4381  -1680 /*offsetCode (-25200/15)*/,
4382  0 /*offsetRemainder (-25200%15)*/,
4383  0 /*deltaMinutes*/,
4384  1932 /*untilYear*/,
4385  4 /*untilMonth*/,
4386  1 /*untilDay*/,
4387  0 /*untilTimeCode (0/15)*/,
4388  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4389  },
4390  // -6:00 - CST 1942 Apr 24
4391  {
4392  nullptr /*zonePolicy*/,
4393  "CST" /*format*/,
4394  -1440 /*offsetCode (-21600/15)*/,
4395  0 /*offsetRemainder (-21600%15)*/,
4396  0 /*deltaMinutes*/,
4397  1942 /*untilYear*/,
4398  4 /*untilMonth*/,
4399  24 /*untilDay*/,
4400  0 /*untilTimeCode (0/15)*/,
4401  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4402  },
4403  // -7:00 - MST 1949 Jan 14
4404  {
4405  nullptr /*zonePolicy*/,
4406  "MST" /*format*/,
4407  -1680 /*offsetCode (-25200/15)*/,
4408  0 /*offsetRemainder (-25200%15)*/,
4409  0 /*deltaMinutes*/,
4410  1949 /*untilYear*/,
4411  1 /*untilMonth*/,
4412  14 /*untilDay*/,
4413  0 /*untilTimeCode (0/15)*/,
4414  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4415  },
4416  // -8:00 - PST 1970
4417  {
4418  nullptr /*zonePolicy*/,
4419  "PST" /*format*/,
4420  -1920 /*offsetCode (-28800/15)*/,
4421  0 /*offsetRemainder (-28800%15)*/,
4422  0 /*deltaMinutes*/,
4423  1970 /*untilYear*/,
4424  1 /*untilMonth*/,
4425  1 /*untilDay*/,
4426  0 /*untilTimeCode (0/15)*/,
4427  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4428  },
4429  // -7:00 Mexico M%sT 2010 Apr 4 2:00
4430  {
4431  &kZonePolicyMexico /*zonePolicy*/,
4432  "M%T" /*format*/,
4433  -1680 /*offsetCode (-25200/15)*/,
4434  0 /*offsetRemainder (-25200%15)*/,
4435  0 /*deltaMinutes*/,
4436  2010 /*untilYear*/,
4437  4 /*untilMonth*/,
4438  4 /*untilDay*/,
4439  480 /*untilTimeCode (7200/15)*/,
4440  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4441  },
4442  // -6:00 Mexico C%sT
4443  {
4444  &kZonePolicyMexico /*zonePolicy*/,
4445  "C%T" /*format*/,
4446  -1440 /*offsetCode (-21600/15)*/,
4447  0 /*offsetRemainder (-21600%15)*/,
4448  0 /*deltaMinutes*/,
4449  32767 /*untilYear*/,
4450  1 /*untilMonth*/,
4451  1 /*untilDay*/,
4452  0 /*untilTimeCode (0/15)*/,
4453  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4454  },
4455 
4456 };
4457 
4458 static const char kZoneNameAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = "\x02" "Bahia_Banderas";
4459 
4460 const complete::ZoneInfo kZoneAmerica_Bahia_Banderas ACE_TIME_PROGMEM = {
4461  kZoneNameAmerica_Bahia_Banderas /*name*/,
4462  0x14f6329a /*zoneId*/,
4463  &kZoneContext /*zoneContext*/,
4464  9 /*numEras*/,
4465  kZoneEraAmerica_Bahia_Banderas /*eras*/,
4466  nullptr /*targetInfo*/,
4467 };
4468 
4469 //---------------------------------------------------------------------------
4470 // Zone name: America/Barbados
4471 // Eras: 4
4472 //---------------------------------------------------------------------------
4473 
4474 static const complete::ZoneEra kZoneEraAmerica_Barbados[] ACE_TIME_PROGMEM = {
4475  // -3:58:29 - LMT 1911 Aug 28
4476  {
4477  nullptr /*zonePolicy*/,
4478  "LMT" /*format*/,
4479  -954 /*offsetCode (-14309/15)*/,
4480  1 /*offsetRemainder (-14309%15)*/,
4481  0 /*deltaMinutes*/,
4482  1911 /*untilYear*/,
4483  8 /*untilMonth*/,
4484  28 /*untilDay*/,
4485  0 /*untilTimeCode (0/15)*/,
4486  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4487  },
4488  // -4:00 Barb A%sT 1944
4489  {
4490  &kZonePolicyBarb /*zonePolicy*/,
4491  "A%T" /*format*/,
4492  -960 /*offsetCode (-14400/15)*/,
4493  0 /*offsetRemainder (-14400%15)*/,
4494  0 /*deltaMinutes*/,
4495  1944 /*untilYear*/,
4496  1 /*untilMonth*/,
4497  1 /*untilDay*/,
4498  0 /*untilTimeCode (0/15)*/,
4499  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4500  },
4501  // -4:00 Barb AST/-0330 1945
4502  {
4503  &kZonePolicyBarb /*zonePolicy*/,
4504  "AST/-0330" /*format*/,
4505  -960 /*offsetCode (-14400/15)*/,
4506  0 /*offsetRemainder (-14400%15)*/,
4507  0 /*deltaMinutes*/,
4508  1945 /*untilYear*/,
4509  1 /*untilMonth*/,
4510  1 /*untilDay*/,
4511  0 /*untilTimeCode (0/15)*/,
4512  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4513  },
4514  // -4:00 Barb A%sT
4515  {
4516  &kZonePolicyBarb /*zonePolicy*/,
4517  "A%T" /*format*/,
4518  -960 /*offsetCode (-14400/15)*/,
4519  0 /*offsetRemainder (-14400%15)*/,
4520  0 /*deltaMinutes*/,
4521  32767 /*untilYear*/,
4522  1 /*untilMonth*/,
4523  1 /*untilDay*/,
4524  0 /*untilTimeCode (0/15)*/,
4525  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4526  },
4527 
4528 };
4529 
4530 static const char kZoneNameAmerica_Barbados[] ACE_TIME_PROGMEM = "\x02" "Barbados";
4531 
4532 const complete::ZoneInfo kZoneAmerica_Barbados ACE_TIME_PROGMEM = {
4533  kZoneNameAmerica_Barbados /*name*/,
4534  0xcbbc3b04 /*zoneId*/,
4535  &kZoneContext /*zoneContext*/,
4536  4 /*numEras*/,
4537  kZoneEraAmerica_Barbados /*eras*/,
4538  nullptr /*targetInfo*/,
4539 };
4540 
4541 //---------------------------------------------------------------------------
4542 // Zone name: America/Belem
4543 // Eras: 3
4544 //---------------------------------------------------------------------------
4545 
4546 static const complete::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = {
4547  // -3:13:56 - LMT 1914
4548  {
4549  nullptr /*zonePolicy*/,
4550  "LMT" /*format*/,
4551  -776 /*offsetCode (-11636/15)*/,
4552  4 /*offsetRemainder (-11636%15)*/,
4553  0 /*deltaMinutes*/,
4554  1914 /*untilYear*/,
4555  1 /*untilMonth*/,
4556  1 /*untilDay*/,
4557  0 /*untilTimeCode (0/15)*/,
4558  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4559  },
4560  // -3:00 Brazil -03/-02 1988 Sep 12
4561  {
4562  &kZonePolicyBrazil /*zonePolicy*/,
4563  "-03/-02" /*format*/,
4564  -720 /*offsetCode (-10800/15)*/,
4565  0 /*offsetRemainder (-10800%15)*/,
4566  0 /*deltaMinutes*/,
4567  1988 /*untilYear*/,
4568  9 /*untilMonth*/,
4569  12 /*untilDay*/,
4570  0 /*untilTimeCode (0/15)*/,
4571  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4572  },
4573  // -3:00 - -03
4574  {
4575  nullptr /*zonePolicy*/,
4576  "-03" /*format*/,
4577  -720 /*offsetCode (-10800/15)*/,
4578  0 /*offsetRemainder (-10800%15)*/,
4579  0 /*deltaMinutes*/,
4580  32767 /*untilYear*/,
4581  1 /*untilMonth*/,
4582  1 /*untilDay*/,
4583  0 /*untilTimeCode (0/15)*/,
4584  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4585  },
4586 
4587 };
4588 
4589 static const char kZoneNameAmerica_Belem[] ACE_TIME_PROGMEM = "\x02" "Belem";
4590 
4591 const complete::ZoneInfo kZoneAmerica_Belem ACE_TIME_PROGMEM = {
4592  kZoneNameAmerica_Belem /*name*/,
4593  0x97da580b /*zoneId*/,
4594  &kZoneContext /*zoneContext*/,
4595  3 /*numEras*/,
4596  kZoneEraAmerica_Belem /*eras*/,
4597  nullptr /*targetInfo*/,
4598 };
4599 
4600 //---------------------------------------------------------------------------
4601 // Zone name: America/Belize
4602 // Eras: 2
4603 //---------------------------------------------------------------------------
4604 
4605 static const complete::ZoneEra kZoneEraAmerica_Belize[] ACE_TIME_PROGMEM = {
4606  // -5:52:48 - LMT 1912 Apr 1
4607  {
4608  nullptr /*zonePolicy*/,
4609  "LMT" /*format*/,
4610  -1412 /*offsetCode (-21168/15)*/,
4611  12 /*offsetRemainder (-21168%15)*/,
4612  0 /*deltaMinutes*/,
4613  1912 /*untilYear*/,
4614  4 /*untilMonth*/,
4615  1 /*untilDay*/,
4616  0 /*untilTimeCode (0/15)*/,
4617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4618  },
4619  // -6:00 Belize %s
4620  {
4621  &kZonePolicyBelize /*zonePolicy*/,
4622  "%" /*format*/,
4623  -1440 /*offsetCode (-21600/15)*/,
4624  0 /*offsetRemainder (-21600%15)*/,
4625  0 /*deltaMinutes*/,
4626  32767 /*untilYear*/,
4627  1 /*untilMonth*/,
4628  1 /*untilDay*/,
4629  0 /*untilTimeCode (0/15)*/,
4630  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4631  },
4632 
4633 };
4634 
4635 static const char kZoneNameAmerica_Belize[] ACE_TIME_PROGMEM = "\x02" "Belize";
4636 
4637 const complete::ZoneInfo kZoneAmerica_Belize ACE_TIME_PROGMEM = {
4638  kZoneNameAmerica_Belize /*name*/,
4639  0x93256c81 /*zoneId*/,
4640  &kZoneContext /*zoneContext*/,
4641  2 /*numEras*/,
4642  kZoneEraAmerica_Belize /*eras*/,
4643  nullptr /*targetInfo*/,
4644 };
4645 
4646 //---------------------------------------------------------------------------
4647 // Zone name: America/Boa_Vista
4648 // Eras: 5
4649 //---------------------------------------------------------------------------
4650 
4651 static const complete::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = {
4652  // -4:02:40 - LMT 1914
4653  {
4654  nullptr /*zonePolicy*/,
4655  "LMT" /*format*/,
4656  -971 /*offsetCode (-14560/15)*/,
4657  5 /*offsetRemainder (-14560%15)*/,
4658  0 /*deltaMinutes*/,
4659  1914 /*untilYear*/,
4660  1 /*untilMonth*/,
4661  1 /*untilDay*/,
4662  0 /*untilTimeCode (0/15)*/,
4663  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4664  },
4665  // -4:00 Brazil -04/-03 1988 Sep 12
4666  {
4667  &kZonePolicyBrazil /*zonePolicy*/,
4668  "-04/-03" /*format*/,
4669  -960 /*offsetCode (-14400/15)*/,
4670  0 /*offsetRemainder (-14400%15)*/,
4671  0 /*deltaMinutes*/,
4672  1988 /*untilYear*/,
4673  9 /*untilMonth*/,
4674  12 /*untilDay*/,
4675  0 /*untilTimeCode (0/15)*/,
4676  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4677  },
4678  // -4:00 - -04 1999 Sep 30
4679  {
4680  nullptr /*zonePolicy*/,
4681  "-04" /*format*/,
4682  -960 /*offsetCode (-14400/15)*/,
4683  0 /*offsetRemainder (-14400%15)*/,
4684  0 /*deltaMinutes*/,
4685  1999 /*untilYear*/,
4686  9 /*untilMonth*/,
4687  30 /*untilDay*/,
4688  0 /*untilTimeCode (0/15)*/,
4689  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4690  },
4691  // -4:00 Brazil -04/-03 2000 Oct 15
4692  {
4693  &kZonePolicyBrazil /*zonePolicy*/,
4694  "-04/-03" /*format*/,
4695  -960 /*offsetCode (-14400/15)*/,
4696  0 /*offsetRemainder (-14400%15)*/,
4697  0 /*deltaMinutes*/,
4698  2000 /*untilYear*/,
4699  10 /*untilMonth*/,
4700  15 /*untilDay*/,
4701  0 /*untilTimeCode (0/15)*/,
4702  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4703  },
4704  // -4:00 - -04
4705  {
4706  nullptr /*zonePolicy*/,
4707  "-04" /*format*/,
4708  -960 /*offsetCode (-14400/15)*/,
4709  0 /*offsetRemainder (-14400%15)*/,
4710  0 /*deltaMinutes*/,
4711  32767 /*untilYear*/,
4712  1 /*untilMonth*/,
4713  1 /*untilDay*/,
4714  0 /*untilTimeCode (0/15)*/,
4715  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4716  },
4717 
4718 };
4719 
4720 static const char kZoneNameAmerica_Boa_Vista[] ACE_TIME_PROGMEM = "\x02" "Boa_Vista";
4721 
4722 const complete::ZoneInfo kZoneAmerica_Boa_Vista ACE_TIME_PROGMEM = {
4723  kZoneNameAmerica_Boa_Vista /*name*/,
4724  0x0a7b7efe /*zoneId*/,
4725  &kZoneContext /*zoneContext*/,
4726  5 /*numEras*/,
4727  kZoneEraAmerica_Boa_Vista /*eras*/,
4728  nullptr /*targetInfo*/,
4729 };
4730 
4731 //---------------------------------------------------------------------------
4732 // Zone name: America/Bogota
4733 // Eras: 3
4734 //---------------------------------------------------------------------------
4735 
4736 static const complete::ZoneEra kZoneEraAmerica_Bogota[] ACE_TIME_PROGMEM = {
4737  // -4:56:16 - LMT 1884 Mar 13
4738  {
4739  nullptr /*zonePolicy*/,
4740  "LMT" /*format*/,
4741  -1186 /*offsetCode (-17776/15)*/,
4742  14 /*offsetRemainder (-17776%15)*/,
4743  0 /*deltaMinutes*/,
4744  1884 /*untilYear*/,
4745  3 /*untilMonth*/,
4746  13 /*untilDay*/,
4747  0 /*untilTimeCode (0/15)*/,
4748  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4749  },
4750  // -4:56:16 - BMT 1914 Nov 23
4751  {
4752  nullptr /*zonePolicy*/,
4753  "BMT" /*format*/,
4754  -1186 /*offsetCode (-17776/15)*/,
4755  14 /*offsetRemainder (-17776%15)*/,
4756  0 /*deltaMinutes*/,
4757  1914 /*untilYear*/,
4758  11 /*untilMonth*/,
4759  23 /*untilDay*/,
4760  0 /*untilTimeCode (0/15)*/,
4761  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4762  },
4763  // -5:00 CO -05/-04
4764  {
4765  &kZonePolicyCO /*zonePolicy*/,
4766  "-05/-04" /*format*/,
4767  -1200 /*offsetCode (-18000/15)*/,
4768  0 /*offsetRemainder (-18000%15)*/,
4769  0 /*deltaMinutes*/,
4770  32767 /*untilYear*/,
4771  1 /*untilMonth*/,
4772  1 /*untilDay*/,
4773  0 /*untilTimeCode (0/15)*/,
4774  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4775  },
4776 
4777 };
4778 
4779 static const char kZoneNameAmerica_Bogota[] ACE_TIME_PROGMEM = "\x02" "Bogota";
4780 
4781 const complete::ZoneInfo kZoneAmerica_Bogota ACE_TIME_PROGMEM = {
4782  kZoneNameAmerica_Bogota /*name*/,
4783  0x93d7bc62 /*zoneId*/,
4784  &kZoneContext /*zoneContext*/,
4785  3 /*numEras*/,
4786  kZoneEraAmerica_Bogota /*eras*/,
4787  nullptr /*targetInfo*/,
4788 };
4789 
4790 //---------------------------------------------------------------------------
4791 // Zone name: America/Boise
4792 // Eras: 5
4793 //---------------------------------------------------------------------------
4794 
4795 static const complete::ZoneEra kZoneEraAmerica_Boise[] ACE_TIME_PROGMEM = {
4796  // -7:44:49 - LMT 1883 Nov 18 20:00u
4797  {
4798  nullptr /*zonePolicy*/,
4799  "LMT" /*format*/,
4800  -1860 /*offsetCode (-27889/15)*/,
4801  11 /*offsetRemainder (-27889%15)*/,
4802  0 /*deltaMinutes*/,
4803  1883 /*untilYear*/,
4804  11 /*untilMonth*/,
4805  18 /*untilDay*/,
4806  4800 /*untilTimeCode (72000/15)*/,
4807  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
4808  },
4809  // -8:00 US P%sT 1923 May 13 2:00
4810  {
4811  &kZonePolicyUS /*zonePolicy*/,
4812  "P%T" /*format*/,
4813  -1920 /*offsetCode (-28800/15)*/,
4814  0 /*offsetRemainder (-28800%15)*/,
4815  0 /*deltaMinutes*/,
4816  1923 /*untilYear*/,
4817  5 /*untilMonth*/,
4818  13 /*untilDay*/,
4819  480 /*untilTimeCode (7200/15)*/,
4820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4821  },
4822  // -7:00 US M%sT 1974
4823  {
4824  &kZonePolicyUS /*zonePolicy*/,
4825  "M%T" /*format*/,
4826  -1680 /*offsetCode (-25200/15)*/,
4827  0 /*offsetRemainder (-25200%15)*/,
4828  0 /*deltaMinutes*/,
4829  1974 /*untilYear*/,
4830  1 /*untilMonth*/,
4831  1 /*untilDay*/,
4832  0 /*untilTimeCode (0/15)*/,
4833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4834  },
4835  // -7:00 - MST 1974 Feb 3 2:00
4836  {
4837  nullptr /*zonePolicy*/,
4838  "MST" /*format*/,
4839  -1680 /*offsetCode (-25200/15)*/,
4840  0 /*offsetRemainder (-25200%15)*/,
4841  0 /*deltaMinutes*/,
4842  1974 /*untilYear*/,
4843  2 /*untilMonth*/,
4844  3 /*untilDay*/,
4845  480 /*untilTimeCode (7200/15)*/,
4846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4847  },
4848  // -7:00 US M%sT
4849  {
4850  &kZonePolicyUS /*zonePolicy*/,
4851  "M%T" /*format*/,
4852  -1680 /*offsetCode (-25200/15)*/,
4853  0 /*offsetRemainder (-25200%15)*/,
4854  0 /*deltaMinutes*/,
4855  32767 /*untilYear*/,
4856  1 /*untilMonth*/,
4857  1 /*untilDay*/,
4858  0 /*untilTimeCode (0/15)*/,
4859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4860  },
4861 
4862 };
4863 
4864 static const char kZoneNameAmerica_Boise[] ACE_TIME_PROGMEM = "\x02" "Boise";
4865 
4866 const complete::ZoneInfo kZoneAmerica_Boise ACE_TIME_PROGMEM = {
4867  kZoneNameAmerica_Boise /*name*/,
4868  0x97dfc8d8 /*zoneId*/,
4869  &kZoneContext /*zoneContext*/,
4870  5 /*numEras*/,
4871  kZoneEraAmerica_Boise /*eras*/,
4872  nullptr /*targetInfo*/,
4873 };
4874 
4875 //---------------------------------------------------------------------------
4876 // Zone name: America/Cambridge_Bay
4877 // Eras: 6
4878 //---------------------------------------------------------------------------
4879 
4880 static const complete::ZoneEra kZoneEraAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = {
4881  // 0 - -00 1920
4882  {
4883  nullptr /*zonePolicy*/,
4884  "-00" /*format*/,
4885  0 /*offsetCode (0/15)*/,
4886  0 /*offsetRemainder (0%15)*/,
4887  0 /*deltaMinutes*/,
4888  1920 /*untilYear*/,
4889  1 /*untilMonth*/,
4890  1 /*untilDay*/,
4891  0 /*untilTimeCode (0/15)*/,
4892  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4893  },
4894  // -7:00 NT_YK M%sT 1999 Oct 31 2:00
4895  {
4896  &kZonePolicyNT_YK /*zonePolicy*/,
4897  "M%T" /*format*/,
4898  -1680 /*offsetCode (-25200/15)*/,
4899  0 /*offsetRemainder (-25200%15)*/,
4900  0 /*deltaMinutes*/,
4901  1999 /*untilYear*/,
4902  10 /*untilMonth*/,
4903  31 /*untilDay*/,
4904  480 /*untilTimeCode (7200/15)*/,
4905  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4906  },
4907  // -6:00 Canada C%sT 2000 Oct 29 2:00
4908  {
4909  &kZonePolicyCanada /*zonePolicy*/,
4910  "C%T" /*format*/,
4911  -1440 /*offsetCode (-21600/15)*/,
4912  0 /*offsetRemainder (-21600%15)*/,
4913  0 /*deltaMinutes*/,
4914  2000 /*untilYear*/,
4915  10 /*untilMonth*/,
4916  29 /*untilDay*/,
4917  480 /*untilTimeCode (7200/15)*/,
4918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4919  },
4920  // -5:00 - EST 2000 Nov 5 0:00
4921  {
4922  nullptr /*zonePolicy*/,
4923  "EST" /*format*/,
4924  -1200 /*offsetCode (-18000/15)*/,
4925  0 /*offsetRemainder (-18000%15)*/,
4926  0 /*deltaMinutes*/,
4927  2000 /*untilYear*/,
4928  11 /*untilMonth*/,
4929  5 /*untilDay*/,
4930  0 /*untilTimeCode (0/15)*/,
4931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4932  },
4933  // -6:00 - CST 2001 Apr 1 3:00
4934  {
4935  nullptr /*zonePolicy*/,
4936  "CST" /*format*/,
4937  -1440 /*offsetCode (-21600/15)*/,
4938  0 /*offsetRemainder (-21600%15)*/,
4939  0 /*deltaMinutes*/,
4940  2001 /*untilYear*/,
4941  4 /*untilMonth*/,
4942  1 /*untilDay*/,
4943  720 /*untilTimeCode (10800/15)*/,
4944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4945  },
4946  // -7:00 Canada M%sT
4947  {
4948  &kZonePolicyCanada /*zonePolicy*/,
4949  "M%T" /*format*/,
4950  -1680 /*offsetCode (-25200/15)*/,
4951  0 /*offsetRemainder (-25200%15)*/,
4952  0 /*deltaMinutes*/,
4953  32767 /*untilYear*/,
4954  1 /*untilMonth*/,
4955  1 /*untilDay*/,
4956  0 /*untilTimeCode (0/15)*/,
4957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4958  },
4959 
4960 };
4961 
4962 static const char kZoneNameAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = "\x02" "Cambridge_Bay";
4963 
4964 const complete::ZoneInfo kZoneAmerica_Cambridge_Bay ACE_TIME_PROGMEM = {
4965  kZoneNameAmerica_Cambridge_Bay /*name*/,
4966  0xd5a44aff /*zoneId*/,
4967  &kZoneContext /*zoneContext*/,
4968  6 /*numEras*/,
4969  kZoneEraAmerica_Cambridge_Bay /*eras*/,
4970  nullptr /*targetInfo*/,
4971 };
4972 
4973 //---------------------------------------------------------------------------
4974 // Zone name: America/Campo_Grande
4975 // Eras: 2
4976 //---------------------------------------------------------------------------
4977 
4978 static const complete::ZoneEra kZoneEraAmerica_Campo_Grande[] ACE_TIME_PROGMEM = {
4979  // -3:38:28 - LMT 1914
4980  {
4981  nullptr /*zonePolicy*/,
4982  "LMT" /*format*/,
4983  -874 /*offsetCode (-13108/15)*/,
4984  2 /*offsetRemainder (-13108%15)*/,
4985  0 /*deltaMinutes*/,
4986  1914 /*untilYear*/,
4987  1 /*untilMonth*/,
4988  1 /*untilDay*/,
4989  0 /*untilTimeCode (0/15)*/,
4990  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4991  },
4992  // -4:00 Brazil -04/-03
4993  {
4994  &kZonePolicyBrazil /*zonePolicy*/,
4995  "-04/-03" /*format*/,
4996  -960 /*offsetCode (-14400/15)*/,
4997  0 /*offsetRemainder (-14400%15)*/,
4998  0 /*deltaMinutes*/,
4999  32767 /*untilYear*/,
5000  1 /*untilMonth*/,
5001  1 /*untilDay*/,
5002  0 /*untilTimeCode (0/15)*/,
5003  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5004  },
5005 
5006 };
5007 
5008 static const char kZoneNameAmerica_Campo_Grande[] ACE_TIME_PROGMEM = "\x02" "Campo_Grande";
5009 
5010 const complete::ZoneInfo kZoneAmerica_Campo_Grande ACE_TIME_PROGMEM = {
5011  kZoneNameAmerica_Campo_Grande /*name*/,
5012  0xfec3e7a6 /*zoneId*/,
5013  &kZoneContext /*zoneContext*/,
5014  2 /*numEras*/,
5015  kZoneEraAmerica_Campo_Grande /*eras*/,
5016  nullptr /*targetInfo*/,
5017 };
5018 
5019 //---------------------------------------------------------------------------
5020 // Zone name: America/Cancun
5021 // Eras: 5
5022 //---------------------------------------------------------------------------
5023 
5024 static const complete::ZoneEra kZoneEraAmerica_Cancun[] ACE_TIME_PROGMEM = {
5025  // -5:47:04 - LMT 1922 Jan 1 6:00u
5026  {
5027  nullptr /*zonePolicy*/,
5028  "LMT" /*format*/,
5029  -1389 /*offsetCode (-20824/15)*/,
5030  11 /*offsetRemainder (-20824%15)*/,
5031  0 /*deltaMinutes*/,
5032  1922 /*untilYear*/,
5033  1 /*untilMonth*/,
5034  1 /*untilDay*/,
5035  1440 /*untilTimeCode (21600/15)*/,
5036  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5037  },
5038  // -6:00 - CST 1981 Dec 23
5039  {
5040  nullptr /*zonePolicy*/,
5041  "CST" /*format*/,
5042  -1440 /*offsetCode (-21600/15)*/,
5043  0 /*offsetRemainder (-21600%15)*/,
5044  0 /*deltaMinutes*/,
5045  1981 /*untilYear*/,
5046  12 /*untilMonth*/,
5047  23 /*untilDay*/,
5048  0 /*untilTimeCode (0/15)*/,
5049  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5050  },
5051  // -5:00 Mexico E%sT 1998 Aug 2 2:00
5052  {
5053  &kZonePolicyMexico /*zonePolicy*/,
5054  "E%T" /*format*/,
5055  -1200 /*offsetCode (-18000/15)*/,
5056  0 /*offsetRemainder (-18000%15)*/,
5057  0 /*deltaMinutes*/,
5058  1998 /*untilYear*/,
5059  8 /*untilMonth*/,
5060  2 /*untilDay*/,
5061  480 /*untilTimeCode (7200/15)*/,
5062  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5063  },
5064  // -6:00 Mexico C%sT 2015 Feb 1 2:00
5065  {
5066  &kZonePolicyMexico /*zonePolicy*/,
5067  "C%T" /*format*/,
5068  -1440 /*offsetCode (-21600/15)*/,
5069  0 /*offsetRemainder (-21600%15)*/,
5070  0 /*deltaMinutes*/,
5071  2015 /*untilYear*/,
5072  2 /*untilMonth*/,
5073  1 /*untilDay*/,
5074  480 /*untilTimeCode (7200/15)*/,
5075  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5076  },
5077  // -5:00 - EST
5078  {
5079  nullptr /*zonePolicy*/,
5080  "EST" /*format*/,
5081  -1200 /*offsetCode (-18000/15)*/,
5082  0 /*offsetRemainder (-18000%15)*/,
5083  0 /*deltaMinutes*/,
5084  32767 /*untilYear*/,
5085  1 /*untilMonth*/,
5086  1 /*untilDay*/,
5087  0 /*untilTimeCode (0/15)*/,
5088  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5089  },
5090 
5091 };
5092 
5093 static const char kZoneNameAmerica_Cancun[] ACE_TIME_PROGMEM = "\x02" "Cancun";
5094 
5095 const complete::ZoneInfo kZoneAmerica_Cancun ACE_TIME_PROGMEM = {
5096  kZoneNameAmerica_Cancun /*name*/,
5097  0x953331be /*zoneId*/,
5098  &kZoneContext /*zoneContext*/,
5099  5 /*numEras*/,
5100  kZoneEraAmerica_Cancun /*eras*/,
5101  nullptr /*targetInfo*/,
5102 };
5103 
5104 //---------------------------------------------------------------------------
5105 // Zone name: America/Caracas
5106 // Eras: 6
5107 //---------------------------------------------------------------------------
5108 
5109 static const complete::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = {
5110  // -4:27:44 - LMT 1890
5111  {
5112  nullptr /*zonePolicy*/,
5113  "LMT" /*format*/,
5114  -1071 /*offsetCode (-16064/15)*/,
5115  1 /*offsetRemainder (-16064%15)*/,
5116  0 /*deltaMinutes*/,
5117  1890 /*untilYear*/,
5118  1 /*untilMonth*/,
5119  1 /*untilDay*/,
5120  0 /*untilTimeCode (0/15)*/,
5121  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5122  },
5123  // -4:27:40 - CMT 1912 Feb 12
5124  {
5125  nullptr /*zonePolicy*/,
5126  "CMT" /*format*/,
5127  -1071 /*offsetCode (-16060/15)*/,
5128  5 /*offsetRemainder (-16060%15)*/,
5129  0 /*deltaMinutes*/,
5130  1912 /*untilYear*/,
5131  2 /*untilMonth*/,
5132  12 /*untilDay*/,
5133  0 /*untilTimeCode (0/15)*/,
5134  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5135  },
5136  // -4:30 - -0430 1965 Jan 1 0:00
5137  {
5138  nullptr /*zonePolicy*/,
5139  "-0430" /*format*/,
5140  -1080 /*offsetCode (-16200/15)*/,
5141  0 /*offsetRemainder (-16200%15)*/,
5142  0 /*deltaMinutes*/,
5143  1965 /*untilYear*/,
5144  1 /*untilMonth*/,
5145  1 /*untilDay*/,
5146  0 /*untilTimeCode (0/15)*/,
5147  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5148  },
5149  // -4:00 - -04 2007 Dec 9 3:00
5150  {
5151  nullptr /*zonePolicy*/,
5152  "-04" /*format*/,
5153  -960 /*offsetCode (-14400/15)*/,
5154  0 /*offsetRemainder (-14400%15)*/,
5155  0 /*deltaMinutes*/,
5156  2007 /*untilYear*/,
5157  12 /*untilMonth*/,
5158  9 /*untilDay*/,
5159  720 /*untilTimeCode (10800/15)*/,
5160  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5161  },
5162  // -4:30 - -0430 2016 May 1 2:30
5163  {
5164  nullptr /*zonePolicy*/,
5165  "-0430" /*format*/,
5166  -1080 /*offsetCode (-16200/15)*/,
5167  0 /*offsetRemainder (-16200%15)*/,
5168  0 /*deltaMinutes*/,
5169  2016 /*untilYear*/,
5170  5 /*untilMonth*/,
5171  1 /*untilDay*/,
5172  600 /*untilTimeCode (9000/15)*/,
5173  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5174  },
5175  // -4:00 - -04
5176  {
5177  nullptr /*zonePolicy*/,
5178  "-04" /*format*/,
5179  -960 /*offsetCode (-14400/15)*/,
5180  0 /*offsetRemainder (-14400%15)*/,
5181  0 /*deltaMinutes*/,
5182  32767 /*untilYear*/,
5183  1 /*untilMonth*/,
5184  1 /*untilDay*/,
5185  0 /*untilTimeCode (0/15)*/,
5186  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5187  },
5188 
5189 };
5190 
5191 static const char kZoneNameAmerica_Caracas[] ACE_TIME_PROGMEM = "\x02" "Caracas";
5192 
5193 const complete::ZoneInfo kZoneAmerica_Caracas ACE_TIME_PROGMEM = {
5194  kZoneNameAmerica_Caracas /*name*/,
5195  0x3be064f4 /*zoneId*/,
5196  &kZoneContext /*zoneContext*/,
5197  6 /*numEras*/,
5198  kZoneEraAmerica_Caracas /*eras*/,
5199  nullptr /*targetInfo*/,
5200 };
5201 
5202 //---------------------------------------------------------------------------
5203 // Zone name: America/Cayenne
5204 // Eras: 3
5205 //---------------------------------------------------------------------------
5206 
5207 static const complete::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = {
5208  // -3:29:20 - LMT 1911 Jul
5209  {
5210  nullptr /*zonePolicy*/,
5211  "LMT" /*format*/,
5212  -838 /*offsetCode (-12560/15)*/,
5213  10 /*offsetRemainder (-12560%15)*/,
5214  0 /*deltaMinutes*/,
5215  1911 /*untilYear*/,
5216  7 /*untilMonth*/,
5217  1 /*untilDay*/,
5218  0 /*untilTimeCode (0/15)*/,
5219  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5220  },
5221  // -4:00 - -04 1967 Oct
5222  {
5223  nullptr /*zonePolicy*/,
5224  "-04" /*format*/,
5225  -960 /*offsetCode (-14400/15)*/,
5226  0 /*offsetRemainder (-14400%15)*/,
5227  0 /*deltaMinutes*/,
5228  1967 /*untilYear*/,
5229  10 /*untilMonth*/,
5230  1 /*untilDay*/,
5231  0 /*untilTimeCode (0/15)*/,
5232  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5233  },
5234  // -3:00 - -03
5235  {
5236  nullptr /*zonePolicy*/,
5237  "-03" /*format*/,
5238  -720 /*offsetCode (-10800/15)*/,
5239  0 /*offsetRemainder (-10800%15)*/,
5240  0 /*deltaMinutes*/,
5241  32767 /*untilYear*/,
5242  1 /*untilMonth*/,
5243  1 /*untilDay*/,
5244  0 /*untilTimeCode (0/15)*/,
5245  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5246  },
5247 
5248 };
5249 
5250 static const char kZoneNameAmerica_Cayenne[] ACE_TIME_PROGMEM = "\x02" "Cayenne";
5251 
5252 const complete::ZoneInfo kZoneAmerica_Cayenne ACE_TIME_PROGMEM = {
5253  kZoneNameAmerica_Cayenne /*name*/,
5254  0x3c617269 /*zoneId*/,
5255  &kZoneContext /*zoneContext*/,
5256  3 /*numEras*/,
5257  kZoneEraAmerica_Cayenne /*eras*/,
5258  nullptr /*targetInfo*/,
5259 };
5260 
5261 //---------------------------------------------------------------------------
5262 // Zone name: America/Chicago
5263 // Eras: 8
5264 //---------------------------------------------------------------------------
5265 
5266 static const complete::ZoneEra kZoneEraAmerica_Chicago[] ACE_TIME_PROGMEM = {
5267  // -5:50:36 - LMT 1883 Nov 18 18:00u
5268  {
5269  nullptr /*zonePolicy*/,
5270  "LMT" /*format*/,
5271  -1403 /*offsetCode (-21036/15)*/,
5272  9 /*offsetRemainder (-21036%15)*/,
5273  0 /*deltaMinutes*/,
5274  1883 /*untilYear*/,
5275  11 /*untilMonth*/,
5276  18 /*untilDay*/,
5277  4320 /*untilTimeCode (64800/15)*/,
5278  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5279  },
5280  // -6:00 US C%sT 1920
5281  {
5282  &kZonePolicyUS /*zonePolicy*/,
5283  "C%T" /*format*/,
5284  -1440 /*offsetCode (-21600/15)*/,
5285  0 /*offsetRemainder (-21600%15)*/,
5286  0 /*deltaMinutes*/,
5287  1920 /*untilYear*/,
5288  1 /*untilMonth*/,
5289  1 /*untilDay*/,
5290  0 /*untilTimeCode (0/15)*/,
5291  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5292  },
5293  // -6:00 Chicago C%sT 1936 Mar 1 2:00
5294  {
5295  &kZonePolicyChicago /*zonePolicy*/,
5296  "C%T" /*format*/,
5297  -1440 /*offsetCode (-21600/15)*/,
5298  0 /*offsetRemainder (-21600%15)*/,
5299  0 /*deltaMinutes*/,
5300  1936 /*untilYear*/,
5301  3 /*untilMonth*/,
5302  1 /*untilDay*/,
5303  480 /*untilTimeCode (7200/15)*/,
5304  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5305  },
5306  // -5:00 - EST 1936 Nov 15 2:00
5307  {
5308  nullptr /*zonePolicy*/,
5309  "EST" /*format*/,
5310  -1200 /*offsetCode (-18000/15)*/,
5311  0 /*offsetRemainder (-18000%15)*/,
5312  0 /*deltaMinutes*/,
5313  1936 /*untilYear*/,
5314  11 /*untilMonth*/,
5315  15 /*untilDay*/,
5316  480 /*untilTimeCode (7200/15)*/,
5317  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5318  },
5319  // -6:00 Chicago C%sT 1942
5320  {
5321  &kZonePolicyChicago /*zonePolicy*/,
5322  "C%T" /*format*/,
5323  -1440 /*offsetCode (-21600/15)*/,
5324  0 /*offsetRemainder (-21600%15)*/,
5325  0 /*deltaMinutes*/,
5326  1942 /*untilYear*/,
5327  1 /*untilMonth*/,
5328  1 /*untilDay*/,
5329  0 /*untilTimeCode (0/15)*/,
5330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5331  },
5332  // -6:00 US C%sT 1946
5333  {
5334  &kZonePolicyUS /*zonePolicy*/,
5335  "C%T" /*format*/,
5336  -1440 /*offsetCode (-21600/15)*/,
5337  0 /*offsetRemainder (-21600%15)*/,
5338  0 /*deltaMinutes*/,
5339  1946 /*untilYear*/,
5340  1 /*untilMonth*/,
5341  1 /*untilDay*/,
5342  0 /*untilTimeCode (0/15)*/,
5343  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5344  },
5345  // -6:00 Chicago C%sT 1967
5346  {
5347  &kZonePolicyChicago /*zonePolicy*/,
5348  "C%T" /*format*/,
5349  -1440 /*offsetCode (-21600/15)*/,
5350  0 /*offsetRemainder (-21600%15)*/,
5351  0 /*deltaMinutes*/,
5352  1967 /*untilYear*/,
5353  1 /*untilMonth*/,
5354  1 /*untilDay*/,
5355  0 /*untilTimeCode (0/15)*/,
5356  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5357  },
5358  // -6:00 US C%sT
5359  {
5360  &kZonePolicyUS /*zonePolicy*/,
5361  "C%T" /*format*/,
5362  -1440 /*offsetCode (-21600/15)*/,
5363  0 /*offsetRemainder (-21600%15)*/,
5364  0 /*deltaMinutes*/,
5365  32767 /*untilYear*/,
5366  1 /*untilMonth*/,
5367  1 /*untilDay*/,
5368  0 /*untilTimeCode (0/15)*/,
5369  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5370  },
5371 
5372 };
5373 
5374 static const char kZoneNameAmerica_Chicago[] ACE_TIME_PROGMEM = "\x02" "Chicago";
5375 
5376 const complete::ZoneInfo kZoneAmerica_Chicago ACE_TIME_PROGMEM = {
5377  kZoneNameAmerica_Chicago /*name*/,
5378  0x4b92b5d4 /*zoneId*/,
5379  &kZoneContext /*zoneContext*/,
5380  8 /*numEras*/,
5381  kZoneEraAmerica_Chicago /*eras*/,
5382  nullptr /*targetInfo*/,
5383 };
5384 
5385 //---------------------------------------------------------------------------
5386 // Zone name: America/Chihuahua
5387 // Eras: 9
5388 //---------------------------------------------------------------------------
5389 
5390 static const complete::ZoneEra kZoneEraAmerica_Chihuahua[] ACE_TIME_PROGMEM = {
5391  // -7:04:20 - LMT 1922 Jan 1 7:00u
5392  {
5393  nullptr /*zonePolicy*/,
5394  "LMT" /*format*/,
5395  -1698 /*offsetCode (-25460/15)*/,
5396  10 /*offsetRemainder (-25460%15)*/,
5397  0 /*deltaMinutes*/,
5398  1922 /*untilYear*/,
5399  1 /*untilMonth*/,
5400  1 /*untilDay*/,
5401  1680 /*untilTimeCode (25200/15)*/,
5402  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5403  },
5404  // -7:00 - MST 1927 Jun 10 23:00
5405  {
5406  nullptr /*zonePolicy*/,
5407  "MST" /*format*/,
5408  -1680 /*offsetCode (-25200/15)*/,
5409  0 /*offsetRemainder (-25200%15)*/,
5410  0 /*deltaMinutes*/,
5411  1927 /*untilYear*/,
5412  6 /*untilMonth*/,
5413  10 /*untilDay*/,
5414  5520 /*untilTimeCode (82800/15)*/,
5415  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5416  },
5417  // -6:00 - CST 1930 Nov 15
5418  {
5419  nullptr /*zonePolicy*/,
5420  "CST" /*format*/,
5421  -1440 /*offsetCode (-21600/15)*/,
5422  0 /*offsetRemainder (-21600%15)*/,
5423  0 /*deltaMinutes*/,
5424  1930 /*untilYear*/,
5425  11 /*untilMonth*/,
5426  15 /*untilDay*/,
5427  0 /*untilTimeCode (0/15)*/,
5428  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5429  },
5430  // -7:00 Mexico M%sT 1932 Apr 1
5431  {
5432  &kZonePolicyMexico /*zonePolicy*/,
5433  "M%T" /*format*/,
5434  -1680 /*offsetCode (-25200/15)*/,
5435  0 /*offsetRemainder (-25200%15)*/,
5436  0 /*deltaMinutes*/,
5437  1932 /*untilYear*/,
5438  4 /*untilMonth*/,
5439  1 /*untilDay*/,
5440  0 /*untilTimeCode (0/15)*/,
5441  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5442  },
5443  // -6:00 - CST 1996
5444  {
5445  nullptr /*zonePolicy*/,
5446  "CST" /*format*/,
5447  -1440 /*offsetCode (-21600/15)*/,
5448  0 /*offsetRemainder (-21600%15)*/,
5449  0 /*deltaMinutes*/,
5450  1996 /*untilYear*/,
5451  1 /*untilMonth*/,
5452  1 /*untilDay*/,
5453  0 /*untilTimeCode (0/15)*/,
5454  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5455  },
5456  // -6:00 Mexico C%sT 1998
5457  {
5458  &kZonePolicyMexico /*zonePolicy*/,
5459  "C%T" /*format*/,
5460  -1440 /*offsetCode (-21600/15)*/,
5461  0 /*offsetRemainder (-21600%15)*/,
5462  0 /*deltaMinutes*/,
5463  1998 /*untilYear*/,
5464  1 /*untilMonth*/,
5465  1 /*untilDay*/,
5466  0 /*untilTimeCode (0/15)*/,
5467  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5468  },
5469  // -6:00 - CST 1998 Apr Sun>=1 3:00
5470  {
5471  nullptr /*zonePolicy*/,
5472  "CST" /*format*/,
5473  -1440 /*offsetCode (-21600/15)*/,
5474  0 /*offsetRemainder (-21600%15)*/,
5475  0 /*deltaMinutes*/,
5476  1998 /*untilYear*/,
5477  4 /*untilMonth*/,
5478  5 /*untilDay*/,
5479  720 /*untilTimeCode (10800/15)*/,
5480  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5481  },
5482  // -7:00 Mexico M%sT 2022 Oct 30 2:00
5483  {
5484  &kZonePolicyMexico /*zonePolicy*/,
5485  "M%T" /*format*/,
5486  -1680 /*offsetCode (-25200/15)*/,
5487  0 /*offsetRemainder (-25200%15)*/,
5488  0 /*deltaMinutes*/,
5489  2022 /*untilYear*/,
5490  10 /*untilMonth*/,
5491  30 /*untilDay*/,
5492  480 /*untilTimeCode (7200/15)*/,
5493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5494  },
5495  // -6:00 - CST
5496  {
5497  nullptr /*zonePolicy*/,
5498  "CST" /*format*/,
5499  -1440 /*offsetCode (-21600/15)*/,
5500  0 /*offsetRemainder (-21600%15)*/,
5501  0 /*deltaMinutes*/,
5502  32767 /*untilYear*/,
5503  1 /*untilMonth*/,
5504  1 /*untilDay*/,
5505  0 /*untilTimeCode (0/15)*/,
5506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5507  },
5508 
5509 };
5510 
5511 static const char kZoneNameAmerica_Chihuahua[] ACE_TIME_PROGMEM = "\x02" "Chihuahua";
5512 
5513 const complete::ZoneInfo kZoneAmerica_Chihuahua ACE_TIME_PROGMEM = {
5514  kZoneNameAmerica_Chihuahua /*name*/,
5515  0x8827d776 /*zoneId*/,
5516  &kZoneContext /*zoneContext*/,
5517  9 /*numEras*/,
5518  kZoneEraAmerica_Chihuahua /*eras*/,
5519  nullptr /*targetInfo*/,
5520 };
5521 
5522 //---------------------------------------------------------------------------
5523 // Zone name: America/Ciudad_Juarez
5524 // Eras: 11
5525 //---------------------------------------------------------------------------
5526 
5527 static const complete::ZoneEra kZoneEraAmerica_Ciudad_Juarez[] ACE_TIME_PROGMEM = {
5528  // -7:05:56 - LMT 1922 Jan 1 7:00u
5529  {
5530  nullptr /*zonePolicy*/,
5531  "LMT" /*format*/,
5532  -1704 /*offsetCode (-25556/15)*/,
5533  4 /*offsetRemainder (-25556%15)*/,
5534  0 /*deltaMinutes*/,
5535  1922 /*untilYear*/,
5536  1 /*untilMonth*/,
5537  1 /*untilDay*/,
5538  1680 /*untilTimeCode (25200/15)*/,
5539  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5540  },
5541  // -7:00 - MST 1927 Jun 10 23:00
5542  {
5543  nullptr /*zonePolicy*/,
5544  "MST" /*format*/,
5545  -1680 /*offsetCode (-25200/15)*/,
5546  0 /*offsetRemainder (-25200%15)*/,
5547  0 /*deltaMinutes*/,
5548  1927 /*untilYear*/,
5549  6 /*untilMonth*/,
5550  10 /*untilDay*/,
5551  5520 /*untilTimeCode (82800/15)*/,
5552  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5553  },
5554  // -6:00 - CST 1930 Nov 15
5555  {
5556  nullptr /*zonePolicy*/,
5557  "CST" /*format*/,
5558  -1440 /*offsetCode (-21600/15)*/,
5559  0 /*offsetRemainder (-21600%15)*/,
5560  0 /*deltaMinutes*/,
5561  1930 /*untilYear*/,
5562  11 /*untilMonth*/,
5563  15 /*untilDay*/,
5564  0 /*untilTimeCode (0/15)*/,
5565  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5566  },
5567  // -7:00 Mexico M%sT 1932 Apr 1
5568  {
5569  &kZonePolicyMexico /*zonePolicy*/,
5570  "M%T" /*format*/,
5571  -1680 /*offsetCode (-25200/15)*/,
5572  0 /*offsetRemainder (-25200%15)*/,
5573  0 /*deltaMinutes*/,
5574  1932 /*untilYear*/,
5575  4 /*untilMonth*/,
5576  1 /*untilDay*/,
5577  0 /*untilTimeCode (0/15)*/,
5578  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5579  },
5580  // -6:00 - CST 1996
5581  {
5582  nullptr /*zonePolicy*/,
5583  "CST" /*format*/,
5584  -1440 /*offsetCode (-21600/15)*/,
5585  0 /*offsetRemainder (-21600%15)*/,
5586  0 /*deltaMinutes*/,
5587  1996 /*untilYear*/,
5588  1 /*untilMonth*/,
5589  1 /*untilDay*/,
5590  0 /*untilTimeCode (0/15)*/,
5591  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5592  },
5593  // -6:00 Mexico C%sT 1998
5594  {
5595  &kZonePolicyMexico /*zonePolicy*/,
5596  "C%T" /*format*/,
5597  -1440 /*offsetCode (-21600/15)*/,
5598  0 /*offsetRemainder (-21600%15)*/,
5599  0 /*deltaMinutes*/,
5600  1998 /*untilYear*/,
5601  1 /*untilMonth*/,
5602  1 /*untilDay*/,
5603  0 /*untilTimeCode (0/15)*/,
5604  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5605  },
5606  // -6:00 - CST 1998 Apr Sun>=1 3:00
5607  {
5608  nullptr /*zonePolicy*/,
5609  "CST" /*format*/,
5610  -1440 /*offsetCode (-21600/15)*/,
5611  0 /*offsetRemainder (-21600%15)*/,
5612  0 /*deltaMinutes*/,
5613  1998 /*untilYear*/,
5614  4 /*untilMonth*/,
5615  5 /*untilDay*/,
5616  720 /*untilTimeCode (10800/15)*/,
5617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5618  },
5619  // -7:00 Mexico M%sT 2010
5620  {
5621  &kZonePolicyMexico /*zonePolicy*/,
5622  "M%T" /*format*/,
5623  -1680 /*offsetCode (-25200/15)*/,
5624  0 /*offsetRemainder (-25200%15)*/,
5625  0 /*deltaMinutes*/,
5626  2010 /*untilYear*/,
5627  1 /*untilMonth*/,
5628  1 /*untilDay*/,
5629  0 /*untilTimeCode (0/15)*/,
5630  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5631  },
5632  // -7:00 US M%sT 2022 Oct 30 2:00
5633  {
5634  &kZonePolicyUS /*zonePolicy*/,
5635  "M%T" /*format*/,
5636  -1680 /*offsetCode (-25200/15)*/,
5637  0 /*offsetRemainder (-25200%15)*/,
5638  0 /*deltaMinutes*/,
5639  2022 /*untilYear*/,
5640  10 /*untilMonth*/,
5641  30 /*untilDay*/,
5642  480 /*untilTimeCode (7200/15)*/,
5643  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5644  },
5645  // -6:00 - CST 2022 Nov 30 0:00
5646  {
5647  nullptr /*zonePolicy*/,
5648  "CST" /*format*/,
5649  -1440 /*offsetCode (-21600/15)*/,
5650  0 /*offsetRemainder (-21600%15)*/,
5651  0 /*deltaMinutes*/,
5652  2022 /*untilYear*/,
5653  11 /*untilMonth*/,
5654  30 /*untilDay*/,
5655  0 /*untilTimeCode (0/15)*/,
5656  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5657  },
5658  // -7:00 US M%sT
5659  {
5660  &kZonePolicyUS /*zonePolicy*/,
5661  "M%T" /*format*/,
5662  -1680 /*offsetCode (-25200/15)*/,
5663  0 /*offsetRemainder (-25200%15)*/,
5664  0 /*deltaMinutes*/,
5665  32767 /*untilYear*/,
5666  1 /*untilMonth*/,
5667  1 /*untilDay*/,
5668  0 /*untilTimeCode (0/15)*/,
5669  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5670  },
5671 
5672 };
5673 
5674 static const char kZoneNameAmerica_Ciudad_Juarez[] ACE_TIME_PROGMEM = "\x02" "Ciudad_Juarez";
5675 
5676 const complete::ZoneInfo kZoneAmerica_Ciudad_Juarez ACE_TIME_PROGMEM = {
5677  kZoneNameAmerica_Ciudad_Juarez /*name*/,
5678  0x7347fc60 /*zoneId*/,
5679  &kZoneContext /*zoneContext*/,
5680  11 /*numEras*/,
5681  kZoneEraAmerica_Ciudad_Juarez /*eras*/,
5682  nullptr /*targetInfo*/,
5683 };
5684 
5685 //---------------------------------------------------------------------------
5686 // Zone name: America/Costa_Rica
5687 // Eras: 3
5688 //---------------------------------------------------------------------------
5689 
5690 static const complete::ZoneEra kZoneEraAmerica_Costa_Rica[] ACE_TIME_PROGMEM = {
5691  // -5:36:13 - LMT 1890
5692  {
5693  nullptr /*zonePolicy*/,
5694  "LMT" /*format*/,
5695  -1345 /*offsetCode (-20173/15)*/,
5696  2 /*offsetRemainder (-20173%15)*/,
5697  0 /*deltaMinutes*/,
5698  1890 /*untilYear*/,
5699  1 /*untilMonth*/,
5700  1 /*untilDay*/,
5701  0 /*untilTimeCode (0/15)*/,
5702  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5703  },
5704  // -5:36:13 - SJMT 1921 Jan 15
5705  {
5706  nullptr /*zonePolicy*/,
5707  "SJMT" /*format*/,
5708  -1345 /*offsetCode (-20173/15)*/,
5709  2 /*offsetRemainder (-20173%15)*/,
5710  0 /*deltaMinutes*/,
5711  1921 /*untilYear*/,
5712  1 /*untilMonth*/,
5713  15 /*untilDay*/,
5714  0 /*untilTimeCode (0/15)*/,
5715  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5716  },
5717  // -6:00 CR C%sT
5718  {
5719  &kZonePolicyCR /*zonePolicy*/,
5720  "C%T" /*format*/,
5721  -1440 /*offsetCode (-21600/15)*/,
5722  0 /*offsetRemainder (-21600%15)*/,
5723  0 /*deltaMinutes*/,
5724  32767 /*untilYear*/,
5725  1 /*untilMonth*/,
5726  1 /*untilDay*/,
5727  0 /*untilTimeCode (0/15)*/,
5728  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5729  },
5730 
5731 };
5732 
5733 static const char kZoneNameAmerica_Costa_Rica[] ACE_TIME_PROGMEM = "\x02" "Costa_Rica";
5734 
5735 const complete::ZoneInfo kZoneAmerica_Costa_Rica ACE_TIME_PROGMEM = {
5736  kZoneNameAmerica_Costa_Rica /*name*/,
5737  0x63ff66be /*zoneId*/,
5738  &kZoneContext /*zoneContext*/,
5739  3 /*numEras*/,
5740  kZoneEraAmerica_Costa_Rica /*eras*/,
5741  nullptr /*targetInfo*/,
5742 };
5743 
5744 //---------------------------------------------------------------------------
5745 // Zone name: America/Cuiaba
5746 // Eras: 4
5747 //---------------------------------------------------------------------------
5748 
5749 static const complete::ZoneEra kZoneEraAmerica_Cuiaba[] ACE_TIME_PROGMEM = {
5750  // -3:44:20 - LMT 1914
5751  {
5752  nullptr /*zonePolicy*/,
5753  "LMT" /*format*/,
5754  -898 /*offsetCode (-13460/15)*/,
5755  10 /*offsetRemainder (-13460%15)*/,
5756  0 /*deltaMinutes*/,
5757  1914 /*untilYear*/,
5758  1 /*untilMonth*/,
5759  1 /*untilDay*/,
5760  0 /*untilTimeCode (0/15)*/,
5761  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5762  },
5763  // -4:00 Brazil -04/-03 2003 Sep 24
5764  {
5765  &kZonePolicyBrazil /*zonePolicy*/,
5766  "-04/-03" /*format*/,
5767  -960 /*offsetCode (-14400/15)*/,
5768  0 /*offsetRemainder (-14400%15)*/,
5769  0 /*deltaMinutes*/,
5770  2003 /*untilYear*/,
5771  9 /*untilMonth*/,
5772  24 /*untilDay*/,
5773  0 /*untilTimeCode (0/15)*/,
5774  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5775  },
5776  // -4:00 - -04 2004 Oct 1
5777  {
5778  nullptr /*zonePolicy*/,
5779  "-04" /*format*/,
5780  -960 /*offsetCode (-14400/15)*/,
5781  0 /*offsetRemainder (-14400%15)*/,
5782  0 /*deltaMinutes*/,
5783  2004 /*untilYear*/,
5784  10 /*untilMonth*/,
5785  1 /*untilDay*/,
5786  0 /*untilTimeCode (0/15)*/,
5787  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5788  },
5789  // -4:00 Brazil -04/-03
5790  {
5791  &kZonePolicyBrazil /*zonePolicy*/,
5792  "-04/-03" /*format*/,
5793  -960 /*offsetCode (-14400/15)*/,
5794  0 /*offsetRemainder (-14400%15)*/,
5795  0 /*deltaMinutes*/,
5796  32767 /*untilYear*/,
5797  1 /*untilMonth*/,
5798  1 /*untilDay*/,
5799  0 /*untilTimeCode (0/15)*/,
5800  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5801  },
5802 
5803 };
5804 
5805 static const char kZoneNameAmerica_Cuiaba[] ACE_TIME_PROGMEM = "\x02" "Cuiaba";
5806 
5807 const complete::ZoneInfo kZoneAmerica_Cuiaba ACE_TIME_PROGMEM = {
5808  kZoneNameAmerica_Cuiaba /*name*/,
5809  0x969a52eb /*zoneId*/,
5810  &kZoneContext /*zoneContext*/,
5811  4 /*numEras*/,
5812  kZoneEraAmerica_Cuiaba /*eras*/,
5813  nullptr /*targetInfo*/,
5814 };
5815 
5816 //---------------------------------------------------------------------------
5817 // Zone name: America/Danmarkshavn
5818 // Eras: 4
5819 //---------------------------------------------------------------------------
5820 
5821 static const complete::ZoneEra kZoneEraAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = {
5822  // -1:14:40 - LMT 1916 Jul 28
5823  {
5824  nullptr /*zonePolicy*/,
5825  "LMT" /*format*/,
5826  -299 /*offsetCode (-4480/15)*/,
5827  5 /*offsetRemainder (-4480%15)*/,
5828  0 /*deltaMinutes*/,
5829  1916 /*untilYear*/,
5830  7 /*untilMonth*/,
5831  28 /*untilDay*/,
5832  0 /*untilTimeCode (0/15)*/,
5833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5834  },
5835  // -3:00 - -03 1980 Apr 6 2:00
5836  {
5837  nullptr /*zonePolicy*/,
5838  "-03" /*format*/,
5839  -720 /*offsetCode (-10800/15)*/,
5840  0 /*offsetRemainder (-10800%15)*/,
5841  0 /*deltaMinutes*/,
5842  1980 /*untilYear*/,
5843  4 /*untilMonth*/,
5844  6 /*untilDay*/,
5845  480 /*untilTimeCode (7200/15)*/,
5846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5847  },
5848  // -3:00 EU -03/-02 1996
5849  {
5850  &kZonePolicyEU /*zonePolicy*/,
5851  "-03/-02" /*format*/,
5852  -720 /*offsetCode (-10800/15)*/,
5853  0 /*offsetRemainder (-10800%15)*/,
5854  0 /*deltaMinutes*/,
5855  1996 /*untilYear*/,
5856  1 /*untilMonth*/,
5857  1 /*untilDay*/,
5858  0 /*untilTimeCode (0/15)*/,
5859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5860  },
5861  // 0:00 - GMT
5862  {
5863  nullptr /*zonePolicy*/,
5864  "GMT" /*format*/,
5865  0 /*offsetCode (0/15)*/,
5866  0 /*offsetRemainder (0%15)*/,
5867  0 /*deltaMinutes*/,
5868  32767 /*untilYear*/,
5869  1 /*untilMonth*/,
5870  1 /*untilDay*/,
5871  0 /*untilTimeCode (0/15)*/,
5872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5873  },
5874 
5875 };
5876 
5877 static const char kZoneNameAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = "\x02" "Danmarkshavn";
5878 
5879 const complete::ZoneInfo kZoneAmerica_Danmarkshavn ACE_TIME_PROGMEM = {
5880  kZoneNameAmerica_Danmarkshavn /*name*/,
5881  0xf554d204 /*zoneId*/,
5882  &kZoneContext /*zoneContext*/,
5883  4 /*numEras*/,
5884  kZoneEraAmerica_Danmarkshavn /*eras*/,
5885  nullptr /*targetInfo*/,
5886 };
5887 
5888 //---------------------------------------------------------------------------
5889 // Zone name: America/Dawson
5890 // Eras: 6
5891 //---------------------------------------------------------------------------
5892 
5893 static const complete::ZoneEra kZoneEraAmerica_Dawson[] ACE_TIME_PROGMEM = {
5894  // -9:17:40 - LMT 1900 Aug 20
5895  {
5896  nullptr /*zonePolicy*/,
5897  "LMT" /*format*/,
5898  -2231 /*offsetCode (-33460/15)*/,
5899  5 /*offsetRemainder (-33460%15)*/,
5900  0 /*deltaMinutes*/,
5901  1900 /*untilYear*/,
5902  8 /*untilMonth*/,
5903  20 /*untilDay*/,
5904  0 /*untilTimeCode (0/15)*/,
5905  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5906  },
5907  // -9:00 NT_YK Y%sT 1965
5908  {
5909  &kZonePolicyNT_YK /*zonePolicy*/,
5910  "Y%T" /*format*/,
5911  -2160 /*offsetCode (-32400/15)*/,
5912  0 /*offsetRemainder (-32400%15)*/,
5913  0 /*deltaMinutes*/,
5914  1965 /*untilYear*/,
5915  1 /*untilMonth*/,
5916  1 /*untilDay*/,
5917  0 /*untilTimeCode (0/15)*/,
5918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5919  },
5920  // -9:00 Yukon Y%sT 1973 Oct 28 0:00
5921  {
5922  &kZonePolicyYukon /*zonePolicy*/,
5923  "Y%T" /*format*/,
5924  -2160 /*offsetCode (-32400/15)*/,
5925  0 /*offsetRemainder (-32400%15)*/,
5926  0 /*deltaMinutes*/,
5927  1973 /*untilYear*/,
5928  10 /*untilMonth*/,
5929  28 /*untilDay*/,
5930  0 /*untilTimeCode (0/15)*/,
5931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5932  },
5933  // -8:00 - PST 1980
5934  {
5935  nullptr /*zonePolicy*/,
5936  "PST" /*format*/,
5937  -1920 /*offsetCode (-28800/15)*/,
5938  0 /*offsetRemainder (-28800%15)*/,
5939  0 /*deltaMinutes*/,
5940  1980 /*untilYear*/,
5941  1 /*untilMonth*/,
5942  1 /*untilDay*/,
5943  0 /*untilTimeCode (0/15)*/,
5944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5945  },
5946  // -8:00 Canada P%sT 2020 Nov 1
5947  {
5948  &kZonePolicyCanada /*zonePolicy*/,
5949  "P%T" /*format*/,
5950  -1920 /*offsetCode (-28800/15)*/,
5951  0 /*offsetRemainder (-28800%15)*/,
5952  0 /*deltaMinutes*/,
5953  2020 /*untilYear*/,
5954  11 /*untilMonth*/,
5955  1 /*untilDay*/,
5956  0 /*untilTimeCode (0/15)*/,
5957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5958  },
5959  // -7:00 - MST
5960  {
5961  nullptr /*zonePolicy*/,
5962  "MST" /*format*/,
5963  -1680 /*offsetCode (-25200/15)*/,
5964  0 /*offsetRemainder (-25200%15)*/,
5965  0 /*deltaMinutes*/,
5966  32767 /*untilYear*/,
5967  1 /*untilMonth*/,
5968  1 /*untilDay*/,
5969  0 /*untilTimeCode (0/15)*/,
5970  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5971  },
5972 
5973 };
5974 
5975 static const char kZoneNameAmerica_Dawson[] ACE_TIME_PROGMEM = "\x02" "Dawson";
5976 
5977 const complete::ZoneInfo kZoneAmerica_Dawson ACE_TIME_PROGMEM = {
5978  kZoneNameAmerica_Dawson /*name*/,
5979  0x978d8d12 /*zoneId*/,
5980  &kZoneContext /*zoneContext*/,
5981  6 /*numEras*/,
5982  kZoneEraAmerica_Dawson /*eras*/,
5983  nullptr /*targetInfo*/,
5984 };
5985 
5986 //---------------------------------------------------------------------------
5987 // Zone name: America/Dawson_Creek
5988 // Eras: 4
5989 //---------------------------------------------------------------------------
5990 
5991 static const complete::ZoneEra kZoneEraAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = {
5992  // -8:00:56 - LMT 1884
5993  {
5994  nullptr /*zonePolicy*/,
5995  "LMT" /*format*/,
5996  -1924 /*offsetCode (-28856/15)*/,
5997  4 /*offsetRemainder (-28856%15)*/,
5998  0 /*deltaMinutes*/,
5999  1884 /*untilYear*/,
6000  1 /*untilMonth*/,
6001  1 /*untilDay*/,
6002  0 /*untilTimeCode (0/15)*/,
6003  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6004  },
6005  // -8:00 Canada P%sT 1947
6006  {
6007  &kZonePolicyCanada /*zonePolicy*/,
6008  "P%T" /*format*/,
6009  -1920 /*offsetCode (-28800/15)*/,
6010  0 /*offsetRemainder (-28800%15)*/,
6011  0 /*deltaMinutes*/,
6012  1947 /*untilYear*/,
6013  1 /*untilMonth*/,
6014  1 /*untilDay*/,
6015  0 /*untilTimeCode (0/15)*/,
6016  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6017  },
6018  // -8:00 Vanc P%sT 1972 Aug 30 2:00
6019  {
6020  &kZonePolicyVanc /*zonePolicy*/,
6021  "P%T" /*format*/,
6022  -1920 /*offsetCode (-28800/15)*/,
6023  0 /*offsetRemainder (-28800%15)*/,
6024  0 /*deltaMinutes*/,
6025  1972 /*untilYear*/,
6026  8 /*untilMonth*/,
6027  30 /*untilDay*/,
6028  480 /*untilTimeCode (7200/15)*/,
6029  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6030  },
6031  // -7:00 - MST
6032  {
6033  nullptr /*zonePolicy*/,
6034  "MST" /*format*/,
6035  -1680 /*offsetCode (-25200/15)*/,
6036  0 /*offsetRemainder (-25200%15)*/,
6037  0 /*deltaMinutes*/,
6038  32767 /*untilYear*/,
6039  1 /*untilMonth*/,
6040  1 /*untilDay*/,
6041  0 /*untilTimeCode (0/15)*/,
6042  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6043  },
6044 
6045 };
6046 
6047 static const char kZoneNameAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = "\x02" "Dawson_Creek";
6048 
6049 const complete::ZoneInfo kZoneAmerica_Dawson_Creek ACE_TIME_PROGMEM = {
6050  kZoneNameAmerica_Dawson_Creek /*name*/,
6051  0x6cf24e5b /*zoneId*/,
6052  &kZoneContext /*zoneContext*/,
6053  4 /*numEras*/,
6054  kZoneEraAmerica_Dawson_Creek /*eras*/,
6055  nullptr /*targetInfo*/,
6056 };
6057 
6058 //---------------------------------------------------------------------------
6059 // Zone name: America/Denver
6060 // Eras: 6
6061 //---------------------------------------------------------------------------
6062 
6063 static const complete::ZoneEra kZoneEraAmerica_Denver[] ACE_TIME_PROGMEM = {
6064  // -6:59:56 - LMT 1883 Nov 18 19:00u
6065  {
6066  nullptr /*zonePolicy*/,
6067  "LMT" /*format*/,
6068  -1680 /*offsetCode (-25196/15)*/,
6069  4 /*offsetRemainder (-25196%15)*/,
6070  0 /*deltaMinutes*/,
6071  1883 /*untilYear*/,
6072  11 /*untilMonth*/,
6073  18 /*untilDay*/,
6074  4560 /*untilTimeCode (68400/15)*/,
6075  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
6076  },
6077  // -7:00 US M%sT 1920
6078  {
6079  &kZonePolicyUS /*zonePolicy*/,
6080  "M%T" /*format*/,
6081  -1680 /*offsetCode (-25200/15)*/,
6082  0 /*offsetRemainder (-25200%15)*/,
6083  0 /*deltaMinutes*/,
6084  1920 /*untilYear*/,
6085  1 /*untilMonth*/,
6086  1 /*untilDay*/,
6087  0 /*untilTimeCode (0/15)*/,
6088  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6089  },
6090  // -7:00 Denver M%sT 1942
6091  {
6092  &kZonePolicyDenver /*zonePolicy*/,
6093  "M%T" /*format*/,
6094  -1680 /*offsetCode (-25200/15)*/,
6095  0 /*offsetRemainder (-25200%15)*/,
6096  0 /*deltaMinutes*/,
6097  1942 /*untilYear*/,
6098  1 /*untilMonth*/,
6099  1 /*untilDay*/,
6100  0 /*untilTimeCode (0/15)*/,
6101  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6102  },
6103  // -7:00 US M%sT 1946
6104  {
6105  &kZonePolicyUS /*zonePolicy*/,
6106  "M%T" /*format*/,
6107  -1680 /*offsetCode (-25200/15)*/,
6108  0 /*offsetRemainder (-25200%15)*/,
6109  0 /*deltaMinutes*/,
6110  1946 /*untilYear*/,
6111  1 /*untilMonth*/,
6112  1 /*untilDay*/,
6113  0 /*untilTimeCode (0/15)*/,
6114  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6115  },
6116  // -7:00 Denver M%sT 1967
6117  {
6118  &kZonePolicyDenver /*zonePolicy*/,
6119  "M%T" /*format*/,
6120  -1680 /*offsetCode (-25200/15)*/,
6121  0 /*offsetRemainder (-25200%15)*/,
6122  0 /*deltaMinutes*/,
6123  1967 /*untilYear*/,
6124  1 /*untilMonth*/,
6125  1 /*untilDay*/,
6126  0 /*untilTimeCode (0/15)*/,
6127  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6128  },
6129  // -7:00 US M%sT
6130  {
6131  &kZonePolicyUS /*zonePolicy*/,
6132  "M%T" /*format*/,
6133  -1680 /*offsetCode (-25200/15)*/,
6134  0 /*offsetRemainder (-25200%15)*/,
6135  0 /*deltaMinutes*/,
6136  32767 /*untilYear*/,
6137  1 /*untilMonth*/,
6138  1 /*untilDay*/,
6139  0 /*untilTimeCode (0/15)*/,
6140  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6141  },
6142 
6143 };
6144 
6145 static const char kZoneNameAmerica_Denver[] ACE_TIME_PROGMEM = "\x02" "Denver";
6146 
6147 const complete::ZoneInfo kZoneAmerica_Denver ACE_TIME_PROGMEM = {
6148  kZoneNameAmerica_Denver /*name*/,
6149  0x97d10b2a /*zoneId*/,
6150  &kZoneContext /*zoneContext*/,
6151  6 /*numEras*/,
6152  kZoneEraAmerica_Denver /*eras*/,
6153  nullptr /*targetInfo*/,
6154 };
6155 
6156 //---------------------------------------------------------------------------
6157 // Zone name: America/Detroit
6158 // Eras: 10
6159 //---------------------------------------------------------------------------
6160 
6161 static const complete::ZoneEra kZoneEraAmerica_Detroit[] ACE_TIME_PROGMEM = {
6162  // -5:32:11 - LMT 1905
6163  {
6164  nullptr /*zonePolicy*/,
6165  "LMT" /*format*/,
6166  -1329 /*offsetCode (-19931/15)*/,
6167  4 /*offsetRemainder (-19931%15)*/,
6168  0 /*deltaMinutes*/,
6169  1905 /*untilYear*/,
6170  1 /*untilMonth*/,
6171  1 /*untilDay*/,
6172  0 /*untilTimeCode (0/15)*/,
6173  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6174  },
6175  // -6:00 - CST 1915 May 15 2:00
6176  {
6177  nullptr /*zonePolicy*/,
6178  "CST" /*format*/,
6179  -1440 /*offsetCode (-21600/15)*/,
6180  0 /*offsetRemainder (-21600%15)*/,
6181  0 /*deltaMinutes*/,
6182  1915 /*untilYear*/,
6183  5 /*untilMonth*/,
6184  15 /*untilDay*/,
6185  480 /*untilTimeCode (7200/15)*/,
6186  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6187  },
6188  // -5:00 - EST 1942
6189  {
6190  nullptr /*zonePolicy*/,
6191  "EST" /*format*/,
6192  -1200 /*offsetCode (-18000/15)*/,
6193  0 /*offsetRemainder (-18000%15)*/,
6194  0 /*deltaMinutes*/,
6195  1942 /*untilYear*/,
6196  1 /*untilMonth*/,
6197  1 /*untilDay*/,
6198  0 /*untilTimeCode (0/15)*/,
6199  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6200  },
6201  // -5:00 US E%sT 1946
6202  {
6203  &kZonePolicyUS /*zonePolicy*/,
6204  "E%T" /*format*/,
6205  -1200 /*offsetCode (-18000/15)*/,
6206  0 /*offsetRemainder (-18000%15)*/,
6207  0 /*deltaMinutes*/,
6208  1946 /*untilYear*/,
6209  1 /*untilMonth*/,
6210  1 /*untilDay*/,
6211  0 /*untilTimeCode (0/15)*/,
6212  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6213  },
6214  // -5:00 Detroit E%sT 1967 Jun 14 0:01
6215  {
6216  &kZonePolicyDetroit /*zonePolicy*/,
6217  "E%T" /*format*/,
6218  -1200 /*offsetCode (-18000/15)*/,
6219  0 /*offsetRemainder (-18000%15)*/,
6220  0 /*deltaMinutes*/,
6221  1967 /*untilYear*/,
6222  6 /*untilMonth*/,
6223  14 /*untilDay*/,
6224  4 /*untilTimeCode (60/15)*/,
6225  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6226  },
6227  // -5:00 US E%sT 1969
6228  {
6229  &kZonePolicyUS /*zonePolicy*/,
6230  "E%T" /*format*/,
6231  -1200 /*offsetCode (-18000/15)*/,
6232  0 /*offsetRemainder (-18000%15)*/,
6233  0 /*deltaMinutes*/,
6234  1969 /*untilYear*/,
6235  1 /*untilMonth*/,
6236  1 /*untilDay*/,
6237  0 /*untilTimeCode (0/15)*/,
6238  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6239  },
6240  // -5:00 - EST 1973
6241  {
6242  nullptr /*zonePolicy*/,
6243  "EST" /*format*/,
6244  -1200 /*offsetCode (-18000/15)*/,
6245  0 /*offsetRemainder (-18000%15)*/,
6246  0 /*deltaMinutes*/,
6247  1973 /*untilYear*/,
6248  1 /*untilMonth*/,
6249  1 /*untilDay*/,
6250  0 /*untilTimeCode (0/15)*/,
6251  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6252  },
6253  // -5:00 US E%sT 1975
6254  {
6255  &kZonePolicyUS /*zonePolicy*/,
6256  "E%T" /*format*/,
6257  -1200 /*offsetCode (-18000/15)*/,
6258  0 /*offsetRemainder (-18000%15)*/,
6259  0 /*deltaMinutes*/,
6260  1975 /*untilYear*/,
6261  1 /*untilMonth*/,
6262  1 /*untilDay*/,
6263  0 /*untilTimeCode (0/15)*/,
6264  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6265  },
6266  // -5:00 - EST 1975 Apr 27 2:00
6267  {
6268  nullptr /*zonePolicy*/,
6269  "EST" /*format*/,
6270  -1200 /*offsetCode (-18000/15)*/,
6271  0 /*offsetRemainder (-18000%15)*/,
6272  0 /*deltaMinutes*/,
6273  1975 /*untilYear*/,
6274  4 /*untilMonth*/,
6275  27 /*untilDay*/,
6276  480 /*untilTimeCode (7200/15)*/,
6277  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6278  },
6279  // -5:00 US E%sT
6280  {
6281  &kZonePolicyUS /*zonePolicy*/,
6282  "E%T" /*format*/,
6283  -1200 /*offsetCode (-18000/15)*/,
6284  0 /*offsetRemainder (-18000%15)*/,
6285  0 /*deltaMinutes*/,
6286  32767 /*untilYear*/,
6287  1 /*untilMonth*/,
6288  1 /*untilDay*/,
6289  0 /*untilTimeCode (0/15)*/,
6290  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6291  },
6292 
6293 };
6294 
6295 static const char kZoneNameAmerica_Detroit[] ACE_TIME_PROGMEM = "\x02" "Detroit";
6296 
6297 const complete::ZoneInfo kZoneAmerica_Detroit ACE_TIME_PROGMEM = {
6298  kZoneNameAmerica_Detroit /*name*/,
6299  0x925cfbc1 /*zoneId*/,
6300  &kZoneContext /*zoneContext*/,
6301  10 /*numEras*/,
6302  kZoneEraAmerica_Detroit /*eras*/,
6303  nullptr /*targetInfo*/,
6304 };
6305 
6306 //---------------------------------------------------------------------------
6307 // Zone name: America/Edmonton
6308 // Eras: 3
6309 //---------------------------------------------------------------------------
6310 
6311 static const complete::ZoneEra kZoneEraAmerica_Edmonton[] ACE_TIME_PROGMEM = {
6312  // -7:33:52 - LMT 1906 Sep
6313  {
6314  nullptr /*zonePolicy*/,
6315  "LMT" /*format*/,
6316  -1816 /*offsetCode (-27232/15)*/,
6317  8 /*offsetRemainder (-27232%15)*/,
6318  0 /*deltaMinutes*/,
6319  1906 /*untilYear*/,
6320  9 /*untilMonth*/,
6321  1 /*untilDay*/,
6322  0 /*untilTimeCode (0/15)*/,
6323  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6324  },
6325  // -7:00 Edm M%sT 1987
6326  {
6327  &kZonePolicyEdm /*zonePolicy*/,
6328  "M%T" /*format*/,
6329  -1680 /*offsetCode (-25200/15)*/,
6330  0 /*offsetRemainder (-25200%15)*/,
6331  0 /*deltaMinutes*/,
6332  1987 /*untilYear*/,
6333  1 /*untilMonth*/,
6334  1 /*untilDay*/,
6335  0 /*untilTimeCode (0/15)*/,
6336  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6337  },
6338  // -7:00 Canada M%sT
6339  {
6340  &kZonePolicyCanada /*zonePolicy*/,
6341  "M%T" /*format*/,
6342  -1680 /*offsetCode (-25200/15)*/,
6343  0 /*offsetRemainder (-25200%15)*/,
6344  0 /*deltaMinutes*/,
6345  32767 /*untilYear*/,
6346  1 /*untilMonth*/,
6347  1 /*untilDay*/,
6348  0 /*untilTimeCode (0/15)*/,
6349  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6350  },
6351 
6352 };
6353 
6354 static const char kZoneNameAmerica_Edmonton[] ACE_TIME_PROGMEM = "\x02" "Edmonton";
6355 
6356 const complete::ZoneInfo kZoneAmerica_Edmonton ACE_TIME_PROGMEM = {
6357  kZoneNameAmerica_Edmonton /*name*/,
6358  0x6cb9484a /*zoneId*/,
6359  &kZoneContext /*zoneContext*/,
6360  3 /*numEras*/,
6361  kZoneEraAmerica_Edmonton /*eras*/,
6362  nullptr /*targetInfo*/,
6363 };
6364 
6365 //---------------------------------------------------------------------------
6366 // Zone name: America/Eirunepe
6367 // Eras: 7
6368 //---------------------------------------------------------------------------
6369 
6370 static const complete::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = {
6371  // -4:39:28 - LMT 1914
6372  {
6373  nullptr /*zonePolicy*/,
6374  "LMT" /*format*/,
6375  -1118 /*offsetCode (-16768/15)*/,
6376  2 /*offsetRemainder (-16768%15)*/,
6377  0 /*deltaMinutes*/,
6378  1914 /*untilYear*/,
6379  1 /*untilMonth*/,
6380  1 /*untilDay*/,
6381  0 /*untilTimeCode (0/15)*/,
6382  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6383  },
6384  // -5:00 Brazil -05/-04 1988 Sep 12
6385  {
6386  &kZonePolicyBrazil /*zonePolicy*/,
6387  "-05/-04" /*format*/,
6388  -1200 /*offsetCode (-18000/15)*/,
6389  0 /*offsetRemainder (-18000%15)*/,
6390  0 /*deltaMinutes*/,
6391  1988 /*untilYear*/,
6392  9 /*untilMonth*/,
6393  12 /*untilDay*/,
6394  0 /*untilTimeCode (0/15)*/,
6395  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6396  },
6397  // -5:00 - -05 1993 Sep 28
6398  {
6399  nullptr /*zonePolicy*/,
6400  "-05" /*format*/,
6401  -1200 /*offsetCode (-18000/15)*/,
6402  0 /*offsetRemainder (-18000%15)*/,
6403  0 /*deltaMinutes*/,
6404  1993 /*untilYear*/,
6405  9 /*untilMonth*/,
6406  28 /*untilDay*/,
6407  0 /*untilTimeCode (0/15)*/,
6408  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6409  },
6410  // -5:00 Brazil -05/-04 1994 Sep 22
6411  {
6412  &kZonePolicyBrazil /*zonePolicy*/,
6413  "-05/-04" /*format*/,
6414  -1200 /*offsetCode (-18000/15)*/,
6415  0 /*offsetRemainder (-18000%15)*/,
6416  0 /*deltaMinutes*/,
6417  1994 /*untilYear*/,
6418  9 /*untilMonth*/,
6419  22 /*untilDay*/,
6420  0 /*untilTimeCode (0/15)*/,
6421  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6422  },
6423  // -5:00 - -05 2008 Jun 24 0:00
6424  {
6425  nullptr /*zonePolicy*/,
6426  "-05" /*format*/,
6427  -1200 /*offsetCode (-18000/15)*/,
6428  0 /*offsetRemainder (-18000%15)*/,
6429  0 /*deltaMinutes*/,
6430  2008 /*untilYear*/,
6431  6 /*untilMonth*/,
6432  24 /*untilDay*/,
6433  0 /*untilTimeCode (0/15)*/,
6434  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6435  },
6436  // -4:00 - -04 2013 Nov 10
6437  {
6438  nullptr /*zonePolicy*/,
6439  "-04" /*format*/,
6440  -960 /*offsetCode (-14400/15)*/,
6441  0 /*offsetRemainder (-14400%15)*/,
6442  0 /*deltaMinutes*/,
6443  2013 /*untilYear*/,
6444  11 /*untilMonth*/,
6445  10 /*untilDay*/,
6446  0 /*untilTimeCode (0/15)*/,
6447  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6448  },
6449  // -5:00 - -05
6450  {
6451  nullptr /*zonePolicy*/,
6452  "-05" /*format*/,
6453  -1200 /*offsetCode (-18000/15)*/,
6454  0 /*offsetRemainder (-18000%15)*/,
6455  0 /*deltaMinutes*/,
6456  32767 /*untilYear*/,
6457  1 /*untilMonth*/,
6458  1 /*untilDay*/,
6459  0 /*untilTimeCode (0/15)*/,
6460  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6461  },
6462 
6463 };
6464 
6465 static const char kZoneNameAmerica_Eirunepe[] ACE_TIME_PROGMEM = "\x02" "Eirunepe";
6466 
6467 const complete::ZoneInfo kZoneAmerica_Eirunepe ACE_TIME_PROGMEM = {
6468  kZoneNameAmerica_Eirunepe /*name*/,
6469  0xf9b29683 /*zoneId*/,
6470  &kZoneContext /*zoneContext*/,
6471  7 /*numEras*/,
6472  kZoneEraAmerica_Eirunepe /*eras*/,
6473  nullptr /*targetInfo*/,
6474 };
6475 
6476 //---------------------------------------------------------------------------
6477 // Zone name: America/El_Salvador
6478 // Eras: 2
6479 //---------------------------------------------------------------------------
6480 
6481 static const complete::ZoneEra kZoneEraAmerica_El_Salvador[] ACE_TIME_PROGMEM = {
6482  // -5:56:48 - LMT 1921
6483  {
6484  nullptr /*zonePolicy*/,
6485  "LMT" /*format*/,
6486  -1428 /*offsetCode (-21408/15)*/,
6487  12 /*offsetRemainder (-21408%15)*/,
6488  0 /*deltaMinutes*/,
6489  1921 /*untilYear*/,
6490  1 /*untilMonth*/,
6491  1 /*untilDay*/,
6492  0 /*untilTimeCode (0/15)*/,
6493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6494  },
6495  // -6:00 Salv C%sT
6496  {
6497  &kZonePolicySalv /*zonePolicy*/,
6498  "C%T" /*format*/,
6499  -1440 /*offsetCode (-21600/15)*/,
6500  0 /*offsetRemainder (-21600%15)*/,
6501  0 /*deltaMinutes*/,
6502  32767 /*untilYear*/,
6503  1 /*untilMonth*/,
6504  1 /*untilDay*/,
6505  0 /*untilTimeCode (0/15)*/,
6506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6507  },
6508 
6509 };
6510 
6511 static const char kZoneNameAmerica_El_Salvador[] ACE_TIME_PROGMEM = "\x02" "El_Salvador";
6512 
6513 const complete::ZoneInfo kZoneAmerica_El_Salvador ACE_TIME_PROGMEM = {
6514  kZoneNameAmerica_El_Salvador /*name*/,
6515  0x752ad652 /*zoneId*/,
6516  &kZoneContext /*zoneContext*/,
6517  2 /*numEras*/,
6518  kZoneEraAmerica_El_Salvador /*eras*/,
6519  nullptr /*targetInfo*/,
6520 };
6521 
6522 //---------------------------------------------------------------------------
6523 // Zone name: America/Fort_Nelson
6524 // Eras: 6
6525 //---------------------------------------------------------------------------
6526 
6527 static const complete::ZoneEra kZoneEraAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = {
6528  // -8:10:47 - LMT 1884
6529  {
6530  nullptr /*zonePolicy*/,
6531  "LMT" /*format*/,
6532  -1964 /*offsetCode (-29447/15)*/,
6533  13 /*offsetRemainder (-29447%15)*/,
6534  0 /*deltaMinutes*/,
6535  1884 /*untilYear*/,
6536  1 /*untilMonth*/,
6537  1 /*untilDay*/,
6538  0 /*untilTimeCode (0/15)*/,
6539  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6540  },
6541  // -8:00 Vanc P%sT 1946
6542  {
6543  &kZonePolicyVanc /*zonePolicy*/,
6544  "P%T" /*format*/,
6545  -1920 /*offsetCode (-28800/15)*/,
6546  0 /*offsetRemainder (-28800%15)*/,
6547  0 /*deltaMinutes*/,
6548  1946 /*untilYear*/,
6549  1 /*untilMonth*/,
6550  1 /*untilDay*/,
6551  0 /*untilTimeCode (0/15)*/,
6552  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6553  },
6554  // -8:00 - PST 1947
6555  {
6556  nullptr /*zonePolicy*/,
6557  "PST" /*format*/,
6558  -1920 /*offsetCode (-28800/15)*/,
6559  0 /*offsetRemainder (-28800%15)*/,
6560  0 /*deltaMinutes*/,
6561  1947 /*untilYear*/,
6562  1 /*untilMonth*/,
6563  1 /*untilDay*/,
6564  0 /*untilTimeCode (0/15)*/,
6565  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6566  },
6567  // -8:00 Vanc P%sT 1987
6568  {
6569  &kZonePolicyVanc /*zonePolicy*/,
6570  "P%T" /*format*/,
6571  -1920 /*offsetCode (-28800/15)*/,
6572  0 /*offsetRemainder (-28800%15)*/,
6573  0 /*deltaMinutes*/,
6574  1987 /*untilYear*/,
6575  1 /*untilMonth*/,
6576  1 /*untilDay*/,
6577  0 /*untilTimeCode (0/15)*/,
6578  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6579  },
6580  // -8:00 Canada P%sT 2015 Mar 8 2:00
6581  {
6582  &kZonePolicyCanada /*zonePolicy*/,
6583  "P%T" /*format*/,
6584  -1920 /*offsetCode (-28800/15)*/,
6585  0 /*offsetRemainder (-28800%15)*/,
6586  0 /*deltaMinutes*/,
6587  2015 /*untilYear*/,
6588  3 /*untilMonth*/,
6589  8 /*untilDay*/,
6590  480 /*untilTimeCode (7200/15)*/,
6591  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6592  },
6593  // -7:00 - MST
6594  {
6595  nullptr /*zonePolicy*/,
6596  "MST" /*format*/,
6597  -1680 /*offsetCode (-25200/15)*/,
6598  0 /*offsetRemainder (-25200%15)*/,
6599  0 /*deltaMinutes*/,
6600  32767 /*untilYear*/,
6601  1 /*untilMonth*/,
6602  1 /*untilDay*/,
6603  0 /*untilTimeCode (0/15)*/,
6604  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6605  },
6606 
6607 };
6608 
6609 static const char kZoneNameAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = "\x02" "Fort_Nelson";
6610 
6611 const complete::ZoneInfo kZoneAmerica_Fort_Nelson ACE_TIME_PROGMEM = {
6612  kZoneNameAmerica_Fort_Nelson /*name*/,
6613  0x3f437e0f /*zoneId*/,
6614  &kZoneContext /*zoneContext*/,
6615  6 /*numEras*/,
6616  kZoneEraAmerica_Fort_Nelson /*eras*/,
6617  nullptr /*targetInfo*/,
6618 };
6619 
6620 //---------------------------------------------------------------------------
6621 // Zone name: America/Fortaleza
6622 // Eras: 7
6623 //---------------------------------------------------------------------------
6624 
6625 static const complete::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = {
6626  // -2:34:00 - LMT 1914
6627  {
6628  nullptr /*zonePolicy*/,
6629  "LMT" /*format*/,
6630  -616 /*offsetCode (-9240/15)*/,
6631  0 /*offsetRemainder (-9240%15)*/,
6632  0 /*deltaMinutes*/,
6633  1914 /*untilYear*/,
6634  1 /*untilMonth*/,
6635  1 /*untilDay*/,
6636  0 /*untilTimeCode (0/15)*/,
6637  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6638  },
6639  // -3:00 Brazil -03/-02 1990 Sep 17
6640  {
6641  &kZonePolicyBrazil /*zonePolicy*/,
6642  "-03/-02" /*format*/,
6643  -720 /*offsetCode (-10800/15)*/,
6644  0 /*offsetRemainder (-10800%15)*/,
6645  0 /*deltaMinutes*/,
6646  1990 /*untilYear*/,
6647  9 /*untilMonth*/,
6648  17 /*untilDay*/,
6649  0 /*untilTimeCode (0/15)*/,
6650  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6651  },
6652  // -3:00 - -03 1999 Sep 30
6653  {
6654  nullptr /*zonePolicy*/,
6655  "-03" /*format*/,
6656  -720 /*offsetCode (-10800/15)*/,
6657  0 /*offsetRemainder (-10800%15)*/,
6658  0 /*deltaMinutes*/,
6659  1999 /*untilYear*/,
6660  9 /*untilMonth*/,
6661  30 /*untilDay*/,
6662  0 /*untilTimeCode (0/15)*/,
6663  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6664  },
6665  // -3:00 Brazil -03/-02 2000 Oct 22
6666  {
6667  &kZonePolicyBrazil /*zonePolicy*/,
6668  "-03/-02" /*format*/,
6669  -720 /*offsetCode (-10800/15)*/,
6670  0 /*offsetRemainder (-10800%15)*/,
6671  0 /*deltaMinutes*/,
6672  2000 /*untilYear*/,
6673  10 /*untilMonth*/,
6674  22 /*untilDay*/,
6675  0 /*untilTimeCode (0/15)*/,
6676  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6677  },
6678  // -3:00 - -03 2001 Sep 13
6679  {
6680  nullptr /*zonePolicy*/,
6681  "-03" /*format*/,
6682  -720 /*offsetCode (-10800/15)*/,
6683  0 /*offsetRemainder (-10800%15)*/,
6684  0 /*deltaMinutes*/,
6685  2001 /*untilYear*/,
6686  9 /*untilMonth*/,
6687  13 /*untilDay*/,
6688  0 /*untilTimeCode (0/15)*/,
6689  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6690  },
6691  // -3:00 Brazil -03/-02 2002 Oct 1
6692  {
6693  &kZonePolicyBrazil /*zonePolicy*/,
6694  "-03/-02" /*format*/,
6695  -720 /*offsetCode (-10800/15)*/,
6696  0 /*offsetRemainder (-10800%15)*/,
6697  0 /*deltaMinutes*/,
6698  2002 /*untilYear*/,
6699  10 /*untilMonth*/,
6700  1 /*untilDay*/,
6701  0 /*untilTimeCode (0/15)*/,
6702  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6703  },
6704  // -3:00 - -03
6705  {
6706  nullptr /*zonePolicy*/,
6707  "-03" /*format*/,
6708  -720 /*offsetCode (-10800/15)*/,
6709  0 /*offsetRemainder (-10800%15)*/,
6710  0 /*deltaMinutes*/,
6711  32767 /*untilYear*/,
6712  1 /*untilMonth*/,
6713  1 /*untilDay*/,
6714  0 /*untilTimeCode (0/15)*/,
6715  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6716  },
6717 
6718 };
6719 
6720 static const char kZoneNameAmerica_Fortaleza[] ACE_TIME_PROGMEM = "\x02" "Fortaleza";
6721 
6722 const complete::ZoneInfo kZoneAmerica_Fortaleza ACE_TIME_PROGMEM = {
6723  kZoneNameAmerica_Fortaleza /*name*/,
6724  0x2ad018ee /*zoneId*/,
6725  &kZoneContext /*zoneContext*/,
6726  7 /*numEras*/,
6727  kZoneEraAmerica_Fortaleza /*eras*/,
6728  nullptr /*targetInfo*/,
6729 };
6730 
6731 //---------------------------------------------------------------------------
6732 // Zone name: America/Glace_Bay
6733 // Eras: 6
6734 //---------------------------------------------------------------------------
6735 
6736 static const complete::ZoneEra kZoneEraAmerica_Glace_Bay[] ACE_TIME_PROGMEM = {
6737  // -3:59:48 - LMT 1902 Jun 15
6738  {
6739  nullptr /*zonePolicy*/,
6740  "LMT" /*format*/,
6741  -960 /*offsetCode (-14388/15)*/,
6742  12 /*offsetRemainder (-14388%15)*/,
6743  0 /*deltaMinutes*/,
6744  1902 /*untilYear*/,
6745  6 /*untilMonth*/,
6746  15 /*untilDay*/,
6747  0 /*untilTimeCode (0/15)*/,
6748  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6749  },
6750  // -4:00 Canada A%sT 1953
6751  {
6752  &kZonePolicyCanada /*zonePolicy*/,
6753  "A%T" /*format*/,
6754  -960 /*offsetCode (-14400/15)*/,
6755  0 /*offsetRemainder (-14400%15)*/,
6756  0 /*deltaMinutes*/,
6757  1953 /*untilYear*/,
6758  1 /*untilMonth*/,
6759  1 /*untilDay*/,
6760  0 /*untilTimeCode (0/15)*/,
6761  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6762  },
6763  // -4:00 Halifax A%sT 1954
6764  {
6765  &kZonePolicyHalifax /*zonePolicy*/,
6766  "A%T" /*format*/,
6767  -960 /*offsetCode (-14400/15)*/,
6768  0 /*offsetRemainder (-14400%15)*/,
6769  0 /*deltaMinutes*/,
6770  1954 /*untilYear*/,
6771  1 /*untilMonth*/,
6772  1 /*untilDay*/,
6773  0 /*untilTimeCode (0/15)*/,
6774  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6775  },
6776  // -4:00 - AST 1972
6777  {
6778  nullptr /*zonePolicy*/,
6779  "AST" /*format*/,
6780  -960 /*offsetCode (-14400/15)*/,
6781  0 /*offsetRemainder (-14400%15)*/,
6782  0 /*deltaMinutes*/,
6783  1972 /*untilYear*/,
6784  1 /*untilMonth*/,
6785  1 /*untilDay*/,
6786  0 /*untilTimeCode (0/15)*/,
6787  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6788  },
6789  // -4:00 Halifax A%sT 1974
6790  {
6791  &kZonePolicyHalifax /*zonePolicy*/,
6792  "A%T" /*format*/,
6793  -960 /*offsetCode (-14400/15)*/,
6794  0 /*offsetRemainder (-14400%15)*/,
6795  0 /*deltaMinutes*/,
6796  1974 /*untilYear*/,
6797  1 /*untilMonth*/,
6798  1 /*untilDay*/,
6799  0 /*untilTimeCode (0/15)*/,
6800  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6801  },
6802  // -4:00 Canada A%sT
6803  {
6804  &kZonePolicyCanada /*zonePolicy*/,
6805  "A%T" /*format*/,
6806  -960 /*offsetCode (-14400/15)*/,
6807  0 /*offsetRemainder (-14400%15)*/,
6808  0 /*deltaMinutes*/,
6809  32767 /*untilYear*/,
6810  1 /*untilMonth*/,
6811  1 /*untilDay*/,
6812  0 /*untilTimeCode (0/15)*/,
6813  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6814  },
6815 
6816 };
6817 
6818 static const char kZoneNameAmerica_Glace_Bay[] ACE_TIME_PROGMEM = "\x02" "Glace_Bay";
6819 
6820 const complete::ZoneInfo kZoneAmerica_Glace_Bay ACE_TIME_PROGMEM = {
6821  kZoneNameAmerica_Glace_Bay /*name*/,
6822  0x9681f8dd /*zoneId*/,
6823  &kZoneContext /*zoneContext*/,
6824  6 /*numEras*/,
6825  kZoneEraAmerica_Glace_Bay /*eras*/,
6826  nullptr /*targetInfo*/,
6827 };
6828 
6829 //---------------------------------------------------------------------------
6830 // Zone name: America/Goose_Bay
6831 // Eras: 10
6832 //---------------------------------------------------------------------------
6833 
6834 static const complete::ZoneEra kZoneEraAmerica_Goose_Bay[] ACE_TIME_PROGMEM = {
6835  // -4:01:40 - LMT 1884
6836  {
6837  nullptr /*zonePolicy*/,
6838  "LMT" /*format*/,
6839  -967 /*offsetCode (-14500/15)*/,
6840  5 /*offsetRemainder (-14500%15)*/,
6841  0 /*deltaMinutes*/,
6842  1884 /*untilYear*/,
6843  1 /*untilMonth*/,
6844  1 /*untilDay*/,
6845  0 /*untilTimeCode (0/15)*/,
6846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6847  },
6848  // -3:30:52 - NST 1918
6849  {
6850  nullptr /*zonePolicy*/,
6851  "NST" /*format*/,
6852  -844 /*offsetCode (-12652/15)*/,
6853  8 /*offsetRemainder (-12652%15)*/,
6854  0 /*deltaMinutes*/,
6855  1918 /*untilYear*/,
6856  1 /*untilMonth*/,
6857  1 /*untilDay*/,
6858  0 /*untilTimeCode (0/15)*/,
6859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6860  },
6861  // -3:30:52 Canada N%sT 1919
6862  {
6863  &kZonePolicyCanada /*zonePolicy*/,
6864  "N%T" /*format*/,
6865  -844 /*offsetCode (-12652/15)*/,
6866  8 /*offsetRemainder (-12652%15)*/,
6867  0 /*deltaMinutes*/,
6868  1919 /*untilYear*/,
6869  1 /*untilMonth*/,
6870  1 /*untilDay*/,
6871  0 /*untilTimeCode (0/15)*/,
6872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6873  },
6874  // -3:30:52 - NST 1935 Mar 30
6875  {
6876  nullptr /*zonePolicy*/,
6877  "NST" /*format*/,
6878  -844 /*offsetCode (-12652/15)*/,
6879  8 /*offsetRemainder (-12652%15)*/,
6880  0 /*deltaMinutes*/,
6881  1935 /*untilYear*/,
6882  3 /*untilMonth*/,
6883  30 /*untilDay*/,
6884  0 /*untilTimeCode (0/15)*/,
6885  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6886  },
6887  // -3:30 - NST 1936
6888  {
6889  nullptr /*zonePolicy*/,
6890  "NST" /*format*/,
6891  -840 /*offsetCode (-12600/15)*/,
6892  0 /*offsetRemainder (-12600%15)*/,
6893  0 /*deltaMinutes*/,
6894  1936 /*untilYear*/,
6895  1 /*untilMonth*/,
6896  1 /*untilDay*/,
6897  0 /*untilTimeCode (0/15)*/,
6898  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6899  },
6900  // -3:30 StJohns N%sT 1942 May 11
6901  {
6902  &kZonePolicyStJohns /*zonePolicy*/,
6903  "N%T" /*format*/,
6904  -840 /*offsetCode (-12600/15)*/,
6905  0 /*offsetRemainder (-12600%15)*/,
6906  0 /*deltaMinutes*/,
6907  1942 /*untilYear*/,
6908  5 /*untilMonth*/,
6909  11 /*untilDay*/,
6910  0 /*untilTimeCode (0/15)*/,
6911  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6912  },
6913  // -3:30 Canada N%sT 1946
6914  {
6915  &kZonePolicyCanada /*zonePolicy*/,
6916  "N%T" /*format*/,
6917  -840 /*offsetCode (-12600/15)*/,
6918  0 /*offsetRemainder (-12600%15)*/,
6919  0 /*deltaMinutes*/,
6920  1946 /*untilYear*/,
6921  1 /*untilMonth*/,
6922  1 /*untilDay*/,
6923  0 /*untilTimeCode (0/15)*/,
6924  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6925  },
6926  // -3:30 StJohns N%sT 1966 Mar 15 2:00
6927  {
6928  &kZonePolicyStJohns /*zonePolicy*/,
6929  "N%T" /*format*/,
6930  -840 /*offsetCode (-12600/15)*/,
6931  0 /*offsetRemainder (-12600%15)*/,
6932  0 /*deltaMinutes*/,
6933  1966 /*untilYear*/,
6934  3 /*untilMonth*/,
6935  15 /*untilDay*/,
6936  480 /*untilTimeCode (7200/15)*/,
6937  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6938  },
6939  // -4:00 StJohns A%sT 2011 Nov
6940  {
6941  &kZonePolicyStJohns /*zonePolicy*/,
6942  "A%T" /*format*/,
6943  -960 /*offsetCode (-14400/15)*/,
6944  0 /*offsetRemainder (-14400%15)*/,
6945  0 /*deltaMinutes*/,
6946  2011 /*untilYear*/,
6947  11 /*untilMonth*/,
6948  1 /*untilDay*/,
6949  0 /*untilTimeCode (0/15)*/,
6950  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6951  },
6952  // -4:00 Canada A%sT
6953  {
6954  &kZonePolicyCanada /*zonePolicy*/,
6955  "A%T" /*format*/,
6956  -960 /*offsetCode (-14400/15)*/,
6957  0 /*offsetRemainder (-14400%15)*/,
6958  0 /*deltaMinutes*/,
6959  32767 /*untilYear*/,
6960  1 /*untilMonth*/,
6961  1 /*untilDay*/,
6962  0 /*untilTimeCode (0/15)*/,
6963  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6964  },
6965 
6966 };
6967 
6968 static const char kZoneNameAmerica_Goose_Bay[] ACE_TIME_PROGMEM = "\x02" "Goose_Bay";
6969 
6970 const complete::ZoneInfo kZoneAmerica_Goose_Bay ACE_TIME_PROGMEM = {
6971  kZoneNameAmerica_Goose_Bay /*name*/,
6972  0xb649541e /*zoneId*/,
6973  &kZoneContext /*zoneContext*/,
6974  10 /*numEras*/,
6975  kZoneEraAmerica_Goose_Bay /*eras*/,
6976  nullptr /*targetInfo*/,
6977 };
6978 
6979 //---------------------------------------------------------------------------
6980 // Zone name: America/Grand_Turk
6981 // Eras: 6
6982 //---------------------------------------------------------------------------
6983 
6984 static const complete::ZoneEra kZoneEraAmerica_Grand_Turk[] ACE_TIME_PROGMEM = {
6985  // -4:44:32 - LMT 1890
6986  {
6987  nullptr /*zonePolicy*/,
6988  "LMT" /*format*/,
6989  -1139 /*offsetCode (-17072/15)*/,
6990  13 /*offsetRemainder (-17072%15)*/,
6991  0 /*deltaMinutes*/,
6992  1890 /*untilYear*/,
6993  1 /*untilMonth*/,
6994  1 /*untilDay*/,
6995  0 /*untilTimeCode (0/15)*/,
6996  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6997  },
6998  // -5:07:10 - KMT 1912 Feb
6999  {
7000  nullptr /*zonePolicy*/,
7001  "KMT" /*format*/,
7002  -1229 /*offsetCode (-18430/15)*/,
7003  5 /*offsetRemainder (-18430%15)*/,
7004  0 /*deltaMinutes*/,
7005  1912 /*untilYear*/,
7006  2 /*untilMonth*/,
7007  1 /*untilDay*/,
7008  0 /*untilTimeCode (0/15)*/,
7009  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7010  },
7011  // -5:00 - EST 1979
7012  {
7013  nullptr /*zonePolicy*/,
7014  "EST" /*format*/,
7015  -1200 /*offsetCode (-18000/15)*/,
7016  0 /*offsetRemainder (-18000%15)*/,
7017  0 /*deltaMinutes*/,
7018  1979 /*untilYear*/,
7019  1 /*untilMonth*/,
7020  1 /*untilDay*/,
7021  0 /*untilTimeCode (0/15)*/,
7022  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7023  },
7024  // -5:00 US E%sT 2015 Mar 8 2:00
7025  {
7026  &kZonePolicyUS /*zonePolicy*/,
7027  "E%T" /*format*/,
7028  -1200 /*offsetCode (-18000/15)*/,
7029  0 /*offsetRemainder (-18000%15)*/,
7030  0 /*deltaMinutes*/,
7031  2015 /*untilYear*/,
7032  3 /*untilMonth*/,
7033  8 /*untilDay*/,
7034  480 /*untilTimeCode (7200/15)*/,
7035  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7036  },
7037  // -4:00 - AST 2018 Mar 11 3:00
7038  {
7039  nullptr /*zonePolicy*/,
7040  "AST" /*format*/,
7041  -960 /*offsetCode (-14400/15)*/,
7042  0 /*offsetRemainder (-14400%15)*/,
7043  0 /*deltaMinutes*/,
7044  2018 /*untilYear*/,
7045  3 /*untilMonth*/,
7046  11 /*untilDay*/,
7047  720 /*untilTimeCode (10800/15)*/,
7048  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7049  },
7050  // -5:00 US E%sT
7051  {
7052  &kZonePolicyUS /*zonePolicy*/,
7053  "E%T" /*format*/,
7054  -1200 /*offsetCode (-18000/15)*/,
7055  0 /*offsetRemainder (-18000%15)*/,
7056  0 /*deltaMinutes*/,
7057  32767 /*untilYear*/,
7058  1 /*untilMonth*/,
7059  1 /*untilDay*/,
7060  0 /*untilTimeCode (0/15)*/,
7061  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7062  },
7063 
7064 };
7065 
7066 static const char kZoneNameAmerica_Grand_Turk[] ACE_TIME_PROGMEM = "\x02" "Grand_Turk";
7067 
7068 const complete::ZoneInfo kZoneAmerica_Grand_Turk ACE_TIME_PROGMEM = {
7069  kZoneNameAmerica_Grand_Turk /*name*/,
7070  0x6e216197 /*zoneId*/,
7071  &kZoneContext /*zoneContext*/,
7072  6 /*numEras*/,
7073  kZoneEraAmerica_Grand_Turk /*eras*/,
7074  nullptr /*targetInfo*/,
7075 };
7076 
7077 //---------------------------------------------------------------------------
7078 // Zone name: America/Guatemala
7079 // Eras: 2
7080 //---------------------------------------------------------------------------
7081 
7082 static const complete::ZoneEra kZoneEraAmerica_Guatemala[] ACE_TIME_PROGMEM = {
7083  // -6:02:04 - LMT 1918 Oct 5
7084  {
7085  nullptr /*zonePolicy*/,
7086  "LMT" /*format*/,
7087  -1449 /*offsetCode (-21724/15)*/,
7088  11 /*offsetRemainder (-21724%15)*/,
7089  0 /*deltaMinutes*/,
7090  1918 /*untilYear*/,
7091  10 /*untilMonth*/,
7092  5 /*untilDay*/,
7093  0 /*untilTimeCode (0/15)*/,
7094  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7095  },
7096  // -6:00 Guat C%sT
7097  {
7098  &kZonePolicyGuat /*zonePolicy*/,
7099  "C%T" /*format*/,
7100  -1440 /*offsetCode (-21600/15)*/,
7101  0 /*offsetRemainder (-21600%15)*/,
7102  0 /*deltaMinutes*/,
7103  32767 /*untilYear*/,
7104  1 /*untilMonth*/,
7105  1 /*untilDay*/,
7106  0 /*untilTimeCode (0/15)*/,
7107  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7108  },
7109 
7110 };
7111 
7112 static const char kZoneNameAmerica_Guatemala[] ACE_TIME_PROGMEM = "\x02" "Guatemala";
7113 
7114 const complete::ZoneInfo kZoneAmerica_Guatemala ACE_TIME_PROGMEM = {
7115  kZoneNameAmerica_Guatemala /*name*/,
7116  0x0c8259f7 /*zoneId*/,
7117  &kZoneContext /*zoneContext*/,
7118  2 /*numEras*/,
7119  kZoneEraAmerica_Guatemala /*eras*/,
7120  nullptr /*targetInfo*/,
7121 };
7122 
7123 //---------------------------------------------------------------------------
7124 // Zone name: America/Guayaquil
7125 // Eras: 3
7126 //---------------------------------------------------------------------------
7127 
7128 static const complete::ZoneEra kZoneEraAmerica_Guayaquil[] ACE_TIME_PROGMEM = {
7129  // -5:19:20 - LMT 1890
7130  {
7131  nullptr /*zonePolicy*/,
7132  "LMT" /*format*/,
7133  -1278 /*offsetCode (-19160/15)*/,
7134  10 /*offsetRemainder (-19160%15)*/,
7135  0 /*deltaMinutes*/,
7136  1890 /*untilYear*/,
7137  1 /*untilMonth*/,
7138  1 /*untilDay*/,
7139  0 /*untilTimeCode (0/15)*/,
7140  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7141  },
7142  // -5:14:00 - QMT 1931
7143  {
7144  nullptr /*zonePolicy*/,
7145  "QMT" /*format*/,
7146  -1256 /*offsetCode (-18840/15)*/,
7147  0 /*offsetRemainder (-18840%15)*/,
7148  0 /*deltaMinutes*/,
7149  1931 /*untilYear*/,
7150  1 /*untilMonth*/,
7151  1 /*untilDay*/,
7152  0 /*untilTimeCode (0/15)*/,
7153  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7154  },
7155  // -5:00 Ecuador -05/-04
7156  {
7157  &kZonePolicyEcuador /*zonePolicy*/,
7158  "-05/-04" /*format*/,
7159  -1200 /*offsetCode (-18000/15)*/,
7160  0 /*offsetRemainder (-18000%15)*/,
7161  0 /*deltaMinutes*/,
7162  32767 /*untilYear*/,
7163  1 /*untilMonth*/,
7164  1 /*untilDay*/,
7165  0 /*untilTimeCode (0/15)*/,
7166  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7167  },
7168 
7169 };
7170 
7171 static const char kZoneNameAmerica_Guayaquil[] ACE_TIME_PROGMEM = "\x02" "Guayaquil";
7172 
7173 const complete::ZoneInfo kZoneAmerica_Guayaquil ACE_TIME_PROGMEM = {
7174  kZoneNameAmerica_Guayaquil /*name*/,
7175  0x17e64958 /*zoneId*/,
7176  &kZoneContext /*zoneContext*/,
7177  3 /*numEras*/,
7178  kZoneEraAmerica_Guayaquil /*eras*/,
7179  nullptr /*targetInfo*/,
7180 };
7181 
7182 //---------------------------------------------------------------------------
7183 // Zone name: America/Guyana
7184 // Eras: 5
7185 //---------------------------------------------------------------------------
7186 
7187 static const complete::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = {
7188  // -3:52:39 - LMT 1911 Aug 1
7189  {
7190  nullptr /*zonePolicy*/,
7191  "LMT" /*format*/,
7192  -931 /*offsetCode (-13959/15)*/,
7193  6 /*offsetRemainder (-13959%15)*/,
7194  0 /*deltaMinutes*/,
7195  1911 /*untilYear*/,
7196  8 /*untilMonth*/,
7197  1 /*untilDay*/,
7198  0 /*untilTimeCode (0/15)*/,
7199  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7200  },
7201  // -4:00 - -04 1915 Mar 1
7202  {
7203  nullptr /*zonePolicy*/,
7204  "-04" /*format*/,
7205  -960 /*offsetCode (-14400/15)*/,
7206  0 /*offsetRemainder (-14400%15)*/,
7207  0 /*deltaMinutes*/,
7208  1915 /*untilYear*/,
7209  3 /*untilMonth*/,
7210  1 /*untilDay*/,
7211  0 /*untilTimeCode (0/15)*/,
7212  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7213  },
7214  // -3:45 - -0345 1975 Aug 1
7215  {
7216  nullptr /*zonePolicy*/,
7217  "-0345" /*format*/,
7218  -900 /*offsetCode (-13500/15)*/,
7219  0 /*offsetRemainder (-13500%15)*/,
7220  0 /*deltaMinutes*/,
7221  1975 /*untilYear*/,
7222  8 /*untilMonth*/,
7223  1 /*untilDay*/,
7224  0 /*untilTimeCode (0/15)*/,
7225  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7226  },
7227  // -3:00 - -03 1992 Mar 29 1:00
7228  {
7229  nullptr /*zonePolicy*/,
7230  "-03" /*format*/,
7231  -720 /*offsetCode (-10800/15)*/,
7232  0 /*offsetRemainder (-10800%15)*/,
7233  0 /*deltaMinutes*/,
7234  1992 /*untilYear*/,
7235  3 /*untilMonth*/,
7236  29 /*untilDay*/,
7237  240 /*untilTimeCode (3600/15)*/,
7238  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7239  },
7240  // -4:00 - -04
7241  {
7242  nullptr /*zonePolicy*/,
7243  "-04" /*format*/,
7244  -960 /*offsetCode (-14400/15)*/,
7245  0 /*offsetRemainder (-14400%15)*/,
7246  0 /*deltaMinutes*/,
7247  32767 /*untilYear*/,
7248  1 /*untilMonth*/,
7249  1 /*untilDay*/,
7250  0 /*untilTimeCode (0/15)*/,
7251  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7252  },
7253 
7254 };
7255 
7256 static const char kZoneNameAmerica_Guyana[] ACE_TIME_PROGMEM = "\x02" "Guyana";
7257 
7258 const complete::ZoneInfo kZoneAmerica_Guyana ACE_TIME_PROGMEM = {
7259  kZoneNameAmerica_Guyana /*name*/,
7260  0x9ff7bd0b /*zoneId*/,
7261  &kZoneContext /*zoneContext*/,
7262  5 /*numEras*/,
7263  kZoneEraAmerica_Guyana /*eras*/,
7264  nullptr /*targetInfo*/,
7265 };
7266 
7267 //---------------------------------------------------------------------------
7268 // Zone name: America/Halifax
7269 // Eras: 7
7270 //---------------------------------------------------------------------------
7271 
7272 static const complete::ZoneEra kZoneEraAmerica_Halifax[] ACE_TIME_PROGMEM = {
7273  // -4:14:24 - LMT 1902 Jun 15
7274  {
7275  nullptr /*zonePolicy*/,
7276  "LMT" /*format*/,
7277  -1018 /*offsetCode (-15264/15)*/,
7278  6 /*offsetRemainder (-15264%15)*/,
7279  0 /*deltaMinutes*/,
7280  1902 /*untilYear*/,
7281  6 /*untilMonth*/,
7282  15 /*untilDay*/,
7283  0 /*untilTimeCode (0/15)*/,
7284  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7285  },
7286  // -4:00 Halifax A%sT 1918
7287  {
7288  &kZonePolicyHalifax /*zonePolicy*/,
7289  "A%T" /*format*/,
7290  -960 /*offsetCode (-14400/15)*/,
7291  0 /*offsetRemainder (-14400%15)*/,
7292  0 /*deltaMinutes*/,
7293  1918 /*untilYear*/,
7294  1 /*untilMonth*/,
7295  1 /*untilDay*/,
7296  0 /*untilTimeCode (0/15)*/,
7297  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7298  },
7299  // -4:00 Canada A%sT 1919
7300  {
7301  &kZonePolicyCanada /*zonePolicy*/,
7302  "A%T" /*format*/,
7303  -960 /*offsetCode (-14400/15)*/,
7304  0 /*offsetRemainder (-14400%15)*/,
7305  0 /*deltaMinutes*/,
7306  1919 /*untilYear*/,
7307  1 /*untilMonth*/,
7308  1 /*untilDay*/,
7309  0 /*untilTimeCode (0/15)*/,
7310  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7311  },
7312  // -4:00 Halifax A%sT 1942 Feb 9 2:00s
7313  {
7314  &kZonePolicyHalifax /*zonePolicy*/,
7315  "A%T" /*format*/,
7316  -960 /*offsetCode (-14400/15)*/,
7317  0 /*offsetRemainder (-14400%15)*/,
7318  0 /*deltaMinutes*/,
7319  1942 /*untilYear*/,
7320  2 /*untilMonth*/,
7321  9 /*untilDay*/,
7322  480 /*untilTimeCode (7200/15)*/,
7323  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
7324  },
7325  // -4:00 Canada A%sT 1946
7326  {
7327  &kZonePolicyCanada /*zonePolicy*/,
7328  "A%T" /*format*/,
7329  -960 /*offsetCode (-14400/15)*/,
7330  0 /*offsetRemainder (-14400%15)*/,
7331  0 /*deltaMinutes*/,
7332  1946 /*untilYear*/,
7333  1 /*untilMonth*/,
7334  1 /*untilDay*/,
7335  0 /*untilTimeCode (0/15)*/,
7336  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7337  },
7338  // -4:00 Halifax A%sT 1974
7339  {
7340  &kZonePolicyHalifax /*zonePolicy*/,
7341  "A%T" /*format*/,
7342  -960 /*offsetCode (-14400/15)*/,
7343  0 /*offsetRemainder (-14400%15)*/,
7344  0 /*deltaMinutes*/,
7345  1974 /*untilYear*/,
7346  1 /*untilMonth*/,
7347  1 /*untilDay*/,
7348  0 /*untilTimeCode (0/15)*/,
7349  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7350  },
7351  // -4:00 Canada A%sT
7352  {
7353  &kZonePolicyCanada /*zonePolicy*/,
7354  "A%T" /*format*/,
7355  -960 /*offsetCode (-14400/15)*/,
7356  0 /*offsetRemainder (-14400%15)*/,
7357  0 /*deltaMinutes*/,
7358  32767 /*untilYear*/,
7359  1 /*untilMonth*/,
7360  1 /*untilDay*/,
7361  0 /*untilTimeCode (0/15)*/,
7362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7363  },
7364 
7365 };
7366 
7367 static const char kZoneNameAmerica_Halifax[] ACE_TIME_PROGMEM = "\x02" "Halifax";
7368 
7369 const complete::ZoneInfo kZoneAmerica_Halifax ACE_TIME_PROGMEM = {
7370  kZoneNameAmerica_Halifax /*name*/,
7371  0xbc5b7183 /*zoneId*/,
7372  &kZoneContext /*zoneContext*/,
7373  7 /*numEras*/,
7374  kZoneEraAmerica_Halifax /*eras*/,
7375  nullptr /*targetInfo*/,
7376 };
7377 
7378 //---------------------------------------------------------------------------
7379 // Zone name: America/Havana
7380 // Eras: 3
7381 //---------------------------------------------------------------------------
7382 
7383 static const complete::ZoneEra kZoneEraAmerica_Havana[] ACE_TIME_PROGMEM = {
7384  // -5:29:28 - LMT 1890
7385  {
7386  nullptr /*zonePolicy*/,
7387  "LMT" /*format*/,
7388  -1318 /*offsetCode (-19768/15)*/,
7389  2 /*offsetRemainder (-19768%15)*/,
7390  0 /*deltaMinutes*/,
7391  1890 /*untilYear*/,
7392  1 /*untilMonth*/,
7393  1 /*untilDay*/,
7394  0 /*untilTimeCode (0/15)*/,
7395  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7396  },
7397  // -5:29:36 - HMT 1925 Jul 19 12:00
7398  {
7399  nullptr /*zonePolicy*/,
7400  "HMT" /*format*/,
7401  -1319 /*offsetCode (-19776/15)*/,
7402  9 /*offsetRemainder (-19776%15)*/,
7403  0 /*deltaMinutes*/,
7404  1925 /*untilYear*/,
7405  7 /*untilMonth*/,
7406  19 /*untilDay*/,
7407  2880 /*untilTimeCode (43200/15)*/,
7408  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7409  },
7410  // -5:00 Cuba C%sT
7411  {
7412  &kZonePolicyCuba /*zonePolicy*/,
7413  "C%T" /*format*/,
7414  -1200 /*offsetCode (-18000/15)*/,
7415  0 /*offsetRemainder (-18000%15)*/,
7416  0 /*deltaMinutes*/,
7417  32767 /*untilYear*/,
7418  1 /*untilMonth*/,
7419  1 /*untilDay*/,
7420  0 /*untilTimeCode (0/15)*/,
7421  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7422  },
7423 
7424 };
7425 
7426 static const char kZoneNameAmerica_Havana[] ACE_TIME_PROGMEM = "\x02" "Havana";
7427 
7428 const complete::ZoneInfo kZoneAmerica_Havana ACE_TIME_PROGMEM = {
7429  kZoneNameAmerica_Havana /*name*/,
7430  0xa0e15675 /*zoneId*/,
7431  &kZoneContext /*zoneContext*/,
7432  3 /*numEras*/,
7433  kZoneEraAmerica_Havana /*eras*/,
7434  nullptr /*targetInfo*/,
7435 };
7436 
7437 //---------------------------------------------------------------------------
7438 // Zone name: America/Hermosillo
7439 // Eras: 9
7440 //---------------------------------------------------------------------------
7441 
7442 static const complete::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = {
7443  // -7:23:52 - LMT 1922 Jan 1 7:00u
7444  {
7445  nullptr /*zonePolicy*/,
7446  "LMT" /*format*/,
7447  -1776 /*offsetCode (-26632/15)*/,
7448  8 /*offsetRemainder (-26632%15)*/,
7449  0 /*deltaMinutes*/,
7450  1922 /*untilYear*/,
7451  1 /*untilMonth*/,
7452  1 /*untilDay*/,
7453  1680 /*untilTimeCode (25200/15)*/,
7454  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7455  },
7456  // -7:00 - MST 1927 Jun 10 23:00
7457  {
7458  nullptr /*zonePolicy*/,
7459  "MST" /*format*/,
7460  -1680 /*offsetCode (-25200/15)*/,
7461  0 /*offsetRemainder (-25200%15)*/,
7462  0 /*deltaMinutes*/,
7463  1927 /*untilYear*/,
7464  6 /*untilMonth*/,
7465  10 /*untilDay*/,
7466  5520 /*untilTimeCode (82800/15)*/,
7467  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7468  },
7469  // -6:00 - CST 1930 Nov 15
7470  {
7471  nullptr /*zonePolicy*/,
7472  "CST" /*format*/,
7473  -1440 /*offsetCode (-21600/15)*/,
7474  0 /*offsetRemainder (-21600%15)*/,
7475  0 /*deltaMinutes*/,
7476  1930 /*untilYear*/,
7477  11 /*untilMonth*/,
7478  15 /*untilDay*/,
7479  0 /*untilTimeCode (0/15)*/,
7480  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7481  },
7482  // -7:00 Mexico M%sT 1932 Apr 1
7483  {
7484  &kZonePolicyMexico /*zonePolicy*/,
7485  "M%T" /*format*/,
7486  -1680 /*offsetCode (-25200/15)*/,
7487  0 /*offsetRemainder (-25200%15)*/,
7488  0 /*deltaMinutes*/,
7489  1932 /*untilYear*/,
7490  4 /*untilMonth*/,
7491  1 /*untilDay*/,
7492  0 /*untilTimeCode (0/15)*/,
7493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7494  },
7495  // -6:00 - CST 1942 Apr 24
7496  {
7497  nullptr /*zonePolicy*/,
7498  "CST" /*format*/,
7499  -1440 /*offsetCode (-21600/15)*/,
7500  0 /*offsetRemainder (-21600%15)*/,
7501  0 /*deltaMinutes*/,
7502  1942 /*untilYear*/,
7503  4 /*untilMonth*/,
7504  24 /*untilDay*/,
7505  0 /*untilTimeCode (0/15)*/,
7506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7507  },
7508  // -7:00 - MST 1949 Jan 14
7509  {
7510  nullptr /*zonePolicy*/,
7511  "MST" /*format*/,
7512  -1680 /*offsetCode (-25200/15)*/,
7513  0 /*offsetRemainder (-25200%15)*/,
7514  0 /*deltaMinutes*/,
7515  1949 /*untilYear*/,
7516  1 /*untilMonth*/,
7517  14 /*untilDay*/,
7518  0 /*untilTimeCode (0/15)*/,
7519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7520  },
7521  // -8:00 - PST 1970
7522  {
7523  nullptr /*zonePolicy*/,
7524  "PST" /*format*/,
7525  -1920 /*offsetCode (-28800/15)*/,
7526  0 /*offsetRemainder (-28800%15)*/,
7527  0 /*deltaMinutes*/,
7528  1970 /*untilYear*/,
7529  1 /*untilMonth*/,
7530  1 /*untilDay*/,
7531  0 /*untilTimeCode (0/15)*/,
7532  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7533  },
7534  // -7:00 Mexico M%sT 1999
7535  {
7536  &kZonePolicyMexico /*zonePolicy*/,
7537  "M%T" /*format*/,
7538  -1680 /*offsetCode (-25200/15)*/,
7539  0 /*offsetRemainder (-25200%15)*/,
7540  0 /*deltaMinutes*/,
7541  1999 /*untilYear*/,
7542  1 /*untilMonth*/,
7543  1 /*untilDay*/,
7544  0 /*untilTimeCode (0/15)*/,
7545  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7546  },
7547  // -7:00 - MST
7548  {
7549  nullptr /*zonePolicy*/,
7550  "MST" /*format*/,
7551  -1680 /*offsetCode (-25200/15)*/,
7552  0 /*offsetRemainder (-25200%15)*/,
7553  0 /*deltaMinutes*/,
7554  32767 /*untilYear*/,
7555  1 /*untilMonth*/,
7556  1 /*untilDay*/,
7557  0 /*untilTimeCode (0/15)*/,
7558  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7559  },
7560 
7561 };
7562 
7563 static const char kZoneNameAmerica_Hermosillo[] ACE_TIME_PROGMEM = "\x02" "Hermosillo";
7564 
7565 const complete::ZoneInfo kZoneAmerica_Hermosillo ACE_TIME_PROGMEM = {
7566  kZoneNameAmerica_Hermosillo /*name*/,
7567  0x065d21c4 /*zoneId*/,
7568  &kZoneContext /*zoneContext*/,
7569  9 /*numEras*/,
7570  kZoneEraAmerica_Hermosillo /*eras*/,
7571  nullptr /*targetInfo*/,
7572 };
7573 
7574 //---------------------------------------------------------------------------
7575 // Zone name: America/Indiana/Indianapolis
7576 // Eras: 11
7577 //---------------------------------------------------------------------------
7578 
7579 static const complete::ZoneEra kZoneEraAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = {
7580  // -5:44:38 - LMT 1883 Nov 18 18:00u
7581  {
7582  nullptr /*zonePolicy*/,
7583  "LMT" /*format*/,
7584  -1379 /*offsetCode (-20678/15)*/,
7585  7 /*offsetRemainder (-20678%15)*/,
7586  0 /*deltaMinutes*/,
7587  1883 /*untilYear*/,
7588  11 /*untilMonth*/,
7589  18 /*untilDay*/,
7590  4320 /*untilTimeCode (64800/15)*/,
7591  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7592  },
7593  // -6:00 US C%sT 1920
7594  {
7595  &kZonePolicyUS /*zonePolicy*/,
7596  "C%T" /*format*/,
7597  -1440 /*offsetCode (-21600/15)*/,
7598  0 /*offsetRemainder (-21600%15)*/,
7599  0 /*deltaMinutes*/,
7600  1920 /*untilYear*/,
7601  1 /*untilMonth*/,
7602  1 /*untilDay*/,
7603  0 /*untilTimeCode (0/15)*/,
7604  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7605  },
7606  // -6:00 Indianapolis C%sT 1942
7607  {
7608  &kZonePolicyIndianapolis /*zonePolicy*/,
7609  "C%T" /*format*/,
7610  -1440 /*offsetCode (-21600/15)*/,
7611  0 /*offsetRemainder (-21600%15)*/,
7612  0 /*deltaMinutes*/,
7613  1942 /*untilYear*/,
7614  1 /*untilMonth*/,
7615  1 /*untilDay*/,
7616  0 /*untilTimeCode (0/15)*/,
7617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7618  },
7619  // -6:00 US C%sT 1946
7620  {
7621  &kZonePolicyUS /*zonePolicy*/,
7622  "C%T" /*format*/,
7623  -1440 /*offsetCode (-21600/15)*/,
7624  0 /*offsetRemainder (-21600%15)*/,
7625  0 /*deltaMinutes*/,
7626  1946 /*untilYear*/,
7627  1 /*untilMonth*/,
7628  1 /*untilDay*/,
7629  0 /*untilTimeCode (0/15)*/,
7630  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7631  },
7632  // -6:00 Indianapolis C%sT 1955 Apr 24 2:00
7633  {
7634  &kZonePolicyIndianapolis /*zonePolicy*/,
7635  "C%T" /*format*/,
7636  -1440 /*offsetCode (-21600/15)*/,
7637  0 /*offsetRemainder (-21600%15)*/,
7638  0 /*deltaMinutes*/,
7639  1955 /*untilYear*/,
7640  4 /*untilMonth*/,
7641  24 /*untilDay*/,
7642  480 /*untilTimeCode (7200/15)*/,
7643  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7644  },
7645  // -5:00 - EST 1957 Sep 29 2:00
7646  {
7647  nullptr /*zonePolicy*/,
7648  "EST" /*format*/,
7649  -1200 /*offsetCode (-18000/15)*/,
7650  0 /*offsetRemainder (-18000%15)*/,
7651  0 /*deltaMinutes*/,
7652  1957 /*untilYear*/,
7653  9 /*untilMonth*/,
7654  29 /*untilDay*/,
7655  480 /*untilTimeCode (7200/15)*/,
7656  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7657  },
7658  // -6:00 - CST 1958 Apr 27 2:00
7659  {
7660  nullptr /*zonePolicy*/,
7661  "CST" /*format*/,
7662  -1440 /*offsetCode (-21600/15)*/,
7663  0 /*offsetRemainder (-21600%15)*/,
7664  0 /*deltaMinutes*/,
7665  1958 /*untilYear*/,
7666  4 /*untilMonth*/,
7667  27 /*untilDay*/,
7668  480 /*untilTimeCode (7200/15)*/,
7669  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7670  },
7671  // -5:00 - EST 1969
7672  {
7673  nullptr /*zonePolicy*/,
7674  "EST" /*format*/,
7675  -1200 /*offsetCode (-18000/15)*/,
7676  0 /*offsetRemainder (-18000%15)*/,
7677  0 /*deltaMinutes*/,
7678  1969 /*untilYear*/,
7679  1 /*untilMonth*/,
7680  1 /*untilDay*/,
7681  0 /*untilTimeCode (0/15)*/,
7682  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7683  },
7684  // -5:00 US E%sT 1971
7685  {
7686  &kZonePolicyUS /*zonePolicy*/,
7687  "E%T" /*format*/,
7688  -1200 /*offsetCode (-18000/15)*/,
7689  0 /*offsetRemainder (-18000%15)*/,
7690  0 /*deltaMinutes*/,
7691  1971 /*untilYear*/,
7692  1 /*untilMonth*/,
7693  1 /*untilDay*/,
7694  0 /*untilTimeCode (0/15)*/,
7695  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7696  },
7697  // -5:00 - EST 2006
7698  {
7699  nullptr /*zonePolicy*/,
7700  "EST" /*format*/,
7701  -1200 /*offsetCode (-18000/15)*/,
7702  0 /*offsetRemainder (-18000%15)*/,
7703  0 /*deltaMinutes*/,
7704  2006 /*untilYear*/,
7705  1 /*untilMonth*/,
7706  1 /*untilDay*/,
7707  0 /*untilTimeCode (0/15)*/,
7708  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7709  },
7710  // -5:00 US E%sT
7711  {
7712  &kZonePolicyUS /*zonePolicy*/,
7713  "E%T" /*format*/,
7714  -1200 /*offsetCode (-18000/15)*/,
7715  0 /*offsetRemainder (-18000%15)*/,
7716  0 /*deltaMinutes*/,
7717  32767 /*untilYear*/,
7718  1 /*untilMonth*/,
7719  1 /*untilDay*/,
7720  0 /*untilTimeCode (0/15)*/,
7721  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7722  },
7723 
7724 };
7725 
7726 static const char kZoneNameAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Indianapolis";
7727 
7728 const complete::ZoneInfo kZoneAmerica_Indiana_Indianapolis ACE_TIME_PROGMEM = {
7729  kZoneNameAmerica_Indiana_Indianapolis /*name*/,
7730  0x28a669a4 /*zoneId*/,
7731  &kZoneContext /*zoneContext*/,
7732  11 /*numEras*/,
7733  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
7734  nullptr /*targetInfo*/,
7735 };
7736 
7737 //---------------------------------------------------------------------------
7738 // Zone name: America/Indiana/Knox
7739 // Eras: 7
7740 //---------------------------------------------------------------------------
7741 
7742 static const complete::ZoneEra kZoneEraAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = {
7743  // -5:46:30 - LMT 1883 Nov 18 18:00u
7744  {
7745  nullptr /*zonePolicy*/,
7746  "LMT" /*format*/,
7747  -1386 /*offsetCode (-20790/15)*/,
7748  0 /*offsetRemainder (-20790%15)*/,
7749  0 /*deltaMinutes*/,
7750  1883 /*untilYear*/,
7751  11 /*untilMonth*/,
7752  18 /*untilDay*/,
7753  4320 /*untilTimeCode (64800/15)*/,
7754  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7755  },
7756  // -6:00 US C%sT 1947
7757  {
7758  &kZonePolicyUS /*zonePolicy*/,
7759  "C%T" /*format*/,
7760  -1440 /*offsetCode (-21600/15)*/,
7761  0 /*offsetRemainder (-21600%15)*/,
7762  0 /*deltaMinutes*/,
7763  1947 /*untilYear*/,
7764  1 /*untilMonth*/,
7765  1 /*untilDay*/,
7766  0 /*untilTimeCode (0/15)*/,
7767  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7768  },
7769  // -6:00 Starke C%sT 1962 Apr 29 2:00
7770  {
7771  &kZonePolicyStarke /*zonePolicy*/,
7772  "C%T" /*format*/,
7773  -1440 /*offsetCode (-21600/15)*/,
7774  0 /*offsetRemainder (-21600%15)*/,
7775  0 /*deltaMinutes*/,
7776  1962 /*untilYear*/,
7777  4 /*untilMonth*/,
7778  29 /*untilDay*/,
7779  480 /*untilTimeCode (7200/15)*/,
7780  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7781  },
7782  // -5:00 - EST 1963 Oct 27 2:00
7783  {
7784  nullptr /*zonePolicy*/,
7785  "EST" /*format*/,
7786  -1200 /*offsetCode (-18000/15)*/,
7787  0 /*offsetRemainder (-18000%15)*/,
7788  0 /*deltaMinutes*/,
7789  1963 /*untilYear*/,
7790  10 /*untilMonth*/,
7791  27 /*untilDay*/,
7792  480 /*untilTimeCode (7200/15)*/,
7793  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7794  },
7795  // -6:00 US C%sT 1991 Oct 27 2:00
7796  {
7797  &kZonePolicyUS /*zonePolicy*/,
7798  "C%T" /*format*/,
7799  -1440 /*offsetCode (-21600/15)*/,
7800  0 /*offsetRemainder (-21600%15)*/,
7801  0 /*deltaMinutes*/,
7802  1991 /*untilYear*/,
7803  10 /*untilMonth*/,
7804  27 /*untilDay*/,
7805  480 /*untilTimeCode (7200/15)*/,
7806  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7807  },
7808  // -5:00 - EST 2006 Apr 2 2:00
7809  {
7810  nullptr /*zonePolicy*/,
7811  "EST" /*format*/,
7812  -1200 /*offsetCode (-18000/15)*/,
7813  0 /*offsetRemainder (-18000%15)*/,
7814  0 /*deltaMinutes*/,
7815  2006 /*untilYear*/,
7816  4 /*untilMonth*/,
7817  2 /*untilDay*/,
7818  480 /*untilTimeCode (7200/15)*/,
7819  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7820  },
7821  // -6:00 US C%sT
7822  {
7823  &kZonePolicyUS /*zonePolicy*/,
7824  "C%T" /*format*/,
7825  -1440 /*offsetCode (-21600/15)*/,
7826  0 /*offsetRemainder (-21600%15)*/,
7827  0 /*deltaMinutes*/,
7828  32767 /*untilYear*/,
7829  1 /*untilMonth*/,
7830  1 /*untilDay*/,
7831  0 /*untilTimeCode (0/15)*/,
7832  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7833  },
7834 
7835 };
7836 
7837 static const char kZoneNameAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Knox";
7838 
7839 const complete::ZoneInfo kZoneAmerica_Indiana_Knox ACE_TIME_PROGMEM = {
7840  kZoneNameAmerica_Indiana_Knox /*name*/,
7841  0x6554adc9 /*zoneId*/,
7842  &kZoneContext /*zoneContext*/,
7843  7 /*numEras*/,
7844  kZoneEraAmerica_Indiana_Knox /*eras*/,
7845  nullptr /*targetInfo*/,
7846 };
7847 
7848 //---------------------------------------------------------------------------
7849 // Zone name: America/Indiana/Marengo
7850 // Eras: 9
7851 //---------------------------------------------------------------------------
7852 
7853 static const complete::ZoneEra kZoneEraAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = {
7854  // -5:45:23 - LMT 1883 Nov 18 18:00u
7855  {
7856  nullptr /*zonePolicy*/,
7857  "LMT" /*format*/,
7858  -1382 /*offsetCode (-20723/15)*/,
7859  7 /*offsetRemainder (-20723%15)*/,
7860  0 /*deltaMinutes*/,
7861  1883 /*untilYear*/,
7862  11 /*untilMonth*/,
7863  18 /*untilDay*/,
7864  4320 /*untilTimeCode (64800/15)*/,
7865  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7866  },
7867  // -6:00 US C%sT 1951
7868  {
7869  &kZonePolicyUS /*zonePolicy*/,
7870  "C%T" /*format*/,
7871  -1440 /*offsetCode (-21600/15)*/,
7872  0 /*offsetRemainder (-21600%15)*/,
7873  0 /*deltaMinutes*/,
7874  1951 /*untilYear*/,
7875  1 /*untilMonth*/,
7876  1 /*untilDay*/,
7877  0 /*untilTimeCode (0/15)*/,
7878  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7879  },
7880  // -6:00 Marengo C%sT 1961 Apr 30 2:00
7881  {
7882  &kZonePolicyMarengo /*zonePolicy*/,
7883  "C%T" /*format*/,
7884  -1440 /*offsetCode (-21600/15)*/,
7885  0 /*offsetRemainder (-21600%15)*/,
7886  0 /*deltaMinutes*/,
7887  1961 /*untilYear*/,
7888  4 /*untilMonth*/,
7889  30 /*untilDay*/,
7890  480 /*untilTimeCode (7200/15)*/,
7891  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7892  },
7893  // -5:00 - EST 1969
7894  {
7895  nullptr /*zonePolicy*/,
7896  "EST" /*format*/,
7897  -1200 /*offsetCode (-18000/15)*/,
7898  0 /*offsetRemainder (-18000%15)*/,
7899  0 /*deltaMinutes*/,
7900  1969 /*untilYear*/,
7901  1 /*untilMonth*/,
7902  1 /*untilDay*/,
7903  0 /*untilTimeCode (0/15)*/,
7904  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7905  },
7906  // -5:00 US E%sT 1974 Jan 6 2:00
7907  {
7908  &kZonePolicyUS /*zonePolicy*/,
7909  "E%T" /*format*/,
7910  -1200 /*offsetCode (-18000/15)*/,
7911  0 /*offsetRemainder (-18000%15)*/,
7912  0 /*deltaMinutes*/,
7913  1974 /*untilYear*/,
7914  1 /*untilMonth*/,
7915  6 /*untilDay*/,
7916  480 /*untilTimeCode (7200/15)*/,
7917  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7918  },
7919  // -6:00 1:00 CDT 1974 Oct 27 2:00
7920  {
7921  nullptr /*zonePolicy*/,
7922  "CDT" /*format*/,
7923  -1440 /*offsetCode (-21600/15)*/,
7924  0 /*offsetRemainder (-21600%15)*/,
7925  60 /*deltaMinutes*/,
7926  1974 /*untilYear*/,
7927  10 /*untilMonth*/,
7928  27 /*untilDay*/,
7929  480 /*untilTimeCode (7200/15)*/,
7930  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7931  },
7932  // -5:00 US E%sT 1976
7933  {
7934  &kZonePolicyUS /*zonePolicy*/,
7935  "E%T" /*format*/,
7936  -1200 /*offsetCode (-18000/15)*/,
7937  0 /*offsetRemainder (-18000%15)*/,
7938  0 /*deltaMinutes*/,
7939  1976 /*untilYear*/,
7940  1 /*untilMonth*/,
7941  1 /*untilDay*/,
7942  0 /*untilTimeCode (0/15)*/,
7943  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7944  },
7945  // -5:00 - EST 2006
7946  {
7947  nullptr /*zonePolicy*/,
7948  "EST" /*format*/,
7949  -1200 /*offsetCode (-18000/15)*/,
7950  0 /*offsetRemainder (-18000%15)*/,
7951  0 /*deltaMinutes*/,
7952  2006 /*untilYear*/,
7953  1 /*untilMonth*/,
7954  1 /*untilDay*/,
7955  0 /*untilTimeCode (0/15)*/,
7956  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7957  },
7958  // -5:00 US E%sT
7959  {
7960  &kZonePolicyUS /*zonePolicy*/,
7961  "E%T" /*format*/,
7962  -1200 /*offsetCode (-18000/15)*/,
7963  0 /*offsetRemainder (-18000%15)*/,
7964  0 /*deltaMinutes*/,
7965  32767 /*untilYear*/,
7966  1 /*untilMonth*/,
7967  1 /*untilDay*/,
7968  0 /*untilTimeCode (0/15)*/,
7969  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7970  },
7971 
7972 };
7973 
7974 static const char kZoneNameAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Marengo";
7975 
7976 const complete::ZoneInfo kZoneAmerica_Indiana_Marengo ACE_TIME_PROGMEM = {
7977  kZoneNameAmerica_Indiana_Marengo /*name*/,
7978  0x2feeee72 /*zoneId*/,
7979  &kZoneContext /*zoneContext*/,
7980  9 /*numEras*/,
7981  kZoneEraAmerica_Indiana_Marengo /*eras*/,
7982  nullptr /*targetInfo*/,
7983 };
7984 
7985 //---------------------------------------------------------------------------
7986 // Zone name: America/Indiana/Petersburg
7987 // Eras: 8
7988 //---------------------------------------------------------------------------
7989 
7990 static const complete::ZoneEra kZoneEraAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = {
7991  // -5:49:07 - LMT 1883 Nov 18 18:00u
7992  {
7993  nullptr /*zonePolicy*/,
7994  "LMT" /*format*/,
7995  -1397 /*offsetCode (-20947/15)*/,
7996  8 /*offsetRemainder (-20947%15)*/,
7997  0 /*deltaMinutes*/,
7998  1883 /*untilYear*/,
7999  11 /*untilMonth*/,
8000  18 /*untilDay*/,
8001  4320 /*untilTimeCode (64800/15)*/,
8002  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8003  },
8004  // -6:00 US C%sT 1955
8005  {
8006  &kZonePolicyUS /*zonePolicy*/,
8007  "C%T" /*format*/,
8008  -1440 /*offsetCode (-21600/15)*/,
8009  0 /*offsetRemainder (-21600%15)*/,
8010  0 /*deltaMinutes*/,
8011  1955 /*untilYear*/,
8012  1 /*untilMonth*/,
8013  1 /*untilDay*/,
8014  0 /*untilTimeCode (0/15)*/,
8015  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8016  },
8017  // -6:00 Pike C%sT 1965 Apr 25 2:00
8018  {
8019  &kZonePolicyPike /*zonePolicy*/,
8020  "C%T" /*format*/,
8021  -1440 /*offsetCode (-21600/15)*/,
8022  0 /*offsetRemainder (-21600%15)*/,
8023  0 /*deltaMinutes*/,
8024  1965 /*untilYear*/,
8025  4 /*untilMonth*/,
8026  25 /*untilDay*/,
8027  480 /*untilTimeCode (7200/15)*/,
8028  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8029  },
8030  // -5:00 - EST 1966 Oct 30 2:00
8031  {
8032  nullptr /*zonePolicy*/,
8033  "EST" /*format*/,
8034  -1200 /*offsetCode (-18000/15)*/,
8035  0 /*offsetRemainder (-18000%15)*/,
8036  0 /*deltaMinutes*/,
8037  1966 /*untilYear*/,
8038  10 /*untilMonth*/,
8039  30 /*untilDay*/,
8040  480 /*untilTimeCode (7200/15)*/,
8041  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8042  },
8043  // -6:00 US C%sT 1977 Oct 30 2:00
8044  {
8045  &kZonePolicyUS /*zonePolicy*/,
8046  "C%T" /*format*/,
8047  -1440 /*offsetCode (-21600/15)*/,
8048  0 /*offsetRemainder (-21600%15)*/,
8049  0 /*deltaMinutes*/,
8050  1977 /*untilYear*/,
8051  10 /*untilMonth*/,
8052  30 /*untilDay*/,
8053  480 /*untilTimeCode (7200/15)*/,
8054  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8055  },
8056  // -5:00 - EST 2006 Apr 2 2:00
8057  {
8058  nullptr /*zonePolicy*/,
8059  "EST" /*format*/,
8060  -1200 /*offsetCode (-18000/15)*/,
8061  0 /*offsetRemainder (-18000%15)*/,
8062  0 /*deltaMinutes*/,
8063  2006 /*untilYear*/,
8064  4 /*untilMonth*/,
8065  2 /*untilDay*/,
8066  480 /*untilTimeCode (7200/15)*/,
8067  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8068  },
8069  // -6:00 US C%sT 2007 Nov 4 2:00
8070  {
8071  &kZonePolicyUS /*zonePolicy*/,
8072  "C%T" /*format*/,
8073  -1440 /*offsetCode (-21600/15)*/,
8074  0 /*offsetRemainder (-21600%15)*/,
8075  0 /*deltaMinutes*/,
8076  2007 /*untilYear*/,
8077  11 /*untilMonth*/,
8078  4 /*untilDay*/,
8079  480 /*untilTimeCode (7200/15)*/,
8080  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8081  },
8082  // -5:00 US E%sT
8083  {
8084  &kZonePolicyUS /*zonePolicy*/,
8085  "E%T" /*format*/,
8086  -1200 /*offsetCode (-18000/15)*/,
8087  0 /*offsetRemainder (-18000%15)*/,
8088  0 /*deltaMinutes*/,
8089  32767 /*untilYear*/,
8090  1 /*untilMonth*/,
8091  1 /*untilDay*/,
8092  0 /*untilTimeCode (0/15)*/,
8093  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8094  },
8095 
8096 };
8097 
8098 static const char kZoneNameAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Petersburg";
8099 
8100 const complete::ZoneInfo kZoneAmerica_Indiana_Petersburg ACE_TIME_PROGMEM = {
8101  kZoneNameAmerica_Indiana_Petersburg /*name*/,
8102  0x94ac7acc /*zoneId*/,
8103  &kZoneContext /*zoneContext*/,
8104  8 /*numEras*/,
8105  kZoneEraAmerica_Indiana_Petersburg /*eras*/,
8106  nullptr /*targetInfo*/,
8107 };
8108 
8109 //---------------------------------------------------------------------------
8110 // Zone name: America/Indiana/Tell_City
8111 // Eras: 8
8112 //---------------------------------------------------------------------------
8113 
8114 static const complete::ZoneEra kZoneEraAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = {
8115  // -5:47:03 - LMT 1883 Nov 18 18:00u
8116  {
8117  nullptr /*zonePolicy*/,
8118  "LMT" /*format*/,
8119  -1389 /*offsetCode (-20823/15)*/,
8120  12 /*offsetRemainder (-20823%15)*/,
8121  0 /*deltaMinutes*/,
8122  1883 /*untilYear*/,
8123  11 /*untilMonth*/,
8124  18 /*untilDay*/,
8125  4320 /*untilTimeCode (64800/15)*/,
8126  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8127  },
8128  // -6:00 US C%sT 1946
8129  {
8130  &kZonePolicyUS /*zonePolicy*/,
8131  "C%T" /*format*/,
8132  -1440 /*offsetCode (-21600/15)*/,
8133  0 /*offsetRemainder (-21600%15)*/,
8134  0 /*deltaMinutes*/,
8135  1946 /*untilYear*/,
8136  1 /*untilMonth*/,
8137  1 /*untilDay*/,
8138  0 /*untilTimeCode (0/15)*/,
8139  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8140  },
8141  // -6:00 Perry C%sT 1964 Apr 26 2:00
8142  {
8143  &kZonePolicyPerry /*zonePolicy*/,
8144  "C%T" /*format*/,
8145  -1440 /*offsetCode (-21600/15)*/,
8146  0 /*offsetRemainder (-21600%15)*/,
8147  0 /*deltaMinutes*/,
8148  1964 /*untilYear*/,
8149  4 /*untilMonth*/,
8150  26 /*untilDay*/,
8151  480 /*untilTimeCode (7200/15)*/,
8152  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8153  },
8154  // -5:00 - EST 1967 Oct 29 2:00
8155  {
8156  nullptr /*zonePolicy*/,
8157  "EST" /*format*/,
8158  -1200 /*offsetCode (-18000/15)*/,
8159  0 /*offsetRemainder (-18000%15)*/,
8160  0 /*deltaMinutes*/,
8161  1967 /*untilYear*/,
8162  10 /*untilMonth*/,
8163  29 /*untilDay*/,
8164  480 /*untilTimeCode (7200/15)*/,
8165  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8166  },
8167  // -6:00 US C%sT 1969 Apr 27 2:00
8168  {
8169  &kZonePolicyUS /*zonePolicy*/,
8170  "C%T" /*format*/,
8171  -1440 /*offsetCode (-21600/15)*/,
8172  0 /*offsetRemainder (-21600%15)*/,
8173  0 /*deltaMinutes*/,
8174  1969 /*untilYear*/,
8175  4 /*untilMonth*/,
8176  27 /*untilDay*/,
8177  480 /*untilTimeCode (7200/15)*/,
8178  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8179  },
8180  // -5:00 US E%sT 1971
8181  {
8182  &kZonePolicyUS /*zonePolicy*/,
8183  "E%T" /*format*/,
8184  -1200 /*offsetCode (-18000/15)*/,
8185  0 /*offsetRemainder (-18000%15)*/,
8186  0 /*deltaMinutes*/,
8187  1971 /*untilYear*/,
8188  1 /*untilMonth*/,
8189  1 /*untilDay*/,
8190  0 /*untilTimeCode (0/15)*/,
8191  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8192  },
8193  // -5:00 - EST 2006 Apr 2 2:00
8194  {
8195  nullptr /*zonePolicy*/,
8196  "EST" /*format*/,
8197  -1200 /*offsetCode (-18000/15)*/,
8198  0 /*offsetRemainder (-18000%15)*/,
8199  0 /*deltaMinutes*/,
8200  2006 /*untilYear*/,
8201  4 /*untilMonth*/,
8202  2 /*untilDay*/,
8203  480 /*untilTimeCode (7200/15)*/,
8204  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8205  },
8206  // -6:00 US C%sT
8207  {
8208  &kZonePolicyUS /*zonePolicy*/,
8209  "C%T" /*format*/,
8210  -1440 /*offsetCode (-21600/15)*/,
8211  0 /*offsetRemainder (-21600%15)*/,
8212  0 /*deltaMinutes*/,
8213  32767 /*untilYear*/,
8214  1 /*untilMonth*/,
8215  1 /*untilDay*/,
8216  0 /*untilTimeCode (0/15)*/,
8217  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8218  },
8219 
8220 };
8221 
8222 static const char kZoneNameAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Tell_City";
8223 
8224 const complete::ZoneInfo kZoneAmerica_Indiana_Tell_City ACE_TIME_PROGMEM = {
8225  kZoneNameAmerica_Indiana_Tell_City /*name*/,
8226  0x09263612 /*zoneId*/,
8227  &kZoneContext /*zoneContext*/,
8228  8 /*numEras*/,
8229  kZoneEraAmerica_Indiana_Tell_City /*eras*/,
8230  nullptr /*targetInfo*/,
8231 };
8232 
8233 //---------------------------------------------------------------------------
8234 // Zone name: America/Indiana/Vevay
8235 // Eras: 6
8236 //---------------------------------------------------------------------------
8237 
8238 static const complete::ZoneEra kZoneEraAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = {
8239  // -5:40:16 - LMT 1883 Nov 18 18:00u
8240  {
8241  nullptr /*zonePolicy*/,
8242  "LMT" /*format*/,
8243  -1362 /*offsetCode (-20416/15)*/,
8244  14 /*offsetRemainder (-20416%15)*/,
8245  0 /*deltaMinutes*/,
8246  1883 /*untilYear*/,
8247  11 /*untilMonth*/,
8248  18 /*untilDay*/,
8249  4320 /*untilTimeCode (64800/15)*/,
8250  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8251  },
8252  // -6:00 US C%sT 1954 Apr 25 2:00
8253  {
8254  &kZonePolicyUS /*zonePolicy*/,
8255  "C%T" /*format*/,
8256  -1440 /*offsetCode (-21600/15)*/,
8257  0 /*offsetRemainder (-21600%15)*/,
8258  0 /*deltaMinutes*/,
8259  1954 /*untilYear*/,
8260  4 /*untilMonth*/,
8261  25 /*untilDay*/,
8262  480 /*untilTimeCode (7200/15)*/,
8263  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8264  },
8265  // -5:00 - EST 1969
8266  {
8267  nullptr /*zonePolicy*/,
8268  "EST" /*format*/,
8269  -1200 /*offsetCode (-18000/15)*/,
8270  0 /*offsetRemainder (-18000%15)*/,
8271  0 /*deltaMinutes*/,
8272  1969 /*untilYear*/,
8273  1 /*untilMonth*/,
8274  1 /*untilDay*/,
8275  0 /*untilTimeCode (0/15)*/,
8276  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8277  },
8278  // -5:00 US E%sT 1973
8279  {
8280  &kZonePolicyUS /*zonePolicy*/,
8281  "E%T" /*format*/,
8282  -1200 /*offsetCode (-18000/15)*/,
8283  0 /*offsetRemainder (-18000%15)*/,
8284  0 /*deltaMinutes*/,
8285  1973 /*untilYear*/,
8286  1 /*untilMonth*/,
8287  1 /*untilDay*/,
8288  0 /*untilTimeCode (0/15)*/,
8289  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8290  },
8291  // -5:00 - EST 2006
8292  {
8293  nullptr /*zonePolicy*/,
8294  "EST" /*format*/,
8295  -1200 /*offsetCode (-18000/15)*/,
8296  0 /*offsetRemainder (-18000%15)*/,
8297  0 /*deltaMinutes*/,
8298  2006 /*untilYear*/,
8299  1 /*untilMonth*/,
8300  1 /*untilDay*/,
8301  0 /*untilTimeCode (0/15)*/,
8302  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8303  },
8304  // -5:00 US E%sT
8305  {
8306  &kZonePolicyUS /*zonePolicy*/,
8307  "E%T" /*format*/,
8308  -1200 /*offsetCode (-18000/15)*/,
8309  0 /*offsetRemainder (-18000%15)*/,
8310  0 /*deltaMinutes*/,
8311  32767 /*untilYear*/,
8312  1 /*untilMonth*/,
8313  1 /*untilDay*/,
8314  0 /*untilTimeCode (0/15)*/,
8315  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8316  },
8317 
8318 };
8319 
8320 static const char kZoneNameAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Vevay";
8321 
8322 const complete::ZoneInfo kZoneAmerica_Indiana_Vevay ACE_TIME_PROGMEM = {
8323  kZoneNameAmerica_Indiana_Vevay /*name*/,
8324  0x10aca054 /*zoneId*/,
8325  &kZoneContext /*zoneContext*/,
8326  6 /*numEras*/,
8327  kZoneEraAmerica_Indiana_Vevay /*eras*/,
8328  nullptr /*targetInfo*/,
8329 };
8330 
8331 //---------------------------------------------------------------------------
8332 // Zone name: America/Indiana/Vincennes
8333 // Eras: 8
8334 //---------------------------------------------------------------------------
8335 
8336 static const complete::ZoneEra kZoneEraAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = {
8337  // -5:50:07 - LMT 1883 Nov 18 18:00u
8338  {
8339  nullptr /*zonePolicy*/,
8340  "LMT" /*format*/,
8341  -1401 /*offsetCode (-21007/15)*/,
8342  8 /*offsetRemainder (-21007%15)*/,
8343  0 /*deltaMinutes*/,
8344  1883 /*untilYear*/,
8345  11 /*untilMonth*/,
8346  18 /*untilDay*/,
8347  4320 /*untilTimeCode (64800/15)*/,
8348  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8349  },
8350  // -6:00 US C%sT 1946
8351  {
8352  &kZonePolicyUS /*zonePolicy*/,
8353  "C%T" /*format*/,
8354  -1440 /*offsetCode (-21600/15)*/,
8355  0 /*offsetRemainder (-21600%15)*/,
8356  0 /*deltaMinutes*/,
8357  1946 /*untilYear*/,
8358  1 /*untilMonth*/,
8359  1 /*untilDay*/,
8360  0 /*untilTimeCode (0/15)*/,
8361  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8362  },
8363  // -6:00 Vincennes C%sT 1964 Apr 26 2:00
8364  {
8365  &kZonePolicyVincennes /*zonePolicy*/,
8366  "C%T" /*format*/,
8367  -1440 /*offsetCode (-21600/15)*/,
8368  0 /*offsetRemainder (-21600%15)*/,
8369  0 /*deltaMinutes*/,
8370  1964 /*untilYear*/,
8371  4 /*untilMonth*/,
8372  26 /*untilDay*/,
8373  480 /*untilTimeCode (7200/15)*/,
8374  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8375  },
8376  // -5:00 - EST 1969
8377  {
8378  nullptr /*zonePolicy*/,
8379  "EST" /*format*/,
8380  -1200 /*offsetCode (-18000/15)*/,
8381  0 /*offsetRemainder (-18000%15)*/,
8382  0 /*deltaMinutes*/,
8383  1969 /*untilYear*/,
8384  1 /*untilMonth*/,
8385  1 /*untilDay*/,
8386  0 /*untilTimeCode (0/15)*/,
8387  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8388  },
8389  // -5:00 US E%sT 1971
8390  {
8391  &kZonePolicyUS /*zonePolicy*/,
8392  "E%T" /*format*/,
8393  -1200 /*offsetCode (-18000/15)*/,
8394  0 /*offsetRemainder (-18000%15)*/,
8395  0 /*deltaMinutes*/,
8396  1971 /*untilYear*/,
8397  1 /*untilMonth*/,
8398  1 /*untilDay*/,
8399  0 /*untilTimeCode (0/15)*/,
8400  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8401  },
8402  // -5:00 - EST 2006 Apr 2 2:00
8403  {
8404  nullptr /*zonePolicy*/,
8405  "EST" /*format*/,
8406  -1200 /*offsetCode (-18000/15)*/,
8407  0 /*offsetRemainder (-18000%15)*/,
8408  0 /*deltaMinutes*/,
8409  2006 /*untilYear*/,
8410  4 /*untilMonth*/,
8411  2 /*untilDay*/,
8412  480 /*untilTimeCode (7200/15)*/,
8413  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8414  },
8415  // -6:00 US C%sT 2007 Nov 4 2:00
8416  {
8417  &kZonePolicyUS /*zonePolicy*/,
8418  "C%T" /*format*/,
8419  -1440 /*offsetCode (-21600/15)*/,
8420  0 /*offsetRemainder (-21600%15)*/,
8421  0 /*deltaMinutes*/,
8422  2007 /*untilYear*/,
8423  11 /*untilMonth*/,
8424  4 /*untilDay*/,
8425  480 /*untilTimeCode (7200/15)*/,
8426  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8427  },
8428  // -5:00 US E%sT
8429  {
8430  &kZonePolicyUS /*zonePolicy*/,
8431  "E%T" /*format*/,
8432  -1200 /*offsetCode (-18000/15)*/,
8433  0 /*offsetRemainder (-18000%15)*/,
8434  0 /*deltaMinutes*/,
8435  32767 /*untilYear*/,
8436  1 /*untilMonth*/,
8437  1 /*untilDay*/,
8438  0 /*untilTimeCode (0/15)*/,
8439  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8440  },
8441 
8442 };
8443 
8444 static const char kZoneNameAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Vincennes";
8445 
8446 const complete::ZoneInfo kZoneAmerica_Indiana_Vincennes ACE_TIME_PROGMEM = {
8447  kZoneNameAmerica_Indiana_Vincennes /*name*/,
8448  0x28a0b212 /*zoneId*/,
8449  &kZoneContext /*zoneContext*/,
8450  8 /*numEras*/,
8451  kZoneEraAmerica_Indiana_Vincennes /*eras*/,
8452  nullptr /*targetInfo*/,
8453 };
8454 
8455 //---------------------------------------------------------------------------
8456 // Zone name: America/Indiana/Winamac
8457 // Eras: 8
8458 //---------------------------------------------------------------------------
8459 
8460 static const complete::ZoneEra kZoneEraAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = {
8461  // -5:46:25 - LMT 1883 Nov 18 18:00u
8462  {
8463  nullptr /*zonePolicy*/,
8464  "LMT" /*format*/,
8465  -1386 /*offsetCode (-20785/15)*/,
8466  5 /*offsetRemainder (-20785%15)*/,
8467  0 /*deltaMinutes*/,
8468  1883 /*untilYear*/,
8469  11 /*untilMonth*/,
8470  18 /*untilDay*/,
8471  4320 /*untilTimeCode (64800/15)*/,
8472  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8473  },
8474  // -6:00 US C%sT 1946
8475  {
8476  &kZonePolicyUS /*zonePolicy*/,
8477  "C%T" /*format*/,
8478  -1440 /*offsetCode (-21600/15)*/,
8479  0 /*offsetRemainder (-21600%15)*/,
8480  0 /*deltaMinutes*/,
8481  1946 /*untilYear*/,
8482  1 /*untilMonth*/,
8483  1 /*untilDay*/,
8484  0 /*untilTimeCode (0/15)*/,
8485  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8486  },
8487  // -6:00 Pulaski C%sT 1961 Apr 30 2:00
8488  {
8489  &kZonePolicyPulaski /*zonePolicy*/,
8490  "C%T" /*format*/,
8491  -1440 /*offsetCode (-21600/15)*/,
8492  0 /*offsetRemainder (-21600%15)*/,
8493  0 /*deltaMinutes*/,
8494  1961 /*untilYear*/,
8495  4 /*untilMonth*/,
8496  30 /*untilDay*/,
8497  480 /*untilTimeCode (7200/15)*/,
8498  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8499  },
8500  // -5:00 - EST 1969
8501  {
8502  nullptr /*zonePolicy*/,
8503  "EST" /*format*/,
8504  -1200 /*offsetCode (-18000/15)*/,
8505  0 /*offsetRemainder (-18000%15)*/,
8506  0 /*deltaMinutes*/,
8507  1969 /*untilYear*/,
8508  1 /*untilMonth*/,
8509  1 /*untilDay*/,
8510  0 /*untilTimeCode (0/15)*/,
8511  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8512  },
8513  // -5:00 US E%sT 1971
8514  {
8515  &kZonePolicyUS /*zonePolicy*/,
8516  "E%T" /*format*/,
8517  -1200 /*offsetCode (-18000/15)*/,
8518  0 /*offsetRemainder (-18000%15)*/,
8519  0 /*deltaMinutes*/,
8520  1971 /*untilYear*/,
8521  1 /*untilMonth*/,
8522  1 /*untilDay*/,
8523  0 /*untilTimeCode (0/15)*/,
8524  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8525  },
8526  // -5:00 - EST 2006 Apr 2 2:00
8527  {
8528  nullptr /*zonePolicy*/,
8529  "EST" /*format*/,
8530  -1200 /*offsetCode (-18000/15)*/,
8531  0 /*offsetRemainder (-18000%15)*/,
8532  0 /*deltaMinutes*/,
8533  2006 /*untilYear*/,
8534  4 /*untilMonth*/,
8535  2 /*untilDay*/,
8536  480 /*untilTimeCode (7200/15)*/,
8537  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8538  },
8539  // -6:00 US C%sT 2007 Mar 11 2:00
8540  {
8541  &kZonePolicyUS /*zonePolicy*/,
8542  "C%T" /*format*/,
8543  -1440 /*offsetCode (-21600/15)*/,
8544  0 /*offsetRemainder (-21600%15)*/,
8545  0 /*deltaMinutes*/,
8546  2007 /*untilYear*/,
8547  3 /*untilMonth*/,
8548  11 /*untilDay*/,
8549  480 /*untilTimeCode (7200/15)*/,
8550  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8551  },
8552  // -5:00 US E%sT
8553  {
8554  &kZonePolicyUS /*zonePolicy*/,
8555  "E%T" /*format*/,
8556  -1200 /*offsetCode (-18000/15)*/,
8557  0 /*offsetRemainder (-18000%15)*/,
8558  0 /*deltaMinutes*/,
8559  32767 /*untilYear*/,
8560  1 /*untilMonth*/,
8561  1 /*untilDay*/,
8562  0 /*untilTimeCode (0/15)*/,
8563  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8564  },
8565 
8566 };
8567 
8568 static const char kZoneNameAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Winamac";
8569 
8570 const complete::ZoneInfo kZoneAmerica_Indiana_Winamac ACE_TIME_PROGMEM = {
8571  kZoneNameAmerica_Indiana_Winamac /*name*/,
8572  0x4413fa69 /*zoneId*/,
8573  &kZoneContext /*zoneContext*/,
8574  8 /*numEras*/,
8575  kZoneEraAmerica_Indiana_Winamac /*eras*/,
8576  nullptr /*targetInfo*/,
8577 };
8578 
8579 //---------------------------------------------------------------------------
8580 // Zone name: America/Inuvik
8581 // Eras: 4
8582 //---------------------------------------------------------------------------
8583 
8584 static const complete::ZoneEra kZoneEraAmerica_Inuvik[] ACE_TIME_PROGMEM = {
8585  // 0 - -00 1953
8586  {
8587  nullptr /*zonePolicy*/,
8588  "-00" /*format*/,
8589  0 /*offsetCode (0/15)*/,
8590  0 /*offsetRemainder (0%15)*/,
8591  0 /*deltaMinutes*/,
8592  1953 /*untilYear*/,
8593  1 /*untilMonth*/,
8594  1 /*untilDay*/,
8595  0 /*untilTimeCode (0/15)*/,
8596  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8597  },
8598  // -8:00 NT_YK P%sT 1979 Apr lastSun 2:00
8599  {
8600  &kZonePolicyNT_YK /*zonePolicy*/,
8601  "P%T" /*format*/,
8602  -1920 /*offsetCode (-28800/15)*/,
8603  0 /*offsetRemainder (-28800%15)*/,
8604  0 /*deltaMinutes*/,
8605  1979 /*untilYear*/,
8606  4 /*untilMonth*/,
8607  29 /*untilDay*/,
8608  480 /*untilTimeCode (7200/15)*/,
8609  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8610  },
8611  // -7:00 NT_YK M%sT 1980
8612  {
8613  &kZonePolicyNT_YK /*zonePolicy*/,
8614  "M%T" /*format*/,
8615  -1680 /*offsetCode (-25200/15)*/,
8616  0 /*offsetRemainder (-25200%15)*/,
8617  0 /*deltaMinutes*/,
8618  1980 /*untilYear*/,
8619  1 /*untilMonth*/,
8620  1 /*untilDay*/,
8621  0 /*untilTimeCode (0/15)*/,
8622  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8623  },
8624  // -7:00 Canada M%sT
8625  {
8626  &kZonePolicyCanada /*zonePolicy*/,
8627  "M%T" /*format*/,
8628  -1680 /*offsetCode (-25200/15)*/,
8629  0 /*offsetRemainder (-25200%15)*/,
8630  0 /*deltaMinutes*/,
8631  32767 /*untilYear*/,
8632  1 /*untilMonth*/,
8633  1 /*untilDay*/,
8634  0 /*untilTimeCode (0/15)*/,
8635  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8636  },
8637 
8638 };
8639 
8640 static const char kZoneNameAmerica_Inuvik[] ACE_TIME_PROGMEM = "\x02" "Inuvik";
8641 
8642 const complete::ZoneInfo kZoneAmerica_Inuvik ACE_TIME_PROGMEM = {
8643  kZoneNameAmerica_Inuvik /*name*/,
8644  0xa42189fc /*zoneId*/,
8645  &kZoneContext /*zoneContext*/,
8646  4 /*numEras*/,
8647  kZoneEraAmerica_Inuvik /*eras*/,
8648  nullptr /*targetInfo*/,
8649 };
8650 
8651 //---------------------------------------------------------------------------
8652 // Zone name: America/Iqaluit
8653 // Eras: 4
8654 //---------------------------------------------------------------------------
8655 
8656 static const complete::ZoneEra kZoneEraAmerica_Iqaluit[] ACE_TIME_PROGMEM = {
8657  // 0 - -00 1942 Aug
8658  {
8659  nullptr /*zonePolicy*/,
8660  "-00" /*format*/,
8661  0 /*offsetCode (0/15)*/,
8662  0 /*offsetRemainder (0%15)*/,
8663  0 /*deltaMinutes*/,
8664  1942 /*untilYear*/,
8665  8 /*untilMonth*/,
8666  1 /*untilDay*/,
8667  0 /*untilTimeCode (0/15)*/,
8668  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8669  },
8670  // -5:00 NT_YK E%sT 1999 Oct 31 2:00
8671  {
8672  &kZonePolicyNT_YK /*zonePolicy*/,
8673  "E%T" /*format*/,
8674  -1200 /*offsetCode (-18000/15)*/,
8675  0 /*offsetRemainder (-18000%15)*/,
8676  0 /*deltaMinutes*/,
8677  1999 /*untilYear*/,
8678  10 /*untilMonth*/,
8679  31 /*untilDay*/,
8680  480 /*untilTimeCode (7200/15)*/,
8681  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8682  },
8683  // -6:00 Canada C%sT 2000 Oct 29 2:00
8684  {
8685  &kZonePolicyCanada /*zonePolicy*/,
8686  "C%T" /*format*/,
8687  -1440 /*offsetCode (-21600/15)*/,
8688  0 /*offsetRemainder (-21600%15)*/,
8689  0 /*deltaMinutes*/,
8690  2000 /*untilYear*/,
8691  10 /*untilMonth*/,
8692  29 /*untilDay*/,
8693  480 /*untilTimeCode (7200/15)*/,
8694  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8695  },
8696  // -5:00 Canada E%sT
8697  {
8698  &kZonePolicyCanada /*zonePolicy*/,
8699  "E%T" /*format*/,
8700  -1200 /*offsetCode (-18000/15)*/,
8701  0 /*offsetRemainder (-18000%15)*/,
8702  0 /*deltaMinutes*/,
8703  32767 /*untilYear*/,
8704  1 /*untilMonth*/,
8705  1 /*untilDay*/,
8706  0 /*untilTimeCode (0/15)*/,
8707  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8708  },
8709 
8710 };
8711 
8712 static const char kZoneNameAmerica_Iqaluit[] ACE_TIME_PROGMEM = "\x02" "Iqaluit";
8713 
8714 const complete::ZoneInfo kZoneAmerica_Iqaluit ACE_TIME_PROGMEM = {
8715  kZoneNameAmerica_Iqaluit /*name*/,
8716  0x2de310bf /*zoneId*/,
8717  &kZoneContext /*zoneContext*/,
8718  4 /*numEras*/,
8719  kZoneEraAmerica_Iqaluit /*eras*/,
8720  nullptr /*targetInfo*/,
8721 };
8722 
8723 //---------------------------------------------------------------------------
8724 // Zone name: America/Jamaica
8725 // Eras: 5
8726 //---------------------------------------------------------------------------
8727 
8728 static const complete::ZoneEra kZoneEraAmerica_Jamaica[] ACE_TIME_PROGMEM = {
8729  // -5:07:10 - LMT 1890
8730  {
8731  nullptr /*zonePolicy*/,
8732  "LMT" /*format*/,
8733  -1229 /*offsetCode (-18430/15)*/,
8734  5 /*offsetRemainder (-18430%15)*/,
8735  0 /*deltaMinutes*/,
8736  1890 /*untilYear*/,
8737  1 /*untilMonth*/,
8738  1 /*untilDay*/,
8739  0 /*untilTimeCode (0/15)*/,
8740  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8741  },
8742  // -5:07:10 - KMT 1912 Feb
8743  {
8744  nullptr /*zonePolicy*/,
8745  "KMT" /*format*/,
8746  -1229 /*offsetCode (-18430/15)*/,
8747  5 /*offsetRemainder (-18430%15)*/,
8748  0 /*deltaMinutes*/,
8749  1912 /*untilYear*/,
8750  2 /*untilMonth*/,
8751  1 /*untilDay*/,
8752  0 /*untilTimeCode (0/15)*/,
8753  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8754  },
8755  // -5:00 - EST 1974
8756  {
8757  nullptr /*zonePolicy*/,
8758  "EST" /*format*/,
8759  -1200 /*offsetCode (-18000/15)*/,
8760  0 /*offsetRemainder (-18000%15)*/,
8761  0 /*deltaMinutes*/,
8762  1974 /*untilYear*/,
8763  1 /*untilMonth*/,
8764  1 /*untilDay*/,
8765  0 /*untilTimeCode (0/15)*/,
8766  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8767  },
8768  // -5:00 US E%sT 1984
8769  {
8770  &kZonePolicyUS /*zonePolicy*/,
8771  "E%T" /*format*/,
8772  -1200 /*offsetCode (-18000/15)*/,
8773  0 /*offsetRemainder (-18000%15)*/,
8774  0 /*deltaMinutes*/,
8775  1984 /*untilYear*/,
8776  1 /*untilMonth*/,
8777  1 /*untilDay*/,
8778  0 /*untilTimeCode (0/15)*/,
8779  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8780  },
8781  // -5:00 - EST
8782  {
8783  nullptr /*zonePolicy*/,
8784  "EST" /*format*/,
8785  -1200 /*offsetCode (-18000/15)*/,
8786  0 /*offsetRemainder (-18000%15)*/,
8787  0 /*deltaMinutes*/,
8788  32767 /*untilYear*/,
8789  1 /*untilMonth*/,
8790  1 /*untilDay*/,
8791  0 /*untilTimeCode (0/15)*/,
8792  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8793  },
8794 
8795 };
8796 
8797 static const char kZoneNameAmerica_Jamaica[] ACE_TIME_PROGMEM = "\x02" "Jamaica";
8798 
8799 const complete::ZoneInfo kZoneAmerica_Jamaica ACE_TIME_PROGMEM = {
8800  kZoneNameAmerica_Jamaica /*name*/,
8801  0x565dad6c /*zoneId*/,
8802  &kZoneContext /*zoneContext*/,
8803  5 /*numEras*/,
8804  kZoneEraAmerica_Jamaica /*eras*/,
8805  nullptr /*targetInfo*/,
8806 };
8807 
8808 //---------------------------------------------------------------------------
8809 // Zone name: America/Juneau
8810 // Eras: 10
8811 //---------------------------------------------------------------------------
8812 
8813 static const complete::ZoneEra kZoneEraAmerica_Juneau[] ACE_TIME_PROGMEM = {
8814  // 15:02:19 - LMT 1867 Oct 19 15:33:32
8815  {
8816  nullptr /*zonePolicy*/,
8817  "LMT" /*format*/,
8818  3609 /*offsetCode (54139/15)*/,
8819  4 /*offsetRemainder (54139%15)*/,
8820  0 /*deltaMinutes*/,
8821  1867 /*untilYear*/,
8822  10 /*untilMonth*/,
8823  19 /*untilDay*/,
8824  3734 /*untilTimeCode (56012/15)*/,
8825  2 /*untilTimeModifier (kAtcSuffixW + seconds=2)*/,
8826  },
8827  // -8:57:41 - LMT 1900 Aug 20 12:00
8828  {
8829  nullptr /*zonePolicy*/,
8830  "LMT" /*format*/,
8831  -2151 /*offsetCode (-32261/15)*/,
8832  4 /*offsetRemainder (-32261%15)*/,
8833  0 /*deltaMinutes*/,
8834  1900 /*untilYear*/,
8835  8 /*untilMonth*/,
8836  20 /*untilDay*/,
8837  2880 /*untilTimeCode (43200/15)*/,
8838  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8839  },
8840  // -8:00 - PST 1942
8841  {
8842  nullptr /*zonePolicy*/,
8843  "PST" /*format*/,
8844  -1920 /*offsetCode (-28800/15)*/,
8845  0 /*offsetRemainder (-28800%15)*/,
8846  0 /*deltaMinutes*/,
8847  1942 /*untilYear*/,
8848  1 /*untilMonth*/,
8849  1 /*untilDay*/,
8850  0 /*untilTimeCode (0/15)*/,
8851  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8852  },
8853  // -8:00 US P%sT 1946
8854  {
8855  &kZonePolicyUS /*zonePolicy*/,
8856  "P%T" /*format*/,
8857  -1920 /*offsetCode (-28800/15)*/,
8858  0 /*offsetRemainder (-28800%15)*/,
8859  0 /*deltaMinutes*/,
8860  1946 /*untilYear*/,
8861  1 /*untilMonth*/,
8862  1 /*untilDay*/,
8863  0 /*untilTimeCode (0/15)*/,
8864  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8865  },
8866  // -8:00 - PST 1969
8867  {
8868  nullptr /*zonePolicy*/,
8869  "PST" /*format*/,
8870  -1920 /*offsetCode (-28800/15)*/,
8871  0 /*offsetRemainder (-28800%15)*/,
8872  0 /*deltaMinutes*/,
8873  1969 /*untilYear*/,
8874  1 /*untilMonth*/,
8875  1 /*untilDay*/,
8876  0 /*untilTimeCode (0/15)*/,
8877  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8878  },
8879  // -8:00 US P%sT 1980 Apr 27 2:00
8880  {
8881  &kZonePolicyUS /*zonePolicy*/,
8882  "P%T" /*format*/,
8883  -1920 /*offsetCode (-28800/15)*/,
8884  0 /*offsetRemainder (-28800%15)*/,
8885  0 /*deltaMinutes*/,
8886  1980 /*untilYear*/,
8887  4 /*untilMonth*/,
8888  27 /*untilDay*/,
8889  480 /*untilTimeCode (7200/15)*/,
8890  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8891  },
8892  // -9:00 US Y%sT 1980 Oct 26 2:00
8893  {
8894  &kZonePolicyUS /*zonePolicy*/,
8895  "Y%T" /*format*/,
8896  -2160 /*offsetCode (-32400/15)*/,
8897  0 /*offsetRemainder (-32400%15)*/,
8898  0 /*deltaMinutes*/,
8899  1980 /*untilYear*/,
8900  10 /*untilMonth*/,
8901  26 /*untilDay*/,
8902  480 /*untilTimeCode (7200/15)*/,
8903  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8904  },
8905  // -8:00 US P%sT 1983 Oct 30 2:00
8906  {
8907  &kZonePolicyUS /*zonePolicy*/,
8908  "P%T" /*format*/,
8909  -1920 /*offsetCode (-28800/15)*/,
8910  0 /*offsetRemainder (-28800%15)*/,
8911  0 /*deltaMinutes*/,
8912  1983 /*untilYear*/,
8913  10 /*untilMonth*/,
8914  30 /*untilDay*/,
8915  480 /*untilTimeCode (7200/15)*/,
8916  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8917  },
8918  // -9:00 US Y%sT 1983 Nov 30
8919  {
8920  &kZonePolicyUS /*zonePolicy*/,
8921  "Y%T" /*format*/,
8922  -2160 /*offsetCode (-32400/15)*/,
8923  0 /*offsetRemainder (-32400%15)*/,
8924  0 /*deltaMinutes*/,
8925  1983 /*untilYear*/,
8926  11 /*untilMonth*/,
8927  30 /*untilDay*/,
8928  0 /*untilTimeCode (0/15)*/,
8929  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8930  },
8931  // -9:00 US AK%sT
8932  {
8933  &kZonePolicyUS /*zonePolicy*/,
8934  "AK%T" /*format*/,
8935  -2160 /*offsetCode (-32400/15)*/,
8936  0 /*offsetRemainder (-32400%15)*/,
8937  0 /*deltaMinutes*/,
8938  32767 /*untilYear*/,
8939  1 /*untilMonth*/,
8940  1 /*untilDay*/,
8941  0 /*untilTimeCode (0/15)*/,
8942  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8943  },
8944 
8945 };
8946 
8947 static const char kZoneNameAmerica_Juneau[] ACE_TIME_PROGMEM = "\x02" "Juneau";
8948 
8949 const complete::ZoneInfo kZoneAmerica_Juneau ACE_TIME_PROGMEM = {
8950  kZoneNameAmerica_Juneau /*name*/,
8951  0xa6f13e2e /*zoneId*/,
8952  &kZoneContext /*zoneContext*/,
8953  10 /*numEras*/,
8954  kZoneEraAmerica_Juneau /*eras*/,
8955  nullptr /*targetInfo*/,
8956 };
8957 
8958 //---------------------------------------------------------------------------
8959 // Zone name: America/Kentucky/Louisville
8960 // Eras: 9
8961 //---------------------------------------------------------------------------
8962 
8963 static const complete::ZoneEra kZoneEraAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = {
8964  // -5:43:02 - LMT 1883 Nov 18 18:00u
8965  {
8966  nullptr /*zonePolicy*/,
8967  "LMT" /*format*/,
8968  -1373 /*offsetCode (-20582/15)*/,
8969  13 /*offsetRemainder (-20582%15)*/,
8970  0 /*deltaMinutes*/,
8971  1883 /*untilYear*/,
8972  11 /*untilMonth*/,
8973  18 /*untilDay*/,
8974  4320 /*untilTimeCode (64800/15)*/,
8975  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8976  },
8977  // -6:00 US C%sT 1921
8978  {
8979  &kZonePolicyUS /*zonePolicy*/,
8980  "C%T" /*format*/,
8981  -1440 /*offsetCode (-21600/15)*/,
8982  0 /*offsetRemainder (-21600%15)*/,
8983  0 /*deltaMinutes*/,
8984  1921 /*untilYear*/,
8985  1 /*untilMonth*/,
8986  1 /*untilDay*/,
8987  0 /*untilTimeCode (0/15)*/,
8988  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8989  },
8990  // -6:00 Louisville C%sT 1942
8991  {
8992  &kZonePolicyLouisville /*zonePolicy*/,
8993  "C%T" /*format*/,
8994  -1440 /*offsetCode (-21600/15)*/,
8995  0 /*offsetRemainder (-21600%15)*/,
8996  0 /*deltaMinutes*/,
8997  1942 /*untilYear*/,
8998  1 /*untilMonth*/,
8999  1 /*untilDay*/,
9000  0 /*untilTimeCode (0/15)*/,
9001  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9002  },
9003  // -6:00 US C%sT 1946
9004  {
9005  &kZonePolicyUS /*zonePolicy*/,
9006  "C%T" /*format*/,
9007  -1440 /*offsetCode (-21600/15)*/,
9008  0 /*offsetRemainder (-21600%15)*/,
9009  0 /*deltaMinutes*/,
9010  1946 /*untilYear*/,
9011  1 /*untilMonth*/,
9012  1 /*untilDay*/,
9013  0 /*untilTimeCode (0/15)*/,
9014  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9015  },
9016  // -6:00 Louisville C%sT 1961 Jul 23 2:00
9017  {
9018  &kZonePolicyLouisville /*zonePolicy*/,
9019  "C%T" /*format*/,
9020  -1440 /*offsetCode (-21600/15)*/,
9021  0 /*offsetRemainder (-21600%15)*/,
9022  0 /*deltaMinutes*/,
9023  1961 /*untilYear*/,
9024  7 /*untilMonth*/,
9025  23 /*untilDay*/,
9026  480 /*untilTimeCode (7200/15)*/,
9027  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9028  },
9029  // -5:00 - EST 1968
9030  {
9031  nullptr /*zonePolicy*/,
9032  "EST" /*format*/,
9033  -1200 /*offsetCode (-18000/15)*/,
9034  0 /*offsetRemainder (-18000%15)*/,
9035  0 /*deltaMinutes*/,
9036  1968 /*untilYear*/,
9037  1 /*untilMonth*/,
9038  1 /*untilDay*/,
9039  0 /*untilTimeCode (0/15)*/,
9040  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9041  },
9042  // -5:00 US E%sT 1974 Jan 6 2:00
9043  {
9044  &kZonePolicyUS /*zonePolicy*/,
9045  "E%T" /*format*/,
9046  -1200 /*offsetCode (-18000/15)*/,
9047  0 /*offsetRemainder (-18000%15)*/,
9048  0 /*deltaMinutes*/,
9049  1974 /*untilYear*/,
9050  1 /*untilMonth*/,
9051  6 /*untilDay*/,
9052  480 /*untilTimeCode (7200/15)*/,
9053  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9054  },
9055  // -6:00 1:00 CDT 1974 Oct 27 2:00
9056  {
9057  nullptr /*zonePolicy*/,
9058  "CDT" /*format*/,
9059  -1440 /*offsetCode (-21600/15)*/,
9060  0 /*offsetRemainder (-21600%15)*/,
9061  60 /*deltaMinutes*/,
9062  1974 /*untilYear*/,
9063  10 /*untilMonth*/,
9064  27 /*untilDay*/,
9065  480 /*untilTimeCode (7200/15)*/,
9066  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9067  },
9068  // -5:00 US E%sT
9069  {
9070  &kZonePolicyUS /*zonePolicy*/,
9071  "E%T" /*format*/,
9072  -1200 /*offsetCode (-18000/15)*/,
9073  0 /*offsetRemainder (-18000%15)*/,
9074  0 /*deltaMinutes*/,
9075  32767 /*untilYear*/,
9076  1 /*untilMonth*/,
9077  1 /*untilDay*/,
9078  0 /*untilTimeCode (0/15)*/,
9079  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9080  },
9081 
9082 };
9083 
9084 static const char kZoneNameAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = "\x02" "Kentucky/Louisville";
9085 
9086 const complete::ZoneInfo kZoneAmerica_Kentucky_Louisville ACE_TIME_PROGMEM = {
9087  kZoneNameAmerica_Kentucky_Louisville /*name*/,
9088  0x1a21024b /*zoneId*/,
9089  &kZoneContext /*zoneContext*/,
9090  9 /*numEras*/,
9091  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
9092  nullptr /*targetInfo*/,
9093 };
9094 
9095 //---------------------------------------------------------------------------
9096 // Zone name: America/Kentucky/Monticello
9097 // Eras: 5
9098 //---------------------------------------------------------------------------
9099 
9100 static const complete::ZoneEra kZoneEraAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = {
9101  // -5:39:24 - LMT 1883 Nov 18 18:00u
9102  {
9103  nullptr /*zonePolicy*/,
9104  "LMT" /*format*/,
9105  -1358 /*offsetCode (-20364/15)*/,
9106  6 /*offsetRemainder (-20364%15)*/,
9107  0 /*deltaMinutes*/,
9108  1883 /*untilYear*/,
9109  11 /*untilMonth*/,
9110  18 /*untilDay*/,
9111  4320 /*untilTimeCode (64800/15)*/,
9112  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9113  },
9114  // -6:00 US C%sT 1946
9115  {
9116  &kZonePolicyUS /*zonePolicy*/,
9117  "C%T" /*format*/,
9118  -1440 /*offsetCode (-21600/15)*/,
9119  0 /*offsetRemainder (-21600%15)*/,
9120  0 /*deltaMinutes*/,
9121  1946 /*untilYear*/,
9122  1 /*untilMonth*/,
9123  1 /*untilDay*/,
9124  0 /*untilTimeCode (0/15)*/,
9125  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9126  },
9127  // -6:00 - CST 1968
9128  {
9129  nullptr /*zonePolicy*/,
9130  "CST" /*format*/,
9131  -1440 /*offsetCode (-21600/15)*/,
9132  0 /*offsetRemainder (-21600%15)*/,
9133  0 /*deltaMinutes*/,
9134  1968 /*untilYear*/,
9135  1 /*untilMonth*/,
9136  1 /*untilDay*/,
9137  0 /*untilTimeCode (0/15)*/,
9138  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9139  },
9140  // -6:00 US C%sT 2000 Oct 29 2:00
9141  {
9142  &kZonePolicyUS /*zonePolicy*/,
9143  "C%T" /*format*/,
9144  -1440 /*offsetCode (-21600/15)*/,
9145  0 /*offsetRemainder (-21600%15)*/,
9146  0 /*deltaMinutes*/,
9147  2000 /*untilYear*/,
9148  10 /*untilMonth*/,
9149  29 /*untilDay*/,
9150  480 /*untilTimeCode (7200/15)*/,
9151  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9152  },
9153  // -5:00 US E%sT
9154  {
9155  &kZonePolicyUS /*zonePolicy*/,
9156  "E%T" /*format*/,
9157  -1200 /*offsetCode (-18000/15)*/,
9158  0 /*offsetRemainder (-18000%15)*/,
9159  0 /*deltaMinutes*/,
9160  32767 /*untilYear*/,
9161  1 /*untilMonth*/,
9162  1 /*untilDay*/,
9163  0 /*untilTimeCode (0/15)*/,
9164  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9165  },
9166 
9167 };
9168 
9169 static const char kZoneNameAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = "\x02" "Kentucky/Monticello";
9170 
9171 const complete::ZoneInfo kZoneAmerica_Kentucky_Monticello ACE_TIME_PROGMEM = {
9172  kZoneNameAmerica_Kentucky_Monticello /*name*/,
9173  0xde71c439 /*zoneId*/,
9174  &kZoneContext /*zoneContext*/,
9175  5 /*numEras*/,
9176  kZoneEraAmerica_Kentucky_Monticello /*eras*/,
9177  nullptr /*targetInfo*/,
9178 };
9179 
9180 //---------------------------------------------------------------------------
9181 // Zone name: America/La_Paz
9182 // Eras: 4
9183 //---------------------------------------------------------------------------
9184 
9185 static const complete::ZoneEra kZoneEraAmerica_La_Paz[] ACE_TIME_PROGMEM = {
9186  // -4:32:36 - LMT 1890
9187  {
9188  nullptr /*zonePolicy*/,
9189  "LMT" /*format*/,
9190  -1091 /*offsetCode (-16356/15)*/,
9191  9 /*offsetRemainder (-16356%15)*/,
9192  0 /*deltaMinutes*/,
9193  1890 /*untilYear*/,
9194  1 /*untilMonth*/,
9195  1 /*untilDay*/,
9196  0 /*untilTimeCode (0/15)*/,
9197  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9198  },
9199  // -4:32:36 - CMT 1931 Oct 15
9200  {
9201  nullptr /*zonePolicy*/,
9202  "CMT" /*format*/,
9203  -1091 /*offsetCode (-16356/15)*/,
9204  9 /*offsetRemainder (-16356%15)*/,
9205  0 /*deltaMinutes*/,
9206  1931 /*untilYear*/,
9207  10 /*untilMonth*/,
9208  15 /*untilDay*/,
9209  0 /*untilTimeCode (0/15)*/,
9210  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9211  },
9212  // -4:32:36 1:00 BST 1932 Mar 21
9213  {
9214  nullptr /*zonePolicy*/,
9215  "BST" /*format*/,
9216  -1091 /*offsetCode (-16356/15)*/,
9217  9 /*offsetRemainder (-16356%15)*/,
9218  60 /*deltaMinutes*/,
9219  1932 /*untilYear*/,
9220  3 /*untilMonth*/,
9221  21 /*untilDay*/,
9222  0 /*untilTimeCode (0/15)*/,
9223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9224  },
9225  // -4:00 - -04
9226  {
9227  nullptr /*zonePolicy*/,
9228  "-04" /*format*/,
9229  -960 /*offsetCode (-14400/15)*/,
9230  0 /*offsetRemainder (-14400%15)*/,
9231  0 /*deltaMinutes*/,
9232  32767 /*untilYear*/,
9233  1 /*untilMonth*/,
9234  1 /*untilDay*/,
9235  0 /*untilTimeCode (0/15)*/,
9236  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9237  },
9238 
9239 };
9240 
9241 static const char kZoneNameAmerica_La_Paz[] ACE_TIME_PROGMEM = "\x02" "La_Paz";
9242 
9243 const complete::ZoneInfo kZoneAmerica_La_Paz ACE_TIME_PROGMEM = {
9244  kZoneNameAmerica_La_Paz /*name*/,
9245  0xaa29125d /*zoneId*/,
9246  &kZoneContext /*zoneContext*/,
9247  4 /*numEras*/,
9248  kZoneEraAmerica_La_Paz /*eras*/,
9249  nullptr /*targetInfo*/,
9250 };
9251 
9252 //---------------------------------------------------------------------------
9253 // Zone name: America/Lima
9254 // Eras: 3
9255 //---------------------------------------------------------------------------
9256 
9257 static const complete::ZoneEra kZoneEraAmerica_Lima[] ACE_TIME_PROGMEM = {
9258  // -5:08:12 - LMT 1890
9259  {
9260  nullptr /*zonePolicy*/,
9261  "LMT" /*format*/,
9262  -1233 /*offsetCode (-18492/15)*/,
9263  3 /*offsetRemainder (-18492%15)*/,
9264  0 /*deltaMinutes*/,
9265  1890 /*untilYear*/,
9266  1 /*untilMonth*/,
9267  1 /*untilDay*/,
9268  0 /*untilTimeCode (0/15)*/,
9269  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9270  },
9271  // -5:08:36 - LMT 1908 Jul 28
9272  {
9273  nullptr /*zonePolicy*/,
9274  "LMT" /*format*/,
9275  -1235 /*offsetCode (-18516/15)*/,
9276  9 /*offsetRemainder (-18516%15)*/,
9277  0 /*deltaMinutes*/,
9278  1908 /*untilYear*/,
9279  7 /*untilMonth*/,
9280  28 /*untilDay*/,
9281  0 /*untilTimeCode (0/15)*/,
9282  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9283  },
9284  // -5:00 Peru -05/-04
9285  {
9286  &kZonePolicyPeru /*zonePolicy*/,
9287  "-05/-04" /*format*/,
9288  -1200 /*offsetCode (-18000/15)*/,
9289  0 /*offsetRemainder (-18000%15)*/,
9290  0 /*deltaMinutes*/,
9291  32767 /*untilYear*/,
9292  1 /*untilMonth*/,
9293  1 /*untilDay*/,
9294  0 /*untilTimeCode (0/15)*/,
9295  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9296  },
9297 
9298 };
9299 
9300 static const char kZoneNameAmerica_Lima[] ACE_TIME_PROGMEM = "\x02" "Lima";
9301 
9302 const complete::ZoneInfo kZoneAmerica_Lima ACE_TIME_PROGMEM = {
9303  kZoneNameAmerica_Lima /*name*/,
9304  0x980468c9 /*zoneId*/,
9305  &kZoneContext /*zoneContext*/,
9306  3 /*numEras*/,
9307  kZoneEraAmerica_Lima /*eras*/,
9308  nullptr /*targetInfo*/,
9309 };
9310 
9311 //---------------------------------------------------------------------------
9312 // Zone name: America/Los_Angeles
9313 // Eras: 4
9314 //---------------------------------------------------------------------------
9315 
9316 static const complete::ZoneEra kZoneEraAmerica_Los_Angeles[] ACE_TIME_PROGMEM = {
9317  // -7:52:58 - LMT 1883 Nov 18 20:00u
9318  {
9319  nullptr /*zonePolicy*/,
9320  "LMT" /*format*/,
9321  -1892 /*offsetCode (-28378/15)*/,
9322  2 /*offsetRemainder (-28378%15)*/,
9323  0 /*deltaMinutes*/,
9324  1883 /*untilYear*/,
9325  11 /*untilMonth*/,
9326  18 /*untilDay*/,
9327  4800 /*untilTimeCode (72000/15)*/,
9328  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9329  },
9330  // -8:00 US P%sT 1946
9331  {
9332  &kZonePolicyUS /*zonePolicy*/,
9333  "P%T" /*format*/,
9334  -1920 /*offsetCode (-28800/15)*/,
9335  0 /*offsetRemainder (-28800%15)*/,
9336  0 /*deltaMinutes*/,
9337  1946 /*untilYear*/,
9338  1 /*untilMonth*/,
9339  1 /*untilDay*/,
9340  0 /*untilTimeCode (0/15)*/,
9341  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9342  },
9343  // -8:00 CA P%sT 1967
9344  {
9345  &kZonePolicyCA /*zonePolicy*/,
9346  "P%T" /*format*/,
9347  -1920 /*offsetCode (-28800/15)*/,
9348  0 /*offsetRemainder (-28800%15)*/,
9349  0 /*deltaMinutes*/,
9350  1967 /*untilYear*/,
9351  1 /*untilMonth*/,
9352  1 /*untilDay*/,
9353  0 /*untilTimeCode (0/15)*/,
9354  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9355  },
9356  // -8:00 US P%sT
9357  {
9358  &kZonePolicyUS /*zonePolicy*/,
9359  "P%T" /*format*/,
9360  -1920 /*offsetCode (-28800/15)*/,
9361  0 /*offsetRemainder (-28800%15)*/,
9362  0 /*deltaMinutes*/,
9363  32767 /*untilYear*/,
9364  1 /*untilMonth*/,
9365  1 /*untilDay*/,
9366  0 /*untilTimeCode (0/15)*/,
9367  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9368  },
9369 
9370 };
9371 
9372 static const char kZoneNameAmerica_Los_Angeles[] ACE_TIME_PROGMEM = "\x02" "Los_Angeles";
9373 
9374 const complete::ZoneInfo kZoneAmerica_Los_Angeles ACE_TIME_PROGMEM = {
9375  kZoneNameAmerica_Los_Angeles /*name*/,
9376  0xb7f7e8f2 /*zoneId*/,
9377  &kZoneContext /*zoneContext*/,
9378  4 /*numEras*/,
9379  kZoneEraAmerica_Los_Angeles /*eras*/,
9380  nullptr /*targetInfo*/,
9381 };
9382 
9383 //---------------------------------------------------------------------------
9384 // Zone name: America/Maceio
9385 // Eras: 9
9386 //---------------------------------------------------------------------------
9387 
9388 static const complete::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = {
9389  // -2:22:52 - LMT 1914
9390  {
9391  nullptr /*zonePolicy*/,
9392  "LMT" /*format*/,
9393  -572 /*offsetCode (-8572/15)*/,
9394  8 /*offsetRemainder (-8572%15)*/,
9395  0 /*deltaMinutes*/,
9396  1914 /*untilYear*/,
9397  1 /*untilMonth*/,
9398  1 /*untilDay*/,
9399  0 /*untilTimeCode (0/15)*/,
9400  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9401  },
9402  // -3:00 Brazil -03/-02 1990 Sep 17
9403  {
9404  &kZonePolicyBrazil /*zonePolicy*/,
9405  "-03/-02" /*format*/,
9406  -720 /*offsetCode (-10800/15)*/,
9407  0 /*offsetRemainder (-10800%15)*/,
9408  0 /*deltaMinutes*/,
9409  1990 /*untilYear*/,
9410  9 /*untilMonth*/,
9411  17 /*untilDay*/,
9412  0 /*untilTimeCode (0/15)*/,
9413  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9414  },
9415  // -3:00 - -03 1995 Oct 13
9416  {
9417  nullptr /*zonePolicy*/,
9418  "-03" /*format*/,
9419  -720 /*offsetCode (-10800/15)*/,
9420  0 /*offsetRemainder (-10800%15)*/,
9421  0 /*deltaMinutes*/,
9422  1995 /*untilYear*/,
9423  10 /*untilMonth*/,
9424  13 /*untilDay*/,
9425  0 /*untilTimeCode (0/15)*/,
9426  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9427  },
9428  // -3:00 Brazil -03/-02 1996 Sep 4
9429  {
9430  &kZonePolicyBrazil /*zonePolicy*/,
9431  "-03/-02" /*format*/,
9432  -720 /*offsetCode (-10800/15)*/,
9433  0 /*offsetRemainder (-10800%15)*/,
9434  0 /*deltaMinutes*/,
9435  1996 /*untilYear*/,
9436  9 /*untilMonth*/,
9437  4 /*untilDay*/,
9438  0 /*untilTimeCode (0/15)*/,
9439  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9440  },
9441  // -3:00 - -03 1999 Sep 30
9442  {
9443  nullptr /*zonePolicy*/,
9444  "-03" /*format*/,
9445  -720 /*offsetCode (-10800/15)*/,
9446  0 /*offsetRemainder (-10800%15)*/,
9447  0 /*deltaMinutes*/,
9448  1999 /*untilYear*/,
9449  9 /*untilMonth*/,
9450  30 /*untilDay*/,
9451  0 /*untilTimeCode (0/15)*/,
9452  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9453  },
9454  // -3:00 Brazil -03/-02 2000 Oct 22
9455  {
9456  &kZonePolicyBrazil /*zonePolicy*/,
9457  "-03/-02" /*format*/,
9458  -720 /*offsetCode (-10800/15)*/,
9459  0 /*offsetRemainder (-10800%15)*/,
9460  0 /*deltaMinutes*/,
9461  2000 /*untilYear*/,
9462  10 /*untilMonth*/,
9463  22 /*untilDay*/,
9464  0 /*untilTimeCode (0/15)*/,
9465  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9466  },
9467  // -3:00 - -03 2001 Sep 13
9468  {
9469  nullptr /*zonePolicy*/,
9470  "-03" /*format*/,
9471  -720 /*offsetCode (-10800/15)*/,
9472  0 /*offsetRemainder (-10800%15)*/,
9473  0 /*deltaMinutes*/,
9474  2001 /*untilYear*/,
9475  9 /*untilMonth*/,
9476  13 /*untilDay*/,
9477  0 /*untilTimeCode (0/15)*/,
9478  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9479  },
9480  // -3:00 Brazil -03/-02 2002 Oct 1
9481  {
9482  &kZonePolicyBrazil /*zonePolicy*/,
9483  "-03/-02" /*format*/,
9484  -720 /*offsetCode (-10800/15)*/,
9485  0 /*offsetRemainder (-10800%15)*/,
9486  0 /*deltaMinutes*/,
9487  2002 /*untilYear*/,
9488  10 /*untilMonth*/,
9489  1 /*untilDay*/,
9490  0 /*untilTimeCode (0/15)*/,
9491  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9492  },
9493  // -3:00 - -03
9494  {
9495  nullptr /*zonePolicy*/,
9496  "-03" /*format*/,
9497  -720 /*offsetCode (-10800/15)*/,
9498  0 /*offsetRemainder (-10800%15)*/,
9499  0 /*deltaMinutes*/,
9500  32767 /*untilYear*/,
9501  1 /*untilMonth*/,
9502  1 /*untilDay*/,
9503  0 /*untilTimeCode (0/15)*/,
9504  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9505  },
9506 
9507 };
9508 
9509 static const char kZoneNameAmerica_Maceio[] ACE_TIME_PROGMEM = "\x02" "Maceio";
9510 
9511 const complete::ZoneInfo kZoneAmerica_Maceio ACE_TIME_PROGMEM = {
9512  kZoneNameAmerica_Maceio /*name*/,
9513  0xac80c6d4 /*zoneId*/,
9514  &kZoneContext /*zoneContext*/,
9515  9 /*numEras*/,
9516  kZoneEraAmerica_Maceio /*eras*/,
9517  nullptr /*targetInfo*/,
9518 };
9519 
9520 //---------------------------------------------------------------------------
9521 // Zone name: America/Managua
9522 // Eras: 9
9523 //---------------------------------------------------------------------------
9524 
9525 static const complete::ZoneEra kZoneEraAmerica_Managua[] ACE_TIME_PROGMEM = {
9526  // -5:45:08 - LMT 1890
9527  {
9528  nullptr /*zonePolicy*/,
9529  "LMT" /*format*/,
9530  -1381 /*offsetCode (-20708/15)*/,
9531  7 /*offsetRemainder (-20708%15)*/,
9532  0 /*deltaMinutes*/,
9533  1890 /*untilYear*/,
9534  1 /*untilMonth*/,
9535  1 /*untilDay*/,
9536  0 /*untilTimeCode (0/15)*/,
9537  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9538  },
9539  // -5:45:12 - MMT 1934 Jun 23
9540  {
9541  nullptr /*zonePolicy*/,
9542  "MMT" /*format*/,
9543  -1381 /*offsetCode (-20712/15)*/,
9544  3 /*offsetRemainder (-20712%15)*/,
9545  0 /*deltaMinutes*/,
9546  1934 /*untilYear*/,
9547  6 /*untilMonth*/,
9548  23 /*untilDay*/,
9549  0 /*untilTimeCode (0/15)*/,
9550  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9551  },
9552  // -6:00 - CST 1973 May
9553  {
9554  nullptr /*zonePolicy*/,
9555  "CST" /*format*/,
9556  -1440 /*offsetCode (-21600/15)*/,
9557  0 /*offsetRemainder (-21600%15)*/,
9558  0 /*deltaMinutes*/,
9559  1973 /*untilYear*/,
9560  5 /*untilMonth*/,
9561  1 /*untilDay*/,
9562  0 /*untilTimeCode (0/15)*/,
9563  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9564  },
9565  // -5:00 - EST 1975 Feb 16
9566  {
9567  nullptr /*zonePolicy*/,
9568  "EST" /*format*/,
9569  -1200 /*offsetCode (-18000/15)*/,
9570  0 /*offsetRemainder (-18000%15)*/,
9571  0 /*deltaMinutes*/,
9572  1975 /*untilYear*/,
9573  2 /*untilMonth*/,
9574  16 /*untilDay*/,
9575  0 /*untilTimeCode (0/15)*/,
9576  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9577  },
9578  // -6:00 Nic C%sT 1992 Jan 1 4:00
9579  {
9580  &kZonePolicyNic /*zonePolicy*/,
9581  "C%T" /*format*/,
9582  -1440 /*offsetCode (-21600/15)*/,
9583  0 /*offsetRemainder (-21600%15)*/,
9584  0 /*deltaMinutes*/,
9585  1992 /*untilYear*/,
9586  1 /*untilMonth*/,
9587  1 /*untilDay*/,
9588  960 /*untilTimeCode (14400/15)*/,
9589  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9590  },
9591  // -5:00 - EST 1992 Sep 24
9592  {
9593  nullptr /*zonePolicy*/,
9594  "EST" /*format*/,
9595  -1200 /*offsetCode (-18000/15)*/,
9596  0 /*offsetRemainder (-18000%15)*/,
9597  0 /*deltaMinutes*/,
9598  1992 /*untilYear*/,
9599  9 /*untilMonth*/,
9600  24 /*untilDay*/,
9601  0 /*untilTimeCode (0/15)*/,
9602  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9603  },
9604  // -6:00 - CST 1993
9605  {
9606  nullptr /*zonePolicy*/,
9607  "CST" /*format*/,
9608  -1440 /*offsetCode (-21600/15)*/,
9609  0 /*offsetRemainder (-21600%15)*/,
9610  0 /*deltaMinutes*/,
9611  1993 /*untilYear*/,
9612  1 /*untilMonth*/,
9613  1 /*untilDay*/,
9614  0 /*untilTimeCode (0/15)*/,
9615  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9616  },
9617  // -5:00 - EST 1997
9618  {
9619  nullptr /*zonePolicy*/,
9620  "EST" /*format*/,
9621  -1200 /*offsetCode (-18000/15)*/,
9622  0 /*offsetRemainder (-18000%15)*/,
9623  0 /*deltaMinutes*/,
9624  1997 /*untilYear*/,
9625  1 /*untilMonth*/,
9626  1 /*untilDay*/,
9627  0 /*untilTimeCode (0/15)*/,
9628  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9629  },
9630  // -6:00 Nic C%sT
9631  {
9632  &kZonePolicyNic /*zonePolicy*/,
9633  "C%T" /*format*/,
9634  -1440 /*offsetCode (-21600/15)*/,
9635  0 /*offsetRemainder (-21600%15)*/,
9636  0 /*deltaMinutes*/,
9637  32767 /*untilYear*/,
9638  1 /*untilMonth*/,
9639  1 /*untilDay*/,
9640  0 /*untilTimeCode (0/15)*/,
9641  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9642  },
9643 
9644 };
9645 
9646 static const char kZoneNameAmerica_Managua[] ACE_TIME_PROGMEM = "\x02" "Managua";
9647 
9648 const complete::ZoneInfo kZoneAmerica_Managua ACE_TIME_PROGMEM = {
9649  kZoneNameAmerica_Managua /*name*/,
9650  0x3d5e7600 /*zoneId*/,
9651  &kZoneContext /*zoneContext*/,
9652  9 /*numEras*/,
9653  kZoneEraAmerica_Managua /*eras*/,
9654  nullptr /*targetInfo*/,
9655 };
9656 
9657 //---------------------------------------------------------------------------
9658 // Zone name: America/Manaus
9659 // Eras: 5
9660 //---------------------------------------------------------------------------
9661 
9662 static const complete::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = {
9663  // -4:00:04 - LMT 1914
9664  {
9665  nullptr /*zonePolicy*/,
9666  "LMT" /*format*/,
9667  -961 /*offsetCode (-14404/15)*/,
9668  11 /*offsetRemainder (-14404%15)*/,
9669  0 /*deltaMinutes*/,
9670  1914 /*untilYear*/,
9671  1 /*untilMonth*/,
9672  1 /*untilDay*/,
9673  0 /*untilTimeCode (0/15)*/,
9674  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9675  },
9676  // -4:00 Brazil -04/-03 1988 Sep 12
9677  {
9678  &kZonePolicyBrazil /*zonePolicy*/,
9679  "-04/-03" /*format*/,
9680  -960 /*offsetCode (-14400/15)*/,
9681  0 /*offsetRemainder (-14400%15)*/,
9682  0 /*deltaMinutes*/,
9683  1988 /*untilYear*/,
9684  9 /*untilMonth*/,
9685  12 /*untilDay*/,
9686  0 /*untilTimeCode (0/15)*/,
9687  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9688  },
9689  // -4:00 - -04 1993 Sep 28
9690  {
9691  nullptr /*zonePolicy*/,
9692  "-04" /*format*/,
9693  -960 /*offsetCode (-14400/15)*/,
9694  0 /*offsetRemainder (-14400%15)*/,
9695  0 /*deltaMinutes*/,
9696  1993 /*untilYear*/,
9697  9 /*untilMonth*/,
9698  28 /*untilDay*/,
9699  0 /*untilTimeCode (0/15)*/,
9700  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9701  },
9702  // -4:00 Brazil -04/-03 1994 Sep 22
9703  {
9704  &kZonePolicyBrazil /*zonePolicy*/,
9705  "-04/-03" /*format*/,
9706  -960 /*offsetCode (-14400/15)*/,
9707  0 /*offsetRemainder (-14400%15)*/,
9708  0 /*deltaMinutes*/,
9709  1994 /*untilYear*/,
9710  9 /*untilMonth*/,
9711  22 /*untilDay*/,
9712  0 /*untilTimeCode (0/15)*/,
9713  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9714  },
9715  // -4:00 - -04
9716  {
9717  nullptr /*zonePolicy*/,
9718  "-04" /*format*/,
9719  -960 /*offsetCode (-14400/15)*/,
9720  0 /*offsetRemainder (-14400%15)*/,
9721  0 /*deltaMinutes*/,
9722  32767 /*untilYear*/,
9723  1 /*untilMonth*/,
9724  1 /*untilDay*/,
9725  0 /*untilTimeCode (0/15)*/,
9726  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9727  },
9728 
9729 };
9730 
9731 static const char kZoneNameAmerica_Manaus[] ACE_TIME_PROGMEM = "\x02" "Manaus";
9732 
9733 const complete::ZoneInfo kZoneAmerica_Manaus ACE_TIME_PROGMEM = {
9734  kZoneNameAmerica_Manaus /*name*/,
9735  0xac86bf8b /*zoneId*/,
9736  &kZoneContext /*zoneContext*/,
9737  5 /*numEras*/,
9738  kZoneEraAmerica_Manaus /*eras*/,
9739  nullptr /*targetInfo*/,
9740 };
9741 
9742 //---------------------------------------------------------------------------
9743 // Zone name: America/Martinique
9744 // Eras: 5
9745 //---------------------------------------------------------------------------
9746 
9747 static const complete::ZoneEra kZoneEraAmerica_Martinique[] ACE_TIME_PROGMEM = {
9748  // -4:04:20 - LMT 1890
9749  {
9750  nullptr /*zonePolicy*/,
9751  "LMT" /*format*/,
9752  -978 /*offsetCode (-14660/15)*/,
9753  10 /*offsetRemainder (-14660%15)*/,
9754  0 /*deltaMinutes*/,
9755  1890 /*untilYear*/,
9756  1 /*untilMonth*/,
9757  1 /*untilDay*/,
9758  0 /*untilTimeCode (0/15)*/,
9759  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9760  },
9761  // -4:04:20 - FFMT 1911 May
9762  {
9763  nullptr /*zonePolicy*/,
9764  "FFMT" /*format*/,
9765  -978 /*offsetCode (-14660/15)*/,
9766  10 /*offsetRemainder (-14660%15)*/,
9767  0 /*deltaMinutes*/,
9768  1911 /*untilYear*/,
9769  5 /*untilMonth*/,
9770  1 /*untilDay*/,
9771  0 /*untilTimeCode (0/15)*/,
9772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9773  },
9774  // -4:00 - AST 1980 Apr 6
9775  {
9776  nullptr /*zonePolicy*/,
9777  "AST" /*format*/,
9778  -960 /*offsetCode (-14400/15)*/,
9779  0 /*offsetRemainder (-14400%15)*/,
9780  0 /*deltaMinutes*/,
9781  1980 /*untilYear*/,
9782  4 /*untilMonth*/,
9783  6 /*untilDay*/,
9784  0 /*untilTimeCode (0/15)*/,
9785  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9786  },
9787  // -4:00 1:00 ADT 1980 Sep 28
9788  {
9789  nullptr /*zonePolicy*/,
9790  "ADT" /*format*/,
9791  -960 /*offsetCode (-14400/15)*/,
9792  0 /*offsetRemainder (-14400%15)*/,
9793  60 /*deltaMinutes*/,
9794  1980 /*untilYear*/,
9795  9 /*untilMonth*/,
9796  28 /*untilDay*/,
9797  0 /*untilTimeCode (0/15)*/,
9798  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9799  },
9800  // -4:00 - AST
9801  {
9802  nullptr /*zonePolicy*/,
9803  "AST" /*format*/,
9804  -960 /*offsetCode (-14400/15)*/,
9805  0 /*offsetRemainder (-14400%15)*/,
9806  0 /*deltaMinutes*/,
9807  32767 /*untilYear*/,
9808  1 /*untilMonth*/,
9809  1 /*untilDay*/,
9810  0 /*untilTimeCode (0/15)*/,
9811  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9812  },
9813 
9814 };
9815 
9816 static const char kZoneNameAmerica_Martinique[] ACE_TIME_PROGMEM = "\x02" "Martinique";
9817 
9818 const complete::ZoneInfo kZoneAmerica_Martinique ACE_TIME_PROGMEM = {
9819  kZoneNameAmerica_Martinique /*name*/,
9820  0x551e84c5 /*zoneId*/,
9821  &kZoneContext /*zoneContext*/,
9822  5 /*numEras*/,
9823  kZoneEraAmerica_Martinique /*eras*/,
9824  nullptr /*targetInfo*/,
9825 };
9826 
9827 //---------------------------------------------------------------------------
9828 // Zone name: America/Matamoros
9829 // Eras: 5
9830 //---------------------------------------------------------------------------
9831 
9832 static const complete::ZoneEra kZoneEraAmerica_Matamoros[] ACE_TIME_PROGMEM = {
9833  // -6:30:00 - LMT 1922 Jan 1 6:00u
9834  {
9835  nullptr /*zonePolicy*/,
9836  "LMT" /*format*/,
9837  -1560 /*offsetCode (-23400/15)*/,
9838  0 /*offsetRemainder (-23400%15)*/,
9839  0 /*deltaMinutes*/,
9840  1922 /*untilYear*/,
9841  1 /*untilMonth*/,
9842  1 /*untilDay*/,
9843  1440 /*untilTimeCode (21600/15)*/,
9844  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9845  },
9846  // -6:00 - CST 1988
9847  {
9848  nullptr /*zonePolicy*/,
9849  "CST" /*format*/,
9850  -1440 /*offsetCode (-21600/15)*/,
9851  0 /*offsetRemainder (-21600%15)*/,
9852  0 /*deltaMinutes*/,
9853  1988 /*untilYear*/,
9854  1 /*untilMonth*/,
9855  1 /*untilDay*/,
9856  0 /*untilTimeCode (0/15)*/,
9857  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9858  },
9859  // -6:00 US C%sT 1989
9860  {
9861  &kZonePolicyUS /*zonePolicy*/,
9862  "C%T" /*format*/,
9863  -1440 /*offsetCode (-21600/15)*/,
9864  0 /*offsetRemainder (-21600%15)*/,
9865  0 /*deltaMinutes*/,
9866  1989 /*untilYear*/,
9867  1 /*untilMonth*/,
9868  1 /*untilDay*/,
9869  0 /*untilTimeCode (0/15)*/,
9870  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9871  },
9872  // -6:00 Mexico C%sT 2010
9873  {
9874  &kZonePolicyMexico /*zonePolicy*/,
9875  "C%T" /*format*/,
9876  -1440 /*offsetCode (-21600/15)*/,
9877  0 /*offsetRemainder (-21600%15)*/,
9878  0 /*deltaMinutes*/,
9879  2010 /*untilYear*/,
9880  1 /*untilMonth*/,
9881  1 /*untilDay*/,
9882  0 /*untilTimeCode (0/15)*/,
9883  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9884  },
9885  // -6:00 US C%sT
9886  {
9887  &kZonePolicyUS /*zonePolicy*/,
9888  "C%T" /*format*/,
9889  -1440 /*offsetCode (-21600/15)*/,
9890  0 /*offsetRemainder (-21600%15)*/,
9891  0 /*deltaMinutes*/,
9892  32767 /*untilYear*/,
9893  1 /*untilMonth*/,
9894  1 /*untilDay*/,
9895  0 /*untilTimeCode (0/15)*/,
9896  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9897  },
9898 
9899 };
9900 
9901 static const char kZoneNameAmerica_Matamoros[] ACE_TIME_PROGMEM = "\x02" "Matamoros";
9902 
9903 const complete::ZoneInfo kZoneAmerica_Matamoros ACE_TIME_PROGMEM = {
9904  kZoneNameAmerica_Matamoros /*name*/,
9905  0xdd1b0259 /*zoneId*/,
9906  &kZoneContext /*zoneContext*/,
9907  5 /*numEras*/,
9908  kZoneEraAmerica_Matamoros /*eras*/,
9909  nullptr /*targetInfo*/,
9910 };
9911 
9912 //---------------------------------------------------------------------------
9913 // Zone name: America/Mazatlan
9914 // Eras: 8
9915 //---------------------------------------------------------------------------
9916 
9917 static const complete::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = {
9918  // -7:05:40 - LMT 1922 Jan 1 7:00u
9919  {
9920  nullptr /*zonePolicy*/,
9921  "LMT" /*format*/,
9922  -1703 /*offsetCode (-25540/15)*/,
9923  5 /*offsetRemainder (-25540%15)*/,
9924  0 /*deltaMinutes*/,
9925  1922 /*untilYear*/,
9926  1 /*untilMonth*/,
9927  1 /*untilDay*/,
9928  1680 /*untilTimeCode (25200/15)*/,
9929  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9930  },
9931  // -7:00 - MST 1927 Jun 10 23:00
9932  {
9933  nullptr /*zonePolicy*/,
9934  "MST" /*format*/,
9935  -1680 /*offsetCode (-25200/15)*/,
9936  0 /*offsetRemainder (-25200%15)*/,
9937  0 /*deltaMinutes*/,
9938  1927 /*untilYear*/,
9939  6 /*untilMonth*/,
9940  10 /*untilDay*/,
9941  5520 /*untilTimeCode (82800/15)*/,
9942  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9943  },
9944  // -6:00 - CST 1930 Nov 15
9945  {
9946  nullptr /*zonePolicy*/,
9947  "CST" /*format*/,
9948  -1440 /*offsetCode (-21600/15)*/,
9949  0 /*offsetRemainder (-21600%15)*/,
9950  0 /*deltaMinutes*/,
9951  1930 /*untilYear*/,
9952  11 /*untilMonth*/,
9953  15 /*untilDay*/,
9954  0 /*untilTimeCode (0/15)*/,
9955  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9956  },
9957  // -7:00 Mexico M%sT 1932 Apr 1
9958  {
9959  &kZonePolicyMexico /*zonePolicy*/,
9960  "M%T" /*format*/,
9961  -1680 /*offsetCode (-25200/15)*/,
9962  0 /*offsetRemainder (-25200%15)*/,
9963  0 /*deltaMinutes*/,
9964  1932 /*untilYear*/,
9965  4 /*untilMonth*/,
9966  1 /*untilDay*/,
9967  0 /*untilTimeCode (0/15)*/,
9968  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9969  },
9970  // -6:00 - CST 1942 Apr 24
9971  {
9972  nullptr /*zonePolicy*/,
9973  "CST" /*format*/,
9974  -1440 /*offsetCode (-21600/15)*/,
9975  0 /*offsetRemainder (-21600%15)*/,
9976  0 /*deltaMinutes*/,
9977  1942 /*untilYear*/,
9978  4 /*untilMonth*/,
9979  24 /*untilDay*/,
9980  0 /*untilTimeCode (0/15)*/,
9981  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9982  },
9983  // -7:00 - MST 1949 Jan 14
9984  {
9985  nullptr /*zonePolicy*/,
9986  "MST" /*format*/,
9987  -1680 /*offsetCode (-25200/15)*/,
9988  0 /*offsetRemainder (-25200%15)*/,
9989  0 /*deltaMinutes*/,
9990  1949 /*untilYear*/,
9991  1 /*untilMonth*/,
9992  14 /*untilDay*/,
9993  0 /*untilTimeCode (0/15)*/,
9994  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9995  },
9996  // -8:00 - PST 1970
9997  {
9998  nullptr /*zonePolicy*/,
9999  "PST" /*format*/,
10000  -1920 /*offsetCode (-28800/15)*/,
10001  0 /*offsetRemainder (-28800%15)*/,
10002  0 /*deltaMinutes*/,
10003  1970 /*untilYear*/,
10004  1 /*untilMonth*/,
10005  1 /*untilDay*/,
10006  0 /*untilTimeCode (0/15)*/,
10007  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10008  },
10009  // -7:00 Mexico M%sT
10010  {
10011  &kZonePolicyMexico /*zonePolicy*/,
10012  "M%T" /*format*/,
10013  -1680 /*offsetCode (-25200/15)*/,
10014  0 /*offsetRemainder (-25200%15)*/,
10015  0 /*deltaMinutes*/,
10016  32767 /*untilYear*/,
10017  1 /*untilMonth*/,
10018  1 /*untilDay*/,
10019  0 /*untilTimeCode (0/15)*/,
10020  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10021  },
10022 
10023 };
10024 
10025 static const char kZoneNameAmerica_Mazatlan[] ACE_TIME_PROGMEM = "\x02" "Mazatlan";
10026 
10027 const complete::ZoneInfo kZoneAmerica_Mazatlan ACE_TIME_PROGMEM = {
10028  kZoneNameAmerica_Mazatlan /*name*/,
10029  0x0532189e /*zoneId*/,
10030  &kZoneContext /*zoneContext*/,
10031  8 /*numEras*/,
10032  kZoneEraAmerica_Mazatlan /*eras*/,
10033  nullptr /*targetInfo*/,
10034 };
10035 
10036 //---------------------------------------------------------------------------
10037 // Zone name: America/Menominee
10038 // Eras: 5
10039 //---------------------------------------------------------------------------
10040 
10041 static const complete::ZoneEra kZoneEraAmerica_Menominee[] ACE_TIME_PROGMEM = {
10042  // -5:50:27 - LMT 1885 Sep 18 12:00
10043  {
10044  nullptr /*zonePolicy*/,
10045  "LMT" /*format*/,
10046  -1402 /*offsetCode (-21027/15)*/,
10047  3 /*offsetRemainder (-21027%15)*/,
10048  0 /*deltaMinutes*/,
10049  1885 /*untilYear*/,
10050  9 /*untilMonth*/,
10051  18 /*untilDay*/,
10052  2880 /*untilTimeCode (43200/15)*/,
10053  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10054  },
10055  // -6:00 US C%sT 1946
10056  {
10057  &kZonePolicyUS /*zonePolicy*/,
10058  "C%T" /*format*/,
10059  -1440 /*offsetCode (-21600/15)*/,
10060  0 /*offsetRemainder (-21600%15)*/,
10061  0 /*deltaMinutes*/,
10062  1946 /*untilYear*/,
10063  1 /*untilMonth*/,
10064  1 /*untilDay*/,
10065  0 /*untilTimeCode (0/15)*/,
10066  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10067  },
10068  // -6:00 Menominee C%sT 1969 Apr 27 2:00
10069  {
10070  &kZonePolicyMenominee /*zonePolicy*/,
10071  "C%T" /*format*/,
10072  -1440 /*offsetCode (-21600/15)*/,
10073  0 /*offsetRemainder (-21600%15)*/,
10074  0 /*deltaMinutes*/,
10075  1969 /*untilYear*/,
10076  4 /*untilMonth*/,
10077  27 /*untilDay*/,
10078  480 /*untilTimeCode (7200/15)*/,
10079  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10080  },
10081  // -5:00 - EST 1973 Apr 29 2:00
10082  {
10083  nullptr /*zonePolicy*/,
10084  "EST" /*format*/,
10085  -1200 /*offsetCode (-18000/15)*/,
10086  0 /*offsetRemainder (-18000%15)*/,
10087  0 /*deltaMinutes*/,
10088  1973 /*untilYear*/,
10089  4 /*untilMonth*/,
10090  29 /*untilDay*/,
10091  480 /*untilTimeCode (7200/15)*/,
10092  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10093  },
10094  // -6:00 US C%sT
10095  {
10096  &kZonePolicyUS /*zonePolicy*/,
10097  "C%T" /*format*/,
10098  -1440 /*offsetCode (-21600/15)*/,
10099  0 /*offsetRemainder (-21600%15)*/,
10100  0 /*deltaMinutes*/,
10101  32767 /*untilYear*/,
10102  1 /*untilMonth*/,
10103  1 /*untilDay*/,
10104  0 /*untilTimeCode (0/15)*/,
10105  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10106  },
10107 
10108 };
10109 
10110 static const char kZoneNameAmerica_Menominee[] ACE_TIME_PROGMEM = "\x02" "Menominee";
10111 
10112 const complete::ZoneInfo kZoneAmerica_Menominee ACE_TIME_PROGMEM = {
10113  kZoneNameAmerica_Menominee /*name*/,
10114  0xe0e9c583 /*zoneId*/,
10115  &kZoneContext /*zoneContext*/,
10116  5 /*numEras*/,
10117  kZoneEraAmerica_Menominee /*eras*/,
10118  nullptr /*targetInfo*/,
10119 };
10120 
10121 //---------------------------------------------------------------------------
10122 // Zone name: America/Merida
10123 // Eras: 4
10124 //---------------------------------------------------------------------------
10125 
10126 static const complete::ZoneEra kZoneEraAmerica_Merida[] ACE_TIME_PROGMEM = {
10127  // -5:58:28 - LMT 1922 Jan 1 6:00u
10128  {
10129  nullptr /*zonePolicy*/,
10130  "LMT" /*format*/,
10131  -1434 /*offsetCode (-21508/15)*/,
10132  2 /*offsetRemainder (-21508%15)*/,
10133  0 /*deltaMinutes*/,
10134  1922 /*untilYear*/,
10135  1 /*untilMonth*/,
10136  1 /*untilDay*/,
10137  1440 /*untilTimeCode (21600/15)*/,
10138  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10139  },
10140  // -6:00 - CST 1981 Dec 23
10141  {
10142  nullptr /*zonePolicy*/,
10143  "CST" /*format*/,
10144  -1440 /*offsetCode (-21600/15)*/,
10145  0 /*offsetRemainder (-21600%15)*/,
10146  0 /*deltaMinutes*/,
10147  1981 /*untilYear*/,
10148  12 /*untilMonth*/,
10149  23 /*untilDay*/,
10150  0 /*untilTimeCode (0/15)*/,
10151  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10152  },
10153  // -5:00 - EST 1982 Dec 2
10154  {
10155  nullptr /*zonePolicy*/,
10156  "EST" /*format*/,
10157  -1200 /*offsetCode (-18000/15)*/,
10158  0 /*offsetRemainder (-18000%15)*/,
10159  0 /*deltaMinutes*/,
10160  1982 /*untilYear*/,
10161  12 /*untilMonth*/,
10162  2 /*untilDay*/,
10163  0 /*untilTimeCode (0/15)*/,
10164  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10165  },
10166  // -6:00 Mexico C%sT
10167  {
10168  &kZonePolicyMexico /*zonePolicy*/,
10169  "C%T" /*format*/,
10170  -1440 /*offsetCode (-21600/15)*/,
10171  0 /*offsetRemainder (-21600%15)*/,
10172  0 /*deltaMinutes*/,
10173  32767 /*untilYear*/,
10174  1 /*untilMonth*/,
10175  1 /*untilDay*/,
10176  0 /*untilTimeCode (0/15)*/,
10177  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10178  },
10179 
10180 };
10181 
10182 static const char kZoneNameAmerica_Merida[] ACE_TIME_PROGMEM = "\x02" "Merida";
10183 
10184 const complete::ZoneInfo kZoneAmerica_Merida ACE_TIME_PROGMEM = {
10185  kZoneNameAmerica_Merida /*name*/,
10186  0xacd172d8 /*zoneId*/,
10187  &kZoneContext /*zoneContext*/,
10188  4 /*numEras*/,
10189  kZoneEraAmerica_Merida /*eras*/,
10190  nullptr /*targetInfo*/,
10191 };
10192 
10193 //---------------------------------------------------------------------------
10194 // Zone name: America/Metlakatla
10195 // Eras: 10
10196 //---------------------------------------------------------------------------
10197 
10198 static const complete::ZoneEra kZoneEraAmerica_Metlakatla[] ACE_TIME_PROGMEM = {
10199  // 15:13:42 - LMT 1867 Oct 19 15:44:55
10200  {
10201  nullptr /*zonePolicy*/,
10202  "LMT" /*format*/,
10203  3654 /*offsetCode (54822/15)*/,
10204  12 /*offsetRemainder (54822%15)*/,
10205  0 /*deltaMinutes*/,
10206  1867 /*untilYear*/,
10207  10 /*untilMonth*/,
10208  19 /*untilDay*/,
10209  3779 /*untilTimeCode (56695/15)*/,
10210  10 /*untilTimeModifier (kAtcSuffixW + seconds=10)*/,
10211  },
10212  // -8:46:18 - LMT 1900 Aug 20 12:00
10213  {
10214  nullptr /*zonePolicy*/,
10215  "LMT" /*format*/,
10216  -2106 /*offsetCode (-31578/15)*/,
10217  12 /*offsetRemainder (-31578%15)*/,
10218  0 /*deltaMinutes*/,
10219  1900 /*untilYear*/,
10220  8 /*untilMonth*/,
10221  20 /*untilDay*/,
10222  2880 /*untilTimeCode (43200/15)*/,
10223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10224  },
10225  // -8:00 - PST 1942
10226  {
10227  nullptr /*zonePolicy*/,
10228  "PST" /*format*/,
10229  -1920 /*offsetCode (-28800/15)*/,
10230  0 /*offsetRemainder (-28800%15)*/,
10231  0 /*deltaMinutes*/,
10232  1942 /*untilYear*/,
10233  1 /*untilMonth*/,
10234  1 /*untilDay*/,
10235  0 /*untilTimeCode (0/15)*/,
10236  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10237  },
10238  // -8:00 US P%sT 1946
10239  {
10240  &kZonePolicyUS /*zonePolicy*/,
10241  "P%T" /*format*/,
10242  -1920 /*offsetCode (-28800/15)*/,
10243  0 /*offsetRemainder (-28800%15)*/,
10244  0 /*deltaMinutes*/,
10245  1946 /*untilYear*/,
10246  1 /*untilMonth*/,
10247  1 /*untilDay*/,
10248  0 /*untilTimeCode (0/15)*/,
10249  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10250  },
10251  // -8:00 - PST 1969
10252  {
10253  nullptr /*zonePolicy*/,
10254  "PST" /*format*/,
10255  -1920 /*offsetCode (-28800/15)*/,
10256  0 /*offsetRemainder (-28800%15)*/,
10257  0 /*deltaMinutes*/,
10258  1969 /*untilYear*/,
10259  1 /*untilMonth*/,
10260  1 /*untilDay*/,
10261  0 /*untilTimeCode (0/15)*/,
10262  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10263  },
10264  // -8:00 US P%sT 1983 Oct 30 2:00
10265  {
10266  &kZonePolicyUS /*zonePolicy*/,
10267  "P%T" /*format*/,
10268  -1920 /*offsetCode (-28800/15)*/,
10269  0 /*offsetRemainder (-28800%15)*/,
10270  0 /*deltaMinutes*/,
10271  1983 /*untilYear*/,
10272  10 /*untilMonth*/,
10273  30 /*untilDay*/,
10274  480 /*untilTimeCode (7200/15)*/,
10275  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10276  },
10277  // -8:00 - PST 2015 Nov 1 2:00
10278  {
10279  nullptr /*zonePolicy*/,
10280  "PST" /*format*/,
10281  -1920 /*offsetCode (-28800/15)*/,
10282  0 /*offsetRemainder (-28800%15)*/,
10283  0 /*deltaMinutes*/,
10284  2015 /*untilYear*/,
10285  11 /*untilMonth*/,
10286  1 /*untilDay*/,
10287  480 /*untilTimeCode (7200/15)*/,
10288  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10289  },
10290  // -9:00 US AK%sT 2018 Nov 4 2:00
10291  {
10292  &kZonePolicyUS /*zonePolicy*/,
10293  "AK%T" /*format*/,
10294  -2160 /*offsetCode (-32400/15)*/,
10295  0 /*offsetRemainder (-32400%15)*/,
10296  0 /*deltaMinutes*/,
10297  2018 /*untilYear*/,
10298  11 /*untilMonth*/,
10299  4 /*untilDay*/,
10300  480 /*untilTimeCode (7200/15)*/,
10301  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10302  },
10303  // -8:00 - PST 2019 Jan 20 2:00
10304  {
10305  nullptr /*zonePolicy*/,
10306  "PST" /*format*/,
10307  -1920 /*offsetCode (-28800/15)*/,
10308  0 /*offsetRemainder (-28800%15)*/,
10309  0 /*deltaMinutes*/,
10310  2019 /*untilYear*/,
10311  1 /*untilMonth*/,
10312  20 /*untilDay*/,
10313  480 /*untilTimeCode (7200/15)*/,
10314  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10315  },
10316  // -9:00 US AK%sT
10317  {
10318  &kZonePolicyUS /*zonePolicy*/,
10319  "AK%T" /*format*/,
10320  -2160 /*offsetCode (-32400/15)*/,
10321  0 /*offsetRemainder (-32400%15)*/,
10322  0 /*deltaMinutes*/,
10323  32767 /*untilYear*/,
10324  1 /*untilMonth*/,
10325  1 /*untilDay*/,
10326  0 /*untilTimeCode (0/15)*/,
10327  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10328  },
10329 
10330 };
10331 
10332 static const char kZoneNameAmerica_Metlakatla[] ACE_TIME_PROGMEM = "\x02" "Metlakatla";
10333 
10334 const complete::ZoneInfo kZoneAmerica_Metlakatla ACE_TIME_PROGMEM = {
10335  kZoneNameAmerica_Metlakatla /*name*/,
10336  0x84de2686 /*zoneId*/,
10337  &kZoneContext /*zoneContext*/,
10338  10 /*numEras*/,
10339  kZoneEraAmerica_Metlakatla /*eras*/,
10340  nullptr /*targetInfo*/,
10341 };
10342 
10343 //---------------------------------------------------------------------------
10344 // Zone name: America/Mexico_City
10345 // Eras: 7
10346 //---------------------------------------------------------------------------
10347 
10348 static const complete::ZoneEra kZoneEraAmerica_Mexico_City[] ACE_TIME_PROGMEM = {
10349  // -6:36:36 - LMT 1922 Jan 1 7:00u
10350  {
10351  nullptr /*zonePolicy*/,
10352  "LMT" /*format*/,
10353  -1587 /*offsetCode (-23796/15)*/,
10354  9 /*offsetRemainder (-23796%15)*/,
10355  0 /*deltaMinutes*/,
10356  1922 /*untilYear*/,
10357  1 /*untilMonth*/,
10358  1 /*untilDay*/,
10359  1680 /*untilTimeCode (25200/15)*/,
10360  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10361  },
10362  // -7:00 - MST 1927 Jun 10 23:00
10363  {
10364  nullptr /*zonePolicy*/,
10365  "MST" /*format*/,
10366  -1680 /*offsetCode (-25200/15)*/,
10367  0 /*offsetRemainder (-25200%15)*/,
10368  0 /*deltaMinutes*/,
10369  1927 /*untilYear*/,
10370  6 /*untilMonth*/,
10371  10 /*untilDay*/,
10372  5520 /*untilTimeCode (82800/15)*/,
10373  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10374  },
10375  // -6:00 - CST 1930 Nov 15
10376  {
10377  nullptr /*zonePolicy*/,
10378  "CST" /*format*/,
10379  -1440 /*offsetCode (-21600/15)*/,
10380  0 /*offsetRemainder (-21600%15)*/,
10381  0 /*deltaMinutes*/,
10382  1930 /*untilYear*/,
10383  11 /*untilMonth*/,
10384  15 /*untilDay*/,
10385  0 /*untilTimeCode (0/15)*/,
10386  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10387  },
10388  // -7:00 Mexico M%sT 1932 Apr 1
10389  {
10390  &kZonePolicyMexico /*zonePolicy*/,
10391  "M%T" /*format*/,
10392  -1680 /*offsetCode (-25200/15)*/,
10393  0 /*offsetRemainder (-25200%15)*/,
10394  0 /*deltaMinutes*/,
10395  1932 /*untilYear*/,
10396  4 /*untilMonth*/,
10397  1 /*untilDay*/,
10398  0 /*untilTimeCode (0/15)*/,
10399  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10400  },
10401  // -6:00 Mexico C%sT 2001 Sep 30 2:00
10402  {
10403  &kZonePolicyMexico /*zonePolicy*/,
10404  "C%T" /*format*/,
10405  -1440 /*offsetCode (-21600/15)*/,
10406  0 /*offsetRemainder (-21600%15)*/,
10407  0 /*deltaMinutes*/,
10408  2001 /*untilYear*/,
10409  9 /*untilMonth*/,
10410  30 /*untilDay*/,
10411  480 /*untilTimeCode (7200/15)*/,
10412  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10413  },
10414  // -6:00 - CST 2002 Feb 20
10415  {
10416  nullptr /*zonePolicy*/,
10417  "CST" /*format*/,
10418  -1440 /*offsetCode (-21600/15)*/,
10419  0 /*offsetRemainder (-21600%15)*/,
10420  0 /*deltaMinutes*/,
10421  2002 /*untilYear*/,
10422  2 /*untilMonth*/,
10423  20 /*untilDay*/,
10424  0 /*untilTimeCode (0/15)*/,
10425  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10426  },
10427  // -6:00 Mexico C%sT
10428  {
10429  &kZonePolicyMexico /*zonePolicy*/,
10430  "C%T" /*format*/,
10431  -1440 /*offsetCode (-21600/15)*/,
10432  0 /*offsetRemainder (-21600%15)*/,
10433  0 /*deltaMinutes*/,
10434  32767 /*untilYear*/,
10435  1 /*untilMonth*/,
10436  1 /*untilDay*/,
10437  0 /*untilTimeCode (0/15)*/,
10438  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10439  },
10440 
10441 };
10442 
10443 static const char kZoneNameAmerica_Mexico_City[] ACE_TIME_PROGMEM = "\x02" "Mexico_City";
10444 
10445 const complete::ZoneInfo kZoneAmerica_Mexico_City ACE_TIME_PROGMEM = {
10446  kZoneNameAmerica_Mexico_City /*name*/,
10447  0xd0d93f43 /*zoneId*/,
10448  &kZoneContext /*zoneContext*/,
10449  7 /*numEras*/,
10450  kZoneEraAmerica_Mexico_City /*eras*/,
10451  nullptr /*targetInfo*/,
10452 };
10453 
10454 //---------------------------------------------------------------------------
10455 // Zone name: America/Miquelon
10456 // Eras: 4
10457 //---------------------------------------------------------------------------
10458 
10459 static const complete::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = {
10460  // -3:44:40 - LMT 1911 May 15
10461  {
10462  nullptr /*zonePolicy*/,
10463  "LMT" /*format*/,
10464  -899 /*offsetCode (-13480/15)*/,
10465  5 /*offsetRemainder (-13480%15)*/,
10466  0 /*deltaMinutes*/,
10467  1911 /*untilYear*/,
10468  5 /*untilMonth*/,
10469  15 /*untilDay*/,
10470  0 /*untilTimeCode (0/15)*/,
10471  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10472  },
10473  // -4:00 - AST 1980 May
10474  {
10475  nullptr /*zonePolicy*/,
10476  "AST" /*format*/,
10477  -960 /*offsetCode (-14400/15)*/,
10478  0 /*offsetRemainder (-14400%15)*/,
10479  0 /*deltaMinutes*/,
10480  1980 /*untilYear*/,
10481  5 /*untilMonth*/,
10482  1 /*untilDay*/,
10483  0 /*untilTimeCode (0/15)*/,
10484  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10485  },
10486  // -3:00 - -03 1987
10487  {
10488  nullptr /*zonePolicy*/,
10489  "-03" /*format*/,
10490  -720 /*offsetCode (-10800/15)*/,
10491  0 /*offsetRemainder (-10800%15)*/,
10492  0 /*deltaMinutes*/,
10493  1987 /*untilYear*/,
10494  1 /*untilMonth*/,
10495  1 /*untilDay*/,
10496  0 /*untilTimeCode (0/15)*/,
10497  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10498  },
10499  // -3:00 Canada -03/-02
10500  {
10501  &kZonePolicyCanada /*zonePolicy*/,
10502  "-03/-02" /*format*/,
10503  -720 /*offsetCode (-10800/15)*/,
10504  0 /*offsetRemainder (-10800%15)*/,
10505  0 /*deltaMinutes*/,
10506  32767 /*untilYear*/,
10507  1 /*untilMonth*/,
10508  1 /*untilDay*/,
10509  0 /*untilTimeCode (0/15)*/,
10510  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10511  },
10512 
10513 };
10514 
10515 static const char kZoneNameAmerica_Miquelon[] ACE_TIME_PROGMEM = "\x02" "Miquelon";
10516 
10517 const complete::ZoneInfo kZoneAmerica_Miquelon ACE_TIME_PROGMEM = {
10518  kZoneNameAmerica_Miquelon /*name*/,
10519  0x59674330 /*zoneId*/,
10520  &kZoneContext /*zoneContext*/,
10521  4 /*numEras*/,
10522  kZoneEraAmerica_Miquelon /*eras*/,
10523  nullptr /*targetInfo*/,
10524 };
10525 
10526 //---------------------------------------------------------------------------
10527 // Zone name: America/Moncton
10528 // Eras: 9
10529 //---------------------------------------------------------------------------
10530 
10531 static const complete::ZoneEra kZoneEraAmerica_Moncton[] ACE_TIME_PROGMEM = {
10532  // -4:19:08 - LMT 1883 Dec 9
10533  {
10534  nullptr /*zonePolicy*/,
10535  "LMT" /*format*/,
10536  -1037 /*offsetCode (-15548/15)*/,
10537  7 /*offsetRemainder (-15548%15)*/,
10538  0 /*deltaMinutes*/,
10539  1883 /*untilYear*/,
10540  12 /*untilMonth*/,
10541  9 /*untilDay*/,
10542  0 /*untilTimeCode (0/15)*/,
10543  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10544  },
10545  // -5:00 - EST 1902 Jun 15
10546  {
10547  nullptr /*zonePolicy*/,
10548  "EST" /*format*/,
10549  -1200 /*offsetCode (-18000/15)*/,
10550  0 /*offsetRemainder (-18000%15)*/,
10551  0 /*deltaMinutes*/,
10552  1902 /*untilYear*/,
10553  6 /*untilMonth*/,
10554  15 /*untilDay*/,
10555  0 /*untilTimeCode (0/15)*/,
10556  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10557  },
10558  // -4:00 Canada A%sT 1933
10559  {
10560  &kZonePolicyCanada /*zonePolicy*/,
10561  "A%T" /*format*/,
10562  -960 /*offsetCode (-14400/15)*/,
10563  0 /*offsetRemainder (-14400%15)*/,
10564  0 /*deltaMinutes*/,
10565  1933 /*untilYear*/,
10566  1 /*untilMonth*/,
10567  1 /*untilDay*/,
10568  0 /*untilTimeCode (0/15)*/,
10569  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10570  },
10571  // -4:00 Moncton A%sT 1942
10572  {
10573  &kZonePolicyMoncton /*zonePolicy*/,
10574  "A%T" /*format*/,
10575  -960 /*offsetCode (-14400/15)*/,
10576  0 /*offsetRemainder (-14400%15)*/,
10577  0 /*deltaMinutes*/,
10578  1942 /*untilYear*/,
10579  1 /*untilMonth*/,
10580  1 /*untilDay*/,
10581  0 /*untilTimeCode (0/15)*/,
10582  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10583  },
10584  // -4:00 Canada A%sT 1946
10585  {
10586  &kZonePolicyCanada /*zonePolicy*/,
10587  "A%T" /*format*/,
10588  -960 /*offsetCode (-14400/15)*/,
10589  0 /*offsetRemainder (-14400%15)*/,
10590  0 /*deltaMinutes*/,
10591  1946 /*untilYear*/,
10592  1 /*untilMonth*/,
10593  1 /*untilDay*/,
10594  0 /*untilTimeCode (0/15)*/,
10595  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10596  },
10597  // -4:00 Moncton A%sT 1973
10598  {
10599  &kZonePolicyMoncton /*zonePolicy*/,
10600  "A%T" /*format*/,
10601  -960 /*offsetCode (-14400/15)*/,
10602  0 /*offsetRemainder (-14400%15)*/,
10603  0 /*deltaMinutes*/,
10604  1973 /*untilYear*/,
10605  1 /*untilMonth*/,
10606  1 /*untilDay*/,
10607  0 /*untilTimeCode (0/15)*/,
10608  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10609  },
10610  // -4:00 Canada A%sT 1993
10611  {
10612  &kZonePolicyCanada /*zonePolicy*/,
10613  "A%T" /*format*/,
10614  -960 /*offsetCode (-14400/15)*/,
10615  0 /*offsetRemainder (-14400%15)*/,
10616  0 /*deltaMinutes*/,
10617  1993 /*untilYear*/,
10618  1 /*untilMonth*/,
10619  1 /*untilDay*/,
10620  0 /*untilTimeCode (0/15)*/,
10621  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10622  },
10623  // -4:00 Moncton A%sT 2007
10624  {
10625  &kZonePolicyMoncton /*zonePolicy*/,
10626  "A%T" /*format*/,
10627  -960 /*offsetCode (-14400/15)*/,
10628  0 /*offsetRemainder (-14400%15)*/,
10629  0 /*deltaMinutes*/,
10630  2007 /*untilYear*/,
10631  1 /*untilMonth*/,
10632  1 /*untilDay*/,
10633  0 /*untilTimeCode (0/15)*/,
10634  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10635  },
10636  // -4:00 Canada A%sT
10637  {
10638  &kZonePolicyCanada /*zonePolicy*/,
10639  "A%T" /*format*/,
10640  -960 /*offsetCode (-14400/15)*/,
10641  0 /*offsetRemainder (-14400%15)*/,
10642  0 /*deltaMinutes*/,
10643  32767 /*untilYear*/,
10644  1 /*untilMonth*/,
10645  1 /*untilDay*/,
10646  0 /*untilTimeCode (0/15)*/,
10647  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10648  },
10649 
10650 };
10651 
10652 static const char kZoneNameAmerica_Moncton[] ACE_TIME_PROGMEM = "\x02" "Moncton";
10653 
10654 const complete::ZoneInfo kZoneAmerica_Moncton ACE_TIME_PROGMEM = {
10655  kZoneNameAmerica_Moncton /*name*/,
10656  0x5e07fe24 /*zoneId*/,
10657  &kZoneContext /*zoneContext*/,
10658  9 /*numEras*/,
10659  kZoneEraAmerica_Moncton /*eras*/,
10660  nullptr /*targetInfo*/,
10661 };
10662 
10663 //---------------------------------------------------------------------------
10664 // Zone name: America/Monterrey
10665 // Eras: 4
10666 //---------------------------------------------------------------------------
10667 
10668 static const complete::ZoneEra kZoneEraAmerica_Monterrey[] ACE_TIME_PROGMEM = {
10669  // -6:41:16 - LMT 1922 Jan 1 6:00u
10670  {
10671  nullptr /*zonePolicy*/,
10672  "LMT" /*format*/,
10673  -1606 /*offsetCode (-24076/15)*/,
10674  14 /*offsetRemainder (-24076%15)*/,
10675  0 /*deltaMinutes*/,
10676  1922 /*untilYear*/,
10677  1 /*untilMonth*/,
10678  1 /*untilDay*/,
10679  1440 /*untilTimeCode (21600/15)*/,
10680  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10681  },
10682  // -6:00 - CST 1988
10683  {
10684  nullptr /*zonePolicy*/,
10685  "CST" /*format*/,
10686  -1440 /*offsetCode (-21600/15)*/,
10687  0 /*offsetRemainder (-21600%15)*/,
10688  0 /*deltaMinutes*/,
10689  1988 /*untilYear*/,
10690  1 /*untilMonth*/,
10691  1 /*untilDay*/,
10692  0 /*untilTimeCode (0/15)*/,
10693  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10694  },
10695  // -6:00 US C%sT 1989
10696  {
10697  &kZonePolicyUS /*zonePolicy*/,
10698  "C%T" /*format*/,
10699  -1440 /*offsetCode (-21600/15)*/,
10700  0 /*offsetRemainder (-21600%15)*/,
10701  0 /*deltaMinutes*/,
10702  1989 /*untilYear*/,
10703  1 /*untilMonth*/,
10704  1 /*untilDay*/,
10705  0 /*untilTimeCode (0/15)*/,
10706  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10707  },
10708  // -6:00 Mexico C%sT
10709  {
10710  &kZonePolicyMexico /*zonePolicy*/,
10711  "C%T" /*format*/,
10712  -1440 /*offsetCode (-21600/15)*/,
10713  0 /*offsetRemainder (-21600%15)*/,
10714  0 /*deltaMinutes*/,
10715  32767 /*untilYear*/,
10716  1 /*untilMonth*/,
10717  1 /*untilDay*/,
10718  0 /*untilTimeCode (0/15)*/,
10719  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10720  },
10721 
10722 };
10723 
10724 static const char kZoneNameAmerica_Monterrey[] ACE_TIME_PROGMEM = "\x02" "Monterrey";
10725 
10726 const complete::ZoneInfo kZoneAmerica_Monterrey ACE_TIME_PROGMEM = {
10727  kZoneNameAmerica_Monterrey /*name*/,
10728  0x269a1deb /*zoneId*/,
10729  &kZoneContext /*zoneContext*/,
10730  4 /*numEras*/,
10731  kZoneEraAmerica_Monterrey /*eras*/,
10732  nullptr /*targetInfo*/,
10733 };
10734 
10735 //---------------------------------------------------------------------------
10736 // Zone name: America/Montevideo
10737 // Eras: 11
10738 //---------------------------------------------------------------------------
10739 
10740 static const complete::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = {
10741  // -3:44:51 - LMT 1908 Jun 10
10742  {
10743  nullptr /*zonePolicy*/,
10744  "LMT" /*format*/,
10745  -900 /*offsetCode (-13491/15)*/,
10746  9 /*offsetRemainder (-13491%15)*/,
10747  0 /*deltaMinutes*/,
10748  1908 /*untilYear*/,
10749  6 /*untilMonth*/,
10750  10 /*untilDay*/,
10751  0 /*untilTimeCode (0/15)*/,
10752  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10753  },
10754  // -3:44:51 - MMT 1920 May 1
10755  {
10756  nullptr /*zonePolicy*/,
10757  "MMT" /*format*/,
10758  -900 /*offsetCode (-13491/15)*/,
10759  9 /*offsetRemainder (-13491%15)*/,
10760  0 /*deltaMinutes*/,
10761  1920 /*untilYear*/,
10762  5 /*untilMonth*/,
10763  1 /*untilDay*/,
10764  0 /*untilTimeCode (0/15)*/,
10765  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10766  },
10767  // -4:00 - -04 1923 Oct 1
10768  {
10769  nullptr /*zonePolicy*/,
10770  "-04" /*format*/,
10771  -960 /*offsetCode (-14400/15)*/,
10772  0 /*offsetRemainder (-14400%15)*/,
10773  0 /*deltaMinutes*/,
10774  1923 /*untilYear*/,
10775  10 /*untilMonth*/,
10776  1 /*untilDay*/,
10777  0 /*untilTimeCode (0/15)*/,
10778  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10779  },
10780  // -3:30 Uruguay -0330/-03 1942 Dec 14
10781  {
10782  &kZonePolicyUruguay /*zonePolicy*/,
10783  "-0330/-03" /*format*/,
10784  -840 /*offsetCode (-12600/15)*/,
10785  0 /*offsetRemainder (-12600%15)*/,
10786  0 /*deltaMinutes*/,
10787  1942 /*untilYear*/,
10788  12 /*untilMonth*/,
10789  14 /*untilDay*/,
10790  0 /*untilTimeCode (0/15)*/,
10791  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10792  },
10793  // -3:00 Uruguay -03/-0230 1960
10794  {
10795  &kZonePolicyUruguay /*zonePolicy*/,
10796  "-03/-0230" /*format*/,
10797  -720 /*offsetCode (-10800/15)*/,
10798  0 /*offsetRemainder (-10800%15)*/,
10799  0 /*deltaMinutes*/,
10800  1960 /*untilYear*/,
10801  1 /*untilMonth*/,
10802  1 /*untilDay*/,
10803  0 /*untilTimeCode (0/15)*/,
10804  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10805  },
10806  // -3:00 Uruguay -03/-02 1968
10807  {
10808  &kZonePolicyUruguay /*zonePolicy*/,
10809  "-03/-02" /*format*/,
10810  -720 /*offsetCode (-10800/15)*/,
10811  0 /*offsetRemainder (-10800%15)*/,
10812  0 /*deltaMinutes*/,
10813  1968 /*untilYear*/,
10814  1 /*untilMonth*/,
10815  1 /*untilDay*/,
10816  0 /*untilTimeCode (0/15)*/,
10817  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10818  },
10819  // -3:00 Uruguay -03/-0230 1970
10820  {
10821  &kZonePolicyUruguay /*zonePolicy*/,
10822  "-03/-0230" /*format*/,
10823  -720 /*offsetCode (-10800/15)*/,
10824  0 /*offsetRemainder (-10800%15)*/,
10825  0 /*deltaMinutes*/,
10826  1970 /*untilYear*/,
10827  1 /*untilMonth*/,
10828  1 /*untilDay*/,
10829  0 /*untilTimeCode (0/15)*/,
10830  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10831  },
10832  // -3:00 Uruguay -03/-02 1974
10833  {
10834  &kZonePolicyUruguay /*zonePolicy*/,
10835  "-03/-02" /*format*/,
10836  -720 /*offsetCode (-10800/15)*/,
10837  0 /*offsetRemainder (-10800%15)*/,
10838  0 /*deltaMinutes*/,
10839  1974 /*untilYear*/,
10840  1 /*untilMonth*/,
10841  1 /*untilDay*/,
10842  0 /*untilTimeCode (0/15)*/,
10843  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10844  },
10845  // -3:00 Uruguay -03/-0130 1974 Mar 10
10846  {
10847  &kZonePolicyUruguay /*zonePolicy*/,
10848  "-03/-0130" /*format*/,
10849  -720 /*offsetCode (-10800/15)*/,
10850  0 /*offsetRemainder (-10800%15)*/,
10851  0 /*deltaMinutes*/,
10852  1974 /*untilYear*/,
10853  3 /*untilMonth*/,
10854  10 /*untilDay*/,
10855  0 /*untilTimeCode (0/15)*/,
10856  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10857  },
10858  // -3:00 Uruguay -03/-0230 1974 Dec 22
10859  {
10860  &kZonePolicyUruguay /*zonePolicy*/,
10861  "-03/-0230" /*format*/,
10862  -720 /*offsetCode (-10800/15)*/,
10863  0 /*offsetRemainder (-10800%15)*/,
10864  0 /*deltaMinutes*/,
10865  1974 /*untilYear*/,
10866  12 /*untilMonth*/,
10867  22 /*untilDay*/,
10868  0 /*untilTimeCode (0/15)*/,
10869  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10870  },
10871  // -3:00 Uruguay -03/-02
10872  {
10873  &kZonePolicyUruguay /*zonePolicy*/,
10874  "-03/-02" /*format*/,
10875  -720 /*offsetCode (-10800/15)*/,
10876  0 /*offsetRemainder (-10800%15)*/,
10877  0 /*deltaMinutes*/,
10878  32767 /*untilYear*/,
10879  1 /*untilMonth*/,
10880  1 /*untilDay*/,
10881  0 /*untilTimeCode (0/15)*/,
10882  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10883  },
10884 
10885 };
10886 
10887 static const char kZoneNameAmerica_Montevideo[] ACE_TIME_PROGMEM = "\x02" "Montevideo";
10888 
10889 const complete::ZoneInfo kZoneAmerica_Montevideo ACE_TIME_PROGMEM = {
10890  kZoneNameAmerica_Montevideo /*name*/,
10891  0xfa214780 /*zoneId*/,
10892  &kZoneContext /*zoneContext*/,
10893  11 /*numEras*/,
10894  kZoneEraAmerica_Montevideo /*eras*/,
10895  nullptr /*targetInfo*/,
10896 };
10897 
10898 //---------------------------------------------------------------------------
10899 // Zone name: America/New_York
10900 // Eras: 6
10901 //---------------------------------------------------------------------------
10902 
10903 static const complete::ZoneEra kZoneEraAmerica_New_York[] ACE_TIME_PROGMEM = {
10904  // -4:56:02 - LMT 1883 Nov 18 17:00u
10905  {
10906  nullptr /*zonePolicy*/,
10907  "LMT" /*format*/,
10908  -1185 /*offsetCode (-17762/15)*/,
10909  13 /*offsetRemainder (-17762%15)*/,
10910  0 /*deltaMinutes*/,
10911  1883 /*untilYear*/,
10912  11 /*untilMonth*/,
10913  18 /*untilDay*/,
10914  4080 /*untilTimeCode (61200/15)*/,
10915  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10916  },
10917  // -5:00 US E%sT 1920
10918  {
10919  &kZonePolicyUS /*zonePolicy*/,
10920  "E%T" /*format*/,
10921  -1200 /*offsetCode (-18000/15)*/,
10922  0 /*offsetRemainder (-18000%15)*/,
10923  0 /*deltaMinutes*/,
10924  1920 /*untilYear*/,
10925  1 /*untilMonth*/,
10926  1 /*untilDay*/,
10927  0 /*untilTimeCode (0/15)*/,
10928  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10929  },
10930  // -5:00 NYC E%sT 1942
10931  {
10932  &kZonePolicyNYC /*zonePolicy*/,
10933  "E%T" /*format*/,
10934  -1200 /*offsetCode (-18000/15)*/,
10935  0 /*offsetRemainder (-18000%15)*/,
10936  0 /*deltaMinutes*/,
10937  1942 /*untilYear*/,
10938  1 /*untilMonth*/,
10939  1 /*untilDay*/,
10940  0 /*untilTimeCode (0/15)*/,
10941  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10942  },
10943  // -5:00 US E%sT 1946
10944  {
10945  &kZonePolicyUS /*zonePolicy*/,
10946  "E%T" /*format*/,
10947  -1200 /*offsetCode (-18000/15)*/,
10948  0 /*offsetRemainder (-18000%15)*/,
10949  0 /*deltaMinutes*/,
10950  1946 /*untilYear*/,
10951  1 /*untilMonth*/,
10952  1 /*untilDay*/,
10953  0 /*untilTimeCode (0/15)*/,
10954  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10955  },
10956  // -5:00 NYC E%sT 1967
10957  {
10958  &kZonePolicyNYC /*zonePolicy*/,
10959  "E%T" /*format*/,
10960  -1200 /*offsetCode (-18000/15)*/,
10961  0 /*offsetRemainder (-18000%15)*/,
10962  0 /*deltaMinutes*/,
10963  1967 /*untilYear*/,
10964  1 /*untilMonth*/,
10965  1 /*untilDay*/,
10966  0 /*untilTimeCode (0/15)*/,
10967  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10968  },
10969  // -5:00 US E%sT
10970  {
10971  &kZonePolicyUS /*zonePolicy*/,
10972  "E%T" /*format*/,
10973  -1200 /*offsetCode (-18000/15)*/,
10974  0 /*offsetRemainder (-18000%15)*/,
10975  0 /*deltaMinutes*/,
10976  32767 /*untilYear*/,
10977  1 /*untilMonth*/,
10978  1 /*untilDay*/,
10979  0 /*untilTimeCode (0/15)*/,
10980  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10981  },
10982 
10983 };
10984 
10985 static const char kZoneNameAmerica_New_York[] ACE_TIME_PROGMEM = "\x02" "New_York";
10986 
10987 const complete::ZoneInfo kZoneAmerica_New_York ACE_TIME_PROGMEM = {
10988  kZoneNameAmerica_New_York /*name*/,
10989  0x1e2a7654 /*zoneId*/,
10990  &kZoneContext /*zoneContext*/,
10991  6 /*numEras*/,
10992  kZoneEraAmerica_New_York /*eras*/,
10993  nullptr /*targetInfo*/,
10994 };
10995 
10996 //---------------------------------------------------------------------------
10997 // Zone name: America/Nome
10998 // Eras: 9
10999 //---------------------------------------------------------------------------
11000 
11001 static const complete::ZoneEra kZoneEraAmerica_Nome[] ACE_TIME_PROGMEM = {
11002  // 12:58:22 - LMT 1867 Oct 19 13:29:35
11003  {
11004  nullptr /*zonePolicy*/,
11005  "LMT" /*format*/,
11006  3113 /*offsetCode (46702/15)*/,
11007  7 /*offsetRemainder (46702%15)*/,
11008  0 /*deltaMinutes*/,
11009  1867 /*untilYear*/,
11010  10 /*untilMonth*/,
11011  19 /*untilDay*/,
11012  3238 /*untilTimeCode (48575/15)*/,
11013  5 /*untilTimeModifier (kAtcSuffixW + seconds=5)*/,
11014  },
11015  // -11:01:38 - LMT 1900 Aug 20 12:00
11016  {
11017  nullptr /*zonePolicy*/,
11018  "LMT" /*format*/,
11019  -2647 /*offsetCode (-39698/15)*/,
11020  7 /*offsetRemainder (-39698%15)*/,
11021  0 /*deltaMinutes*/,
11022  1900 /*untilYear*/,
11023  8 /*untilMonth*/,
11024  20 /*untilDay*/,
11025  2880 /*untilTimeCode (43200/15)*/,
11026  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11027  },
11028  // -11:00 - NST 1942
11029  {
11030  nullptr /*zonePolicy*/,
11031  "NST" /*format*/,
11032  -2640 /*offsetCode (-39600/15)*/,
11033  0 /*offsetRemainder (-39600%15)*/,
11034  0 /*deltaMinutes*/,
11035  1942 /*untilYear*/,
11036  1 /*untilMonth*/,
11037  1 /*untilDay*/,
11038  0 /*untilTimeCode (0/15)*/,
11039  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11040  },
11041  // -11:00 US N%sT 1946
11042  {
11043  &kZonePolicyUS /*zonePolicy*/,
11044  "N%T" /*format*/,
11045  -2640 /*offsetCode (-39600/15)*/,
11046  0 /*offsetRemainder (-39600%15)*/,
11047  0 /*deltaMinutes*/,
11048  1946 /*untilYear*/,
11049  1 /*untilMonth*/,
11050  1 /*untilDay*/,
11051  0 /*untilTimeCode (0/15)*/,
11052  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11053  },
11054  // -11:00 - NST 1967 Apr
11055  {
11056  nullptr /*zonePolicy*/,
11057  "NST" /*format*/,
11058  -2640 /*offsetCode (-39600/15)*/,
11059  0 /*offsetRemainder (-39600%15)*/,
11060  0 /*deltaMinutes*/,
11061  1967 /*untilYear*/,
11062  4 /*untilMonth*/,
11063  1 /*untilDay*/,
11064  0 /*untilTimeCode (0/15)*/,
11065  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11066  },
11067  // -11:00 - BST 1969
11068  {
11069  nullptr /*zonePolicy*/,
11070  "BST" /*format*/,
11071  -2640 /*offsetCode (-39600/15)*/,
11072  0 /*offsetRemainder (-39600%15)*/,
11073  0 /*deltaMinutes*/,
11074  1969 /*untilYear*/,
11075  1 /*untilMonth*/,
11076  1 /*untilDay*/,
11077  0 /*untilTimeCode (0/15)*/,
11078  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11079  },
11080  // -11:00 US B%sT 1983 Oct 30 2:00
11081  {
11082  &kZonePolicyUS /*zonePolicy*/,
11083  "B%T" /*format*/,
11084  -2640 /*offsetCode (-39600/15)*/,
11085  0 /*offsetRemainder (-39600%15)*/,
11086  0 /*deltaMinutes*/,
11087  1983 /*untilYear*/,
11088  10 /*untilMonth*/,
11089  30 /*untilDay*/,
11090  480 /*untilTimeCode (7200/15)*/,
11091  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11092  },
11093  // -9:00 US Y%sT 1983 Nov 30
11094  {
11095  &kZonePolicyUS /*zonePolicy*/,
11096  "Y%T" /*format*/,
11097  -2160 /*offsetCode (-32400/15)*/,
11098  0 /*offsetRemainder (-32400%15)*/,
11099  0 /*deltaMinutes*/,
11100  1983 /*untilYear*/,
11101  11 /*untilMonth*/,
11102  30 /*untilDay*/,
11103  0 /*untilTimeCode (0/15)*/,
11104  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11105  },
11106  // -9:00 US AK%sT
11107  {
11108  &kZonePolicyUS /*zonePolicy*/,
11109  "AK%T" /*format*/,
11110  -2160 /*offsetCode (-32400/15)*/,
11111  0 /*offsetRemainder (-32400%15)*/,
11112  0 /*deltaMinutes*/,
11113  32767 /*untilYear*/,
11114  1 /*untilMonth*/,
11115  1 /*untilDay*/,
11116  0 /*untilTimeCode (0/15)*/,
11117  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11118  },
11119 
11120 };
11121 
11122 static const char kZoneNameAmerica_Nome[] ACE_TIME_PROGMEM = "\x02" "Nome";
11123 
11124 const complete::ZoneInfo kZoneAmerica_Nome ACE_TIME_PROGMEM = {
11125  kZoneNameAmerica_Nome /*name*/,
11126  0x98059b15 /*zoneId*/,
11127  &kZoneContext /*zoneContext*/,
11128  9 /*numEras*/,
11129  kZoneEraAmerica_Nome /*eras*/,
11130  nullptr /*targetInfo*/,
11131 };
11132 
11133 //---------------------------------------------------------------------------
11134 // Zone name: America/Noronha
11135 // Eras: 7
11136 //---------------------------------------------------------------------------
11137 
11138 static const complete::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = {
11139  // -2:09:40 - LMT 1914
11140  {
11141  nullptr /*zonePolicy*/,
11142  "LMT" /*format*/,
11143  -519 /*offsetCode (-7780/15)*/,
11144  5 /*offsetRemainder (-7780%15)*/,
11145  0 /*deltaMinutes*/,
11146  1914 /*untilYear*/,
11147  1 /*untilMonth*/,
11148  1 /*untilDay*/,
11149  0 /*untilTimeCode (0/15)*/,
11150  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11151  },
11152  // -2:00 Brazil -02/-01 1990 Sep 17
11153  {
11154  &kZonePolicyBrazil /*zonePolicy*/,
11155  "-02/-01" /*format*/,
11156  -480 /*offsetCode (-7200/15)*/,
11157  0 /*offsetRemainder (-7200%15)*/,
11158  0 /*deltaMinutes*/,
11159  1990 /*untilYear*/,
11160  9 /*untilMonth*/,
11161  17 /*untilDay*/,
11162  0 /*untilTimeCode (0/15)*/,
11163  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11164  },
11165  // -2:00 - -02 1999 Sep 30
11166  {
11167  nullptr /*zonePolicy*/,
11168  "-02" /*format*/,
11169  -480 /*offsetCode (-7200/15)*/,
11170  0 /*offsetRemainder (-7200%15)*/,
11171  0 /*deltaMinutes*/,
11172  1999 /*untilYear*/,
11173  9 /*untilMonth*/,
11174  30 /*untilDay*/,
11175  0 /*untilTimeCode (0/15)*/,
11176  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11177  },
11178  // -2:00 Brazil -02/-01 2000 Oct 15
11179  {
11180  &kZonePolicyBrazil /*zonePolicy*/,
11181  "-02/-01" /*format*/,
11182  -480 /*offsetCode (-7200/15)*/,
11183  0 /*offsetRemainder (-7200%15)*/,
11184  0 /*deltaMinutes*/,
11185  2000 /*untilYear*/,
11186  10 /*untilMonth*/,
11187  15 /*untilDay*/,
11188  0 /*untilTimeCode (0/15)*/,
11189  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11190  },
11191  // -2:00 - -02 2001 Sep 13
11192  {
11193  nullptr /*zonePolicy*/,
11194  "-02" /*format*/,
11195  -480 /*offsetCode (-7200/15)*/,
11196  0 /*offsetRemainder (-7200%15)*/,
11197  0 /*deltaMinutes*/,
11198  2001 /*untilYear*/,
11199  9 /*untilMonth*/,
11200  13 /*untilDay*/,
11201  0 /*untilTimeCode (0/15)*/,
11202  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11203  },
11204  // -2:00 Brazil -02/-01 2002 Oct 1
11205  {
11206  &kZonePolicyBrazil /*zonePolicy*/,
11207  "-02/-01" /*format*/,
11208  -480 /*offsetCode (-7200/15)*/,
11209  0 /*offsetRemainder (-7200%15)*/,
11210  0 /*deltaMinutes*/,
11211  2002 /*untilYear*/,
11212  10 /*untilMonth*/,
11213  1 /*untilDay*/,
11214  0 /*untilTimeCode (0/15)*/,
11215  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11216  },
11217  // -2:00 - -02
11218  {
11219  nullptr /*zonePolicy*/,
11220  "-02" /*format*/,
11221  -480 /*offsetCode (-7200/15)*/,
11222  0 /*offsetRemainder (-7200%15)*/,
11223  0 /*deltaMinutes*/,
11224  32767 /*untilYear*/,
11225  1 /*untilMonth*/,
11226  1 /*untilDay*/,
11227  0 /*untilTimeCode (0/15)*/,
11228  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11229  },
11230 
11231 };
11232 
11233 static const char kZoneNameAmerica_Noronha[] ACE_TIME_PROGMEM = "\x02" "Noronha";
11234 
11235 const complete::ZoneInfo kZoneAmerica_Noronha ACE_TIME_PROGMEM = {
11236  kZoneNameAmerica_Noronha /*name*/,
11237  0xab5116fb /*zoneId*/,
11238  &kZoneContext /*zoneContext*/,
11239  7 /*numEras*/,
11240  kZoneEraAmerica_Noronha /*eras*/,
11241  nullptr /*targetInfo*/,
11242 };
11243 
11244 //---------------------------------------------------------------------------
11245 // Zone name: America/North_Dakota/Beulah
11246 // Eras: 3
11247 //---------------------------------------------------------------------------
11248 
11249 static const complete::ZoneEra kZoneEraAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = {
11250  // -6:47:07 - LMT 1883 Nov 18 19:00u
11251  {
11252  nullptr /*zonePolicy*/,
11253  "LMT" /*format*/,
11254  -1629 /*offsetCode (-24427/15)*/,
11255  8 /*offsetRemainder (-24427%15)*/,
11256  0 /*deltaMinutes*/,
11257  1883 /*untilYear*/,
11258  11 /*untilMonth*/,
11259  18 /*untilDay*/,
11260  4560 /*untilTimeCode (68400/15)*/,
11261  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11262  },
11263  // -7:00 US M%sT 2010 Nov 7 2:00
11264  {
11265  &kZonePolicyUS /*zonePolicy*/,
11266  "M%T" /*format*/,
11267  -1680 /*offsetCode (-25200/15)*/,
11268  0 /*offsetRemainder (-25200%15)*/,
11269  0 /*deltaMinutes*/,
11270  2010 /*untilYear*/,
11271  11 /*untilMonth*/,
11272  7 /*untilDay*/,
11273  480 /*untilTimeCode (7200/15)*/,
11274  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11275  },
11276  // -6:00 US C%sT
11277  {
11278  &kZonePolicyUS /*zonePolicy*/,
11279  "C%T" /*format*/,
11280  -1440 /*offsetCode (-21600/15)*/,
11281  0 /*offsetRemainder (-21600%15)*/,
11282  0 /*deltaMinutes*/,
11283  32767 /*untilYear*/,
11284  1 /*untilMonth*/,
11285  1 /*untilDay*/,
11286  0 /*untilTimeCode (0/15)*/,
11287  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11288  },
11289 
11290 };
11291 
11292 static const char kZoneNameAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/Beulah";
11293 
11294 const complete::ZoneInfo kZoneAmerica_North_Dakota_Beulah ACE_TIME_PROGMEM = {
11295  kZoneNameAmerica_North_Dakota_Beulah /*name*/,
11296  0x9b52b384 /*zoneId*/,
11297  &kZoneContext /*zoneContext*/,
11298  3 /*numEras*/,
11299  kZoneEraAmerica_North_Dakota_Beulah /*eras*/,
11300  nullptr /*targetInfo*/,
11301 };
11302 
11303 //---------------------------------------------------------------------------
11304 // Zone name: America/North_Dakota/Center
11305 // Eras: 3
11306 //---------------------------------------------------------------------------
11307 
11308 static const complete::ZoneEra kZoneEraAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = {
11309  // -6:45:12 - LMT 1883 Nov 18 19:00u
11310  {
11311  nullptr /*zonePolicy*/,
11312  "LMT" /*format*/,
11313  -1621 /*offsetCode (-24312/15)*/,
11314  3 /*offsetRemainder (-24312%15)*/,
11315  0 /*deltaMinutes*/,
11316  1883 /*untilYear*/,
11317  11 /*untilMonth*/,
11318  18 /*untilDay*/,
11319  4560 /*untilTimeCode (68400/15)*/,
11320  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11321  },
11322  // -7:00 US M%sT 1992 Oct 25 2:00
11323  {
11324  &kZonePolicyUS /*zonePolicy*/,
11325  "M%T" /*format*/,
11326  -1680 /*offsetCode (-25200/15)*/,
11327  0 /*offsetRemainder (-25200%15)*/,
11328  0 /*deltaMinutes*/,
11329  1992 /*untilYear*/,
11330  10 /*untilMonth*/,
11331  25 /*untilDay*/,
11332  480 /*untilTimeCode (7200/15)*/,
11333  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11334  },
11335  // -6:00 US C%sT
11336  {
11337  &kZonePolicyUS /*zonePolicy*/,
11338  "C%T" /*format*/,
11339  -1440 /*offsetCode (-21600/15)*/,
11340  0 /*offsetRemainder (-21600%15)*/,
11341  0 /*deltaMinutes*/,
11342  32767 /*untilYear*/,
11343  1 /*untilMonth*/,
11344  1 /*untilDay*/,
11345  0 /*untilTimeCode (0/15)*/,
11346  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11347  },
11348 
11349 };
11350 
11351 static const char kZoneNameAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/Center";
11352 
11353 const complete::ZoneInfo kZoneAmerica_North_Dakota_Center ACE_TIME_PROGMEM = {
11354  kZoneNameAmerica_North_Dakota_Center /*name*/,
11355  0x9da42814 /*zoneId*/,
11356  &kZoneContext /*zoneContext*/,
11357  3 /*numEras*/,
11358  kZoneEraAmerica_North_Dakota_Center /*eras*/,
11359  nullptr /*targetInfo*/,
11360 };
11361 
11362 //---------------------------------------------------------------------------
11363 // Zone name: America/North_Dakota/New_Salem
11364 // Eras: 3
11365 //---------------------------------------------------------------------------
11366 
11367 static const complete::ZoneEra kZoneEraAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = {
11368  // -6:45:39 - LMT 1883 Nov 18 19:00u
11369  {
11370  nullptr /*zonePolicy*/,
11371  "LMT" /*format*/,
11372  -1623 /*offsetCode (-24339/15)*/,
11373  6 /*offsetRemainder (-24339%15)*/,
11374  0 /*deltaMinutes*/,
11375  1883 /*untilYear*/,
11376  11 /*untilMonth*/,
11377  18 /*untilDay*/,
11378  4560 /*untilTimeCode (68400/15)*/,
11379  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11380  },
11381  // -7:00 US M%sT 2003 Oct 26 2:00
11382  {
11383  &kZonePolicyUS /*zonePolicy*/,
11384  "M%T" /*format*/,
11385  -1680 /*offsetCode (-25200/15)*/,
11386  0 /*offsetRemainder (-25200%15)*/,
11387  0 /*deltaMinutes*/,
11388  2003 /*untilYear*/,
11389  10 /*untilMonth*/,
11390  26 /*untilDay*/,
11391  480 /*untilTimeCode (7200/15)*/,
11392  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11393  },
11394  // -6:00 US C%sT
11395  {
11396  &kZonePolicyUS /*zonePolicy*/,
11397  "C%T" /*format*/,
11398  -1440 /*offsetCode (-21600/15)*/,
11399  0 /*offsetRemainder (-21600%15)*/,
11400  0 /*deltaMinutes*/,
11401  32767 /*untilYear*/,
11402  1 /*untilMonth*/,
11403  1 /*untilDay*/,
11404  0 /*untilTimeCode (0/15)*/,
11405  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11406  },
11407 
11408 };
11409 
11410 static const char kZoneNameAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/New_Salem";
11411 
11412 const complete::ZoneInfo kZoneAmerica_North_Dakota_New_Salem ACE_TIME_PROGMEM = {
11413  kZoneNameAmerica_North_Dakota_New_Salem /*name*/,
11414  0x04f9958e /*zoneId*/,
11415  &kZoneContext /*zoneContext*/,
11416  3 /*numEras*/,
11417  kZoneEraAmerica_North_Dakota_New_Salem /*eras*/,
11418  nullptr /*targetInfo*/,
11419 };
11420 
11421 //---------------------------------------------------------------------------
11422 // Zone name: America/Nuuk
11423 // Eras: 4
11424 //---------------------------------------------------------------------------
11425 
11426 static const complete::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = {
11427  // -3:26:56 - LMT 1916 Jul 28
11428  {
11429  nullptr /*zonePolicy*/,
11430  "LMT" /*format*/,
11431  -828 /*offsetCode (-12416/15)*/,
11432  4 /*offsetRemainder (-12416%15)*/,
11433  0 /*deltaMinutes*/,
11434  1916 /*untilYear*/,
11435  7 /*untilMonth*/,
11436  28 /*untilDay*/,
11437  0 /*untilTimeCode (0/15)*/,
11438  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11439  },
11440  // -3:00 - -03 1980 Apr 6 2:00
11441  {
11442  nullptr /*zonePolicy*/,
11443  "-03" /*format*/,
11444  -720 /*offsetCode (-10800/15)*/,
11445  0 /*offsetRemainder (-10800%15)*/,
11446  0 /*deltaMinutes*/,
11447  1980 /*untilYear*/,
11448  4 /*untilMonth*/,
11449  6 /*untilDay*/,
11450  480 /*untilTimeCode (7200/15)*/,
11451  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11452  },
11453  // -3:00 EU -03/-02 2023 Oct 29 1:00u
11454  {
11455  &kZonePolicyEU /*zonePolicy*/,
11456  "-03/-02" /*format*/,
11457  -720 /*offsetCode (-10800/15)*/,
11458  0 /*offsetRemainder (-10800%15)*/,
11459  0 /*deltaMinutes*/,
11460  2023 /*untilYear*/,
11461  10 /*untilMonth*/,
11462  29 /*untilDay*/,
11463  240 /*untilTimeCode (3600/15)*/,
11464  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11465  },
11466  // -2:00 EU -02/-01
11467  {
11468  &kZonePolicyEU /*zonePolicy*/,
11469  "-02/-01" /*format*/,
11470  -480 /*offsetCode (-7200/15)*/,
11471  0 /*offsetRemainder (-7200%15)*/,
11472  0 /*deltaMinutes*/,
11473  32767 /*untilYear*/,
11474  1 /*untilMonth*/,
11475  1 /*untilDay*/,
11476  0 /*untilTimeCode (0/15)*/,
11477  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11478  },
11479 
11480 };
11481 
11482 static const char kZoneNameAmerica_Nuuk[] ACE_TIME_PROGMEM = "\x02" "Nuuk";
11483 
11484 const complete::ZoneInfo kZoneAmerica_Nuuk ACE_TIME_PROGMEM = {
11485  kZoneNameAmerica_Nuuk /*name*/,
11486  0x9805b5a9 /*zoneId*/,
11487  &kZoneContext /*zoneContext*/,
11488  4 /*numEras*/,
11489  kZoneEraAmerica_Nuuk /*eras*/,
11490  nullptr /*targetInfo*/,
11491 };
11492 
11493 //---------------------------------------------------------------------------
11494 // Zone name: America/Ojinaga
11495 // Eras: 11
11496 //---------------------------------------------------------------------------
11497 
11498 static const complete::ZoneEra kZoneEraAmerica_Ojinaga[] ACE_TIME_PROGMEM = {
11499  // -6:57:40 - LMT 1922 Jan 1 7:00u
11500  {
11501  nullptr /*zonePolicy*/,
11502  "LMT" /*format*/,
11503  -1671 /*offsetCode (-25060/15)*/,
11504  5 /*offsetRemainder (-25060%15)*/,
11505  0 /*deltaMinutes*/,
11506  1922 /*untilYear*/,
11507  1 /*untilMonth*/,
11508  1 /*untilDay*/,
11509  1680 /*untilTimeCode (25200/15)*/,
11510  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11511  },
11512  // -7:00 - MST 1927 Jun 10 23:00
11513  {
11514  nullptr /*zonePolicy*/,
11515  "MST" /*format*/,
11516  -1680 /*offsetCode (-25200/15)*/,
11517  0 /*offsetRemainder (-25200%15)*/,
11518  0 /*deltaMinutes*/,
11519  1927 /*untilYear*/,
11520  6 /*untilMonth*/,
11521  10 /*untilDay*/,
11522  5520 /*untilTimeCode (82800/15)*/,
11523  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11524  },
11525  // -6:00 - CST 1930 Nov 15
11526  {
11527  nullptr /*zonePolicy*/,
11528  "CST" /*format*/,
11529  -1440 /*offsetCode (-21600/15)*/,
11530  0 /*offsetRemainder (-21600%15)*/,
11531  0 /*deltaMinutes*/,
11532  1930 /*untilYear*/,
11533  11 /*untilMonth*/,
11534  15 /*untilDay*/,
11535  0 /*untilTimeCode (0/15)*/,
11536  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11537  },
11538  // -7:00 Mexico M%sT 1932 Apr 1
11539  {
11540  &kZonePolicyMexico /*zonePolicy*/,
11541  "M%T" /*format*/,
11542  -1680 /*offsetCode (-25200/15)*/,
11543  0 /*offsetRemainder (-25200%15)*/,
11544  0 /*deltaMinutes*/,
11545  1932 /*untilYear*/,
11546  4 /*untilMonth*/,
11547  1 /*untilDay*/,
11548  0 /*untilTimeCode (0/15)*/,
11549  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11550  },
11551  // -6:00 - CST 1996
11552  {
11553  nullptr /*zonePolicy*/,
11554  "CST" /*format*/,
11555  -1440 /*offsetCode (-21600/15)*/,
11556  0 /*offsetRemainder (-21600%15)*/,
11557  0 /*deltaMinutes*/,
11558  1996 /*untilYear*/,
11559  1 /*untilMonth*/,
11560  1 /*untilDay*/,
11561  0 /*untilTimeCode (0/15)*/,
11562  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11563  },
11564  // -6:00 Mexico C%sT 1998
11565  {
11566  &kZonePolicyMexico /*zonePolicy*/,
11567  "C%T" /*format*/,
11568  -1440 /*offsetCode (-21600/15)*/,
11569  0 /*offsetRemainder (-21600%15)*/,
11570  0 /*deltaMinutes*/,
11571  1998 /*untilYear*/,
11572  1 /*untilMonth*/,
11573  1 /*untilDay*/,
11574  0 /*untilTimeCode (0/15)*/,
11575  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11576  },
11577  // -6:00 - CST 1998 Apr Sun>=1 3:00
11578  {
11579  nullptr /*zonePolicy*/,
11580  "CST" /*format*/,
11581  -1440 /*offsetCode (-21600/15)*/,
11582  0 /*offsetRemainder (-21600%15)*/,
11583  0 /*deltaMinutes*/,
11584  1998 /*untilYear*/,
11585  4 /*untilMonth*/,
11586  5 /*untilDay*/,
11587  720 /*untilTimeCode (10800/15)*/,
11588  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11589  },
11590  // -7:00 Mexico M%sT 2010
11591  {
11592  &kZonePolicyMexico /*zonePolicy*/,
11593  "M%T" /*format*/,
11594  -1680 /*offsetCode (-25200/15)*/,
11595  0 /*offsetRemainder (-25200%15)*/,
11596  0 /*deltaMinutes*/,
11597  2010 /*untilYear*/,
11598  1 /*untilMonth*/,
11599  1 /*untilDay*/,
11600  0 /*untilTimeCode (0/15)*/,
11601  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11602  },
11603  // -7:00 US M%sT 2022 Oct 30 2:00
11604  {
11605  &kZonePolicyUS /*zonePolicy*/,
11606  "M%T" /*format*/,
11607  -1680 /*offsetCode (-25200/15)*/,
11608  0 /*offsetRemainder (-25200%15)*/,
11609  0 /*deltaMinutes*/,
11610  2022 /*untilYear*/,
11611  10 /*untilMonth*/,
11612  30 /*untilDay*/,
11613  480 /*untilTimeCode (7200/15)*/,
11614  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11615  },
11616  // -6:00 - CST 2022 Nov 30 0:00
11617  {
11618  nullptr /*zonePolicy*/,
11619  "CST" /*format*/,
11620  -1440 /*offsetCode (-21600/15)*/,
11621  0 /*offsetRemainder (-21600%15)*/,
11622  0 /*deltaMinutes*/,
11623  2022 /*untilYear*/,
11624  11 /*untilMonth*/,
11625  30 /*untilDay*/,
11626  0 /*untilTimeCode (0/15)*/,
11627  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11628  },
11629  // -6:00 US C%sT
11630  {
11631  &kZonePolicyUS /*zonePolicy*/,
11632  "C%T" /*format*/,
11633  -1440 /*offsetCode (-21600/15)*/,
11634  0 /*offsetRemainder (-21600%15)*/,
11635  0 /*deltaMinutes*/,
11636  32767 /*untilYear*/,
11637  1 /*untilMonth*/,
11638  1 /*untilDay*/,
11639  0 /*untilTimeCode (0/15)*/,
11640  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11641  },
11642 
11643 };
11644 
11645 static const char kZoneNameAmerica_Ojinaga[] ACE_TIME_PROGMEM = "\x02" "Ojinaga";
11646 
11647 const complete::ZoneInfo kZoneAmerica_Ojinaga ACE_TIME_PROGMEM = {
11648  kZoneNameAmerica_Ojinaga /*name*/,
11649  0xebfde83f /*zoneId*/,
11650  &kZoneContext /*zoneContext*/,
11651  11 /*numEras*/,
11652  kZoneEraAmerica_Ojinaga /*eras*/,
11653  nullptr /*targetInfo*/,
11654 };
11655 
11656 //---------------------------------------------------------------------------
11657 // Zone name: America/Panama
11658 // Eras: 3
11659 //---------------------------------------------------------------------------
11660 
11661 static const complete::ZoneEra kZoneEraAmerica_Panama[] ACE_TIME_PROGMEM = {
11662  // -5:18:08 - LMT 1890
11663  {
11664  nullptr /*zonePolicy*/,
11665  "LMT" /*format*/,
11666  -1273 /*offsetCode (-19088/15)*/,
11667  7 /*offsetRemainder (-19088%15)*/,
11668  0 /*deltaMinutes*/,
11669  1890 /*untilYear*/,
11670  1 /*untilMonth*/,
11671  1 /*untilDay*/,
11672  0 /*untilTimeCode (0/15)*/,
11673  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11674  },
11675  // -5:19:36 - CMT 1908 Apr 22
11676  {
11677  nullptr /*zonePolicy*/,
11678  "CMT" /*format*/,
11679  -1279 /*offsetCode (-19176/15)*/,
11680  9 /*offsetRemainder (-19176%15)*/,
11681  0 /*deltaMinutes*/,
11682  1908 /*untilYear*/,
11683  4 /*untilMonth*/,
11684  22 /*untilDay*/,
11685  0 /*untilTimeCode (0/15)*/,
11686  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11687  },
11688  // -5:00 - EST
11689  {
11690  nullptr /*zonePolicy*/,
11691  "EST" /*format*/,
11692  -1200 /*offsetCode (-18000/15)*/,
11693  0 /*offsetRemainder (-18000%15)*/,
11694  0 /*deltaMinutes*/,
11695  32767 /*untilYear*/,
11696  1 /*untilMonth*/,
11697  1 /*untilDay*/,
11698  0 /*untilTimeCode (0/15)*/,
11699  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11700  },
11701 
11702 };
11703 
11704 static const char kZoneNameAmerica_Panama[] ACE_TIME_PROGMEM = "\x02" "Panama";
11705 
11706 const complete::ZoneInfo kZoneAmerica_Panama ACE_TIME_PROGMEM = {
11707  kZoneNameAmerica_Panama /*name*/,
11708  0xb3863854 /*zoneId*/,
11709  &kZoneContext /*zoneContext*/,
11710  3 /*numEras*/,
11711  kZoneEraAmerica_Panama /*eras*/,
11712  nullptr /*targetInfo*/,
11713 };
11714 
11715 //---------------------------------------------------------------------------
11716 // Zone name: America/Paramaribo
11717 // Eras: 5
11718 //---------------------------------------------------------------------------
11719 
11720 static const complete::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = {
11721  // -3:40:40 - LMT 1911
11722  {
11723  nullptr /*zonePolicy*/,
11724  "LMT" /*format*/,
11725  -883 /*offsetCode (-13240/15)*/,
11726  5 /*offsetRemainder (-13240%15)*/,
11727  0 /*deltaMinutes*/,
11728  1911 /*untilYear*/,
11729  1 /*untilMonth*/,
11730  1 /*untilDay*/,
11731  0 /*untilTimeCode (0/15)*/,
11732  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11733  },
11734  // -3:40:52 - PMT 1935
11735  {
11736  nullptr /*zonePolicy*/,
11737  "PMT" /*format*/,
11738  -884 /*offsetCode (-13252/15)*/,
11739  8 /*offsetRemainder (-13252%15)*/,
11740  0 /*deltaMinutes*/,
11741  1935 /*untilYear*/,
11742  1 /*untilMonth*/,
11743  1 /*untilDay*/,
11744  0 /*untilTimeCode (0/15)*/,
11745  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11746  },
11747  // -3:40:36 - PMT 1945 Oct
11748  {
11749  nullptr /*zonePolicy*/,
11750  "PMT" /*format*/,
11751  -883 /*offsetCode (-13236/15)*/,
11752  9 /*offsetRemainder (-13236%15)*/,
11753  0 /*deltaMinutes*/,
11754  1945 /*untilYear*/,
11755  10 /*untilMonth*/,
11756  1 /*untilDay*/,
11757  0 /*untilTimeCode (0/15)*/,
11758  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11759  },
11760  // -3:30 - -0330 1984 Oct
11761  {
11762  nullptr /*zonePolicy*/,
11763  "-0330" /*format*/,
11764  -840 /*offsetCode (-12600/15)*/,
11765  0 /*offsetRemainder (-12600%15)*/,
11766  0 /*deltaMinutes*/,
11767  1984 /*untilYear*/,
11768  10 /*untilMonth*/,
11769  1 /*untilDay*/,
11770  0 /*untilTimeCode (0/15)*/,
11771  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11772  },
11773  // -3:00 - -03
11774  {
11775  nullptr /*zonePolicy*/,
11776  "-03" /*format*/,
11777  -720 /*offsetCode (-10800/15)*/,
11778  0 /*offsetRemainder (-10800%15)*/,
11779  0 /*deltaMinutes*/,
11780  32767 /*untilYear*/,
11781  1 /*untilMonth*/,
11782  1 /*untilDay*/,
11783  0 /*untilTimeCode (0/15)*/,
11784  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11785  },
11786 
11787 };
11788 
11789 static const char kZoneNameAmerica_Paramaribo[] ACE_TIME_PROGMEM = "\x02" "Paramaribo";
11790 
11791 const complete::ZoneInfo kZoneAmerica_Paramaribo ACE_TIME_PROGMEM = {
11792  kZoneNameAmerica_Paramaribo /*name*/,
11793  0xb319e4c4 /*zoneId*/,
11794  &kZoneContext /*zoneContext*/,
11795  5 /*numEras*/,
11796  kZoneEraAmerica_Paramaribo /*eras*/,
11797  nullptr /*targetInfo*/,
11798 };
11799 
11800 //---------------------------------------------------------------------------
11801 // Zone name: America/Phoenix
11802 // Eras: 7
11803 //---------------------------------------------------------------------------
11804 
11805 static const complete::ZoneEra kZoneEraAmerica_Phoenix[] ACE_TIME_PROGMEM = {
11806  // -7:28:18 - LMT 1883 Nov 18 19:00u
11807  {
11808  nullptr /*zonePolicy*/,
11809  "LMT" /*format*/,
11810  -1794 /*offsetCode (-26898/15)*/,
11811  12 /*offsetRemainder (-26898%15)*/,
11812  0 /*deltaMinutes*/,
11813  1883 /*untilYear*/,
11814  11 /*untilMonth*/,
11815  18 /*untilDay*/,
11816  4560 /*untilTimeCode (68400/15)*/,
11817  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11818  },
11819  // -7:00 US M%sT 1944 Jan 1 0:01
11820  {
11821  &kZonePolicyUS /*zonePolicy*/,
11822  "M%T" /*format*/,
11823  -1680 /*offsetCode (-25200/15)*/,
11824  0 /*offsetRemainder (-25200%15)*/,
11825  0 /*deltaMinutes*/,
11826  1944 /*untilYear*/,
11827  1 /*untilMonth*/,
11828  1 /*untilDay*/,
11829  4 /*untilTimeCode (60/15)*/,
11830  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11831  },
11832  // -7:00 - MST 1944 Apr 1 0:01
11833  {
11834  nullptr /*zonePolicy*/,
11835  "MST" /*format*/,
11836  -1680 /*offsetCode (-25200/15)*/,
11837  0 /*offsetRemainder (-25200%15)*/,
11838  0 /*deltaMinutes*/,
11839  1944 /*untilYear*/,
11840  4 /*untilMonth*/,
11841  1 /*untilDay*/,
11842  4 /*untilTimeCode (60/15)*/,
11843  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11844  },
11845  // -7:00 US M%sT 1944 Oct 1 0:01
11846  {
11847  &kZonePolicyUS /*zonePolicy*/,
11848  "M%T" /*format*/,
11849  -1680 /*offsetCode (-25200/15)*/,
11850  0 /*offsetRemainder (-25200%15)*/,
11851  0 /*deltaMinutes*/,
11852  1944 /*untilYear*/,
11853  10 /*untilMonth*/,
11854  1 /*untilDay*/,
11855  4 /*untilTimeCode (60/15)*/,
11856  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11857  },
11858  // -7:00 - MST 1967
11859  {
11860  nullptr /*zonePolicy*/,
11861  "MST" /*format*/,
11862  -1680 /*offsetCode (-25200/15)*/,
11863  0 /*offsetRemainder (-25200%15)*/,
11864  0 /*deltaMinutes*/,
11865  1967 /*untilYear*/,
11866  1 /*untilMonth*/,
11867  1 /*untilDay*/,
11868  0 /*untilTimeCode (0/15)*/,
11869  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11870  },
11871  // -7:00 US M%sT 1968 Mar 21
11872  {
11873  &kZonePolicyUS /*zonePolicy*/,
11874  "M%T" /*format*/,
11875  -1680 /*offsetCode (-25200/15)*/,
11876  0 /*offsetRemainder (-25200%15)*/,
11877  0 /*deltaMinutes*/,
11878  1968 /*untilYear*/,
11879  3 /*untilMonth*/,
11880  21 /*untilDay*/,
11881  0 /*untilTimeCode (0/15)*/,
11882  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11883  },
11884  // -7:00 - MST
11885  {
11886  nullptr /*zonePolicy*/,
11887  "MST" /*format*/,
11888  -1680 /*offsetCode (-25200/15)*/,
11889  0 /*offsetRemainder (-25200%15)*/,
11890  0 /*deltaMinutes*/,
11891  32767 /*untilYear*/,
11892  1 /*untilMonth*/,
11893  1 /*untilDay*/,
11894  0 /*untilTimeCode (0/15)*/,
11895  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11896  },
11897 
11898 };
11899 
11900 static const char kZoneNameAmerica_Phoenix[] ACE_TIME_PROGMEM = "\x02" "Phoenix";
11901 
11902 const complete::ZoneInfo kZoneAmerica_Phoenix ACE_TIME_PROGMEM = {
11903  kZoneNameAmerica_Phoenix /*name*/,
11904  0x34b5af01 /*zoneId*/,
11905  &kZoneContext /*zoneContext*/,
11906  7 /*numEras*/,
11907  kZoneEraAmerica_Phoenix /*eras*/,
11908  nullptr /*targetInfo*/,
11909 };
11910 
11911 //---------------------------------------------------------------------------
11912 // Zone name: America/Port-au-Prince
11913 // Eras: 3
11914 //---------------------------------------------------------------------------
11915 
11916 static const complete::ZoneEra kZoneEraAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = {
11917  // -4:49:20 - LMT 1890
11918  {
11919  nullptr /*zonePolicy*/,
11920  "LMT" /*format*/,
11921  -1158 /*offsetCode (-17360/15)*/,
11922  10 /*offsetRemainder (-17360%15)*/,
11923  0 /*deltaMinutes*/,
11924  1890 /*untilYear*/,
11925  1 /*untilMonth*/,
11926  1 /*untilDay*/,
11927  0 /*untilTimeCode (0/15)*/,
11928  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11929  },
11930  // -4:49 - PPMT 1917 Jan 24 12:00
11931  {
11932  nullptr /*zonePolicy*/,
11933  "PPMT" /*format*/,
11934  -1156 /*offsetCode (-17340/15)*/,
11935  0 /*offsetRemainder (-17340%15)*/,
11936  0 /*deltaMinutes*/,
11937  1917 /*untilYear*/,
11938  1 /*untilMonth*/,
11939  24 /*untilDay*/,
11940  2880 /*untilTimeCode (43200/15)*/,
11941  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11942  },
11943  // -5:00 Haiti E%sT
11944  {
11945  &kZonePolicyHaiti /*zonePolicy*/,
11946  "E%T" /*format*/,
11947  -1200 /*offsetCode (-18000/15)*/,
11948  0 /*offsetRemainder (-18000%15)*/,
11949  0 /*deltaMinutes*/,
11950  32767 /*untilYear*/,
11951  1 /*untilMonth*/,
11952  1 /*untilDay*/,
11953  0 /*untilTimeCode (0/15)*/,
11954  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11955  },
11956 
11957 };
11958 
11959 static const char kZoneNameAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = "\x02" "Port-au-Prince";
11960 
11961 const complete::ZoneInfo kZoneAmerica_Port_au_Prince ACE_TIME_PROGMEM = {
11962  kZoneNameAmerica_Port_au_Prince /*name*/,
11963  0x8e4a7bdc /*zoneId*/,
11964  &kZoneContext /*zoneContext*/,
11965  3 /*numEras*/,
11966  kZoneEraAmerica_Port_au_Prince /*eras*/,
11967  nullptr /*targetInfo*/,
11968 };
11969 
11970 //---------------------------------------------------------------------------
11971 // Zone name: America/Porto_Velho
11972 // Eras: 3
11973 //---------------------------------------------------------------------------
11974 
11975 static const complete::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = {
11976  // -4:15:36 - LMT 1914
11977  {
11978  nullptr /*zonePolicy*/,
11979  "LMT" /*format*/,
11980  -1023 /*offsetCode (-15336/15)*/,
11981  9 /*offsetRemainder (-15336%15)*/,
11982  0 /*deltaMinutes*/,
11983  1914 /*untilYear*/,
11984  1 /*untilMonth*/,
11985  1 /*untilDay*/,
11986  0 /*untilTimeCode (0/15)*/,
11987  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11988  },
11989  // -4:00 Brazil -04/-03 1988 Sep 12
11990  {
11991  &kZonePolicyBrazil /*zonePolicy*/,
11992  "-04/-03" /*format*/,
11993  -960 /*offsetCode (-14400/15)*/,
11994  0 /*offsetRemainder (-14400%15)*/,
11995  0 /*deltaMinutes*/,
11996  1988 /*untilYear*/,
11997  9 /*untilMonth*/,
11998  12 /*untilDay*/,
11999  0 /*untilTimeCode (0/15)*/,
12000  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12001  },
12002  // -4:00 - -04
12003  {
12004  nullptr /*zonePolicy*/,
12005  "-04" /*format*/,
12006  -960 /*offsetCode (-14400/15)*/,
12007  0 /*offsetRemainder (-14400%15)*/,
12008  0 /*deltaMinutes*/,
12009  32767 /*untilYear*/,
12010  1 /*untilMonth*/,
12011  1 /*untilDay*/,
12012  0 /*untilTimeCode (0/15)*/,
12013  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12014  },
12015 
12016 };
12017 
12018 static const char kZoneNameAmerica_Porto_Velho[] ACE_TIME_PROGMEM = "\x02" "Porto_Velho";
12019 
12020 const complete::ZoneInfo kZoneAmerica_Porto_Velho ACE_TIME_PROGMEM = {
12021  kZoneNameAmerica_Porto_Velho /*name*/,
12022  0x6b1aac77 /*zoneId*/,
12023  &kZoneContext /*zoneContext*/,
12024  3 /*numEras*/,
12025  kZoneEraAmerica_Porto_Velho /*eras*/,
12026  nullptr /*targetInfo*/,
12027 };
12028 
12029 //---------------------------------------------------------------------------
12030 // Zone name: America/Puerto_Rico
12031 // Eras: 4
12032 //---------------------------------------------------------------------------
12033 
12034 static const complete::ZoneEra kZoneEraAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = {
12035  // -4:24:25 - LMT 1899 Mar 28 12:00
12036  {
12037  nullptr /*zonePolicy*/,
12038  "LMT" /*format*/,
12039  -1058 /*offsetCode (-15865/15)*/,
12040  5 /*offsetRemainder (-15865%15)*/,
12041  0 /*deltaMinutes*/,
12042  1899 /*untilYear*/,
12043  3 /*untilMonth*/,
12044  28 /*untilDay*/,
12045  2880 /*untilTimeCode (43200/15)*/,
12046  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12047  },
12048  // -4:00 - AST 1942 May 3
12049  {
12050  nullptr /*zonePolicy*/,
12051  "AST" /*format*/,
12052  -960 /*offsetCode (-14400/15)*/,
12053  0 /*offsetRemainder (-14400%15)*/,
12054  0 /*deltaMinutes*/,
12055  1942 /*untilYear*/,
12056  5 /*untilMonth*/,
12057  3 /*untilDay*/,
12058  0 /*untilTimeCode (0/15)*/,
12059  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12060  },
12061  // -4:00 US A%sT 1946
12062  {
12063  &kZonePolicyUS /*zonePolicy*/,
12064  "A%T" /*format*/,
12065  -960 /*offsetCode (-14400/15)*/,
12066  0 /*offsetRemainder (-14400%15)*/,
12067  0 /*deltaMinutes*/,
12068  1946 /*untilYear*/,
12069  1 /*untilMonth*/,
12070  1 /*untilDay*/,
12071  0 /*untilTimeCode (0/15)*/,
12072  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12073  },
12074  // -4:00 - AST
12075  {
12076  nullptr /*zonePolicy*/,
12077  "AST" /*format*/,
12078  -960 /*offsetCode (-14400/15)*/,
12079  0 /*offsetRemainder (-14400%15)*/,
12080  0 /*deltaMinutes*/,
12081  32767 /*untilYear*/,
12082  1 /*untilMonth*/,
12083  1 /*untilDay*/,
12084  0 /*untilTimeCode (0/15)*/,
12085  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12086  },
12087 
12088 };
12089 
12090 static const char kZoneNameAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = "\x02" "Puerto_Rico";
12091 
12092 const complete::ZoneInfo kZoneAmerica_Puerto_Rico ACE_TIME_PROGMEM = {
12093  kZoneNameAmerica_Puerto_Rico /*name*/,
12094  0x6752ca31 /*zoneId*/,
12095  &kZoneContext /*zoneContext*/,
12096  4 /*numEras*/,
12097  kZoneEraAmerica_Puerto_Rico /*eras*/,
12098  nullptr /*targetInfo*/,
12099 };
12100 
12101 //---------------------------------------------------------------------------
12102 // Zone name: America/Punta_Arenas
12103 // Eras: 14
12104 //---------------------------------------------------------------------------
12105 
12106 static const complete::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = {
12107  // -4:43:40 - LMT 1890
12108  {
12109  nullptr /*zonePolicy*/,
12110  "LMT" /*format*/,
12111  -1135 /*offsetCode (-17020/15)*/,
12112  5 /*offsetRemainder (-17020%15)*/,
12113  0 /*deltaMinutes*/,
12114  1890 /*untilYear*/,
12115  1 /*untilMonth*/,
12116  1 /*untilDay*/,
12117  0 /*untilTimeCode (0/15)*/,
12118  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12119  },
12120  // -4:42:45 - SMT 1910 Jan 10
12121  {
12122  nullptr /*zonePolicy*/,
12123  "SMT" /*format*/,
12124  -1131 /*offsetCode (-16965/15)*/,
12125  0 /*offsetRemainder (-16965%15)*/,
12126  0 /*deltaMinutes*/,
12127  1910 /*untilYear*/,
12128  1 /*untilMonth*/,
12129  10 /*untilDay*/,
12130  0 /*untilTimeCode (0/15)*/,
12131  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12132  },
12133  // -5:00 - -05 1916 Jul 1
12134  {
12135  nullptr /*zonePolicy*/,
12136  "-05" /*format*/,
12137  -1200 /*offsetCode (-18000/15)*/,
12138  0 /*offsetRemainder (-18000%15)*/,
12139  0 /*deltaMinutes*/,
12140  1916 /*untilYear*/,
12141  7 /*untilMonth*/,
12142  1 /*untilDay*/,
12143  0 /*untilTimeCode (0/15)*/,
12144  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12145  },
12146  // -4:42:45 - SMT 1918 Sep 10
12147  {
12148  nullptr /*zonePolicy*/,
12149  "SMT" /*format*/,
12150  -1131 /*offsetCode (-16965/15)*/,
12151  0 /*offsetRemainder (-16965%15)*/,
12152  0 /*deltaMinutes*/,
12153  1918 /*untilYear*/,
12154  9 /*untilMonth*/,
12155  10 /*untilDay*/,
12156  0 /*untilTimeCode (0/15)*/,
12157  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12158  },
12159  // -4:00 - -04 1919 Jul 1
12160  {
12161  nullptr /*zonePolicy*/,
12162  "-04" /*format*/,
12163  -960 /*offsetCode (-14400/15)*/,
12164  0 /*offsetRemainder (-14400%15)*/,
12165  0 /*deltaMinutes*/,
12166  1919 /*untilYear*/,
12167  7 /*untilMonth*/,
12168  1 /*untilDay*/,
12169  0 /*untilTimeCode (0/15)*/,
12170  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12171  },
12172  // -4:42:45 - SMT 1927 Sep 1
12173  {
12174  nullptr /*zonePolicy*/,
12175  "SMT" /*format*/,
12176  -1131 /*offsetCode (-16965/15)*/,
12177  0 /*offsetRemainder (-16965%15)*/,
12178  0 /*deltaMinutes*/,
12179  1927 /*untilYear*/,
12180  9 /*untilMonth*/,
12181  1 /*untilDay*/,
12182  0 /*untilTimeCode (0/15)*/,
12183  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12184  },
12185  // -5:00 Chile -05/-04 1932 Sep 1
12186  {
12187  &kZonePolicyChile /*zonePolicy*/,
12188  "-05/-04" /*format*/,
12189  -1200 /*offsetCode (-18000/15)*/,
12190  0 /*offsetRemainder (-18000%15)*/,
12191  0 /*deltaMinutes*/,
12192  1932 /*untilYear*/,
12193  9 /*untilMonth*/,
12194  1 /*untilDay*/,
12195  0 /*untilTimeCode (0/15)*/,
12196  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12197  },
12198  // -4:00 - -04 1942 Jun 1
12199  {
12200  nullptr /*zonePolicy*/,
12201  "-04" /*format*/,
12202  -960 /*offsetCode (-14400/15)*/,
12203  0 /*offsetRemainder (-14400%15)*/,
12204  0 /*deltaMinutes*/,
12205  1942 /*untilYear*/,
12206  6 /*untilMonth*/,
12207  1 /*untilDay*/,
12208  0 /*untilTimeCode (0/15)*/,
12209  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12210  },
12211  // -5:00 - -05 1942 Aug 1
12212  {
12213  nullptr /*zonePolicy*/,
12214  "-05" /*format*/,
12215  -1200 /*offsetCode (-18000/15)*/,
12216  0 /*offsetRemainder (-18000%15)*/,
12217  0 /*deltaMinutes*/,
12218  1942 /*untilYear*/,
12219  8 /*untilMonth*/,
12220  1 /*untilDay*/,
12221  0 /*untilTimeCode (0/15)*/,
12222  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12223  },
12224  // -4:00 - -04 1946 Aug 28 24:00
12225  {
12226  nullptr /*zonePolicy*/,
12227  "-04" /*format*/,
12228  -960 /*offsetCode (-14400/15)*/,
12229  0 /*offsetRemainder (-14400%15)*/,
12230  0 /*deltaMinutes*/,
12231  1946 /*untilYear*/,
12232  8 /*untilMonth*/,
12233  28 /*untilDay*/,
12234  5760 /*untilTimeCode (86400/15)*/,
12235  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12236  },
12237  // -5:00 1:00 -04 1947 Mar 31 24:00
12238  {
12239  nullptr /*zonePolicy*/,
12240  "-04" /*format*/,
12241  -1200 /*offsetCode (-18000/15)*/,
12242  0 /*offsetRemainder (-18000%15)*/,
12243  60 /*deltaMinutes*/,
12244  1947 /*untilYear*/,
12245  3 /*untilMonth*/,
12246  31 /*untilDay*/,
12247  5760 /*untilTimeCode (86400/15)*/,
12248  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12249  },
12250  // -5:00 - -05 1947 May 21 23:00
12251  {
12252  nullptr /*zonePolicy*/,
12253  "-05" /*format*/,
12254  -1200 /*offsetCode (-18000/15)*/,
12255  0 /*offsetRemainder (-18000%15)*/,
12256  0 /*deltaMinutes*/,
12257  1947 /*untilYear*/,
12258  5 /*untilMonth*/,
12259  21 /*untilDay*/,
12260  5520 /*untilTimeCode (82800/15)*/,
12261  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12262  },
12263  // -4:00 Chile -04/-03 2016 Dec 4
12264  {
12265  &kZonePolicyChile /*zonePolicy*/,
12266  "-04/-03" /*format*/,
12267  -960 /*offsetCode (-14400/15)*/,
12268  0 /*offsetRemainder (-14400%15)*/,
12269  0 /*deltaMinutes*/,
12270  2016 /*untilYear*/,
12271  12 /*untilMonth*/,
12272  4 /*untilDay*/,
12273  0 /*untilTimeCode (0/15)*/,
12274  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12275  },
12276  // -3:00 - -03
12277  {
12278  nullptr /*zonePolicy*/,
12279  "-03" /*format*/,
12280  -720 /*offsetCode (-10800/15)*/,
12281  0 /*offsetRemainder (-10800%15)*/,
12282  0 /*deltaMinutes*/,
12283  32767 /*untilYear*/,
12284  1 /*untilMonth*/,
12285  1 /*untilDay*/,
12286  0 /*untilTimeCode (0/15)*/,
12287  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12288  },
12289 
12290 };
12291 
12292 static const char kZoneNameAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = "\x02" "Punta_Arenas";
12293 
12294 const complete::ZoneInfo kZoneAmerica_Punta_Arenas ACE_TIME_PROGMEM = {
12295  kZoneNameAmerica_Punta_Arenas /*name*/,
12296  0xc2c3bce7 /*zoneId*/,
12297  &kZoneContext /*zoneContext*/,
12298  14 /*numEras*/,
12299  kZoneEraAmerica_Punta_Arenas /*eras*/,
12300  nullptr /*targetInfo*/,
12301 };
12302 
12303 //---------------------------------------------------------------------------
12304 // Zone name: America/Rankin_Inlet
12305 // Eras: 4
12306 //---------------------------------------------------------------------------
12307 
12308 static const complete::ZoneEra kZoneEraAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = {
12309  // 0 - -00 1957
12310  {
12311  nullptr /*zonePolicy*/,
12312  "-00" /*format*/,
12313  0 /*offsetCode (0/15)*/,
12314  0 /*offsetRemainder (0%15)*/,
12315  0 /*deltaMinutes*/,
12316  1957 /*untilYear*/,
12317  1 /*untilMonth*/,
12318  1 /*untilDay*/,
12319  0 /*untilTimeCode (0/15)*/,
12320  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12321  },
12322  // -6:00 NT_YK C%sT 2000 Oct 29 2:00
12323  {
12324  &kZonePolicyNT_YK /*zonePolicy*/,
12325  "C%T" /*format*/,
12326  -1440 /*offsetCode (-21600/15)*/,
12327  0 /*offsetRemainder (-21600%15)*/,
12328  0 /*deltaMinutes*/,
12329  2000 /*untilYear*/,
12330  10 /*untilMonth*/,
12331  29 /*untilDay*/,
12332  480 /*untilTimeCode (7200/15)*/,
12333  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12334  },
12335  // -5:00 - EST 2001 Apr 1 3:00
12336  {
12337  nullptr /*zonePolicy*/,
12338  "EST" /*format*/,
12339  -1200 /*offsetCode (-18000/15)*/,
12340  0 /*offsetRemainder (-18000%15)*/,
12341  0 /*deltaMinutes*/,
12342  2001 /*untilYear*/,
12343  4 /*untilMonth*/,
12344  1 /*untilDay*/,
12345  720 /*untilTimeCode (10800/15)*/,
12346  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12347  },
12348  // -6:00 Canada C%sT
12349  {
12350  &kZonePolicyCanada /*zonePolicy*/,
12351  "C%T" /*format*/,
12352  -1440 /*offsetCode (-21600/15)*/,
12353  0 /*offsetRemainder (-21600%15)*/,
12354  0 /*deltaMinutes*/,
12355  32767 /*untilYear*/,
12356  1 /*untilMonth*/,
12357  1 /*untilDay*/,
12358  0 /*untilTimeCode (0/15)*/,
12359  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12360  },
12361 
12362 };
12363 
12364 static const char kZoneNameAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = "\x02" "Rankin_Inlet";
12365 
12366 const complete::ZoneInfo kZoneAmerica_Rankin_Inlet ACE_TIME_PROGMEM = {
12367  kZoneNameAmerica_Rankin_Inlet /*name*/,
12368  0xc8de4984 /*zoneId*/,
12369  &kZoneContext /*zoneContext*/,
12370  4 /*numEras*/,
12371  kZoneEraAmerica_Rankin_Inlet /*eras*/,
12372  nullptr /*targetInfo*/,
12373 };
12374 
12375 //---------------------------------------------------------------------------
12376 // Zone name: America/Recife
12377 // Eras: 7
12378 //---------------------------------------------------------------------------
12379 
12380 static const complete::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = {
12381  // -2:19:36 - LMT 1914
12382  {
12383  nullptr /*zonePolicy*/,
12384  "LMT" /*format*/,
12385  -559 /*offsetCode (-8376/15)*/,
12386  9 /*offsetRemainder (-8376%15)*/,
12387  0 /*deltaMinutes*/,
12388  1914 /*untilYear*/,
12389  1 /*untilMonth*/,
12390  1 /*untilDay*/,
12391  0 /*untilTimeCode (0/15)*/,
12392  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12393  },
12394  // -3:00 Brazil -03/-02 1990 Sep 17
12395  {
12396  &kZonePolicyBrazil /*zonePolicy*/,
12397  "-03/-02" /*format*/,
12398  -720 /*offsetCode (-10800/15)*/,
12399  0 /*offsetRemainder (-10800%15)*/,
12400  0 /*deltaMinutes*/,
12401  1990 /*untilYear*/,
12402  9 /*untilMonth*/,
12403  17 /*untilDay*/,
12404  0 /*untilTimeCode (0/15)*/,
12405  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12406  },
12407  // -3:00 - -03 1999 Sep 30
12408  {
12409  nullptr /*zonePolicy*/,
12410  "-03" /*format*/,
12411  -720 /*offsetCode (-10800/15)*/,
12412  0 /*offsetRemainder (-10800%15)*/,
12413  0 /*deltaMinutes*/,
12414  1999 /*untilYear*/,
12415  9 /*untilMonth*/,
12416  30 /*untilDay*/,
12417  0 /*untilTimeCode (0/15)*/,
12418  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12419  },
12420  // -3:00 Brazil -03/-02 2000 Oct 15
12421  {
12422  &kZonePolicyBrazil /*zonePolicy*/,
12423  "-03/-02" /*format*/,
12424  -720 /*offsetCode (-10800/15)*/,
12425  0 /*offsetRemainder (-10800%15)*/,
12426  0 /*deltaMinutes*/,
12427  2000 /*untilYear*/,
12428  10 /*untilMonth*/,
12429  15 /*untilDay*/,
12430  0 /*untilTimeCode (0/15)*/,
12431  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12432  },
12433  // -3:00 - -03 2001 Sep 13
12434  {
12435  nullptr /*zonePolicy*/,
12436  "-03" /*format*/,
12437  -720 /*offsetCode (-10800/15)*/,
12438  0 /*offsetRemainder (-10800%15)*/,
12439  0 /*deltaMinutes*/,
12440  2001 /*untilYear*/,
12441  9 /*untilMonth*/,
12442  13 /*untilDay*/,
12443  0 /*untilTimeCode (0/15)*/,
12444  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12445  },
12446  // -3:00 Brazil -03/-02 2002 Oct 1
12447  {
12448  &kZonePolicyBrazil /*zonePolicy*/,
12449  "-03/-02" /*format*/,
12450  -720 /*offsetCode (-10800/15)*/,
12451  0 /*offsetRemainder (-10800%15)*/,
12452  0 /*deltaMinutes*/,
12453  2002 /*untilYear*/,
12454  10 /*untilMonth*/,
12455  1 /*untilDay*/,
12456  0 /*untilTimeCode (0/15)*/,
12457  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12458  },
12459  // -3:00 - -03
12460  {
12461  nullptr /*zonePolicy*/,
12462  "-03" /*format*/,
12463  -720 /*offsetCode (-10800/15)*/,
12464  0 /*offsetRemainder (-10800%15)*/,
12465  0 /*deltaMinutes*/,
12466  32767 /*untilYear*/,
12467  1 /*untilMonth*/,
12468  1 /*untilDay*/,
12469  0 /*untilTimeCode (0/15)*/,
12470  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12471  },
12472 
12473 };
12474 
12475 static const char kZoneNameAmerica_Recife[] ACE_TIME_PROGMEM = "\x02" "Recife";
12476 
12477 const complete::ZoneInfo kZoneAmerica_Recife ACE_TIME_PROGMEM = {
12478  kZoneNameAmerica_Recife /*name*/,
12479  0xb8730494 /*zoneId*/,
12480  &kZoneContext /*zoneContext*/,
12481  7 /*numEras*/,
12482  kZoneEraAmerica_Recife /*eras*/,
12483  nullptr /*targetInfo*/,
12484 };
12485 
12486 //---------------------------------------------------------------------------
12487 // Zone name: America/Regina
12488 // Eras: 3
12489 //---------------------------------------------------------------------------
12490 
12491 static const complete::ZoneEra kZoneEraAmerica_Regina[] ACE_TIME_PROGMEM = {
12492  // -6:58:36 - LMT 1905 Sep
12493  {
12494  nullptr /*zonePolicy*/,
12495  "LMT" /*format*/,
12496  -1675 /*offsetCode (-25116/15)*/,
12497  9 /*offsetRemainder (-25116%15)*/,
12498  0 /*deltaMinutes*/,
12499  1905 /*untilYear*/,
12500  9 /*untilMonth*/,
12501  1 /*untilDay*/,
12502  0 /*untilTimeCode (0/15)*/,
12503  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12504  },
12505  // -7:00 Regina M%sT 1960 Apr lastSun 2:00
12506  {
12507  &kZonePolicyRegina /*zonePolicy*/,
12508  "M%T" /*format*/,
12509  -1680 /*offsetCode (-25200/15)*/,
12510  0 /*offsetRemainder (-25200%15)*/,
12511  0 /*deltaMinutes*/,
12512  1960 /*untilYear*/,
12513  4 /*untilMonth*/,
12514  24 /*untilDay*/,
12515  480 /*untilTimeCode (7200/15)*/,
12516  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12517  },
12518  // -6:00 - CST
12519  {
12520  nullptr /*zonePolicy*/,
12521  "CST" /*format*/,
12522  -1440 /*offsetCode (-21600/15)*/,
12523  0 /*offsetRemainder (-21600%15)*/,
12524  0 /*deltaMinutes*/,
12525  32767 /*untilYear*/,
12526  1 /*untilMonth*/,
12527  1 /*untilDay*/,
12528  0 /*untilTimeCode (0/15)*/,
12529  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12530  },
12531 
12532 };
12533 
12534 static const char kZoneNameAmerica_Regina[] ACE_TIME_PROGMEM = "\x02" "Regina";
12535 
12536 const complete::ZoneInfo kZoneAmerica_Regina ACE_TIME_PROGMEM = {
12537  kZoneNameAmerica_Regina /*name*/,
12538  0xb875371c /*zoneId*/,
12539  &kZoneContext /*zoneContext*/,
12540  3 /*numEras*/,
12541  kZoneEraAmerica_Regina /*eras*/,
12542  nullptr /*targetInfo*/,
12543 };
12544 
12545 //---------------------------------------------------------------------------
12546 // Zone name: America/Resolute
12547 // Eras: 6
12548 //---------------------------------------------------------------------------
12549 
12550 static const complete::ZoneEra kZoneEraAmerica_Resolute[] ACE_TIME_PROGMEM = {
12551  // 0 - -00 1947 Aug 31
12552  {
12553  nullptr /*zonePolicy*/,
12554  "-00" /*format*/,
12555  0 /*offsetCode (0/15)*/,
12556  0 /*offsetRemainder (0%15)*/,
12557  0 /*deltaMinutes*/,
12558  1947 /*untilYear*/,
12559  8 /*untilMonth*/,
12560  31 /*untilDay*/,
12561  0 /*untilTimeCode (0/15)*/,
12562  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12563  },
12564  // -6:00 NT_YK C%sT 2000 Oct 29 2:00
12565  {
12566  &kZonePolicyNT_YK /*zonePolicy*/,
12567  "C%T" /*format*/,
12568  -1440 /*offsetCode (-21600/15)*/,
12569  0 /*offsetRemainder (-21600%15)*/,
12570  0 /*deltaMinutes*/,
12571  2000 /*untilYear*/,
12572  10 /*untilMonth*/,
12573  29 /*untilDay*/,
12574  480 /*untilTimeCode (7200/15)*/,
12575  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12576  },
12577  // -5:00 - EST 2001 Apr 1 3:00
12578  {
12579  nullptr /*zonePolicy*/,
12580  "EST" /*format*/,
12581  -1200 /*offsetCode (-18000/15)*/,
12582  0 /*offsetRemainder (-18000%15)*/,
12583  0 /*deltaMinutes*/,
12584  2001 /*untilYear*/,
12585  4 /*untilMonth*/,
12586  1 /*untilDay*/,
12587  720 /*untilTimeCode (10800/15)*/,
12588  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12589  },
12590  // -6:00 Canada C%sT 2006 Oct 29 2:00
12591  {
12592  &kZonePolicyCanada /*zonePolicy*/,
12593  "C%T" /*format*/,
12594  -1440 /*offsetCode (-21600/15)*/,
12595  0 /*offsetRemainder (-21600%15)*/,
12596  0 /*deltaMinutes*/,
12597  2006 /*untilYear*/,
12598  10 /*untilMonth*/,
12599  29 /*untilDay*/,
12600  480 /*untilTimeCode (7200/15)*/,
12601  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12602  },
12603  // -5:00 - EST 2007 Mar 11 3:00
12604  {
12605  nullptr /*zonePolicy*/,
12606  "EST" /*format*/,
12607  -1200 /*offsetCode (-18000/15)*/,
12608  0 /*offsetRemainder (-18000%15)*/,
12609  0 /*deltaMinutes*/,
12610  2007 /*untilYear*/,
12611  3 /*untilMonth*/,
12612  11 /*untilDay*/,
12613  720 /*untilTimeCode (10800/15)*/,
12614  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12615  },
12616  // -6:00 Canada C%sT
12617  {
12618  &kZonePolicyCanada /*zonePolicy*/,
12619  "C%T" /*format*/,
12620  -1440 /*offsetCode (-21600/15)*/,
12621  0 /*offsetRemainder (-21600%15)*/,
12622  0 /*deltaMinutes*/,
12623  32767 /*untilYear*/,
12624  1 /*untilMonth*/,
12625  1 /*untilDay*/,
12626  0 /*untilTimeCode (0/15)*/,
12627  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12628  },
12629 
12630 };
12631 
12632 static const char kZoneNameAmerica_Resolute[] ACE_TIME_PROGMEM = "\x02" "Resolute";
12633 
12634 const complete::ZoneInfo kZoneAmerica_Resolute ACE_TIME_PROGMEM = {
12635  kZoneNameAmerica_Resolute /*name*/,
12636  0xc7093459 /*zoneId*/,
12637  &kZoneContext /*zoneContext*/,
12638  6 /*numEras*/,
12639  kZoneEraAmerica_Resolute /*eras*/,
12640  nullptr /*targetInfo*/,
12641 };
12642 
12643 //---------------------------------------------------------------------------
12644 // Zone name: America/Rio_Branco
12645 // Eras: 5
12646 //---------------------------------------------------------------------------
12647 
12648 static const complete::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = {
12649  // -4:31:12 - LMT 1914
12650  {
12651  nullptr /*zonePolicy*/,
12652  "LMT" /*format*/,
12653  -1085 /*offsetCode (-16272/15)*/,
12654  3 /*offsetRemainder (-16272%15)*/,
12655  0 /*deltaMinutes*/,
12656  1914 /*untilYear*/,
12657  1 /*untilMonth*/,
12658  1 /*untilDay*/,
12659  0 /*untilTimeCode (0/15)*/,
12660  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12661  },
12662  // -5:00 Brazil -05/-04 1988 Sep 12
12663  {
12664  &kZonePolicyBrazil /*zonePolicy*/,
12665  "-05/-04" /*format*/,
12666  -1200 /*offsetCode (-18000/15)*/,
12667  0 /*offsetRemainder (-18000%15)*/,
12668  0 /*deltaMinutes*/,
12669  1988 /*untilYear*/,
12670  9 /*untilMonth*/,
12671  12 /*untilDay*/,
12672  0 /*untilTimeCode (0/15)*/,
12673  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12674  },
12675  // -5:00 - -05 2008 Jun 24 0:00
12676  {
12677  nullptr /*zonePolicy*/,
12678  "-05" /*format*/,
12679  -1200 /*offsetCode (-18000/15)*/,
12680  0 /*offsetRemainder (-18000%15)*/,
12681  0 /*deltaMinutes*/,
12682  2008 /*untilYear*/,
12683  6 /*untilMonth*/,
12684  24 /*untilDay*/,
12685  0 /*untilTimeCode (0/15)*/,
12686  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12687  },
12688  // -4:00 - -04 2013 Nov 10
12689  {
12690  nullptr /*zonePolicy*/,
12691  "-04" /*format*/,
12692  -960 /*offsetCode (-14400/15)*/,
12693  0 /*offsetRemainder (-14400%15)*/,
12694  0 /*deltaMinutes*/,
12695  2013 /*untilYear*/,
12696  11 /*untilMonth*/,
12697  10 /*untilDay*/,
12698  0 /*untilTimeCode (0/15)*/,
12699  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12700  },
12701  // -5:00 - -05
12702  {
12703  nullptr /*zonePolicy*/,
12704  "-05" /*format*/,
12705  -1200 /*offsetCode (-18000/15)*/,
12706  0 /*offsetRemainder (-18000%15)*/,
12707  0 /*deltaMinutes*/,
12708  32767 /*untilYear*/,
12709  1 /*untilMonth*/,
12710  1 /*untilDay*/,
12711  0 /*untilTimeCode (0/15)*/,
12712  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12713  },
12714 
12715 };
12716 
12717 static const char kZoneNameAmerica_Rio_Branco[] ACE_TIME_PROGMEM = "\x02" "Rio_Branco";
12718 
12719 const complete::ZoneInfo kZoneAmerica_Rio_Branco ACE_TIME_PROGMEM = {
12720  kZoneNameAmerica_Rio_Branco /*name*/,
12721  0x9d352764 /*zoneId*/,
12722  &kZoneContext /*zoneContext*/,
12723  5 /*numEras*/,
12724  kZoneEraAmerica_Rio_Branco /*eras*/,
12725  nullptr /*targetInfo*/,
12726 };
12727 
12728 //---------------------------------------------------------------------------
12729 // Zone name: America/Santarem
12730 // Eras: 4
12731 //---------------------------------------------------------------------------
12732 
12733 static const complete::ZoneEra kZoneEraAmerica_Santarem[] ACE_TIME_PROGMEM = {
12734  // -3:38:48 - LMT 1914
12735  {
12736  nullptr /*zonePolicy*/,
12737  "LMT" /*format*/,
12738  -876 /*offsetCode (-13128/15)*/,
12739  12 /*offsetRemainder (-13128%15)*/,
12740  0 /*deltaMinutes*/,
12741  1914 /*untilYear*/,
12742  1 /*untilMonth*/,
12743  1 /*untilDay*/,
12744  0 /*untilTimeCode (0/15)*/,
12745  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12746  },
12747  // -4:00 Brazil -04/-03 1988 Sep 12
12748  {
12749  &kZonePolicyBrazil /*zonePolicy*/,
12750  "-04/-03" /*format*/,
12751  -960 /*offsetCode (-14400/15)*/,
12752  0 /*offsetRemainder (-14400%15)*/,
12753  0 /*deltaMinutes*/,
12754  1988 /*untilYear*/,
12755  9 /*untilMonth*/,
12756  12 /*untilDay*/,
12757  0 /*untilTimeCode (0/15)*/,
12758  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12759  },
12760  // -4:00 - -04 2008 Jun 24 0:00
12761  {
12762  nullptr /*zonePolicy*/,
12763  "-04" /*format*/,
12764  -960 /*offsetCode (-14400/15)*/,
12765  0 /*offsetRemainder (-14400%15)*/,
12766  0 /*deltaMinutes*/,
12767  2008 /*untilYear*/,
12768  6 /*untilMonth*/,
12769  24 /*untilDay*/,
12770  0 /*untilTimeCode (0/15)*/,
12771  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12772  },
12773  // -3:00 - -03
12774  {
12775  nullptr /*zonePolicy*/,
12776  "-03" /*format*/,
12777  -720 /*offsetCode (-10800/15)*/,
12778  0 /*offsetRemainder (-10800%15)*/,
12779  0 /*deltaMinutes*/,
12780  32767 /*untilYear*/,
12781  1 /*untilMonth*/,
12782  1 /*untilDay*/,
12783  0 /*untilTimeCode (0/15)*/,
12784  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12785  },
12786 
12787 };
12788 
12789 static const char kZoneNameAmerica_Santarem[] ACE_TIME_PROGMEM = "\x02" "Santarem";
12790 
12791 const complete::ZoneInfo kZoneAmerica_Santarem ACE_TIME_PROGMEM = {
12792  kZoneNameAmerica_Santarem /*name*/,
12793  0x740caec1 /*zoneId*/,
12794  &kZoneContext /*zoneContext*/,
12795  4 /*numEras*/,
12796  kZoneEraAmerica_Santarem /*eras*/,
12797  nullptr /*targetInfo*/,
12798 };
12799 
12800 //---------------------------------------------------------------------------
12801 // Zone name: America/Santiago
12802 // Eras: 14
12803 //---------------------------------------------------------------------------
12804 
12805 static const complete::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = {
12806  // -4:42:45 - LMT 1890
12807  {
12808  nullptr /*zonePolicy*/,
12809  "LMT" /*format*/,
12810  -1131 /*offsetCode (-16965/15)*/,
12811  0 /*offsetRemainder (-16965%15)*/,
12812  0 /*deltaMinutes*/,
12813  1890 /*untilYear*/,
12814  1 /*untilMonth*/,
12815  1 /*untilDay*/,
12816  0 /*untilTimeCode (0/15)*/,
12817  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12818  },
12819  // -4:42:45 - SMT 1910 Jan 10
12820  {
12821  nullptr /*zonePolicy*/,
12822  "SMT" /*format*/,
12823  -1131 /*offsetCode (-16965/15)*/,
12824  0 /*offsetRemainder (-16965%15)*/,
12825  0 /*deltaMinutes*/,
12826  1910 /*untilYear*/,
12827  1 /*untilMonth*/,
12828  10 /*untilDay*/,
12829  0 /*untilTimeCode (0/15)*/,
12830  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12831  },
12832  // -5:00 - -05 1916 Jul 1
12833  {
12834  nullptr /*zonePolicy*/,
12835  "-05" /*format*/,
12836  -1200 /*offsetCode (-18000/15)*/,
12837  0 /*offsetRemainder (-18000%15)*/,
12838  0 /*deltaMinutes*/,
12839  1916 /*untilYear*/,
12840  7 /*untilMonth*/,
12841  1 /*untilDay*/,
12842  0 /*untilTimeCode (0/15)*/,
12843  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12844  },
12845  // -4:42:45 - SMT 1918 Sep 10
12846  {
12847  nullptr /*zonePolicy*/,
12848  "SMT" /*format*/,
12849  -1131 /*offsetCode (-16965/15)*/,
12850  0 /*offsetRemainder (-16965%15)*/,
12851  0 /*deltaMinutes*/,
12852  1918 /*untilYear*/,
12853  9 /*untilMonth*/,
12854  10 /*untilDay*/,
12855  0 /*untilTimeCode (0/15)*/,
12856  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12857  },
12858  // -4:00 - -04 1919 Jul 1
12859  {
12860  nullptr /*zonePolicy*/,
12861  "-04" /*format*/,
12862  -960 /*offsetCode (-14400/15)*/,
12863  0 /*offsetRemainder (-14400%15)*/,
12864  0 /*deltaMinutes*/,
12865  1919 /*untilYear*/,
12866  7 /*untilMonth*/,
12867  1 /*untilDay*/,
12868  0 /*untilTimeCode (0/15)*/,
12869  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12870  },
12871  // -4:42:45 - SMT 1927 Sep 1
12872  {
12873  nullptr /*zonePolicy*/,
12874  "SMT" /*format*/,
12875  -1131 /*offsetCode (-16965/15)*/,
12876  0 /*offsetRemainder (-16965%15)*/,
12877  0 /*deltaMinutes*/,
12878  1927 /*untilYear*/,
12879  9 /*untilMonth*/,
12880  1 /*untilDay*/,
12881  0 /*untilTimeCode (0/15)*/,
12882  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12883  },
12884  // -5:00 Chile -05/-04 1932 Sep 1
12885  {
12886  &kZonePolicyChile /*zonePolicy*/,
12887  "-05/-04" /*format*/,
12888  -1200 /*offsetCode (-18000/15)*/,
12889  0 /*offsetRemainder (-18000%15)*/,
12890  0 /*deltaMinutes*/,
12891  1932 /*untilYear*/,
12892  9 /*untilMonth*/,
12893  1 /*untilDay*/,
12894  0 /*untilTimeCode (0/15)*/,
12895  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12896  },
12897  // -4:00 - -04 1942 Jun 1
12898  {
12899  nullptr /*zonePolicy*/,
12900  "-04" /*format*/,
12901  -960 /*offsetCode (-14400/15)*/,
12902  0 /*offsetRemainder (-14400%15)*/,
12903  0 /*deltaMinutes*/,
12904  1942 /*untilYear*/,
12905  6 /*untilMonth*/,
12906  1 /*untilDay*/,
12907  0 /*untilTimeCode (0/15)*/,
12908  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12909  },
12910  // -5:00 - -05 1942 Aug 1
12911  {
12912  nullptr /*zonePolicy*/,
12913  "-05" /*format*/,
12914  -1200 /*offsetCode (-18000/15)*/,
12915  0 /*offsetRemainder (-18000%15)*/,
12916  0 /*deltaMinutes*/,
12917  1942 /*untilYear*/,
12918  8 /*untilMonth*/,
12919  1 /*untilDay*/,
12920  0 /*untilTimeCode (0/15)*/,
12921  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12922  },
12923  // -4:00 - -04 1946 Jul 14 24:00
12924  {
12925  nullptr /*zonePolicy*/,
12926  "-04" /*format*/,
12927  -960 /*offsetCode (-14400/15)*/,
12928  0 /*offsetRemainder (-14400%15)*/,
12929  0 /*deltaMinutes*/,
12930  1946 /*untilYear*/,
12931  7 /*untilMonth*/,
12932  14 /*untilDay*/,
12933  5760 /*untilTimeCode (86400/15)*/,
12934  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12935  },
12936  // -4:00 1:00 -03 1946 Aug 28 24:00
12937  {
12938  nullptr /*zonePolicy*/,
12939  "-03" /*format*/,
12940  -960 /*offsetCode (-14400/15)*/,
12941  0 /*offsetRemainder (-14400%15)*/,
12942  60 /*deltaMinutes*/,
12943  1946 /*untilYear*/,
12944  8 /*untilMonth*/,
12945  28 /*untilDay*/,
12946  5760 /*untilTimeCode (86400/15)*/,
12947  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12948  },
12949  // -5:00 1:00 -04 1947 Mar 31 24:00
12950  {
12951  nullptr /*zonePolicy*/,
12952  "-04" /*format*/,
12953  -1200 /*offsetCode (-18000/15)*/,
12954  0 /*offsetRemainder (-18000%15)*/,
12955  60 /*deltaMinutes*/,
12956  1947 /*untilYear*/,
12957  3 /*untilMonth*/,
12958  31 /*untilDay*/,
12959  5760 /*untilTimeCode (86400/15)*/,
12960  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12961  },
12962  // -5:00 - -05 1947 May 21 23:00
12963  {
12964  nullptr /*zonePolicy*/,
12965  "-05" /*format*/,
12966  -1200 /*offsetCode (-18000/15)*/,
12967  0 /*offsetRemainder (-18000%15)*/,
12968  0 /*deltaMinutes*/,
12969  1947 /*untilYear*/,
12970  5 /*untilMonth*/,
12971  21 /*untilDay*/,
12972  5520 /*untilTimeCode (82800/15)*/,
12973  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12974  },
12975  // -4:00 Chile -04/-03
12976  {
12977  &kZonePolicyChile /*zonePolicy*/,
12978  "-04/-03" /*format*/,
12979  -960 /*offsetCode (-14400/15)*/,
12980  0 /*offsetRemainder (-14400%15)*/,
12981  0 /*deltaMinutes*/,
12982  32767 /*untilYear*/,
12983  1 /*untilMonth*/,
12984  1 /*untilDay*/,
12985  0 /*untilTimeCode (0/15)*/,
12986  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12987  },
12988 
12989 };
12990 
12991 static const char kZoneNameAmerica_Santiago[] ACE_TIME_PROGMEM = "\x02" "Santiago";
12992 
12993 const complete::ZoneInfo kZoneAmerica_Santiago ACE_TIME_PROGMEM = {
12994  kZoneNameAmerica_Santiago /*name*/,
12995  0x7410c9bc /*zoneId*/,
12996  &kZoneContext /*zoneContext*/,
12997  14 /*numEras*/,
12998  kZoneEraAmerica_Santiago /*eras*/,
12999  nullptr /*targetInfo*/,
13000 };
13001 
13002 //---------------------------------------------------------------------------
13003 // Zone name: America/Santo_Domingo
13004 // Eras: 6
13005 //---------------------------------------------------------------------------
13006 
13007 static const complete::ZoneEra kZoneEraAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = {
13008  // -4:39:36 - LMT 1890
13009  {
13010  nullptr /*zonePolicy*/,
13011  "LMT" /*format*/,
13012  -1119 /*offsetCode (-16776/15)*/,
13013  9 /*offsetRemainder (-16776%15)*/,
13014  0 /*deltaMinutes*/,
13015  1890 /*untilYear*/,
13016  1 /*untilMonth*/,
13017  1 /*untilDay*/,
13018  0 /*untilTimeCode (0/15)*/,
13019  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13020  },
13021  // -4:40 - SDMT 1933 Apr 1 12:00
13022  {
13023  nullptr /*zonePolicy*/,
13024  "SDMT" /*format*/,
13025  -1120 /*offsetCode (-16800/15)*/,
13026  0 /*offsetRemainder (-16800%15)*/,
13027  0 /*deltaMinutes*/,
13028  1933 /*untilYear*/,
13029  4 /*untilMonth*/,
13030  1 /*untilDay*/,
13031  2880 /*untilTimeCode (43200/15)*/,
13032  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13033  },
13034  // -5:00 DR %s 1974 Oct 27
13035  {
13036  &kZonePolicyDR /*zonePolicy*/,
13037  "%" /*format*/,
13038  -1200 /*offsetCode (-18000/15)*/,
13039  0 /*offsetRemainder (-18000%15)*/,
13040  0 /*deltaMinutes*/,
13041  1974 /*untilYear*/,
13042  10 /*untilMonth*/,
13043  27 /*untilDay*/,
13044  0 /*untilTimeCode (0/15)*/,
13045  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13046  },
13047  // -4:00 - AST 2000 Oct 29 2:00
13048  {
13049  nullptr /*zonePolicy*/,
13050  "AST" /*format*/,
13051  -960 /*offsetCode (-14400/15)*/,
13052  0 /*offsetRemainder (-14400%15)*/,
13053  0 /*deltaMinutes*/,
13054  2000 /*untilYear*/,
13055  10 /*untilMonth*/,
13056  29 /*untilDay*/,
13057  480 /*untilTimeCode (7200/15)*/,
13058  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13059  },
13060  // -5:00 US E%sT 2000 Dec 3 1:00
13061  {
13062  &kZonePolicyUS /*zonePolicy*/,
13063  "E%T" /*format*/,
13064  -1200 /*offsetCode (-18000/15)*/,
13065  0 /*offsetRemainder (-18000%15)*/,
13066  0 /*deltaMinutes*/,
13067  2000 /*untilYear*/,
13068  12 /*untilMonth*/,
13069  3 /*untilDay*/,
13070  240 /*untilTimeCode (3600/15)*/,
13071  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13072  },
13073  // -4:00 - AST
13074  {
13075  nullptr /*zonePolicy*/,
13076  "AST" /*format*/,
13077  -960 /*offsetCode (-14400/15)*/,
13078  0 /*offsetRemainder (-14400%15)*/,
13079  0 /*deltaMinutes*/,
13080  32767 /*untilYear*/,
13081  1 /*untilMonth*/,
13082  1 /*untilDay*/,
13083  0 /*untilTimeCode (0/15)*/,
13084  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13085  },
13086 
13087 };
13088 
13089 static const char kZoneNameAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = "\x02" "Santo_Domingo";
13090 
13091 const complete::ZoneInfo kZoneAmerica_Santo_Domingo ACE_TIME_PROGMEM = {
13092  kZoneNameAmerica_Santo_Domingo /*name*/,
13093  0x75a0d177 /*zoneId*/,
13094  &kZoneContext /*zoneContext*/,
13095  6 /*numEras*/,
13096  kZoneEraAmerica_Santo_Domingo /*eras*/,
13097  nullptr /*targetInfo*/,
13098 };
13099 
13100 //---------------------------------------------------------------------------
13101 // Zone name: America/Sao_Paulo
13102 // Eras: 4
13103 //---------------------------------------------------------------------------
13104 
13105 static const complete::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = {
13106  // -3:06:28 - LMT 1914
13107  {
13108  nullptr /*zonePolicy*/,
13109  "LMT" /*format*/,
13110  -746 /*offsetCode (-11188/15)*/,
13111  2 /*offsetRemainder (-11188%15)*/,
13112  0 /*deltaMinutes*/,
13113  1914 /*untilYear*/,
13114  1 /*untilMonth*/,
13115  1 /*untilDay*/,
13116  0 /*untilTimeCode (0/15)*/,
13117  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13118  },
13119  // -3:00 Brazil -03/-02 1963 Oct 23 0:00
13120  {
13121  &kZonePolicyBrazil /*zonePolicy*/,
13122  "-03/-02" /*format*/,
13123  -720 /*offsetCode (-10800/15)*/,
13124  0 /*offsetRemainder (-10800%15)*/,
13125  0 /*deltaMinutes*/,
13126  1963 /*untilYear*/,
13127  10 /*untilMonth*/,
13128  23 /*untilDay*/,
13129  0 /*untilTimeCode (0/15)*/,
13130  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13131  },
13132  // -3:00 1:00 -02 1964
13133  {
13134  nullptr /*zonePolicy*/,
13135  "-02" /*format*/,
13136  -720 /*offsetCode (-10800/15)*/,
13137  0 /*offsetRemainder (-10800%15)*/,
13138  60 /*deltaMinutes*/,
13139  1964 /*untilYear*/,
13140  1 /*untilMonth*/,
13141  1 /*untilDay*/,
13142  0 /*untilTimeCode (0/15)*/,
13143  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13144  },
13145  // -3:00 Brazil -03/-02
13146  {
13147  &kZonePolicyBrazil /*zonePolicy*/,
13148  "-03/-02" /*format*/,
13149  -720 /*offsetCode (-10800/15)*/,
13150  0 /*offsetRemainder (-10800%15)*/,
13151  0 /*deltaMinutes*/,
13152  32767 /*untilYear*/,
13153  1 /*untilMonth*/,
13154  1 /*untilDay*/,
13155  0 /*untilTimeCode (0/15)*/,
13156  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13157  },
13158 
13159 };
13160 
13161 static const char kZoneNameAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = "\x02" "Sao_Paulo";
13162 
13163 const complete::ZoneInfo kZoneAmerica_Sao_Paulo ACE_TIME_PROGMEM = {
13164  kZoneNameAmerica_Sao_Paulo /*name*/,
13165  0x1063bfc9 /*zoneId*/,
13166  &kZoneContext /*zoneContext*/,
13167  4 /*numEras*/,
13168  kZoneEraAmerica_Sao_Paulo /*eras*/,
13169  nullptr /*targetInfo*/,
13170 };
13171 
13172 //---------------------------------------------------------------------------
13173 // Zone name: America/Scoresbysund
13174 // Eras: 4
13175 //---------------------------------------------------------------------------
13176 
13177 static const complete::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = {
13178  // -1:27:52 - LMT 1916 Jul 28
13179  {
13180  nullptr /*zonePolicy*/,
13181  "LMT" /*format*/,
13182  -352 /*offsetCode (-5272/15)*/,
13183  8 /*offsetRemainder (-5272%15)*/,
13184  0 /*deltaMinutes*/,
13185  1916 /*untilYear*/,
13186  7 /*untilMonth*/,
13187  28 /*untilDay*/,
13188  0 /*untilTimeCode (0/15)*/,
13189  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13190  },
13191  // -2:00 - -02 1980 Apr 6 2:00
13192  {
13193  nullptr /*zonePolicy*/,
13194  "-02" /*format*/,
13195  -480 /*offsetCode (-7200/15)*/,
13196  0 /*offsetRemainder (-7200%15)*/,
13197  0 /*deltaMinutes*/,
13198  1980 /*untilYear*/,
13199  4 /*untilMonth*/,
13200  6 /*untilDay*/,
13201  480 /*untilTimeCode (7200/15)*/,
13202  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13203  },
13204  // -2:00 C-Eur -02/-01 1981 Mar 29
13205  {
13206  &kZonePolicyC_Eur /*zonePolicy*/,
13207  "-02/-01" /*format*/,
13208  -480 /*offsetCode (-7200/15)*/,
13209  0 /*offsetRemainder (-7200%15)*/,
13210  0 /*deltaMinutes*/,
13211  1981 /*untilYear*/,
13212  3 /*untilMonth*/,
13213  29 /*untilDay*/,
13214  0 /*untilTimeCode (0/15)*/,
13215  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13216  },
13217  // -1:00 EU -01/+00
13218  {
13219  &kZonePolicyEU /*zonePolicy*/,
13220  "-01/+00" /*format*/,
13221  -240 /*offsetCode (-3600/15)*/,
13222  0 /*offsetRemainder (-3600%15)*/,
13223  0 /*deltaMinutes*/,
13224  32767 /*untilYear*/,
13225  1 /*untilMonth*/,
13226  1 /*untilDay*/,
13227  0 /*untilTimeCode (0/15)*/,
13228  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13229  },
13230 
13231 };
13232 
13233 static const char kZoneNameAmerica_Scoresbysund[] ACE_TIME_PROGMEM = "\x02" "Scoresbysund";
13234 
13235 const complete::ZoneInfo kZoneAmerica_Scoresbysund ACE_TIME_PROGMEM = {
13236  kZoneNameAmerica_Scoresbysund /*name*/,
13237  0x123f8d2a /*zoneId*/,
13238  &kZoneContext /*zoneContext*/,
13239  4 /*numEras*/,
13240  kZoneEraAmerica_Scoresbysund /*eras*/,
13241  nullptr /*targetInfo*/,
13242 };
13243 
13244 //---------------------------------------------------------------------------
13245 // Zone name: America/Sitka
13246 // Eras: 8
13247 //---------------------------------------------------------------------------
13248 
13249 static const complete::ZoneEra kZoneEraAmerica_Sitka[] ACE_TIME_PROGMEM = {
13250  // 14:58:47 - LMT 1867 Oct 19 15:30
13251  {
13252  nullptr /*zonePolicy*/,
13253  "LMT" /*format*/,
13254  3595 /*offsetCode (53927/15)*/,
13255  2 /*offsetRemainder (53927%15)*/,
13256  0 /*deltaMinutes*/,
13257  1867 /*untilYear*/,
13258  10 /*untilMonth*/,
13259  19 /*untilDay*/,
13260  3720 /*untilTimeCode (55800/15)*/,
13261  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13262  },
13263  // -9:01:13 - LMT 1900 Aug 20 12:00
13264  {
13265  nullptr /*zonePolicy*/,
13266  "LMT" /*format*/,
13267  -2165 /*offsetCode (-32473/15)*/,
13268  2 /*offsetRemainder (-32473%15)*/,
13269  0 /*deltaMinutes*/,
13270  1900 /*untilYear*/,
13271  8 /*untilMonth*/,
13272  20 /*untilDay*/,
13273  2880 /*untilTimeCode (43200/15)*/,
13274  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13275  },
13276  // -8:00 - PST 1942
13277  {
13278  nullptr /*zonePolicy*/,
13279  "PST" /*format*/,
13280  -1920 /*offsetCode (-28800/15)*/,
13281  0 /*offsetRemainder (-28800%15)*/,
13282  0 /*deltaMinutes*/,
13283  1942 /*untilYear*/,
13284  1 /*untilMonth*/,
13285  1 /*untilDay*/,
13286  0 /*untilTimeCode (0/15)*/,
13287  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13288  },
13289  // -8:00 US P%sT 1946
13290  {
13291  &kZonePolicyUS /*zonePolicy*/,
13292  "P%T" /*format*/,
13293  -1920 /*offsetCode (-28800/15)*/,
13294  0 /*offsetRemainder (-28800%15)*/,
13295  0 /*deltaMinutes*/,
13296  1946 /*untilYear*/,
13297  1 /*untilMonth*/,
13298  1 /*untilDay*/,
13299  0 /*untilTimeCode (0/15)*/,
13300  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13301  },
13302  // -8:00 - PST 1969
13303  {
13304  nullptr /*zonePolicy*/,
13305  "PST" /*format*/,
13306  -1920 /*offsetCode (-28800/15)*/,
13307  0 /*offsetRemainder (-28800%15)*/,
13308  0 /*deltaMinutes*/,
13309  1969 /*untilYear*/,
13310  1 /*untilMonth*/,
13311  1 /*untilDay*/,
13312  0 /*untilTimeCode (0/15)*/,
13313  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13314  },
13315  // -8:00 US P%sT 1983 Oct 30 2:00
13316  {
13317  &kZonePolicyUS /*zonePolicy*/,
13318  "P%T" /*format*/,
13319  -1920 /*offsetCode (-28800/15)*/,
13320  0 /*offsetRemainder (-28800%15)*/,
13321  0 /*deltaMinutes*/,
13322  1983 /*untilYear*/,
13323  10 /*untilMonth*/,
13324  30 /*untilDay*/,
13325  480 /*untilTimeCode (7200/15)*/,
13326  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13327  },
13328  // -9:00 US Y%sT 1983 Nov 30
13329  {
13330  &kZonePolicyUS /*zonePolicy*/,
13331  "Y%T" /*format*/,
13332  -2160 /*offsetCode (-32400/15)*/,
13333  0 /*offsetRemainder (-32400%15)*/,
13334  0 /*deltaMinutes*/,
13335  1983 /*untilYear*/,
13336  11 /*untilMonth*/,
13337  30 /*untilDay*/,
13338  0 /*untilTimeCode (0/15)*/,
13339  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13340  },
13341  // -9:00 US AK%sT
13342  {
13343  &kZonePolicyUS /*zonePolicy*/,
13344  "AK%T" /*format*/,
13345  -2160 /*offsetCode (-32400/15)*/,
13346  0 /*offsetRemainder (-32400%15)*/,
13347  0 /*deltaMinutes*/,
13348  32767 /*untilYear*/,
13349  1 /*untilMonth*/,
13350  1 /*untilDay*/,
13351  0 /*untilTimeCode (0/15)*/,
13352  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13353  },
13354 
13355 };
13356 
13357 static const char kZoneNameAmerica_Sitka[] ACE_TIME_PROGMEM = "\x02" "Sitka";
13358 
13359 const complete::ZoneInfo kZoneAmerica_Sitka ACE_TIME_PROGMEM = {
13360  kZoneNameAmerica_Sitka /*name*/,
13361  0x99104ce2 /*zoneId*/,
13362  &kZoneContext /*zoneContext*/,
13363  8 /*numEras*/,
13364  kZoneEraAmerica_Sitka /*eras*/,
13365  nullptr /*targetInfo*/,
13366 };
13367 
13368 //---------------------------------------------------------------------------
13369 // Zone name: America/St_Johns
13370 // Eras: 8
13371 //---------------------------------------------------------------------------
13372 
13373 static const complete::ZoneEra kZoneEraAmerica_St_Johns[] ACE_TIME_PROGMEM = {
13374  // -3:30:52 - LMT 1884
13375  {
13376  nullptr /*zonePolicy*/,
13377  "LMT" /*format*/,
13378  -844 /*offsetCode (-12652/15)*/,
13379  8 /*offsetRemainder (-12652%15)*/,
13380  0 /*deltaMinutes*/,
13381  1884 /*untilYear*/,
13382  1 /*untilMonth*/,
13383  1 /*untilDay*/,
13384  0 /*untilTimeCode (0/15)*/,
13385  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13386  },
13387  // -3:30:52 StJohns N%sT 1918
13388  {
13389  &kZonePolicyStJohns /*zonePolicy*/,
13390  "N%T" /*format*/,
13391  -844 /*offsetCode (-12652/15)*/,
13392  8 /*offsetRemainder (-12652%15)*/,
13393  0 /*deltaMinutes*/,
13394  1918 /*untilYear*/,
13395  1 /*untilMonth*/,
13396  1 /*untilDay*/,
13397  0 /*untilTimeCode (0/15)*/,
13398  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13399  },
13400  // -3:30:52 Canada N%sT 1919
13401  {
13402  &kZonePolicyCanada /*zonePolicy*/,
13403  "N%T" /*format*/,
13404  -844 /*offsetCode (-12652/15)*/,
13405  8 /*offsetRemainder (-12652%15)*/,
13406  0 /*deltaMinutes*/,
13407  1919 /*untilYear*/,
13408  1 /*untilMonth*/,
13409  1 /*untilDay*/,
13410  0 /*untilTimeCode (0/15)*/,
13411  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13412  },
13413  // -3:30:52 StJohns N%sT 1935 Mar 30
13414  {
13415  &kZonePolicyStJohns /*zonePolicy*/,
13416  "N%T" /*format*/,
13417  -844 /*offsetCode (-12652/15)*/,
13418  8 /*offsetRemainder (-12652%15)*/,
13419  0 /*deltaMinutes*/,
13420  1935 /*untilYear*/,
13421  3 /*untilMonth*/,
13422  30 /*untilDay*/,
13423  0 /*untilTimeCode (0/15)*/,
13424  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13425  },
13426  // -3:30 StJohns N%sT 1942 May 11
13427  {
13428  &kZonePolicyStJohns /*zonePolicy*/,
13429  "N%T" /*format*/,
13430  -840 /*offsetCode (-12600/15)*/,
13431  0 /*offsetRemainder (-12600%15)*/,
13432  0 /*deltaMinutes*/,
13433  1942 /*untilYear*/,
13434  5 /*untilMonth*/,
13435  11 /*untilDay*/,
13436  0 /*untilTimeCode (0/15)*/,
13437  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13438  },
13439  // -3:30 Canada N%sT 1946
13440  {
13441  &kZonePolicyCanada /*zonePolicy*/,
13442  "N%T" /*format*/,
13443  -840 /*offsetCode (-12600/15)*/,
13444  0 /*offsetRemainder (-12600%15)*/,
13445  0 /*deltaMinutes*/,
13446  1946 /*untilYear*/,
13447  1 /*untilMonth*/,
13448  1 /*untilDay*/,
13449  0 /*untilTimeCode (0/15)*/,
13450  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13451  },
13452  // -3:30 StJohns N%sT 2011 Nov
13453  {
13454  &kZonePolicyStJohns /*zonePolicy*/,
13455  "N%T" /*format*/,
13456  -840 /*offsetCode (-12600/15)*/,
13457  0 /*offsetRemainder (-12600%15)*/,
13458  0 /*deltaMinutes*/,
13459  2011 /*untilYear*/,
13460  11 /*untilMonth*/,
13461  1 /*untilDay*/,
13462  0 /*untilTimeCode (0/15)*/,
13463  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13464  },
13465  // -3:30 Canada N%sT
13466  {
13467  &kZonePolicyCanada /*zonePolicy*/,
13468  "N%T" /*format*/,
13469  -840 /*offsetCode (-12600/15)*/,
13470  0 /*offsetRemainder (-12600%15)*/,
13471  0 /*deltaMinutes*/,
13472  32767 /*untilYear*/,
13473  1 /*untilMonth*/,
13474  1 /*untilDay*/,
13475  0 /*untilTimeCode (0/15)*/,
13476  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13477  },
13478 
13479 };
13480 
13481 static const char kZoneNameAmerica_St_Johns[] ACE_TIME_PROGMEM = "\x02" "St_Johns";
13482 
13483 const complete::ZoneInfo kZoneAmerica_St_Johns ACE_TIME_PROGMEM = {
13484  kZoneNameAmerica_St_Johns /*name*/,
13485  0x04b14e6e /*zoneId*/,
13486  &kZoneContext /*zoneContext*/,
13487  8 /*numEras*/,
13488  kZoneEraAmerica_St_Johns /*eras*/,
13489  nullptr /*targetInfo*/,
13490 };
13491 
13492 //---------------------------------------------------------------------------
13493 // Zone name: America/Swift_Current
13494 // Eras: 5
13495 //---------------------------------------------------------------------------
13496 
13497 static const complete::ZoneEra kZoneEraAmerica_Swift_Current[] ACE_TIME_PROGMEM = {
13498  // -7:11:20 - LMT 1905 Sep
13499  {
13500  nullptr /*zonePolicy*/,
13501  "LMT" /*format*/,
13502  -1726 /*offsetCode (-25880/15)*/,
13503  10 /*offsetRemainder (-25880%15)*/,
13504  0 /*deltaMinutes*/,
13505  1905 /*untilYear*/,
13506  9 /*untilMonth*/,
13507  1 /*untilDay*/,
13508  0 /*untilTimeCode (0/15)*/,
13509  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13510  },
13511  // -7:00 Canada M%sT 1946 Apr lastSun 2:00
13512  {
13513  &kZonePolicyCanada /*zonePolicy*/,
13514  "M%T" /*format*/,
13515  -1680 /*offsetCode (-25200/15)*/,
13516  0 /*offsetRemainder (-25200%15)*/,
13517  0 /*deltaMinutes*/,
13518  1946 /*untilYear*/,
13519  4 /*untilMonth*/,
13520  28 /*untilDay*/,
13521  480 /*untilTimeCode (7200/15)*/,
13522  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13523  },
13524  // -7:00 Regina M%sT 1950
13525  {
13526  &kZonePolicyRegina /*zonePolicy*/,
13527  "M%T" /*format*/,
13528  -1680 /*offsetCode (-25200/15)*/,
13529  0 /*offsetRemainder (-25200%15)*/,
13530  0 /*deltaMinutes*/,
13531  1950 /*untilYear*/,
13532  1 /*untilMonth*/,
13533  1 /*untilDay*/,
13534  0 /*untilTimeCode (0/15)*/,
13535  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13536  },
13537  // -7:00 Swift M%sT 1972 Apr lastSun 2:00
13538  {
13539  &kZonePolicySwift /*zonePolicy*/,
13540  "M%T" /*format*/,
13541  -1680 /*offsetCode (-25200/15)*/,
13542  0 /*offsetRemainder (-25200%15)*/,
13543  0 /*deltaMinutes*/,
13544  1972 /*untilYear*/,
13545  4 /*untilMonth*/,
13546  30 /*untilDay*/,
13547  480 /*untilTimeCode (7200/15)*/,
13548  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13549  },
13550  // -6:00 - CST
13551  {
13552  nullptr /*zonePolicy*/,
13553  "CST" /*format*/,
13554  -1440 /*offsetCode (-21600/15)*/,
13555  0 /*offsetRemainder (-21600%15)*/,
13556  0 /*deltaMinutes*/,
13557  32767 /*untilYear*/,
13558  1 /*untilMonth*/,
13559  1 /*untilDay*/,
13560  0 /*untilTimeCode (0/15)*/,
13561  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13562  },
13563 
13564 };
13565 
13566 static const char kZoneNameAmerica_Swift_Current[] ACE_TIME_PROGMEM = "\x02" "Swift_Current";
13567 
13568 const complete::ZoneInfo kZoneAmerica_Swift_Current ACE_TIME_PROGMEM = {
13569  kZoneNameAmerica_Swift_Current /*name*/,
13570  0xdef98e55 /*zoneId*/,
13571  &kZoneContext /*zoneContext*/,
13572  5 /*numEras*/,
13573  kZoneEraAmerica_Swift_Current /*eras*/,
13574  nullptr /*targetInfo*/,
13575 };
13576 
13577 //---------------------------------------------------------------------------
13578 // Zone name: America/Tegucigalpa
13579 // Eras: 2
13580 //---------------------------------------------------------------------------
13581 
13582 static const complete::ZoneEra kZoneEraAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = {
13583  // -5:48:52 - LMT 1921 Apr
13584  {
13585  nullptr /*zonePolicy*/,
13586  "LMT" /*format*/,
13587  -1396 /*offsetCode (-20932/15)*/,
13588  8 /*offsetRemainder (-20932%15)*/,
13589  0 /*deltaMinutes*/,
13590  1921 /*untilYear*/,
13591  4 /*untilMonth*/,
13592  1 /*untilDay*/,
13593  0 /*untilTimeCode (0/15)*/,
13594  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13595  },
13596  // -6:00 Hond C%sT
13597  {
13598  &kZonePolicyHond /*zonePolicy*/,
13599  "C%T" /*format*/,
13600  -1440 /*offsetCode (-21600/15)*/,
13601  0 /*offsetRemainder (-21600%15)*/,
13602  0 /*deltaMinutes*/,
13603  32767 /*untilYear*/,
13604  1 /*untilMonth*/,
13605  1 /*untilDay*/,
13606  0 /*untilTimeCode (0/15)*/,
13607  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13608  },
13609 
13610 };
13611 
13612 static const char kZoneNameAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = "\x02" "Tegucigalpa";
13613 
13614 const complete::ZoneInfo kZoneAmerica_Tegucigalpa ACE_TIME_PROGMEM = {
13615  kZoneNameAmerica_Tegucigalpa /*name*/,
13616  0xbfd6fd4c /*zoneId*/,
13617  &kZoneContext /*zoneContext*/,
13618  2 /*numEras*/,
13619  kZoneEraAmerica_Tegucigalpa /*eras*/,
13620  nullptr /*targetInfo*/,
13621 };
13622 
13623 //---------------------------------------------------------------------------
13624 // Zone name: America/Thule
13625 // Eras: 2
13626 //---------------------------------------------------------------------------
13627 
13628 static const complete::ZoneEra kZoneEraAmerica_Thule[] ACE_TIME_PROGMEM = {
13629  // -4:35:08 - LMT 1916 Jul 28
13630  {
13631  nullptr /*zonePolicy*/,
13632  "LMT" /*format*/,
13633  -1101 /*offsetCode (-16508/15)*/,
13634  7 /*offsetRemainder (-16508%15)*/,
13635  0 /*deltaMinutes*/,
13636  1916 /*untilYear*/,
13637  7 /*untilMonth*/,
13638  28 /*untilDay*/,
13639  0 /*untilTimeCode (0/15)*/,
13640  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13641  },
13642  // -4:00 Thule A%sT
13643  {
13644  &kZonePolicyThule /*zonePolicy*/,
13645  "A%T" /*format*/,
13646  -960 /*offsetCode (-14400/15)*/,
13647  0 /*offsetRemainder (-14400%15)*/,
13648  0 /*deltaMinutes*/,
13649  32767 /*untilYear*/,
13650  1 /*untilMonth*/,
13651  1 /*untilDay*/,
13652  0 /*untilTimeCode (0/15)*/,
13653  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13654  },
13655 
13656 };
13657 
13658 static const char kZoneNameAmerica_Thule[] ACE_TIME_PROGMEM = "\x02" "Thule";
13659 
13660 const complete::ZoneInfo kZoneAmerica_Thule ACE_TIME_PROGMEM = {
13661  kZoneNameAmerica_Thule /*name*/,
13662  0x9921dd68 /*zoneId*/,
13663  &kZoneContext /*zoneContext*/,
13664  2 /*numEras*/,
13665  kZoneEraAmerica_Thule /*eras*/,
13666  nullptr /*targetInfo*/,
13667 };
13668 
13669 //---------------------------------------------------------------------------
13670 // Zone name: America/Tijuana
13671 // Eras: 19
13672 //---------------------------------------------------------------------------
13673 
13674 static const complete::ZoneEra kZoneEraAmerica_Tijuana[] ACE_TIME_PROGMEM = {
13675  // -7:48:04 - LMT 1922 Jan 1 7:00u
13676  {
13677  nullptr /*zonePolicy*/,
13678  "LMT" /*format*/,
13679  -1873 /*offsetCode (-28084/15)*/,
13680  11 /*offsetRemainder (-28084%15)*/,
13681  0 /*deltaMinutes*/,
13682  1922 /*untilYear*/,
13683  1 /*untilMonth*/,
13684  1 /*untilDay*/,
13685  1680 /*untilTimeCode (25200/15)*/,
13686  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
13687  },
13688  // -7:00 - MST 1924
13689  {
13690  nullptr /*zonePolicy*/,
13691  "MST" /*format*/,
13692  -1680 /*offsetCode (-25200/15)*/,
13693  0 /*offsetRemainder (-25200%15)*/,
13694  0 /*deltaMinutes*/,
13695  1924 /*untilYear*/,
13696  1 /*untilMonth*/,
13697  1 /*untilDay*/,
13698  0 /*untilTimeCode (0/15)*/,
13699  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13700  },
13701  // -8:00 - PST 1927 Jun 10 23:00
13702  {
13703  nullptr /*zonePolicy*/,
13704  "PST" /*format*/,
13705  -1920 /*offsetCode (-28800/15)*/,
13706  0 /*offsetRemainder (-28800%15)*/,
13707  0 /*deltaMinutes*/,
13708  1927 /*untilYear*/,
13709  6 /*untilMonth*/,
13710  10 /*untilDay*/,
13711  5520 /*untilTimeCode (82800/15)*/,
13712  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13713  },
13714  // -7:00 - MST 1930 Nov 15
13715  {
13716  nullptr /*zonePolicy*/,
13717  "MST" /*format*/,
13718  -1680 /*offsetCode (-25200/15)*/,
13719  0 /*offsetRemainder (-25200%15)*/,
13720  0 /*deltaMinutes*/,
13721  1930 /*untilYear*/,
13722  11 /*untilMonth*/,
13723  15 /*untilDay*/,
13724  0 /*untilTimeCode (0/15)*/,
13725  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13726  },
13727  // -8:00 - PST 1931 Apr 1
13728  {
13729  nullptr /*zonePolicy*/,
13730  "PST" /*format*/,
13731  -1920 /*offsetCode (-28800/15)*/,
13732  0 /*offsetRemainder (-28800%15)*/,
13733  0 /*deltaMinutes*/,
13734  1931 /*untilYear*/,
13735  4 /*untilMonth*/,
13736  1 /*untilDay*/,
13737  0 /*untilTimeCode (0/15)*/,
13738  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13739  },
13740  // -8:00 1:00 PDT 1931 Sep 30
13741  {
13742  nullptr /*zonePolicy*/,
13743  "PDT" /*format*/,
13744  -1920 /*offsetCode (-28800/15)*/,
13745  0 /*offsetRemainder (-28800%15)*/,
13746  60 /*deltaMinutes*/,
13747  1931 /*untilYear*/,
13748  9 /*untilMonth*/,
13749  30 /*untilDay*/,
13750  0 /*untilTimeCode (0/15)*/,
13751  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13752  },
13753  // -8:00 - PST 1942 Apr 24
13754  {
13755  nullptr /*zonePolicy*/,
13756  "PST" /*format*/,
13757  -1920 /*offsetCode (-28800/15)*/,
13758  0 /*offsetRemainder (-28800%15)*/,
13759  0 /*deltaMinutes*/,
13760  1942 /*untilYear*/,
13761  4 /*untilMonth*/,
13762  24 /*untilDay*/,
13763  0 /*untilTimeCode (0/15)*/,
13764  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13765  },
13766  // -8:00 1:00 PWT 1945 Aug 14 23:00u
13767  {
13768  nullptr /*zonePolicy*/,
13769  "PWT" /*format*/,
13770  -1920 /*offsetCode (-28800/15)*/,
13771  0 /*offsetRemainder (-28800%15)*/,
13772  60 /*deltaMinutes*/,
13773  1945 /*untilYear*/,
13774  8 /*untilMonth*/,
13775  14 /*untilDay*/,
13776  5520 /*untilTimeCode (82800/15)*/,
13777  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
13778  },
13779  // -8:00 1:00 PPT 1945 Nov 12
13780  {
13781  nullptr /*zonePolicy*/,
13782  "PPT" /*format*/,
13783  -1920 /*offsetCode (-28800/15)*/,
13784  0 /*offsetRemainder (-28800%15)*/,
13785  60 /*deltaMinutes*/,
13786  1945 /*untilYear*/,
13787  11 /*untilMonth*/,
13788  12 /*untilDay*/,
13789  0 /*untilTimeCode (0/15)*/,
13790  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13791  },
13792  // -8:00 - PST 1948 Apr 5
13793  {
13794  nullptr /*zonePolicy*/,
13795  "PST" /*format*/,
13796  -1920 /*offsetCode (-28800/15)*/,
13797  0 /*offsetRemainder (-28800%15)*/,
13798  0 /*deltaMinutes*/,
13799  1948 /*untilYear*/,
13800  4 /*untilMonth*/,
13801  5 /*untilDay*/,
13802  0 /*untilTimeCode (0/15)*/,
13803  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13804  },
13805  // -8:00 1:00 PDT 1949 Jan 14
13806  {
13807  nullptr /*zonePolicy*/,
13808  "PDT" /*format*/,
13809  -1920 /*offsetCode (-28800/15)*/,
13810  0 /*offsetRemainder (-28800%15)*/,
13811  60 /*deltaMinutes*/,
13812  1949 /*untilYear*/,
13813  1 /*untilMonth*/,
13814  14 /*untilDay*/,
13815  0 /*untilTimeCode (0/15)*/,
13816  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13817  },
13818  // -8:00 - PST 1954
13819  {
13820  nullptr /*zonePolicy*/,
13821  "PST" /*format*/,
13822  -1920 /*offsetCode (-28800/15)*/,
13823  0 /*offsetRemainder (-28800%15)*/,
13824  0 /*deltaMinutes*/,
13825  1954 /*untilYear*/,
13826  1 /*untilMonth*/,
13827  1 /*untilDay*/,
13828  0 /*untilTimeCode (0/15)*/,
13829  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13830  },
13831  // -8:00 CA P%sT 1961
13832  {
13833  &kZonePolicyCA /*zonePolicy*/,
13834  "P%T" /*format*/,
13835  -1920 /*offsetCode (-28800/15)*/,
13836  0 /*offsetRemainder (-28800%15)*/,
13837  0 /*deltaMinutes*/,
13838  1961 /*untilYear*/,
13839  1 /*untilMonth*/,
13840  1 /*untilDay*/,
13841  0 /*untilTimeCode (0/15)*/,
13842  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13843  },
13844  // -8:00 - PST 1976
13845  {
13846  nullptr /*zonePolicy*/,
13847  "PST" /*format*/,
13848  -1920 /*offsetCode (-28800/15)*/,
13849  0 /*offsetRemainder (-28800%15)*/,
13850  0 /*deltaMinutes*/,
13851  1976 /*untilYear*/,
13852  1 /*untilMonth*/,
13853  1 /*untilDay*/,
13854  0 /*untilTimeCode (0/15)*/,
13855  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13856  },
13857  // -8:00 US P%sT 1996
13858  {
13859  &kZonePolicyUS /*zonePolicy*/,
13860  "P%T" /*format*/,
13861  -1920 /*offsetCode (-28800/15)*/,
13862  0 /*offsetRemainder (-28800%15)*/,
13863  0 /*deltaMinutes*/,
13864  1996 /*untilYear*/,
13865  1 /*untilMonth*/,
13866  1 /*untilDay*/,
13867  0 /*untilTimeCode (0/15)*/,
13868  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13869  },
13870  // -8:00 Mexico P%sT 2001
13871  {
13872  &kZonePolicyMexico /*zonePolicy*/,
13873  "P%T" /*format*/,
13874  -1920 /*offsetCode (-28800/15)*/,
13875  0 /*offsetRemainder (-28800%15)*/,
13876  0 /*deltaMinutes*/,
13877  2001 /*untilYear*/,
13878  1 /*untilMonth*/,
13879  1 /*untilDay*/,
13880  0 /*untilTimeCode (0/15)*/,
13881  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13882  },
13883  // -8:00 US P%sT 2002 Feb 20
13884  {
13885  &kZonePolicyUS /*zonePolicy*/,
13886  "P%T" /*format*/,
13887  -1920 /*offsetCode (-28800/15)*/,
13888  0 /*offsetRemainder (-28800%15)*/,
13889  0 /*deltaMinutes*/,
13890  2002 /*untilYear*/,
13891  2 /*untilMonth*/,
13892  20 /*untilDay*/,
13893  0 /*untilTimeCode (0/15)*/,
13894  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13895  },
13896  // -8:00 Mexico P%sT 2010
13897  {
13898  &kZonePolicyMexico /*zonePolicy*/,
13899  "P%T" /*format*/,
13900  -1920 /*offsetCode (-28800/15)*/,
13901  0 /*offsetRemainder (-28800%15)*/,
13902  0 /*deltaMinutes*/,
13903  2010 /*untilYear*/,
13904  1 /*untilMonth*/,
13905  1 /*untilDay*/,
13906  0 /*untilTimeCode (0/15)*/,
13907  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13908  },
13909  // -8:00 US P%sT
13910  {
13911  &kZonePolicyUS /*zonePolicy*/,
13912  "P%T" /*format*/,
13913  -1920 /*offsetCode (-28800/15)*/,
13914  0 /*offsetRemainder (-28800%15)*/,
13915  0 /*deltaMinutes*/,
13916  32767 /*untilYear*/,
13917  1 /*untilMonth*/,
13918  1 /*untilDay*/,
13919  0 /*untilTimeCode (0/15)*/,
13920  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13921  },
13922 
13923 };
13924 
13925 static const char kZoneNameAmerica_Tijuana[] ACE_TIME_PROGMEM = "\x02" "Tijuana";
13926 
13927 const complete::ZoneInfo kZoneAmerica_Tijuana ACE_TIME_PROGMEM = {
13928  kZoneNameAmerica_Tijuana /*name*/,
13929  0x6aa1df72 /*zoneId*/,
13930  &kZoneContext /*zoneContext*/,
13931  19 /*numEras*/,
13932  kZoneEraAmerica_Tijuana /*eras*/,
13933  nullptr /*targetInfo*/,
13934 };
13935 
13936 //---------------------------------------------------------------------------
13937 // Zone name: America/Toronto
13938 // Eras: 6
13939 //---------------------------------------------------------------------------
13940 
13941 static const complete::ZoneEra kZoneEraAmerica_Toronto[] ACE_TIME_PROGMEM = {
13942  // -5:17:32 - LMT 1895
13943  {
13944  nullptr /*zonePolicy*/,
13945  "LMT" /*format*/,
13946  -1271 /*offsetCode (-19052/15)*/,
13947  13 /*offsetRemainder (-19052%15)*/,
13948  0 /*deltaMinutes*/,
13949  1895 /*untilYear*/,
13950  1 /*untilMonth*/,
13951  1 /*untilDay*/,
13952  0 /*untilTimeCode (0/15)*/,
13953  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13954  },
13955  // -5:00 Canada E%sT 1919
13956  {
13957  &kZonePolicyCanada /*zonePolicy*/,
13958  "E%T" /*format*/,
13959  -1200 /*offsetCode (-18000/15)*/,
13960  0 /*offsetRemainder (-18000%15)*/,
13961  0 /*deltaMinutes*/,
13962  1919 /*untilYear*/,
13963  1 /*untilMonth*/,
13964  1 /*untilDay*/,
13965  0 /*untilTimeCode (0/15)*/,
13966  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13967  },
13968  // -5:00 Toronto E%sT 1942 Feb 9 2:00s
13969  {
13970  &kZonePolicyToronto /*zonePolicy*/,
13971  "E%T" /*format*/,
13972  -1200 /*offsetCode (-18000/15)*/,
13973  0 /*offsetRemainder (-18000%15)*/,
13974  0 /*deltaMinutes*/,
13975  1942 /*untilYear*/,
13976  2 /*untilMonth*/,
13977  9 /*untilDay*/,
13978  480 /*untilTimeCode (7200/15)*/,
13979  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
13980  },
13981  // -5:00 Canada E%sT 1946
13982  {
13983  &kZonePolicyCanada /*zonePolicy*/,
13984  "E%T" /*format*/,
13985  -1200 /*offsetCode (-18000/15)*/,
13986  0 /*offsetRemainder (-18000%15)*/,
13987  0 /*deltaMinutes*/,
13988  1946 /*untilYear*/,
13989  1 /*untilMonth*/,
13990  1 /*untilDay*/,
13991  0 /*untilTimeCode (0/15)*/,
13992  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13993  },
13994  // -5:00 Toronto E%sT 1974
13995  {
13996  &kZonePolicyToronto /*zonePolicy*/,
13997  "E%T" /*format*/,
13998  -1200 /*offsetCode (-18000/15)*/,
13999  0 /*offsetRemainder (-18000%15)*/,
14000  0 /*deltaMinutes*/,
14001  1974 /*untilYear*/,
14002  1 /*untilMonth*/,
14003  1 /*untilDay*/,
14004  0 /*untilTimeCode (0/15)*/,
14005  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14006  },
14007  // -5:00 Canada E%sT
14008  {
14009  &kZonePolicyCanada /*zonePolicy*/,
14010  "E%T" /*format*/,
14011  -1200 /*offsetCode (-18000/15)*/,
14012  0 /*offsetRemainder (-18000%15)*/,
14013  0 /*deltaMinutes*/,
14014  32767 /*untilYear*/,
14015  1 /*untilMonth*/,
14016  1 /*untilDay*/,
14017  0 /*untilTimeCode (0/15)*/,
14018  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14019  },
14020 
14021 };
14022 
14023 static const char kZoneNameAmerica_Toronto[] ACE_TIME_PROGMEM = "\x02" "Toronto";
14024 
14025 const complete::ZoneInfo kZoneAmerica_Toronto ACE_TIME_PROGMEM = {
14026  kZoneNameAmerica_Toronto /*name*/,
14027  0x792e851b /*zoneId*/,
14028  &kZoneContext /*zoneContext*/,
14029  6 /*numEras*/,
14030  kZoneEraAmerica_Toronto /*eras*/,
14031  nullptr /*targetInfo*/,
14032 };
14033 
14034 //---------------------------------------------------------------------------
14035 // Zone name: America/Vancouver
14036 // Eras: 3
14037 //---------------------------------------------------------------------------
14038 
14039 static const complete::ZoneEra kZoneEraAmerica_Vancouver[] ACE_TIME_PROGMEM = {
14040  // -8:12:28 - LMT 1884
14041  {
14042  nullptr /*zonePolicy*/,
14043  "LMT" /*format*/,
14044  -1970 /*offsetCode (-29548/15)*/,
14045  2 /*offsetRemainder (-29548%15)*/,
14046  0 /*deltaMinutes*/,
14047  1884 /*untilYear*/,
14048  1 /*untilMonth*/,
14049  1 /*untilDay*/,
14050  0 /*untilTimeCode (0/15)*/,
14051  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14052  },
14053  // -8:00 Vanc P%sT 1987
14054  {
14055  &kZonePolicyVanc /*zonePolicy*/,
14056  "P%T" /*format*/,
14057  -1920 /*offsetCode (-28800/15)*/,
14058  0 /*offsetRemainder (-28800%15)*/,
14059  0 /*deltaMinutes*/,
14060  1987 /*untilYear*/,
14061  1 /*untilMonth*/,
14062  1 /*untilDay*/,
14063  0 /*untilTimeCode (0/15)*/,
14064  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14065  },
14066  // -8:00 Canada P%sT
14067  {
14068  &kZonePolicyCanada /*zonePolicy*/,
14069  "P%T" /*format*/,
14070  -1920 /*offsetCode (-28800/15)*/,
14071  0 /*offsetRemainder (-28800%15)*/,
14072  0 /*deltaMinutes*/,
14073  32767 /*untilYear*/,
14074  1 /*untilMonth*/,
14075  1 /*untilDay*/,
14076  0 /*untilTimeCode (0/15)*/,
14077  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14078  },
14079 
14080 };
14081 
14082 static const char kZoneNameAmerica_Vancouver[] ACE_TIME_PROGMEM = "\x02" "Vancouver";
14083 
14084 const complete::ZoneInfo kZoneAmerica_Vancouver ACE_TIME_PROGMEM = {
14085  kZoneNameAmerica_Vancouver /*name*/,
14086  0x2c6f6b1f /*zoneId*/,
14087  &kZoneContext /*zoneContext*/,
14088  3 /*numEras*/,
14089  kZoneEraAmerica_Vancouver /*eras*/,
14090  nullptr /*targetInfo*/,
14091 };
14092 
14093 //---------------------------------------------------------------------------
14094 // Zone name: America/Whitehorse
14095 // Eras: 6
14096 //---------------------------------------------------------------------------
14097 
14098 static const complete::ZoneEra kZoneEraAmerica_Whitehorse[] ACE_TIME_PROGMEM = {
14099  // -9:00:12 - LMT 1900 Aug 20
14100  {
14101  nullptr /*zonePolicy*/,
14102  "LMT" /*format*/,
14103  -2161 /*offsetCode (-32412/15)*/,
14104  3 /*offsetRemainder (-32412%15)*/,
14105  0 /*deltaMinutes*/,
14106  1900 /*untilYear*/,
14107  8 /*untilMonth*/,
14108  20 /*untilDay*/,
14109  0 /*untilTimeCode (0/15)*/,
14110  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14111  },
14112  // -9:00 NT_YK Y%sT 1965
14113  {
14114  &kZonePolicyNT_YK /*zonePolicy*/,
14115  "Y%T" /*format*/,
14116  -2160 /*offsetCode (-32400/15)*/,
14117  0 /*offsetRemainder (-32400%15)*/,
14118  0 /*deltaMinutes*/,
14119  1965 /*untilYear*/,
14120  1 /*untilMonth*/,
14121  1 /*untilDay*/,
14122  0 /*untilTimeCode (0/15)*/,
14123  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14124  },
14125  // -9:00 Yukon Y%sT 1966 Feb 27 0:00
14126  {
14127  &kZonePolicyYukon /*zonePolicy*/,
14128  "Y%T" /*format*/,
14129  -2160 /*offsetCode (-32400/15)*/,
14130  0 /*offsetRemainder (-32400%15)*/,
14131  0 /*deltaMinutes*/,
14132  1966 /*untilYear*/,
14133  2 /*untilMonth*/,
14134  27 /*untilDay*/,
14135  0 /*untilTimeCode (0/15)*/,
14136  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14137  },
14138  // -8:00 - PST 1980
14139  {
14140  nullptr /*zonePolicy*/,
14141  "PST" /*format*/,
14142  -1920 /*offsetCode (-28800/15)*/,
14143  0 /*offsetRemainder (-28800%15)*/,
14144  0 /*deltaMinutes*/,
14145  1980 /*untilYear*/,
14146  1 /*untilMonth*/,
14147  1 /*untilDay*/,
14148  0 /*untilTimeCode (0/15)*/,
14149  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14150  },
14151  // -8:00 Canada P%sT 2020 Nov 1
14152  {
14153  &kZonePolicyCanada /*zonePolicy*/,
14154  "P%T" /*format*/,
14155  -1920 /*offsetCode (-28800/15)*/,
14156  0 /*offsetRemainder (-28800%15)*/,
14157  0 /*deltaMinutes*/,
14158  2020 /*untilYear*/,
14159  11 /*untilMonth*/,
14160  1 /*untilDay*/,
14161  0 /*untilTimeCode (0/15)*/,
14162  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14163  },
14164  // -7:00 - MST
14165  {
14166  nullptr /*zonePolicy*/,
14167  "MST" /*format*/,
14168  -1680 /*offsetCode (-25200/15)*/,
14169  0 /*offsetRemainder (-25200%15)*/,
14170  0 /*deltaMinutes*/,
14171  32767 /*untilYear*/,
14172  1 /*untilMonth*/,
14173  1 /*untilDay*/,
14174  0 /*untilTimeCode (0/15)*/,
14175  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14176  },
14177 
14178 };
14179 
14180 static const char kZoneNameAmerica_Whitehorse[] ACE_TIME_PROGMEM = "\x02" "Whitehorse";
14181 
14182 const complete::ZoneInfo kZoneAmerica_Whitehorse ACE_TIME_PROGMEM = {
14183  kZoneNameAmerica_Whitehorse /*name*/,
14184  0x54e0e3e8 /*zoneId*/,
14185  &kZoneContext /*zoneContext*/,
14186  6 /*numEras*/,
14187  kZoneEraAmerica_Whitehorse /*eras*/,
14188  nullptr /*targetInfo*/,
14189 };
14190 
14191 //---------------------------------------------------------------------------
14192 // Zone name: America/Winnipeg
14193 // Eras: 3
14194 //---------------------------------------------------------------------------
14195 
14196 static const complete::ZoneEra kZoneEraAmerica_Winnipeg[] ACE_TIME_PROGMEM = {
14197  // -6:28:36 - LMT 1887 Jul 16
14198  {
14199  nullptr /*zonePolicy*/,
14200  "LMT" /*format*/,
14201  -1555 /*offsetCode (-23316/15)*/,
14202  9 /*offsetRemainder (-23316%15)*/,
14203  0 /*deltaMinutes*/,
14204  1887 /*untilYear*/,
14205  7 /*untilMonth*/,
14206  16 /*untilDay*/,
14207  0 /*untilTimeCode (0/15)*/,
14208  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14209  },
14210  // -6:00 Winn C%sT 2006
14211  {
14212  &kZonePolicyWinn /*zonePolicy*/,
14213  "C%T" /*format*/,
14214  -1440 /*offsetCode (-21600/15)*/,
14215  0 /*offsetRemainder (-21600%15)*/,
14216  0 /*deltaMinutes*/,
14217  2006 /*untilYear*/,
14218  1 /*untilMonth*/,
14219  1 /*untilDay*/,
14220  0 /*untilTimeCode (0/15)*/,
14221  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14222  },
14223  // -6:00 Canada C%sT
14224  {
14225  &kZonePolicyCanada /*zonePolicy*/,
14226  "C%T" /*format*/,
14227  -1440 /*offsetCode (-21600/15)*/,
14228  0 /*offsetRemainder (-21600%15)*/,
14229  0 /*deltaMinutes*/,
14230  32767 /*untilYear*/,
14231  1 /*untilMonth*/,
14232  1 /*untilDay*/,
14233  0 /*untilTimeCode (0/15)*/,
14234  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14235  },
14236 
14237 };
14238 
14239 static const char kZoneNameAmerica_Winnipeg[] ACE_TIME_PROGMEM = "\x02" "Winnipeg";
14240 
14241 const complete::ZoneInfo kZoneAmerica_Winnipeg ACE_TIME_PROGMEM = {
14242  kZoneNameAmerica_Winnipeg /*name*/,
14243  0x8c7dafc7 /*zoneId*/,
14244  &kZoneContext /*zoneContext*/,
14245  3 /*numEras*/,
14246  kZoneEraAmerica_Winnipeg /*eras*/,
14247  nullptr /*targetInfo*/,
14248 };
14249 
14250 //---------------------------------------------------------------------------
14251 // Zone name: America/Yakutat
14252 // Eras: 7
14253 //---------------------------------------------------------------------------
14254 
14255 static const complete::ZoneEra kZoneEraAmerica_Yakutat[] ACE_TIME_PROGMEM = {
14256  // 14:41:05 - LMT 1867 Oct 19 15:12:18
14257  {
14258  nullptr /*zonePolicy*/,
14259  "LMT" /*format*/,
14260  3524 /*offsetCode (52865/15)*/,
14261  5 /*offsetRemainder (52865%15)*/,
14262  0 /*deltaMinutes*/,
14263  1867 /*untilYear*/,
14264  10 /*untilMonth*/,
14265  19 /*untilDay*/,
14266  3649 /*untilTimeCode (54738/15)*/,
14267  3 /*untilTimeModifier (kAtcSuffixW + seconds=3)*/,
14268  },
14269  // -9:18:55 - LMT 1900 Aug 20 12:00
14270  {
14271  nullptr /*zonePolicy*/,
14272  "LMT" /*format*/,
14273  -2236 /*offsetCode (-33535/15)*/,
14274  5 /*offsetRemainder (-33535%15)*/,
14275  0 /*deltaMinutes*/,
14276  1900 /*untilYear*/,
14277  8 /*untilMonth*/,
14278  20 /*untilDay*/,
14279  2880 /*untilTimeCode (43200/15)*/,
14280  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14281  },
14282  // -9:00 - YST 1942
14283  {
14284  nullptr /*zonePolicy*/,
14285  "YST" /*format*/,
14286  -2160 /*offsetCode (-32400/15)*/,
14287  0 /*offsetRemainder (-32400%15)*/,
14288  0 /*deltaMinutes*/,
14289  1942 /*untilYear*/,
14290  1 /*untilMonth*/,
14291  1 /*untilDay*/,
14292  0 /*untilTimeCode (0/15)*/,
14293  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14294  },
14295  // -9:00 US Y%sT 1946
14296  {
14297  &kZonePolicyUS /*zonePolicy*/,
14298  "Y%T" /*format*/,
14299  -2160 /*offsetCode (-32400/15)*/,
14300  0 /*offsetRemainder (-32400%15)*/,
14301  0 /*deltaMinutes*/,
14302  1946 /*untilYear*/,
14303  1 /*untilMonth*/,
14304  1 /*untilDay*/,
14305  0 /*untilTimeCode (0/15)*/,
14306  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14307  },
14308  // -9:00 - YST 1969
14309  {
14310  nullptr /*zonePolicy*/,
14311  "YST" /*format*/,
14312  -2160 /*offsetCode (-32400/15)*/,
14313  0 /*offsetRemainder (-32400%15)*/,
14314  0 /*deltaMinutes*/,
14315  1969 /*untilYear*/,
14316  1 /*untilMonth*/,
14317  1 /*untilDay*/,
14318  0 /*untilTimeCode (0/15)*/,
14319  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14320  },
14321  // -9:00 US Y%sT 1983 Nov 30
14322  {
14323  &kZonePolicyUS /*zonePolicy*/,
14324  "Y%T" /*format*/,
14325  -2160 /*offsetCode (-32400/15)*/,
14326  0 /*offsetRemainder (-32400%15)*/,
14327  0 /*deltaMinutes*/,
14328  1983 /*untilYear*/,
14329  11 /*untilMonth*/,
14330  30 /*untilDay*/,
14331  0 /*untilTimeCode (0/15)*/,
14332  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14333  },
14334  // -9:00 US AK%sT
14335  {
14336  &kZonePolicyUS /*zonePolicy*/,
14337  "AK%T" /*format*/,
14338  -2160 /*offsetCode (-32400/15)*/,
14339  0 /*offsetRemainder (-32400%15)*/,
14340  0 /*deltaMinutes*/,
14341  32767 /*untilYear*/,
14342  1 /*untilMonth*/,
14343  1 /*untilDay*/,
14344  0 /*untilTimeCode (0/15)*/,
14345  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14346  },
14347 
14348 };
14349 
14350 static const char kZoneNameAmerica_Yakutat[] ACE_TIME_PROGMEM = "\x02" "Yakutat";
14351 
14352 const complete::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = {
14353  kZoneNameAmerica_Yakutat /*name*/,
14354  0xd8ee31e9 /*zoneId*/,
14355  &kZoneContext /*zoneContext*/,
14356  7 /*numEras*/,
14357  kZoneEraAmerica_Yakutat /*eras*/,
14358  nullptr /*targetInfo*/,
14359 };
14360 
14361 //---------------------------------------------------------------------------
14362 // Zone name: Antarctica/Casey
14363 // Eras: 13
14364 //---------------------------------------------------------------------------
14365 
14366 static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = {
14367  // 0 - -00 1969
14368  {
14369  nullptr /*zonePolicy*/,
14370  "-00" /*format*/,
14371  0 /*offsetCode (0/15)*/,
14372  0 /*offsetRemainder (0%15)*/,
14373  0 /*deltaMinutes*/,
14374  1969 /*untilYear*/,
14375  1 /*untilMonth*/,
14376  1 /*untilDay*/,
14377  0 /*untilTimeCode (0/15)*/,
14378  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14379  },
14380  // 8:00 - +08 2009 Oct 18 2:00
14381  {
14382  nullptr /*zonePolicy*/,
14383  "+08" /*format*/,
14384  1920 /*offsetCode (28800/15)*/,
14385  0 /*offsetRemainder (28800%15)*/,
14386  0 /*deltaMinutes*/,
14387  2009 /*untilYear*/,
14388  10 /*untilMonth*/,
14389  18 /*untilDay*/,
14390  480 /*untilTimeCode (7200/15)*/,
14391  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14392  },
14393  // 11:00 - +11 2010 Mar 5 2:00
14394  {
14395  nullptr /*zonePolicy*/,
14396  "+11" /*format*/,
14397  2640 /*offsetCode (39600/15)*/,
14398  0 /*offsetRemainder (39600%15)*/,
14399  0 /*deltaMinutes*/,
14400  2010 /*untilYear*/,
14401  3 /*untilMonth*/,
14402  5 /*untilDay*/,
14403  480 /*untilTimeCode (7200/15)*/,
14404  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14405  },
14406  // 8:00 - +08 2011 Oct 28 2:00
14407  {
14408  nullptr /*zonePolicy*/,
14409  "+08" /*format*/,
14410  1920 /*offsetCode (28800/15)*/,
14411  0 /*offsetRemainder (28800%15)*/,
14412  0 /*deltaMinutes*/,
14413  2011 /*untilYear*/,
14414  10 /*untilMonth*/,
14415  28 /*untilDay*/,
14416  480 /*untilTimeCode (7200/15)*/,
14417  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14418  },
14419  // 11:00 - +11 2012 Feb 21 17:00u
14420  {
14421  nullptr /*zonePolicy*/,
14422  "+11" /*format*/,
14423  2640 /*offsetCode (39600/15)*/,
14424  0 /*offsetRemainder (39600%15)*/,
14425  0 /*deltaMinutes*/,
14426  2012 /*untilYear*/,
14427  2 /*untilMonth*/,
14428  21 /*untilDay*/,
14429  4080 /*untilTimeCode (61200/15)*/,
14430  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
14431  },
14432  // 8:00 - +08 2016 Oct 22
14433  {
14434  nullptr /*zonePolicy*/,
14435  "+08" /*format*/,
14436  1920 /*offsetCode (28800/15)*/,
14437  0 /*offsetRemainder (28800%15)*/,
14438  0 /*deltaMinutes*/,
14439  2016 /*untilYear*/,
14440  10 /*untilMonth*/,
14441  22 /*untilDay*/,
14442  0 /*untilTimeCode (0/15)*/,
14443  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14444  },
14445  // 11:00 - +11 2018 Mar 11 4:00
14446  {
14447  nullptr /*zonePolicy*/,
14448  "+11" /*format*/,
14449  2640 /*offsetCode (39600/15)*/,
14450  0 /*offsetRemainder (39600%15)*/,
14451  0 /*deltaMinutes*/,
14452  2018 /*untilYear*/,
14453  3 /*untilMonth*/,
14454  11 /*untilDay*/,
14455  960 /*untilTimeCode (14400/15)*/,
14456  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14457  },
14458  // 8:00 - +08 2018 Oct 7 4:00
14459  {
14460  nullptr /*zonePolicy*/,
14461  "+08" /*format*/,
14462  1920 /*offsetCode (28800/15)*/,
14463  0 /*offsetRemainder (28800%15)*/,
14464  0 /*deltaMinutes*/,
14465  2018 /*untilYear*/,
14466  10 /*untilMonth*/,
14467  7 /*untilDay*/,
14468  960 /*untilTimeCode (14400/15)*/,
14469  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14470  },
14471  // 11:00 - +11 2019 Mar 17 3:00
14472  {
14473  nullptr /*zonePolicy*/,
14474  "+11" /*format*/,
14475  2640 /*offsetCode (39600/15)*/,
14476  0 /*offsetRemainder (39600%15)*/,
14477  0 /*deltaMinutes*/,
14478  2019 /*untilYear*/,
14479  3 /*untilMonth*/,
14480  17 /*untilDay*/,
14481  720 /*untilTimeCode (10800/15)*/,
14482  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14483  },
14484  // 8:00 - +08 2019 Oct 4 3:00
14485  {
14486  nullptr /*zonePolicy*/,
14487  "+08" /*format*/,
14488  1920 /*offsetCode (28800/15)*/,
14489  0 /*offsetRemainder (28800%15)*/,
14490  0 /*deltaMinutes*/,
14491  2019 /*untilYear*/,
14492  10 /*untilMonth*/,
14493  4 /*untilDay*/,
14494  720 /*untilTimeCode (10800/15)*/,
14495  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14496  },
14497  // 11:00 - +11 2020 Mar 8 3:00
14498  {
14499  nullptr /*zonePolicy*/,
14500  "+11" /*format*/,
14501  2640 /*offsetCode (39600/15)*/,
14502  0 /*offsetRemainder (39600%15)*/,
14503  0 /*deltaMinutes*/,
14504  2020 /*untilYear*/,
14505  3 /*untilMonth*/,
14506  8 /*untilDay*/,
14507  720 /*untilTimeCode (10800/15)*/,
14508  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14509  },
14510  // 8:00 - +08 2020 Oct 4 0:01
14511  {
14512  nullptr /*zonePolicy*/,
14513  "+08" /*format*/,
14514  1920 /*offsetCode (28800/15)*/,
14515  0 /*offsetRemainder (28800%15)*/,
14516  0 /*deltaMinutes*/,
14517  2020 /*untilYear*/,
14518  10 /*untilMonth*/,
14519  4 /*untilDay*/,
14520  4 /*untilTimeCode (60/15)*/,
14521  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14522  },
14523  // 11:00 - +11
14524  {
14525  nullptr /*zonePolicy*/,
14526  "+11" /*format*/,
14527  2640 /*offsetCode (39600/15)*/,
14528  0 /*offsetRemainder (39600%15)*/,
14529  0 /*deltaMinutes*/,
14530  32767 /*untilYear*/,
14531  1 /*untilMonth*/,
14532  1 /*untilDay*/,
14533  0 /*untilTimeCode (0/15)*/,
14534  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14535  },
14536 
14537 };
14538 
14539 static const char kZoneNameAntarctica_Casey[] ACE_TIME_PROGMEM = "\x03" "Casey";
14540 
14541 const complete::ZoneInfo kZoneAntarctica_Casey ACE_TIME_PROGMEM = {
14542  kZoneNameAntarctica_Casey /*name*/,
14543  0xe2022583 /*zoneId*/,
14544  &kZoneContext /*zoneContext*/,
14545  13 /*numEras*/,
14546  kZoneEraAntarctica_Casey /*eras*/,
14547  nullptr /*targetInfo*/,
14548 };
14549 
14550 //---------------------------------------------------------------------------
14551 // Zone name: Antarctica/Davis
14552 // Eras: 8
14553 //---------------------------------------------------------------------------
14554 
14555 static const complete::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = {
14556  // 0 - -00 1957 Jan 13
14557  {
14558  nullptr /*zonePolicy*/,
14559  "-00" /*format*/,
14560  0 /*offsetCode (0/15)*/,
14561  0 /*offsetRemainder (0%15)*/,
14562  0 /*deltaMinutes*/,
14563  1957 /*untilYear*/,
14564  1 /*untilMonth*/,
14565  13 /*untilDay*/,
14566  0 /*untilTimeCode (0/15)*/,
14567  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14568  },
14569  // 7:00 - +07 1964 Nov
14570  {
14571  nullptr /*zonePolicy*/,
14572  "+07" /*format*/,
14573  1680 /*offsetCode (25200/15)*/,
14574  0 /*offsetRemainder (25200%15)*/,
14575  0 /*deltaMinutes*/,
14576  1964 /*untilYear*/,
14577  11 /*untilMonth*/,
14578  1 /*untilDay*/,
14579  0 /*untilTimeCode (0/15)*/,
14580  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14581  },
14582  // 0 - -00 1969 Feb
14583  {
14584  nullptr /*zonePolicy*/,
14585  "-00" /*format*/,
14586  0 /*offsetCode (0/15)*/,
14587  0 /*offsetRemainder (0%15)*/,
14588  0 /*deltaMinutes*/,
14589  1969 /*untilYear*/,
14590  2 /*untilMonth*/,
14591  1 /*untilDay*/,
14592  0 /*untilTimeCode (0/15)*/,
14593  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14594  },
14595  // 7:00 - +07 2009 Oct 18 2:00
14596  {
14597  nullptr /*zonePolicy*/,
14598  "+07" /*format*/,
14599  1680 /*offsetCode (25200/15)*/,
14600  0 /*offsetRemainder (25200%15)*/,
14601  0 /*deltaMinutes*/,
14602  2009 /*untilYear*/,
14603  10 /*untilMonth*/,
14604  18 /*untilDay*/,
14605  480 /*untilTimeCode (7200/15)*/,
14606  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14607  },
14608  // 5:00 - +05 2010 Mar 10 20:00u
14609  {
14610  nullptr /*zonePolicy*/,
14611  "+05" /*format*/,
14612  1200 /*offsetCode (18000/15)*/,
14613  0 /*offsetRemainder (18000%15)*/,
14614  0 /*deltaMinutes*/,
14615  2010 /*untilYear*/,
14616  3 /*untilMonth*/,
14617  10 /*untilDay*/,
14618  4800 /*untilTimeCode (72000/15)*/,
14619  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
14620  },
14621  // 7:00 - +07 2011 Oct 28 2:00
14622  {
14623  nullptr /*zonePolicy*/,
14624  "+07" /*format*/,
14625  1680 /*offsetCode (25200/15)*/,
14626  0 /*offsetRemainder (25200%15)*/,
14627  0 /*deltaMinutes*/,
14628  2011 /*untilYear*/,
14629  10 /*untilMonth*/,
14630  28 /*untilDay*/,
14631  480 /*untilTimeCode (7200/15)*/,
14632  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14633  },
14634  // 5:00 - +05 2012 Feb 21 20:00u
14635  {
14636  nullptr /*zonePolicy*/,
14637  "+05" /*format*/,
14638  1200 /*offsetCode (18000/15)*/,
14639  0 /*offsetRemainder (18000%15)*/,
14640  0 /*deltaMinutes*/,
14641  2012 /*untilYear*/,
14642  2 /*untilMonth*/,
14643  21 /*untilDay*/,
14644  4800 /*untilTimeCode (72000/15)*/,
14645  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
14646  },
14647  // 7:00 - +07
14648  {
14649  nullptr /*zonePolicy*/,
14650  "+07" /*format*/,
14651  1680 /*offsetCode (25200/15)*/,
14652  0 /*offsetRemainder (25200%15)*/,
14653  0 /*deltaMinutes*/,
14654  32767 /*untilYear*/,
14655  1 /*untilMonth*/,
14656  1 /*untilDay*/,
14657  0 /*untilTimeCode (0/15)*/,
14658  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14659  },
14660 
14661 };
14662 
14663 static const char kZoneNameAntarctica_Davis[] ACE_TIME_PROGMEM = "\x03" "Davis";
14664 
14665 const complete::ZoneInfo kZoneAntarctica_Davis ACE_TIME_PROGMEM = {
14666  kZoneNameAntarctica_Davis /*name*/,
14667  0xe2144b45 /*zoneId*/,
14668  &kZoneContext /*zoneContext*/,
14669  8 /*numEras*/,
14670  kZoneEraAntarctica_Davis /*eras*/,
14671  nullptr /*targetInfo*/,
14672 };
14673 
14674 //---------------------------------------------------------------------------
14675 // Zone name: Antarctica/Macquarie
14676 // Eras: 9
14677 //---------------------------------------------------------------------------
14678 
14679 static const complete::ZoneEra kZoneEraAntarctica_Macquarie[] ACE_TIME_PROGMEM = {
14680  // 0 - -00 1899 Nov
14681  {
14682  nullptr /*zonePolicy*/,
14683  "-00" /*format*/,
14684  0 /*offsetCode (0/15)*/,
14685  0 /*offsetRemainder (0%15)*/,
14686  0 /*deltaMinutes*/,
14687  1899 /*untilYear*/,
14688  11 /*untilMonth*/,
14689  1 /*untilDay*/,
14690  0 /*untilTimeCode (0/15)*/,
14691  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14692  },
14693  // 10:00 - AEST 1916 Oct 1 2:00
14694  {
14695  nullptr /*zonePolicy*/,
14696  "AEST" /*format*/,
14697  2400 /*offsetCode (36000/15)*/,
14698  0 /*offsetRemainder (36000%15)*/,
14699  0 /*deltaMinutes*/,
14700  1916 /*untilYear*/,
14701  10 /*untilMonth*/,
14702  1 /*untilDay*/,
14703  480 /*untilTimeCode (7200/15)*/,
14704  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14705  },
14706  // 10:00 1:00 AEDT 1917 Feb
14707  {
14708  nullptr /*zonePolicy*/,
14709  "AEDT" /*format*/,
14710  2400 /*offsetCode (36000/15)*/,
14711  0 /*offsetRemainder (36000%15)*/,
14712  60 /*deltaMinutes*/,
14713  1917 /*untilYear*/,
14714  2 /*untilMonth*/,
14715  1 /*untilDay*/,
14716  0 /*untilTimeCode (0/15)*/,
14717  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14718  },
14719  // 10:00 Aus AE%sT 1919 Apr 1 0:00s
14720  {
14721  &kZonePolicyAus /*zonePolicy*/,
14722  "AE%T" /*format*/,
14723  2400 /*offsetCode (36000/15)*/,
14724  0 /*offsetRemainder (36000%15)*/,
14725  0 /*deltaMinutes*/,
14726  1919 /*untilYear*/,
14727  4 /*untilMonth*/,
14728  1 /*untilDay*/,
14729  0 /*untilTimeCode (0/15)*/,
14730  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
14731  },
14732  // 0 - -00 1948 Mar 25
14733  {
14734  nullptr /*zonePolicy*/,
14735  "-00" /*format*/,
14736  0 /*offsetCode (0/15)*/,
14737  0 /*offsetRemainder (0%15)*/,
14738  0 /*deltaMinutes*/,
14739  1948 /*untilYear*/,
14740  3 /*untilMonth*/,
14741  25 /*untilDay*/,
14742  0 /*untilTimeCode (0/15)*/,
14743  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14744  },
14745  // 10:00 Aus AE%sT 1967
14746  {
14747  &kZonePolicyAus /*zonePolicy*/,
14748  "AE%T" /*format*/,
14749  2400 /*offsetCode (36000/15)*/,
14750  0 /*offsetRemainder (36000%15)*/,
14751  0 /*deltaMinutes*/,
14752  1967 /*untilYear*/,
14753  1 /*untilMonth*/,
14754  1 /*untilDay*/,
14755  0 /*untilTimeCode (0/15)*/,
14756  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14757  },
14758  // 10:00 AT AE%sT 2010
14759  {
14760  &kZonePolicyAT /*zonePolicy*/,
14761  "AE%T" /*format*/,
14762  2400 /*offsetCode (36000/15)*/,
14763  0 /*offsetRemainder (36000%15)*/,
14764  0 /*deltaMinutes*/,
14765  2010 /*untilYear*/,
14766  1 /*untilMonth*/,
14767  1 /*untilDay*/,
14768  0 /*untilTimeCode (0/15)*/,
14769  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14770  },
14771  // 10:00 1:00 AEDT 2011
14772  {
14773  nullptr /*zonePolicy*/,
14774  "AEDT" /*format*/,
14775  2400 /*offsetCode (36000/15)*/,
14776  0 /*offsetRemainder (36000%15)*/,
14777  60 /*deltaMinutes*/,
14778  2011 /*untilYear*/,
14779  1 /*untilMonth*/,
14780  1 /*untilDay*/,
14781  0 /*untilTimeCode (0/15)*/,
14782  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14783  },
14784  // 10:00 AT AE%sT
14785  {
14786  &kZonePolicyAT /*zonePolicy*/,
14787  "AE%T" /*format*/,
14788  2400 /*offsetCode (36000/15)*/,
14789  0 /*offsetRemainder (36000%15)*/,
14790  0 /*deltaMinutes*/,
14791  32767 /*untilYear*/,
14792  1 /*untilMonth*/,
14793  1 /*untilDay*/,
14794  0 /*untilTimeCode (0/15)*/,
14795  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14796  },
14797 
14798 };
14799 
14800 static const char kZoneNameAntarctica_Macquarie[] ACE_TIME_PROGMEM = "\x03" "Macquarie";
14801 
14802 const complete::ZoneInfo kZoneAntarctica_Macquarie ACE_TIME_PROGMEM = {
14803  kZoneNameAntarctica_Macquarie /*name*/,
14804  0x92f47626 /*zoneId*/,
14805  &kZoneContext /*zoneContext*/,
14806  9 /*numEras*/,
14807  kZoneEraAntarctica_Macquarie /*eras*/,
14808  nullptr /*targetInfo*/,
14809 };
14810 
14811 //---------------------------------------------------------------------------
14812 // Zone name: Antarctica/Mawson
14813 // Eras: 3
14814 //---------------------------------------------------------------------------
14815 
14816 static const complete::ZoneEra kZoneEraAntarctica_Mawson[] ACE_TIME_PROGMEM = {
14817  // 0 - -00 1954 Feb 13
14818  {
14819  nullptr /*zonePolicy*/,
14820  "-00" /*format*/,
14821  0 /*offsetCode (0/15)*/,
14822  0 /*offsetRemainder (0%15)*/,
14823  0 /*deltaMinutes*/,
14824  1954 /*untilYear*/,
14825  2 /*untilMonth*/,
14826  13 /*untilDay*/,
14827  0 /*untilTimeCode (0/15)*/,
14828  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14829  },
14830  // 6:00 - +06 2009 Oct 18 2:00
14831  {
14832  nullptr /*zonePolicy*/,
14833  "+06" /*format*/,
14834  1440 /*offsetCode (21600/15)*/,
14835  0 /*offsetRemainder (21600%15)*/,
14836  0 /*deltaMinutes*/,
14837  2009 /*untilYear*/,
14838  10 /*untilMonth*/,
14839  18 /*untilDay*/,
14840  480 /*untilTimeCode (7200/15)*/,
14841  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14842  },
14843  // 5:00 - +05
14844  {
14845  nullptr /*zonePolicy*/,
14846  "+05" /*format*/,
14847  1200 /*offsetCode (18000/15)*/,
14848  0 /*offsetRemainder (18000%15)*/,
14849  0 /*deltaMinutes*/,
14850  32767 /*untilYear*/,
14851  1 /*untilMonth*/,
14852  1 /*untilDay*/,
14853  0 /*untilTimeCode (0/15)*/,
14854  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14855  },
14856 
14857 };
14858 
14859 static const char kZoneNameAntarctica_Mawson[] ACE_TIME_PROGMEM = "\x03" "Mawson";
14860 
14861 const complete::ZoneInfo kZoneAntarctica_Mawson ACE_TIME_PROGMEM = {
14862  kZoneNameAntarctica_Mawson /*name*/,
14863  0x399cd863 /*zoneId*/,
14864  &kZoneContext /*zoneContext*/,
14865  3 /*numEras*/,
14866  kZoneEraAntarctica_Mawson /*eras*/,
14867  nullptr /*targetInfo*/,
14868 };
14869 
14870 //---------------------------------------------------------------------------
14871 // Zone name: Antarctica/Palmer
14872 // Eras: 5
14873 //---------------------------------------------------------------------------
14874 
14875 static const complete::ZoneEra kZoneEraAntarctica_Palmer[] ACE_TIME_PROGMEM = {
14876  // 0 - -00 1965
14877  {
14878  nullptr /*zonePolicy*/,
14879  "-00" /*format*/,
14880  0 /*offsetCode (0/15)*/,
14881  0 /*offsetRemainder (0%15)*/,
14882  0 /*deltaMinutes*/,
14883  1965 /*untilYear*/,
14884  1 /*untilMonth*/,
14885  1 /*untilDay*/,
14886  0 /*untilTimeCode (0/15)*/,
14887  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14888  },
14889  // -4:00 Arg -04/-03 1969 Oct 5
14890  {
14891  &kZonePolicyArg /*zonePolicy*/,
14892  "-04/-03" /*format*/,
14893  -960 /*offsetCode (-14400/15)*/,
14894  0 /*offsetRemainder (-14400%15)*/,
14895  0 /*deltaMinutes*/,
14896  1969 /*untilYear*/,
14897  10 /*untilMonth*/,
14898  5 /*untilDay*/,
14899  0 /*untilTimeCode (0/15)*/,
14900  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14901  },
14902  // -3:00 Arg -03/-02 1982 May
14903  {
14904  &kZonePolicyArg /*zonePolicy*/,
14905  "-03/-02" /*format*/,
14906  -720 /*offsetCode (-10800/15)*/,
14907  0 /*offsetRemainder (-10800%15)*/,
14908  0 /*deltaMinutes*/,
14909  1982 /*untilYear*/,
14910  5 /*untilMonth*/,
14911  1 /*untilDay*/,
14912  0 /*untilTimeCode (0/15)*/,
14913  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14914  },
14915  // -4:00 Chile -04/-03 2016 Dec 4
14916  {
14917  &kZonePolicyChile /*zonePolicy*/,
14918  "-04/-03" /*format*/,
14919  -960 /*offsetCode (-14400/15)*/,
14920  0 /*offsetRemainder (-14400%15)*/,
14921  0 /*deltaMinutes*/,
14922  2016 /*untilYear*/,
14923  12 /*untilMonth*/,
14924  4 /*untilDay*/,
14925  0 /*untilTimeCode (0/15)*/,
14926  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14927  },
14928  // -3:00 - -03
14929  {
14930  nullptr /*zonePolicy*/,
14931  "-03" /*format*/,
14932  -720 /*offsetCode (-10800/15)*/,
14933  0 /*offsetRemainder (-10800%15)*/,
14934  0 /*deltaMinutes*/,
14935  32767 /*untilYear*/,
14936  1 /*untilMonth*/,
14937  1 /*untilDay*/,
14938  0 /*untilTimeCode (0/15)*/,
14939  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14940  },
14941 
14942 };
14943 
14944 static const char kZoneNameAntarctica_Palmer[] ACE_TIME_PROGMEM = "\x03" "Palmer";
14945 
14946 const complete::ZoneInfo kZoneAntarctica_Palmer ACE_TIME_PROGMEM = {
14947  kZoneNameAntarctica_Palmer /*name*/,
14948  0x40962f4f /*zoneId*/,
14949  &kZoneContext /*zoneContext*/,
14950  5 /*numEras*/,
14951  kZoneEraAntarctica_Palmer /*eras*/,
14952  nullptr /*targetInfo*/,
14953 };
14954 
14955 //---------------------------------------------------------------------------
14956 // Zone name: Antarctica/Rothera
14957 // Eras: 2
14958 //---------------------------------------------------------------------------
14959 
14960 static const complete::ZoneEra kZoneEraAntarctica_Rothera[] ACE_TIME_PROGMEM = {
14961  // 0 - -00 1976 Dec 1
14962  {
14963  nullptr /*zonePolicy*/,
14964  "-00" /*format*/,
14965  0 /*offsetCode (0/15)*/,
14966  0 /*offsetRemainder (0%15)*/,
14967  0 /*deltaMinutes*/,
14968  1976 /*untilYear*/,
14969  12 /*untilMonth*/,
14970  1 /*untilDay*/,
14971  0 /*untilTimeCode (0/15)*/,
14972  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14973  },
14974  // -3:00 - -03
14975  {
14976  nullptr /*zonePolicy*/,
14977  "-03" /*format*/,
14978  -720 /*offsetCode (-10800/15)*/,
14979  0 /*offsetRemainder (-10800%15)*/,
14980  0 /*deltaMinutes*/,
14981  32767 /*untilYear*/,
14982  1 /*untilMonth*/,
14983  1 /*untilDay*/,
14984  0 /*untilTimeCode (0/15)*/,
14985  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14986  },
14987 
14988 };
14989 
14990 static const char kZoneNameAntarctica_Rothera[] ACE_TIME_PROGMEM = "\x03" "Rothera";
14991 
14992 const complete::ZoneInfo kZoneAntarctica_Rothera ACE_TIME_PROGMEM = {
14993  kZoneNameAntarctica_Rothera /*name*/,
14994  0x0e86d203 /*zoneId*/,
14995  &kZoneContext /*zoneContext*/,
14996  2 /*numEras*/,
14997  kZoneEraAntarctica_Rothera /*eras*/,
14998  nullptr /*targetInfo*/,
14999 };
15000 
15001 //---------------------------------------------------------------------------
15002 // Zone name: Antarctica/Troll
15003 // Eras: 2
15004 //---------------------------------------------------------------------------
15005 
15006 static const complete::ZoneEra kZoneEraAntarctica_Troll[] ACE_TIME_PROGMEM = {
15007  // 0 - -00 2005 Feb 12
15008  {
15009  nullptr /*zonePolicy*/,
15010  "-00" /*format*/,
15011  0 /*offsetCode (0/15)*/,
15012  0 /*offsetRemainder (0%15)*/,
15013  0 /*deltaMinutes*/,
15014  2005 /*untilYear*/,
15015  2 /*untilMonth*/,
15016  12 /*untilDay*/,
15017  0 /*untilTimeCode (0/15)*/,
15018  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15019  },
15020  // 0:00 Troll %s
15021  {
15022  &kZonePolicyTroll /*zonePolicy*/,
15023  "%" /*format*/,
15024  0 /*offsetCode (0/15)*/,
15025  0 /*offsetRemainder (0%15)*/,
15026  0 /*deltaMinutes*/,
15027  32767 /*untilYear*/,
15028  1 /*untilMonth*/,
15029  1 /*untilDay*/,
15030  0 /*untilTimeCode (0/15)*/,
15031  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15032  },
15033 
15034 };
15035 
15036 static const char kZoneNameAntarctica_Troll[] ACE_TIME_PROGMEM = "\x03" "Troll";
15037 
15038 const complete::ZoneInfo kZoneAntarctica_Troll ACE_TIME_PROGMEM = {
15039  kZoneNameAntarctica_Troll /*name*/,
15040  0xe33f085b /*zoneId*/,
15041  &kZoneContext /*zoneContext*/,
15042  2 /*numEras*/,
15043  kZoneEraAntarctica_Troll /*eras*/,
15044  nullptr /*targetInfo*/,
15045 };
15046 
15047 //---------------------------------------------------------------------------
15048 // Zone name: Asia/Almaty
15049 // Eras: 6
15050 //---------------------------------------------------------------------------
15051 
15052 static const complete::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = {
15053  // 5:07:48 - LMT 1924 May 2
15054  {
15055  nullptr /*zonePolicy*/,
15056  "LMT" /*format*/,
15057  1231 /*offsetCode (18468/15)*/,
15058  3 /*offsetRemainder (18468%15)*/,
15059  0 /*deltaMinutes*/,
15060  1924 /*untilYear*/,
15061  5 /*untilMonth*/,
15062  2 /*untilDay*/,
15063  0 /*untilTimeCode (0/15)*/,
15064  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15065  },
15066  // 5:00 - +05 1930 Jun 21
15067  {
15068  nullptr /*zonePolicy*/,
15069  "+05" /*format*/,
15070  1200 /*offsetCode (18000/15)*/,
15071  0 /*offsetRemainder (18000%15)*/,
15072  0 /*deltaMinutes*/,
15073  1930 /*untilYear*/,
15074  6 /*untilMonth*/,
15075  21 /*untilDay*/,
15076  0 /*untilTimeCode (0/15)*/,
15077  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15078  },
15079  // 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s
15080  {
15081  &kZonePolicyRussiaAsia /*zonePolicy*/,
15082  "+06/+07" /*format*/,
15083  1440 /*offsetCode (21600/15)*/,
15084  0 /*offsetRemainder (21600%15)*/,
15085  0 /*deltaMinutes*/,
15086  1991 /*untilYear*/,
15087  3 /*untilMonth*/,
15088  31 /*untilDay*/,
15089  480 /*untilTimeCode (7200/15)*/,
15090  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15091  },
15092  // 5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s
15093  {
15094  &kZonePolicyRussiaAsia /*zonePolicy*/,
15095  "+05/+06" /*format*/,
15096  1200 /*offsetCode (18000/15)*/,
15097  0 /*offsetRemainder (18000%15)*/,
15098  0 /*deltaMinutes*/,
15099  1992 /*untilYear*/,
15100  1 /*untilMonth*/,
15101  19 /*untilDay*/,
15102  480 /*untilTimeCode (7200/15)*/,
15103  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15104  },
15105  // 6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s
15106  {
15107  &kZonePolicyRussiaAsia /*zonePolicy*/,
15108  "+06/+07" /*format*/,
15109  1440 /*offsetCode (21600/15)*/,
15110  0 /*offsetRemainder (21600%15)*/,
15111  0 /*deltaMinutes*/,
15112  2004 /*untilYear*/,
15113  10 /*untilMonth*/,
15114  31 /*untilDay*/,
15115  480 /*untilTimeCode (7200/15)*/,
15116  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15117  },
15118  // 6:00 - +06
15119  {
15120  nullptr /*zonePolicy*/,
15121  "+06" /*format*/,
15122  1440 /*offsetCode (21600/15)*/,
15123  0 /*offsetRemainder (21600%15)*/,
15124  0 /*deltaMinutes*/,
15125  32767 /*untilYear*/,
15126  1 /*untilMonth*/,
15127  1 /*untilDay*/,
15128  0 /*untilTimeCode (0/15)*/,
15129  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15130  },
15131 
15132 };
15133 
15134 static const char kZoneNameAsia_Almaty[] ACE_TIME_PROGMEM = "\x05" "Almaty";
15135 
15136 const complete::ZoneInfo kZoneAsia_Almaty ACE_TIME_PROGMEM = {
15137  kZoneNameAsia_Almaty /*name*/,
15138  0xa61f41fa /*zoneId*/,
15139  &kZoneContext /*zoneContext*/,
15140  6 /*numEras*/,
15141  kZoneEraAsia_Almaty /*eras*/,
15142  nullptr /*targetInfo*/,
15143 };
15144 
15145 //---------------------------------------------------------------------------
15146 // Zone name: Asia/Amman
15147 // Eras: 3
15148 //---------------------------------------------------------------------------
15149 
15150 static const complete::ZoneEra kZoneEraAsia_Amman[] ACE_TIME_PROGMEM = {
15151  // 2:23:44 - LMT 1931
15152  {
15153  nullptr /*zonePolicy*/,
15154  "LMT" /*format*/,
15155  574 /*offsetCode (8624/15)*/,
15156  14 /*offsetRemainder (8624%15)*/,
15157  0 /*deltaMinutes*/,
15158  1931 /*untilYear*/,
15159  1 /*untilMonth*/,
15160  1 /*untilDay*/,
15161  0 /*untilTimeCode (0/15)*/,
15162  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15163  },
15164  // 2:00 Jordan EE%sT 2022 Oct 28 0:00s
15165  {
15166  &kZonePolicyJordan /*zonePolicy*/,
15167  "EE%T" /*format*/,
15168  480 /*offsetCode (7200/15)*/,
15169  0 /*offsetRemainder (7200%15)*/,
15170  0 /*deltaMinutes*/,
15171  2022 /*untilYear*/,
15172  10 /*untilMonth*/,
15173  28 /*untilDay*/,
15174  0 /*untilTimeCode (0/15)*/,
15175  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15176  },
15177  // 3:00 - +03
15178  {
15179  nullptr /*zonePolicy*/,
15180  "+03" /*format*/,
15181  720 /*offsetCode (10800/15)*/,
15182  0 /*offsetRemainder (10800%15)*/,
15183  0 /*deltaMinutes*/,
15184  32767 /*untilYear*/,
15185  1 /*untilMonth*/,
15186  1 /*untilDay*/,
15187  0 /*untilTimeCode (0/15)*/,
15188  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15189  },
15190 
15191 };
15192 
15193 static const char kZoneNameAsia_Amman[] ACE_TIME_PROGMEM = "\x05" "Amman";
15194 
15195 const complete::ZoneInfo kZoneAsia_Amman ACE_TIME_PROGMEM = {
15196  kZoneNameAsia_Amman /*name*/,
15197  0x148d21bc /*zoneId*/,
15198  &kZoneContext /*zoneContext*/,
15199  3 /*numEras*/,
15200  kZoneEraAsia_Amman /*eras*/,
15201  nullptr /*targetInfo*/,
15202 };
15203 
15204 //---------------------------------------------------------------------------
15205 // Zone name: Asia/Anadyr
15206 // Eras: 8
15207 //---------------------------------------------------------------------------
15208 
15209 static const complete::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = {
15210  // 11:49:56 - LMT 1924 May 2
15211  {
15212  nullptr /*zonePolicy*/,
15213  "LMT" /*format*/,
15214  2839 /*offsetCode (42596/15)*/,
15215  11 /*offsetRemainder (42596%15)*/,
15216  0 /*deltaMinutes*/,
15217  1924 /*untilYear*/,
15218  5 /*untilMonth*/,
15219  2 /*untilDay*/,
15220  0 /*untilTimeCode (0/15)*/,
15221  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15222  },
15223  // 12:00 - +12 1930 Jun 21
15224  {
15225  nullptr /*zonePolicy*/,
15226  "+12" /*format*/,
15227  2880 /*offsetCode (43200/15)*/,
15228  0 /*offsetRemainder (43200%15)*/,
15229  0 /*deltaMinutes*/,
15230  1930 /*untilYear*/,
15231  6 /*untilMonth*/,
15232  21 /*untilDay*/,
15233  0 /*untilTimeCode (0/15)*/,
15234  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15235  },
15236  // 13:00 Russia +13/+14 1982 Apr 1 0:00s
15237  {
15238  &kZonePolicyRussia /*zonePolicy*/,
15239  "+13/+14" /*format*/,
15240  3120 /*offsetCode (46800/15)*/,
15241  0 /*offsetRemainder (46800%15)*/,
15242  0 /*deltaMinutes*/,
15243  1982 /*untilYear*/,
15244  4 /*untilMonth*/,
15245  1 /*untilDay*/,
15246  0 /*untilTimeCode (0/15)*/,
15247  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15248  },
15249  // 12:00 Russia +12/+13 1991 Mar 31 2:00s
15250  {
15251  &kZonePolicyRussia /*zonePolicy*/,
15252  "+12/+13" /*format*/,
15253  2880 /*offsetCode (43200/15)*/,
15254  0 /*offsetRemainder (43200%15)*/,
15255  0 /*deltaMinutes*/,
15256  1991 /*untilYear*/,
15257  3 /*untilMonth*/,
15258  31 /*untilDay*/,
15259  480 /*untilTimeCode (7200/15)*/,
15260  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15261  },
15262  // 11:00 Russia +11/+12 1992 Jan 19 2:00s
15263  {
15264  &kZonePolicyRussia /*zonePolicy*/,
15265  "+11/+12" /*format*/,
15266  2640 /*offsetCode (39600/15)*/,
15267  0 /*offsetRemainder (39600%15)*/,
15268  0 /*deltaMinutes*/,
15269  1992 /*untilYear*/,
15270  1 /*untilMonth*/,
15271  19 /*untilDay*/,
15272  480 /*untilTimeCode (7200/15)*/,
15273  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15274  },
15275  // 12:00 Russia +12/+13 2010 Mar 28 2:00s
15276  {
15277  &kZonePolicyRussia /*zonePolicy*/,
15278  "+12/+13" /*format*/,
15279  2880 /*offsetCode (43200/15)*/,
15280  0 /*offsetRemainder (43200%15)*/,
15281  0 /*deltaMinutes*/,
15282  2010 /*untilYear*/,
15283  3 /*untilMonth*/,
15284  28 /*untilDay*/,
15285  480 /*untilTimeCode (7200/15)*/,
15286  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15287  },
15288  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
15289  {
15290  &kZonePolicyRussia /*zonePolicy*/,
15291  "+11/+12" /*format*/,
15292  2640 /*offsetCode (39600/15)*/,
15293  0 /*offsetRemainder (39600%15)*/,
15294  0 /*deltaMinutes*/,
15295  2011 /*untilYear*/,
15296  3 /*untilMonth*/,
15297  27 /*untilDay*/,
15298  480 /*untilTimeCode (7200/15)*/,
15299  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15300  },
15301  // 12:00 - +12
15302  {
15303  nullptr /*zonePolicy*/,
15304  "+12" /*format*/,
15305  2880 /*offsetCode (43200/15)*/,
15306  0 /*offsetRemainder (43200%15)*/,
15307  0 /*deltaMinutes*/,
15308  32767 /*untilYear*/,
15309  1 /*untilMonth*/,
15310  1 /*untilDay*/,
15311  0 /*untilTimeCode (0/15)*/,
15312  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15313  },
15314 
15315 };
15316 
15317 static const char kZoneNameAsia_Anadyr[] ACE_TIME_PROGMEM = "\x05" "Anadyr";
15318 
15319 const complete::ZoneInfo kZoneAsia_Anadyr ACE_TIME_PROGMEM = {
15320  kZoneNameAsia_Anadyr /*name*/,
15321  0xa63cebd1 /*zoneId*/,
15322  &kZoneContext /*zoneContext*/,
15323  8 /*numEras*/,
15324  kZoneEraAsia_Anadyr /*eras*/,
15325  nullptr /*targetInfo*/,
15326 };
15327 
15328 //---------------------------------------------------------------------------
15329 // Zone name: Asia/Aqtau
15330 // Eras: 9
15331 //---------------------------------------------------------------------------
15332 
15333 static const complete::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = {
15334  // 3:21:04 - LMT 1924 May 2
15335  {
15336  nullptr /*zonePolicy*/,
15337  "LMT" /*format*/,
15338  804 /*offsetCode (12064/15)*/,
15339  4 /*offsetRemainder (12064%15)*/,
15340  0 /*deltaMinutes*/,
15341  1924 /*untilYear*/,
15342  5 /*untilMonth*/,
15343  2 /*untilDay*/,
15344  0 /*untilTimeCode (0/15)*/,
15345  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15346  },
15347  // 4:00 - +04 1930 Jun 21
15348  {
15349  nullptr /*zonePolicy*/,
15350  "+04" /*format*/,
15351  960 /*offsetCode (14400/15)*/,
15352  0 /*offsetRemainder (14400%15)*/,
15353  0 /*deltaMinutes*/,
15354  1930 /*untilYear*/,
15355  6 /*untilMonth*/,
15356  21 /*untilDay*/,
15357  0 /*untilTimeCode (0/15)*/,
15358  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15359  },
15360  // 5:00 - +05 1981 Oct 1
15361  {
15362  nullptr /*zonePolicy*/,
15363  "+05" /*format*/,
15364  1200 /*offsetCode (18000/15)*/,
15365  0 /*offsetRemainder (18000%15)*/,
15366  0 /*deltaMinutes*/,
15367  1981 /*untilYear*/,
15368  10 /*untilMonth*/,
15369  1 /*untilDay*/,
15370  0 /*untilTimeCode (0/15)*/,
15371  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15372  },
15373  // 6:00 - +06 1982 Apr 1
15374  {
15375  nullptr /*zonePolicy*/,
15376  "+06" /*format*/,
15377  1440 /*offsetCode (21600/15)*/,
15378  0 /*offsetRemainder (21600%15)*/,
15379  0 /*deltaMinutes*/,
15380  1982 /*untilYear*/,
15381  4 /*untilMonth*/,
15382  1 /*untilDay*/,
15383  0 /*untilTimeCode (0/15)*/,
15384  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15385  },
15386  // 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
15387  {
15388  &kZonePolicyRussiaAsia /*zonePolicy*/,
15389  "+05/+06" /*format*/,
15390  1200 /*offsetCode (18000/15)*/,
15391  0 /*offsetRemainder (18000%15)*/,
15392  0 /*deltaMinutes*/,
15393  1991 /*untilYear*/,
15394  3 /*untilMonth*/,
15395  31 /*untilDay*/,
15396  480 /*untilTimeCode (7200/15)*/,
15397  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15398  },
15399  // 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
15400  {
15401  &kZonePolicyRussiaAsia /*zonePolicy*/,
15402  "+04/+05" /*format*/,
15403  960 /*offsetCode (14400/15)*/,
15404  0 /*offsetRemainder (14400%15)*/,
15405  0 /*deltaMinutes*/,
15406  1992 /*untilYear*/,
15407  1 /*untilMonth*/,
15408  19 /*untilDay*/,
15409  480 /*untilTimeCode (7200/15)*/,
15410  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15411  },
15412  // 5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s
15413  {
15414  &kZonePolicyRussiaAsia /*zonePolicy*/,
15415  "+05/+06" /*format*/,
15416  1200 /*offsetCode (18000/15)*/,
15417  0 /*offsetRemainder (18000%15)*/,
15418  0 /*deltaMinutes*/,
15419  1994 /*untilYear*/,
15420  9 /*untilMonth*/,
15421  25 /*untilDay*/,
15422  480 /*untilTimeCode (7200/15)*/,
15423  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15424  },
15425  // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
15426  {
15427  &kZonePolicyRussiaAsia /*zonePolicy*/,
15428  "+04/+05" /*format*/,
15429  960 /*offsetCode (14400/15)*/,
15430  0 /*offsetRemainder (14400%15)*/,
15431  0 /*deltaMinutes*/,
15432  2004 /*untilYear*/,
15433  10 /*untilMonth*/,
15434  31 /*untilDay*/,
15435  480 /*untilTimeCode (7200/15)*/,
15436  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15437  },
15438  // 5:00 - +05
15439  {
15440  nullptr /*zonePolicy*/,
15441  "+05" /*format*/,
15442  1200 /*offsetCode (18000/15)*/,
15443  0 /*offsetRemainder (18000%15)*/,
15444  0 /*deltaMinutes*/,
15445  32767 /*untilYear*/,
15446  1 /*untilMonth*/,
15447  1 /*untilDay*/,
15448  0 /*untilTimeCode (0/15)*/,
15449  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15450  },
15451 
15452 };
15453 
15454 static const char kZoneNameAsia_Aqtau[] ACE_TIME_PROGMEM = "\x05" "Aqtau";
15455 
15456 const complete::ZoneInfo kZoneAsia_Aqtau ACE_TIME_PROGMEM = {
15457  kZoneNameAsia_Aqtau /*name*/,
15458  0x148f710e /*zoneId*/,
15459  &kZoneContext /*zoneContext*/,
15460  9 /*numEras*/,
15461  kZoneEraAsia_Aqtau /*eras*/,
15462  nullptr /*targetInfo*/,
15463 };
15464 
15465 //---------------------------------------------------------------------------
15466 // Zone name: Asia/Aqtobe
15467 // Eras: 9
15468 //---------------------------------------------------------------------------
15469 
15470 static const complete::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = {
15471  // 3:48:40 - LMT 1924 May 2
15472  {
15473  nullptr /*zonePolicy*/,
15474  "LMT" /*format*/,
15475  914 /*offsetCode (13720/15)*/,
15476  10 /*offsetRemainder (13720%15)*/,
15477  0 /*deltaMinutes*/,
15478  1924 /*untilYear*/,
15479  5 /*untilMonth*/,
15480  2 /*untilDay*/,
15481  0 /*untilTimeCode (0/15)*/,
15482  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15483  },
15484  // 4:00 - +04 1930 Jun 21
15485  {
15486  nullptr /*zonePolicy*/,
15487  "+04" /*format*/,
15488  960 /*offsetCode (14400/15)*/,
15489  0 /*offsetRemainder (14400%15)*/,
15490  0 /*deltaMinutes*/,
15491  1930 /*untilYear*/,
15492  6 /*untilMonth*/,
15493  21 /*untilDay*/,
15494  0 /*untilTimeCode (0/15)*/,
15495  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15496  },
15497  // 5:00 - +05 1981 Apr 1
15498  {
15499  nullptr /*zonePolicy*/,
15500  "+05" /*format*/,
15501  1200 /*offsetCode (18000/15)*/,
15502  0 /*offsetRemainder (18000%15)*/,
15503  0 /*deltaMinutes*/,
15504  1981 /*untilYear*/,
15505  4 /*untilMonth*/,
15506  1 /*untilDay*/,
15507  0 /*untilTimeCode (0/15)*/,
15508  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15509  },
15510  // 5:00 1:00 +06 1981 Oct 1
15511  {
15512  nullptr /*zonePolicy*/,
15513  "+06" /*format*/,
15514  1200 /*offsetCode (18000/15)*/,
15515  0 /*offsetRemainder (18000%15)*/,
15516  60 /*deltaMinutes*/,
15517  1981 /*untilYear*/,
15518  10 /*untilMonth*/,
15519  1 /*untilDay*/,
15520  0 /*untilTimeCode (0/15)*/,
15521  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15522  },
15523  // 6:00 - +06 1982 Apr 1
15524  {
15525  nullptr /*zonePolicy*/,
15526  "+06" /*format*/,
15527  1440 /*offsetCode (21600/15)*/,
15528  0 /*offsetRemainder (21600%15)*/,
15529  0 /*deltaMinutes*/,
15530  1982 /*untilYear*/,
15531  4 /*untilMonth*/,
15532  1 /*untilDay*/,
15533  0 /*untilTimeCode (0/15)*/,
15534  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15535  },
15536  // 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
15537  {
15538  &kZonePolicyRussiaAsia /*zonePolicy*/,
15539  "+05/+06" /*format*/,
15540  1200 /*offsetCode (18000/15)*/,
15541  0 /*offsetRemainder (18000%15)*/,
15542  0 /*deltaMinutes*/,
15543  1991 /*untilYear*/,
15544  3 /*untilMonth*/,
15545  31 /*untilDay*/,
15546  480 /*untilTimeCode (7200/15)*/,
15547  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15548  },
15549  // 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
15550  {
15551  &kZonePolicyRussiaAsia /*zonePolicy*/,
15552  "+04/+05" /*format*/,
15553  960 /*offsetCode (14400/15)*/,
15554  0 /*offsetRemainder (14400%15)*/,
15555  0 /*deltaMinutes*/,
15556  1992 /*untilYear*/,
15557  1 /*untilMonth*/,
15558  19 /*untilDay*/,
15559  480 /*untilTimeCode (7200/15)*/,
15560  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15561  },
15562  // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
15563  {
15564  &kZonePolicyRussiaAsia /*zonePolicy*/,
15565  "+05/+06" /*format*/,
15566  1200 /*offsetCode (18000/15)*/,
15567  0 /*offsetRemainder (18000%15)*/,
15568  0 /*deltaMinutes*/,
15569  2004 /*untilYear*/,
15570  10 /*untilMonth*/,
15571  31 /*untilDay*/,
15572  480 /*untilTimeCode (7200/15)*/,
15573  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15574  },
15575  // 5:00 - +05
15576  {
15577  nullptr /*zonePolicy*/,
15578  "+05" /*format*/,
15579  1200 /*offsetCode (18000/15)*/,
15580  0 /*offsetRemainder (18000%15)*/,
15581  0 /*deltaMinutes*/,
15582  32767 /*untilYear*/,
15583  1 /*untilMonth*/,
15584  1 /*untilDay*/,
15585  0 /*untilTimeCode (0/15)*/,
15586  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15587  },
15588 
15589 };
15590 
15591 static const char kZoneNameAsia_Aqtobe[] ACE_TIME_PROGMEM = "\x05" "Aqtobe";
15592 
15593 const complete::ZoneInfo kZoneAsia_Aqtobe ACE_TIME_PROGMEM = {
15594  kZoneNameAsia_Aqtobe /*name*/,
15595  0xa67dcc4e /*zoneId*/,
15596  &kZoneContext /*zoneContext*/,
15597  9 /*numEras*/,
15598  kZoneEraAsia_Aqtobe /*eras*/,
15599  nullptr /*targetInfo*/,
15600 };
15601 
15602 //---------------------------------------------------------------------------
15603 // Zone name: Asia/Ashgabat
15604 // Eras: 5
15605 //---------------------------------------------------------------------------
15606 
15607 static const complete::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = {
15608  // 3:53:32 - LMT 1924 May 2
15609  {
15610  nullptr /*zonePolicy*/,
15611  "LMT" /*format*/,
15612  934 /*offsetCode (14012/15)*/,
15613  2 /*offsetRemainder (14012%15)*/,
15614  0 /*deltaMinutes*/,
15615  1924 /*untilYear*/,
15616  5 /*untilMonth*/,
15617  2 /*untilDay*/,
15618  0 /*untilTimeCode (0/15)*/,
15619  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15620  },
15621  // 4:00 - +04 1930 Jun 21
15622  {
15623  nullptr /*zonePolicy*/,
15624  "+04" /*format*/,
15625  960 /*offsetCode (14400/15)*/,
15626  0 /*offsetRemainder (14400%15)*/,
15627  0 /*deltaMinutes*/,
15628  1930 /*untilYear*/,
15629  6 /*untilMonth*/,
15630  21 /*untilDay*/,
15631  0 /*untilTimeCode (0/15)*/,
15632  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15633  },
15634  // 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00
15635  {
15636  &kZonePolicyRussiaAsia /*zonePolicy*/,
15637  "+05/+06" /*format*/,
15638  1200 /*offsetCode (18000/15)*/,
15639  0 /*offsetRemainder (18000%15)*/,
15640  0 /*deltaMinutes*/,
15641  1991 /*untilYear*/,
15642  3 /*untilMonth*/,
15643  31 /*untilDay*/,
15644  480 /*untilTimeCode (7200/15)*/,
15645  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15646  },
15647  // 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00
15648  {
15649  &kZonePolicyRussiaAsia /*zonePolicy*/,
15650  "+04/+05" /*format*/,
15651  960 /*offsetCode (14400/15)*/,
15652  0 /*offsetRemainder (14400%15)*/,
15653  0 /*deltaMinutes*/,
15654  1992 /*untilYear*/,
15655  1 /*untilMonth*/,
15656  19 /*untilDay*/,
15657  480 /*untilTimeCode (7200/15)*/,
15658  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15659  },
15660  // 5:00 - +05
15661  {
15662  nullptr /*zonePolicy*/,
15663  "+05" /*format*/,
15664  1200 /*offsetCode (18000/15)*/,
15665  0 /*offsetRemainder (18000%15)*/,
15666  0 /*deltaMinutes*/,
15667  32767 /*untilYear*/,
15668  1 /*untilMonth*/,
15669  1 /*untilDay*/,
15670  0 /*untilTimeCode (0/15)*/,
15671  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15672  },
15673 
15674 };
15675 
15676 static const char kZoneNameAsia_Ashgabat[] ACE_TIME_PROGMEM = "\x05" "Ashgabat";
15677 
15678 const complete::ZoneInfo kZoneAsia_Ashgabat ACE_TIME_PROGMEM = {
15679  kZoneNameAsia_Ashgabat /*name*/,
15680  0xba87598d /*zoneId*/,
15681  &kZoneContext /*zoneContext*/,
15682  5 /*numEras*/,
15683  kZoneEraAsia_Ashgabat /*eras*/,
15684  nullptr /*targetInfo*/,
15685 };
15686 
15687 //---------------------------------------------------------------------------
15688 // Zone name: Asia/Atyrau
15689 // Eras: 9
15690 //---------------------------------------------------------------------------
15691 
15692 static const complete::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = {
15693  // 3:27:44 - LMT 1924 May 2
15694  {
15695  nullptr /*zonePolicy*/,
15696  "LMT" /*format*/,
15697  830 /*offsetCode (12464/15)*/,
15698  14 /*offsetRemainder (12464%15)*/,
15699  0 /*deltaMinutes*/,
15700  1924 /*untilYear*/,
15701  5 /*untilMonth*/,
15702  2 /*untilDay*/,
15703  0 /*untilTimeCode (0/15)*/,
15704  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15705  },
15706  // 3:00 - +03 1930 Jun 21
15707  {
15708  nullptr /*zonePolicy*/,
15709  "+03" /*format*/,
15710  720 /*offsetCode (10800/15)*/,
15711  0 /*offsetRemainder (10800%15)*/,
15712  0 /*deltaMinutes*/,
15713  1930 /*untilYear*/,
15714  6 /*untilMonth*/,
15715  21 /*untilDay*/,
15716  0 /*untilTimeCode (0/15)*/,
15717  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15718  },
15719  // 5:00 - +05 1981 Oct 1
15720  {
15721  nullptr /*zonePolicy*/,
15722  "+05" /*format*/,
15723  1200 /*offsetCode (18000/15)*/,
15724  0 /*offsetRemainder (18000%15)*/,
15725  0 /*deltaMinutes*/,
15726  1981 /*untilYear*/,
15727  10 /*untilMonth*/,
15728  1 /*untilDay*/,
15729  0 /*untilTimeCode (0/15)*/,
15730  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15731  },
15732  // 6:00 - +06 1982 Apr 1
15733  {
15734  nullptr /*zonePolicy*/,
15735  "+06" /*format*/,
15736  1440 /*offsetCode (21600/15)*/,
15737  0 /*offsetRemainder (21600%15)*/,
15738  0 /*deltaMinutes*/,
15739  1982 /*untilYear*/,
15740  4 /*untilMonth*/,
15741  1 /*untilDay*/,
15742  0 /*untilTimeCode (0/15)*/,
15743  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15744  },
15745  // 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
15746  {
15747  &kZonePolicyRussiaAsia /*zonePolicy*/,
15748  "+05/+06" /*format*/,
15749  1200 /*offsetCode (18000/15)*/,
15750  0 /*offsetRemainder (18000%15)*/,
15751  0 /*deltaMinutes*/,
15752  1991 /*untilYear*/,
15753  3 /*untilMonth*/,
15754  31 /*untilDay*/,
15755  480 /*untilTimeCode (7200/15)*/,
15756  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15757  },
15758  // 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
15759  {
15760  &kZonePolicyRussiaAsia /*zonePolicy*/,
15761  "+04/+05" /*format*/,
15762  960 /*offsetCode (14400/15)*/,
15763  0 /*offsetRemainder (14400%15)*/,
15764  0 /*deltaMinutes*/,
15765  1992 /*untilYear*/,
15766  1 /*untilMonth*/,
15767  19 /*untilDay*/,
15768  480 /*untilTimeCode (7200/15)*/,
15769  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15770  },
15771  // 5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s
15772  {
15773  &kZonePolicyRussiaAsia /*zonePolicy*/,
15774  "+05/+06" /*format*/,
15775  1200 /*offsetCode (18000/15)*/,
15776  0 /*offsetRemainder (18000%15)*/,
15777  0 /*deltaMinutes*/,
15778  1999 /*untilYear*/,
15779  3 /*untilMonth*/,
15780  28 /*untilDay*/,
15781  480 /*untilTimeCode (7200/15)*/,
15782  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15783  },
15784  // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
15785  {
15786  &kZonePolicyRussiaAsia /*zonePolicy*/,
15787  "+04/+05" /*format*/,
15788  960 /*offsetCode (14400/15)*/,
15789  0 /*offsetRemainder (14400%15)*/,
15790  0 /*deltaMinutes*/,
15791  2004 /*untilYear*/,
15792  10 /*untilMonth*/,
15793  31 /*untilDay*/,
15794  480 /*untilTimeCode (7200/15)*/,
15795  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15796  },
15797  // 5:00 - +05
15798  {
15799  nullptr /*zonePolicy*/,
15800  "+05" /*format*/,
15801  1200 /*offsetCode (18000/15)*/,
15802  0 /*offsetRemainder (18000%15)*/,
15803  0 /*deltaMinutes*/,
15804  32767 /*untilYear*/,
15805  1 /*untilMonth*/,
15806  1 /*untilDay*/,
15807  0 /*untilTimeCode (0/15)*/,
15808  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15809  },
15810 
15811 };
15812 
15813 static const char kZoneNameAsia_Atyrau[] ACE_TIME_PROGMEM = "\x05" "Atyrau";
15814 
15815 const complete::ZoneInfo kZoneAsia_Atyrau ACE_TIME_PROGMEM = {
15816  kZoneNameAsia_Atyrau /*name*/,
15817  0xa6b6e068 /*zoneId*/,
15818  &kZoneContext /*zoneContext*/,
15819  9 /*numEras*/,
15820  kZoneEraAsia_Atyrau /*eras*/,
15821  nullptr /*targetInfo*/,
15822 };
15823 
15824 //---------------------------------------------------------------------------
15825 // Zone name: Asia/Baghdad
15826 // Eras: 4
15827 //---------------------------------------------------------------------------
15828 
15829 static const complete::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = {
15830  // 2:57:40 - LMT 1890
15831  {
15832  nullptr /*zonePolicy*/,
15833  "LMT" /*format*/,
15834  710 /*offsetCode (10660/15)*/,
15835  10 /*offsetRemainder (10660%15)*/,
15836  0 /*deltaMinutes*/,
15837  1890 /*untilYear*/,
15838  1 /*untilMonth*/,
15839  1 /*untilDay*/,
15840  0 /*untilTimeCode (0/15)*/,
15841  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15842  },
15843  // 2:57:36 - BMT 1918
15844  {
15845  nullptr /*zonePolicy*/,
15846  "BMT" /*format*/,
15847  710 /*offsetCode (10656/15)*/,
15848  6 /*offsetRemainder (10656%15)*/,
15849  0 /*deltaMinutes*/,
15850  1918 /*untilYear*/,
15851  1 /*untilMonth*/,
15852  1 /*untilDay*/,
15853  0 /*untilTimeCode (0/15)*/,
15854  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15855  },
15856  // 3:00 - +03 1982 May
15857  {
15858  nullptr /*zonePolicy*/,
15859  "+03" /*format*/,
15860  720 /*offsetCode (10800/15)*/,
15861  0 /*offsetRemainder (10800%15)*/,
15862  0 /*deltaMinutes*/,
15863  1982 /*untilYear*/,
15864  5 /*untilMonth*/,
15865  1 /*untilDay*/,
15866  0 /*untilTimeCode (0/15)*/,
15867  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15868  },
15869  // 3:00 Iraq +03/+04
15870  {
15871  &kZonePolicyIraq /*zonePolicy*/,
15872  "+03/+04" /*format*/,
15873  720 /*offsetCode (10800/15)*/,
15874  0 /*offsetRemainder (10800%15)*/,
15875  0 /*deltaMinutes*/,
15876  32767 /*untilYear*/,
15877  1 /*untilMonth*/,
15878  1 /*untilDay*/,
15879  0 /*untilTimeCode (0/15)*/,
15880  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15881  },
15882 
15883 };
15884 
15885 static const char kZoneNameAsia_Baghdad[] ACE_TIME_PROGMEM = "\x05" "Baghdad";
15886 
15887 const complete::ZoneInfo kZoneAsia_Baghdad ACE_TIME_PROGMEM = {
15888  kZoneNameAsia_Baghdad /*name*/,
15889  0x9ceffbed /*zoneId*/,
15890  &kZoneContext /*zoneContext*/,
15891  4 /*numEras*/,
15892  kZoneEraAsia_Baghdad /*eras*/,
15893  nullptr /*targetInfo*/,
15894 };
15895 
15896 //---------------------------------------------------------------------------
15897 // Zone name: Asia/Baku
15898 // Eras: 7
15899 //---------------------------------------------------------------------------
15900 
15901 static const complete::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = {
15902  // 3:19:24 - LMT 1924 May 2
15903  {
15904  nullptr /*zonePolicy*/,
15905  "LMT" /*format*/,
15906  797 /*offsetCode (11964/15)*/,
15907  9 /*offsetRemainder (11964%15)*/,
15908  0 /*deltaMinutes*/,
15909  1924 /*untilYear*/,
15910  5 /*untilMonth*/,
15911  2 /*untilDay*/,
15912  0 /*untilTimeCode (0/15)*/,
15913  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15914  },
15915  // 3:00 - +03 1957 Mar
15916  {
15917  nullptr /*zonePolicy*/,
15918  "+03" /*format*/,
15919  720 /*offsetCode (10800/15)*/,
15920  0 /*offsetRemainder (10800%15)*/,
15921  0 /*deltaMinutes*/,
15922  1957 /*untilYear*/,
15923  3 /*untilMonth*/,
15924  1 /*untilDay*/,
15925  0 /*untilTimeCode (0/15)*/,
15926  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15927  },
15928  // 4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s
15929  {
15930  &kZonePolicyRussiaAsia /*zonePolicy*/,
15931  "+04/+05" /*format*/,
15932  960 /*offsetCode (14400/15)*/,
15933  0 /*offsetRemainder (14400%15)*/,
15934  0 /*deltaMinutes*/,
15935  1991 /*untilYear*/,
15936  3 /*untilMonth*/,
15937  31 /*untilDay*/,
15938  480 /*untilTimeCode (7200/15)*/,
15939  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15940  },
15941  // 3:00 RussiaAsia +03/+04 1992 Sep lastSun 2:00s
15942  {
15943  &kZonePolicyRussiaAsia /*zonePolicy*/,
15944  "+03/+04" /*format*/,
15945  720 /*offsetCode (10800/15)*/,
15946  0 /*offsetRemainder (10800%15)*/,
15947  0 /*deltaMinutes*/,
15948  1992 /*untilYear*/,
15949  9 /*untilMonth*/,
15950  27 /*untilDay*/,
15951  480 /*untilTimeCode (7200/15)*/,
15952  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15953  },
15954  // 4:00 - +04 1996
15955  {
15956  nullptr /*zonePolicy*/,
15957  "+04" /*format*/,
15958  960 /*offsetCode (14400/15)*/,
15959  0 /*offsetRemainder (14400%15)*/,
15960  0 /*deltaMinutes*/,
15961  1996 /*untilYear*/,
15962  1 /*untilMonth*/,
15963  1 /*untilDay*/,
15964  0 /*untilTimeCode (0/15)*/,
15965  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15966  },
15967  // 4:00 EUAsia +04/+05 1997
15968  {
15969  &kZonePolicyEUAsia /*zonePolicy*/,
15970  "+04/+05" /*format*/,
15971  960 /*offsetCode (14400/15)*/,
15972  0 /*offsetRemainder (14400%15)*/,
15973  0 /*deltaMinutes*/,
15974  1997 /*untilYear*/,
15975  1 /*untilMonth*/,
15976  1 /*untilDay*/,
15977  0 /*untilTimeCode (0/15)*/,
15978  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15979  },
15980  // 4:00 Azer +04/+05
15981  {
15982  &kZonePolicyAzer /*zonePolicy*/,
15983  "+04/+05" /*format*/,
15984  960 /*offsetCode (14400/15)*/,
15985  0 /*offsetRemainder (14400%15)*/,
15986  0 /*deltaMinutes*/,
15987  32767 /*untilYear*/,
15988  1 /*untilMonth*/,
15989  1 /*untilDay*/,
15990  0 /*untilTimeCode (0/15)*/,
15991  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15992  },
15993 
15994 };
15995 
15996 static const char kZoneNameAsia_Baku[] ACE_TIME_PROGMEM = "\x05" "Baku";
15997 
15998 const complete::ZoneInfo kZoneAsia_Baku ACE_TIME_PROGMEM = {
15999  kZoneNameAsia_Baku /*name*/,
16000  0x1fa788b5 /*zoneId*/,
16001  &kZoneContext /*zoneContext*/,
16002  7 /*numEras*/,
16003  kZoneEraAsia_Baku /*eras*/,
16004  nullptr /*targetInfo*/,
16005 };
16006 
16007 //---------------------------------------------------------------------------
16008 // Zone name: Asia/Bangkok
16009 // Eras: 3
16010 //---------------------------------------------------------------------------
16011 
16012 static const complete::ZoneEra kZoneEraAsia_Bangkok[] ACE_TIME_PROGMEM = {
16013  // 6:42:04 - LMT 1880
16014  {
16015  nullptr /*zonePolicy*/,
16016  "LMT" /*format*/,
16017  1608 /*offsetCode (24124/15)*/,
16018  4 /*offsetRemainder (24124%15)*/,
16019  0 /*deltaMinutes*/,
16020  1880 /*untilYear*/,
16021  1 /*untilMonth*/,
16022  1 /*untilDay*/,
16023  0 /*untilTimeCode (0/15)*/,
16024  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16025  },
16026  // 6:42:04 - BMT 1920 Apr
16027  {
16028  nullptr /*zonePolicy*/,
16029  "BMT" /*format*/,
16030  1608 /*offsetCode (24124/15)*/,
16031  4 /*offsetRemainder (24124%15)*/,
16032  0 /*deltaMinutes*/,
16033  1920 /*untilYear*/,
16034  4 /*untilMonth*/,
16035  1 /*untilDay*/,
16036  0 /*untilTimeCode (0/15)*/,
16037  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16038  },
16039  // 7:00 - +07
16040  {
16041  nullptr /*zonePolicy*/,
16042  "+07" /*format*/,
16043  1680 /*offsetCode (25200/15)*/,
16044  0 /*offsetRemainder (25200%15)*/,
16045  0 /*deltaMinutes*/,
16046  32767 /*untilYear*/,
16047  1 /*untilMonth*/,
16048  1 /*untilDay*/,
16049  0 /*untilTimeCode (0/15)*/,
16050  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16051  },
16052 
16053 };
16054 
16055 static const char kZoneNameAsia_Bangkok[] ACE_TIME_PROGMEM = "\x05" "Bangkok";
16056 
16057 const complete::ZoneInfo kZoneAsia_Bangkok ACE_TIME_PROGMEM = {
16058  kZoneNameAsia_Bangkok /*name*/,
16059  0x9d6e3aaf /*zoneId*/,
16060  &kZoneContext /*zoneContext*/,
16061  3 /*numEras*/,
16062  kZoneEraAsia_Bangkok /*eras*/,
16063  nullptr /*targetInfo*/,
16064 };
16065 
16066 //---------------------------------------------------------------------------
16067 // Zone name: Asia/Barnaul
16068 // Eras: 9
16069 //---------------------------------------------------------------------------
16070 
16071 static const complete::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = {
16072  // 5:35:00 - LMT 1919 Dec 10
16073  {
16074  nullptr /*zonePolicy*/,
16075  "LMT" /*format*/,
16076  1340 /*offsetCode (20100/15)*/,
16077  0 /*offsetRemainder (20100%15)*/,
16078  0 /*deltaMinutes*/,
16079  1919 /*untilYear*/,
16080  12 /*untilMonth*/,
16081  10 /*untilDay*/,
16082  0 /*untilTimeCode (0/15)*/,
16083  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16084  },
16085  // 6:00 - +06 1930 Jun 21
16086  {
16087  nullptr /*zonePolicy*/,
16088  "+06" /*format*/,
16089  1440 /*offsetCode (21600/15)*/,
16090  0 /*offsetRemainder (21600%15)*/,
16091  0 /*deltaMinutes*/,
16092  1930 /*untilYear*/,
16093  6 /*untilMonth*/,
16094  21 /*untilDay*/,
16095  0 /*untilTimeCode (0/15)*/,
16096  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16097  },
16098  // 7:00 Russia +07/+08 1991 Mar 31 2:00s
16099  {
16100  &kZonePolicyRussia /*zonePolicy*/,
16101  "+07/+08" /*format*/,
16102  1680 /*offsetCode (25200/15)*/,
16103  0 /*offsetRemainder (25200%15)*/,
16104  0 /*deltaMinutes*/,
16105  1991 /*untilYear*/,
16106  3 /*untilMonth*/,
16107  31 /*untilDay*/,
16108  480 /*untilTimeCode (7200/15)*/,
16109  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16110  },
16111  // 6:00 Russia +06/+07 1992 Jan 19 2:00s
16112  {
16113  &kZonePolicyRussia /*zonePolicy*/,
16114  "+06/+07" /*format*/,
16115  1440 /*offsetCode (21600/15)*/,
16116  0 /*offsetRemainder (21600%15)*/,
16117  0 /*deltaMinutes*/,
16118  1992 /*untilYear*/,
16119  1 /*untilMonth*/,
16120  19 /*untilDay*/,
16121  480 /*untilTimeCode (7200/15)*/,
16122  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16123  },
16124  // 7:00 Russia +07/+08 1995 May 28
16125  {
16126  &kZonePolicyRussia /*zonePolicy*/,
16127  "+07/+08" /*format*/,
16128  1680 /*offsetCode (25200/15)*/,
16129  0 /*offsetRemainder (25200%15)*/,
16130  0 /*deltaMinutes*/,
16131  1995 /*untilYear*/,
16132  5 /*untilMonth*/,
16133  28 /*untilDay*/,
16134  0 /*untilTimeCode (0/15)*/,
16135  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16136  },
16137  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
16138  {
16139  &kZonePolicyRussia /*zonePolicy*/,
16140  "+06/+07" /*format*/,
16141  1440 /*offsetCode (21600/15)*/,
16142  0 /*offsetRemainder (21600%15)*/,
16143  0 /*deltaMinutes*/,
16144  2011 /*untilYear*/,
16145  3 /*untilMonth*/,
16146  27 /*untilDay*/,
16147  480 /*untilTimeCode (7200/15)*/,
16148  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16149  },
16150  // 7:00 - +07 2014 Oct 26 2:00s
16151  {
16152  nullptr /*zonePolicy*/,
16153  "+07" /*format*/,
16154  1680 /*offsetCode (25200/15)*/,
16155  0 /*offsetRemainder (25200%15)*/,
16156  0 /*deltaMinutes*/,
16157  2014 /*untilYear*/,
16158  10 /*untilMonth*/,
16159  26 /*untilDay*/,
16160  480 /*untilTimeCode (7200/15)*/,
16161  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16162  },
16163  // 6:00 - +06 2016 Mar 27 2:00s
16164  {
16165  nullptr /*zonePolicy*/,
16166  "+06" /*format*/,
16167  1440 /*offsetCode (21600/15)*/,
16168  0 /*offsetRemainder (21600%15)*/,
16169  0 /*deltaMinutes*/,
16170  2016 /*untilYear*/,
16171  3 /*untilMonth*/,
16172  27 /*untilDay*/,
16173  480 /*untilTimeCode (7200/15)*/,
16174  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16175  },
16176  // 7:00 - +07
16177  {
16178  nullptr /*zonePolicy*/,
16179  "+07" /*format*/,
16180  1680 /*offsetCode (25200/15)*/,
16181  0 /*offsetRemainder (25200%15)*/,
16182  0 /*deltaMinutes*/,
16183  32767 /*untilYear*/,
16184  1 /*untilMonth*/,
16185  1 /*untilDay*/,
16186  0 /*untilTimeCode (0/15)*/,
16187  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16188  },
16189 
16190 };
16191 
16192 static const char kZoneNameAsia_Barnaul[] ACE_TIME_PROGMEM = "\x05" "Barnaul";
16193 
16194 const complete::ZoneInfo kZoneAsia_Barnaul ACE_TIME_PROGMEM = {
16195  kZoneNameAsia_Barnaul /*name*/,
16196  0x9dba4997 /*zoneId*/,
16197  &kZoneContext /*zoneContext*/,
16198  9 /*numEras*/,
16199  kZoneEraAsia_Barnaul /*eras*/,
16200  nullptr /*targetInfo*/,
16201 };
16202 
16203 //---------------------------------------------------------------------------
16204 // Zone name: Asia/Beirut
16205 // Eras: 2
16206 //---------------------------------------------------------------------------
16207 
16208 static const complete::ZoneEra kZoneEraAsia_Beirut[] ACE_TIME_PROGMEM = {
16209  // 2:22:00 - LMT 1880
16210  {
16211  nullptr /*zonePolicy*/,
16212  "LMT" /*format*/,
16213  568 /*offsetCode (8520/15)*/,
16214  0 /*offsetRemainder (8520%15)*/,
16215  0 /*deltaMinutes*/,
16216  1880 /*untilYear*/,
16217  1 /*untilMonth*/,
16218  1 /*untilDay*/,
16219  0 /*untilTimeCode (0/15)*/,
16220  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16221  },
16222  // 2:00 Lebanon EE%sT
16223  {
16224  &kZonePolicyLebanon /*zonePolicy*/,
16225  "EE%T" /*format*/,
16226  480 /*offsetCode (7200/15)*/,
16227  0 /*offsetRemainder (7200%15)*/,
16228  0 /*deltaMinutes*/,
16229  32767 /*untilYear*/,
16230  1 /*untilMonth*/,
16231  1 /*untilDay*/,
16232  0 /*untilTimeCode (0/15)*/,
16233  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16234  },
16235 
16236 };
16237 
16238 static const char kZoneNameAsia_Beirut[] ACE_TIME_PROGMEM = "\x05" "Beirut";
16239 
16240 const complete::ZoneInfo kZoneAsia_Beirut ACE_TIME_PROGMEM = {
16241  kZoneNameAsia_Beirut /*name*/,
16242  0xa7f3d5fd /*zoneId*/,
16243  &kZoneContext /*zoneContext*/,
16244  2 /*numEras*/,
16245  kZoneEraAsia_Beirut /*eras*/,
16246  nullptr /*targetInfo*/,
16247 };
16248 
16249 //---------------------------------------------------------------------------
16250 // Zone name: Asia/Bishkek
16251 // Eras: 6
16252 //---------------------------------------------------------------------------
16253 
16254 static const complete::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = {
16255  // 4:58:24 - LMT 1924 May 2
16256  {
16257  nullptr /*zonePolicy*/,
16258  "LMT" /*format*/,
16259  1193 /*offsetCode (17904/15)*/,
16260  9 /*offsetRemainder (17904%15)*/,
16261  0 /*deltaMinutes*/,
16262  1924 /*untilYear*/,
16263  5 /*untilMonth*/,
16264  2 /*untilDay*/,
16265  0 /*untilTimeCode (0/15)*/,
16266  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16267  },
16268  // 5:00 - +05 1930 Jun 21
16269  {
16270  nullptr /*zonePolicy*/,
16271  "+05" /*format*/,
16272  1200 /*offsetCode (18000/15)*/,
16273  0 /*offsetRemainder (18000%15)*/,
16274  0 /*deltaMinutes*/,
16275  1930 /*untilYear*/,
16276  6 /*untilMonth*/,
16277  21 /*untilDay*/,
16278  0 /*untilTimeCode (0/15)*/,
16279  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16280  },
16281  // 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s
16282  {
16283  &kZonePolicyRussiaAsia /*zonePolicy*/,
16284  "+06/+07" /*format*/,
16285  1440 /*offsetCode (21600/15)*/,
16286  0 /*offsetRemainder (21600%15)*/,
16287  0 /*deltaMinutes*/,
16288  1991 /*untilYear*/,
16289  3 /*untilMonth*/,
16290  31 /*untilDay*/,
16291  480 /*untilTimeCode (7200/15)*/,
16292  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16293  },
16294  // 5:00 RussiaAsia +05/+06 1991 Aug 31 2:00
16295  {
16296  &kZonePolicyRussiaAsia /*zonePolicy*/,
16297  "+05/+06" /*format*/,
16298  1200 /*offsetCode (18000/15)*/,
16299  0 /*offsetRemainder (18000%15)*/,
16300  0 /*deltaMinutes*/,
16301  1991 /*untilYear*/,
16302  8 /*untilMonth*/,
16303  31 /*untilDay*/,
16304  480 /*untilTimeCode (7200/15)*/,
16305  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16306  },
16307  // 5:00 Kyrgyz +05/+06 2005 Aug 12
16308  {
16309  &kZonePolicyKyrgyz /*zonePolicy*/,
16310  "+05/+06" /*format*/,
16311  1200 /*offsetCode (18000/15)*/,
16312  0 /*offsetRemainder (18000%15)*/,
16313  0 /*deltaMinutes*/,
16314  2005 /*untilYear*/,
16315  8 /*untilMonth*/,
16316  12 /*untilDay*/,
16317  0 /*untilTimeCode (0/15)*/,
16318  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16319  },
16320  // 6:00 - +06
16321  {
16322  nullptr /*zonePolicy*/,
16323  "+06" /*format*/,
16324  1440 /*offsetCode (21600/15)*/,
16325  0 /*offsetRemainder (21600%15)*/,
16326  0 /*deltaMinutes*/,
16327  32767 /*untilYear*/,
16328  1 /*untilMonth*/,
16329  1 /*untilDay*/,
16330  0 /*untilTimeCode (0/15)*/,
16331  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16332  },
16333 
16334 };
16335 
16336 static const char kZoneNameAsia_Bishkek[] ACE_TIME_PROGMEM = "\x05" "Bishkek";
16337 
16338 const complete::ZoneInfo kZoneAsia_Bishkek ACE_TIME_PROGMEM = {
16339  kZoneNameAsia_Bishkek /*name*/,
16340  0xb0728553 /*zoneId*/,
16341  &kZoneContext /*zoneContext*/,
16342  6 /*numEras*/,
16343  kZoneEraAsia_Bishkek /*eras*/,
16344  nullptr /*targetInfo*/,
16345 };
16346 
16347 //---------------------------------------------------------------------------
16348 // Zone name: Asia/Chita
16349 // Eras: 8
16350 //---------------------------------------------------------------------------
16351 
16352 static const complete::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = {
16353  // 7:33:52 - LMT 1919 Dec 15
16354  {
16355  nullptr /*zonePolicy*/,
16356  "LMT" /*format*/,
16357  1815 /*offsetCode (27232/15)*/,
16358  7 /*offsetRemainder (27232%15)*/,
16359  0 /*deltaMinutes*/,
16360  1919 /*untilYear*/,
16361  12 /*untilMonth*/,
16362  15 /*untilDay*/,
16363  0 /*untilTimeCode (0/15)*/,
16364  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16365  },
16366  // 8:00 - +08 1930 Jun 21
16367  {
16368  nullptr /*zonePolicy*/,
16369  "+08" /*format*/,
16370  1920 /*offsetCode (28800/15)*/,
16371  0 /*offsetRemainder (28800%15)*/,
16372  0 /*deltaMinutes*/,
16373  1930 /*untilYear*/,
16374  6 /*untilMonth*/,
16375  21 /*untilDay*/,
16376  0 /*untilTimeCode (0/15)*/,
16377  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16378  },
16379  // 9:00 Russia +09/+10 1991 Mar 31 2:00s
16380  {
16381  &kZonePolicyRussia /*zonePolicy*/,
16382  "+09/+10" /*format*/,
16383  2160 /*offsetCode (32400/15)*/,
16384  0 /*offsetRemainder (32400%15)*/,
16385  0 /*deltaMinutes*/,
16386  1991 /*untilYear*/,
16387  3 /*untilMonth*/,
16388  31 /*untilDay*/,
16389  480 /*untilTimeCode (7200/15)*/,
16390  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16391  },
16392  // 8:00 Russia +08/+09 1992 Jan 19 2:00s
16393  {
16394  &kZonePolicyRussia /*zonePolicy*/,
16395  "+08/+09" /*format*/,
16396  1920 /*offsetCode (28800/15)*/,
16397  0 /*offsetRemainder (28800%15)*/,
16398  0 /*deltaMinutes*/,
16399  1992 /*untilYear*/,
16400  1 /*untilMonth*/,
16401  19 /*untilDay*/,
16402  480 /*untilTimeCode (7200/15)*/,
16403  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16404  },
16405  // 9:00 Russia +09/+10 2011 Mar 27 2:00s
16406  {
16407  &kZonePolicyRussia /*zonePolicy*/,
16408  "+09/+10" /*format*/,
16409  2160 /*offsetCode (32400/15)*/,
16410  0 /*offsetRemainder (32400%15)*/,
16411  0 /*deltaMinutes*/,
16412  2011 /*untilYear*/,
16413  3 /*untilMonth*/,
16414  27 /*untilDay*/,
16415  480 /*untilTimeCode (7200/15)*/,
16416  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16417  },
16418  // 10:00 - +10 2014 Oct 26 2:00s
16419  {
16420  nullptr /*zonePolicy*/,
16421  "+10" /*format*/,
16422  2400 /*offsetCode (36000/15)*/,
16423  0 /*offsetRemainder (36000%15)*/,
16424  0 /*deltaMinutes*/,
16425  2014 /*untilYear*/,
16426  10 /*untilMonth*/,
16427  26 /*untilDay*/,
16428  480 /*untilTimeCode (7200/15)*/,
16429  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16430  },
16431  // 8:00 - +08 2016 Mar 27 2:00
16432  {
16433  nullptr /*zonePolicy*/,
16434  "+08" /*format*/,
16435  1920 /*offsetCode (28800/15)*/,
16436  0 /*offsetRemainder (28800%15)*/,
16437  0 /*deltaMinutes*/,
16438  2016 /*untilYear*/,
16439  3 /*untilMonth*/,
16440  27 /*untilDay*/,
16441  480 /*untilTimeCode (7200/15)*/,
16442  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16443  },
16444  // 9:00 - +09
16445  {
16446  nullptr /*zonePolicy*/,
16447  "+09" /*format*/,
16448  2160 /*offsetCode (32400/15)*/,
16449  0 /*offsetRemainder (32400%15)*/,
16450  0 /*deltaMinutes*/,
16451  32767 /*untilYear*/,
16452  1 /*untilMonth*/,
16453  1 /*untilDay*/,
16454  0 /*untilTimeCode (0/15)*/,
16455  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16456  },
16457 
16458 };
16459 
16460 static const char kZoneNameAsia_Chita[] ACE_TIME_PROGMEM = "\x05" "Chita";
16461 
16462 const complete::ZoneInfo kZoneAsia_Chita ACE_TIME_PROGMEM = {
16463  kZoneNameAsia_Chita /*name*/,
16464  0x14ae863b /*zoneId*/,
16465  &kZoneContext /*zoneContext*/,
16466  8 /*numEras*/,
16467  kZoneEraAsia_Chita /*eras*/,
16468  nullptr /*targetInfo*/,
16469 };
16470 
16471 //---------------------------------------------------------------------------
16472 // Zone name: Asia/Choibalsan
16473 // Eras: 5
16474 //---------------------------------------------------------------------------
16475 
16476 static const complete::ZoneEra kZoneEraAsia_Choibalsan[] ACE_TIME_PROGMEM = {
16477  // 7:38:00 - LMT 1905 Aug
16478  {
16479  nullptr /*zonePolicy*/,
16480  "LMT" /*format*/,
16481  1832 /*offsetCode (27480/15)*/,
16482  0 /*offsetRemainder (27480%15)*/,
16483  0 /*deltaMinutes*/,
16484  1905 /*untilYear*/,
16485  8 /*untilMonth*/,
16486  1 /*untilDay*/,
16487  0 /*untilTimeCode (0/15)*/,
16488  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16489  },
16490  // 7:00 - +07 1978
16491  {
16492  nullptr /*zonePolicy*/,
16493  "+07" /*format*/,
16494  1680 /*offsetCode (25200/15)*/,
16495  0 /*offsetRemainder (25200%15)*/,
16496  0 /*deltaMinutes*/,
16497  1978 /*untilYear*/,
16498  1 /*untilMonth*/,
16499  1 /*untilDay*/,
16500  0 /*untilTimeCode (0/15)*/,
16501  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16502  },
16503  // 8:00 - +08 1983 Apr
16504  {
16505  nullptr /*zonePolicy*/,
16506  "+08" /*format*/,
16507  1920 /*offsetCode (28800/15)*/,
16508  0 /*offsetRemainder (28800%15)*/,
16509  0 /*deltaMinutes*/,
16510  1983 /*untilYear*/,
16511  4 /*untilMonth*/,
16512  1 /*untilDay*/,
16513  0 /*untilTimeCode (0/15)*/,
16514  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16515  },
16516  // 9:00 Mongol +09/+10 2008 Mar 31
16517  {
16518  &kZonePolicyMongol /*zonePolicy*/,
16519  "+09/+10" /*format*/,
16520  2160 /*offsetCode (32400/15)*/,
16521  0 /*offsetRemainder (32400%15)*/,
16522  0 /*deltaMinutes*/,
16523  2008 /*untilYear*/,
16524  3 /*untilMonth*/,
16525  31 /*untilDay*/,
16526  0 /*untilTimeCode (0/15)*/,
16527  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16528  },
16529  // 8:00 Mongol +08/+09
16530  {
16531  &kZonePolicyMongol /*zonePolicy*/,
16532  "+08/+09" /*format*/,
16533  1920 /*offsetCode (28800/15)*/,
16534  0 /*offsetRemainder (28800%15)*/,
16535  0 /*deltaMinutes*/,
16536  32767 /*untilYear*/,
16537  1 /*untilMonth*/,
16538  1 /*untilDay*/,
16539  0 /*untilTimeCode (0/15)*/,
16540  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16541  },
16542 
16543 };
16544 
16545 static const char kZoneNameAsia_Choibalsan[] ACE_TIME_PROGMEM = "\x05" "Choibalsan";
16546 
16547 const complete::ZoneInfo kZoneAsia_Choibalsan ACE_TIME_PROGMEM = {
16548  kZoneNameAsia_Choibalsan /*name*/,
16549  0x928aa4a6 /*zoneId*/,
16550  &kZoneContext /*zoneContext*/,
16551  5 /*numEras*/,
16552  kZoneEraAsia_Choibalsan /*eras*/,
16553  nullptr /*targetInfo*/,
16554 };
16555 
16556 //---------------------------------------------------------------------------
16557 // Zone name: Asia/Colombo
16558 // Eras: 9
16559 //---------------------------------------------------------------------------
16560 
16561 static const complete::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = {
16562  // 5:19:24 - LMT 1880
16563  {
16564  nullptr /*zonePolicy*/,
16565  "LMT" /*format*/,
16566  1277 /*offsetCode (19164/15)*/,
16567  9 /*offsetRemainder (19164%15)*/,
16568  0 /*deltaMinutes*/,
16569  1880 /*untilYear*/,
16570  1 /*untilMonth*/,
16571  1 /*untilDay*/,
16572  0 /*untilTimeCode (0/15)*/,
16573  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16574  },
16575  // 5:19:32 - MMT 1906
16576  {
16577  nullptr /*zonePolicy*/,
16578  "MMT" /*format*/,
16579  1278 /*offsetCode (19172/15)*/,
16580  2 /*offsetRemainder (19172%15)*/,
16581  0 /*deltaMinutes*/,
16582  1906 /*untilYear*/,
16583  1 /*untilMonth*/,
16584  1 /*untilDay*/,
16585  0 /*untilTimeCode (0/15)*/,
16586  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16587  },
16588  // 5:30 - +0530 1942 Jan 5
16589  {
16590  nullptr /*zonePolicy*/,
16591  "+0530" /*format*/,
16592  1320 /*offsetCode (19800/15)*/,
16593  0 /*offsetRemainder (19800%15)*/,
16594  0 /*deltaMinutes*/,
16595  1942 /*untilYear*/,
16596  1 /*untilMonth*/,
16597  5 /*untilDay*/,
16598  0 /*untilTimeCode (0/15)*/,
16599  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16600  },
16601  // 5:30 0:30 +06 1942 Sep
16602  {
16603  nullptr /*zonePolicy*/,
16604  "+06" /*format*/,
16605  1320 /*offsetCode (19800/15)*/,
16606  0 /*offsetRemainder (19800%15)*/,
16607  30 /*deltaMinutes*/,
16608  1942 /*untilYear*/,
16609  9 /*untilMonth*/,
16610  1 /*untilDay*/,
16611  0 /*untilTimeCode (0/15)*/,
16612  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16613  },
16614  // 5:30 1:00 +0630 1945 Oct 16 2:00
16615  {
16616  nullptr /*zonePolicy*/,
16617  "+0630" /*format*/,
16618  1320 /*offsetCode (19800/15)*/,
16619  0 /*offsetRemainder (19800%15)*/,
16620  60 /*deltaMinutes*/,
16621  1945 /*untilYear*/,
16622  10 /*untilMonth*/,
16623  16 /*untilDay*/,
16624  480 /*untilTimeCode (7200/15)*/,
16625  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16626  },
16627  // 5:30 - +0530 1996 May 25 0:00
16628  {
16629  nullptr /*zonePolicy*/,
16630  "+0530" /*format*/,
16631  1320 /*offsetCode (19800/15)*/,
16632  0 /*offsetRemainder (19800%15)*/,
16633  0 /*deltaMinutes*/,
16634  1996 /*untilYear*/,
16635  5 /*untilMonth*/,
16636  25 /*untilDay*/,
16637  0 /*untilTimeCode (0/15)*/,
16638  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16639  },
16640  // 6:30 - +0630 1996 Oct 26 0:30
16641  {
16642  nullptr /*zonePolicy*/,
16643  "+0630" /*format*/,
16644  1560 /*offsetCode (23400/15)*/,
16645  0 /*offsetRemainder (23400%15)*/,
16646  0 /*deltaMinutes*/,
16647  1996 /*untilYear*/,
16648  10 /*untilMonth*/,
16649  26 /*untilDay*/,
16650  120 /*untilTimeCode (1800/15)*/,
16651  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16652  },
16653  // 6:00 - +06 2006 Apr 15 0:30
16654  {
16655  nullptr /*zonePolicy*/,
16656  "+06" /*format*/,
16657  1440 /*offsetCode (21600/15)*/,
16658  0 /*offsetRemainder (21600%15)*/,
16659  0 /*deltaMinutes*/,
16660  2006 /*untilYear*/,
16661  4 /*untilMonth*/,
16662  15 /*untilDay*/,
16663  120 /*untilTimeCode (1800/15)*/,
16664  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16665  },
16666  // 5:30 - +0530
16667  {
16668  nullptr /*zonePolicy*/,
16669  "+0530" /*format*/,
16670  1320 /*offsetCode (19800/15)*/,
16671  0 /*offsetRemainder (19800%15)*/,
16672  0 /*deltaMinutes*/,
16673  32767 /*untilYear*/,
16674  1 /*untilMonth*/,
16675  1 /*untilDay*/,
16676  0 /*untilTimeCode (0/15)*/,
16677  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16678  },
16679 
16680 };
16681 
16682 static const char kZoneNameAsia_Colombo[] ACE_TIME_PROGMEM = "\x05" "Colombo";
16683 
16684 const complete::ZoneInfo kZoneAsia_Colombo ACE_TIME_PROGMEM = {
16685  kZoneNameAsia_Colombo /*name*/,
16686  0x0af0e91d /*zoneId*/,
16687  &kZoneContext /*zoneContext*/,
16688  9 /*numEras*/,
16689  kZoneEraAsia_Colombo /*eras*/,
16690  nullptr /*targetInfo*/,
16691 };
16692 
16693 //---------------------------------------------------------------------------
16694 // Zone name: Asia/Damascus
16695 // Eras: 3
16696 //---------------------------------------------------------------------------
16697 
16698 static const complete::ZoneEra kZoneEraAsia_Damascus[] ACE_TIME_PROGMEM = {
16699  // 2:25:12 - LMT 1920
16700  {
16701  nullptr /*zonePolicy*/,
16702  "LMT" /*format*/,
16703  580 /*offsetCode (8712/15)*/,
16704  12 /*offsetRemainder (8712%15)*/,
16705  0 /*deltaMinutes*/,
16706  1920 /*untilYear*/,
16707  1 /*untilMonth*/,
16708  1 /*untilDay*/,
16709  0 /*untilTimeCode (0/15)*/,
16710  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16711  },
16712  // 2:00 Syria EE%sT 2022 Oct 28 0:00
16713  {
16714  &kZonePolicySyria /*zonePolicy*/,
16715  "EE%T" /*format*/,
16716  480 /*offsetCode (7200/15)*/,
16717  0 /*offsetRemainder (7200%15)*/,
16718  0 /*deltaMinutes*/,
16719  2022 /*untilYear*/,
16720  10 /*untilMonth*/,
16721  28 /*untilDay*/,
16722  0 /*untilTimeCode (0/15)*/,
16723  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16724  },
16725  // 3:00 - +03
16726  {
16727  nullptr /*zonePolicy*/,
16728  "+03" /*format*/,
16729  720 /*offsetCode (10800/15)*/,
16730  0 /*offsetRemainder (10800%15)*/,
16731  0 /*deltaMinutes*/,
16732  32767 /*untilYear*/,
16733  1 /*untilMonth*/,
16734  1 /*untilDay*/,
16735  0 /*untilTimeCode (0/15)*/,
16736  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16737  },
16738 
16739 };
16740 
16741 static const char kZoneNameAsia_Damascus[] ACE_TIME_PROGMEM = "\x05" "Damascus";
16742 
16743 const complete::ZoneInfo kZoneAsia_Damascus ACE_TIME_PROGMEM = {
16744  kZoneNameAsia_Damascus /*name*/,
16745  0x20fbb063 /*zoneId*/,
16746  &kZoneContext /*zoneContext*/,
16747  3 /*numEras*/,
16748  kZoneEraAsia_Damascus /*eras*/,
16749  nullptr /*targetInfo*/,
16750 };
16751 
16752 //---------------------------------------------------------------------------
16753 // Zone name: Asia/Dhaka
16754 // Eras: 7
16755 //---------------------------------------------------------------------------
16756 
16757 static const complete::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = {
16758  // 6:01:40 - LMT 1890
16759  {
16760  nullptr /*zonePolicy*/,
16761  "LMT" /*format*/,
16762  1446 /*offsetCode (21700/15)*/,
16763  10 /*offsetRemainder (21700%15)*/,
16764  0 /*deltaMinutes*/,
16765  1890 /*untilYear*/,
16766  1 /*untilMonth*/,
16767  1 /*untilDay*/,
16768  0 /*untilTimeCode (0/15)*/,
16769  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16770  },
16771  // 5:53:20 - HMT 1941 Oct
16772  {
16773  nullptr /*zonePolicy*/,
16774  "HMT" /*format*/,
16775  1413 /*offsetCode (21200/15)*/,
16776  5 /*offsetRemainder (21200%15)*/,
16777  0 /*deltaMinutes*/,
16778  1941 /*untilYear*/,
16779  10 /*untilMonth*/,
16780  1 /*untilDay*/,
16781  0 /*untilTimeCode (0/15)*/,
16782  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16783  },
16784  // 6:30 - +0630 1942 May 15
16785  {
16786  nullptr /*zonePolicy*/,
16787  "+0630" /*format*/,
16788  1560 /*offsetCode (23400/15)*/,
16789  0 /*offsetRemainder (23400%15)*/,
16790  0 /*deltaMinutes*/,
16791  1942 /*untilYear*/,
16792  5 /*untilMonth*/,
16793  15 /*untilDay*/,
16794  0 /*untilTimeCode (0/15)*/,
16795  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16796  },
16797  // 5:30 - +0530 1942 Sep
16798  {
16799  nullptr /*zonePolicy*/,
16800  "+0530" /*format*/,
16801  1320 /*offsetCode (19800/15)*/,
16802  0 /*offsetRemainder (19800%15)*/,
16803  0 /*deltaMinutes*/,
16804  1942 /*untilYear*/,
16805  9 /*untilMonth*/,
16806  1 /*untilDay*/,
16807  0 /*untilTimeCode (0/15)*/,
16808  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16809  },
16810  // 6:30 - +0630 1951 Sep 30
16811  {
16812  nullptr /*zonePolicy*/,
16813  "+0630" /*format*/,
16814  1560 /*offsetCode (23400/15)*/,
16815  0 /*offsetRemainder (23400%15)*/,
16816  0 /*deltaMinutes*/,
16817  1951 /*untilYear*/,
16818  9 /*untilMonth*/,
16819  30 /*untilDay*/,
16820  0 /*untilTimeCode (0/15)*/,
16821  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16822  },
16823  // 6:00 - +06 2009
16824  {
16825  nullptr /*zonePolicy*/,
16826  "+06" /*format*/,
16827  1440 /*offsetCode (21600/15)*/,
16828  0 /*offsetRemainder (21600%15)*/,
16829  0 /*deltaMinutes*/,
16830  2009 /*untilYear*/,
16831  1 /*untilMonth*/,
16832  1 /*untilDay*/,
16833  0 /*untilTimeCode (0/15)*/,
16834  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16835  },
16836  // 6:00 Dhaka +06/+07
16837  {
16838  &kZonePolicyDhaka /*zonePolicy*/,
16839  "+06/+07" /*format*/,
16840  1440 /*offsetCode (21600/15)*/,
16841  0 /*offsetRemainder (21600%15)*/,
16842  0 /*deltaMinutes*/,
16843  32767 /*untilYear*/,
16844  1 /*untilMonth*/,
16845  1 /*untilDay*/,
16846  0 /*untilTimeCode (0/15)*/,
16847  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16848  },
16849 
16850 };
16851 
16852 static const char kZoneNameAsia_Dhaka[] ACE_TIME_PROGMEM = "\x05" "Dhaka";
16853 
16854 const complete::ZoneInfo kZoneAsia_Dhaka ACE_TIME_PROGMEM = {
16855  kZoneNameAsia_Dhaka /*name*/,
16856  0x14c07b8b /*zoneId*/,
16857  &kZoneContext /*zoneContext*/,
16858  7 /*numEras*/,
16859  kZoneEraAsia_Dhaka /*eras*/,
16860  nullptr /*targetInfo*/,
16861 };
16862 
16863 //---------------------------------------------------------------------------
16864 // Zone name: Asia/Dili
16865 // Eras: 5
16866 //---------------------------------------------------------------------------
16867 
16868 static const complete::ZoneEra kZoneEraAsia_Dili[] ACE_TIME_PROGMEM = {
16869  // 8:22:20 - LMT 1912 Jan 1
16870  {
16871  nullptr /*zonePolicy*/,
16872  "LMT" /*format*/,
16873  2009 /*offsetCode (30140/15)*/,
16874  5 /*offsetRemainder (30140%15)*/,
16875  0 /*deltaMinutes*/,
16876  1912 /*untilYear*/,
16877  1 /*untilMonth*/,
16878  1 /*untilDay*/,
16879  0 /*untilTimeCode (0/15)*/,
16880  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16881  },
16882  // 8:00 - +08 1942 Feb 21 23:00
16883  {
16884  nullptr /*zonePolicy*/,
16885  "+08" /*format*/,
16886  1920 /*offsetCode (28800/15)*/,
16887  0 /*offsetRemainder (28800%15)*/,
16888  0 /*deltaMinutes*/,
16889  1942 /*untilYear*/,
16890  2 /*untilMonth*/,
16891  21 /*untilDay*/,
16892  5520 /*untilTimeCode (82800/15)*/,
16893  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16894  },
16895  // 9:00 - +09 1976 May 3
16896  {
16897  nullptr /*zonePolicy*/,
16898  "+09" /*format*/,
16899  2160 /*offsetCode (32400/15)*/,
16900  0 /*offsetRemainder (32400%15)*/,
16901  0 /*deltaMinutes*/,
16902  1976 /*untilYear*/,
16903  5 /*untilMonth*/,
16904  3 /*untilDay*/,
16905  0 /*untilTimeCode (0/15)*/,
16906  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16907  },
16908  // 8:00 - +08 2000 Sep 17 0:00
16909  {
16910  nullptr /*zonePolicy*/,
16911  "+08" /*format*/,
16912  1920 /*offsetCode (28800/15)*/,
16913  0 /*offsetRemainder (28800%15)*/,
16914  0 /*deltaMinutes*/,
16915  2000 /*untilYear*/,
16916  9 /*untilMonth*/,
16917  17 /*untilDay*/,
16918  0 /*untilTimeCode (0/15)*/,
16919  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16920  },
16921  // 9:00 - +09
16922  {
16923  nullptr /*zonePolicy*/,
16924  "+09" /*format*/,
16925  2160 /*offsetCode (32400/15)*/,
16926  0 /*offsetRemainder (32400%15)*/,
16927  0 /*deltaMinutes*/,
16928  32767 /*untilYear*/,
16929  1 /*untilMonth*/,
16930  1 /*untilDay*/,
16931  0 /*untilTimeCode (0/15)*/,
16932  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16933  },
16934 
16935 };
16936 
16937 static const char kZoneNameAsia_Dili[] ACE_TIME_PROGMEM = "\x05" "Dili";
16938 
16939 const complete::ZoneInfo kZoneAsia_Dili ACE_TIME_PROGMEM = {
16940  kZoneNameAsia_Dili /*name*/,
16941  0x1fa8c394 /*zoneId*/,
16942  &kZoneContext /*zoneContext*/,
16943  5 /*numEras*/,
16944  kZoneEraAsia_Dili /*eras*/,
16945  nullptr /*targetInfo*/,
16946 };
16947 
16948 //---------------------------------------------------------------------------
16949 // Zone name: Asia/Dubai
16950 // Eras: 2
16951 //---------------------------------------------------------------------------
16952 
16953 static const complete::ZoneEra kZoneEraAsia_Dubai[] ACE_TIME_PROGMEM = {
16954  // 3:41:12 - LMT 1920
16955  {
16956  nullptr /*zonePolicy*/,
16957  "LMT" /*format*/,
16958  884 /*offsetCode (13272/15)*/,
16959  12 /*offsetRemainder (13272%15)*/,
16960  0 /*deltaMinutes*/,
16961  1920 /*untilYear*/,
16962  1 /*untilMonth*/,
16963  1 /*untilDay*/,
16964  0 /*untilTimeCode (0/15)*/,
16965  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16966  },
16967  // 4:00 - +04
16968  {
16969  nullptr /*zonePolicy*/,
16970  "+04" /*format*/,
16971  960 /*offsetCode (14400/15)*/,
16972  0 /*offsetRemainder (14400%15)*/,
16973  0 /*deltaMinutes*/,
16974  32767 /*untilYear*/,
16975  1 /*untilMonth*/,
16976  1 /*untilDay*/,
16977  0 /*untilTimeCode (0/15)*/,
16978  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16979  },
16980 
16981 };
16982 
16983 static const char kZoneNameAsia_Dubai[] ACE_TIME_PROGMEM = "\x05" "Dubai";
16984 
16985 const complete::ZoneInfo kZoneAsia_Dubai ACE_TIME_PROGMEM = {
16986  kZoneNameAsia_Dubai /*name*/,
16987  0x14c79f77 /*zoneId*/,
16988  &kZoneContext /*zoneContext*/,
16989  2 /*numEras*/,
16990  kZoneEraAsia_Dubai /*eras*/,
16991  nullptr /*targetInfo*/,
16992 };
16993 
16994 //---------------------------------------------------------------------------
16995 // Zone name: Asia/Dushanbe
16996 // Eras: 5
16997 //---------------------------------------------------------------------------
16998 
16999 static const complete::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = {
17000  // 4:35:12 - LMT 1924 May 2
17001  {
17002  nullptr /*zonePolicy*/,
17003  "LMT" /*format*/,
17004  1100 /*offsetCode (16512/15)*/,
17005  12 /*offsetRemainder (16512%15)*/,
17006  0 /*deltaMinutes*/,
17007  1924 /*untilYear*/,
17008  5 /*untilMonth*/,
17009  2 /*untilDay*/,
17010  0 /*untilTimeCode (0/15)*/,
17011  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17012  },
17013  // 5:00 - +05 1930 Jun 21
17014  {
17015  nullptr /*zonePolicy*/,
17016  "+05" /*format*/,
17017  1200 /*offsetCode (18000/15)*/,
17018  0 /*offsetRemainder (18000%15)*/,
17019  0 /*deltaMinutes*/,
17020  1930 /*untilYear*/,
17021  6 /*untilMonth*/,
17022  21 /*untilDay*/,
17023  0 /*untilTimeCode (0/15)*/,
17024  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17025  },
17026  // 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s
17027  {
17028  &kZonePolicyRussiaAsia /*zonePolicy*/,
17029  "+06/+07" /*format*/,
17030  1440 /*offsetCode (21600/15)*/,
17031  0 /*offsetRemainder (21600%15)*/,
17032  0 /*deltaMinutes*/,
17033  1991 /*untilYear*/,
17034  3 /*untilMonth*/,
17035  31 /*untilDay*/,
17036  480 /*untilTimeCode (7200/15)*/,
17037  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
17038  },
17039  // 5:00 1:00 +06 1991 Sep 9 2:00s
17040  {
17041  nullptr /*zonePolicy*/,
17042  "+06" /*format*/,
17043  1200 /*offsetCode (18000/15)*/,
17044  0 /*offsetRemainder (18000%15)*/,
17045  60 /*deltaMinutes*/,
17046  1991 /*untilYear*/,
17047  9 /*untilMonth*/,
17048  9 /*untilDay*/,
17049  480 /*untilTimeCode (7200/15)*/,
17050  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
17051  },
17052  // 5:00 - +05
17053  {
17054  nullptr /*zonePolicy*/,
17055  "+05" /*format*/,
17056  1200 /*offsetCode (18000/15)*/,
17057  0 /*offsetRemainder (18000%15)*/,
17058  0 /*deltaMinutes*/,
17059  32767 /*untilYear*/,
17060  1 /*untilMonth*/,
17061  1 /*untilDay*/,
17062  0 /*untilTimeCode (0/15)*/,
17063  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17064  },
17065 
17066 };
17067 
17068 static const char kZoneNameAsia_Dushanbe[] ACE_TIME_PROGMEM = "\x05" "Dushanbe";
17069 
17070 const complete::ZoneInfo kZoneAsia_Dushanbe ACE_TIME_PROGMEM = {
17071  kZoneNameAsia_Dushanbe /*name*/,
17072  0x32fc5c3c /*zoneId*/,
17073  &kZoneContext /*zoneContext*/,
17074  5 /*numEras*/,
17075  kZoneEraAsia_Dushanbe /*eras*/,
17076  nullptr /*targetInfo*/,
17077 };
17078 
17079 //---------------------------------------------------------------------------
17080 // Zone name: Asia/Famagusta
17081 // Eras: 5
17082 //---------------------------------------------------------------------------
17083 
17084 static const complete::ZoneEra kZoneEraAsia_Famagusta[] ACE_TIME_PROGMEM = {
17085  // 2:15:48 - LMT 1921 Nov 14
17086  {
17087  nullptr /*zonePolicy*/,
17088  "LMT" /*format*/,
17089  543 /*offsetCode (8148/15)*/,
17090  3 /*offsetRemainder (8148%15)*/,
17091  0 /*deltaMinutes*/,
17092  1921 /*untilYear*/,
17093  11 /*untilMonth*/,
17094  14 /*untilDay*/,
17095  0 /*untilTimeCode (0/15)*/,
17096  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17097  },
17098  // 2:00 Cyprus EE%sT 1998 Sep
17099  {
17100  &kZonePolicyCyprus /*zonePolicy*/,
17101  "EE%T" /*format*/,
17102  480 /*offsetCode (7200/15)*/,
17103  0 /*offsetRemainder (7200%15)*/,
17104  0 /*deltaMinutes*/,
17105  1998 /*untilYear*/,
17106  9 /*untilMonth*/,
17107  1 /*untilDay*/,
17108  0 /*untilTimeCode (0/15)*/,
17109  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17110  },
17111  // 2:00 EUAsia EE%sT 2016 Sep 8
17112  {
17113  &kZonePolicyEUAsia /*zonePolicy*/,
17114  "EE%T" /*format*/,
17115  480 /*offsetCode (7200/15)*/,
17116  0 /*offsetRemainder (7200%15)*/,
17117  0 /*deltaMinutes*/,
17118  2016 /*untilYear*/,
17119  9 /*untilMonth*/,
17120  8 /*untilDay*/,
17121  0 /*untilTimeCode (0/15)*/,
17122  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17123  },
17124  // 3:00 - +03 2017 Oct 29 1:00u
17125  {
17126  nullptr /*zonePolicy*/,
17127  "+03" /*format*/,
17128  720 /*offsetCode (10800/15)*/,
17129  0 /*offsetRemainder (10800%15)*/,
17130  0 /*deltaMinutes*/,
17131  2017 /*untilYear*/,
17132  10 /*untilMonth*/,
17133  29 /*untilDay*/,
17134  240 /*untilTimeCode (3600/15)*/,
17135  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
17136  },
17137  // 2:00 EUAsia EE%sT
17138  {
17139  &kZonePolicyEUAsia /*zonePolicy*/,
17140  "EE%T" /*format*/,
17141  480 /*offsetCode (7200/15)*/,
17142  0 /*offsetRemainder (7200%15)*/,
17143  0 /*deltaMinutes*/,
17144  32767 /*untilYear*/,
17145  1 /*untilMonth*/,
17146  1 /*untilDay*/,
17147  0 /*untilTimeCode (0/15)*/,
17148  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17149  },
17150 
17151 };
17152 
17153 static const char kZoneNameAsia_Famagusta[] ACE_TIME_PROGMEM = "\x05" "Famagusta";
17154 
17155 const complete::ZoneInfo kZoneAsia_Famagusta ACE_TIME_PROGMEM = {
17156  kZoneNameAsia_Famagusta /*name*/,
17157  0x289b4f8b /*zoneId*/,
17158  &kZoneContext /*zoneContext*/,
17159  5 /*numEras*/,
17160  kZoneEraAsia_Famagusta /*eras*/,
17161  nullptr /*targetInfo*/,
17162 };
17163 
17164 //---------------------------------------------------------------------------
17165 // Zone name: Asia/Gaza
17166 // Eras: 12
17167 //---------------------------------------------------------------------------
17168 
17169 static const complete::ZoneEra kZoneEraAsia_Gaza[] ACE_TIME_PROGMEM = {
17170  // 2:17:52 - LMT 1900 Oct
17171  {
17172  nullptr /*zonePolicy*/,
17173  "LMT" /*format*/,
17174  551 /*offsetCode (8272/15)*/,
17175  7 /*offsetRemainder (8272%15)*/,
17176  0 /*deltaMinutes*/,
17177  1900 /*untilYear*/,
17178  10 /*untilMonth*/,
17179  1 /*untilDay*/,
17180  0 /*untilTimeCode (0/15)*/,
17181  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17182  },
17183  // 2:00 Zion EET/EEST 1948 May 15
17184  {
17185  &kZonePolicyZion /*zonePolicy*/,
17186  "EET/EEST" /*format*/,
17187  480 /*offsetCode (7200/15)*/,
17188  0 /*offsetRemainder (7200%15)*/,
17189  0 /*deltaMinutes*/,
17190  1948 /*untilYear*/,
17191  5 /*untilMonth*/,
17192  15 /*untilDay*/,
17193  0 /*untilTimeCode (0/15)*/,
17194  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17195  },
17196  // 2:00 EgyptAsia EE%sT 1967 Jun 5
17197  {
17198  &kZonePolicyEgyptAsia /*zonePolicy*/,
17199  "EE%T" /*format*/,
17200  480 /*offsetCode (7200/15)*/,
17201  0 /*offsetRemainder (7200%15)*/,
17202  0 /*deltaMinutes*/,
17203  1967 /*untilYear*/,
17204  6 /*untilMonth*/,
17205  5 /*untilDay*/,
17206  0 /*untilTimeCode (0/15)*/,
17207  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17208  },
17209  // 2:00 Zion I%sT 1996
17210  {
17211  &kZonePolicyZion /*zonePolicy*/,
17212  "I%T" /*format*/,
17213  480 /*offsetCode (7200/15)*/,
17214  0 /*offsetRemainder (7200%15)*/,
17215  0 /*deltaMinutes*/,
17216  1996 /*untilYear*/,
17217  1 /*untilMonth*/,
17218  1 /*untilDay*/,
17219  0 /*untilTimeCode (0/15)*/,
17220  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17221  },
17222  // 2:00 Jordan EE%sT 1999
17223  {
17224  &kZonePolicyJordan /*zonePolicy*/,
17225  "EE%T" /*format*/,
17226  480 /*offsetCode (7200/15)*/,
17227  0 /*offsetRemainder (7200%15)*/,
17228  0 /*deltaMinutes*/,
17229  1999 /*untilYear*/,
17230  1 /*untilMonth*/,
17231  1 /*untilDay*/,
17232  0 /*untilTimeCode (0/15)*/,
17233  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17234  },
17235  // 2:00 Palestine EE%sT 2008 Aug 29 0:00
17236  {
17237  &kZonePolicyPalestine /*zonePolicy*/,
17238  "EE%T" /*format*/,
17239  480 /*offsetCode (7200/15)*/,
17240  0 /*offsetRemainder (7200%15)*/,
17241  0 /*deltaMinutes*/,
17242  2008 /*untilYear*/,
17243  8 /*untilMonth*/,
17244  29 /*untilDay*/,
17245  0 /*untilTimeCode (0/15)*/,
17246  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17247  },
17248  // 2:00 - EET 2008 Sep
17249  {
17250  nullptr /*zonePolicy*/,
17251  "EET" /*format*/,
17252  480 /*offsetCode (7200/15)*/,
17253  0 /*offsetRemainder (7200%15)*/,
17254  0 /*deltaMinutes*/,
17255  2008 /*untilYear*/,
17256  9 /*untilMonth*/,
17257  1 /*untilDay*/,
17258  0 /*untilTimeCode (0/15)*/,
17259  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17260  },
17261  // 2:00 Palestine EE%sT 2010
17262  {
17263  &kZonePolicyPalestine /*zonePolicy*/,
17264  "EE%T" /*format*/,
17265  480 /*offsetCode (7200/15)*/,
17266  0 /*offsetRemainder (7200%15)*/,
17267  0 /*deltaMinutes*/,
17268  2010 /*untilYear*/,
17269  1 /*untilMonth*/,
17270  1 /*untilDay*/,
17271  0 /*untilTimeCode (0/15)*/,
17272  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17273  },
17274  // 2:00 - EET 2010 Mar 27 0:01
17275  {
17276  nullptr /*zonePolicy*/,
17277  "EET" /*format*/,
17278  480 /*offsetCode (7200/15)*/,
17279  0 /*offsetRemainder (7200%15)*/,
17280  0 /*deltaMinutes*/,
17281  2010 /*untilYear*/,
17282  3 /*untilMonth*/,
17283  27 /*untilDay*/,
17284  4 /*untilTimeCode (60/15)*/,
17285  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17286  },
17287  // 2:00 Palestine EE%sT 2011 Aug 1
17288  {
17289  &kZonePolicyPalestine /*zonePolicy*/,
17290  "EE%T" /*format*/,
17291  480 /*offsetCode (7200/15)*/,
17292  0 /*offsetRemainder (7200%15)*/,
17293  0 /*deltaMinutes*/,
17294  2011 /*untilYear*/,
17295  8 /*untilMonth*/,
17296  1 /*untilDay*/,
17297  0 /*untilTimeCode (0/15)*/,
17298  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17299  },
17300  // 2:00 - EET 2012
17301  {
17302  nullptr /*zonePolicy*/,
17303  "EET" /*format*/,
17304  480 /*offsetCode (7200/15)*/,
17305  0 /*offsetRemainder (7200%15)*/,
17306  0 /*deltaMinutes*/,
17307  2012 /*untilYear*/,
17308  1 /*untilMonth*/,
17309  1 /*untilDay*/,
17310  0 /*untilTimeCode (0/15)*/,
17311  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17312  },
17313  // 2:00 Palestine EE%sT
17314  {
17315  &kZonePolicyPalestine /*zonePolicy*/,
17316  "EE%T" /*format*/,
17317  480 /*offsetCode (7200/15)*/,
17318  0 /*offsetRemainder (7200%15)*/,
17319  0 /*deltaMinutes*/,
17320  32767 /*untilYear*/,
17321  1 /*untilMonth*/,
17322  1 /*untilDay*/,
17323  0 /*untilTimeCode (0/15)*/,
17324  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17325  },
17326 
17327 };
17328 
17329 static const char kZoneNameAsia_Gaza[] ACE_TIME_PROGMEM = "\x05" "Gaza";
17330 
17331 const complete::ZoneInfo kZoneAsia_Gaza ACE_TIME_PROGMEM = {
17332  kZoneNameAsia_Gaza /*name*/,
17333  0x1faa4875 /*zoneId*/,
17334  &kZoneContext /*zoneContext*/,
17335  12 /*numEras*/,
17336  kZoneEraAsia_Gaza /*eras*/,
17337  nullptr /*targetInfo*/,
17338 };
17339 
17340 //---------------------------------------------------------------------------
17341 // Zone name: Asia/Hebron
17342 // Eras: 6
17343 //---------------------------------------------------------------------------
17344 
17345 static const complete::ZoneEra kZoneEraAsia_Hebron[] ACE_TIME_PROGMEM = {
17346  // 2:20:23 - LMT 1900 Oct
17347  {
17348  nullptr /*zonePolicy*/,
17349  "LMT" /*format*/,
17350  561 /*offsetCode (8423/15)*/,
17351  8 /*offsetRemainder (8423%15)*/,
17352  0 /*deltaMinutes*/,
17353  1900 /*untilYear*/,
17354  10 /*untilMonth*/,
17355  1 /*untilDay*/,
17356  0 /*untilTimeCode (0/15)*/,
17357  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17358  },
17359  // 2:00 Zion EET/EEST 1948 May 15
17360  {
17361  &kZonePolicyZion /*zonePolicy*/,
17362  "EET/EEST" /*format*/,
17363  480 /*offsetCode (7200/15)*/,
17364  0 /*offsetRemainder (7200%15)*/,
17365  0 /*deltaMinutes*/,
17366  1948 /*untilYear*/,
17367  5 /*untilMonth*/,
17368  15 /*untilDay*/,
17369  0 /*untilTimeCode (0/15)*/,
17370  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17371  },
17372  // 2:00 EgyptAsia EE%sT 1967 Jun 5
17373  {
17374  &kZonePolicyEgyptAsia /*zonePolicy*/,
17375  "EE%T" /*format*/,
17376  480 /*offsetCode (7200/15)*/,
17377  0 /*offsetRemainder (7200%15)*/,
17378  0 /*deltaMinutes*/,
17379  1967 /*untilYear*/,
17380  6 /*untilMonth*/,
17381  5 /*untilDay*/,
17382  0 /*untilTimeCode (0/15)*/,
17383  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17384  },
17385  // 2:00 Zion I%sT 1996
17386  {
17387  &kZonePolicyZion /*zonePolicy*/,
17388  "I%T" /*format*/,
17389  480 /*offsetCode (7200/15)*/,
17390  0 /*offsetRemainder (7200%15)*/,
17391  0 /*deltaMinutes*/,
17392  1996 /*untilYear*/,
17393  1 /*untilMonth*/,
17394  1 /*untilDay*/,
17395  0 /*untilTimeCode (0/15)*/,
17396  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17397  },
17398  // 2:00 Jordan EE%sT 1999
17399  {
17400  &kZonePolicyJordan /*zonePolicy*/,
17401  "EE%T" /*format*/,
17402  480 /*offsetCode (7200/15)*/,
17403  0 /*offsetRemainder (7200%15)*/,
17404  0 /*deltaMinutes*/,
17405  1999 /*untilYear*/,
17406  1 /*untilMonth*/,
17407  1 /*untilDay*/,
17408  0 /*untilTimeCode (0/15)*/,
17409  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17410  },
17411  // 2:00 Palestine EE%sT
17412  {
17413  &kZonePolicyPalestine /*zonePolicy*/,
17414  "EE%T" /*format*/,
17415  480 /*offsetCode (7200/15)*/,
17416  0 /*offsetRemainder (7200%15)*/,
17417  0 /*deltaMinutes*/,
17418  32767 /*untilYear*/,
17419  1 /*untilMonth*/,
17420  1 /*untilDay*/,
17421  0 /*untilTimeCode (0/15)*/,
17422  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17423  },
17424 
17425 };
17426 
17427 static const char kZoneNameAsia_Hebron[] ACE_TIME_PROGMEM = "\x05" "Hebron";
17428 
17429 const complete::ZoneInfo kZoneAsia_Hebron ACE_TIME_PROGMEM = {
17430  kZoneNameAsia_Hebron /*name*/,
17431  0xb5eef250 /*zoneId*/,
17432  &kZoneContext /*zoneContext*/,
17433  6 /*numEras*/,
17434  kZoneEraAsia_Hebron /*eras*/,
17435  nullptr /*targetInfo*/,
17436 };
17437 
17438 //---------------------------------------------------------------------------
17439 // Zone name: Asia/Ho_Chi_Minh
17440 // Eras: 10
17441 //---------------------------------------------------------------------------
17442 
17443 static const complete::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = {
17444  // 7:06:30 - LMT 1906 Jul 1
17445  {
17446  nullptr /*zonePolicy*/,
17447  "LMT" /*format*/,
17448  1706 /*offsetCode (25590/15)*/,
17449  0 /*offsetRemainder (25590%15)*/,
17450  0 /*deltaMinutes*/,
17451  1906 /*untilYear*/,
17452  7 /*untilMonth*/,
17453  1 /*untilDay*/,
17454  0 /*untilTimeCode (0/15)*/,
17455  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17456  },
17457  // 7:06:30 - PLMT 1911 May 1
17458  {
17459  nullptr /*zonePolicy*/,
17460  "PLMT" /*format*/,
17461  1706 /*offsetCode (25590/15)*/,
17462  0 /*offsetRemainder (25590%15)*/,
17463  0 /*deltaMinutes*/,
17464  1911 /*untilYear*/,
17465  5 /*untilMonth*/,
17466  1 /*untilDay*/,
17467  0 /*untilTimeCode (0/15)*/,
17468  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17469  },
17470  // 7:00 - +07 1942 Dec 31 23:00
17471  {
17472  nullptr /*zonePolicy*/,
17473  "+07" /*format*/,
17474  1680 /*offsetCode (25200/15)*/,
17475  0 /*offsetRemainder (25200%15)*/,
17476  0 /*deltaMinutes*/,
17477  1942 /*untilYear*/,
17478  12 /*untilMonth*/,
17479  31 /*untilDay*/,
17480  5520 /*untilTimeCode (82800/15)*/,
17481  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17482  },
17483  // 8:00 - +08 1945 Mar 14 23:00
17484  {
17485  nullptr /*zonePolicy*/,
17486  "+08" /*format*/,
17487  1920 /*offsetCode (28800/15)*/,
17488  0 /*offsetRemainder (28800%15)*/,
17489  0 /*deltaMinutes*/,
17490  1945 /*untilYear*/,
17491  3 /*untilMonth*/,
17492  14 /*untilDay*/,
17493  5520 /*untilTimeCode (82800/15)*/,
17494  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17495  },
17496  // 9:00 - +09 1945 Sep 2
17497  {
17498  nullptr /*zonePolicy*/,
17499  "+09" /*format*/,
17500  2160 /*offsetCode (32400/15)*/,
17501  0 /*offsetRemainder (32400%15)*/,
17502  0 /*deltaMinutes*/,
17503  1945 /*untilYear*/,
17504  9 /*untilMonth*/,
17505  2 /*untilDay*/,
17506  0 /*untilTimeCode (0/15)*/,
17507  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17508  },
17509  // 7:00 - +07 1947 Apr 1
17510  {
17511  nullptr /*zonePolicy*/,
17512  "+07" /*format*/,
17513  1680 /*offsetCode (25200/15)*/,
17514  0 /*offsetRemainder (25200%15)*/,
17515  0 /*deltaMinutes*/,
17516  1947 /*untilYear*/,
17517  4 /*untilMonth*/,
17518  1 /*untilDay*/,
17519  0 /*untilTimeCode (0/15)*/,
17520  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17521  },
17522  // 8:00 - +08 1955 Jul 1
17523  {
17524  nullptr /*zonePolicy*/,
17525  "+08" /*format*/,
17526  1920 /*offsetCode (28800/15)*/,
17527  0 /*offsetRemainder (28800%15)*/,
17528  0 /*deltaMinutes*/,
17529  1955 /*untilYear*/,
17530  7 /*untilMonth*/,
17531  1 /*untilDay*/,
17532  0 /*untilTimeCode (0/15)*/,
17533  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17534  },
17535  // 7:00 - +07 1959 Dec 31 23:00
17536  {
17537  nullptr /*zonePolicy*/,
17538  "+07" /*format*/,
17539  1680 /*offsetCode (25200/15)*/,
17540  0 /*offsetRemainder (25200%15)*/,
17541  0 /*deltaMinutes*/,
17542  1959 /*untilYear*/,
17543  12 /*untilMonth*/,
17544  31 /*untilDay*/,
17545  5520 /*untilTimeCode (82800/15)*/,
17546  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17547  },
17548  // 8:00 - +08 1975 Jun 13
17549  {
17550  nullptr /*zonePolicy*/,
17551  "+08" /*format*/,
17552  1920 /*offsetCode (28800/15)*/,
17553  0 /*offsetRemainder (28800%15)*/,
17554  0 /*deltaMinutes*/,
17555  1975 /*untilYear*/,
17556  6 /*untilMonth*/,
17557  13 /*untilDay*/,
17558  0 /*untilTimeCode (0/15)*/,
17559  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17560  },
17561  // 7:00 - +07
17562  {
17563  nullptr /*zonePolicy*/,
17564  "+07" /*format*/,
17565  1680 /*offsetCode (25200/15)*/,
17566  0 /*offsetRemainder (25200%15)*/,
17567  0 /*deltaMinutes*/,
17568  32767 /*untilYear*/,
17569  1 /*untilMonth*/,
17570  1 /*untilDay*/,
17571  0 /*untilTimeCode (0/15)*/,
17572  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17573  },
17574 
17575 };
17576 
17577 static const char kZoneNameAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = "\x05" "Ho_Chi_Minh";
17578 
17579 const complete::ZoneInfo kZoneAsia_Ho_Chi_Minh ACE_TIME_PROGMEM = {
17580  kZoneNameAsia_Ho_Chi_Minh /*name*/,
17581  0x20f2d127 /*zoneId*/,
17582  &kZoneContext /*zoneContext*/,
17583  10 /*numEras*/,
17584  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
17585  nullptr /*targetInfo*/,
17586 };
17587 
17588 //---------------------------------------------------------------------------
17589 // Zone name: Asia/Hong_Kong
17590 // Eras: 6
17591 //---------------------------------------------------------------------------
17592 
17593 static const complete::ZoneEra kZoneEraAsia_Hong_Kong[] ACE_TIME_PROGMEM = {
17594  // 7:36:42 - LMT 1904 Oct 29 17:00u
17595  {
17596  nullptr /*zonePolicy*/,
17597  "LMT" /*format*/,
17598  1826 /*offsetCode (27402/15)*/,
17599  12 /*offsetRemainder (27402%15)*/,
17600  0 /*deltaMinutes*/,
17601  1904 /*untilYear*/,
17602  10 /*untilMonth*/,
17603  29 /*untilDay*/,
17604  4080 /*untilTimeCode (61200/15)*/,
17605  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
17606  },
17607  // 8:00 - HKT 1941 Jun 15 3:00
17608  {
17609  nullptr /*zonePolicy*/,
17610  "HKT" /*format*/,
17611  1920 /*offsetCode (28800/15)*/,
17612  0 /*offsetRemainder (28800%15)*/,
17613  0 /*deltaMinutes*/,
17614  1941 /*untilYear*/,
17615  6 /*untilMonth*/,
17616  15 /*untilDay*/,
17617  720 /*untilTimeCode (10800/15)*/,
17618  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17619  },
17620  // 8:00 1:00 HKST 1941 Oct 1 4:00
17621  {
17622  nullptr /*zonePolicy*/,
17623  "HKST" /*format*/,
17624  1920 /*offsetCode (28800/15)*/,
17625  0 /*offsetRemainder (28800%15)*/,
17626  60 /*deltaMinutes*/,
17627  1941 /*untilYear*/,
17628  10 /*untilMonth*/,
17629  1 /*untilDay*/,
17630  960 /*untilTimeCode (14400/15)*/,
17631  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17632  },
17633  // 8:00 0:30 HKWT 1941 Dec 25
17634  {
17635  nullptr /*zonePolicy*/,
17636  "HKWT" /*format*/,
17637  1920 /*offsetCode (28800/15)*/,
17638  0 /*offsetRemainder (28800%15)*/,
17639  30 /*deltaMinutes*/,
17640  1941 /*untilYear*/,
17641  12 /*untilMonth*/,
17642  25 /*untilDay*/,
17643  0 /*untilTimeCode (0/15)*/,
17644  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17645  },
17646  // 9:00 - JST 1945 Nov 18 2:00
17647  {
17648  nullptr /*zonePolicy*/,
17649  "JST" /*format*/,
17650  2160 /*offsetCode (32400/15)*/,
17651  0 /*offsetRemainder (32400%15)*/,
17652  0 /*deltaMinutes*/,
17653  1945 /*untilYear*/,
17654  11 /*untilMonth*/,
17655  18 /*untilDay*/,
17656  480 /*untilTimeCode (7200/15)*/,
17657  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17658  },
17659  // 8:00 HK HK%sT
17660  {
17661  &kZonePolicyHK /*zonePolicy*/,
17662  "HK%T" /*format*/,
17663  1920 /*offsetCode (28800/15)*/,
17664  0 /*offsetRemainder (28800%15)*/,
17665  0 /*deltaMinutes*/,
17666  32767 /*untilYear*/,
17667  1 /*untilMonth*/,
17668  1 /*untilDay*/,
17669  0 /*untilTimeCode (0/15)*/,
17670  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17671  },
17672 
17673 };
17674 
17675 static const char kZoneNameAsia_Hong_Kong[] ACE_TIME_PROGMEM = "\x05" "Hong_Kong";
17676 
17677 const complete::ZoneInfo kZoneAsia_Hong_Kong ACE_TIME_PROGMEM = {
17678  kZoneNameAsia_Hong_Kong /*name*/,
17679  0x577f28ac /*zoneId*/,
17680  &kZoneContext /*zoneContext*/,
17681  6 /*numEras*/,
17682  kZoneEraAsia_Hong_Kong /*eras*/,
17683  nullptr /*targetInfo*/,
17684 };
17685 
17686 //---------------------------------------------------------------------------
17687 // Zone name: Asia/Hovd
17688 // Eras: 3
17689 //---------------------------------------------------------------------------
17690 
17691 static const complete::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = {
17692  // 6:06:36 - LMT 1905 Aug
17693  {
17694  nullptr /*zonePolicy*/,
17695  "LMT" /*format*/,
17696  1466 /*offsetCode (21996/15)*/,
17697  6 /*offsetRemainder (21996%15)*/,
17698  0 /*deltaMinutes*/,
17699  1905 /*untilYear*/,
17700  8 /*untilMonth*/,
17701  1 /*untilDay*/,
17702  0 /*untilTimeCode (0/15)*/,
17703  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17704  },
17705  // 6:00 - +06 1978
17706  {
17707  nullptr /*zonePolicy*/,
17708  "+06" /*format*/,
17709  1440 /*offsetCode (21600/15)*/,
17710  0 /*offsetRemainder (21600%15)*/,
17711  0 /*deltaMinutes*/,
17712  1978 /*untilYear*/,
17713  1 /*untilMonth*/,
17714  1 /*untilDay*/,
17715  0 /*untilTimeCode (0/15)*/,
17716  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17717  },
17718  // 7:00 Mongol +07/+08
17719  {
17720  &kZonePolicyMongol /*zonePolicy*/,
17721  "+07/+08" /*format*/,
17722  1680 /*offsetCode (25200/15)*/,
17723  0 /*offsetRemainder (25200%15)*/,
17724  0 /*deltaMinutes*/,
17725  32767 /*untilYear*/,
17726  1 /*untilMonth*/,
17727  1 /*untilDay*/,
17728  0 /*untilTimeCode (0/15)*/,
17729  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17730  },
17731 
17732 };
17733 
17734 static const char kZoneNameAsia_Hovd[] ACE_TIME_PROGMEM = "\x05" "Hovd";
17735 
17736 const complete::ZoneInfo kZoneAsia_Hovd ACE_TIME_PROGMEM = {
17737  kZoneNameAsia_Hovd /*name*/,
17738  0x1fab0fe3 /*zoneId*/,
17739  &kZoneContext /*zoneContext*/,
17740  3 /*numEras*/,
17741  kZoneEraAsia_Hovd /*eras*/,
17742  nullptr /*targetInfo*/,
17743 };
17744 
17745 //---------------------------------------------------------------------------
17746 // Zone name: Asia/Irkutsk
17747 // Eras: 8
17748 //---------------------------------------------------------------------------
17749 
17750 static const complete::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = {
17751  // 6:57:05 - LMT 1880
17752  {
17753  nullptr /*zonePolicy*/,
17754  "LMT" /*format*/,
17755  1668 /*offsetCode (25025/15)*/,
17756  5 /*offsetRemainder (25025%15)*/,
17757  0 /*deltaMinutes*/,
17758  1880 /*untilYear*/,
17759  1 /*untilMonth*/,
17760  1 /*untilDay*/,
17761  0 /*untilTimeCode (0/15)*/,
17762  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17763  },
17764  // 6:57:05 - IMT 1920 Jan 25
17765  {
17766  nullptr /*zonePolicy*/,
17767  "IMT" /*format*/,
17768  1668 /*offsetCode (25025/15)*/,
17769  5 /*offsetRemainder (25025%15)*/,
17770  0 /*deltaMinutes*/,
17771  1920 /*untilYear*/,
17772  1 /*untilMonth*/,
17773  25 /*untilDay*/,
17774  0 /*untilTimeCode (0/15)*/,
17775  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17776  },
17777  // 7:00 - +07 1930 Jun 21
17778  {
17779  nullptr /*zonePolicy*/,
17780  "+07" /*format*/,
17781  1680 /*offsetCode (25200/15)*/,
17782  0 /*offsetRemainder (25200%15)*/,
17783  0 /*deltaMinutes*/,
17784  1930 /*untilYear*/,
17785  6 /*untilMonth*/,
17786  21 /*untilDay*/,
17787  0 /*untilTimeCode (0/15)*/,
17788  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17789  },
17790  // 8:00 Russia +08/+09 1991 Mar 31 2:00s
17791  {
17792  &kZonePolicyRussia /*zonePolicy*/,
17793  "+08/+09" /*format*/,
17794  1920 /*offsetCode (28800/15)*/,
17795  0 /*offsetRemainder (28800%15)*/,
17796  0 /*deltaMinutes*/,
17797  1991 /*untilYear*/,
17798  3 /*untilMonth*/,
17799  31 /*untilDay*/,
17800  480 /*untilTimeCode (7200/15)*/,
17801  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
17802  },
17803  // 7:00 Russia +07/+08 1992 Jan 19 2:00s
17804  {
17805  &kZonePolicyRussia /*zonePolicy*/,
17806  "+07/+08" /*format*/,
17807  1680 /*offsetCode (25200/15)*/,
17808  0 /*offsetRemainder (25200%15)*/,
17809  0 /*deltaMinutes*/,
17810  1992 /*untilYear*/,
17811  1 /*untilMonth*/,
17812  19 /*untilDay*/,
17813  480 /*untilTimeCode (7200/15)*/,
17814  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
17815  },
17816  // 8:00 Russia +08/+09 2011 Mar 27 2:00s
17817  {
17818  &kZonePolicyRussia /*zonePolicy*/,
17819  "+08/+09" /*format*/,
17820  1920 /*offsetCode (28800/15)*/,
17821  0 /*offsetRemainder (28800%15)*/,
17822  0 /*deltaMinutes*/,
17823  2011 /*untilYear*/,
17824  3 /*untilMonth*/,
17825  27 /*untilDay*/,
17826  480 /*untilTimeCode (7200/15)*/,
17827  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
17828  },
17829  // 9:00 - +09 2014 Oct 26 2:00s
17830  {
17831  nullptr /*zonePolicy*/,
17832  "+09" /*format*/,
17833  2160 /*offsetCode (32400/15)*/,
17834  0 /*offsetRemainder (32400%15)*/,
17835  0 /*deltaMinutes*/,
17836  2014 /*untilYear*/,
17837  10 /*untilMonth*/,
17838  26 /*untilDay*/,
17839  480 /*untilTimeCode (7200/15)*/,
17840  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
17841  },
17842  // 8:00 - +08
17843  {
17844  nullptr /*zonePolicy*/,
17845  "+08" /*format*/,
17846  1920 /*offsetCode (28800/15)*/,
17847  0 /*offsetRemainder (28800%15)*/,
17848  0 /*deltaMinutes*/,
17849  32767 /*untilYear*/,
17850  1 /*untilMonth*/,
17851  1 /*untilDay*/,
17852  0 /*untilTimeCode (0/15)*/,
17853  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17854  },
17855 
17856 };
17857 
17858 static const char kZoneNameAsia_Irkutsk[] ACE_TIME_PROGMEM = "\x05" "Irkutsk";
17859 
17860 const complete::ZoneInfo kZoneAsia_Irkutsk ACE_TIME_PROGMEM = {
17861  kZoneNameAsia_Irkutsk /*name*/,
17862  0xdfbf213f /*zoneId*/,
17863  &kZoneContext /*zoneContext*/,
17864  8 /*numEras*/,
17865  kZoneEraAsia_Irkutsk /*eras*/,
17866  nullptr /*targetInfo*/,
17867 };
17868 
17869 //---------------------------------------------------------------------------
17870 // Zone name: Asia/Jakarta
17871 // Eras: 9
17872 //---------------------------------------------------------------------------
17873 
17874 static const complete::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = {
17875  // 7:07:12 - LMT 1867 Aug 10
17876  {
17877  nullptr /*zonePolicy*/,
17878  "LMT" /*format*/,
17879  1708 /*offsetCode (25632/15)*/,
17880  12 /*offsetRemainder (25632%15)*/,
17881  0 /*deltaMinutes*/,
17882  1867 /*untilYear*/,
17883  8 /*untilMonth*/,
17884  10 /*untilDay*/,
17885  0 /*untilTimeCode (0/15)*/,
17886  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17887  },
17888  // 7:07:12 - BMT 1923 Dec 31 16:40u
17889  {
17890  nullptr /*zonePolicy*/,
17891  "BMT" /*format*/,
17892  1708 /*offsetCode (25632/15)*/,
17893  12 /*offsetRemainder (25632%15)*/,
17894  0 /*deltaMinutes*/,
17895  1923 /*untilYear*/,
17896  12 /*untilMonth*/,
17897  31 /*untilDay*/,
17898  4000 /*untilTimeCode (60000/15)*/,
17899  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
17900  },
17901  // 7:20 - +0720 1932 Nov
17902  {
17903  nullptr /*zonePolicy*/,
17904  "+0720" /*format*/,
17905  1760 /*offsetCode (26400/15)*/,
17906  0 /*offsetRemainder (26400%15)*/,
17907  0 /*deltaMinutes*/,
17908  1932 /*untilYear*/,
17909  11 /*untilMonth*/,
17910  1 /*untilDay*/,
17911  0 /*untilTimeCode (0/15)*/,
17912  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17913  },
17914  // 7:30 - +0730 1942 Mar 23
17915  {
17916  nullptr /*zonePolicy*/,
17917  "+0730" /*format*/,
17918  1800 /*offsetCode (27000/15)*/,
17919  0 /*offsetRemainder (27000%15)*/,
17920  0 /*deltaMinutes*/,
17921  1942 /*untilYear*/,
17922  3 /*untilMonth*/,
17923  23 /*untilDay*/,
17924  0 /*untilTimeCode (0/15)*/,
17925  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17926  },
17927  // 9:00 - +09 1945 Sep 23
17928  {
17929  nullptr /*zonePolicy*/,
17930  "+09" /*format*/,
17931  2160 /*offsetCode (32400/15)*/,
17932  0 /*offsetRemainder (32400%15)*/,
17933  0 /*deltaMinutes*/,
17934  1945 /*untilYear*/,
17935  9 /*untilMonth*/,
17936  23 /*untilDay*/,
17937  0 /*untilTimeCode (0/15)*/,
17938  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17939  },
17940  // 7:30 - +0730 1948 May
17941  {
17942  nullptr /*zonePolicy*/,
17943  "+0730" /*format*/,
17944  1800 /*offsetCode (27000/15)*/,
17945  0 /*offsetRemainder (27000%15)*/,
17946  0 /*deltaMinutes*/,
17947  1948 /*untilYear*/,
17948  5 /*untilMonth*/,
17949  1 /*untilDay*/,
17950  0 /*untilTimeCode (0/15)*/,
17951  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17952  },
17953  // 8:00 - +08 1950 May
17954  {
17955  nullptr /*zonePolicy*/,
17956  "+08" /*format*/,
17957  1920 /*offsetCode (28800/15)*/,
17958  0 /*offsetRemainder (28800%15)*/,
17959  0 /*deltaMinutes*/,
17960  1950 /*untilYear*/,
17961  5 /*untilMonth*/,
17962  1 /*untilDay*/,
17963  0 /*untilTimeCode (0/15)*/,
17964  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17965  },
17966  // 7:30 - +0730 1964
17967  {
17968  nullptr /*zonePolicy*/,
17969  "+0730" /*format*/,
17970  1800 /*offsetCode (27000/15)*/,
17971  0 /*offsetRemainder (27000%15)*/,
17972  0 /*deltaMinutes*/,
17973  1964 /*untilYear*/,
17974  1 /*untilMonth*/,
17975  1 /*untilDay*/,
17976  0 /*untilTimeCode (0/15)*/,
17977  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17978  },
17979  // 7:00 - WIB
17980  {
17981  nullptr /*zonePolicy*/,
17982  "WIB" /*format*/,
17983  1680 /*offsetCode (25200/15)*/,
17984  0 /*offsetRemainder (25200%15)*/,
17985  0 /*deltaMinutes*/,
17986  32767 /*untilYear*/,
17987  1 /*untilMonth*/,
17988  1 /*untilDay*/,
17989  0 /*untilTimeCode (0/15)*/,
17990  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17991  },
17992 
17993 };
17994 
17995 static const char kZoneNameAsia_Jakarta[] ACE_TIME_PROGMEM = "\x05" "Jakarta";
17996 
17997 const complete::ZoneInfo kZoneAsia_Jakarta ACE_TIME_PROGMEM = {
17998  kZoneNameAsia_Jakarta /*name*/,
17999  0x0506ab50 /*zoneId*/,
18000  &kZoneContext /*zoneContext*/,
18001  9 /*numEras*/,
18002  kZoneEraAsia_Jakarta /*eras*/,
18003  nullptr /*targetInfo*/,
18004 };
18005 
18006 //---------------------------------------------------------------------------
18007 // Zone name: Asia/Jayapura
18008 // Eras: 4
18009 //---------------------------------------------------------------------------
18010 
18011 static const complete::ZoneEra kZoneEraAsia_Jayapura[] ACE_TIME_PROGMEM = {
18012  // 9:22:48 - LMT 1932 Nov
18013  {
18014  nullptr /*zonePolicy*/,
18015  "LMT" /*format*/,
18016  2251 /*offsetCode (33768/15)*/,
18017  3 /*offsetRemainder (33768%15)*/,
18018  0 /*deltaMinutes*/,
18019  1932 /*untilYear*/,
18020  11 /*untilMonth*/,
18021  1 /*untilDay*/,
18022  0 /*untilTimeCode (0/15)*/,
18023  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18024  },
18025  // 9:00 - +09 1944 Sep 1
18026  {
18027  nullptr /*zonePolicy*/,
18028  "+09" /*format*/,
18029  2160 /*offsetCode (32400/15)*/,
18030  0 /*offsetRemainder (32400%15)*/,
18031  0 /*deltaMinutes*/,
18032  1944 /*untilYear*/,
18033  9 /*untilMonth*/,
18034  1 /*untilDay*/,
18035  0 /*untilTimeCode (0/15)*/,
18036  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18037  },
18038  // 9:30 - +0930 1964
18039  {
18040  nullptr /*zonePolicy*/,
18041  "+0930" /*format*/,
18042  2280 /*offsetCode (34200/15)*/,
18043  0 /*offsetRemainder (34200%15)*/,
18044  0 /*deltaMinutes*/,
18045  1964 /*untilYear*/,
18046  1 /*untilMonth*/,
18047  1 /*untilDay*/,
18048  0 /*untilTimeCode (0/15)*/,
18049  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18050  },
18051  // 9:00 - WIT
18052  {
18053  nullptr /*zonePolicy*/,
18054  "WIT" /*format*/,
18055  2160 /*offsetCode (32400/15)*/,
18056  0 /*offsetRemainder (32400%15)*/,
18057  0 /*deltaMinutes*/,
18058  32767 /*untilYear*/,
18059  1 /*untilMonth*/,
18060  1 /*untilDay*/,
18061  0 /*untilTimeCode (0/15)*/,
18062  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18063  },
18064 
18065 };
18066 
18067 static const char kZoneNameAsia_Jayapura[] ACE_TIME_PROGMEM = "\x05" "Jayapura";
18068 
18069 const complete::ZoneInfo kZoneAsia_Jayapura ACE_TIME_PROGMEM = {
18070  kZoneNameAsia_Jayapura /*name*/,
18071  0xc6833c2f /*zoneId*/,
18072  &kZoneContext /*zoneContext*/,
18073  4 /*numEras*/,
18074  kZoneEraAsia_Jayapura /*eras*/,
18075  nullptr /*targetInfo*/,
18076 };
18077 
18078 //---------------------------------------------------------------------------
18079 // Zone name: Asia/Jerusalem
18080 // Eras: 3
18081 //---------------------------------------------------------------------------
18082 
18083 static const complete::ZoneEra kZoneEraAsia_Jerusalem[] ACE_TIME_PROGMEM = {
18084  // 2:20:54 - LMT 1880
18085  {
18086  nullptr /*zonePolicy*/,
18087  "LMT" /*format*/,
18088  563 /*offsetCode (8454/15)*/,
18089  9 /*offsetRemainder (8454%15)*/,
18090  0 /*deltaMinutes*/,
18091  1880 /*untilYear*/,
18092  1 /*untilMonth*/,
18093  1 /*untilDay*/,
18094  0 /*untilTimeCode (0/15)*/,
18095  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18096  },
18097  // 2:20:40 - JMT 1918
18098  {
18099  nullptr /*zonePolicy*/,
18100  "JMT" /*format*/,
18101  562 /*offsetCode (8440/15)*/,
18102  10 /*offsetRemainder (8440%15)*/,
18103  0 /*deltaMinutes*/,
18104  1918 /*untilYear*/,
18105  1 /*untilMonth*/,
18106  1 /*untilDay*/,
18107  0 /*untilTimeCode (0/15)*/,
18108  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18109  },
18110  // 2:00 Zion I%sT
18111  {
18112  &kZonePolicyZion /*zonePolicy*/,
18113  "I%T" /*format*/,
18114  480 /*offsetCode (7200/15)*/,
18115  0 /*offsetRemainder (7200%15)*/,
18116  0 /*deltaMinutes*/,
18117  32767 /*untilYear*/,
18118  1 /*untilMonth*/,
18119  1 /*untilDay*/,
18120  0 /*untilTimeCode (0/15)*/,
18121  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18122  },
18123 
18124 };
18125 
18126 static const char kZoneNameAsia_Jerusalem[] ACE_TIME_PROGMEM = "\x05" "Jerusalem";
18127 
18128 const complete::ZoneInfo kZoneAsia_Jerusalem ACE_TIME_PROGMEM = {
18129  kZoneNameAsia_Jerusalem /*name*/,
18130  0x5becd23a /*zoneId*/,
18131  &kZoneContext /*zoneContext*/,
18132  3 /*numEras*/,
18133  kZoneEraAsia_Jerusalem /*eras*/,
18134  nullptr /*targetInfo*/,
18135 };
18136 
18137 //---------------------------------------------------------------------------
18138 // Zone name: Asia/Kabul
18139 // Eras: 3
18140 //---------------------------------------------------------------------------
18141 
18142 static const complete::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = {
18143  // 4:36:48 - LMT 1890
18144  {
18145  nullptr /*zonePolicy*/,
18146  "LMT" /*format*/,
18147  1107 /*offsetCode (16608/15)*/,
18148  3 /*offsetRemainder (16608%15)*/,
18149  0 /*deltaMinutes*/,
18150  1890 /*untilYear*/,
18151  1 /*untilMonth*/,
18152  1 /*untilDay*/,
18153  0 /*untilTimeCode (0/15)*/,
18154  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18155  },
18156  // 4:00 - +04 1945
18157  {
18158  nullptr /*zonePolicy*/,
18159  "+04" /*format*/,
18160  960 /*offsetCode (14400/15)*/,
18161  0 /*offsetRemainder (14400%15)*/,
18162  0 /*deltaMinutes*/,
18163  1945 /*untilYear*/,
18164  1 /*untilMonth*/,
18165  1 /*untilDay*/,
18166  0 /*untilTimeCode (0/15)*/,
18167  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18168  },
18169  // 4:30 - +0430
18170  {
18171  nullptr /*zonePolicy*/,
18172  "+0430" /*format*/,
18173  1080 /*offsetCode (16200/15)*/,
18174  0 /*offsetRemainder (16200%15)*/,
18175  0 /*deltaMinutes*/,
18176  32767 /*untilYear*/,
18177  1 /*untilMonth*/,
18178  1 /*untilDay*/,
18179  0 /*untilTimeCode (0/15)*/,
18180  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18181  },
18182 
18183 };
18184 
18185 static const char kZoneNameAsia_Kabul[] ACE_TIME_PROGMEM = "\x05" "Kabul";
18186 
18187 const complete::ZoneInfo kZoneAsia_Kabul ACE_TIME_PROGMEM = {
18188  kZoneNameAsia_Kabul /*name*/,
18189  0x153b5601 /*zoneId*/,
18190  &kZoneContext /*zoneContext*/,
18191  3 /*numEras*/,
18192  kZoneEraAsia_Kabul /*eras*/,
18193  nullptr /*targetInfo*/,
18194 };
18195 
18196 //---------------------------------------------------------------------------
18197 // Zone name: Asia/Kamchatka
18198 // Eras: 7
18199 //---------------------------------------------------------------------------
18200 
18201 static const complete::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = {
18202  // 10:34:36 - LMT 1922 Nov 10
18203  {
18204  nullptr /*zonePolicy*/,
18205  "LMT" /*format*/,
18206  2538 /*offsetCode (38076/15)*/,
18207  6 /*offsetRemainder (38076%15)*/,
18208  0 /*deltaMinutes*/,
18209  1922 /*untilYear*/,
18210  11 /*untilMonth*/,
18211  10 /*untilDay*/,
18212  0 /*untilTimeCode (0/15)*/,
18213  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18214  },
18215  // 11:00 - +11 1930 Jun 21
18216  {
18217  nullptr /*zonePolicy*/,
18218  "+11" /*format*/,
18219  2640 /*offsetCode (39600/15)*/,
18220  0 /*offsetRemainder (39600%15)*/,
18221  0 /*deltaMinutes*/,
18222  1930 /*untilYear*/,
18223  6 /*untilMonth*/,
18224  21 /*untilDay*/,
18225  0 /*untilTimeCode (0/15)*/,
18226  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18227  },
18228  // 12:00 Russia +12/+13 1991 Mar 31 2:00s
18229  {
18230  &kZonePolicyRussia /*zonePolicy*/,
18231  "+12/+13" /*format*/,
18232  2880 /*offsetCode (43200/15)*/,
18233  0 /*offsetRemainder (43200%15)*/,
18234  0 /*deltaMinutes*/,
18235  1991 /*untilYear*/,
18236  3 /*untilMonth*/,
18237  31 /*untilDay*/,
18238  480 /*untilTimeCode (7200/15)*/,
18239  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18240  },
18241  // 11:00 Russia +11/+12 1992 Jan 19 2:00s
18242  {
18243  &kZonePolicyRussia /*zonePolicy*/,
18244  "+11/+12" /*format*/,
18245  2640 /*offsetCode (39600/15)*/,
18246  0 /*offsetRemainder (39600%15)*/,
18247  0 /*deltaMinutes*/,
18248  1992 /*untilYear*/,
18249  1 /*untilMonth*/,
18250  19 /*untilDay*/,
18251  480 /*untilTimeCode (7200/15)*/,
18252  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18253  },
18254  // 12:00 Russia +12/+13 2010 Mar 28 2:00s
18255  {
18256  &kZonePolicyRussia /*zonePolicy*/,
18257  "+12/+13" /*format*/,
18258  2880 /*offsetCode (43200/15)*/,
18259  0 /*offsetRemainder (43200%15)*/,
18260  0 /*deltaMinutes*/,
18261  2010 /*untilYear*/,
18262  3 /*untilMonth*/,
18263  28 /*untilDay*/,
18264  480 /*untilTimeCode (7200/15)*/,
18265  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18266  },
18267  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
18268  {
18269  &kZonePolicyRussia /*zonePolicy*/,
18270  "+11/+12" /*format*/,
18271  2640 /*offsetCode (39600/15)*/,
18272  0 /*offsetRemainder (39600%15)*/,
18273  0 /*deltaMinutes*/,
18274  2011 /*untilYear*/,
18275  3 /*untilMonth*/,
18276  27 /*untilDay*/,
18277  480 /*untilTimeCode (7200/15)*/,
18278  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18279  },
18280  // 12:00 - +12
18281  {
18282  nullptr /*zonePolicy*/,
18283  "+12" /*format*/,
18284  2880 /*offsetCode (43200/15)*/,
18285  0 /*offsetRemainder (43200%15)*/,
18286  0 /*deltaMinutes*/,
18287  32767 /*untilYear*/,
18288  1 /*untilMonth*/,
18289  1 /*untilDay*/,
18290  0 /*untilTimeCode (0/15)*/,
18291  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18292  },
18293 
18294 };
18295 
18296 static const char kZoneNameAsia_Kamchatka[] ACE_TIME_PROGMEM = "\x05" "Kamchatka";
18297 
18298 const complete::ZoneInfo kZoneAsia_Kamchatka ACE_TIME_PROGMEM = {
18299  kZoneNameAsia_Kamchatka /*name*/,
18300  0x73baf9d7 /*zoneId*/,
18301  &kZoneContext /*zoneContext*/,
18302  7 /*numEras*/,
18303  kZoneEraAsia_Kamchatka /*eras*/,
18304  nullptr /*targetInfo*/,
18305 };
18306 
18307 //---------------------------------------------------------------------------
18308 // Zone name: Asia/Karachi
18309 // Eras: 6
18310 //---------------------------------------------------------------------------
18311 
18312 static const complete::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = {
18313  // 4:28:12 - LMT 1907
18314  {
18315  nullptr /*zonePolicy*/,
18316  "LMT" /*format*/,
18317  1072 /*offsetCode (16092/15)*/,
18318  12 /*offsetRemainder (16092%15)*/,
18319  0 /*deltaMinutes*/,
18320  1907 /*untilYear*/,
18321  1 /*untilMonth*/,
18322  1 /*untilDay*/,
18323  0 /*untilTimeCode (0/15)*/,
18324  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18325  },
18326  // 5:30 - +0530 1942 Sep
18327  {
18328  nullptr /*zonePolicy*/,
18329  "+0530" /*format*/,
18330  1320 /*offsetCode (19800/15)*/,
18331  0 /*offsetRemainder (19800%15)*/,
18332  0 /*deltaMinutes*/,
18333  1942 /*untilYear*/,
18334  9 /*untilMonth*/,
18335  1 /*untilDay*/,
18336  0 /*untilTimeCode (0/15)*/,
18337  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18338  },
18339  // 5:30 1:00 +0630 1945 Oct 15
18340  {
18341  nullptr /*zonePolicy*/,
18342  "+0630" /*format*/,
18343  1320 /*offsetCode (19800/15)*/,
18344  0 /*offsetRemainder (19800%15)*/,
18345  60 /*deltaMinutes*/,
18346  1945 /*untilYear*/,
18347  10 /*untilMonth*/,
18348  15 /*untilDay*/,
18349  0 /*untilTimeCode (0/15)*/,
18350  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18351  },
18352  // 5:30 - +0530 1951 Sep 30
18353  {
18354  nullptr /*zonePolicy*/,
18355  "+0530" /*format*/,
18356  1320 /*offsetCode (19800/15)*/,
18357  0 /*offsetRemainder (19800%15)*/,
18358  0 /*deltaMinutes*/,
18359  1951 /*untilYear*/,
18360  9 /*untilMonth*/,
18361  30 /*untilDay*/,
18362  0 /*untilTimeCode (0/15)*/,
18363  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18364  },
18365  // 5:00 - +05 1971 Mar 26
18366  {
18367  nullptr /*zonePolicy*/,
18368  "+05" /*format*/,
18369  1200 /*offsetCode (18000/15)*/,
18370  0 /*offsetRemainder (18000%15)*/,
18371  0 /*deltaMinutes*/,
18372  1971 /*untilYear*/,
18373  3 /*untilMonth*/,
18374  26 /*untilDay*/,
18375  0 /*untilTimeCode (0/15)*/,
18376  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18377  },
18378  // 5:00 Pakistan PK%sT
18379  {
18380  &kZonePolicyPakistan /*zonePolicy*/,
18381  "PK%T" /*format*/,
18382  1200 /*offsetCode (18000/15)*/,
18383  0 /*offsetRemainder (18000%15)*/,
18384  0 /*deltaMinutes*/,
18385  32767 /*untilYear*/,
18386  1 /*untilMonth*/,
18387  1 /*untilDay*/,
18388  0 /*untilTimeCode (0/15)*/,
18389  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18390  },
18391 
18392 };
18393 
18394 static const char kZoneNameAsia_Karachi[] ACE_TIME_PROGMEM = "\x05" "Karachi";
18395 
18396 const complete::ZoneInfo kZoneAsia_Karachi ACE_TIME_PROGMEM = {
18397  kZoneNameAsia_Karachi /*name*/,
18398  0x527f5245 /*zoneId*/,
18399  &kZoneContext /*zoneContext*/,
18400  6 /*numEras*/,
18401  kZoneEraAsia_Karachi /*eras*/,
18402  nullptr /*targetInfo*/,
18403 };
18404 
18405 //---------------------------------------------------------------------------
18406 // Zone name: Asia/Kathmandu
18407 // Eras: 3
18408 //---------------------------------------------------------------------------
18409 
18410 static const complete::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = {
18411  // 5:41:16 - LMT 1920
18412  {
18413  nullptr /*zonePolicy*/,
18414  "LMT" /*format*/,
18415  1365 /*offsetCode (20476/15)*/,
18416  1 /*offsetRemainder (20476%15)*/,
18417  0 /*deltaMinutes*/,
18418  1920 /*untilYear*/,
18419  1 /*untilMonth*/,
18420  1 /*untilDay*/,
18421  0 /*untilTimeCode (0/15)*/,
18422  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18423  },
18424  // 5:30 - +0530 1986
18425  {
18426  nullptr /*zonePolicy*/,
18427  "+0530" /*format*/,
18428  1320 /*offsetCode (19800/15)*/,
18429  0 /*offsetRemainder (19800%15)*/,
18430  0 /*deltaMinutes*/,
18431  1986 /*untilYear*/,
18432  1 /*untilMonth*/,
18433  1 /*untilDay*/,
18434  0 /*untilTimeCode (0/15)*/,
18435  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18436  },
18437  // 5:45 - +0545
18438  {
18439  nullptr /*zonePolicy*/,
18440  "+0545" /*format*/,
18441  1380 /*offsetCode (20700/15)*/,
18442  0 /*offsetRemainder (20700%15)*/,
18443  0 /*deltaMinutes*/,
18444  32767 /*untilYear*/,
18445  1 /*untilMonth*/,
18446  1 /*untilDay*/,
18447  0 /*untilTimeCode (0/15)*/,
18448  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18449  },
18450 
18451 };
18452 
18453 static const char kZoneNameAsia_Kathmandu[] ACE_TIME_PROGMEM = "\x05" "Kathmandu";
18454 
18455 const complete::ZoneInfo kZoneAsia_Kathmandu ACE_TIME_PROGMEM = {
18456  kZoneNameAsia_Kathmandu /*name*/,
18457  0x9a96ce6f /*zoneId*/,
18458  &kZoneContext /*zoneContext*/,
18459  3 /*numEras*/,
18460  kZoneEraAsia_Kathmandu /*eras*/,
18461  nullptr /*targetInfo*/,
18462 };
18463 
18464 //---------------------------------------------------------------------------
18465 // Zone name: Asia/Khandyga
18466 // Eras: 9
18467 //---------------------------------------------------------------------------
18468 
18469 static const complete::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = {
18470  // 9:02:13 - LMT 1919 Dec 15
18471  {
18472  nullptr /*zonePolicy*/,
18473  "LMT" /*format*/,
18474  2168 /*offsetCode (32533/15)*/,
18475  13 /*offsetRemainder (32533%15)*/,
18476  0 /*deltaMinutes*/,
18477  1919 /*untilYear*/,
18478  12 /*untilMonth*/,
18479  15 /*untilDay*/,
18480  0 /*untilTimeCode (0/15)*/,
18481  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18482  },
18483  // 8:00 - +08 1930 Jun 21
18484  {
18485  nullptr /*zonePolicy*/,
18486  "+08" /*format*/,
18487  1920 /*offsetCode (28800/15)*/,
18488  0 /*offsetRemainder (28800%15)*/,
18489  0 /*deltaMinutes*/,
18490  1930 /*untilYear*/,
18491  6 /*untilMonth*/,
18492  21 /*untilDay*/,
18493  0 /*untilTimeCode (0/15)*/,
18494  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18495  },
18496  // 9:00 Russia +09/+10 1991 Mar 31 2:00s
18497  {
18498  &kZonePolicyRussia /*zonePolicy*/,
18499  "+09/+10" /*format*/,
18500  2160 /*offsetCode (32400/15)*/,
18501  0 /*offsetRemainder (32400%15)*/,
18502  0 /*deltaMinutes*/,
18503  1991 /*untilYear*/,
18504  3 /*untilMonth*/,
18505  31 /*untilDay*/,
18506  480 /*untilTimeCode (7200/15)*/,
18507  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18508  },
18509  // 8:00 Russia +08/+09 1992 Jan 19 2:00s
18510  {
18511  &kZonePolicyRussia /*zonePolicy*/,
18512  "+08/+09" /*format*/,
18513  1920 /*offsetCode (28800/15)*/,
18514  0 /*offsetRemainder (28800%15)*/,
18515  0 /*deltaMinutes*/,
18516  1992 /*untilYear*/,
18517  1 /*untilMonth*/,
18518  19 /*untilDay*/,
18519  480 /*untilTimeCode (7200/15)*/,
18520  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18521  },
18522  // 9:00 Russia +09/+10 2004
18523  {
18524  &kZonePolicyRussia /*zonePolicy*/,
18525  "+09/+10" /*format*/,
18526  2160 /*offsetCode (32400/15)*/,
18527  0 /*offsetRemainder (32400%15)*/,
18528  0 /*deltaMinutes*/,
18529  2004 /*untilYear*/,
18530  1 /*untilMonth*/,
18531  1 /*untilDay*/,
18532  0 /*untilTimeCode (0/15)*/,
18533  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18534  },
18535  // 10:00 Russia +10/+11 2011 Mar 27 2:00s
18536  {
18537  &kZonePolicyRussia /*zonePolicy*/,
18538  "+10/+11" /*format*/,
18539  2400 /*offsetCode (36000/15)*/,
18540  0 /*offsetRemainder (36000%15)*/,
18541  0 /*deltaMinutes*/,
18542  2011 /*untilYear*/,
18543  3 /*untilMonth*/,
18544  27 /*untilDay*/,
18545  480 /*untilTimeCode (7200/15)*/,
18546  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18547  },
18548  // 11:00 - +11 2011 Sep 13 0:00s
18549  {
18550  nullptr /*zonePolicy*/,
18551  "+11" /*format*/,
18552  2640 /*offsetCode (39600/15)*/,
18553  0 /*offsetRemainder (39600%15)*/,
18554  0 /*deltaMinutes*/,
18555  2011 /*untilYear*/,
18556  9 /*untilMonth*/,
18557  13 /*untilDay*/,
18558  0 /*untilTimeCode (0/15)*/,
18559  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18560  },
18561  // 10:00 - +10 2014 Oct 26 2:00s
18562  {
18563  nullptr /*zonePolicy*/,
18564  "+10" /*format*/,
18565  2400 /*offsetCode (36000/15)*/,
18566  0 /*offsetRemainder (36000%15)*/,
18567  0 /*deltaMinutes*/,
18568  2014 /*untilYear*/,
18569  10 /*untilMonth*/,
18570  26 /*untilDay*/,
18571  480 /*untilTimeCode (7200/15)*/,
18572  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18573  },
18574  // 9:00 - +09
18575  {
18576  nullptr /*zonePolicy*/,
18577  "+09" /*format*/,
18578  2160 /*offsetCode (32400/15)*/,
18579  0 /*offsetRemainder (32400%15)*/,
18580  0 /*deltaMinutes*/,
18581  32767 /*untilYear*/,
18582  1 /*untilMonth*/,
18583  1 /*untilDay*/,
18584  0 /*untilTimeCode (0/15)*/,
18585  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18586  },
18587 
18588 };
18589 
18590 static const char kZoneNameAsia_Khandyga[] ACE_TIME_PROGMEM = "\x05" "Khandyga";
18591 
18592 const complete::ZoneInfo kZoneAsia_Khandyga ACE_TIME_PROGMEM = {
18593  kZoneNameAsia_Khandyga /*name*/,
18594  0x9685a4d9 /*zoneId*/,
18595  &kZoneContext /*zoneContext*/,
18596  9 /*numEras*/,
18597  kZoneEraAsia_Khandyga /*eras*/,
18598  nullptr /*targetInfo*/,
18599 };
18600 
18601 //---------------------------------------------------------------------------
18602 // Zone name: Asia/Kolkata
18603 // Eras: 8
18604 //---------------------------------------------------------------------------
18605 
18606 static const complete::ZoneEra kZoneEraAsia_Kolkata[] ACE_TIME_PROGMEM = {
18607  // 5:53:28 - LMT 1854 Jun 28
18608  {
18609  nullptr /*zonePolicy*/,
18610  "LMT" /*format*/,
18611  1413 /*offsetCode (21208/15)*/,
18612  13 /*offsetRemainder (21208%15)*/,
18613  0 /*deltaMinutes*/,
18614  1854 /*untilYear*/,
18615  6 /*untilMonth*/,
18616  28 /*untilDay*/,
18617  0 /*untilTimeCode (0/15)*/,
18618  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18619  },
18620  // 5:53:20 - HMT 1870
18621  {
18622  nullptr /*zonePolicy*/,
18623  "HMT" /*format*/,
18624  1413 /*offsetCode (21200/15)*/,
18625  5 /*offsetRemainder (21200%15)*/,
18626  0 /*deltaMinutes*/,
18627  1870 /*untilYear*/,
18628  1 /*untilMonth*/,
18629  1 /*untilDay*/,
18630  0 /*untilTimeCode (0/15)*/,
18631  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18632  },
18633  // 5:21:10 - MMT 1906 Jan 1
18634  {
18635  nullptr /*zonePolicy*/,
18636  "MMT" /*format*/,
18637  1284 /*offsetCode (19270/15)*/,
18638  10 /*offsetRemainder (19270%15)*/,
18639  0 /*deltaMinutes*/,
18640  1906 /*untilYear*/,
18641  1 /*untilMonth*/,
18642  1 /*untilDay*/,
18643  0 /*untilTimeCode (0/15)*/,
18644  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18645  },
18646  // 5:30 - IST 1941 Oct
18647  {
18648  nullptr /*zonePolicy*/,
18649  "IST" /*format*/,
18650  1320 /*offsetCode (19800/15)*/,
18651  0 /*offsetRemainder (19800%15)*/,
18652  0 /*deltaMinutes*/,
18653  1941 /*untilYear*/,
18654  10 /*untilMonth*/,
18655  1 /*untilDay*/,
18656  0 /*untilTimeCode (0/15)*/,
18657  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18658  },
18659  // 5:30 1:00 +0630 1942 May 15
18660  {
18661  nullptr /*zonePolicy*/,
18662  "+0630" /*format*/,
18663  1320 /*offsetCode (19800/15)*/,
18664  0 /*offsetRemainder (19800%15)*/,
18665  60 /*deltaMinutes*/,
18666  1942 /*untilYear*/,
18667  5 /*untilMonth*/,
18668  15 /*untilDay*/,
18669  0 /*untilTimeCode (0/15)*/,
18670  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18671  },
18672  // 5:30 - IST 1942 Sep
18673  {
18674  nullptr /*zonePolicy*/,
18675  "IST" /*format*/,
18676  1320 /*offsetCode (19800/15)*/,
18677  0 /*offsetRemainder (19800%15)*/,
18678  0 /*deltaMinutes*/,
18679  1942 /*untilYear*/,
18680  9 /*untilMonth*/,
18681  1 /*untilDay*/,
18682  0 /*untilTimeCode (0/15)*/,
18683  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18684  },
18685  // 5:30 1:00 +0630 1945 Oct 15
18686  {
18687  nullptr /*zonePolicy*/,
18688  "+0630" /*format*/,
18689  1320 /*offsetCode (19800/15)*/,
18690  0 /*offsetRemainder (19800%15)*/,
18691  60 /*deltaMinutes*/,
18692  1945 /*untilYear*/,
18693  10 /*untilMonth*/,
18694  15 /*untilDay*/,
18695  0 /*untilTimeCode (0/15)*/,
18696  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18697  },
18698  // 5:30 - IST
18699  {
18700  nullptr /*zonePolicy*/,
18701  "IST" /*format*/,
18702  1320 /*offsetCode (19800/15)*/,
18703  0 /*offsetRemainder (19800%15)*/,
18704  0 /*deltaMinutes*/,
18705  32767 /*untilYear*/,
18706  1 /*untilMonth*/,
18707  1 /*untilDay*/,
18708  0 /*untilTimeCode (0/15)*/,
18709  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18710  },
18711 
18712 };
18713 
18714 static const char kZoneNameAsia_Kolkata[] ACE_TIME_PROGMEM = "\x05" "Kolkata";
18715 
18716 const complete::ZoneInfo kZoneAsia_Kolkata ACE_TIME_PROGMEM = {
18717  kZoneNameAsia_Kolkata /*name*/,
18718  0x72c06cd9 /*zoneId*/,
18719  &kZoneContext /*zoneContext*/,
18720  8 /*numEras*/,
18721  kZoneEraAsia_Kolkata /*eras*/,
18722  nullptr /*targetInfo*/,
18723 };
18724 
18725 //---------------------------------------------------------------------------
18726 // Zone name: Asia/Krasnoyarsk
18727 // Eras: 7
18728 //---------------------------------------------------------------------------
18729 
18730 static const complete::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = {
18731  // 6:11:26 - LMT 1920 Jan 6
18732  {
18733  nullptr /*zonePolicy*/,
18734  "LMT" /*format*/,
18735  1485 /*offsetCode (22286/15)*/,
18736  11 /*offsetRemainder (22286%15)*/,
18737  0 /*deltaMinutes*/,
18738  1920 /*untilYear*/,
18739  1 /*untilMonth*/,
18740  6 /*untilDay*/,
18741  0 /*untilTimeCode (0/15)*/,
18742  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18743  },
18744  // 6:00 - +06 1930 Jun 21
18745  {
18746  nullptr /*zonePolicy*/,
18747  "+06" /*format*/,
18748  1440 /*offsetCode (21600/15)*/,
18749  0 /*offsetRemainder (21600%15)*/,
18750  0 /*deltaMinutes*/,
18751  1930 /*untilYear*/,
18752  6 /*untilMonth*/,
18753  21 /*untilDay*/,
18754  0 /*untilTimeCode (0/15)*/,
18755  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18756  },
18757  // 7:00 Russia +07/+08 1991 Mar 31 2:00s
18758  {
18759  &kZonePolicyRussia /*zonePolicy*/,
18760  "+07/+08" /*format*/,
18761  1680 /*offsetCode (25200/15)*/,
18762  0 /*offsetRemainder (25200%15)*/,
18763  0 /*deltaMinutes*/,
18764  1991 /*untilYear*/,
18765  3 /*untilMonth*/,
18766  31 /*untilDay*/,
18767  480 /*untilTimeCode (7200/15)*/,
18768  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18769  },
18770  // 6:00 Russia +06/+07 1992 Jan 19 2:00s
18771  {
18772  &kZonePolicyRussia /*zonePolicy*/,
18773  "+06/+07" /*format*/,
18774  1440 /*offsetCode (21600/15)*/,
18775  0 /*offsetRemainder (21600%15)*/,
18776  0 /*deltaMinutes*/,
18777  1992 /*untilYear*/,
18778  1 /*untilMonth*/,
18779  19 /*untilDay*/,
18780  480 /*untilTimeCode (7200/15)*/,
18781  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18782  },
18783  // 7:00 Russia +07/+08 2011 Mar 27 2:00s
18784  {
18785  &kZonePolicyRussia /*zonePolicy*/,
18786  "+07/+08" /*format*/,
18787  1680 /*offsetCode (25200/15)*/,
18788  0 /*offsetRemainder (25200%15)*/,
18789  0 /*deltaMinutes*/,
18790  2011 /*untilYear*/,
18791  3 /*untilMonth*/,
18792  27 /*untilDay*/,
18793  480 /*untilTimeCode (7200/15)*/,
18794  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18795  },
18796  // 8:00 - +08 2014 Oct 26 2:00s
18797  {
18798  nullptr /*zonePolicy*/,
18799  "+08" /*format*/,
18800  1920 /*offsetCode (28800/15)*/,
18801  0 /*offsetRemainder (28800%15)*/,
18802  0 /*deltaMinutes*/,
18803  2014 /*untilYear*/,
18804  10 /*untilMonth*/,
18805  26 /*untilDay*/,
18806  480 /*untilTimeCode (7200/15)*/,
18807  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18808  },
18809  // 7:00 - +07
18810  {
18811  nullptr /*zonePolicy*/,
18812  "+07" /*format*/,
18813  1680 /*offsetCode (25200/15)*/,
18814  0 /*offsetRemainder (25200%15)*/,
18815  0 /*deltaMinutes*/,
18816  32767 /*untilYear*/,
18817  1 /*untilMonth*/,
18818  1 /*untilDay*/,
18819  0 /*untilTimeCode (0/15)*/,
18820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18821  },
18822 
18823 };
18824 
18825 static const char kZoneNameAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = "\x05" "Krasnoyarsk";
18826 
18827 const complete::ZoneInfo kZoneAsia_Krasnoyarsk ACE_TIME_PROGMEM = {
18828  kZoneNameAsia_Krasnoyarsk /*name*/,
18829  0xd0376c6a /*zoneId*/,
18830  &kZoneContext /*zoneContext*/,
18831  7 /*numEras*/,
18832  kZoneEraAsia_Krasnoyarsk /*eras*/,
18833  nullptr /*targetInfo*/,
18834 };
18835 
18836 //---------------------------------------------------------------------------
18837 // Zone name: Asia/Kuching
18838 // Eras: 5
18839 //---------------------------------------------------------------------------
18840 
18841 static const complete::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = {
18842  // 7:21:20 - LMT 1926 Mar
18843  {
18844  nullptr /*zonePolicy*/,
18845  "LMT" /*format*/,
18846  1765 /*offsetCode (26480/15)*/,
18847  5 /*offsetRemainder (26480%15)*/,
18848  0 /*deltaMinutes*/,
18849  1926 /*untilYear*/,
18850  3 /*untilMonth*/,
18851  1 /*untilDay*/,
18852  0 /*untilTimeCode (0/15)*/,
18853  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18854  },
18855  // 7:30 - +0730 1933
18856  {
18857  nullptr /*zonePolicy*/,
18858  "+0730" /*format*/,
18859  1800 /*offsetCode (27000/15)*/,
18860  0 /*offsetRemainder (27000%15)*/,
18861  0 /*deltaMinutes*/,
18862  1933 /*untilYear*/,
18863  1 /*untilMonth*/,
18864  1 /*untilDay*/,
18865  0 /*untilTimeCode (0/15)*/,
18866  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18867  },
18868  // 8:00 NBorneo +08/+0820 1942 Feb 16
18869  {
18870  &kZonePolicyNBorneo /*zonePolicy*/,
18871  "+08/+0820" /*format*/,
18872  1920 /*offsetCode (28800/15)*/,
18873  0 /*offsetRemainder (28800%15)*/,
18874  0 /*deltaMinutes*/,
18875  1942 /*untilYear*/,
18876  2 /*untilMonth*/,
18877  16 /*untilDay*/,
18878  0 /*untilTimeCode (0/15)*/,
18879  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18880  },
18881  // 9:00 - +09 1945 Sep 12
18882  {
18883  nullptr /*zonePolicy*/,
18884  "+09" /*format*/,
18885  2160 /*offsetCode (32400/15)*/,
18886  0 /*offsetRemainder (32400%15)*/,
18887  0 /*deltaMinutes*/,
18888  1945 /*untilYear*/,
18889  9 /*untilMonth*/,
18890  12 /*untilDay*/,
18891  0 /*untilTimeCode (0/15)*/,
18892  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18893  },
18894  // 8:00 - +08
18895  {
18896  nullptr /*zonePolicy*/,
18897  "+08" /*format*/,
18898  1920 /*offsetCode (28800/15)*/,
18899  0 /*offsetRemainder (28800%15)*/,
18900  0 /*deltaMinutes*/,
18901  32767 /*untilYear*/,
18902  1 /*untilMonth*/,
18903  1 /*untilDay*/,
18904  0 /*untilTimeCode (0/15)*/,
18905  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18906  },
18907 
18908 };
18909 
18910 static const char kZoneNameAsia_Kuching[] ACE_TIME_PROGMEM = "\x05" "Kuching";
18911 
18912 const complete::ZoneInfo kZoneAsia_Kuching ACE_TIME_PROGMEM = {
18913  kZoneNameAsia_Kuching /*name*/,
18914  0x801b003b /*zoneId*/,
18915  &kZoneContext /*zoneContext*/,
18916  5 /*numEras*/,
18917  kZoneEraAsia_Kuching /*eras*/,
18918  nullptr /*targetInfo*/,
18919 };
18920 
18921 //---------------------------------------------------------------------------
18922 // Zone name: Asia/Macau
18923 // Eras: 4
18924 //---------------------------------------------------------------------------
18925 
18926 static const complete::ZoneEra kZoneEraAsia_Macau[] ACE_TIME_PROGMEM = {
18927  // 7:34:10 - LMT 1904 Oct 30
18928  {
18929  nullptr /*zonePolicy*/,
18930  "LMT" /*format*/,
18931  1816 /*offsetCode (27250/15)*/,
18932  10 /*offsetRemainder (27250%15)*/,
18933  0 /*deltaMinutes*/,
18934  1904 /*untilYear*/,
18935  10 /*untilMonth*/,
18936  30 /*untilDay*/,
18937  0 /*untilTimeCode (0/15)*/,
18938  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18939  },
18940  // 8:00 - CST 1941 Dec 21 23:00
18941  {
18942  nullptr /*zonePolicy*/,
18943  "CST" /*format*/,
18944  1920 /*offsetCode (28800/15)*/,
18945  0 /*offsetRemainder (28800%15)*/,
18946  0 /*deltaMinutes*/,
18947  1941 /*untilYear*/,
18948  12 /*untilMonth*/,
18949  21 /*untilDay*/,
18950  5520 /*untilTimeCode (82800/15)*/,
18951  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18952  },
18953  // 9:00 Macau +09/+10 1945 Sep 30 24:00
18954  {
18955  &kZonePolicyMacau /*zonePolicy*/,
18956  "+09/+10" /*format*/,
18957  2160 /*offsetCode (32400/15)*/,
18958  0 /*offsetRemainder (32400%15)*/,
18959  0 /*deltaMinutes*/,
18960  1945 /*untilYear*/,
18961  9 /*untilMonth*/,
18962  30 /*untilDay*/,
18963  5760 /*untilTimeCode (86400/15)*/,
18964  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18965  },
18966  // 8:00 Macau C%sT
18967  {
18968  &kZonePolicyMacau /*zonePolicy*/,
18969  "C%T" /*format*/,
18970  1920 /*offsetCode (28800/15)*/,
18971  0 /*offsetRemainder (28800%15)*/,
18972  0 /*deltaMinutes*/,
18973  32767 /*untilYear*/,
18974  1 /*untilMonth*/,
18975  1 /*untilDay*/,
18976  0 /*untilTimeCode (0/15)*/,
18977  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18978  },
18979 
18980 };
18981 
18982 static const char kZoneNameAsia_Macau[] ACE_TIME_PROGMEM = "\x05" "Macau";
18983 
18984 const complete::ZoneInfo kZoneAsia_Macau ACE_TIME_PROGMEM = {
18985  kZoneNameAsia_Macau /*name*/,
18986  0x155f88b9 /*zoneId*/,
18987  &kZoneContext /*zoneContext*/,
18988  4 /*numEras*/,
18989  kZoneEraAsia_Macau /*eras*/,
18990  nullptr /*targetInfo*/,
18991 };
18992 
18993 //---------------------------------------------------------------------------
18994 // Zone name: Asia/Magadan
18995 // Eras: 8
18996 //---------------------------------------------------------------------------
18997 
18998 static const complete::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = {
18999  // 10:03:12 - LMT 1924 May 2
19000  {
19001  nullptr /*zonePolicy*/,
19002  "LMT" /*format*/,
19003  2412 /*offsetCode (36192/15)*/,
19004  12 /*offsetRemainder (36192%15)*/,
19005  0 /*deltaMinutes*/,
19006  1924 /*untilYear*/,
19007  5 /*untilMonth*/,
19008  2 /*untilDay*/,
19009  0 /*untilTimeCode (0/15)*/,
19010  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19011  },
19012  // 10:00 - +10 1930 Jun 21
19013  {
19014  nullptr /*zonePolicy*/,
19015  "+10" /*format*/,
19016  2400 /*offsetCode (36000/15)*/,
19017  0 /*offsetRemainder (36000%15)*/,
19018  0 /*deltaMinutes*/,
19019  1930 /*untilYear*/,
19020  6 /*untilMonth*/,
19021  21 /*untilDay*/,
19022  0 /*untilTimeCode (0/15)*/,
19023  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19024  },
19025  // 11:00 Russia +11/+12 1991 Mar 31 2:00s
19026  {
19027  &kZonePolicyRussia /*zonePolicy*/,
19028  "+11/+12" /*format*/,
19029  2640 /*offsetCode (39600/15)*/,
19030  0 /*offsetRemainder (39600%15)*/,
19031  0 /*deltaMinutes*/,
19032  1991 /*untilYear*/,
19033  3 /*untilMonth*/,
19034  31 /*untilDay*/,
19035  480 /*untilTimeCode (7200/15)*/,
19036  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19037  },
19038  // 10:00 Russia +10/+11 1992 Jan 19 2:00s
19039  {
19040  &kZonePolicyRussia /*zonePolicy*/,
19041  "+10/+11" /*format*/,
19042  2400 /*offsetCode (36000/15)*/,
19043  0 /*offsetRemainder (36000%15)*/,
19044  0 /*deltaMinutes*/,
19045  1992 /*untilYear*/,
19046  1 /*untilMonth*/,
19047  19 /*untilDay*/,
19048  480 /*untilTimeCode (7200/15)*/,
19049  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19050  },
19051  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
19052  {
19053  &kZonePolicyRussia /*zonePolicy*/,
19054  "+11/+12" /*format*/,
19055  2640 /*offsetCode (39600/15)*/,
19056  0 /*offsetRemainder (39600%15)*/,
19057  0 /*deltaMinutes*/,
19058  2011 /*untilYear*/,
19059  3 /*untilMonth*/,
19060  27 /*untilDay*/,
19061  480 /*untilTimeCode (7200/15)*/,
19062  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19063  },
19064  // 12:00 - +12 2014 Oct 26 2:00s
19065  {
19066  nullptr /*zonePolicy*/,
19067  "+12" /*format*/,
19068  2880 /*offsetCode (43200/15)*/,
19069  0 /*offsetRemainder (43200%15)*/,
19070  0 /*deltaMinutes*/,
19071  2014 /*untilYear*/,
19072  10 /*untilMonth*/,
19073  26 /*untilDay*/,
19074  480 /*untilTimeCode (7200/15)*/,
19075  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19076  },
19077  // 10:00 - +10 2016 Apr 24 2:00s
19078  {
19079  nullptr /*zonePolicy*/,
19080  "+10" /*format*/,
19081  2400 /*offsetCode (36000/15)*/,
19082  0 /*offsetRemainder (36000%15)*/,
19083  0 /*deltaMinutes*/,
19084  2016 /*untilYear*/,
19085  4 /*untilMonth*/,
19086  24 /*untilDay*/,
19087  480 /*untilTimeCode (7200/15)*/,
19088  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19089  },
19090  // 11:00 - +11
19091  {
19092  nullptr /*zonePolicy*/,
19093  "+11" /*format*/,
19094  2640 /*offsetCode (39600/15)*/,
19095  0 /*offsetRemainder (39600%15)*/,
19096  0 /*deltaMinutes*/,
19097  32767 /*untilYear*/,
19098  1 /*untilMonth*/,
19099  1 /*untilDay*/,
19100  0 /*untilTimeCode (0/15)*/,
19101  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19102  },
19103 
19104 };
19105 
19106 static const char kZoneNameAsia_Magadan[] ACE_TIME_PROGMEM = "\x05" "Magadan";
19107 
19108 const complete::ZoneInfo kZoneAsia_Magadan ACE_TIME_PROGMEM = {
19109  kZoneNameAsia_Magadan /*name*/,
19110  0xebacc19b /*zoneId*/,
19111  &kZoneContext /*zoneContext*/,
19112  8 /*numEras*/,
19113  kZoneEraAsia_Magadan /*eras*/,
19114  nullptr /*targetInfo*/,
19115 };
19116 
19117 //---------------------------------------------------------------------------
19118 // Zone name: Asia/Makassar
19119 // Eras: 5
19120 //---------------------------------------------------------------------------
19121 
19122 static const complete::ZoneEra kZoneEraAsia_Makassar[] ACE_TIME_PROGMEM = {
19123  // 7:57:36 - LMT 1920
19124  {
19125  nullptr /*zonePolicy*/,
19126  "LMT" /*format*/,
19127  1910 /*offsetCode (28656/15)*/,
19128  6 /*offsetRemainder (28656%15)*/,
19129  0 /*deltaMinutes*/,
19130  1920 /*untilYear*/,
19131  1 /*untilMonth*/,
19132  1 /*untilDay*/,
19133  0 /*untilTimeCode (0/15)*/,
19134  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19135  },
19136  // 7:57:36 - MMT 1932 Nov
19137  {
19138  nullptr /*zonePolicy*/,
19139  "MMT" /*format*/,
19140  1910 /*offsetCode (28656/15)*/,
19141  6 /*offsetRemainder (28656%15)*/,
19142  0 /*deltaMinutes*/,
19143  1932 /*untilYear*/,
19144  11 /*untilMonth*/,
19145  1 /*untilDay*/,
19146  0 /*untilTimeCode (0/15)*/,
19147  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19148  },
19149  // 8:00 - +08 1942 Feb 9
19150  {
19151  nullptr /*zonePolicy*/,
19152  "+08" /*format*/,
19153  1920 /*offsetCode (28800/15)*/,
19154  0 /*offsetRemainder (28800%15)*/,
19155  0 /*deltaMinutes*/,
19156  1942 /*untilYear*/,
19157  2 /*untilMonth*/,
19158  9 /*untilDay*/,
19159  0 /*untilTimeCode (0/15)*/,
19160  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19161  },
19162  // 9:00 - +09 1945 Sep 23
19163  {
19164  nullptr /*zonePolicy*/,
19165  "+09" /*format*/,
19166  2160 /*offsetCode (32400/15)*/,
19167  0 /*offsetRemainder (32400%15)*/,
19168  0 /*deltaMinutes*/,
19169  1945 /*untilYear*/,
19170  9 /*untilMonth*/,
19171  23 /*untilDay*/,
19172  0 /*untilTimeCode (0/15)*/,
19173  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19174  },
19175  // 8:00 - WITA
19176  {
19177  nullptr /*zonePolicy*/,
19178  "WITA" /*format*/,
19179  1920 /*offsetCode (28800/15)*/,
19180  0 /*offsetRemainder (28800%15)*/,
19181  0 /*deltaMinutes*/,
19182  32767 /*untilYear*/,
19183  1 /*untilMonth*/,
19184  1 /*untilDay*/,
19185  0 /*untilTimeCode (0/15)*/,
19186  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19187  },
19188 
19189 };
19190 
19191 static const char kZoneNameAsia_Makassar[] ACE_TIME_PROGMEM = "\x05" "Makassar";
19192 
19193 const complete::ZoneInfo kZoneAsia_Makassar ACE_TIME_PROGMEM = {
19194  kZoneNameAsia_Makassar /*name*/,
19195  0x6aa21c85 /*zoneId*/,
19196  &kZoneContext /*zoneContext*/,
19197  5 /*numEras*/,
19198  kZoneEraAsia_Makassar /*eras*/,
19199  nullptr /*targetInfo*/,
19200 };
19201 
19202 //---------------------------------------------------------------------------
19203 // Zone name: Asia/Manila
19204 // Eras: 5
19205 //---------------------------------------------------------------------------
19206 
19207 static const complete::ZoneEra kZoneEraAsia_Manila[] ACE_TIME_PROGMEM = {
19208  // -15:56:00 - LMT 1844 Dec 31
19209  {
19210  nullptr /*zonePolicy*/,
19211  "LMT" /*format*/,
19212  -3824 /*offsetCode (-57360/15)*/,
19213  0 /*offsetRemainder (-57360%15)*/,
19214  0 /*deltaMinutes*/,
19215  1844 /*untilYear*/,
19216  12 /*untilMonth*/,
19217  31 /*untilDay*/,
19218  0 /*untilTimeCode (0/15)*/,
19219  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19220  },
19221  // 8:04:00 - LMT 1899 May 11
19222  {
19223  nullptr /*zonePolicy*/,
19224  "LMT" /*format*/,
19225  1936 /*offsetCode (29040/15)*/,
19226  0 /*offsetRemainder (29040%15)*/,
19227  0 /*deltaMinutes*/,
19228  1899 /*untilYear*/,
19229  5 /*untilMonth*/,
19230  11 /*untilDay*/,
19231  0 /*untilTimeCode (0/15)*/,
19232  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19233  },
19234  // 8:00 Phil P%sT 1942 May
19235  {
19236  &kZonePolicyPhil /*zonePolicy*/,
19237  "P%T" /*format*/,
19238  1920 /*offsetCode (28800/15)*/,
19239  0 /*offsetRemainder (28800%15)*/,
19240  0 /*deltaMinutes*/,
19241  1942 /*untilYear*/,
19242  5 /*untilMonth*/,
19243  1 /*untilDay*/,
19244  0 /*untilTimeCode (0/15)*/,
19245  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19246  },
19247  // 9:00 - JST 1944 Nov
19248  {
19249  nullptr /*zonePolicy*/,
19250  "JST" /*format*/,
19251  2160 /*offsetCode (32400/15)*/,
19252  0 /*offsetRemainder (32400%15)*/,
19253  0 /*deltaMinutes*/,
19254  1944 /*untilYear*/,
19255  11 /*untilMonth*/,
19256  1 /*untilDay*/,
19257  0 /*untilTimeCode (0/15)*/,
19258  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19259  },
19260  // 8:00 Phil P%sT
19261  {
19262  &kZonePolicyPhil /*zonePolicy*/,
19263  "P%T" /*format*/,
19264  1920 /*offsetCode (28800/15)*/,
19265  0 /*offsetRemainder (28800%15)*/,
19266  0 /*deltaMinutes*/,
19267  32767 /*untilYear*/,
19268  1 /*untilMonth*/,
19269  1 /*untilDay*/,
19270  0 /*untilTimeCode (0/15)*/,
19271  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19272  },
19273 
19274 };
19275 
19276 static const char kZoneNameAsia_Manila[] ACE_TIME_PROGMEM = "\x05" "Manila";
19277 
19278 const complete::ZoneInfo kZoneAsia_Manila ACE_TIME_PROGMEM = {
19279  kZoneNameAsia_Manila /*name*/,
19280  0xc156c944 /*zoneId*/,
19281  &kZoneContext /*zoneContext*/,
19282  5 /*numEras*/,
19283  kZoneEraAsia_Manila /*eras*/,
19284  nullptr /*targetInfo*/,
19285 };
19286 
19287 //---------------------------------------------------------------------------
19288 // Zone name: Asia/Nicosia
19289 // Eras: 3
19290 //---------------------------------------------------------------------------
19291 
19292 static const complete::ZoneEra kZoneEraAsia_Nicosia[] ACE_TIME_PROGMEM = {
19293  // 2:13:28 - LMT 1921 Nov 14
19294  {
19295  nullptr /*zonePolicy*/,
19296  "LMT" /*format*/,
19297  533 /*offsetCode (8008/15)*/,
19298  13 /*offsetRemainder (8008%15)*/,
19299  0 /*deltaMinutes*/,
19300  1921 /*untilYear*/,
19301  11 /*untilMonth*/,
19302  14 /*untilDay*/,
19303  0 /*untilTimeCode (0/15)*/,
19304  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19305  },
19306  // 2:00 Cyprus EE%sT 1998 Sep
19307  {
19308  &kZonePolicyCyprus /*zonePolicy*/,
19309  "EE%T" /*format*/,
19310  480 /*offsetCode (7200/15)*/,
19311  0 /*offsetRemainder (7200%15)*/,
19312  0 /*deltaMinutes*/,
19313  1998 /*untilYear*/,
19314  9 /*untilMonth*/,
19315  1 /*untilDay*/,
19316  0 /*untilTimeCode (0/15)*/,
19317  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19318  },
19319  // 2:00 EUAsia EE%sT
19320  {
19321  &kZonePolicyEUAsia /*zonePolicy*/,
19322  "EE%T" /*format*/,
19323  480 /*offsetCode (7200/15)*/,
19324  0 /*offsetRemainder (7200%15)*/,
19325  0 /*deltaMinutes*/,
19326  32767 /*untilYear*/,
19327  1 /*untilMonth*/,
19328  1 /*untilDay*/,
19329  0 /*untilTimeCode (0/15)*/,
19330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19331  },
19332 
19333 };
19334 
19335 static const char kZoneNameAsia_Nicosia[] ACE_TIME_PROGMEM = "\x05" "Nicosia";
19336 
19337 const complete::ZoneInfo kZoneAsia_Nicosia ACE_TIME_PROGMEM = {
19338  kZoneNameAsia_Nicosia /*name*/,
19339  0x4b0fcf78 /*zoneId*/,
19340  &kZoneContext /*zoneContext*/,
19341  3 /*numEras*/,
19342  kZoneEraAsia_Nicosia /*eras*/,
19343  nullptr /*targetInfo*/,
19344 };
19345 
19346 //---------------------------------------------------------------------------
19347 // Zone name: Asia/Novokuznetsk
19348 // Eras: 7
19349 //---------------------------------------------------------------------------
19350 
19351 static const complete::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = {
19352  // 5:48:48 - LMT 1924 May 1
19353  {
19354  nullptr /*zonePolicy*/,
19355  "LMT" /*format*/,
19356  1395 /*offsetCode (20928/15)*/,
19357  3 /*offsetRemainder (20928%15)*/,
19358  0 /*deltaMinutes*/,
19359  1924 /*untilYear*/,
19360  5 /*untilMonth*/,
19361  1 /*untilDay*/,
19362  0 /*untilTimeCode (0/15)*/,
19363  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19364  },
19365  // 6:00 - +06 1930 Jun 21
19366  {
19367  nullptr /*zonePolicy*/,
19368  "+06" /*format*/,
19369  1440 /*offsetCode (21600/15)*/,
19370  0 /*offsetRemainder (21600%15)*/,
19371  0 /*deltaMinutes*/,
19372  1930 /*untilYear*/,
19373  6 /*untilMonth*/,
19374  21 /*untilDay*/,
19375  0 /*untilTimeCode (0/15)*/,
19376  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19377  },
19378  // 7:00 Russia +07/+08 1991 Mar 31 2:00s
19379  {
19380  &kZonePolicyRussia /*zonePolicy*/,
19381  "+07/+08" /*format*/,
19382  1680 /*offsetCode (25200/15)*/,
19383  0 /*offsetRemainder (25200%15)*/,
19384  0 /*deltaMinutes*/,
19385  1991 /*untilYear*/,
19386  3 /*untilMonth*/,
19387  31 /*untilDay*/,
19388  480 /*untilTimeCode (7200/15)*/,
19389  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19390  },
19391  // 6:00 Russia +06/+07 1992 Jan 19 2:00s
19392  {
19393  &kZonePolicyRussia /*zonePolicy*/,
19394  "+06/+07" /*format*/,
19395  1440 /*offsetCode (21600/15)*/,
19396  0 /*offsetRemainder (21600%15)*/,
19397  0 /*deltaMinutes*/,
19398  1992 /*untilYear*/,
19399  1 /*untilMonth*/,
19400  19 /*untilDay*/,
19401  480 /*untilTimeCode (7200/15)*/,
19402  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19403  },
19404  // 7:00 Russia +07/+08 2010 Mar 28 2:00s
19405  {
19406  &kZonePolicyRussia /*zonePolicy*/,
19407  "+07/+08" /*format*/,
19408  1680 /*offsetCode (25200/15)*/,
19409  0 /*offsetRemainder (25200%15)*/,
19410  0 /*deltaMinutes*/,
19411  2010 /*untilYear*/,
19412  3 /*untilMonth*/,
19413  28 /*untilDay*/,
19414  480 /*untilTimeCode (7200/15)*/,
19415  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19416  },
19417  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
19418  {
19419  &kZonePolicyRussia /*zonePolicy*/,
19420  "+06/+07" /*format*/,
19421  1440 /*offsetCode (21600/15)*/,
19422  0 /*offsetRemainder (21600%15)*/,
19423  0 /*deltaMinutes*/,
19424  2011 /*untilYear*/,
19425  3 /*untilMonth*/,
19426  27 /*untilDay*/,
19427  480 /*untilTimeCode (7200/15)*/,
19428  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19429  },
19430  // 7:00 - +07
19431  {
19432  nullptr /*zonePolicy*/,
19433  "+07" /*format*/,
19434  1680 /*offsetCode (25200/15)*/,
19435  0 /*offsetRemainder (25200%15)*/,
19436  0 /*deltaMinutes*/,
19437  32767 /*untilYear*/,
19438  1 /*untilMonth*/,
19439  1 /*untilDay*/,
19440  0 /*untilTimeCode (0/15)*/,
19441  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19442  },
19443 
19444 };
19445 
19446 static const char kZoneNameAsia_Novokuznetsk[] ACE_TIME_PROGMEM = "\x05" "Novokuznetsk";
19447 
19448 const complete::ZoneInfo kZoneAsia_Novokuznetsk ACE_TIME_PROGMEM = {
19449  kZoneNameAsia_Novokuznetsk /*name*/,
19450  0x69264f93 /*zoneId*/,
19451  &kZoneContext /*zoneContext*/,
19452  7 /*numEras*/,
19453  kZoneEraAsia_Novokuznetsk /*eras*/,
19454  nullptr /*targetInfo*/,
19455 };
19456 
19457 //---------------------------------------------------------------------------
19458 // Zone name: Asia/Novosibirsk
19459 // Eras: 9
19460 //---------------------------------------------------------------------------
19461 
19462 static const complete::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = {
19463  // 5:31:40 - LMT 1919 Dec 14 6:00
19464  {
19465  nullptr /*zonePolicy*/,
19466  "LMT" /*format*/,
19467  1326 /*offsetCode (19900/15)*/,
19468  10 /*offsetRemainder (19900%15)*/,
19469  0 /*deltaMinutes*/,
19470  1919 /*untilYear*/,
19471  12 /*untilMonth*/,
19472  14 /*untilDay*/,
19473  1440 /*untilTimeCode (21600/15)*/,
19474  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19475  },
19476  // 6:00 - +06 1930 Jun 21
19477  {
19478  nullptr /*zonePolicy*/,
19479  "+06" /*format*/,
19480  1440 /*offsetCode (21600/15)*/,
19481  0 /*offsetRemainder (21600%15)*/,
19482  0 /*deltaMinutes*/,
19483  1930 /*untilYear*/,
19484  6 /*untilMonth*/,
19485  21 /*untilDay*/,
19486  0 /*untilTimeCode (0/15)*/,
19487  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19488  },
19489  // 7:00 Russia +07/+08 1991 Mar 31 2:00s
19490  {
19491  &kZonePolicyRussia /*zonePolicy*/,
19492  "+07/+08" /*format*/,
19493  1680 /*offsetCode (25200/15)*/,
19494  0 /*offsetRemainder (25200%15)*/,
19495  0 /*deltaMinutes*/,
19496  1991 /*untilYear*/,
19497  3 /*untilMonth*/,
19498  31 /*untilDay*/,
19499  480 /*untilTimeCode (7200/15)*/,
19500  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19501  },
19502  // 6:00 Russia +06/+07 1992 Jan 19 2:00s
19503  {
19504  &kZonePolicyRussia /*zonePolicy*/,
19505  "+06/+07" /*format*/,
19506  1440 /*offsetCode (21600/15)*/,
19507  0 /*offsetRemainder (21600%15)*/,
19508  0 /*deltaMinutes*/,
19509  1992 /*untilYear*/,
19510  1 /*untilMonth*/,
19511  19 /*untilDay*/,
19512  480 /*untilTimeCode (7200/15)*/,
19513  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19514  },
19515  // 7:00 Russia +07/+08 1993 May 23
19516  {
19517  &kZonePolicyRussia /*zonePolicy*/,
19518  "+07/+08" /*format*/,
19519  1680 /*offsetCode (25200/15)*/,
19520  0 /*offsetRemainder (25200%15)*/,
19521  0 /*deltaMinutes*/,
19522  1993 /*untilYear*/,
19523  5 /*untilMonth*/,
19524  23 /*untilDay*/,
19525  0 /*untilTimeCode (0/15)*/,
19526  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19527  },
19528  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
19529  {
19530  &kZonePolicyRussia /*zonePolicy*/,
19531  "+06/+07" /*format*/,
19532  1440 /*offsetCode (21600/15)*/,
19533  0 /*offsetRemainder (21600%15)*/,
19534  0 /*deltaMinutes*/,
19535  2011 /*untilYear*/,
19536  3 /*untilMonth*/,
19537  27 /*untilDay*/,
19538  480 /*untilTimeCode (7200/15)*/,
19539  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19540  },
19541  // 7:00 - +07 2014 Oct 26 2:00s
19542  {
19543  nullptr /*zonePolicy*/,
19544  "+07" /*format*/,
19545  1680 /*offsetCode (25200/15)*/,
19546  0 /*offsetRemainder (25200%15)*/,
19547  0 /*deltaMinutes*/,
19548  2014 /*untilYear*/,
19549  10 /*untilMonth*/,
19550  26 /*untilDay*/,
19551  480 /*untilTimeCode (7200/15)*/,
19552  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19553  },
19554  // 6:00 - +06 2016 Jul 24 2:00s
19555  {
19556  nullptr /*zonePolicy*/,
19557  "+06" /*format*/,
19558  1440 /*offsetCode (21600/15)*/,
19559  0 /*offsetRemainder (21600%15)*/,
19560  0 /*deltaMinutes*/,
19561  2016 /*untilYear*/,
19562  7 /*untilMonth*/,
19563  24 /*untilDay*/,
19564  480 /*untilTimeCode (7200/15)*/,
19565  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19566  },
19567  // 7:00 - +07
19568  {
19569  nullptr /*zonePolicy*/,
19570  "+07" /*format*/,
19571  1680 /*offsetCode (25200/15)*/,
19572  0 /*offsetRemainder (25200%15)*/,
19573  0 /*deltaMinutes*/,
19574  32767 /*untilYear*/,
19575  1 /*untilMonth*/,
19576  1 /*untilDay*/,
19577  0 /*untilTimeCode (0/15)*/,
19578  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19579  },
19580 
19581 };
19582 
19583 static const char kZoneNameAsia_Novosibirsk[] ACE_TIME_PROGMEM = "\x05" "Novosibirsk";
19584 
19585 const complete::ZoneInfo kZoneAsia_Novosibirsk ACE_TIME_PROGMEM = {
19586  kZoneNameAsia_Novosibirsk /*name*/,
19587  0xa2a435cb /*zoneId*/,
19588  &kZoneContext /*zoneContext*/,
19589  9 /*numEras*/,
19590  kZoneEraAsia_Novosibirsk /*eras*/,
19591  nullptr /*targetInfo*/,
19592 };
19593 
19594 //---------------------------------------------------------------------------
19595 // Zone name: Asia/Omsk
19596 // Eras: 7
19597 //---------------------------------------------------------------------------
19598 
19599 static const complete::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = {
19600  // 4:53:30 - LMT 1919 Nov 14
19601  {
19602  nullptr /*zonePolicy*/,
19603  "LMT" /*format*/,
19604  1174 /*offsetCode (17610/15)*/,
19605  0 /*offsetRemainder (17610%15)*/,
19606  0 /*deltaMinutes*/,
19607  1919 /*untilYear*/,
19608  11 /*untilMonth*/,
19609  14 /*untilDay*/,
19610  0 /*untilTimeCode (0/15)*/,
19611  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19612  },
19613  // 5:00 - +05 1930 Jun 21
19614  {
19615  nullptr /*zonePolicy*/,
19616  "+05" /*format*/,
19617  1200 /*offsetCode (18000/15)*/,
19618  0 /*offsetRemainder (18000%15)*/,
19619  0 /*deltaMinutes*/,
19620  1930 /*untilYear*/,
19621  6 /*untilMonth*/,
19622  21 /*untilDay*/,
19623  0 /*untilTimeCode (0/15)*/,
19624  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19625  },
19626  // 6:00 Russia +06/+07 1991 Mar 31 2:00s
19627  {
19628  &kZonePolicyRussia /*zonePolicy*/,
19629  "+06/+07" /*format*/,
19630  1440 /*offsetCode (21600/15)*/,
19631  0 /*offsetRemainder (21600%15)*/,
19632  0 /*deltaMinutes*/,
19633  1991 /*untilYear*/,
19634  3 /*untilMonth*/,
19635  31 /*untilDay*/,
19636  480 /*untilTimeCode (7200/15)*/,
19637  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19638  },
19639  // 5:00 Russia +05/+06 1992 Jan 19 2:00s
19640  {
19641  &kZonePolicyRussia /*zonePolicy*/,
19642  "+05/+06" /*format*/,
19643  1200 /*offsetCode (18000/15)*/,
19644  0 /*offsetRemainder (18000%15)*/,
19645  0 /*deltaMinutes*/,
19646  1992 /*untilYear*/,
19647  1 /*untilMonth*/,
19648  19 /*untilDay*/,
19649  480 /*untilTimeCode (7200/15)*/,
19650  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19651  },
19652  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
19653  {
19654  &kZonePolicyRussia /*zonePolicy*/,
19655  "+06/+07" /*format*/,
19656  1440 /*offsetCode (21600/15)*/,
19657  0 /*offsetRemainder (21600%15)*/,
19658  0 /*deltaMinutes*/,
19659  2011 /*untilYear*/,
19660  3 /*untilMonth*/,
19661  27 /*untilDay*/,
19662  480 /*untilTimeCode (7200/15)*/,
19663  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19664  },
19665  // 7:00 - +07 2014 Oct 26 2:00s
19666  {
19667  nullptr /*zonePolicy*/,
19668  "+07" /*format*/,
19669  1680 /*offsetCode (25200/15)*/,
19670  0 /*offsetRemainder (25200%15)*/,
19671  0 /*deltaMinutes*/,
19672  2014 /*untilYear*/,
19673  10 /*untilMonth*/,
19674  26 /*untilDay*/,
19675  480 /*untilTimeCode (7200/15)*/,
19676  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19677  },
19678  // 6:00 - +06
19679  {
19680  nullptr /*zonePolicy*/,
19681  "+06" /*format*/,
19682  1440 /*offsetCode (21600/15)*/,
19683  0 /*offsetRemainder (21600%15)*/,
19684  0 /*deltaMinutes*/,
19685  32767 /*untilYear*/,
19686  1 /*untilMonth*/,
19687  1 /*untilDay*/,
19688  0 /*untilTimeCode (0/15)*/,
19689  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19690  },
19691 
19692 };
19693 
19694 static const char kZoneNameAsia_Omsk[] ACE_TIME_PROGMEM = "\x05" "Omsk";
19695 
19696 const complete::ZoneInfo kZoneAsia_Omsk ACE_TIME_PROGMEM = {
19697  kZoneNameAsia_Omsk /*name*/,
19698  0x1faeddac /*zoneId*/,
19699  &kZoneContext /*zoneContext*/,
19700  7 /*numEras*/,
19701  kZoneEraAsia_Omsk /*eras*/,
19702  nullptr /*targetInfo*/,
19703 };
19704 
19705 //---------------------------------------------------------------------------
19706 // Zone name: Asia/Oral
19707 // Eras: 10
19708 //---------------------------------------------------------------------------
19709 
19710 static const complete::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = {
19711  // 3:25:24 - LMT 1924 May 2
19712  {
19713  nullptr /*zonePolicy*/,
19714  "LMT" /*format*/,
19715  821 /*offsetCode (12324/15)*/,
19716  9 /*offsetRemainder (12324%15)*/,
19717  0 /*deltaMinutes*/,
19718  1924 /*untilYear*/,
19719  5 /*untilMonth*/,
19720  2 /*untilDay*/,
19721  0 /*untilTimeCode (0/15)*/,
19722  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19723  },
19724  // 3:00 - +03 1930 Jun 21
19725  {
19726  nullptr /*zonePolicy*/,
19727  "+03" /*format*/,
19728  720 /*offsetCode (10800/15)*/,
19729  0 /*offsetRemainder (10800%15)*/,
19730  0 /*deltaMinutes*/,
19731  1930 /*untilYear*/,
19732  6 /*untilMonth*/,
19733  21 /*untilDay*/,
19734  0 /*untilTimeCode (0/15)*/,
19735  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19736  },
19737  // 5:00 - +05 1981 Apr 1
19738  {
19739  nullptr /*zonePolicy*/,
19740  "+05" /*format*/,
19741  1200 /*offsetCode (18000/15)*/,
19742  0 /*offsetRemainder (18000%15)*/,
19743  0 /*deltaMinutes*/,
19744  1981 /*untilYear*/,
19745  4 /*untilMonth*/,
19746  1 /*untilDay*/,
19747  0 /*untilTimeCode (0/15)*/,
19748  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19749  },
19750  // 5:00 1:00 +06 1981 Oct 1
19751  {
19752  nullptr /*zonePolicy*/,
19753  "+06" /*format*/,
19754  1200 /*offsetCode (18000/15)*/,
19755  0 /*offsetRemainder (18000%15)*/,
19756  60 /*deltaMinutes*/,
19757  1981 /*untilYear*/,
19758  10 /*untilMonth*/,
19759  1 /*untilDay*/,
19760  0 /*untilTimeCode (0/15)*/,
19761  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19762  },
19763  // 6:00 - +06 1982 Apr 1
19764  {
19765  nullptr /*zonePolicy*/,
19766  "+06" /*format*/,
19767  1440 /*offsetCode (21600/15)*/,
19768  0 /*offsetRemainder (21600%15)*/,
19769  0 /*deltaMinutes*/,
19770  1982 /*untilYear*/,
19771  4 /*untilMonth*/,
19772  1 /*untilDay*/,
19773  0 /*untilTimeCode (0/15)*/,
19774  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19775  },
19776  // 5:00 RussiaAsia +05/+06 1989 Mar 26 2:00s
19777  {
19778  &kZonePolicyRussiaAsia /*zonePolicy*/,
19779  "+05/+06" /*format*/,
19780  1200 /*offsetCode (18000/15)*/,
19781  0 /*offsetRemainder (18000%15)*/,
19782  0 /*deltaMinutes*/,
19783  1989 /*untilYear*/,
19784  3 /*untilMonth*/,
19785  26 /*untilDay*/,
19786  480 /*untilTimeCode (7200/15)*/,
19787  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19788  },
19789  // 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
19790  {
19791  &kZonePolicyRussiaAsia /*zonePolicy*/,
19792  "+04/+05" /*format*/,
19793  960 /*offsetCode (14400/15)*/,
19794  0 /*offsetRemainder (14400%15)*/,
19795  0 /*deltaMinutes*/,
19796  1992 /*untilYear*/,
19797  1 /*untilMonth*/,
19798  19 /*untilDay*/,
19799  480 /*untilTimeCode (7200/15)*/,
19800  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19801  },
19802  // 5:00 RussiaAsia +05/+06 1992 Mar 29 2:00s
19803  {
19804  &kZonePolicyRussiaAsia /*zonePolicy*/,
19805  "+05/+06" /*format*/,
19806  1200 /*offsetCode (18000/15)*/,
19807  0 /*offsetRemainder (18000%15)*/,
19808  0 /*deltaMinutes*/,
19809  1992 /*untilYear*/,
19810  3 /*untilMonth*/,
19811  29 /*untilDay*/,
19812  480 /*untilTimeCode (7200/15)*/,
19813  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19814  },
19815  // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
19816  {
19817  &kZonePolicyRussiaAsia /*zonePolicy*/,
19818  "+04/+05" /*format*/,
19819  960 /*offsetCode (14400/15)*/,
19820  0 /*offsetRemainder (14400%15)*/,
19821  0 /*deltaMinutes*/,
19822  2004 /*untilYear*/,
19823  10 /*untilMonth*/,
19824  31 /*untilDay*/,
19825  480 /*untilTimeCode (7200/15)*/,
19826  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19827  },
19828  // 5:00 - +05
19829  {
19830  nullptr /*zonePolicy*/,
19831  "+05" /*format*/,
19832  1200 /*offsetCode (18000/15)*/,
19833  0 /*offsetRemainder (18000%15)*/,
19834  0 /*deltaMinutes*/,
19835  32767 /*untilYear*/,
19836  1 /*untilMonth*/,
19837  1 /*untilDay*/,
19838  0 /*untilTimeCode (0/15)*/,
19839  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19840  },
19841 
19842 };
19843 
19844 static const char kZoneNameAsia_Oral[] ACE_TIME_PROGMEM = "\x05" "Oral";
19845 
19846 const complete::ZoneInfo kZoneAsia_Oral ACE_TIME_PROGMEM = {
19847  kZoneNameAsia_Oral /*name*/,
19848  0x1faef0a0 /*zoneId*/,
19849  &kZoneContext /*zoneContext*/,
19850  10 /*numEras*/,
19851  kZoneEraAsia_Oral /*eras*/,
19852  nullptr /*targetInfo*/,
19853 };
19854 
19855 //---------------------------------------------------------------------------
19856 // Zone name: Asia/Pontianak
19857 // Eras: 9
19858 //---------------------------------------------------------------------------
19859 
19860 static const complete::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = {
19861  // 7:17:20 - LMT 1908 May
19862  {
19863  nullptr /*zonePolicy*/,
19864  "LMT" /*format*/,
19865  1749 /*offsetCode (26240/15)*/,
19866  5 /*offsetRemainder (26240%15)*/,
19867  0 /*deltaMinutes*/,
19868  1908 /*untilYear*/,
19869  5 /*untilMonth*/,
19870  1 /*untilDay*/,
19871  0 /*untilTimeCode (0/15)*/,
19872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19873  },
19874  // 7:17:20 - PMT 1932 Nov
19875  {
19876  nullptr /*zonePolicy*/,
19877  "PMT" /*format*/,
19878  1749 /*offsetCode (26240/15)*/,
19879  5 /*offsetRemainder (26240%15)*/,
19880  0 /*deltaMinutes*/,
19881  1932 /*untilYear*/,
19882  11 /*untilMonth*/,
19883  1 /*untilDay*/,
19884  0 /*untilTimeCode (0/15)*/,
19885  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19886  },
19887  // 7:30 - +0730 1942 Jan 29
19888  {
19889  nullptr /*zonePolicy*/,
19890  "+0730" /*format*/,
19891  1800 /*offsetCode (27000/15)*/,
19892  0 /*offsetRemainder (27000%15)*/,
19893  0 /*deltaMinutes*/,
19894  1942 /*untilYear*/,
19895  1 /*untilMonth*/,
19896  29 /*untilDay*/,
19897  0 /*untilTimeCode (0/15)*/,
19898  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19899  },
19900  // 9:00 - +09 1945 Sep 23
19901  {
19902  nullptr /*zonePolicy*/,
19903  "+09" /*format*/,
19904  2160 /*offsetCode (32400/15)*/,
19905  0 /*offsetRemainder (32400%15)*/,
19906  0 /*deltaMinutes*/,
19907  1945 /*untilYear*/,
19908  9 /*untilMonth*/,
19909  23 /*untilDay*/,
19910  0 /*untilTimeCode (0/15)*/,
19911  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19912  },
19913  // 7:30 - +0730 1948 May
19914  {
19915  nullptr /*zonePolicy*/,
19916  "+0730" /*format*/,
19917  1800 /*offsetCode (27000/15)*/,
19918  0 /*offsetRemainder (27000%15)*/,
19919  0 /*deltaMinutes*/,
19920  1948 /*untilYear*/,
19921  5 /*untilMonth*/,
19922  1 /*untilDay*/,
19923  0 /*untilTimeCode (0/15)*/,
19924  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19925  },
19926  // 8:00 - +08 1950 May
19927  {
19928  nullptr /*zonePolicy*/,
19929  "+08" /*format*/,
19930  1920 /*offsetCode (28800/15)*/,
19931  0 /*offsetRemainder (28800%15)*/,
19932  0 /*deltaMinutes*/,
19933  1950 /*untilYear*/,
19934  5 /*untilMonth*/,
19935  1 /*untilDay*/,
19936  0 /*untilTimeCode (0/15)*/,
19937  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19938  },
19939  // 7:30 - +0730 1964
19940  {
19941  nullptr /*zonePolicy*/,
19942  "+0730" /*format*/,
19943  1800 /*offsetCode (27000/15)*/,
19944  0 /*offsetRemainder (27000%15)*/,
19945  0 /*deltaMinutes*/,
19946  1964 /*untilYear*/,
19947  1 /*untilMonth*/,
19948  1 /*untilDay*/,
19949  0 /*untilTimeCode (0/15)*/,
19950  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19951  },
19952  // 8:00 - WITA 1988 Jan 1
19953  {
19954  nullptr /*zonePolicy*/,
19955  "WITA" /*format*/,
19956  1920 /*offsetCode (28800/15)*/,
19957  0 /*offsetRemainder (28800%15)*/,
19958  0 /*deltaMinutes*/,
19959  1988 /*untilYear*/,
19960  1 /*untilMonth*/,
19961  1 /*untilDay*/,
19962  0 /*untilTimeCode (0/15)*/,
19963  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19964  },
19965  // 7:00 - WIB
19966  {
19967  nullptr /*zonePolicy*/,
19968  "WIB" /*format*/,
19969  1680 /*offsetCode (25200/15)*/,
19970  0 /*offsetRemainder (25200%15)*/,
19971  0 /*deltaMinutes*/,
19972  32767 /*untilYear*/,
19973  1 /*untilMonth*/,
19974  1 /*untilDay*/,
19975  0 /*untilTimeCode (0/15)*/,
19976  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19977  },
19978 
19979 };
19980 
19981 static const char kZoneNameAsia_Pontianak[] ACE_TIME_PROGMEM = "\x05" "Pontianak";
19982 
19983 const complete::ZoneInfo kZoneAsia_Pontianak ACE_TIME_PROGMEM = {
19984  kZoneNameAsia_Pontianak /*name*/,
19985  0x1a76c057 /*zoneId*/,
19986  &kZoneContext /*zoneContext*/,
19987  9 /*numEras*/,
19988  kZoneEraAsia_Pontianak /*eras*/,
19989  nullptr /*targetInfo*/,
19990 };
19991 
19992 //---------------------------------------------------------------------------
19993 // Zone name: Asia/Pyongyang
19994 // Eras: 6
19995 //---------------------------------------------------------------------------
19996 
19997 static const complete::ZoneEra kZoneEraAsia_Pyongyang[] ACE_TIME_PROGMEM = {
19998  // 8:23:00 - LMT 1908 Apr 1
19999  {
20000  nullptr /*zonePolicy*/,
20001  "LMT" /*format*/,
20002  2012 /*offsetCode (30180/15)*/,
20003  0 /*offsetRemainder (30180%15)*/,
20004  0 /*deltaMinutes*/,
20005  1908 /*untilYear*/,
20006  4 /*untilMonth*/,
20007  1 /*untilDay*/,
20008  0 /*untilTimeCode (0/15)*/,
20009  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20010  },
20011  // 8:30 - KST 1912 Jan 1
20012  {
20013  nullptr /*zonePolicy*/,
20014  "KST" /*format*/,
20015  2040 /*offsetCode (30600/15)*/,
20016  0 /*offsetRemainder (30600%15)*/,
20017  0 /*deltaMinutes*/,
20018  1912 /*untilYear*/,
20019  1 /*untilMonth*/,
20020  1 /*untilDay*/,
20021  0 /*untilTimeCode (0/15)*/,
20022  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20023  },
20024  // 9:00 - JST 1945 Aug 24
20025  {
20026  nullptr /*zonePolicy*/,
20027  "JST" /*format*/,
20028  2160 /*offsetCode (32400/15)*/,
20029  0 /*offsetRemainder (32400%15)*/,
20030  0 /*deltaMinutes*/,
20031  1945 /*untilYear*/,
20032  8 /*untilMonth*/,
20033  24 /*untilDay*/,
20034  0 /*untilTimeCode (0/15)*/,
20035  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20036  },
20037  // 9:00 - KST 2015 Aug 15 00:00
20038  {
20039  nullptr /*zonePolicy*/,
20040  "KST" /*format*/,
20041  2160 /*offsetCode (32400/15)*/,
20042  0 /*offsetRemainder (32400%15)*/,
20043  0 /*deltaMinutes*/,
20044  2015 /*untilYear*/,
20045  8 /*untilMonth*/,
20046  15 /*untilDay*/,
20047  0 /*untilTimeCode (0/15)*/,
20048  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20049  },
20050  // 8:30 - KST 2018 May 4 23:30
20051  {
20052  nullptr /*zonePolicy*/,
20053  "KST" /*format*/,
20054  2040 /*offsetCode (30600/15)*/,
20055  0 /*offsetRemainder (30600%15)*/,
20056  0 /*deltaMinutes*/,
20057  2018 /*untilYear*/,
20058  5 /*untilMonth*/,
20059  4 /*untilDay*/,
20060  5640 /*untilTimeCode (84600/15)*/,
20061  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20062  },
20063  // 9:00 - KST
20064  {
20065  nullptr /*zonePolicy*/,
20066  "KST" /*format*/,
20067  2160 /*offsetCode (32400/15)*/,
20068  0 /*offsetRemainder (32400%15)*/,
20069  0 /*deltaMinutes*/,
20070  32767 /*untilYear*/,
20071  1 /*untilMonth*/,
20072  1 /*untilDay*/,
20073  0 /*untilTimeCode (0/15)*/,
20074  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20075  },
20076 
20077 };
20078 
20079 static const char kZoneNameAsia_Pyongyang[] ACE_TIME_PROGMEM = "\x05" "Pyongyang";
20080 
20081 const complete::ZoneInfo kZoneAsia_Pyongyang ACE_TIME_PROGMEM = {
20082  kZoneNameAsia_Pyongyang /*name*/,
20083  0x93ed1c8e /*zoneId*/,
20084  &kZoneContext /*zoneContext*/,
20085  6 /*numEras*/,
20086  kZoneEraAsia_Pyongyang /*eras*/,
20087  nullptr /*targetInfo*/,
20088 };
20089 
20090 //---------------------------------------------------------------------------
20091 // Zone name: Asia/Qatar
20092 // Eras: 3
20093 //---------------------------------------------------------------------------
20094 
20095 static const complete::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = {
20096  // 3:26:08 - LMT 1920
20097  {
20098  nullptr /*zonePolicy*/,
20099  "LMT" /*format*/,
20100  824 /*offsetCode (12368/15)*/,
20101  8 /*offsetRemainder (12368%15)*/,
20102  0 /*deltaMinutes*/,
20103  1920 /*untilYear*/,
20104  1 /*untilMonth*/,
20105  1 /*untilDay*/,
20106  0 /*untilTimeCode (0/15)*/,
20107  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20108  },
20109  // 4:00 - +04 1972 Jun
20110  {
20111  nullptr /*zonePolicy*/,
20112  "+04" /*format*/,
20113  960 /*offsetCode (14400/15)*/,
20114  0 /*offsetRemainder (14400%15)*/,
20115  0 /*deltaMinutes*/,
20116  1972 /*untilYear*/,
20117  6 /*untilMonth*/,
20118  1 /*untilDay*/,
20119  0 /*untilTimeCode (0/15)*/,
20120  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20121  },
20122  // 3:00 - +03
20123  {
20124  nullptr /*zonePolicy*/,
20125  "+03" /*format*/,
20126  720 /*offsetCode (10800/15)*/,
20127  0 /*offsetRemainder (10800%15)*/,
20128  0 /*deltaMinutes*/,
20129  32767 /*untilYear*/,
20130  1 /*untilMonth*/,
20131  1 /*untilDay*/,
20132  0 /*untilTimeCode (0/15)*/,
20133  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20134  },
20135 
20136 };
20137 
20138 static const char kZoneNameAsia_Qatar[] ACE_TIME_PROGMEM = "\x05" "Qatar";
20139 
20140 const complete::ZoneInfo kZoneAsia_Qatar ACE_TIME_PROGMEM = {
20141  kZoneNameAsia_Qatar /*name*/,
20142  0x15a8330b /*zoneId*/,
20143  &kZoneContext /*zoneContext*/,
20144  3 /*numEras*/,
20145  kZoneEraAsia_Qatar /*eras*/,
20146  nullptr /*targetInfo*/,
20147 };
20148 
20149 //---------------------------------------------------------------------------
20150 // Zone name: Asia/Qostanay
20151 // Eras: 9
20152 //---------------------------------------------------------------------------
20153 
20154 static const complete::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = {
20155  // 4:14:28 - LMT 1924 May 2
20156  {
20157  nullptr /*zonePolicy*/,
20158  "LMT" /*format*/,
20159  1017 /*offsetCode (15268/15)*/,
20160  13 /*offsetRemainder (15268%15)*/,
20161  0 /*deltaMinutes*/,
20162  1924 /*untilYear*/,
20163  5 /*untilMonth*/,
20164  2 /*untilDay*/,
20165  0 /*untilTimeCode (0/15)*/,
20166  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20167  },
20168  // 4:00 - +04 1930 Jun 21
20169  {
20170  nullptr /*zonePolicy*/,
20171  "+04" /*format*/,
20172  960 /*offsetCode (14400/15)*/,
20173  0 /*offsetRemainder (14400%15)*/,
20174  0 /*deltaMinutes*/,
20175  1930 /*untilYear*/,
20176  6 /*untilMonth*/,
20177  21 /*untilDay*/,
20178  0 /*untilTimeCode (0/15)*/,
20179  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20180  },
20181  // 5:00 - +05 1981 Apr 1
20182  {
20183  nullptr /*zonePolicy*/,
20184  "+05" /*format*/,
20185  1200 /*offsetCode (18000/15)*/,
20186  0 /*offsetRemainder (18000%15)*/,
20187  0 /*deltaMinutes*/,
20188  1981 /*untilYear*/,
20189  4 /*untilMonth*/,
20190  1 /*untilDay*/,
20191  0 /*untilTimeCode (0/15)*/,
20192  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20193  },
20194  // 5:00 1:00 +06 1981 Oct 1
20195  {
20196  nullptr /*zonePolicy*/,
20197  "+06" /*format*/,
20198  1200 /*offsetCode (18000/15)*/,
20199  0 /*offsetRemainder (18000%15)*/,
20200  60 /*deltaMinutes*/,
20201  1981 /*untilYear*/,
20202  10 /*untilMonth*/,
20203  1 /*untilDay*/,
20204  0 /*untilTimeCode (0/15)*/,
20205  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20206  },
20207  // 6:00 - +06 1982 Apr 1
20208  {
20209  nullptr /*zonePolicy*/,
20210  "+06" /*format*/,
20211  1440 /*offsetCode (21600/15)*/,
20212  0 /*offsetRemainder (21600%15)*/,
20213  0 /*deltaMinutes*/,
20214  1982 /*untilYear*/,
20215  4 /*untilMonth*/,
20216  1 /*untilDay*/,
20217  0 /*untilTimeCode (0/15)*/,
20218  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20219  },
20220  // 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
20221  {
20222  &kZonePolicyRussiaAsia /*zonePolicy*/,
20223  "+05/+06" /*format*/,
20224  1200 /*offsetCode (18000/15)*/,
20225  0 /*offsetRemainder (18000%15)*/,
20226  0 /*deltaMinutes*/,
20227  1991 /*untilYear*/,
20228  3 /*untilMonth*/,
20229  31 /*untilDay*/,
20230  480 /*untilTimeCode (7200/15)*/,
20231  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20232  },
20233  // 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
20234  {
20235  &kZonePolicyRussiaAsia /*zonePolicy*/,
20236  "+04/+05" /*format*/,
20237  960 /*offsetCode (14400/15)*/,
20238  0 /*offsetRemainder (14400%15)*/,
20239  0 /*deltaMinutes*/,
20240  1992 /*untilYear*/,
20241  1 /*untilMonth*/,
20242  19 /*untilDay*/,
20243  480 /*untilTimeCode (7200/15)*/,
20244  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20245  },
20246  // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
20247  {
20248  &kZonePolicyRussiaAsia /*zonePolicy*/,
20249  "+05/+06" /*format*/,
20250  1200 /*offsetCode (18000/15)*/,
20251  0 /*offsetRemainder (18000%15)*/,
20252  0 /*deltaMinutes*/,
20253  2004 /*untilYear*/,
20254  10 /*untilMonth*/,
20255  31 /*untilDay*/,
20256  480 /*untilTimeCode (7200/15)*/,
20257  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20258  },
20259  // 6:00 - +06
20260  {
20261  nullptr /*zonePolicy*/,
20262  "+06" /*format*/,
20263  1440 /*offsetCode (21600/15)*/,
20264  0 /*offsetRemainder (21600%15)*/,
20265  0 /*deltaMinutes*/,
20266  32767 /*untilYear*/,
20267  1 /*untilMonth*/,
20268  1 /*untilDay*/,
20269  0 /*untilTimeCode (0/15)*/,
20270  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20271  },
20272 
20273 };
20274 
20275 static const char kZoneNameAsia_Qostanay[] ACE_TIME_PROGMEM = "\x05" "Qostanay";
20276 
20277 const complete::ZoneInfo kZoneAsia_Qostanay ACE_TIME_PROGMEM = {
20278  kZoneNameAsia_Qostanay /*name*/,
20279  0x654fe522 /*zoneId*/,
20280  &kZoneContext /*zoneContext*/,
20281  9 /*numEras*/,
20282  kZoneEraAsia_Qostanay /*eras*/,
20283  nullptr /*targetInfo*/,
20284 };
20285 
20286 //---------------------------------------------------------------------------
20287 // Zone name: Asia/Qyzylorda
20288 // Eras: 12
20289 //---------------------------------------------------------------------------
20290 
20291 static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = {
20292  // 4:21:52 - LMT 1924 May 2
20293  {
20294  nullptr /*zonePolicy*/,
20295  "LMT" /*format*/,
20296  1047 /*offsetCode (15712/15)*/,
20297  7 /*offsetRemainder (15712%15)*/,
20298  0 /*deltaMinutes*/,
20299  1924 /*untilYear*/,
20300  5 /*untilMonth*/,
20301  2 /*untilDay*/,
20302  0 /*untilTimeCode (0/15)*/,
20303  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20304  },
20305  // 4:00 - +04 1930 Jun 21
20306  {
20307  nullptr /*zonePolicy*/,
20308  "+04" /*format*/,
20309  960 /*offsetCode (14400/15)*/,
20310  0 /*offsetRemainder (14400%15)*/,
20311  0 /*deltaMinutes*/,
20312  1930 /*untilYear*/,
20313  6 /*untilMonth*/,
20314  21 /*untilDay*/,
20315  0 /*untilTimeCode (0/15)*/,
20316  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20317  },
20318  // 5:00 - +05 1981 Apr 1
20319  {
20320  nullptr /*zonePolicy*/,
20321  "+05" /*format*/,
20322  1200 /*offsetCode (18000/15)*/,
20323  0 /*offsetRemainder (18000%15)*/,
20324  0 /*deltaMinutes*/,
20325  1981 /*untilYear*/,
20326  4 /*untilMonth*/,
20327  1 /*untilDay*/,
20328  0 /*untilTimeCode (0/15)*/,
20329  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20330  },
20331  // 5:00 1:00 +06 1981 Oct 1
20332  {
20333  nullptr /*zonePolicy*/,
20334  "+06" /*format*/,
20335  1200 /*offsetCode (18000/15)*/,
20336  0 /*offsetRemainder (18000%15)*/,
20337  60 /*deltaMinutes*/,
20338  1981 /*untilYear*/,
20339  10 /*untilMonth*/,
20340  1 /*untilDay*/,
20341  0 /*untilTimeCode (0/15)*/,
20342  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20343  },
20344  // 6:00 - +06 1982 Apr 1
20345  {
20346  nullptr /*zonePolicy*/,
20347  "+06" /*format*/,
20348  1440 /*offsetCode (21600/15)*/,
20349  0 /*offsetRemainder (21600%15)*/,
20350  0 /*deltaMinutes*/,
20351  1982 /*untilYear*/,
20352  4 /*untilMonth*/,
20353  1 /*untilDay*/,
20354  0 /*untilTimeCode (0/15)*/,
20355  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20356  },
20357  // 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
20358  {
20359  &kZonePolicyRussiaAsia /*zonePolicy*/,
20360  "+05/+06" /*format*/,
20361  1200 /*offsetCode (18000/15)*/,
20362  0 /*offsetRemainder (18000%15)*/,
20363  0 /*deltaMinutes*/,
20364  1991 /*untilYear*/,
20365  3 /*untilMonth*/,
20366  31 /*untilDay*/,
20367  480 /*untilTimeCode (7200/15)*/,
20368  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20369  },
20370  // 4:00 RussiaAsia +04/+05 1991 Sep 29 2:00s
20371  {
20372  &kZonePolicyRussiaAsia /*zonePolicy*/,
20373  "+04/+05" /*format*/,
20374  960 /*offsetCode (14400/15)*/,
20375  0 /*offsetRemainder (14400%15)*/,
20376  0 /*deltaMinutes*/,
20377  1991 /*untilYear*/,
20378  9 /*untilMonth*/,
20379  29 /*untilDay*/,
20380  480 /*untilTimeCode (7200/15)*/,
20381  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20382  },
20383  // 5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s
20384  {
20385  &kZonePolicyRussiaAsia /*zonePolicy*/,
20386  "+05/+06" /*format*/,
20387  1200 /*offsetCode (18000/15)*/,
20388  0 /*offsetRemainder (18000%15)*/,
20389  0 /*deltaMinutes*/,
20390  1992 /*untilYear*/,
20391  1 /*untilMonth*/,
20392  19 /*untilDay*/,
20393  480 /*untilTimeCode (7200/15)*/,
20394  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20395  },
20396  // 6:00 RussiaAsia +06/+07 1992 Mar 29 2:00s
20397  {
20398  &kZonePolicyRussiaAsia /*zonePolicy*/,
20399  "+06/+07" /*format*/,
20400  1440 /*offsetCode (21600/15)*/,
20401  0 /*offsetRemainder (21600%15)*/,
20402  0 /*deltaMinutes*/,
20403  1992 /*untilYear*/,
20404  3 /*untilMonth*/,
20405  29 /*untilDay*/,
20406  480 /*untilTimeCode (7200/15)*/,
20407  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20408  },
20409  // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
20410  {
20411  &kZonePolicyRussiaAsia /*zonePolicy*/,
20412  "+05/+06" /*format*/,
20413  1200 /*offsetCode (18000/15)*/,
20414  0 /*offsetRemainder (18000%15)*/,
20415  0 /*deltaMinutes*/,
20416  2004 /*untilYear*/,
20417  10 /*untilMonth*/,
20418  31 /*untilDay*/,
20419  480 /*untilTimeCode (7200/15)*/,
20420  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20421  },
20422  // 6:00 - +06 2018 Dec 21 0:00
20423  {
20424  nullptr /*zonePolicy*/,
20425  "+06" /*format*/,
20426  1440 /*offsetCode (21600/15)*/,
20427  0 /*offsetRemainder (21600%15)*/,
20428  0 /*deltaMinutes*/,
20429  2018 /*untilYear*/,
20430  12 /*untilMonth*/,
20431  21 /*untilDay*/,
20432  0 /*untilTimeCode (0/15)*/,
20433  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20434  },
20435  // 5:00 - +05
20436  {
20437  nullptr /*zonePolicy*/,
20438  "+05" /*format*/,
20439  1200 /*offsetCode (18000/15)*/,
20440  0 /*offsetRemainder (18000%15)*/,
20441  0 /*deltaMinutes*/,
20442  32767 /*untilYear*/,
20443  1 /*untilMonth*/,
20444  1 /*untilDay*/,
20445  0 /*untilTimeCode (0/15)*/,
20446  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20447  },
20448 
20449 };
20450 
20451 static const char kZoneNameAsia_Qyzylorda[] ACE_TIME_PROGMEM = "\x05" "Qyzylorda";
20452 
20453 const complete::ZoneInfo kZoneAsia_Qyzylorda ACE_TIME_PROGMEM = {
20454  kZoneNameAsia_Qyzylorda /*name*/,
20455  0x71282e81 /*zoneId*/,
20456  &kZoneContext /*zoneContext*/,
20457  12 /*numEras*/,
20458  kZoneEraAsia_Qyzylorda /*eras*/,
20459  nullptr /*targetInfo*/,
20460 };
20461 
20462 //---------------------------------------------------------------------------
20463 // Zone name: Asia/Riyadh
20464 // Eras: 2
20465 //---------------------------------------------------------------------------
20466 
20467 static const complete::ZoneEra kZoneEraAsia_Riyadh[] ACE_TIME_PROGMEM = {
20468  // 3:06:52 - LMT 1947 Mar 14
20469  {
20470  nullptr /*zonePolicy*/,
20471  "LMT" /*format*/,
20472  747 /*offsetCode (11212/15)*/,
20473  7 /*offsetRemainder (11212%15)*/,
20474  0 /*deltaMinutes*/,
20475  1947 /*untilYear*/,
20476  3 /*untilMonth*/,
20477  14 /*untilDay*/,
20478  0 /*untilTimeCode (0/15)*/,
20479  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20480  },
20481  // 3:00 - +03
20482  {
20483  nullptr /*zonePolicy*/,
20484  "+03" /*format*/,
20485  720 /*offsetCode (10800/15)*/,
20486  0 /*offsetRemainder (10800%15)*/,
20487  0 /*deltaMinutes*/,
20488  32767 /*untilYear*/,
20489  1 /*untilMonth*/,
20490  1 /*untilDay*/,
20491  0 /*untilTimeCode (0/15)*/,
20492  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20493  },
20494 
20495 };
20496 
20497 static const char kZoneNameAsia_Riyadh[] ACE_TIME_PROGMEM = "\x05" "Riyadh";
20498 
20499 const complete::ZoneInfo kZoneAsia_Riyadh ACE_TIME_PROGMEM = {
20500  kZoneNameAsia_Riyadh /*name*/,
20501  0xcd973d93 /*zoneId*/,
20502  &kZoneContext /*zoneContext*/,
20503  2 /*numEras*/,
20504  kZoneEraAsia_Riyadh /*eras*/,
20505  nullptr /*targetInfo*/,
20506 };
20507 
20508 //---------------------------------------------------------------------------
20509 // Zone name: Asia/Sakhalin
20510 // Eras: 9
20511 //---------------------------------------------------------------------------
20512 
20513 static const complete::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = {
20514  // 9:30:48 - LMT 1905 Aug 23
20515  {
20516  nullptr /*zonePolicy*/,
20517  "LMT" /*format*/,
20518  2283 /*offsetCode (34248/15)*/,
20519  3 /*offsetRemainder (34248%15)*/,
20520  0 /*deltaMinutes*/,
20521  1905 /*untilYear*/,
20522  8 /*untilMonth*/,
20523  23 /*untilDay*/,
20524  0 /*untilTimeCode (0/15)*/,
20525  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20526  },
20527  // 9:00 - +09 1945 Aug 25
20528  {
20529  nullptr /*zonePolicy*/,
20530  "+09" /*format*/,
20531  2160 /*offsetCode (32400/15)*/,
20532  0 /*offsetRemainder (32400%15)*/,
20533  0 /*deltaMinutes*/,
20534  1945 /*untilYear*/,
20535  8 /*untilMonth*/,
20536  25 /*untilDay*/,
20537  0 /*untilTimeCode (0/15)*/,
20538  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20539  },
20540  // 11:00 Russia +11/+12 1991 Mar 31 2:00s
20541  {
20542  &kZonePolicyRussia /*zonePolicy*/,
20543  "+11/+12" /*format*/,
20544  2640 /*offsetCode (39600/15)*/,
20545  0 /*offsetRemainder (39600%15)*/,
20546  0 /*deltaMinutes*/,
20547  1991 /*untilYear*/,
20548  3 /*untilMonth*/,
20549  31 /*untilDay*/,
20550  480 /*untilTimeCode (7200/15)*/,
20551  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20552  },
20553  // 10:00 Russia +10/+11 1992 Jan 19 2:00s
20554  {
20555  &kZonePolicyRussia /*zonePolicy*/,
20556  "+10/+11" /*format*/,
20557  2400 /*offsetCode (36000/15)*/,
20558  0 /*offsetRemainder (36000%15)*/,
20559  0 /*deltaMinutes*/,
20560  1992 /*untilYear*/,
20561  1 /*untilMonth*/,
20562  19 /*untilDay*/,
20563  480 /*untilTimeCode (7200/15)*/,
20564  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20565  },
20566  // 11:00 Russia +11/+12 1997 Mar lastSun 2:00s
20567  {
20568  &kZonePolicyRussia /*zonePolicy*/,
20569  "+11/+12" /*format*/,
20570  2640 /*offsetCode (39600/15)*/,
20571  0 /*offsetRemainder (39600%15)*/,
20572  0 /*deltaMinutes*/,
20573  1997 /*untilYear*/,
20574  3 /*untilMonth*/,
20575  30 /*untilDay*/,
20576  480 /*untilTimeCode (7200/15)*/,
20577  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20578  },
20579  // 10:00 Russia +10/+11 2011 Mar 27 2:00s
20580  {
20581  &kZonePolicyRussia /*zonePolicy*/,
20582  "+10/+11" /*format*/,
20583  2400 /*offsetCode (36000/15)*/,
20584  0 /*offsetRemainder (36000%15)*/,
20585  0 /*deltaMinutes*/,
20586  2011 /*untilYear*/,
20587  3 /*untilMonth*/,
20588  27 /*untilDay*/,
20589  480 /*untilTimeCode (7200/15)*/,
20590  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20591  },
20592  // 11:00 - +11 2014 Oct 26 2:00s
20593  {
20594  nullptr /*zonePolicy*/,
20595  "+11" /*format*/,
20596  2640 /*offsetCode (39600/15)*/,
20597  0 /*offsetRemainder (39600%15)*/,
20598  0 /*deltaMinutes*/,
20599  2014 /*untilYear*/,
20600  10 /*untilMonth*/,
20601  26 /*untilDay*/,
20602  480 /*untilTimeCode (7200/15)*/,
20603  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20604  },
20605  // 10:00 - +10 2016 Mar 27 2:00s
20606  {
20607  nullptr /*zonePolicy*/,
20608  "+10" /*format*/,
20609  2400 /*offsetCode (36000/15)*/,
20610  0 /*offsetRemainder (36000%15)*/,
20611  0 /*deltaMinutes*/,
20612  2016 /*untilYear*/,
20613  3 /*untilMonth*/,
20614  27 /*untilDay*/,
20615  480 /*untilTimeCode (7200/15)*/,
20616  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20617  },
20618  // 11:00 - +11
20619  {
20620  nullptr /*zonePolicy*/,
20621  "+11" /*format*/,
20622  2640 /*offsetCode (39600/15)*/,
20623  0 /*offsetRemainder (39600%15)*/,
20624  0 /*deltaMinutes*/,
20625  32767 /*untilYear*/,
20626  1 /*untilMonth*/,
20627  1 /*untilDay*/,
20628  0 /*untilTimeCode (0/15)*/,
20629  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20630  },
20631 
20632 };
20633 
20634 static const char kZoneNameAsia_Sakhalin[] ACE_TIME_PROGMEM = "\x05" "Sakhalin";
20635 
20636 const complete::ZoneInfo kZoneAsia_Sakhalin ACE_TIME_PROGMEM = {
20637  kZoneNameAsia_Sakhalin /*name*/,
20638  0xf4a1c9bd /*zoneId*/,
20639  &kZoneContext /*zoneContext*/,
20640  9 /*numEras*/,
20641  kZoneEraAsia_Sakhalin /*eras*/,
20642  nullptr /*targetInfo*/,
20643 };
20644 
20645 //---------------------------------------------------------------------------
20646 // Zone name: Asia/Samarkand
20647 // Eras: 7
20648 //---------------------------------------------------------------------------
20649 
20650 static const complete::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = {
20651  // 4:27:53 - LMT 1924 May 2
20652  {
20653  nullptr /*zonePolicy*/,
20654  "LMT" /*format*/,
20655  1071 /*offsetCode (16073/15)*/,
20656  8 /*offsetRemainder (16073%15)*/,
20657  0 /*deltaMinutes*/,
20658  1924 /*untilYear*/,
20659  5 /*untilMonth*/,
20660  2 /*untilDay*/,
20661  0 /*untilTimeCode (0/15)*/,
20662  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20663  },
20664  // 4:00 - +04 1930 Jun 21
20665  {
20666  nullptr /*zonePolicy*/,
20667  "+04" /*format*/,
20668  960 /*offsetCode (14400/15)*/,
20669  0 /*offsetRemainder (14400%15)*/,
20670  0 /*deltaMinutes*/,
20671  1930 /*untilYear*/,
20672  6 /*untilMonth*/,
20673  21 /*untilDay*/,
20674  0 /*untilTimeCode (0/15)*/,
20675  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20676  },
20677  // 5:00 - +05 1981 Apr 1
20678  {
20679  nullptr /*zonePolicy*/,
20680  "+05" /*format*/,
20681  1200 /*offsetCode (18000/15)*/,
20682  0 /*offsetRemainder (18000%15)*/,
20683  0 /*deltaMinutes*/,
20684  1981 /*untilYear*/,
20685  4 /*untilMonth*/,
20686  1 /*untilDay*/,
20687  0 /*untilTimeCode (0/15)*/,
20688  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20689  },
20690  // 5:00 1:00 +06 1981 Oct 1
20691  {
20692  nullptr /*zonePolicy*/,
20693  "+06" /*format*/,
20694  1200 /*offsetCode (18000/15)*/,
20695  0 /*offsetRemainder (18000%15)*/,
20696  60 /*deltaMinutes*/,
20697  1981 /*untilYear*/,
20698  10 /*untilMonth*/,
20699  1 /*untilDay*/,
20700  0 /*untilTimeCode (0/15)*/,
20701  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20702  },
20703  // 6:00 - +06 1982 Apr 1
20704  {
20705  nullptr /*zonePolicy*/,
20706  "+06" /*format*/,
20707  1440 /*offsetCode (21600/15)*/,
20708  0 /*offsetRemainder (21600%15)*/,
20709  0 /*deltaMinutes*/,
20710  1982 /*untilYear*/,
20711  4 /*untilMonth*/,
20712  1 /*untilDay*/,
20713  0 /*untilTimeCode (0/15)*/,
20714  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20715  },
20716  // 5:00 RussiaAsia +05/+06 1992
20717  {
20718  &kZonePolicyRussiaAsia /*zonePolicy*/,
20719  "+05/+06" /*format*/,
20720  1200 /*offsetCode (18000/15)*/,
20721  0 /*offsetRemainder (18000%15)*/,
20722  0 /*deltaMinutes*/,
20723  1992 /*untilYear*/,
20724  1 /*untilMonth*/,
20725  1 /*untilDay*/,
20726  0 /*untilTimeCode (0/15)*/,
20727  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20728  },
20729  // 5:00 - +05
20730  {
20731  nullptr /*zonePolicy*/,
20732  "+05" /*format*/,
20733  1200 /*offsetCode (18000/15)*/,
20734  0 /*offsetRemainder (18000%15)*/,
20735  0 /*deltaMinutes*/,
20736  32767 /*untilYear*/,
20737  1 /*untilMonth*/,
20738  1 /*untilDay*/,
20739  0 /*untilTimeCode (0/15)*/,
20740  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20741  },
20742 
20743 };
20744 
20745 static const char kZoneNameAsia_Samarkand[] ACE_TIME_PROGMEM = "\x05" "Samarkand";
20746 
20747 const complete::ZoneInfo kZoneAsia_Samarkand ACE_TIME_PROGMEM = {
20748  kZoneNameAsia_Samarkand /*name*/,
20749  0x13ae5104 /*zoneId*/,
20750  &kZoneContext /*zoneContext*/,
20751  7 /*numEras*/,
20752  kZoneEraAsia_Samarkand /*eras*/,
20753  nullptr /*targetInfo*/,
20754 };
20755 
20756 //---------------------------------------------------------------------------
20757 // Zone name: Asia/Seoul
20758 // Eras: 6
20759 //---------------------------------------------------------------------------
20760 
20761 static const complete::ZoneEra kZoneEraAsia_Seoul[] ACE_TIME_PROGMEM = {
20762  // 8:27:52 - LMT 1908 Apr 1
20763  {
20764  nullptr /*zonePolicy*/,
20765  "LMT" /*format*/,
20766  2031 /*offsetCode (30472/15)*/,
20767  7 /*offsetRemainder (30472%15)*/,
20768  0 /*deltaMinutes*/,
20769  1908 /*untilYear*/,
20770  4 /*untilMonth*/,
20771  1 /*untilDay*/,
20772  0 /*untilTimeCode (0/15)*/,
20773  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20774  },
20775  // 8:30 - KST 1912 Jan 1
20776  {
20777  nullptr /*zonePolicy*/,
20778  "KST" /*format*/,
20779  2040 /*offsetCode (30600/15)*/,
20780  0 /*offsetRemainder (30600%15)*/,
20781  0 /*deltaMinutes*/,
20782  1912 /*untilYear*/,
20783  1 /*untilMonth*/,
20784  1 /*untilDay*/,
20785  0 /*untilTimeCode (0/15)*/,
20786  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20787  },
20788  // 9:00 - JST 1945 Sep 8
20789  {
20790  nullptr /*zonePolicy*/,
20791  "JST" /*format*/,
20792  2160 /*offsetCode (32400/15)*/,
20793  0 /*offsetRemainder (32400%15)*/,
20794  0 /*deltaMinutes*/,
20795  1945 /*untilYear*/,
20796  9 /*untilMonth*/,
20797  8 /*untilDay*/,
20798  0 /*untilTimeCode (0/15)*/,
20799  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20800  },
20801  // 9:00 ROK K%sT 1954 Mar 21
20802  {
20803  &kZonePolicyROK /*zonePolicy*/,
20804  "K%T" /*format*/,
20805  2160 /*offsetCode (32400/15)*/,
20806  0 /*offsetRemainder (32400%15)*/,
20807  0 /*deltaMinutes*/,
20808  1954 /*untilYear*/,
20809  3 /*untilMonth*/,
20810  21 /*untilDay*/,
20811  0 /*untilTimeCode (0/15)*/,
20812  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20813  },
20814  // 8:30 ROK K%sT 1961 Aug 10
20815  {
20816  &kZonePolicyROK /*zonePolicy*/,
20817  "K%T" /*format*/,
20818  2040 /*offsetCode (30600/15)*/,
20819  0 /*offsetRemainder (30600%15)*/,
20820  0 /*deltaMinutes*/,
20821  1961 /*untilYear*/,
20822  8 /*untilMonth*/,
20823  10 /*untilDay*/,
20824  0 /*untilTimeCode (0/15)*/,
20825  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20826  },
20827  // 9:00 ROK K%sT
20828  {
20829  &kZonePolicyROK /*zonePolicy*/,
20830  "K%T" /*format*/,
20831  2160 /*offsetCode (32400/15)*/,
20832  0 /*offsetRemainder (32400%15)*/,
20833  0 /*deltaMinutes*/,
20834  32767 /*untilYear*/,
20835  1 /*untilMonth*/,
20836  1 /*untilDay*/,
20837  0 /*untilTimeCode (0/15)*/,
20838  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20839  },
20840 
20841 };
20842 
20843 static const char kZoneNameAsia_Seoul[] ACE_TIME_PROGMEM = "\x05" "Seoul";
20844 
20845 const complete::ZoneInfo kZoneAsia_Seoul ACE_TIME_PROGMEM = {
20846  kZoneNameAsia_Seoul /*name*/,
20847  0x15ce82da /*zoneId*/,
20848  &kZoneContext /*zoneContext*/,
20849  6 /*numEras*/,
20850  kZoneEraAsia_Seoul /*eras*/,
20851  nullptr /*targetInfo*/,
20852 };
20853 
20854 //---------------------------------------------------------------------------
20855 // Zone name: Asia/Shanghai
20856 // Eras: 3
20857 //---------------------------------------------------------------------------
20858 
20859 static const complete::ZoneEra kZoneEraAsia_Shanghai[] ACE_TIME_PROGMEM = {
20860  // 8:05:43 - LMT 1901
20861  {
20862  nullptr /*zonePolicy*/,
20863  "LMT" /*format*/,
20864  1942 /*offsetCode (29143/15)*/,
20865  13 /*offsetRemainder (29143%15)*/,
20866  0 /*deltaMinutes*/,
20867  1901 /*untilYear*/,
20868  1 /*untilMonth*/,
20869  1 /*untilDay*/,
20870  0 /*untilTimeCode (0/15)*/,
20871  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20872  },
20873  // 8:00 Shang C%sT 1949 May 28
20874  {
20875  &kZonePolicyShang /*zonePolicy*/,
20876  "C%T" /*format*/,
20877  1920 /*offsetCode (28800/15)*/,
20878  0 /*offsetRemainder (28800%15)*/,
20879  0 /*deltaMinutes*/,
20880  1949 /*untilYear*/,
20881  5 /*untilMonth*/,
20882  28 /*untilDay*/,
20883  0 /*untilTimeCode (0/15)*/,
20884  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20885  },
20886  // 8:00 PRC C%sT
20887  {
20888  &kZonePolicyPRC /*zonePolicy*/,
20889  "C%T" /*format*/,
20890  1920 /*offsetCode (28800/15)*/,
20891  0 /*offsetRemainder (28800%15)*/,
20892  0 /*deltaMinutes*/,
20893  32767 /*untilYear*/,
20894  1 /*untilMonth*/,
20895  1 /*untilDay*/,
20896  0 /*untilTimeCode (0/15)*/,
20897  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20898  },
20899 
20900 };
20901 
20902 static const char kZoneNameAsia_Shanghai[] ACE_TIME_PROGMEM = "\x05" "Shanghai";
20903 
20904 const complete::ZoneInfo kZoneAsia_Shanghai ACE_TIME_PROGMEM = {
20905  kZoneNameAsia_Shanghai /*name*/,
20906  0xf895a7f5 /*zoneId*/,
20907  &kZoneContext /*zoneContext*/,
20908  3 /*numEras*/,
20909  kZoneEraAsia_Shanghai /*eras*/,
20910  nullptr /*targetInfo*/,
20911 };
20912 
20913 //---------------------------------------------------------------------------
20914 // Zone name: Asia/Singapore
20915 // Eras: 9
20916 //---------------------------------------------------------------------------
20917 
20918 static const complete::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = {
20919  // 6:55:25 - LMT 1901 Jan 1
20920  {
20921  nullptr /*zonePolicy*/,
20922  "LMT" /*format*/,
20923  1661 /*offsetCode (24925/15)*/,
20924  10 /*offsetRemainder (24925%15)*/,
20925  0 /*deltaMinutes*/,
20926  1901 /*untilYear*/,
20927  1 /*untilMonth*/,
20928  1 /*untilDay*/,
20929  0 /*untilTimeCode (0/15)*/,
20930  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20931  },
20932  // 6:55:25 - SMT 1905 Jun 1
20933  {
20934  nullptr /*zonePolicy*/,
20935  "SMT" /*format*/,
20936  1661 /*offsetCode (24925/15)*/,
20937  10 /*offsetRemainder (24925%15)*/,
20938  0 /*deltaMinutes*/,
20939  1905 /*untilYear*/,
20940  6 /*untilMonth*/,
20941  1 /*untilDay*/,
20942  0 /*untilTimeCode (0/15)*/,
20943  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20944  },
20945  // 7:00 - +07 1933 Jan 1
20946  {
20947  nullptr /*zonePolicy*/,
20948  "+07" /*format*/,
20949  1680 /*offsetCode (25200/15)*/,
20950  0 /*offsetRemainder (25200%15)*/,
20951  0 /*deltaMinutes*/,
20952  1933 /*untilYear*/,
20953  1 /*untilMonth*/,
20954  1 /*untilDay*/,
20955  0 /*untilTimeCode (0/15)*/,
20956  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20957  },
20958  // 7:00 0:20 +0720 1936 Jan 1
20959  {
20960  nullptr /*zonePolicy*/,
20961  "+0720" /*format*/,
20962  1680 /*offsetCode (25200/15)*/,
20963  0 /*offsetRemainder (25200%15)*/,
20964  20 /*deltaMinutes*/,
20965  1936 /*untilYear*/,
20966  1 /*untilMonth*/,
20967  1 /*untilDay*/,
20968  0 /*untilTimeCode (0/15)*/,
20969  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20970  },
20971  // 7:20 - +0720 1941 Sep 1
20972  {
20973  nullptr /*zonePolicy*/,
20974  "+0720" /*format*/,
20975  1760 /*offsetCode (26400/15)*/,
20976  0 /*offsetRemainder (26400%15)*/,
20977  0 /*deltaMinutes*/,
20978  1941 /*untilYear*/,
20979  9 /*untilMonth*/,
20980  1 /*untilDay*/,
20981  0 /*untilTimeCode (0/15)*/,
20982  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20983  },
20984  // 7:30 - +0730 1942 Feb 16
20985  {
20986  nullptr /*zonePolicy*/,
20987  "+0730" /*format*/,
20988  1800 /*offsetCode (27000/15)*/,
20989  0 /*offsetRemainder (27000%15)*/,
20990  0 /*deltaMinutes*/,
20991  1942 /*untilYear*/,
20992  2 /*untilMonth*/,
20993  16 /*untilDay*/,
20994  0 /*untilTimeCode (0/15)*/,
20995  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20996  },
20997  // 9:00 - +09 1945 Sep 12
20998  {
20999  nullptr /*zonePolicy*/,
21000  "+09" /*format*/,
21001  2160 /*offsetCode (32400/15)*/,
21002  0 /*offsetRemainder (32400%15)*/,
21003  0 /*deltaMinutes*/,
21004  1945 /*untilYear*/,
21005  9 /*untilMonth*/,
21006  12 /*untilDay*/,
21007  0 /*untilTimeCode (0/15)*/,
21008  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21009  },
21010  // 7:30 - +0730 1981 Dec 31 16:00u
21011  {
21012  nullptr /*zonePolicy*/,
21013  "+0730" /*format*/,
21014  1800 /*offsetCode (27000/15)*/,
21015  0 /*offsetRemainder (27000%15)*/,
21016  0 /*deltaMinutes*/,
21017  1981 /*untilYear*/,
21018  12 /*untilMonth*/,
21019  31 /*untilDay*/,
21020  3840 /*untilTimeCode (57600/15)*/,
21021  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
21022  },
21023  // 8:00 - +08
21024  {
21025  nullptr /*zonePolicy*/,
21026  "+08" /*format*/,
21027  1920 /*offsetCode (28800/15)*/,
21028  0 /*offsetRemainder (28800%15)*/,
21029  0 /*deltaMinutes*/,
21030  32767 /*untilYear*/,
21031  1 /*untilMonth*/,
21032  1 /*untilDay*/,
21033  0 /*untilTimeCode (0/15)*/,
21034  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21035  },
21036 
21037 };
21038 
21039 static const char kZoneNameAsia_Singapore[] ACE_TIME_PROGMEM = "\x05" "Singapore";
21040 
21041 const complete::ZoneInfo kZoneAsia_Singapore ACE_TIME_PROGMEM = {
21042  kZoneNameAsia_Singapore /*name*/,
21043  0xcf8581fa /*zoneId*/,
21044  &kZoneContext /*zoneContext*/,
21045  9 /*numEras*/,
21046  kZoneEraAsia_Singapore /*eras*/,
21047  nullptr /*targetInfo*/,
21048 };
21049 
21050 //---------------------------------------------------------------------------
21051 // Zone name: Asia/Srednekolymsk
21052 // Eras: 7
21053 //---------------------------------------------------------------------------
21054 
21055 static const complete::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = {
21056  // 10:14:52 - LMT 1924 May 2
21057  {
21058  nullptr /*zonePolicy*/,
21059  "LMT" /*format*/,
21060  2459 /*offsetCode (36892/15)*/,
21061  7 /*offsetRemainder (36892%15)*/,
21062  0 /*deltaMinutes*/,
21063  1924 /*untilYear*/,
21064  5 /*untilMonth*/,
21065  2 /*untilDay*/,
21066  0 /*untilTimeCode (0/15)*/,
21067  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21068  },
21069  // 10:00 - +10 1930 Jun 21
21070  {
21071  nullptr /*zonePolicy*/,
21072  "+10" /*format*/,
21073  2400 /*offsetCode (36000/15)*/,
21074  0 /*offsetRemainder (36000%15)*/,
21075  0 /*deltaMinutes*/,
21076  1930 /*untilYear*/,
21077  6 /*untilMonth*/,
21078  21 /*untilDay*/,
21079  0 /*untilTimeCode (0/15)*/,
21080  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21081  },
21082  // 11:00 Russia +11/+12 1991 Mar 31 2:00s
21083  {
21084  &kZonePolicyRussia /*zonePolicy*/,
21085  "+11/+12" /*format*/,
21086  2640 /*offsetCode (39600/15)*/,
21087  0 /*offsetRemainder (39600%15)*/,
21088  0 /*deltaMinutes*/,
21089  1991 /*untilYear*/,
21090  3 /*untilMonth*/,
21091  31 /*untilDay*/,
21092  480 /*untilTimeCode (7200/15)*/,
21093  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21094  },
21095  // 10:00 Russia +10/+11 1992 Jan 19 2:00s
21096  {
21097  &kZonePolicyRussia /*zonePolicy*/,
21098  "+10/+11" /*format*/,
21099  2400 /*offsetCode (36000/15)*/,
21100  0 /*offsetRemainder (36000%15)*/,
21101  0 /*deltaMinutes*/,
21102  1992 /*untilYear*/,
21103  1 /*untilMonth*/,
21104  19 /*untilDay*/,
21105  480 /*untilTimeCode (7200/15)*/,
21106  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21107  },
21108  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
21109  {
21110  &kZonePolicyRussia /*zonePolicy*/,
21111  "+11/+12" /*format*/,
21112  2640 /*offsetCode (39600/15)*/,
21113  0 /*offsetRemainder (39600%15)*/,
21114  0 /*deltaMinutes*/,
21115  2011 /*untilYear*/,
21116  3 /*untilMonth*/,
21117  27 /*untilDay*/,
21118  480 /*untilTimeCode (7200/15)*/,
21119  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21120  },
21121  // 12:00 - +12 2014 Oct 26 2:00s
21122  {
21123  nullptr /*zonePolicy*/,
21124  "+12" /*format*/,
21125  2880 /*offsetCode (43200/15)*/,
21126  0 /*offsetRemainder (43200%15)*/,
21127  0 /*deltaMinutes*/,
21128  2014 /*untilYear*/,
21129  10 /*untilMonth*/,
21130  26 /*untilDay*/,
21131  480 /*untilTimeCode (7200/15)*/,
21132  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21133  },
21134  // 11:00 - +11
21135  {
21136  nullptr /*zonePolicy*/,
21137  "+11" /*format*/,
21138  2640 /*offsetCode (39600/15)*/,
21139  0 /*offsetRemainder (39600%15)*/,
21140  0 /*deltaMinutes*/,
21141  32767 /*untilYear*/,
21142  1 /*untilMonth*/,
21143  1 /*untilDay*/,
21144  0 /*untilTimeCode (0/15)*/,
21145  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21146  },
21147 
21148 };
21149 
21150 static const char kZoneNameAsia_Srednekolymsk[] ACE_TIME_PROGMEM = "\x05" "Srednekolymsk";
21151 
21152 const complete::ZoneInfo kZoneAsia_Srednekolymsk ACE_TIME_PROGMEM = {
21153  kZoneNameAsia_Srednekolymsk /*name*/,
21154  0xbf8e337d /*zoneId*/,
21155  &kZoneContext /*zoneContext*/,
21156  7 /*numEras*/,
21157  kZoneEraAsia_Srednekolymsk /*eras*/,
21158  nullptr /*targetInfo*/,
21159 };
21160 
21161 //---------------------------------------------------------------------------
21162 // Zone name: Asia/Taipei
21163 // Eras: 4
21164 //---------------------------------------------------------------------------
21165 
21166 static const complete::ZoneEra kZoneEraAsia_Taipei[] ACE_TIME_PROGMEM = {
21167  // 8:06:00 - LMT 1896 Jan 1
21168  {
21169  nullptr /*zonePolicy*/,
21170  "LMT" /*format*/,
21171  1944 /*offsetCode (29160/15)*/,
21172  0 /*offsetRemainder (29160%15)*/,
21173  0 /*deltaMinutes*/,
21174  1896 /*untilYear*/,
21175  1 /*untilMonth*/,
21176  1 /*untilDay*/,
21177  0 /*untilTimeCode (0/15)*/,
21178  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21179  },
21180  // 8:00 - CST 1937 Oct 1
21181  {
21182  nullptr /*zonePolicy*/,
21183  "CST" /*format*/,
21184  1920 /*offsetCode (28800/15)*/,
21185  0 /*offsetRemainder (28800%15)*/,
21186  0 /*deltaMinutes*/,
21187  1937 /*untilYear*/,
21188  10 /*untilMonth*/,
21189  1 /*untilDay*/,
21190  0 /*untilTimeCode (0/15)*/,
21191  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21192  },
21193  // 9:00 - JST 1945 Sep 21 1:00
21194  {
21195  nullptr /*zonePolicy*/,
21196  "JST" /*format*/,
21197  2160 /*offsetCode (32400/15)*/,
21198  0 /*offsetRemainder (32400%15)*/,
21199  0 /*deltaMinutes*/,
21200  1945 /*untilYear*/,
21201  9 /*untilMonth*/,
21202  21 /*untilDay*/,
21203  240 /*untilTimeCode (3600/15)*/,
21204  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21205  },
21206  // 8:00 Taiwan C%sT
21207  {
21208  &kZonePolicyTaiwan /*zonePolicy*/,
21209  "C%T" /*format*/,
21210  1920 /*offsetCode (28800/15)*/,
21211  0 /*offsetRemainder (28800%15)*/,
21212  0 /*deltaMinutes*/,
21213  32767 /*untilYear*/,
21214  1 /*untilMonth*/,
21215  1 /*untilDay*/,
21216  0 /*untilTimeCode (0/15)*/,
21217  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21218  },
21219 
21220 };
21221 
21222 static const char kZoneNameAsia_Taipei[] ACE_TIME_PROGMEM = "\x05" "Taipei";
21223 
21224 const complete::ZoneInfo kZoneAsia_Taipei ACE_TIME_PROGMEM = {
21225  kZoneNameAsia_Taipei /*name*/,
21226  0xd1a844ae /*zoneId*/,
21227  &kZoneContext /*zoneContext*/,
21228  4 /*numEras*/,
21229  kZoneEraAsia_Taipei /*eras*/,
21230  nullptr /*targetInfo*/,
21231 };
21232 
21233 //---------------------------------------------------------------------------
21234 // Zone name: Asia/Tashkent
21235 // Eras: 5
21236 //---------------------------------------------------------------------------
21237 
21238 static const complete::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = {
21239  // 4:37:11 - LMT 1924 May 2
21240  {
21241  nullptr /*zonePolicy*/,
21242  "LMT" /*format*/,
21243  1108 /*offsetCode (16631/15)*/,
21244  11 /*offsetRemainder (16631%15)*/,
21245  0 /*deltaMinutes*/,
21246  1924 /*untilYear*/,
21247  5 /*untilMonth*/,
21248  2 /*untilDay*/,
21249  0 /*untilTimeCode (0/15)*/,
21250  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21251  },
21252  // 5:00 - +05 1930 Jun 21
21253  {
21254  nullptr /*zonePolicy*/,
21255  "+05" /*format*/,
21256  1200 /*offsetCode (18000/15)*/,
21257  0 /*offsetRemainder (18000%15)*/,
21258  0 /*deltaMinutes*/,
21259  1930 /*untilYear*/,
21260  6 /*untilMonth*/,
21261  21 /*untilDay*/,
21262  0 /*untilTimeCode (0/15)*/,
21263  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21264  },
21265  // 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00
21266  {
21267  &kZonePolicyRussiaAsia /*zonePolicy*/,
21268  "+06/+07" /*format*/,
21269  1440 /*offsetCode (21600/15)*/,
21270  0 /*offsetRemainder (21600%15)*/,
21271  0 /*deltaMinutes*/,
21272  1991 /*untilYear*/,
21273  3 /*untilMonth*/,
21274  31 /*untilDay*/,
21275  480 /*untilTimeCode (7200/15)*/,
21276  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21277  },
21278  // 5:00 RussiaAsia +05/+06 1992
21279  {
21280  &kZonePolicyRussiaAsia /*zonePolicy*/,
21281  "+05/+06" /*format*/,
21282  1200 /*offsetCode (18000/15)*/,
21283  0 /*offsetRemainder (18000%15)*/,
21284  0 /*deltaMinutes*/,
21285  1992 /*untilYear*/,
21286  1 /*untilMonth*/,
21287  1 /*untilDay*/,
21288  0 /*untilTimeCode (0/15)*/,
21289  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21290  },
21291  // 5:00 - +05
21292  {
21293  nullptr /*zonePolicy*/,
21294  "+05" /*format*/,
21295  1200 /*offsetCode (18000/15)*/,
21296  0 /*offsetRemainder (18000%15)*/,
21297  0 /*deltaMinutes*/,
21298  32767 /*untilYear*/,
21299  1 /*untilMonth*/,
21300  1 /*untilDay*/,
21301  0 /*untilTimeCode (0/15)*/,
21302  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21303  },
21304 
21305 };
21306 
21307 static const char kZoneNameAsia_Tashkent[] ACE_TIME_PROGMEM = "\x05" "Tashkent";
21308 
21309 const complete::ZoneInfo kZoneAsia_Tashkent ACE_TIME_PROGMEM = {
21310  kZoneNameAsia_Tashkent /*name*/,
21311  0xf3924254 /*zoneId*/,
21312  &kZoneContext /*zoneContext*/,
21313  5 /*numEras*/,
21314  kZoneEraAsia_Tashkent /*eras*/,
21315  nullptr /*targetInfo*/,
21316 };
21317 
21318 //---------------------------------------------------------------------------
21319 // Zone name: Asia/Tbilisi
21320 // Eras: 11
21321 //---------------------------------------------------------------------------
21322 
21323 static const complete::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = {
21324  // 2:59:11 - LMT 1880
21325  {
21326  nullptr /*zonePolicy*/,
21327  "LMT" /*format*/,
21328  716 /*offsetCode (10751/15)*/,
21329  11 /*offsetRemainder (10751%15)*/,
21330  0 /*deltaMinutes*/,
21331  1880 /*untilYear*/,
21332  1 /*untilMonth*/,
21333  1 /*untilDay*/,
21334  0 /*untilTimeCode (0/15)*/,
21335  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21336  },
21337  // 2:59:11 - TBMT 1924 May 2
21338  {
21339  nullptr /*zonePolicy*/,
21340  "TBMT" /*format*/,
21341  716 /*offsetCode (10751/15)*/,
21342  11 /*offsetRemainder (10751%15)*/,
21343  0 /*deltaMinutes*/,
21344  1924 /*untilYear*/,
21345  5 /*untilMonth*/,
21346  2 /*untilDay*/,
21347  0 /*untilTimeCode (0/15)*/,
21348  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21349  },
21350  // 3:00 - +03 1957 Mar
21351  {
21352  nullptr /*zonePolicy*/,
21353  "+03" /*format*/,
21354  720 /*offsetCode (10800/15)*/,
21355  0 /*offsetRemainder (10800%15)*/,
21356  0 /*deltaMinutes*/,
21357  1957 /*untilYear*/,
21358  3 /*untilMonth*/,
21359  1 /*untilDay*/,
21360  0 /*untilTimeCode (0/15)*/,
21361  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21362  },
21363  // 4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s
21364  {
21365  &kZonePolicyRussiaAsia /*zonePolicy*/,
21366  "+04/+05" /*format*/,
21367  960 /*offsetCode (14400/15)*/,
21368  0 /*offsetRemainder (14400%15)*/,
21369  0 /*deltaMinutes*/,
21370  1991 /*untilYear*/,
21371  3 /*untilMonth*/,
21372  31 /*untilDay*/,
21373  480 /*untilTimeCode (7200/15)*/,
21374  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21375  },
21376  // 3:00 RussiaAsia +03/+04 1992
21377  {
21378  &kZonePolicyRussiaAsia /*zonePolicy*/,
21379  "+03/+04" /*format*/,
21380  720 /*offsetCode (10800/15)*/,
21381  0 /*offsetRemainder (10800%15)*/,
21382  0 /*deltaMinutes*/,
21383  1992 /*untilYear*/,
21384  1 /*untilMonth*/,
21385  1 /*untilDay*/,
21386  0 /*untilTimeCode (0/15)*/,
21387  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21388  },
21389  // 3:00 E-EurAsia +03/+04 1994 Sep lastSun
21390  {
21391  &kZonePolicyE_EurAsia /*zonePolicy*/,
21392  "+03/+04" /*format*/,
21393  720 /*offsetCode (10800/15)*/,
21394  0 /*offsetRemainder (10800%15)*/,
21395  0 /*deltaMinutes*/,
21396  1994 /*untilYear*/,
21397  9 /*untilMonth*/,
21398  25 /*untilDay*/,
21399  0 /*untilTimeCode (0/15)*/,
21400  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21401  },
21402  // 4:00 E-EurAsia +04/+05 1996 Oct lastSun
21403  {
21404  &kZonePolicyE_EurAsia /*zonePolicy*/,
21405  "+04/+05" /*format*/,
21406  960 /*offsetCode (14400/15)*/,
21407  0 /*offsetRemainder (14400%15)*/,
21408  0 /*deltaMinutes*/,
21409  1996 /*untilYear*/,
21410  10 /*untilMonth*/,
21411  27 /*untilDay*/,
21412  0 /*untilTimeCode (0/15)*/,
21413  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21414  },
21415  // 4:00 1:00 +05 1997 Mar lastSun
21416  {
21417  nullptr /*zonePolicy*/,
21418  "+05" /*format*/,
21419  960 /*offsetCode (14400/15)*/,
21420  0 /*offsetRemainder (14400%15)*/,
21421  60 /*deltaMinutes*/,
21422  1997 /*untilYear*/,
21423  3 /*untilMonth*/,
21424  30 /*untilDay*/,
21425  0 /*untilTimeCode (0/15)*/,
21426  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21427  },
21428  // 4:00 E-EurAsia +04/+05 2004 Jun 27
21429  {
21430  &kZonePolicyE_EurAsia /*zonePolicy*/,
21431  "+04/+05" /*format*/,
21432  960 /*offsetCode (14400/15)*/,
21433  0 /*offsetRemainder (14400%15)*/,
21434  0 /*deltaMinutes*/,
21435  2004 /*untilYear*/,
21436  6 /*untilMonth*/,
21437  27 /*untilDay*/,
21438  0 /*untilTimeCode (0/15)*/,
21439  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21440  },
21441  // 3:00 RussiaAsia +03/+04 2005 Mar lastSun 2:00
21442  {
21443  &kZonePolicyRussiaAsia /*zonePolicy*/,
21444  "+03/+04" /*format*/,
21445  720 /*offsetCode (10800/15)*/,
21446  0 /*offsetRemainder (10800%15)*/,
21447  0 /*deltaMinutes*/,
21448  2005 /*untilYear*/,
21449  3 /*untilMonth*/,
21450  27 /*untilDay*/,
21451  480 /*untilTimeCode (7200/15)*/,
21452  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21453  },
21454  // 4:00 - +04
21455  {
21456  nullptr /*zonePolicy*/,
21457  "+04" /*format*/,
21458  960 /*offsetCode (14400/15)*/,
21459  0 /*offsetRemainder (14400%15)*/,
21460  0 /*deltaMinutes*/,
21461  32767 /*untilYear*/,
21462  1 /*untilMonth*/,
21463  1 /*untilDay*/,
21464  0 /*untilTimeCode (0/15)*/,
21465  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21466  },
21467 
21468 };
21469 
21470 static const char kZoneNameAsia_Tbilisi[] ACE_TIME_PROGMEM = "\x05" "Tbilisi";
21471 
21472 const complete::ZoneInfo kZoneAsia_Tbilisi ACE_TIME_PROGMEM = {
21473  kZoneNameAsia_Tbilisi /*name*/,
21474  0x0903e442 /*zoneId*/,
21475  &kZoneContext /*zoneContext*/,
21476  11 /*numEras*/,
21477  kZoneEraAsia_Tbilisi /*eras*/,
21478  nullptr /*targetInfo*/,
21479 };
21480 
21481 //---------------------------------------------------------------------------
21482 // Zone name: Asia/Tehran
21483 // Eras: 5
21484 //---------------------------------------------------------------------------
21485 
21486 static const complete::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = {
21487  // 3:25:44 - LMT 1916
21488  {
21489  nullptr /*zonePolicy*/,
21490  "LMT" /*format*/,
21491  822 /*offsetCode (12344/15)*/,
21492  14 /*offsetRemainder (12344%15)*/,
21493  0 /*deltaMinutes*/,
21494  1916 /*untilYear*/,
21495  1 /*untilMonth*/,
21496  1 /*untilDay*/,
21497  0 /*untilTimeCode (0/15)*/,
21498  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21499  },
21500  // 3:25:44 - TMT 1935 Jun 13
21501  {
21502  nullptr /*zonePolicy*/,
21503  "TMT" /*format*/,
21504  822 /*offsetCode (12344/15)*/,
21505  14 /*offsetRemainder (12344%15)*/,
21506  0 /*deltaMinutes*/,
21507  1935 /*untilYear*/,
21508  6 /*untilMonth*/,
21509  13 /*untilDay*/,
21510  0 /*untilTimeCode (0/15)*/,
21511  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21512  },
21513  // 3:30 Iran +0330/+0430 1977 Oct 20 24:00
21514  {
21515  &kZonePolicyIran /*zonePolicy*/,
21516  "+0330/+0430" /*format*/,
21517  840 /*offsetCode (12600/15)*/,
21518  0 /*offsetRemainder (12600%15)*/,
21519  0 /*deltaMinutes*/,
21520  1977 /*untilYear*/,
21521  10 /*untilMonth*/,
21522  20 /*untilDay*/,
21523  5760 /*untilTimeCode (86400/15)*/,
21524  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21525  },
21526  // 4:00 Iran +04/+05 1979
21527  {
21528  &kZonePolicyIran /*zonePolicy*/,
21529  "+04/+05" /*format*/,
21530  960 /*offsetCode (14400/15)*/,
21531  0 /*offsetRemainder (14400%15)*/,
21532  0 /*deltaMinutes*/,
21533  1979 /*untilYear*/,
21534  1 /*untilMonth*/,
21535  1 /*untilDay*/,
21536  0 /*untilTimeCode (0/15)*/,
21537  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21538  },
21539  // 3:30 Iran +0330/+0430
21540  {
21541  &kZonePolicyIran /*zonePolicy*/,
21542  "+0330/+0430" /*format*/,
21543  840 /*offsetCode (12600/15)*/,
21544  0 /*offsetRemainder (12600%15)*/,
21545  0 /*deltaMinutes*/,
21546  32767 /*untilYear*/,
21547  1 /*untilMonth*/,
21548  1 /*untilDay*/,
21549  0 /*untilTimeCode (0/15)*/,
21550  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21551  },
21552 
21553 };
21554 
21555 static const char kZoneNameAsia_Tehran[] ACE_TIME_PROGMEM = "\x05" "Tehran";
21556 
21557 const complete::ZoneInfo kZoneAsia_Tehran ACE_TIME_PROGMEM = {
21558  kZoneNameAsia_Tehran /*name*/,
21559  0xd1f02254 /*zoneId*/,
21560  &kZoneContext /*zoneContext*/,
21561  5 /*numEras*/,
21562  kZoneEraAsia_Tehran /*eras*/,
21563  nullptr /*targetInfo*/,
21564 };
21565 
21566 //---------------------------------------------------------------------------
21567 // Zone name: Asia/Thimphu
21568 // Eras: 3
21569 //---------------------------------------------------------------------------
21570 
21571 static const complete::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = {
21572  // 5:58:36 - LMT 1947 Aug 15
21573  {
21574  nullptr /*zonePolicy*/,
21575  "LMT" /*format*/,
21576  1434 /*offsetCode (21516/15)*/,
21577  6 /*offsetRemainder (21516%15)*/,
21578  0 /*deltaMinutes*/,
21579  1947 /*untilYear*/,
21580  8 /*untilMonth*/,
21581  15 /*untilDay*/,
21582  0 /*untilTimeCode (0/15)*/,
21583  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21584  },
21585  // 5:30 - +0530 1987 Oct
21586  {
21587  nullptr /*zonePolicy*/,
21588  "+0530" /*format*/,
21589  1320 /*offsetCode (19800/15)*/,
21590  0 /*offsetRemainder (19800%15)*/,
21591  0 /*deltaMinutes*/,
21592  1987 /*untilYear*/,
21593  10 /*untilMonth*/,
21594  1 /*untilDay*/,
21595  0 /*untilTimeCode (0/15)*/,
21596  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21597  },
21598  // 6:00 - +06
21599  {
21600  nullptr /*zonePolicy*/,
21601  "+06" /*format*/,
21602  1440 /*offsetCode (21600/15)*/,
21603  0 /*offsetRemainder (21600%15)*/,
21604  0 /*deltaMinutes*/,
21605  32767 /*untilYear*/,
21606  1 /*untilMonth*/,
21607  1 /*untilDay*/,
21608  0 /*untilTimeCode (0/15)*/,
21609  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21610  },
21611 
21612 };
21613 
21614 static const char kZoneNameAsia_Thimphu[] ACE_TIME_PROGMEM = "\x05" "Thimphu";
21615 
21616 const complete::ZoneInfo kZoneAsia_Thimphu ACE_TIME_PROGMEM = {
21617  kZoneNameAsia_Thimphu /*name*/,
21618  0x170380d1 /*zoneId*/,
21619  &kZoneContext /*zoneContext*/,
21620  3 /*numEras*/,
21621  kZoneEraAsia_Thimphu /*eras*/,
21622  nullptr /*targetInfo*/,
21623 };
21624 
21625 //---------------------------------------------------------------------------
21626 // Zone name: Asia/Tokyo
21627 // Eras: 2
21628 //---------------------------------------------------------------------------
21629 
21630 static const complete::ZoneEra kZoneEraAsia_Tokyo[] ACE_TIME_PROGMEM = {
21631  // 9:18:59 - LMT 1887 Dec 31 15:00u
21632  {
21633  nullptr /*zonePolicy*/,
21634  "LMT" /*format*/,
21635  2235 /*offsetCode (33539/15)*/,
21636  14 /*offsetRemainder (33539%15)*/,
21637  0 /*deltaMinutes*/,
21638  1887 /*untilYear*/,
21639  12 /*untilMonth*/,
21640  31 /*untilDay*/,
21641  3600 /*untilTimeCode (54000/15)*/,
21642  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
21643  },
21644  // 9:00 Japan J%sT
21645  {
21646  &kZonePolicyJapan /*zonePolicy*/,
21647  "J%T" /*format*/,
21648  2160 /*offsetCode (32400/15)*/,
21649  0 /*offsetRemainder (32400%15)*/,
21650  0 /*deltaMinutes*/,
21651  32767 /*untilYear*/,
21652  1 /*untilMonth*/,
21653  1 /*untilDay*/,
21654  0 /*untilTimeCode (0/15)*/,
21655  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21656  },
21657 
21658 };
21659 
21660 static const char kZoneNameAsia_Tokyo[] ACE_TIME_PROGMEM = "\x05" "Tokyo";
21661 
21662 const complete::ZoneInfo kZoneAsia_Tokyo ACE_TIME_PROGMEM = {
21663  kZoneNameAsia_Tokyo /*name*/,
21664  0x15e606a8 /*zoneId*/,
21665  &kZoneContext /*zoneContext*/,
21666  2 /*numEras*/,
21667  kZoneEraAsia_Tokyo /*eras*/,
21668  nullptr /*targetInfo*/,
21669 };
21670 
21671 //---------------------------------------------------------------------------
21672 // Zone name: Asia/Tomsk
21673 // Eras: 9
21674 //---------------------------------------------------------------------------
21675 
21676 static const complete::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = {
21677  // 5:39:51 - LMT 1919 Dec 22
21678  {
21679  nullptr /*zonePolicy*/,
21680  "LMT" /*format*/,
21681  1359 /*offsetCode (20391/15)*/,
21682  6 /*offsetRemainder (20391%15)*/,
21683  0 /*deltaMinutes*/,
21684  1919 /*untilYear*/,
21685  12 /*untilMonth*/,
21686  22 /*untilDay*/,
21687  0 /*untilTimeCode (0/15)*/,
21688  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21689  },
21690  // 6:00 - +06 1930 Jun 21
21691  {
21692  nullptr /*zonePolicy*/,
21693  "+06" /*format*/,
21694  1440 /*offsetCode (21600/15)*/,
21695  0 /*offsetRemainder (21600%15)*/,
21696  0 /*deltaMinutes*/,
21697  1930 /*untilYear*/,
21698  6 /*untilMonth*/,
21699  21 /*untilDay*/,
21700  0 /*untilTimeCode (0/15)*/,
21701  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21702  },
21703  // 7:00 Russia +07/+08 1991 Mar 31 2:00s
21704  {
21705  &kZonePolicyRussia /*zonePolicy*/,
21706  "+07/+08" /*format*/,
21707  1680 /*offsetCode (25200/15)*/,
21708  0 /*offsetRemainder (25200%15)*/,
21709  0 /*deltaMinutes*/,
21710  1991 /*untilYear*/,
21711  3 /*untilMonth*/,
21712  31 /*untilDay*/,
21713  480 /*untilTimeCode (7200/15)*/,
21714  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21715  },
21716  // 6:00 Russia +06/+07 1992 Jan 19 2:00s
21717  {
21718  &kZonePolicyRussia /*zonePolicy*/,
21719  "+06/+07" /*format*/,
21720  1440 /*offsetCode (21600/15)*/,
21721  0 /*offsetRemainder (21600%15)*/,
21722  0 /*deltaMinutes*/,
21723  1992 /*untilYear*/,
21724  1 /*untilMonth*/,
21725  19 /*untilDay*/,
21726  480 /*untilTimeCode (7200/15)*/,
21727  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21728  },
21729  // 7:00 Russia +07/+08 2002 May 1 3:00
21730  {
21731  &kZonePolicyRussia /*zonePolicy*/,
21732  "+07/+08" /*format*/,
21733  1680 /*offsetCode (25200/15)*/,
21734  0 /*offsetRemainder (25200%15)*/,
21735  0 /*deltaMinutes*/,
21736  2002 /*untilYear*/,
21737  5 /*untilMonth*/,
21738  1 /*untilDay*/,
21739  720 /*untilTimeCode (10800/15)*/,
21740  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21741  },
21742  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
21743  {
21744  &kZonePolicyRussia /*zonePolicy*/,
21745  "+06/+07" /*format*/,
21746  1440 /*offsetCode (21600/15)*/,
21747  0 /*offsetRemainder (21600%15)*/,
21748  0 /*deltaMinutes*/,
21749  2011 /*untilYear*/,
21750  3 /*untilMonth*/,
21751  27 /*untilDay*/,
21752  480 /*untilTimeCode (7200/15)*/,
21753  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21754  },
21755  // 7:00 - +07 2014 Oct 26 2:00s
21756  {
21757  nullptr /*zonePolicy*/,
21758  "+07" /*format*/,
21759  1680 /*offsetCode (25200/15)*/,
21760  0 /*offsetRemainder (25200%15)*/,
21761  0 /*deltaMinutes*/,
21762  2014 /*untilYear*/,
21763  10 /*untilMonth*/,
21764  26 /*untilDay*/,
21765  480 /*untilTimeCode (7200/15)*/,
21766  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21767  },
21768  // 6:00 - +06 2016 May 29 2:00s
21769  {
21770  nullptr /*zonePolicy*/,
21771  "+06" /*format*/,
21772  1440 /*offsetCode (21600/15)*/,
21773  0 /*offsetRemainder (21600%15)*/,
21774  0 /*deltaMinutes*/,
21775  2016 /*untilYear*/,
21776  5 /*untilMonth*/,
21777  29 /*untilDay*/,
21778  480 /*untilTimeCode (7200/15)*/,
21779  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21780  },
21781  // 7:00 - +07
21782  {
21783  nullptr /*zonePolicy*/,
21784  "+07" /*format*/,
21785  1680 /*offsetCode (25200/15)*/,
21786  0 /*offsetRemainder (25200%15)*/,
21787  0 /*deltaMinutes*/,
21788  32767 /*untilYear*/,
21789  1 /*untilMonth*/,
21790  1 /*untilDay*/,
21791  0 /*untilTimeCode (0/15)*/,
21792  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21793  },
21794 
21795 };
21796 
21797 static const char kZoneNameAsia_Tomsk[] ACE_TIME_PROGMEM = "\x05" "Tomsk";
21798 
21799 const complete::ZoneInfo kZoneAsia_Tomsk ACE_TIME_PROGMEM = {
21800  kZoneNameAsia_Tomsk /*name*/,
21801  0x15e60e60 /*zoneId*/,
21802  &kZoneContext /*zoneContext*/,
21803  9 /*numEras*/,
21804  kZoneEraAsia_Tomsk /*eras*/,
21805  nullptr /*targetInfo*/,
21806 };
21807 
21808 //---------------------------------------------------------------------------
21809 // Zone name: Asia/Ulaanbaatar
21810 // Eras: 3
21811 //---------------------------------------------------------------------------
21812 
21813 static const complete::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = {
21814  // 7:07:32 - LMT 1905 Aug
21815  {
21816  nullptr /*zonePolicy*/,
21817  "LMT" /*format*/,
21818  1710 /*offsetCode (25652/15)*/,
21819  2 /*offsetRemainder (25652%15)*/,
21820  0 /*deltaMinutes*/,
21821  1905 /*untilYear*/,
21822  8 /*untilMonth*/,
21823  1 /*untilDay*/,
21824  0 /*untilTimeCode (0/15)*/,
21825  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21826  },
21827  // 7:00 - +07 1978
21828  {
21829  nullptr /*zonePolicy*/,
21830  "+07" /*format*/,
21831  1680 /*offsetCode (25200/15)*/,
21832  0 /*offsetRemainder (25200%15)*/,
21833  0 /*deltaMinutes*/,
21834  1978 /*untilYear*/,
21835  1 /*untilMonth*/,
21836  1 /*untilDay*/,
21837  0 /*untilTimeCode (0/15)*/,
21838  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21839  },
21840  // 8:00 Mongol +08/+09
21841  {
21842  &kZonePolicyMongol /*zonePolicy*/,
21843  "+08/+09" /*format*/,
21844  1920 /*offsetCode (28800/15)*/,
21845  0 /*offsetRemainder (28800%15)*/,
21846  0 /*deltaMinutes*/,
21847  32767 /*untilYear*/,
21848  1 /*untilMonth*/,
21849  1 /*untilDay*/,
21850  0 /*untilTimeCode (0/15)*/,
21851  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21852  },
21853 
21854 };
21855 
21856 static const char kZoneNameAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = "\x05" "Ulaanbaatar";
21857 
21858 const complete::ZoneInfo kZoneAsia_Ulaanbaatar ACE_TIME_PROGMEM = {
21859  kZoneNameAsia_Ulaanbaatar /*name*/,
21860  0x30f0cc4e /*zoneId*/,
21861  &kZoneContext /*zoneContext*/,
21862  3 /*numEras*/,
21863  kZoneEraAsia_Ulaanbaatar /*eras*/,
21864  nullptr /*targetInfo*/,
21865 };
21866 
21867 //---------------------------------------------------------------------------
21868 // Zone name: Asia/Urumqi
21869 // Eras: 2
21870 //---------------------------------------------------------------------------
21871 
21872 static const complete::ZoneEra kZoneEraAsia_Urumqi[] ACE_TIME_PROGMEM = {
21873  // 5:50:20 - LMT 1928
21874  {
21875  nullptr /*zonePolicy*/,
21876  "LMT" /*format*/,
21877  1401 /*offsetCode (21020/15)*/,
21878  5 /*offsetRemainder (21020%15)*/,
21879  0 /*deltaMinutes*/,
21880  1928 /*untilYear*/,
21881  1 /*untilMonth*/,
21882  1 /*untilDay*/,
21883  0 /*untilTimeCode (0/15)*/,
21884  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21885  },
21886  // 6:00 - +06
21887  {
21888  nullptr /*zonePolicy*/,
21889  "+06" /*format*/,
21890  1440 /*offsetCode (21600/15)*/,
21891  0 /*offsetRemainder (21600%15)*/,
21892  0 /*deltaMinutes*/,
21893  32767 /*untilYear*/,
21894  1 /*untilMonth*/,
21895  1 /*untilDay*/,
21896  0 /*untilTimeCode (0/15)*/,
21897  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21898  },
21899 
21900 };
21901 
21902 static const char kZoneNameAsia_Urumqi[] ACE_TIME_PROGMEM = "\x05" "Urumqi";
21903 
21904 const complete::ZoneInfo kZoneAsia_Urumqi ACE_TIME_PROGMEM = {
21905  kZoneNameAsia_Urumqi /*name*/,
21906  0xd5379735 /*zoneId*/,
21907  &kZoneContext /*zoneContext*/,
21908  2 /*numEras*/,
21909  kZoneEraAsia_Urumqi /*eras*/,
21910  nullptr /*targetInfo*/,
21911 };
21912 
21913 //---------------------------------------------------------------------------
21914 // Zone name: Asia/Ust-Nera
21915 // Eras: 9
21916 //---------------------------------------------------------------------------
21917 
21918 static const complete::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = {
21919  // 9:32:54 - LMT 1919 Dec 15
21920  {
21921  nullptr /*zonePolicy*/,
21922  "LMT" /*format*/,
21923  2291 /*offsetCode (34374/15)*/,
21924  9 /*offsetRemainder (34374%15)*/,
21925  0 /*deltaMinutes*/,
21926  1919 /*untilYear*/,
21927  12 /*untilMonth*/,
21928  15 /*untilDay*/,
21929  0 /*untilTimeCode (0/15)*/,
21930  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21931  },
21932  // 8:00 - +08 1930 Jun 21
21933  {
21934  nullptr /*zonePolicy*/,
21935  "+08" /*format*/,
21936  1920 /*offsetCode (28800/15)*/,
21937  0 /*offsetRemainder (28800%15)*/,
21938  0 /*deltaMinutes*/,
21939  1930 /*untilYear*/,
21940  6 /*untilMonth*/,
21941  21 /*untilDay*/,
21942  0 /*untilTimeCode (0/15)*/,
21943  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21944  },
21945  // 9:00 Russia +09/+10 1981 Apr 1
21946  {
21947  &kZonePolicyRussia /*zonePolicy*/,
21948  "+09/+10" /*format*/,
21949  2160 /*offsetCode (32400/15)*/,
21950  0 /*offsetRemainder (32400%15)*/,
21951  0 /*deltaMinutes*/,
21952  1981 /*untilYear*/,
21953  4 /*untilMonth*/,
21954  1 /*untilDay*/,
21955  0 /*untilTimeCode (0/15)*/,
21956  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21957  },
21958  // 11:00 Russia +11/+12 1991 Mar 31 2:00s
21959  {
21960  &kZonePolicyRussia /*zonePolicy*/,
21961  "+11/+12" /*format*/,
21962  2640 /*offsetCode (39600/15)*/,
21963  0 /*offsetRemainder (39600%15)*/,
21964  0 /*deltaMinutes*/,
21965  1991 /*untilYear*/,
21966  3 /*untilMonth*/,
21967  31 /*untilDay*/,
21968  480 /*untilTimeCode (7200/15)*/,
21969  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21970  },
21971  // 10:00 Russia +10/+11 1992 Jan 19 2:00s
21972  {
21973  &kZonePolicyRussia /*zonePolicy*/,
21974  "+10/+11" /*format*/,
21975  2400 /*offsetCode (36000/15)*/,
21976  0 /*offsetRemainder (36000%15)*/,
21977  0 /*deltaMinutes*/,
21978  1992 /*untilYear*/,
21979  1 /*untilMonth*/,
21980  19 /*untilDay*/,
21981  480 /*untilTimeCode (7200/15)*/,
21982  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21983  },
21984  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
21985  {
21986  &kZonePolicyRussia /*zonePolicy*/,
21987  "+11/+12" /*format*/,
21988  2640 /*offsetCode (39600/15)*/,
21989  0 /*offsetRemainder (39600%15)*/,
21990  0 /*deltaMinutes*/,
21991  2011 /*untilYear*/,
21992  3 /*untilMonth*/,
21993  27 /*untilDay*/,
21994  480 /*untilTimeCode (7200/15)*/,
21995  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21996  },
21997  // 12:00 - +12 2011 Sep 13 0:00s
21998  {
21999  nullptr /*zonePolicy*/,
22000  "+12" /*format*/,
22001  2880 /*offsetCode (43200/15)*/,
22002  0 /*offsetRemainder (43200%15)*/,
22003  0 /*deltaMinutes*/,
22004  2011 /*untilYear*/,
22005  9 /*untilMonth*/,
22006  13 /*untilDay*/,
22007  0 /*untilTimeCode (0/15)*/,
22008  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22009  },
22010  // 11:00 - +11 2014 Oct 26 2:00s
22011  {
22012  nullptr /*zonePolicy*/,
22013  "+11" /*format*/,
22014  2640 /*offsetCode (39600/15)*/,
22015  0 /*offsetRemainder (39600%15)*/,
22016  0 /*deltaMinutes*/,
22017  2014 /*untilYear*/,
22018  10 /*untilMonth*/,
22019  26 /*untilDay*/,
22020  480 /*untilTimeCode (7200/15)*/,
22021  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22022  },
22023  // 10:00 - +10
22024  {
22025  nullptr /*zonePolicy*/,
22026  "+10" /*format*/,
22027  2400 /*offsetCode (36000/15)*/,
22028  0 /*offsetRemainder (36000%15)*/,
22029  0 /*deltaMinutes*/,
22030  32767 /*untilYear*/,
22031  1 /*untilMonth*/,
22032  1 /*untilDay*/,
22033  0 /*untilTimeCode (0/15)*/,
22034  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22035  },
22036 
22037 };
22038 
22039 static const char kZoneNameAsia_Ust_Nera[] ACE_TIME_PROGMEM = "\x05" "Ust-Nera";
22040 
22041 const complete::ZoneInfo kZoneAsia_Ust_Nera ACE_TIME_PROGMEM = {
22042  kZoneNameAsia_Ust_Nera /*name*/,
22043  0x4785f921 /*zoneId*/,
22044  &kZoneContext /*zoneContext*/,
22045  9 /*numEras*/,
22046  kZoneEraAsia_Ust_Nera /*eras*/,
22047  nullptr /*targetInfo*/,
22048 };
22049 
22050 //---------------------------------------------------------------------------
22051 // Zone name: Asia/Vladivostok
22052 // Eras: 7
22053 //---------------------------------------------------------------------------
22054 
22055 static const complete::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = {
22056  // 8:47:31 - LMT 1922 Nov 15
22057  {
22058  nullptr /*zonePolicy*/,
22059  "LMT" /*format*/,
22060  2110 /*offsetCode (31651/15)*/,
22061  1 /*offsetRemainder (31651%15)*/,
22062  0 /*deltaMinutes*/,
22063  1922 /*untilYear*/,
22064  11 /*untilMonth*/,
22065  15 /*untilDay*/,
22066  0 /*untilTimeCode (0/15)*/,
22067  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22068  },
22069  // 9:00 - +09 1930 Jun 21
22070  {
22071  nullptr /*zonePolicy*/,
22072  "+09" /*format*/,
22073  2160 /*offsetCode (32400/15)*/,
22074  0 /*offsetRemainder (32400%15)*/,
22075  0 /*deltaMinutes*/,
22076  1930 /*untilYear*/,
22077  6 /*untilMonth*/,
22078  21 /*untilDay*/,
22079  0 /*untilTimeCode (0/15)*/,
22080  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22081  },
22082  // 10:00 Russia +10/+11 1991 Mar 31 2:00s
22083  {
22084  &kZonePolicyRussia /*zonePolicy*/,
22085  "+10/+11" /*format*/,
22086  2400 /*offsetCode (36000/15)*/,
22087  0 /*offsetRemainder (36000%15)*/,
22088  0 /*deltaMinutes*/,
22089  1991 /*untilYear*/,
22090  3 /*untilMonth*/,
22091  31 /*untilDay*/,
22092  480 /*untilTimeCode (7200/15)*/,
22093  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22094  },
22095  // 9:00 Russia +09/+10 1992 Jan 19 2:00s
22096  {
22097  &kZonePolicyRussia /*zonePolicy*/,
22098  "+09/+10" /*format*/,
22099  2160 /*offsetCode (32400/15)*/,
22100  0 /*offsetRemainder (32400%15)*/,
22101  0 /*deltaMinutes*/,
22102  1992 /*untilYear*/,
22103  1 /*untilMonth*/,
22104  19 /*untilDay*/,
22105  480 /*untilTimeCode (7200/15)*/,
22106  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22107  },
22108  // 10:00 Russia +10/+11 2011 Mar 27 2:00s
22109  {
22110  &kZonePolicyRussia /*zonePolicy*/,
22111  "+10/+11" /*format*/,
22112  2400 /*offsetCode (36000/15)*/,
22113  0 /*offsetRemainder (36000%15)*/,
22114  0 /*deltaMinutes*/,
22115  2011 /*untilYear*/,
22116  3 /*untilMonth*/,
22117  27 /*untilDay*/,
22118  480 /*untilTimeCode (7200/15)*/,
22119  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22120  },
22121  // 11:00 - +11 2014 Oct 26 2:00s
22122  {
22123  nullptr /*zonePolicy*/,
22124  "+11" /*format*/,
22125  2640 /*offsetCode (39600/15)*/,
22126  0 /*offsetRemainder (39600%15)*/,
22127  0 /*deltaMinutes*/,
22128  2014 /*untilYear*/,
22129  10 /*untilMonth*/,
22130  26 /*untilDay*/,
22131  480 /*untilTimeCode (7200/15)*/,
22132  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22133  },
22134  // 10:00 - +10
22135  {
22136  nullptr /*zonePolicy*/,
22137  "+10" /*format*/,
22138  2400 /*offsetCode (36000/15)*/,
22139  0 /*offsetRemainder (36000%15)*/,
22140  0 /*deltaMinutes*/,
22141  32767 /*untilYear*/,
22142  1 /*untilMonth*/,
22143  1 /*untilDay*/,
22144  0 /*untilTimeCode (0/15)*/,
22145  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22146  },
22147 
22148 };
22149 
22150 static const char kZoneNameAsia_Vladivostok[] ACE_TIME_PROGMEM = "\x05" "Vladivostok";
22151 
22152 const complete::ZoneInfo kZoneAsia_Vladivostok ACE_TIME_PROGMEM = {
22153  kZoneNameAsia_Vladivostok /*name*/,
22154  0x29de34a8 /*zoneId*/,
22155  &kZoneContext /*zoneContext*/,
22156  7 /*numEras*/,
22157  kZoneEraAsia_Vladivostok /*eras*/,
22158  nullptr /*targetInfo*/,
22159 };
22160 
22161 //---------------------------------------------------------------------------
22162 // Zone name: Asia/Yakutsk
22163 // Eras: 7
22164 //---------------------------------------------------------------------------
22165 
22166 static const complete::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = {
22167  // 8:38:58 - LMT 1919 Dec 15
22168  {
22169  nullptr /*zonePolicy*/,
22170  "LMT" /*format*/,
22171  2075 /*offsetCode (31138/15)*/,
22172  13 /*offsetRemainder (31138%15)*/,
22173  0 /*deltaMinutes*/,
22174  1919 /*untilYear*/,
22175  12 /*untilMonth*/,
22176  15 /*untilDay*/,
22177  0 /*untilTimeCode (0/15)*/,
22178  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22179  },
22180  // 8:00 - +08 1930 Jun 21
22181  {
22182  nullptr /*zonePolicy*/,
22183  "+08" /*format*/,
22184  1920 /*offsetCode (28800/15)*/,
22185  0 /*offsetRemainder (28800%15)*/,
22186  0 /*deltaMinutes*/,
22187  1930 /*untilYear*/,
22188  6 /*untilMonth*/,
22189  21 /*untilDay*/,
22190  0 /*untilTimeCode (0/15)*/,
22191  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22192  },
22193  // 9:00 Russia +09/+10 1991 Mar 31 2:00s
22194  {
22195  &kZonePolicyRussia /*zonePolicy*/,
22196  "+09/+10" /*format*/,
22197  2160 /*offsetCode (32400/15)*/,
22198  0 /*offsetRemainder (32400%15)*/,
22199  0 /*deltaMinutes*/,
22200  1991 /*untilYear*/,
22201  3 /*untilMonth*/,
22202  31 /*untilDay*/,
22203  480 /*untilTimeCode (7200/15)*/,
22204  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22205  },
22206  // 8:00 Russia +08/+09 1992 Jan 19 2:00s
22207  {
22208  &kZonePolicyRussia /*zonePolicy*/,
22209  "+08/+09" /*format*/,
22210  1920 /*offsetCode (28800/15)*/,
22211  0 /*offsetRemainder (28800%15)*/,
22212  0 /*deltaMinutes*/,
22213  1992 /*untilYear*/,
22214  1 /*untilMonth*/,
22215  19 /*untilDay*/,
22216  480 /*untilTimeCode (7200/15)*/,
22217  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22218  },
22219  // 9:00 Russia +09/+10 2011 Mar 27 2:00s
22220  {
22221  &kZonePolicyRussia /*zonePolicy*/,
22222  "+09/+10" /*format*/,
22223  2160 /*offsetCode (32400/15)*/,
22224  0 /*offsetRemainder (32400%15)*/,
22225  0 /*deltaMinutes*/,
22226  2011 /*untilYear*/,
22227  3 /*untilMonth*/,
22228  27 /*untilDay*/,
22229  480 /*untilTimeCode (7200/15)*/,
22230  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22231  },
22232  // 10:00 - +10 2014 Oct 26 2:00s
22233  {
22234  nullptr /*zonePolicy*/,
22235  "+10" /*format*/,
22236  2400 /*offsetCode (36000/15)*/,
22237  0 /*offsetRemainder (36000%15)*/,
22238  0 /*deltaMinutes*/,
22239  2014 /*untilYear*/,
22240  10 /*untilMonth*/,
22241  26 /*untilDay*/,
22242  480 /*untilTimeCode (7200/15)*/,
22243  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22244  },
22245  // 9:00 - +09
22246  {
22247  nullptr /*zonePolicy*/,
22248  "+09" /*format*/,
22249  2160 /*offsetCode (32400/15)*/,
22250  0 /*offsetRemainder (32400%15)*/,
22251  0 /*deltaMinutes*/,
22252  32767 /*untilYear*/,
22253  1 /*untilMonth*/,
22254  1 /*untilDay*/,
22255  0 /*untilTimeCode (0/15)*/,
22256  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22257  },
22258 
22259 };
22260 
22261 static const char kZoneNameAsia_Yakutsk[] ACE_TIME_PROGMEM = "\x05" "Yakutsk";
22262 
22263 const complete::ZoneInfo kZoneAsia_Yakutsk ACE_TIME_PROGMEM = {
22264  kZoneNameAsia_Yakutsk /*name*/,
22265  0x87bb3a9e /*zoneId*/,
22266  &kZoneContext /*zoneContext*/,
22267  7 /*numEras*/,
22268  kZoneEraAsia_Yakutsk /*eras*/,
22269  nullptr /*targetInfo*/,
22270 };
22271 
22272 //---------------------------------------------------------------------------
22273 // Zone name: Asia/Yangon
22274 // Eras: 5
22275 //---------------------------------------------------------------------------
22276 
22277 static const complete::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = {
22278  // 6:24:47 - LMT 1880
22279  {
22280  nullptr /*zonePolicy*/,
22281  "LMT" /*format*/,
22282  1539 /*offsetCode (23087/15)*/,
22283  2 /*offsetRemainder (23087%15)*/,
22284  0 /*deltaMinutes*/,
22285  1880 /*untilYear*/,
22286  1 /*untilMonth*/,
22287  1 /*untilDay*/,
22288  0 /*untilTimeCode (0/15)*/,
22289  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22290  },
22291  // 6:24:47 - RMT 1920
22292  {
22293  nullptr /*zonePolicy*/,
22294  "RMT" /*format*/,
22295  1539 /*offsetCode (23087/15)*/,
22296  2 /*offsetRemainder (23087%15)*/,
22297  0 /*deltaMinutes*/,
22298  1920 /*untilYear*/,
22299  1 /*untilMonth*/,
22300  1 /*untilDay*/,
22301  0 /*untilTimeCode (0/15)*/,
22302  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22303  },
22304  // 6:30 - +0630 1942 May
22305  {
22306  nullptr /*zonePolicy*/,
22307  "+0630" /*format*/,
22308  1560 /*offsetCode (23400/15)*/,
22309  0 /*offsetRemainder (23400%15)*/,
22310  0 /*deltaMinutes*/,
22311  1942 /*untilYear*/,
22312  5 /*untilMonth*/,
22313  1 /*untilDay*/,
22314  0 /*untilTimeCode (0/15)*/,
22315  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22316  },
22317  // 9:00 - +09 1945 May 3
22318  {
22319  nullptr /*zonePolicy*/,
22320  "+09" /*format*/,
22321  2160 /*offsetCode (32400/15)*/,
22322  0 /*offsetRemainder (32400%15)*/,
22323  0 /*deltaMinutes*/,
22324  1945 /*untilYear*/,
22325  5 /*untilMonth*/,
22326  3 /*untilDay*/,
22327  0 /*untilTimeCode (0/15)*/,
22328  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22329  },
22330  // 6:30 - +0630
22331  {
22332  nullptr /*zonePolicy*/,
22333  "+0630" /*format*/,
22334  1560 /*offsetCode (23400/15)*/,
22335  0 /*offsetRemainder (23400%15)*/,
22336  0 /*deltaMinutes*/,
22337  32767 /*untilYear*/,
22338  1 /*untilMonth*/,
22339  1 /*untilDay*/,
22340  0 /*untilTimeCode (0/15)*/,
22341  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22342  },
22343 
22344 };
22345 
22346 static const char kZoneNameAsia_Yangon[] ACE_TIME_PROGMEM = "\x05" "Yangon";
22347 
22348 const complete::ZoneInfo kZoneAsia_Yangon ACE_TIME_PROGMEM = {
22349  kZoneNameAsia_Yangon /*name*/,
22350  0xdd54a8be /*zoneId*/,
22351  &kZoneContext /*zoneContext*/,
22352  5 /*numEras*/,
22353  kZoneEraAsia_Yangon /*eras*/,
22354  nullptr /*targetInfo*/,
22355 };
22356 
22357 //---------------------------------------------------------------------------
22358 // Zone name: Asia/Yekaterinburg
22359 // Eras: 8
22360 //---------------------------------------------------------------------------
22361 
22362 static const complete::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = {
22363  // 4:02:33 - LMT 1916 Jul 3
22364  {
22365  nullptr /*zonePolicy*/,
22366  "LMT" /*format*/,
22367  970 /*offsetCode (14553/15)*/,
22368  3 /*offsetRemainder (14553%15)*/,
22369  0 /*deltaMinutes*/,
22370  1916 /*untilYear*/,
22371  7 /*untilMonth*/,
22372  3 /*untilDay*/,
22373  0 /*untilTimeCode (0/15)*/,
22374  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22375  },
22376  // 3:45:05 - PMT 1919 Jul 15 4:00
22377  {
22378  nullptr /*zonePolicy*/,
22379  "PMT" /*format*/,
22380  900 /*offsetCode (13505/15)*/,
22381  5 /*offsetRemainder (13505%15)*/,
22382  0 /*deltaMinutes*/,
22383  1919 /*untilYear*/,
22384  7 /*untilMonth*/,
22385  15 /*untilDay*/,
22386  960 /*untilTimeCode (14400/15)*/,
22387  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22388  },
22389  // 4:00 - +04 1930 Jun 21
22390  {
22391  nullptr /*zonePolicy*/,
22392  "+04" /*format*/,
22393  960 /*offsetCode (14400/15)*/,
22394  0 /*offsetRemainder (14400%15)*/,
22395  0 /*deltaMinutes*/,
22396  1930 /*untilYear*/,
22397  6 /*untilMonth*/,
22398  21 /*untilDay*/,
22399  0 /*untilTimeCode (0/15)*/,
22400  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22401  },
22402  // 5:00 Russia +05/+06 1991 Mar 31 2:00s
22403  {
22404  &kZonePolicyRussia /*zonePolicy*/,
22405  "+05/+06" /*format*/,
22406  1200 /*offsetCode (18000/15)*/,
22407  0 /*offsetRemainder (18000%15)*/,
22408  0 /*deltaMinutes*/,
22409  1991 /*untilYear*/,
22410  3 /*untilMonth*/,
22411  31 /*untilDay*/,
22412  480 /*untilTimeCode (7200/15)*/,
22413  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22414  },
22415  // 4:00 Russia +04/+05 1992 Jan 19 2:00s
22416  {
22417  &kZonePolicyRussia /*zonePolicy*/,
22418  "+04/+05" /*format*/,
22419  960 /*offsetCode (14400/15)*/,
22420  0 /*offsetRemainder (14400%15)*/,
22421  0 /*deltaMinutes*/,
22422  1992 /*untilYear*/,
22423  1 /*untilMonth*/,
22424  19 /*untilDay*/,
22425  480 /*untilTimeCode (7200/15)*/,
22426  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22427  },
22428  // 5:00 Russia +05/+06 2011 Mar 27 2:00s
22429  {
22430  &kZonePolicyRussia /*zonePolicy*/,
22431  "+05/+06" /*format*/,
22432  1200 /*offsetCode (18000/15)*/,
22433  0 /*offsetRemainder (18000%15)*/,
22434  0 /*deltaMinutes*/,
22435  2011 /*untilYear*/,
22436  3 /*untilMonth*/,
22437  27 /*untilDay*/,
22438  480 /*untilTimeCode (7200/15)*/,
22439  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22440  },
22441  // 6:00 - +06 2014 Oct 26 2:00s
22442  {
22443  nullptr /*zonePolicy*/,
22444  "+06" /*format*/,
22445  1440 /*offsetCode (21600/15)*/,
22446  0 /*offsetRemainder (21600%15)*/,
22447  0 /*deltaMinutes*/,
22448  2014 /*untilYear*/,
22449  10 /*untilMonth*/,
22450  26 /*untilDay*/,
22451  480 /*untilTimeCode (7200/15)*/,
22452  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22453  },
22454  // 5:00 - +05
22455  {
22456  nullptr /*zonePolicy*/,
22457  "+05" /*format*/,
22458  1200 /*offsetCode (18000/15)*/,
22459  0 /*offsetRemainder (18000%15)*/,
22460  0 /*deltaMinutes*/,
22461  32767 /*untilYear*/,
22462  1 /*untilMonth*/,
22463  1 /*untilDay*/,
22464  0 /*untilTimeCode (0/15)*/,
22465  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22466  },
22467 
22468 };
22469 
22470 static const char kZoneNameAsia_Yekaterinburg[] ACE_TIME_PROGMEM = "\x05" "Yekaterinburg";
22471 
22472 const complete::ZoneInfo kZoneAsia_Yekaterinburg ACE_TIME_PROGMEM = {
22473  kZoneNameAsia_Yekaterinburg /*name*/,
22474  0xfb544c6e /*zoneId*/,
22475  &kZoneContext /*zoneContext*/,
22476  8 /*numEras*/,
22477  kZoneEraAsia_Yekaterinburg /*eras*/,
22478  nullptr /*targetInfo*/,
22479 };
22480 
22481 //---------------------------------------------------------------------------
22482 // Zone name: Asia/Yerevan
22483 // Eras: 7
22484 //---------------------------------------------------------------------------
22485 
22486 static const complete::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = {
22487  // 2:58:00 - LMT 1924 May 2
22488  {
22489  nullptr /*zonePolicy*/,
22490  "LMT" /*format*/,
22491  712 /*offsetCode (10680/15)*/,
22492  0 /*offsetRemainder (10680%15)*/,
22493  0 /*deltaMinutes*/,
22494  1924 /*untilYear*/,
22495  5 /*untilMonth*/,
22496  2 /*untilDay*/,
22497  0 /*untilTimeCode (0/15)*/,
22498  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22499  },
22500  // 3:00 - +03 1957 Mar
22501  {
22502  nullptr /*zonePolicy*/,
22503  "+03" /*format*/,
22504  720 /*offsetCode (10800/15)*/,
22505  0 /*offsetRemainder (10800%15)*/,
22506  0 /*deltaMinutes*/,
22507  1957 /*untilYear*/,
22508  3 /*untilMonth*/,
22509  1 /*untilDay*/,
22510  0 /*untilTimeCode (0/15)*/,
22511  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22512  },
22513  // 4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s
22514  {
22515  &kZonePolicyRussiaAsia /*zonePolicy*/,
22516  "+04/+05" /*format*/,
22517  960 /*offsetCode (14400/15)*/,
22518  0 /*offsetRemainder (14400%15)*/,
22519  0 /*deltaMinutes*/,
22520  1991 /*untilYear*/,
22521  3 /*untilMonth*/,
22522  31 /*untilDay*/,
22523  480 /*untilTimeCode (7200/15)*/,
22524  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22525  },
22526  // 3:00 RussiaAsia +03/+04 1995 Sep 24 2:00s
22527  {
22528  &kZonePolicyRussiaAsia /*zonePolicy*/,
22529  "+03/+04" /*format*/,
22530  720 /*offsetCode (10800/15)*/,
22531  0 /*offsetRemainder (10800%15)*/,
22532  0 /*deltaMinutes*/,
22533  1995 /*untilYear*/,
22534  9 /*untilMonth*/,
22535  24 /*untilDay*/,
22536  480 /*untilTimeCode (7200/15)*/,
22537  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22538  },
22539  // 4:00 - +04 1997
22540  {
22541  nullptr /*zonePolicy*/,
22542  "+04" /*format*/,
22543  960 /*offsetCode (14400/15)*/,
22544  0 /*offsetRemainder (14400%15)*/,
22545  0 /*deltaMinutes*/,
22546  1997 /*untilYear*/,
22547  1 /*untilMonth*/,
22548  1 /*untilDay*/,
22549  0 /*untilTimeCode (0/15)*/,
22550  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22551  },
22552  // 4:00 RussiaAsia +04/+05 2011
22553  {
22554  &kZonePolicyRussiaAsia /*zonePolicy*/,
22555  "+04/+05" /*format*/,
22556  960 /*offsetCode (14400/15)*/,
22557  0 /*offsetRemainder (14400%15)*/,
22558  0 /*deltaMinutes*/,
22559  2011 /*untilYear*/,
22560  1 /*untilMonth*/,
22561  1 /*untilDay*/,
22562  0 /*untilTimeCode (0/15)*/,
22563  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22564  },
22565  // 4:00 Armenia +04/+05
22566  {
22567  &kZonePolicyArmenia /*zonePolicy*/,
22568  "+04/+05" /*format*/,
22569  960 /*offsetCode (14400/15)*/,
22570  0 /*offsetRemainder (14400%15)*/,
22571  0 /*deltaMinutes*/,
22572  32767 /*untilYear*/,
22573  1 /*untilMonth*/,
22574  1 /*untilDay*/,
22575  0 /*untilTimeCode (0/15)*/,
22576  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22577  },
22578 
22579 };
22580 
22581 static const char kZoneNameAsia_Yerevan[] ACE_TIME_PROGMEM = "\x05" "Yerevan";
22582 
22583 const complete::ZoneInfo kZoneAsia_Yerevan ACE_TIME_PROGMEM = {
22584  kZoneNameAsia_Yerevan /*name*/,
22585  0x9185c8cc /*zoneId*/,
22586  &kZoneContext /*zoneContext*/,
22587  7 /*numEras*/,
22588  kZoneEraAsia_Yerevan /*eras*/,
22589  nullptr /*targetInfo*/,
22590 };
22591 
22592 //---------------------------------------------------------------------------
22593 // Zone name: Atlantic/Azores
22594 // Eras: 15
22595 //---------------------------------------------------------------------------
22596 
22597 static const complete::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = {
22598  // -1:42:40 - LMT 1884
22599  {
22600  nullptr /*zonePolicy*/,
22601  "LMT" /*format*/,
22602  -411 /*offsetCode (-6160/15)*/,
22603  5 /*offsetRemainder (-6160%15)*/,
22604  0 /*deltaMinutes*/,
22605  1884 /*untilYear*/,
22606  1 /*untilMonth*/,
22607  1 /*untilDay*/,
22608  0 /*untilTimeCode (0/15)*/,
22609  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22610  },
22611  // -1:54:32 - HMT 1912 Jan 1 2:00u
22612  {
22613  nullptr /*zonePolicy*/,
22614  "HMT" /*format*/,
22615  -459 /*offsetCode (-6872/15)*/,
22616  13 /*offsetRemainder (-6872%15)*/,
22617  0 /*deltaMinutes*/,
22618  1912 /*untilYear*/,
22619  1 /*untilMonth*/,
22620  1 /*untilDay*/,
22621  480 /*untilTimeCode (7200/15)*/,
22622  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
22623  },
22624  // -2:00 Port -02/-01 1942 Apr 25 22:00s
22625  {
22626  &kZonePolicyPort /*zonePolicy*/,
22627  "-02/-01" /*format*/,
22628  -480 /*offsetCode (-7200/15)*/,
22629  0 /*offsetRemainder (-7200%15)*/,
22630  0 /*deltaMinutes*/,
22631  1942 /*untilYear*/,
22632  4 /*untilMonth*/,
22633  25 /*untilDay*/,
22634  5280 /*untilTimeCode (79200/15)*/,
22635  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22636  },
22637  // -2:00 Port +00 1942 Aug 15 22:00s
22638  {
22639  &kZonePolicyPort /*zonePolicy*/,
22640  "+00" /*format*/,
22641  -480 /*offsetCode (-7200/15)*/,
22642  0 /*offsetRemainder (-7200%15)*/,
22643  0 /*deltaMinutes*/,
22644  1942 /*untilYear*/,
22645  8 /*untilMonth*/,
22646  15 /*untilDay*/,
22647  5280 /*untilTimeCode (79200/15)*/,
22648  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22649  },
22650  // -2:00 Port -02/-01 1943 Apr 17 22:00s
22651  {
22652  &kZonePolicyPort /*zonePolicy*/,
22653  "-02/-01" /*format*/,
22654  -480 /*offsetCode (-7200/15)*/,
22655  0 /*offsetRemainder (-7200%15)*/,
22656  0 /*deltaMinutes*/,
22657  1943 /*untilYear*/,
22658  4 /*untilMonth*/,
22659  17 /*untilDay*/,
22660  5280 /*untilTimeCode (79200/15)*/,
22661  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22662  },
22663  // -2:00 Port +00 1943 Aug 28 22:00s
22664  {
22665  &kZonePolicyPort /*zonePolicy*/,
22666  "+00" /*format*/,
22667  -480 /*offsetCode (-7200/15)*/,
22668  0 /*offsetRemainder (-7200%15)*/,
22669  0 /*deltaMinutes*/,
22670  1943 /*untilYear*/,
22671  8 /*untilMonth*/,
22672  28 /*untilDay*/,
22673  5280 /*untilTimeCode (79200/15)*/,
22674  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22675  },
22676  // -2:00 Port -02/-01 1944 Apr 22 22:00s
22677  {
22678  &kZonePolicyPort /*zonePolicy*/,
22679  "-02/-01" /*format*/,
22680  -480 /*offsetCode (-7200/15)*/,
22681  0 /*offsetRemainder (-7200%15)*/,
22682  0 /*deltaMinutes*/,
22683  1944 /*untilYear*/,
22684  4 /*untilMonth*/,
22685  22 /*untilDay*/,
22686  5280 /*untilTimeCode (79200/15)*/,
22687  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22688  },
22689  // -2:00 Port +00 1944 Aug 26 22:00s
22690  {
22691  &kZonePolicyPort /*zonePolicy*/,
22692  "+00" /*format*/,
22693  -480 /*offsetCode (-7200/15)*/,
22694  0 /*offsetRemainder (-7200%15)*/,
22695  0 /*deltaMinutes*/,
22696  1944 /*untilYear*/,
22697  8 /*untilMonth*/,
22698  26 /*untilDay*/,
22699  5280 /*untilTimeCode (79200/15)*/,
22700  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22701  },
22702  // -2:00 Port -02/-01 1945 Apr 21 22:00s
22703  {
22704  &kZonePolicyPort /*zonePolicy*/,
22705  "-02/-01" /*format*/,
22706  -480 /*offsetCode (-7200/15)*/,
22707  0 /*offsetRemainder (-7200%15)*/,
22708  0 /*deltaMinutes*/,
22709  1945 /*untilYear*/,
22710  4 /*untilMonth*/,
22711  21 /*untilDay*/,
22712  5280 /*untilTimeCode (79200/15)*/,
22713  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22714  },
22715  // -2:00 Port +00 1945 Aug 25 22:00s
22716  {
22717  &kZonePolicyPort /*zonePolicy*/,
22718  "+00" /*format*/,
22719  -480 /*offsetCode (-7200/15)*/,
22720  0 /*offsetRemainder (-7200%15)*/,
22721  0 /*deltaMinutes*/,
22722  1945 /*untilYear*/,
22723  8 /*untilMonth*/,
22724  25 /*untilDay*/,
22725  5280 /*untilTimeCode (79200/15)*/,
22726  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22727  },
22728  // -2:00 Port -02/-01 1966 Apr 3 2:00
22729  {
22730  &kZonePolicyPort /*zonePolicy*/,
22731  "-02/-01" /*format*/,
22732  -480 /*offsetCode (-7200/15)*/,
22733  0 /*offsetRemainder (-7200%15)*/,
22734  0 /*deltaMinutes*/,
22735  1966 /*untilYear*/,
22736  4 /*untilMonth*/,
22737  3 /*untilDay*/,
22738  480 /*untilTimeCode (7200/15)*/,
22739  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22740  },
22741  // -1:00 Port -01/+00 1983 Sep 25 1:00s
22742  {
22743  &kZonePolicyPort /*zonePolicy*/,
22744  "-01/+00" /*format*/,
22745  -240 /*offsetCode (-3600/15)*/,
22746  0 /*offsetRemainder (-3600%15)*/,
22747  0 /*deltaMinutes*/,
22748  1983 /*untilYear*/,
22749  9 /*untilMonth*/,
22750  25 /*untilDay*/,
22751  240 /*untilTimeCode (3600/15)*/,
22752  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22753  },
22754  // -1:00 W-Eur -01/+00 1992 Sep 27 1:00s
22755  {
22756  &kZonePolicyW_Eur /*zonePolicy*/,
22757  "-01/+00" /*format*/,
22758  -240 /*offsetCode (-3600/15)*/,
22759  0 /*offsetRemainder (-3600%15)*/,
22760  0 /*deltaMinutes*/,
22761  1992 /*untilYear*/,
22762  9 /*untilMonth*/,
22763  27 /*untilDay*/,
22764  240 /*untilTimeCode (3600/15)*/,
22765  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22766  },
22767  // 0:00 EU WE%sT 1993 Mar 28 1:00u
22768  {
22769  &kZonePolicyEU /*zonePolicy*/,
22770  "WE%T" /*format*/,
22771  0 /*offsetCode (0/15)*/,
22772  0 /*offsetRemainder (0%15)*/,
22773  0 /*deltaMinutes*/,
22774  1993 /*untilYear*/,
22775  3 /*untilMonth*/,
22776  28 /*untilDay*/,
22777  240 /*untilTimeCode (3600/15)*/,
22778  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
22779  },
22780  // -1:00 EU -01/+00
22781  {
22782  &kZonePolicyEU /*zonePolicy*/,
22783  "-01/+00" /*format*/,
22784  -240 /*offsetCode (-3600/15)*/,
22785  0 /*offsetRemainder (-3600%15)*/,
22786  0 /*deltaMinutes*/,
22787  32767 /*untilYear*/,
22788  1 /*untilMonth*/,
22789  1 /*untilDay*/,
22790  0 /*untilTimeCode (0/15)*/,
22791  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22792  },
22793 
22794 };
22795 
22796 static const char kZoneNameAtlantic_Azores[] ACE_TIME_PROGMEM = "\x06" "Azores";
22797 
22798 const complete::ZoneInfo kZoneAtlantic_Azores ACE_TIME_PROGMEM = {
22799  kZoneNameAtlantic_Azores /*name*/,
22800  0xf93ed918 /*zoneId*/,
22801  &kZoneContext /*zoneContext*/,
22802  15 /*numEras*/,
22803  kZoneEraAtlantic_Azores /*eras*/,
22804  nullptr /*targetInfo*/,
22805 };
22806 
22807 //---------------------------------------------------------------------------
22808 // Zone name: Atlantic/Bermuda
22809 // Eras: 5
22810 //---------------------------------------------------------------------------
22811 
22812 static const complete::ZoneEra kZoneEraAtlantic_Bermuda[] ACE_TIME_PROGMEM = {
22813  // -4:19:18 - LMT 1890
22814  {
22815  nullptr /*zonePolicy*/,
22816  "LMT" /*format*/,
22817  -1038 /*offsetCode (-15558/15)*/,
22818  12 /*offsetRemainder (-15558%15)*/,
22819  0 /*deltaMinutes*/,
22820  1890 /*untilYear*/,
22821  1 /*untilMonth*/,
22822  1 /*untilDay*/,
22823  0 /*untilTimeCode (0/15)*/,
22824  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22825  },
22826  // -4:19:18 Bermuda BMT/BST 1930 Jan 1 2:00
22827  {
22828  &kZonePolicyBermuda /*zonePolicy*/,
22829  "BMT/BST" /*format*/,
22830  -1038 /*offsetCode (-15558/15)*/,
22831  12 /*offsetRemainder (-15558%15)*/,
22832  0 /*deltaMinutes*/,
22833  1930 /*untilYear*/,
22834  1 /*untilMonth*/,
22835  1 /*untilDay*/,
22836  480 /*untilTimeCode (7200/15)*/,
22837  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22838  },
22839  // -4:00 Bermuda A%sT 1974 Apr 28 2:00
22840  {
22841  &kZonePolicyBermuda /*zonePolicy*/,
22842  "A%T" /*format*/,
22843  -960 /*offsetCode (-14400/15)*/,
22844  0 /*offsetRemainder (-14400%15)*/,
22845  0 /*deltaMinutes*/,
22846  1974 /*untilYear*/,
22847  4 /*untilMonth*/,
22848  28 /*untilDay*/,
22849  480 /*untilTimeCode (7200/15)*/,
22850  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22851  },
22852  // -4:00 Canada A%sT 1976
22853  {
22854  &kZonePolicyCanada /*zonePolicy*/,
22855  "A%T" /*format*/,
22856  -960 /*offsetCode (-14400/15)*/,
22857  0 /*offsetRemainder (-14400%15)*/,
22858  0 /*deltaMinutes*/,
22859  1976 /*untilYear*/,
22860  1 /*untilMonth*/,
22861  1 /*untilDay*/,
22862  0 /*untilTimeCode (0/15)*/,
22863  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22864  },
22865  // -4:00 US A%sT
22866  {
22867  &kZonePolicyUS /*zonePolicy*/,
22868  "A%T" /*format*/,
22869  -960 /*offsetCode (-14400/15)*/,
22870  0 /*offsetRemainder (-14400%15)*/,
22871  0 /*deltaMinutes*/,
22872  32767 /*untilYear*/,
22873  1 /*untilMonth*/,
22874  1 /*untilDay*/,
22875  0 /*untilTimeCode (0/15)*/,
22876  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22877  },
22878 
22879 };
22880 
22881 static const char kZoneNameAtlantic_Bermuda[] ACE_TIME_PROGMEM = "\x06" "Bermuda";
22882 
22883 const complete::ZoneInfo kZoneAtlantic_Bermuda ACE_TIME_PROGMEM = {
22884  kZoneNameAtlantic_Bermuda /*name*/,
22885  0x3d4bb1c4 /*zoneId*/,
22886  &kZoneContext /*zoneContext*/,
22887  5 /*numEras*/,
22888  kZoneEraAtlantic_Bermuda /*eras*/,
22889  nullptr /*targetInfo*/,
22890 };
22891 
22892 //---------------------------------------------------------------------------
22893 // Zone name: Atlantic/Canary
22894 // Eras: 5
22895 //---------------------------------------------------------------------------
22896 
22897 static const complete::ZoneEra kZoneEraAtlantic_Canary[] ACE_TIME_PROGMEM = {
22898  // -1:01:36 - LMT 1922 Mar
22899  {
22900  nullptr /*zonePolicy*/,
22901  "LMT" /*format*/,
22902  -247 /*offsetCode (-3696/15)*/,
22903  9 /*offsetRemainder (-3696%15)*/,
22904  0 /*deltaMinutes*/,
22905  1922 /*untilYear*/,
22906  3 /*untilMonth*/,
22907  1 /*untilDay*/,
22908  0 /*untilTimeCode (0/15)*/,
22909  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22910  },
22911  // -1:00 - -01 1946 Sep 30 1:00
22912  {
22913  nullptr /*zonePolicy*/,
22914  "-01" /*format*/,
22915  -240 /*offsetCode (-3600/15)*/,
22916  0 /*offsetRemainder (-3600%15)*/,
22917  0 /*deltaMinutes*/,
22918  1946 /*untilYear*/,
22919  9 /*untilMonth*/,
22920  30 /*untilDay*/,
22921  240 /*untilTimeCode (3600/15)*/,
22922  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22923  },
22924  // 0:00 - WET 1980 Apr 6 0:00s
22925  {
22926  nullptr /*zonePolicy*/,
22927  "WET" /*format*/,
22928  0 /*offsetCode (0/15)*/,
22929  0 /*offsetRemainder (0%15)*/,
22930  0 /*deltaMinutes*/,
22931  1980 /*untilYear*/,
22932  4 /*untilMonth*/,
22933  6 /*untilDay*/,
22934  0 /*untilTimeCode (0/15)*/,
22935  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22936  },
22937  // 0:00 1:00 WEST 1980 Sep 28 1:00u
22938  {
22939  nullptr /*zonePolicy*/,
22940  "WEST" /*format*/,
22941  0 /*offsetCode (0/15)*/,
22942  0 /*offsetRemainder (0%15)*/,
22943  60 /*deltaMinutes*/,
22944  1980 /*untilYear*/,
22945  9 /*untilMonth*/,
22946  28 /*untilDay*/,
22947  240 /*untilTimeCode (3600/15)*/,
22948  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
22949  },
22950  // 0:00 EU WE%sT
22951  {
22952  &kZonePolicyEU /*zonePolicy*/,
22953  "WE%T" /*format*/,
22954  0 /*offsetCode (0/15)*/,
22955  0 /*offsetRemainder (0%15)*/,
22956  0 /*deltaMinutes*/,
22957  32767 /*untilYear*/,
22958  1 /*untilMonth*/,
22959  1 /*untilDay*/,
22960  0 /*untilTimeCode (0/15)*/,
22961  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22962  },
22963 
22964 };
22965 
22966 static const char kZoneNameAtlantic_Canary[] ACE_TIME_PROGMEM = "\x06" "Canary";
22967 
22968 const complete::ZoneInfo kZoneAtlantic_Canary ACE_TIME_PROGMEM = {
22969  kZoneNameAtlantic_Canary /*name*/,
22970  0xfc23f2c2 /*zoneId*/,
22971  &kZoneContext /*zoneContext*/,
22972  5 /*numEras*/,
22973  kZoneEraAtlantic_Canary /*eras*/,
22974  nullptr /*targetInfo*/,
22975 };
22976 
22977 //---------------------------------------------------------------------------
22978 // Zone name: Atlantic/Cape_Verde
22979 // Eras: 5
22980 //---------------------------------------------------------------------------
22981 
22982 static const complete::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = {
22983  // -1:34:04 - LMT 1912 Jan 01 2:00u
22984  {
22985  nullptr /*zonePolicy*/,
22986  "LMT" /*format*/,
22987  -377 /*offsetCode (-5644/15)*/,
22988  11 /*offsetRemainder (-5644%15)*/,
22989  0 /*deltaMinutes*/,
22990  1912 /*untilYear*/,
22991  1 /*untilMonth*/,
22992  1 /*untilDay*/,
22993  480 /*untilTimeCode (7200/15)*/,
22994  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
22995  },
22996  // -2:00 - -02 1942 Sep
22997  {
22998  nullptr /*zonePolicy*/,
22999  "-02" /*format*/,
23000  -480 /*offsetCode (-7200/15)*/,
23001  0 /*offsetRemainder (-7200%15)*/,
23002  0 /*deltaMinutes*/,
23003  1942 /*untilYear*/,
23004  9 /*untilMonth*/,
23005  1 /*untilDay*/,
23006  0 /*untilTimeCode (0/15)*/,
23007  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23008  },
23009  // -2:00 1:00 -01 1945 Oct 15
23010  {
23011  nullptr /*zonePolicy*/,
23012  "-01" /*format*/,
23013  -480 /*offsetCode (-7200/15)*/,
23014  0 /*offsetRemainder (-7200%15)*/,
23015  60 /*deltaMinutes*/,
23016  1945 /*untilYear*/,
23017  10 /*untilMonth*/,
23018  15 /*untilDay*/,
23019  0 /*untilTimeCode (0/15)*/,
23020  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23021  },
23022  // -2:00 - -02 1975 Nov 25 2:00
23023  {
23024  nullptr /*zonePolicy*/,
23025  "-02" /*format*/,
23026  -480 /*offsetCode (-7200/15)*/,
23027  0 /*offsetRemainder (-7200%15)*/,
23028  0 /*deltaMinutes*/,
23029  1975 /*untilYear*/,
23030  11 /*untilMonth*/,
23031  25 /*untilDay*/,
23032  480 /*untilTimeCode (7200/15)*/,
23033  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23034  },
23035  // -1:00 - -01
23036  {
23037  nullptr /*zonePolicy*/,
23038  "-01" /*format*/,
23039  -240 /*offsetCode (-3600/15)*/,
23040  0 /*offsetRemainder (-3600%15)*/,
23041  0 /*deltaMinutes*/,
23042  32767 /*untilYear*/,
23043  1 /*untilMonth*/,
23044  1 /*untilDay*/,
23045  0 /*untilTimeCode (0/15)*/,
23046  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23047  },
23048 
23049 };
23050 
23051 static const char kZoneNameAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = "\x06" "Cape_Verde";
23052 
23053 const complete::ZoneInfo kZoneAtlantic_Cape_Verde ACE_TIME_PROGMEM = {
23054  kZoneNameAtlantic_Cape_Verde /*name*/,
23055  0x5c5e1772 /*zoneId*/,
23056  &kZoneContext /*zoneContext*/,
23057  5 /*numEras*/,
23058  kZoneEraAtlantic_Cape_Verde /*eras*/,
23059  nullptr /*targetInfo*/,
23060 };
23061 
23062 //---------------------------------------------------------------------------
23063 // Zone name: Atlantic/Faroe
23064 // Eras: 3
23065 //---------------------------------------------------------------------------
23066 
23067 static const complete::ZoneEra kZoneEraAtlantic_Faroe[] ACE_TIME_PROGMEM = {
23068  // -0:27:04 - LMT 1908 Jan 11
23069  {
23070  nullptr /*zonePolicy*/,
23071  "LMT" /*format*/,
23072  -109 /*offsetCode (-1624/15)*/,
23073  11 /*offsetRemainder (-1624%15)*/,
23074  0 /*deltaMinutes*/,
23075  1908 /*untilYear*/,
23076  1 /*untilMonth*/,
23077  11 /*untilDay*/,
23078  0 /*untilTimeCode (0/15)*/,
23079  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23080  },
23081  // 0:00 - WET 1981
23082  {
23083  nullptr /*zonePolicy*/,
23084  "WET" /*format*/,
23085  0 /*offsetCode (0/15)*/,
23086  0 /*offsetRemainder (0%15)*/,
23087  0 /*deltaMinutes*/,
23088  1981 /*untilYear*/,
23089  1 /*untilMonth*/,
23090  1 /*untilDay*/,
23091  0 /*untilTimeCode (0/15)*/,
23092  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23093  },
23094  // 0:00 EU WE%sT
23095  {
23096  &kZonePolicyEU /*zonePolicy*/,
23097  "WE%T" /*format*/,
23098  0 /*offsetCode (0/15)*/,
23099  0 /*offsetRemainder (0%15)*/,
23100  0 /*deltaMinutes*/,
23101  32767 /*untilYear*/,
23102  1 /*untilMonth*/,
23103  1 /*untilDay*/,
23104  0 /*untilTimeCode (0/15)*/,
23105  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23106  },
23107 
23108 };
23109 
23110 static const char kZoneNameAtlantic_Faroe[] ACE_TIME_PROGMEM = "\x06" "Faroe";
23111 
23112 const complete::ZoneInfo kZoneAtlantic_Faroe ACE_TIME_PROGMEM = {
23113  kZoneNameAtlantic_Faroe /*name*/,
23114  0xe110a971 /*zoneId*/,
23115  &kZoneContext /*zoneContext*/,
23116  3 /*numEras*/,
23117  kZoneEraAtlantic_Faroe /*eras*/,
23118  nullptr /*targetInfo*/,
23119 };
23120 
23121 //---------------------------------------------------------------------------
23122 // Zone name: Atlantic/Madeira
23123 // Eras: 13
23124 //---------------------------------------------------------------------------
23125 
23126 static const complete::ZoneEra kZoneEraAtlantic_Madeira[] ACE_TIME_PROGMEM = {
23127  // -1:07:36 - LMT 1884
23128  {
23129  nullptr /*zonePolicy*/,
23130  "LMT" /*format*/,
23131  -271 /*offsetCode (-4056/15)*/,
23132  9 /*offsetRemainder (-4056%15)*/,
23133  0 /*deltaMinutes*/,
23134  1884 /*untilYear*/,
23135  1 /*untilMonth*/,
23136  1 /*untilDay*/,
23137  0 /*untilTimeCode (0/15)*/,
23138  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23139  },
23140  // -1:07:36 - FMT 1912 Jan 1 1:00u
23141  {
23142  nullptr /*zonePolicy*/,
23143  "FMT" /*format*/,
23144  -271 /*offsetCode (-4056/15)*/,
23145  9 /*offsetRemainder (-4056%15)*/,
23146  0 /*deltaMinutes*/,
23147  1912 /*untilYear*/,
23148  1 /*untilMonth*/,
23149  1 /*untilDay*/,
23150  240 /*untilTimeCode (3600/15)*/,
23151  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
23152  },
23153  // -1:00 Port -01/+00 1942 Apr 25 22:00s
23154  {
23155  &kZonePolicyPort /*zonePolicy*/,
23156  "-01/+00" /*format*/,
23157  -240 /*offsetCode (-3600/15)*/,
23158  0 /*offsetRemainder (-3600%15)*/,
23159  0 /*deltaMinutes*/,
23160  1942 /*untilYear*/,
23161  4 /*untilMonth*/,
23162  25 /*untilDay*/,
23163  5280 /*untilTimeCode (79200/15)*/,
23164  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23165  },
23166  // -1:00 Port +01 1942 Aug 15 22:00s
23167  {
23168  &kZonePolicyPort /*zonePolicy*/,
23169  "+01" /*format*/,
23170  -240 /*offsetCode (-3600/15)*/,
23171  0 /*offsetRemainder (-3600%15)*/,
23172  0 /*deltaMinutes*/,
23173  1942 /*untilYear*/,
23174  8 /*untilMonth*/,
23175  15 /*untilDay*/,
23176  5280 /*untilTimeCode (79200/15)*/,
23177  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23178  },
23179  // -1:00 Port -01/+00 1943 Apr 17 22:00s
23180  {
23181  &kZonePolicyPort /*zonePolicy*/,
23182  "-01/+00" /*format*/,
23183  -240 /*offsetCode (-3600/15)*/,
23184  0 /*offsetRemainder (-3600%15)*/,
23185  0 /*deltaMinutes*/,
23186  1943 /*untilYear*/,
23187  4 /*untilMonth*/,
23188  17 /*untilDay*/,
23189  5280 /*untilTimeCode (79200/15)*/,
23190  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23191  },
23192  // -1:00 Port +01 1943 Aug 28 22:00s
23193  {
23194  &kZonePolicyPort /*zonePolicy*/,
23195  "+01" /*format*/,
23196  -240 /*offsetCode (-3600/15)*/,
23197  0 /*offsetRemainder (-3600%15)*/,
23198  0 /*deltaMinutes*/,
23199  1943 /*untilYear*/,
23200  8 /*untilMonth*/,
23201  28 /*untilDay*/,
23202  5280 /*untilTimeCode (79200/15)*/,
23203  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23204  },
23205  // -1:00 Port -01/+00 1944 Apr 22 22:00s
23206  {
23207  &kZonePolicyPort /*zonePolicy*/,
23208  "-01/+00" /*format*/,
23209  -240 /*offsetCode (-3600/15)*/,
23210  0 /*offsetRemainder (-3600%15)*/,
23211  0 /*deltaMinutes*/,
23212  1944 /*untilYear*/,
23213  4 /*untilMonth*/,
23214  22 /*untilDay*/,
23215  5280 /*untilTimeCode (79200/15)*/,
23216  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23217  },
23218  // -1:00 Port +01 1944 Aug 26 22:00s
23219  {
23220  &kZonePolicyPort /*zonePolicy*/,
23221  "+01" /*format*/,
23222  -240 /*offsetCode (-3600/15)*/,
23223  0 /*offsetRemainder (-3600%15)*/,
23224  0 /*deltaMinutes*/,
23225  1944 /*untilYear*/,
23226  8 /*untilMonth*/,
23227  26 /*untilDay*/,
23228  5280 /*untilTimeCode (79200/15)*/,
23229  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23230  },
23231  // -1:00 Port -01/+00 1945 Apr 21 22:00s
23232  {
23233  &kZonePolicyPort /*zonePolicy*/,
23234  "-01/+00" /*format*/,
23235  -240 /*offsetCode (-3600/15)*/,
23236  0 /*offsetRemainder (-3600%15)*/,
23237  0 /*deltaMinutes*/,
23238  1945 /*untilYear*/,
23239  4 /*untilMonth*/,
23240  21 /*untilDay*/,
23241  5280 /*untilTimeCode (79200/15)*/,
23242  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23243  },
23244  // -1:00 Port +01 1945 Aug 25 22:00s
23245  {
23246  &kZonePolicyPort /*zonePolicy*/,
23247  "+01" /*format*/,
23248  -240 /*offsetCode (-3600/15)*/,
23249  0 /*offsetRemainder (-3600%15)*/,
23250  0 /*deltaMinutes*/,
23251  1945 /*untilYear*/,
23252  8 /*untilMonth*/,
23253  25 /*untilDay*/,
23254  5280 /*untilTimeCode (79200/15)*/,
23255  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23256  },
23257  // -1:00 Port -01/+00 1966 Apr 3 2:00
23258  {
23259  &kZonePolicyPort /*zonePolicy*/,
23260  "-01/+00" /*format*/,
23261  -240 /*offsetCode (-3600/15)*/,
23262  0 /*offsetRemainder (-3600%15)*/,
23263  0 /*deltaMinutes*/,
23264  1966 /*untilYear*/,
23265  4 /*untilMonth*/,
23266  3 /*untilDay*/,
23267  480 /*untilTimeCode (7200/15)*/,
23268  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23269  },
23270  // 0:00 Port WE%sT 1983 Sep 25 1:00s
23271  {
23272  &kZonePolicyPort /*zonePolicy*/,
23273  "WE%T" /*format*/,
23274  0 /*offsetCode (0/15)*/,
23275  0 /*offsetRemainder (0%15)*/,
23276  0 /*deltaMinutes*/,
23277  1983 /*untilYear*/,
23278  9 /*untilMonth*/,
23279  25 /*untilDay*/,
23280  240 /*untilTimeCode (3600/15)*/,
23281  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23282  },
23283  // 0:00 EU WE%sT
23284  {
23285  &kZonePolicyEU /*zonePolicy*/,
23286  "WE%T" /*format*/,
23287  0 /*offsetCode (0/15)*/,
23288  0 /*offsetRemainder (0%15)*/,
23289  0 /*deltaMinutes*/,
23290  32767 /*untilYear*/,
23291  1 /*untilMonth*/,
23292  1 /*untilDay*/,
23293  0 /*untilTimeCode (0/15)*/,
23294  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23295  },
23296 
23297 };
23298 
23299 static const char kZoneNameAtlantic_Madeira[] ACE_TIME_PROGMEM = "\x06" "Madeira";
23300 
23301 const complete::ZoneInfo kZoneAtlantic_Madeira ACE_TIME_PROGMEM = {
23302  kZoneNameAtlantic_Madeira /*name*/,
23303  0x81b5c037 /*zoneId*/,
23304  &kZoneContext /*zoneContext*/,
23305  13 /*numEras*/,
23306  kZoneEraAtlantic_Madeira /*eras*/,
23307  nullptr /*targetInfo*/,
23308 };
23309 
23310 //---------------------------------------------------------------------------
23311 // Zone name: Atlantic/South_Georgia
23312 // Eras: 2
23313 //---------------------------------------------------------------------------
23314 
23315 static const complete::ZoneEra kZoneEraAtlantic_South_Georgia[] ACE_TIME_PROGMEM = {
23316  // -2:26:08 - LMT 1890
23317  {
23318  nullptr /*zonePolicy*/,
23319  "LMT" /*format*/,
23320  -585 /*offsetCode (-8768/15)*/,
23321  7 /*offsetRemainder (-8768%15)*/,
23322  0 /*deltaMinutes*/,
23323  1890 /*untilYear*/,
23324  1 /*untilMonth*/,
23325  1 /*untilDay*/,
23326  0 /*untilTimeCode (0/15)*/,
23327  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23328  },
23329  // -2:00 - -02
23330  {
23331  nullptr /*zonePolicy*/,
23332  "-02" /*format*/,
23333  -480 /*offsetCode (-7200/15)*/,
23334  0 /*offsetRemainder (-7200%15)*/,
23335  0 /*deltaMinutes*/,
23336  32767 /*untilYear*/,
23337  1 /*untilMonth*/,
23338  1 /*untilDay*/,
23339  0 /*untilTimeCode (0/15)*/,
23340  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23341  },
23342 
23343 };
23344 
23345 static const char kZoneNameAtlantic_South_Georgia[] ACE_TIME_PROGMEM = "\x06" "South_Georgia";
23346 
23347 const complete::ZoneInfo kZoneAtlantic_South_Georgia ACE_TIME_PROGMEM = {
23348  kZoneNameAtlantic_South_Georgia /*name*/,
23349  0x33013174 /*zoneId*/,
23350  &kZoneContext /*zoneContext*/,
23351  2 /*numEras*/,
23352  kZoneEraAtlantic_South_Georgia /*eras*/,
23353  nullptr /*targetInfo*/,
23354 };
23355 
23356 //---------------------------------------------------------------------------
23357 // Zone name: Atlantic/Stanley
23358 // Eras: 6
23359 //---------------------------------------------------------------------------
23360 
23361 static const complete::ZoneEra kZoneEraAtlantic_Stanley[] ACE_TIME_PROGMEM = {
23362  // -3:51:24 - LMT 1890
23363  {
23364  nullptr /*zonePolicy*/,
23365  "LMT" /*format*/,
23366  -926 /*offsetCode (-13884/15)*/,
23367  6 /*offsetRemainder (-13884%15)*/,
23368  0 /*deltaMinutes*/,
23369  1890 /*untilYear*/,
23370  1 /*untilMonth*/,
23371  1 /*untilDay*/,
23372  0 /*untilTimeCode (0/15)*/,
23373  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23374  },
23375  // -3:51:24 - SMT 1912 Mar 12
23376  {
23377  nullptr /*zonePolicy*/,
23378  "SMT" /*format*/,
23379  -926 /*offsetCode (-13884/15)*/,
23380  6 /*offsetRemainder (-13884%15)*/,
23381  0 /*deltaMinutes*/,
23382  1912 /*untilYear*/,
23383  3 /*untilMonth*/,
23384  12 /*untilDay*/,
23385  0 /*untilTimeCode (0/15)*/,
23386  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23387  },
23388  // -4:00 Falk -04/-03 1983 May
23389  {
23390  &kZonePolicyFalk /*zonePolicy*/,
23391  "-04/-03" /*format*/,
23392  -960 /*offsetCode (-14400/15)*/,
23393  0 /*offsetRemainder (-14400%15)*/,
23394  0 /*deltaMinutes*/,
23395  1983 /*untilYear*/,
23396  5 /*untilMonth*/,
23397  1 /*untilDay*/,
23398  0 /*untilTimeCode (0/15)*/,
23399  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23400  },
23401  // -3:00 Falk -03/-02 1985 Sep 15
23402  {
23403  &kZonePolicyFalk /*zonePolicy*/,
23404  "-03/-02" /*format*/,
23405  -720 /*offsetCode (-10800/15)*/,
23406  0 /*offsetRemainder (-10800%15)*/,
23407  0 /*deltaMinutes*/,
23408  1985 /*untilYear*/,
23409  9 /*untilMonth*/,
23410  15 /*untilDay*/,
23411  0 /*untilTimeCode (0/15)*/,
23412  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23413  },
23414  // -4:00 Falk -04/-03 2010 Sep 5 2:00
23415  {
23416  &kZonePolicyFalk /*zonePolicy*/,
23417  "-04/-03" /*format*/,
23418  -960 /*offsetCode (-14400/15)*/,
23419  0 /*offsetRemainder (-14400%15)*/,
23420  0 /*deltaMinutes*/,
23421  2010 /*untilYear*/,
23422  9 /*untilMonth*/,
23423  5 /*untilDay*/,
23424  480 /*untilTimeCode (7200/15)*/,
23425  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23426  },
23427  // -3:00 - -03
23428  {
23429  nullptr /*zonePolicy*/,
23430  "-03" /*format*/,
23431  -720 /*offsetCode (-10800/15)*/,
23432  0 /*offsetRemainder (-10800%15)*/,
23433  0 /*deltaMinutes*/,
23434  32767 /*untilYear*/,
23435  1 /*untilMonth*/,
23436  1 /*untilDay*/,
23437  0 /*untilTimeCode (0/15)*/,
23438  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23439  },
23440 
23441 };
23442 
23443 static const char kZoneNameAtlantic_Stanley[] ACE_TIME_PROGMEM = "\x06" "Stanley";
23444 
23445 const complete::ZoneInfo kZoneAtlantic_Stanley ACE_TIME_PROGMEM = {
23446  kZoneNameAtlantic_Stanley /*name*/,
23447  0x7bb3e1c4 /*zoneId*/,
23448  &kZoneContext /*zoneContext*/,
23449  6 /*numEras*/,
23450  kZoneEraAtlantic_Stanley /*eras*/,
23451  nullptr /*targetInfo*/,
23452 };
23453 
23454 //---------------------------------------------------------------------------
23455 // Zone name: Australia/Adelaide
23456 // Eras: 4
23457 //---------------------------------------------------------------------------
23458 
23459 static const complete::ZoneEra kZoneEraAustralia_Adelaide[] ACE_TIME_PROGMEM = {
23460  // 9:14:20 - LMT 1895 Feb
23461  {
23462  nullptr /*zonePolicy*/,
23463  "LMT" /*format*/,
23464  2217 /*offsetCode (33260/15)*/,
23465  5 /*offsetRemainder (33260%15)*/,
23466  0 /*deltaMinutes*/,
23467  1895 /*untilYear*/,
23468  2 /*untilMonth*/,
23469  1 /*untilDay*/,
23470  0 /*untilTimeCode (0/15)*/,
23471  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23472  },
23473  // 9:00 - ACST 1899 May
23474  {
23475  nullptr /*zonePolicy*/,
23476  "ACST" /*format*/,
23477  2160 /*offsetCode (32400/15)*/,
23478  0 /*offsetRemainder (32400%15)*/,
23479  0 /*deltaMinutes*/,
23480  1899 /*untilYear*/,
23481  5 /*untilMonth*/,
23482  1 /*untilDay*/,
23483  0 /*untilTimeCode (0/15)*/,
23484  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23485  },
23486  // 9:30 Aus AC%sT 1971
23487  {
23488  &kZonePolicyAus /*zonePolicy*/,
23489  "AC%T" /*format*/,
23490  2280 /*offsetCode (34200/15)*/,
23491  0 /*offsetRemainder (34200%15)*/,
23492  0 /*deltaMinutes*/,
23493  1971 /*untilYear*/,
23494  1 /*untilMonth*/,
23495  1 /*untilDay*/,
23496  0 /*untilTimeCode (0/15)*/,
23497  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23498  },
23499  // 9:30 AS AC%sT
23500  {
23501  &kZonePolicyAS /*zonePolicy*/,
23502  "AC%T" /*format*/,
23503  2280 /*offsetCode (34200/15)*/,
23504  0 /*offsetRemainder (34200%15)*/,
23505  0 /*deltaMinutes*/,
23506  32767 /*untilYear*/,
23507  1 /*untilMonth*/,
23508  1 /*untilDay*/,
23509  0 /*untilTimeCode (0/15)*/,
23510  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23511  },
23512 
23513 };
23514 
23515 static const char kZoneNameAustralia_Adelaide[] ACE_TIME_PROGMEM = "\x07" "Adelaide";
23516 
23517 const complete::ZoneInfo kZoneAustralia_Adelaide ACE_TIME_PROGMEM = {
23518  kZoneNameAustralia_Adelaide /*name*/,
23519  0x2428e8a3 /*zoneId*/,
23520  &kZoneContext /*zoneContext*/,
23521  4 /*numEras*/,
23522  kZoneEraAustralia_Adelaide /*eras*/,
23523  nullptr /*targetInfo*/,
23524 };
23525 
23526 //---------------------------------------------------------------------------
23527 // Zone name: Australia/Brisbane
23528 // Eras: 3
23529 //---------------------------------------------------------------------------
23530 
23531 static const complete::ZoneEra kZoneEraAustralia_Brisbane[] ACE_TIME_PROGMEM = {
23532  // 10:12:08 - LMT 1895
23533  {
23534  nullptr /*zonePolicy*/,
23535  "LMT" /*format*/,
23536  2448 /*offsetCode (36728/15)*/,
23537  8 /*offsetRemainder (36728%15)*/,
23538  0 /*deltaMinutes*/,
23539  1895 /*untilYear*/,
23540  1 /*untilMonth*/,
23541  1 /*untilDay*/,
23542  0 /*untilTimeCode (0/15)*/,
23543  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23544  },
23545  // 10:00 Aus AE%sT 1971
23546  {
23547  &kZonePolicyAus /*zonePolicy*/,
23548  "AE%T" /*format*/,
23549  2400 /*offsetCode (36000/15)*/,
23550  0 /*offsetRemainder (36000%15)*/,
23551  0 /*deltaMinutes*/,
23552  1971 /*untilYear*/,
23553  1 /*untilMonth*/,
23554  1 /*untilDay*/,
23555  0 /*untilTimeCode (0/15)*/,
23556  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23557  },
23558  // 10:00 AQ AE%sT
23559  {
23560  &kZonePolicyAQ /*zonePolicy*/,
23561  "AE%T" /*format*/,
23562  2400 /*offsetCode (36000/15)*/,
23563  0 /*offsetRemainder (36000%15)*/,
23564  0 /*deltaMinutes*/,
23565  32767 /*untilYear*/,
23566  1 /*untilMonth*/,
23567  1 /*untilDay*/,
23568  0 /*untilTimeCode (0/15)*/,
23569  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23570  },
23571 
23572 };
23573 
23574 static const char kZoneNameAustralia_Brisbane[] ACE_TIME_PROGMEM = "\x07" "Brisbane";
23575 
23576 const complete::ZoneInfo kZoneAustralia_Brisbane ACE_TIME_PROGMEM = {
23577  kZoneNameAustralia_Brisbane /*name*/,
23578  0x4fedc9c0 /*zoneId*/,
23579  &kZoneContext /*zoneContext*/,
23580  3 /*numEras*/,
23581  kZoneEraAustralia_Brisbane /*eras*/,
23582  nullptr /*targetInfo*/,
23583 };
23584 
23585 //---------------------------------------------------------------------------
23586 // Zone name: Australia/Broken_Hill
23587 // Eras: 6
23588 //---------------------------------------------------------------------------
23589 
23590 static const complete::ZoneEra kZoneEraAustralia_Broken_Hill[] ACE_TIME_PROGMEM = {
23591  // 9:25:48 - LMT 1895 Feb
23592  {
23593  nullptr /*zonePolicy*/,
23594  "LMT" /*format*/,
23595  2263 /*offsetCode (33948/15)*/,
23596  3 /*offsetRemainder (33948%15)*/,
23597  0 /*deltaMinutes*/,
23598  1895 /*untilYear*/,
23599  2 /*untilMonth*/,
23600  1 /*untilDay*/,
23601  0 /*untilTimeCode (0/15)*/,
23602  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23603  },
23604  // 10:00 - AEST 1896 Aug 23
23605  {
23606  nullptr /*zonePolicy*/,
23607  "AEST" /*format*/,
23608  2400 /*offsetCode (36000/15)*/,
23609  0 /*offsetRemainder (36000%15)*/,
23610  0 /*deltaMinutes*/,
23611  1896 /*untilYear*/,
23612  8 /*untilMonth*/,
23613  23 /*untilDay*/,
23614  0 /*untilTimeCode (0/15)*/,
23615  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23616  },
23617  // 9:00 - ACST 1899 May
23618  {
23619  nullptr /*zonePolicy*/,
23620  "ACST" /*format*/,
23621  2160 /*offsetCode (32400/15)*/,
23622  0 /*offsetRemainder (32400%15)*/,
23623  0 /*deltaMinutes*/,
23624  1899 /*untilYear*/,
23625  5 /*untilMonth*/,
23626  1 /*untilDay*/,
23627  0 /*untilTimeCode (0/15)*/,
23628  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23629  },
23630  // 9:30 Aus AC%sT 1971
23631  {
23632  &kZonePolicyAus /*zonePolicy*/,
23633  "AC%T" /*format*/,
23634  2280 /*offsetCode (34200/15)*/,
23635  0 /*offsetRemainder (34200%15)*/,
23636  0 /*deltaMinutes*/,
23637  1971 /*untilYear*/,
23638  1 /*untilMonth*/,
23639  1 /*untilDay*/,
23640  0 /*untilTimeCode (0/15)*/,
23641  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23642  },
23643  // 9:30 AN AC%sT 2000
23644  {
23645  &kZonePolicyAN /*zonePolicy*/,
23646  "AC%T" /*format*/,
23647  2280 /*offsetCode (34200/15)*/,
23648  0 /*offsetRemainder (34200%15)*/,
23649  0 /*deltaMinutes*/,
23650  2000 /*untilYear*/,
23651  1 /*untilMonth*/,
23652  1 /*untilDay*/,
23653  0 /*untilTimeCode (0/15)*/,
23654  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23655  },
23656  // 9:30 AS AC%sT
23657  {
23658  &kZonePolicyAS /*zonePolicy*/,
23659  "AC%T" /*format*/,
23660  2280 /*offsetCode (34200/15)*/,
23661  0 /*offsetRemainder (34200%15)*/,
23662  0 /*deltaMinutes*/,
23663  32767 /*untilYear*/,
23664  1 /*untilMonth*/,
23665  1 /*untilDay*/,
23666  0 /*untilTimeCode (0/15)*/,
23667  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23668  },
23669 
23670 };
23671 
23672 static const char kZoneNameAustralia_Broken_Hill[] ACE_TIME_PROGMEM = "\x07" "Broken_Hill";
23673 
23674 const complete::ZoneInfo kZoneAustralia_Broken_Hill ACE_TIME_PROGMEM = {
23675  kZoneNameAustralia_Broken_Hill /*name*/,
23676  0xb06eada3 /*zoneId*/,
23677  &kZoneContext /*zoneContext*/,
23678  6 /*numEras*/,
23679  kZoneEraAustralia_Broken_Hill /*eras*/,
23680  nullptr /*targetInfo*/,
23681 };
23682 
23683 //---------------------------------------------------------------------------
23684 // Zone name: Australia/Darwin
23685 // Eras: 3
23686 //---------------------------------------------------------------------------
23687 
23688 static const complete::ZoneEra kZoneEraAustralia_Darwin[] ACE_TIME_PROGMEM = {
23689  // 8:43:20 - LMT 1895 Feb
23690  {
23691  nullptr /*zonePolicy*/,
23692  "LMT" /*format*/,
23693  2093 /*offsetCode (31400/15)*/,
23694  5 /*offsetRemainder (31400%15)*/,
23695  0 /*deltaMinutes*/,
23696  1895 /*untilYear*/,
23697  2 /*untilMonth*/,
23698  1 /*untilDay*/,
23699  0 /*untilTimeCode (0/15)*/,
23700  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23701  },
23702  // 9:00 - ACST 1899 May
23703  {
23704  nullptr /*zonePolicy*/,
23705  "ACST" /*format*/,
23706  2160 /*offsetCode (32400/15)*/,
23707  0 /*offsetRemainder (32400%15)*/,
23708  0 /*deltaMinutes*/,
23709  1899 /*untilYear*/,
23710  5 /*untilMonth*/,
23711  1 /*untilDay*/,
23712  0 /*untilTimeCode (0/15)*/,
23713  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23714  },
23715  // 9:30 Aus AC%sT
23716  {
23717  &kZonePolicyAus /*zonePolicy*/,
23718  "AC%T" /*format*/,
23719  2280 /*offsetCode (34200/15)*/,
23720  0 /*offsetRemainder (34200%15)*/,
23721  0 /*deltaMinutes*/,
23722  32767 /*untilYear*/,
23723  1 /*untilMonth*/,
23724  1 /*untilDay*/,
23725  0 /*untilTimeCode (0/15)*/,
23726  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23727  },
23728 
23729 };
23730 
23731 static const char kZoneNameAustralia_Darwin[] ACE_TIME_PROGMEM = "\x07" "Darwin";
23732 
23733 const complete::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = {
23734  kZoneNameAustralia_Darwin /*name*/,
23735  0x2876bdff /*zoneId*/,
23736  &kZoneContext /*zoneContext*/,
23737  3 /*numEras*/,
23738  kZoneEraAustralia_Darwin /*eras*/,
23739  nullptr /*targetInfo*/,
23740 };
23741 
23742 //---------------------------------------------------------------------------
23743 // Zone name: Australia/Eucla
23744 // Eras: 3
23745 //---------------------------------------------------------------------------
23746 
23747 static const complete::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = {
23748  // 8:35:28 - LMT 1895 Dec
23749  {
23750  nullptr /*zonePolicy*/,
23751  "LMT" /*format*/,
23752  2061 /*offsetCode (30928/15)*/,
23753  13 /*offsetRemainder (30928%15)*/,
23754  0 /*deltaMinutes*/,
23755  1895 /*untilYear*/,
23756  12 /*untilMonth*/,
23757  1 /*untilDay*/,
23758  0 /*untilTimeCode (0/15)*/,
23759  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23760  },
23761  // 8:45 Aus +0845/+0945 1943 Jul
23762  {
23763  &kZonePolicyAus /*zonePolicy*/,
23764  "+0845/+0945" /*format*/,
23765  2100 /*offsetCode (31500/15)*/,
23766  0 /*offsetRemainder (31500%15)*/,
23767  0 /*deltaMinutes*/,
23768  1943 /*untilYear*/,
23769  7 /*untilMonth*/,
23770  1 /*untilDay*/,
23771  0 /*untilTimeCode (0/15)*/,
23772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23773  },
23774  // 8:45 AW +0845/+0945
23775  {
23776  &kZonePolicyAW /*zonePolicy*/,
23777  "+0845/+0945" /*format*/,
23778  2100 /*offsetCode (31500/15)*/,
23779  0 /*offsetRemainder (31500%15)*/,
23780  0 /*deltaMinutes*/,
23781  32767 /*untilYear*/,
23782  1 /*untilMonth*/,
23783  1 /*untilDay*/,
23784  0 /*untilTimeCode (0/15)*/,
23785  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23786  },
23787 
23788 };
23789 
23790 static const char kZoneNameAustralia_Eucla[] ACE_TIME_PROGMEM = "\x07" "Eucla";
23791 
23792 const complete::ZoneInfo kZoneAustralia_Eucla ACE_TIME_PROGMEM = {
23793  kZoneNameAustralia_Eucla /*name*/,
23794  0x8cf99e44 /*zoneId*/,
23795  &kZoneContext /*zoneContext*/,
23796  3 /*numEras*/,
23797  kZoneEraAustralia_Eucla /*eras*/,
23798  nullptr /*targetInfo*/,
23799 };
23800 
23801 //---------------------------------------------------------------------------
23802 // Zone name: Australia/Hobart
23803 // Eras: 4
23804 //---------------------------------------------------------------------------
23805 
23806 static const complete::ZoneEra kZoneEraAustralia_Hobart[] ACE_TIME_PROGMEM = {
23807  // 9:49:16 - LMT 1895 Sep
23808  {
23809  nullptr /*zonePolicy*/,
23810  "LMT" /*format*/,
23811  2357 /*offsetCode (35356/15)*/,
23812  1 /*offsetRemainder (35356%15)*/,
23813  0 /*deltaMinutes*/,
23814  1895 /*untilYear*/,
23815  9 /*untilMonth*/,
23816  1 /*untilDay*/,
23817  0 /*untilTimeCode (0/15)*/,
23818  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23819  },
23820  // 10:00 AT AE%sT 1919 Oct 24
23821  {
23822  &kZonePolicyAT /*zonePolicy*/,
23823  "AE%T" /*format*/,
23824  2400 /*offsetCode (36000/15)*/,
23825  0 /*offsetRemainder (36000%15)*/,
23826  0 /*deltaMinutes*/,
23827  1919 /*untilYear*/,
23828  10 /*untilMonth*/,
23829  24 /*untilDay*/,
23830  0 /*untilTimeCode (0/15)*/,
23831  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23832  },
23833  // 10:00 Aus AE%sT 1967
23834  {
23835  &kZonePolicyAus /*zonePolicy*/,
23836  "AE%T" /*format*/,
23837  2400 /*offsetCode (36000/15)*/,
23838  0 /*offsetRemainder (36000%15)*/,
23839  0 /*deltaMinutes*/,
23840  1967 /*untilYear*/,
23841  1 /*untilMonth*/,
23842  1 /*untilDay*/,
23843  0 /*untilTimeCode (0/15)*/,
23844  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23845  },
23846  // 10:00 AT AE%sT
23847  {
23848  &kZonePolicyAT /*zonePolicy*/,
23849  "AE%T" /*format*/,
23850  2400 /*offsetCode (36000/15)*/,
23851  0 /*offsetRemainder (36000%15)*/,
23852  0 /*deltaMinutes*/,
23853  32767 /*untilYear*/,
23854  1 /*untilMonth*/,
23855  1 /*untilDay*/,
23856  0 /*untilTimeCode (0/15)*/,
23857  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23858  },
23859 
23860 };
23861 
23862 static const char kZoneNameAustralia_Hobart[] ACE_TIME_PROGMEM = "\x07" "Hobart";
23863 
23864 const complete::ZoneInfo kZoneAustralia_Hobart ACE_TIME_PROGMEM = {
23865  kZoneNameAustralia_Hobart /*name*/,
23866  0x32bf951a /*zoneId*/,
23867  &kZoneContext /*zoneContext*/,
23868  4 /*numEras*/,
23869  kZoneEraAustralia_Hobart /*eras*/,
23870  nullptr /*targetInfo*/,
23871 };
23872 
23873 //---------------------------------------------------------------------------
23874 // Zone name: Australia/Lindeman
23875 // Eras: 4
23876 //---------------------------------------------------------------------------
23877 
23878 static const complete::ZoneEra kZoneEraAustralia_Lindeman[] ACE_TIME_PROGMEM = {
23879  // 9:55:56 - LMT 1895
23880  {
23881  nullptr /*zonePolicy*/,
23882  "LMT" /*format*/,
23883  2383 /*offsetCode (35756/15)*/,
23884  11 /*offsetRemainder (35756%15)*/,
23885  0 /*deltaMinutes*/,
23886  1895 /*untilYear*/,
23887  1 /*untilMonth*/,
23888  1 /*untilDay*/,
23889  0 /*untilTimeCode (0/15)*/,
23890  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23891  },
23892  // 10:00 Aus AE%sT 1971
23893  {
23894  &kZonePolicyAus /*zonePolicy*/,
23895  "AE%T" /*format*/,
23896  2400 /*offsetCode (36000/15)*/,
23897  0 /*offsetRemainder (36000%15)*/,
23898  0 /*deltaMinutes*/,
23899  1971 /*untilYear*/,
23900  1 /*untilMonth*/,
23901  1 /*untilDay*/,
23902  0 /*untilTimeCode (0/15)*/,
23903  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23904  },
23905  // 10:00 AQ AE%sT 1992 Jul
23906  {
23907  &kZonePolicyAQ /*zonePolicy*/,
23908  "AE%T" /*format*/,
23909  2400 /*offsetCode (36000/15)*/,
23910  0 /*offsetRemainder (36000%15)*/,
23911  0 /*deltaMinutes*/,
23912  1992 /*untilYear*/,
23913  7 /*untilMonth*/,
23914  1 /*untilDay*/,
23915  0 /*untilTimeCode (0/15)*/,
23916  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23917  },
23918  // 10:00 Holiday AE%sT
23919  {
23920  &kZonePolicyHoliday /*zonePolicy*/,
23921  "AE%T" /*format*/,
23922  2400 /*offsetCode (36000/15)*/,
23923  0 /*offsetRemainder (36000%15)*/,
23924  0 /*deltaMinutes*/,
23925  32767 /*untilYear*/,
23926  1 /*untilMonth*/,
23927  1 /*untilDay*/,
23928  0 /*untilTimeCode (0/15)*/,
23929  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23930  },
23931 
23932 };
23933 
23934 static const char kZoneNameAustralia_Lindeman[] ACE_TIME_PROGMEM = "\x07" "Lindeman";
23935 
23936 const complete::ZoneInfo kZoneAustralia_Lindeman ACE_TIME_PROGMEM = {
23937  kZoneNameAustralia_Lindeman /*name*/,
23938  0xe05029e2 /*zoneId*/,
23939  &kZoneContext /*zoneContext*/,
23940  4 /*numEras*/,
23941  kZoneEraAustralia_Lindeman /*eras*/,
23942  nullptr /*targetInfo*/,
23943 };
23944 
23945 //---------------------------------------------------------------------------
23946 // Zone name: Australia/Lord_Howe
23947 // Eras: 4
23948 //---------------------------------------------------------------------------
23949 
23950 static const complete::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = {
23951  // 10:36:20 - LMT 1895 Feb
23952  {
23953  nullptr /*zonePolicy*/,
23954  "LMT" /*format*/,
23955  2545 /*offsetCode (38180/15)*/,
23956  5 /*offsetRemainder (38180%15)*/,
23957  0 /*deltaMinutes*/,
23958  1895 /*untilYear*/,
23959  2 /*untilMonth*/,
23960  1 /*untilDay*/,
23961  0 /*untilTimeCode (0/15)*/,
23962  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23963  },
23964  // 10:00 - AEST 1981 Mar
23965  {
23966  nullptr /*zonePolicy*/,
23967  "AEST" /*format*/,
23968  2400 /*offsetCode (36000/15)*/,
23969  0 /*offsetRemainder (36000%15)*/,
23970  0 /*deltaMinutes*/,
23971  1981 /*untilYear*/,
23972  3 /*untilMonth*/,
23973  1 /*untilDay*/,
23974  0 /*untilTimeCode (0/15)*/,
23975  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23976  },
23977  // 10:30 LH +1030/+1130 1985 Jul
23978  {
23979  &kZonePolicyLH /*zonePolicy*/,
23980  "+1030/+1130" /*format*/,
23981  2520 /*offsetCode (37800/15)*/,
23982  0 /*offsetRemainder (37800%15)*/,
23983  0 /*deltaMinutes*/,
23984  1985 /*untilYear*/,
23985  7 /*untilMonth*/,
23986  1 /*untilDay*/,
23987  0 /*untilTimeCode (0/15)*/,
23988  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23989  },
23990  // 10:30 LH +1030/+11
23991  {
23992  &kZonePolicyLH /*zonePolicy*/,
23993  "+1030/+11" /*format*/,
23994  2520 /*offsetCode (37800/15)*/,
23995  0 /*offsetRemainder (37800%15)*/,
23996  0 /*deltaMinutes*/,
23997  32767 /*untilYear*/,
23998  1 /*untilMonth*/,
23999  1 /*untilDay*/,
24000  0 /*untilTimeCode (0/15)*/,
24001  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24002  },
24003 
24004 };
24005 
24006 static const char kZoneNameAustralia_Lord_Howe[] ACE_TIME_PROGMEM = "\x07" "Lord_Howe";
24007 
24008 const complete::ZoneInfo kZoneAustralia_Lord_Howe ACE_TIME_PROGMEM = {
24009  kZoneNameAustralia_Lord_Howe /*name*/,
24010  0xa748b67d /*zoneId*/,
24011  &kZoneContext /*zoneContext*/,
24012  4 /*numEras*/,
24013  kZoneEraAustralia_Lord_Howe /*eras*/,
24014  nullptr /*targetInfo*/,
24015 };
24016 
24017 //---------------------------------------------------------------------------
24018 // Zone name: Australia/Melbourne
24019 // Eras: 3
24020 //---------------------------------------------------------------------------
24021 
24022 static const complete::ZoneEra kZoneEraAustralia_Melbourne[] ACE_TIME_PROGMEM = {
24023  // 9:39:52 - LMT 1895 Feb
24024  {
24025  nullptr /*zonePolicy*/,
24026  "LMT" /*format*/,
24027  2319 /*offsetCode (34792/15)*/,
24028  7 /*offsetRemainder (34792%15)*/,
24029  0 /*deltaMinutes*/,
24030  1895 /*untilYear*/,
24031  2 /*untilMonth*/,
24032  1 /*untilDay*/,
24033  0 /*untilTimeCode (0/15)*/,
24034  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24035  },
24036  // 10:00 Aus AE%sT 1971
24037  {
24038  &kZonePolicyAus /*zonePolicy*/,
24039  "AE%T" /*format*/,
24040  2400 /*offsetCode (36000/15)*/,
24041  0 /*offsetRemainder (36000%15)*/,
24042  0 /*deltaMinutes*/,
24043  1971 /*untilYear*/,
24044  1 /*untilMonth*/,
24045  1 /*untilDay*/,
24046  0 /*untilTimeCode (0/15)*/,
24047  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24048  },
24049  // 10:00 AV AE%sT
24050  {
24051  &kZonePolicyAV /*zonePolicy*/,
24052  "AE%T" /*format*/,
24053  2400 /*offsetCode (36000/15)*/,
24054  0 /*offsetRemainder (36000%15)*/,
24055  0 /*deltaMinutes*/,
24056  32767 /*untilYear*/,
24057  1 /*untilMonth*/,
24058  1 /*untilDay*/,
24059  0 /*untilTimeCode (0/15)*/,
24060  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24061  },
24062 
24063 };
24064 
24065 static const char kZoneNameAustralia_Melbourne[] ACE_TIME_PROGMEM = "\x07" "Melbourne";
24066 
24067 const complete::ZoneInfo kZoneAustralia_Melbourne ACE_TIME_PROGMEM = {
24068  kZoneNameAustralia_Melbourne /*name*/,
24069  0x0fe559a3 /*zoneId*/,
24070  &kZoneContext /*zoneContext*/,
24071  3 /*numEras*/,
24072  kZoneEraAustralia_Melbourne /*eras*/,
24073  nullptr /*targetInfo*/,
24074 };
24075 
24076 //---------------------------------------------------------------------------
24077 // Zone name: Australia/Perth
24078 // Eras: 3
24079 //---------------------------------------------------------------------------
24080 
24081 static const complete::ZoneEra kZoneEraAustralia_Perth[] ACE_TIME_PROGMEM = {
24082  // 7:43:24 - LMT 1895 Dec
24083  {
24084  nullptr /*zonePolicy*/,
24085  "LMT" /*format*/,
24086  1853 /*offsetCode (27804/15)*/,
24087  9 /*offsetRemainder (27804%15)*/,
24088  0 /*deltaMinutes*/,
24089  1895 /*untilYear*/,
24090  12 /*untilMonth*/,
24091  1 /*untilDay*/,
24092  0 /*untilTimeCode (0/15)*/,
24093  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24094  },
24095  // 8:00 Aus AW%sT 1943 Jul
24096  {
24097  &kZonePolicyAus /*zonePolicy*/,
24098  "AW%T" /*format*/,
24099  1920 /*offsetCode (28800/15)*/,
24100  0 /*offsetRemainder (28800%15)*/,
24101  0 /*deltaMinutes*/,
24102  1943 /*untilYear*/,
24103  7 /*untilMonth*/,
24104  1 /*untilDay*/,
24105  0 /*untilTimeCode (0/15)*/,
24106  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24107  },
24108  // 8:00 AW AW%sT
24109  {
24110  &kZonePolicyAW /*zonePolicy*/,
24111  "AW%T" /*format*/,
24112  1920 /*offsetCode (28800/15)*/,
24113  0 /*offsetRemainder (28800%15)*/,
24114  0 /*deltaMinutes*/,
24115  32767 /*untilYear*/,
24116  1 /*untilMonth*/,
24117  1 /*untilDay*/,
24118  0 /*untilTimeCode (0/15)*/,
24119  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24120  },
24121 
24122 };
24123 
24124 static const char kZoneNameAustralia_Perth[] ACE_TIME_PROGMEM = "\x07" "Perth";
24125 
24126 const complete::ZoneInfo kZoneAustralia_Perth ACE_TIME_PROGMEM = {
24127  kZoneNameAustralia_Perth /*name*/,
24128  0x8db8269d /*zoneId*/,
24129  &kZoneContext /*zoneContext*/,
24130  3 /*numEras*/,
24131  kZoneEraAustralia_Perth /*eras*/,
24132  nullptr /*targetInfo*/,
24133 };
24134 
24135 //---------------------------------------------------------------------------
24136 // Zone name: Australia/Sydney
24137 // Eras: 3
24138 //---------------------------------------------------------------------------
24139 
24140 static const complete::ZoneEra kZoneEraAustralia_Sydney[] ACE_TIME_PROGMEM = {
24141  // 10:04:52 - LMT 1895 Feb
24142  {
24143  nullptr /*zonePolicy*/,
24144  "LMT" /*format*/,
24145  2419 /*offsetCode (36292/15)*/,
24146  7 /*offsetRemainder (36292%15)*/,
24147  0 /*deltaMinutes*/,
24148  1895 /*untilYear*/,
24149  2 /*untilMonth*/,
24150  1 /*untilDay*/,
24151  0 /*untilTimeCode (0/15)*/,
24152  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24153  },
24154  // 10:00 Aus AE%sT 1971
24155  {
24156  &kZonePolicyAus /*zonePolicy*/,
24157  "AE%T" /*format*/,
24158  2400 /*offsetCode (36000/15)*/,
24159  0 /*offsetRemainder (36000%15)*/,
24160  0 /*deltaMinutes*/,
24161  1971 /*untilYear*/,
24162  1 /*untilMonth*/,
24163  1 /*untilDay*/,
24164  0 /*untilTimeCode (0/15)*/,
24165  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24166  },
24167  // 10:00 AN AE%sT
24168  {
24169  &kZonePolicyAN /*zonePolicy*/,
24170  "AE%T" /*format*/,
24171  2400 /*offsetCode (36000/15)*/,
24172  0 /*offsetRemainder (36000%15)*/,
24173  0 /*deltaMinutes*/,
24174  32767 /*untilYear*/,
24175  1 /*untilMonth*/,
24176  1 /*untilDay*/,
24177  0 /*untilTimeCode (0/15)*/,
24178  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24179  },
24180 
24181 };
24182 
24183 static const char kZoneNameAustralia_Sydney[] ACE_TIME_PROGMEM = "\x07" "Sydney";
24184 
24185 const complete::ZoneInfo kZoneAustralia_Sydney ACE_TIME_PROGMEM = {
24186  kZoneNameAustralia_Sydney /*name*/,
24187  0x4d1e9776 /*zoneId*/,
24188  &kZoneContext /*zoneContext*/,
24189  3 /*numEras*/,
24190  kZoneEraAustralia_Sydney /*eras*/,
24191  nullptr /*targetInfo*/,
24192 };
24193 
24194 //---------------------------------------------------------------------------
24195 // Zone name: CET
24196 // Eras: 1
24197 //---------------------------------------------------------------------------
24198 
24199 static const complete::ZoneEra kZoneEraCET[] ACE_TIME_PROGMEM = {
24200  // 1:00 C-Eur CE%sT
24201  {
24202  &kZonePolicyC_Eur /*zonePolicy*/,
24203  "CE%T" /*format*/,
24204  240 /*offsetCode (3600/15)*/,
24205  0 /*offsetRemainder (3600%15)*/,
24206  0 /*deltaMinutes*/,
24207  32767 /*untilYear*/,
24208  1 /*untilMonth*/,
24209  1 /*untilDay*/,
24210  0 /*untilTimeCode (0/15)*/,
24211  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24212  },
24213 
24214 };
24215 
24216 static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET";
24217 
24218 const complete::ZoneInfo kZoneCET ACE_TIME_PROGMEM = {
24219  kZoneNameCET /*name*/,
24220  0x0b87d921 /*zoneId*/,
24221  &kZoneContext /*zoneContext*/,
24222  1 /*numEras*/,
24223  kZoneEraCET /*eras*/,
24224  nullptr /*targetInfo*/,
24225 };
24226 
24227 //---------------------------------------------------------------------------
24228 // Zone name: CST6CDT
24229 // Eras: 1
24230 //---------------------------------------------------------------------------
24231 
24232 static const complete::ZoneEra kZoneEraCST6CDT[] ACE_TIME_PROGMEM = {
24233  // -6:00 US C%sT
24234  {
24235  &kZonePolicyUS /*zonePolicy*/,
24236  "C%T" /*format*/,
24237  -1440 /*offsetCode (-21600/15)*/,
24238  0 /*offsetRemainder (-21600%15)*/,
24239  0 /*deltaMinutes*/,
24240  32767 /*untilYear*/,
24241  1 /*untilMonth*/,
24242  1 /*untilDay*/,
24243  0 /*untilTimeCode (0/15)*/,
24244  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24245  },
24246 
24247 };
24248 
24249 static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT";
24250 
24251 const complete::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = {
24252  kZoneNameCST6CDT /*name*/,
24253  0xf0e87d00 /*zoneId*/,
24254  &kZoneContext /*zoneContext*/,
24255  1 /*numEras*/,
24256  kZoneEraCST6CDT /*eras*/,
24257  nullptr /*targetInfo*/,
24258 };
24259 
24260 //---------------------------------------------------------------------------
24261 // Zone name: EET
24262 // Eras: 1
24263 //---------------------------------------------------------------------------
24264 
24265 static const complete::ZoneEra kZoneEraEET[] ACE_TIME_PROGMEM = {
24266  // 2:00 EU EE%sT
24267  {
24268  &kZonePolicyEU /*zonePolicy*/,
24269  "EE%T" /*format*/,
24270  480 /*offsetCode (7200/15)*/,
24271  0 /*offsetRemainder (7200%15)*/,
24272  0 /*deltaMinutes*/,
24273  32767 /*untilYear*/,
24274  1 /*untilMonth*/,
24275  1 /*untilDay*/,
24276  0 /*untilTimeCode (0/15)*/,
24277  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24278  },
24279 
24280 };
24281 
24282 static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET";
24283 
24284 const complete::ZoneInfo kZoneEET ACE_TIME_PROGMEM = {
24285  kZoneNameEET /*name*/,
24286  0x0b87e1a3 /*zoneId*/,
24287  &kZoneContext /*zoneContext*/,
24288  1 /*numEras*/,
24289  kZoneEraEET /*eras*/,
24290  nullptr /*targetInfo*/,
24291 };
24292 
24293 //---------------------------------------------------------------------------
24294 // Zone name: EST
24295 // Eras: 1
24296 //---------------------------------------------------------------------------
24297 
24298 static const complete::ZoneEra kZoneEraEST[] ACE_TIME_PROGMEM = {
24299  // -5:00 - EST
24300  {
24301  nullptr /*zonePolicy*/,
24302  "EST" /*format*/,
24303  -1200 /*offsetCode (-18000/15)*/,
24304  0 /*offsetRemainder (-18000%15)*/,
24305  0 /*deltaMinutes*/,
24306  32767 /*untilYear*/,
24307  1 /*untilMonth*/,
24308  1 /*untilDay*/,
24309  0 /*untilTimeCode (0/15)*/,
24310  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24311  },
24312 
24313 };
24314 
24315 static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST";
24316 
24317 const complete::ZoneInfo kZoneEST ACE_TIME_PROGMEM = {
24318  kZoneNameEST /*name*/,
24319  0x0b87e371 /*zoneId*/,
24320  &kZoneContext /*zoneContext*/,
24321  1 /*numEras*/,
24322  kZoneEraEST /*eras*/,
24323  nullptr /*targetInfo*/,
24324 };
24325 
24326 //---------------------------------------------------------------------------
24327 // Zone name: EST5EDT
24328 // Eras: 1
24329 //---------------------------------------------------------------------------
24330 
24331 static const complete::ZoneEra kZoneEraEST5EDT[] ACE_TIME_PROGMEM = {
24332  // -5:00 US E%sT
24333  {
24334  &kZonePolicyUS /*zonePolicy*/,
24335  "E%T" /*format*/,
24336  -1200 /*offsetCode (-18000/15)*/,
24337  0 /*offsetRemainder (-18000%15)*/,
24338  0 /*deltaMinutes*/,
24339  32767 /*untilYear*/,
24340  1 /*untilMonth*/,
24341  1 /*untilDay*/,
24342  0 /*untilTimeCode (0/15)*/,
24343  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24344  },
24345 
24346 };
24347 
24348 static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT";
24349 
24350 const complete::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = {
24351  kZoneNameEST5EDT /*name*/,
24352  0x8adc72a3 /*zoneId*/,
24353  &kZoneContext /*zoneContext*/,
24354  1 /*numEras*/,
24355  kZoneEraEST5EDT /*eras*/,
24356  nullptr /*targetInfo*/,
24357 };
24358 
24359 //---------------------------------------------------------------------------
24360 // Zone name: Etc/GMT
24361 // Eras: 1
24362 //---------------------------------------------------------------------------
24363 
24364 static const complete::ZoneEra kZoneEraEtc_GMT[] ACE_TIME_PROGMEM = {
24365  // 0 - GMT
24366  {
24367  nullptr /*zonePolicy*/,
24368  "GMT" /*format*/,
24369  0 /*offsetCode (0/15)*/,
24370  0 /*offsetRemainder (0%15)*/,
24371  0 /*deltaMinutes*/,
24372  32767 /*untilYear*/,
24373  1 /*untilMonth*/,
24374  1 /*untilDay*/,
24375  0 /*untilTimeCode (0/15)*/,
24376  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24377  },
24378 
24379 };
24380 
24381 static const char kZoneNameEtc_GMT[] ACE_TIME_PROGMEM = "\x0a" "GMT";
24382 
24383 const complete::ZoneInfo kZoneEtc_GMT ACE_TIME_PROGMEM = {
24384  kZoneNameEtc_GMT /*name*/,
24385  0xd8e2de58 /*zoneId*/,
24386  &kZoneContext /*zoneContext*/,
24387  1 /*numEras*/,
24388  kZoneEraEtc_GMT /*eras*/,
24389  nullptr /*targetInfo*/,
24390 };
24391 
24392 //---------------------------------------------------------------------------
24393 // Zone name: Etc/GMT+1
24394 // Eras: 1
24395 //---------------------------------------------------------------------------
24396 
24397 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = {
24398  // -1 - -01
24399  {
24400  nullptr /*zonePolicy*/,
24401  "-01" /*format*/,
24402  -240 /*offsetCode (-3600/15)*/,
24403  0 /*offsetRemainder (-3600%15)*/,
24404  0 /*deltaMinutes*/,
24405  32767 /*untilYear*/,
24406  1 /*untilMonth*/,
24407  1 /*untilDay*/,
24408  0 /*untilTimeCode (0/15)*/,
24409  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24410  },
24411 
24412 };
24413 
24414 static const char kZoneNameEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = "\x0a" "GMT+1";
24415 
24416 const complete::ZoneInfo kZoneEtc_GMT_PLUS_1 ACE_TIME_PROGMEM = {
24417  kZoneNameEtc_GMT_PLUS_1 /*name*/,
24418  0x9d13da14 /*zoneId*/,
24419  &kZoneContext /*zoneContext*/,
24420  1 /*numEras*/,
24421  kZoneEraEtc_GMT_PLUS_1 /*eras*/,
24422  nullptr /*targetInfo*/,
24423 };
24424 
24425 //---------------------------------------------------------------------------
24426 // Zone name: Etc/GMT+10
24427 // Eras: 1
24428 //---------------------------------------------------------------------------
24429 
24430 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = {
24431  // -10 - -10
24432  {
24433  nullptr /*zonePolicy*/,
24434  "-10" /*format*/,
24435  -2400 /*offsetCode (-36000/15)*/,
24436  0 /*offsetRemainder (-36000%15)*/,
24437  0 /*deltaMinutes*/,
24438  32767 /*untilYear*/,
24439  1 /*untilMonth*/,
24440  1 /*untilDay*/,
24441  0 /*untilTimeCode (0/15)*/,
24442  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24443  },
24444 
24445 };
24446 
24447 static const char kZoneNameEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = "\x0a" "GMT+10";
24448 
24449 const complete::ZoneInfo kZoneEtc_GMT_PLUS_10 ACE_TIME_PROGMEM = {
24450  kZoneNameEtc_GMT_PLUS_10 /*name*/,
24451  0x3f8f1cc4 /*zoneId*/,
24452  &kZoneContext /*zoneContext*/,
24453  1 /*numEras*/,
24454  kZoneEraEtc_GMT_PLUS_10 /*eras*/,
24455  nullptr /*targetInfo*/,
24456 };
24457 
24458 //---------------------------------------------------------------------------
24459 // Zone name: Etc/GMT+11
24460 // Eras: 1
24461 //---------------------------------------------------------------------------
24462 
24463 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = {
24464  // -11 - -11
24465  {
24466  nullptr /*zonePolicy*/,
24467  "-11" /*format*/,
24468  -2640 /*offsetCode (-39600/15)*/,
24469  0 /*offsetRemainder (-39600%15)*/,
24470  0 /*deltaMinutes*/,
24471  32767 /*untilYear*/,
24472  1 /*untilMonth*/,
24473  1 /*untilDay*/,
24474  0 /*untilTimeCode (0/15)*/,
24475  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24476  },
24477 
24478 };
24479 
24480 static const char kZoneNameEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = "\x0a" "GMT+11";
24481 
24482 const complete::ZoneInfo kZoneEtc_GMT_PLUS_11 ACE_TIME_PROGMEM = {
24483  kZoneNameEtc_GMT_PLUS_11 /*name*/,
24484  0x3f8f1cc5 /*zoneId*/,
24485  &kZoneContext /*zoneContext*/,
24486  1 /*numEras*/,
24487  kZoneEraEtc_GMT_PLUS_11 /*eras*/,
24488  nullptr /*targetInfo*/,
24489 };
24490 
24491 //---------------------------------------------------------------------------
24492 // Zone name: Etc/GMT+12
24493 // Eras: 1
24494 //---------------------------------------------------------------------------
24495 
24496 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = {
24497  // -12 - -12
24498  {
24499  nullptr /*zonePolicy*/,
24500  "-12" /*format*/,
24501  -2880 /*offsetCode (-43200/15)*/,
24502  0 /*offsetRemainder (-43200%15)*/,
24503  0 /*deltaMinutes*/,
24504  32767 /*untilYear*/,
24505  1 /*untilMonth*/,
24506  1 /*untilDay*/,
24507  0 /*untilTimeCode (0/15)*/,
24508  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24509  },
24510 
24511 };
24512 
24513 static const char kZoneNameEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = "\x0a" "GMT+12";
24514 
24515 const complete::ZoneInfo kZoneEtc_GMT_PLUS_12 ACE_TIME_PROGMEM = {
24516  kZoneNameEtc_GMT_PLUS_12 /*name*/,
24517  0x3f8f1cc6 /*zoneId*/,
24518  &kZoneContext /*zoneContext*/,
24519  1 /*numEras*/,
24520  kZoneEraEtc_GMT_PLUS_12 /*eras*/,
24521  nullptr /*targetInfo*/,
24522 };
24523 
24524 //---------------------------------------------------------------------------
24525 // Zone name: Etc/GMT+2
24526 // Eras: 1
24527 //---------------------------------------------------------------------------
24528 
24529 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = {
24530  // -2 - -02
24531  {
24532  nullptr /*zonePolicy*/,
24533  "-02" /*format*/,
24534  -480 /*offsetCode (-7200/15)*/,
24535  0 /*offsetRemainder (-7200%15)*/,
24536  0 /*deltaMinutes*/,
24537  32767 /*untilYear*/,
24538  1 /*untilMonth*/,
24539  1 /*untilDay*/,
24540  0 /*untilTimeCode (0/15)*/,
24541  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24542  },
24543 
24544 };
24545 
24546 static const char kZoneNameEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = "\x0a" "GMT+2";
24547 
24548 const complete::ZoneInfo kZoneEtc_GMT_PLUS_2 ACE_TIME_PROGMEM = {
24549  kZoneNameEtc_GMT_PLUS_2 /*name*/,
24550  0x9d13da15 /*zoneId*/,
24551  &kZoneContext /*zoneContext*/,
24552  1 /*numEras*/,
24553  kZoneEraEtc_GMT_PLUS_2 /*eras*/,
24554  nullptr /*targetInfo*/,
24555 };
24556 
24557 //---------------------------------------------------------------------------
24558 // Zone name: Etc/GMT+3
24559 // Eras: 1
24560 //---------------------------------------------------------------------------
24561 
24562 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = {
24563  // -3 - -03
24564  {
24565  nullptr /*zonePolicy*/,
24566  "-03" /*format*/,
24567  -720 /*offsetCode (-10800/15)*/,
24568  0 /*offsetRemainder (-10800%15)*/,
24569  0 /*deltaMinutes*/,
24570  32767 /*untilYear*/,
24571  1 /*untilMonth*/,
24572  1 /*untilDay*/,
24573  0 /*untilTimeCode (0/15)*/,
24574  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24575  },
24576 
24577 };
24578 
24579 static const char kZoneNameEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = "\x0a" "GMT+3";
24580 
24581 const complete::ZoneInfo kZoneEtc_GMT_PLUS_3 ACE_TIME_PROGMEM = {
24582  kZoneNameEtc_GMT_PLUS_3 /*name*/,
24583  0x9d13da16 /*zoneId*/,
24584  &kZoneContext /*zoneContext*/,
24585  1 /*numEras*/,
24586  kZoneEraEtc_GMT_PLUS_3 /*eras*/,
24587  nullptr /*targetInfo*/,
24588 };
24589 
24590 //---------------------------------------------------------------------------
24591 // Zone name: Etc/GMT+4
24592 // Eras: 1
24593 //---------------------------------------------------------------------------
24594 
24595 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = {
24596  // -4 - -04
24597  {
24598  nullptr /*zonePolicy*/,
24599  "-04" /*format*/,
24600  -960 /*offsetCode (-14400/15)*/,
24601  0 /*offsetRemainder (-14400%15)*/,
24602  0 /*deltaMinutes*/,
24603  32767 /*untilYear*/,
24604  1 /*untilMonth*/,
24605  1 /*untilDay*/,
24606  0 /*untilTimeCode (0/15)*/,
24607  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24608  },
24609 
24610 };
24611 
24612 static const char kZoneNameEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = "\x0a" "GMT+4";
24613 
24614 const complete::ZoneInfo kZoneEtc_GMT_PLUS_4 ACE_TIME_PROGMEM = {
24615  kZoneNameEtc_GMT_PLUS_4 /*name*/,
24616  0x9d13da17 /*zoneId*/,
24617  &kZoneContext /*zoneContext*/,
24618  1 /*numEras*/,
24619  kZoneEraEtc_GMT_PLUS_4 /*eras*/,
24620  nullptr /*targetInfo*/,
24621 };
24622 
24623 //---------------------------------------------------------------------------
24624 // Zone name: Etc/GMT+5
24625 // Eras: 1
24626 //---------------------------------------------------------------------------
24627 
24628 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = {
24629  // -5 - -05
24630  {
24631  nullptr /*zonePolicy*/,
24632  "-05" /*format*/,
24633  -1200 /*offsetCode (-18000/15)*/,
24634  0 /*offsetRemainder (-18000%15)*/,
24635  0 /*deltaMinutes*/,
24636  32767 /*untilYear*/,
24637  1 /*untilMonth*/,
24638  1 /*untilDay*/,
24639  0 /*untilTimeCode (0/15)*/,
24640  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24641  },
24642 
24643 };
24644 
24645 static const char kZoneNameEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = "\x0a" "GMT+5";
24646 
24647 const complete::ZoneInfo kZoneEtc_GMT_PLUS_5 ACE_TIME_PROGMEM = {
24648  kZoneNameEtc_GMT_PLUS_5 /*name*/,
24649  0x9d13da18 /*zoneId*/,
24650  &kZoneContext /*zoneContext*/,
24651  1 /*numEras*/,
24652  kZoneEraEtc_GMT_PLUS_5 /*eras*/,
24653  nullptr /*targetInfo*/,
24654 };
24655 
24656 //---------------------------------------------------------------------------
24657 // Zone name: Etc/GMT+6
24658 // Eras: 1
24659 //---------------------------------------------------------------------------
24660 
24661 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = {
24662  // -6 - -06
24663  {
24664  nullptr /*zonePolicy*/,
24665  "-06" /*format*/,
24666  -1440 /*offsetCode (-21600/15)*/,
24667  0 /*offsetRemainder (-21600%15)*/,
24668  0 /*deltaMinutes*/,
24669  32767 /*untilYear*/,
24670  1 /*untilMonth*/,
24671  1 /*untilDay*/,
24672  0 /*untilTimeCode (0/15)*/,
24673  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24674  },
24675 
24676 };
24677 
24678 static const char kZoneNameEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = "\x0a" "GMT+6";
24679 
24680 const complete::ZoneInfo kZoneEtc_GMT_PLUS_6 ACE_TIME_PROGMEM = {
24681  kZoneNameEtc_GMT_PLUS_6 /*name*/,
24682  0x9d13da19 /*zoneId*/,
24683  &kZoneContext /*zoneContext*/,
24684  1 /*numEras*/,
24685  kZoneEraEtc_GMT_PLUS_6 /*eras*/,
24686  nullptr /*targetInfo*/,
24687 };
24688 
24689 //---------------------------------------------------------------------------
24690 // Zone name: Etc/GMT+7
24691 // Eras: 1
24692 //---------------------------------------------------------------------------
24693 
24694 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = {
24695  // -7 - -07
24696  {
24697  nullptr /*zonePolicy*/,
24698  "-07" /*format*/,
24699  -1680 /*offsetCode (-25200/15)*/,
24700  0 /*offsetRemainder (-25200%15)*/,
24701  0 /*deltaMinutes*/,
24702  32767 /*untilYear*/,
24703  1 /*untilMonth*/,
24704  1 /*untilDay*/,
24705  0 /*untilTimeCode (0/15)*/,
24706  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24707  },
24708 
24709 };
24710 
24711 static const char kZoneNameEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = "\x0a" "GMT+7";
24712 
24713 const complete::ZoneInfo kZoneEtc_GMT_PLUS_7 ACE_TIME_PROGMEM = {
24714  kZoneNameEtc_GMT_PLUS_7 /*name*/,
24715  0x9d13da1a /*zoneId*/,
24716  &kZoneContext /*zoneContext*/,
24717  1 /*numEras*/,
24718  kZoneEraEtc_GMT_PLUS_7 /*eras*/,
24719  nullptr /*targetInfo*/,
24720 };
24721 
24722 //---------------------------------------------------------------------------
24723 // Zone name: Etc/GMT+8
24724 // Eras: 1
24725 //---------------------------------------------------------------------------
24726 
24727 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = {
24728  // -8 - -08
24729  {
24730  nullptr /*zonePolicy*/,
24731  "-08" /*format*/,
24732  -1920 /*offsetCode (-28800/15)*/,
24733  0 /*offsetRemainder (-28800%15)*/,
24734  0 /*deltaMinutes*/,
24735  32767 /*untilYear*/,
24736  1 /*untilMonth*/,
24737  1 /*untilDay*/,
24738  0 /*untilTimeCode (0/15)*/,
24739  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24740  },
24741 
24742 };
24743 
24744 static const char kZoneNameEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = "\x0a" "GMT+8";
24745 
24746 const complete::ZoneInfo kZoneEtc_GMT_PLUS_8 ACE_TIME_PROGMEM = {
24747  kZoneNameEtc_GMT_PLUS_8 /*name*/,
24748  0x9d13da1b /*zoneId*/,
24749  &kZoneContext /*zoneContext*/,
24750  1 /*numEras*/,
24751  kZoneEraEtc_GMT_PLUS_8 /*eras*/,
24752  nullptr /*targetInfo*/,
24753 };
24754 
24755 //---------------------------------------------------------------------------
24756 // Zone name: Etc/GMT+9
24757 // Eras: 1
24758 //---------------------------------------------------------------------------
24759 
24760 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = {
24761  // -9 - -09
24762  {
24763  nullptr /*zonePolicy*/,
24764  "-09" /*format*/,
24765  -2160 /*offsetCode (-32400/15)*/,
24766  0 /*offsetRemainder (-32400%15)*/,
24767  0 /*deltaMinutes*/,
24768  32767 /*untilYear*/,
24769  1 /*untilMonth*/,
24770  1 /*untilDay*/,
24771  0 /*untilTimeCode (0/15)*/,
24772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24773  },
24774 
24775 };
24776 
24777 static const char kZoneNameEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = "\x0a" "GMT+9";
24778 
24779 const complete::ZoneInfo kZoneEtc_GMT_PLUS_9 ACE_TIME_PROGMEM = {
24780  kZoneNameEtc_GMT_PLUS_9 /*name*/,
24781  0x9d13da1c /*zoneId*/,
24782  &kZoneContext /*zoneContext*/,
24783  1 /*numEras*/,
24784  kZoneEraEtc_GMT_PLUS_9 /*eras*/,
24785  nullptr /*targetInfo*/,
24786 };
24787 
24788 //---------------------------------------------------------------------------
24789 // Zone name: Etc/GMT-1
24790 // Eras: 1
24791 //---------------------------------------------------------------------------
24792 
24793 static const complete::ZoneEra kZoneEraEtc_GMT_1[] ACE_TIME_PROGMEM = {
24794  // 1 - +01
24795  {
24796  nullptr /*zonePolicy*/,
24797  "+01" /*format*/,
24798  240 /*offsetCode (3600/15)*/,
24799  0 /*offsetRemainder (3600%15)*/,
24800  0 /*deltaMinutes*/,
24801  32767 /*untilYear*/,
24802  1 /*untilMonth*/,
24803  1 /*untilDay*/,
24804  0 /*untilTimeCode (0/15)*/,
24805  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24806  },
24807 
24808 };
24809 
24810 static const char kZoneNameEtc_GMT_1[] ACE_TIME_PROGMEM = "\x0a" "GMT-1";
24811 
24812 const complete::ZoneInfo kZoneEtc_GMT_1 ACE_TIME_PROGMEM = {
24813  kZoneNameEtc_GMT_1 /*name*/,
24814  0x9d13da56 /*zoneId*/,
24815  &kZoneContext /*zoneContext*/,
24816  1 /*numEras*/,
24817  kZoneEraEtc_GMT_1 /*eras*/,
24818  nullptr /*targetInfo*/,
24819 };
24820 
24821 //---------------------------------------------------------------------------
24822 // Zone name: Etc/GMT-10
24823 // Eras: 1
24824 //---------------------------------------------------------------------------
24825 
24826 static const complete::ZoneEra kZoneEraEtc_GMT_10[] ACE_TIME_PROGMEM = {
24827  // 10 - +10
24828  {
24829  nullptr /*zonePolicy*/,
24830  "+10" /*format*/,
24831  2400 /*offsetCode (36000/15)*/,
24832  0 /*offsetRemainder (36000%15)*/,
24833  0 /*deltaMinutes*/,
24834  32767 /*untilYear*/,
24835  1 /*untilMonth*/,
24836  1 /*untilDay*/,
24837  0 /*untilTimeCode (0/15)*/,
24838  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24839  },
24840 
24841 };
24842 
24843 static const char kZoneNameEtc_GMT_10[] ACE_TIME_PROGMEM = "\x0a" "GMT-10";
24844 
24845 const complete::ZoneInfo kZoneEtc_GMT_10 ACE_TIME_PROGMEM = {
24846  kZoneNameEtc_GMT_10 /*name*/,
24847  0x3f8f2546 /*zoneId*/,
24848  &kZoneContext /*zoneContext*/,
24849  1 /*numEras*/,
24850  kZoneEraEtc_GMT_10 /*eras*/,
24851  nullptr /*targetInfo*/,
24852 };
24853 
24854 //---------------------------------------------------------------------------
24855 // Zone name: Etc/GMT-11
24856 // Eras: 1
24857 //---------------------------------------------------------------------------
24858 
24859 static const complete::ZoneEra kZoneEraEtc_GMT_11[] ACE_TIME_PROGMEM = {
24860  // 11 - +11
24861  {
24862  nullptr /*zonePolicy*/,
24863  "+11" /*format*/,
24864  2640 /*offsetCode (39600/15)*/,
24865  0 /*offsetRemainder (39600%15)*/,
24866  0 /*deltaMinutes*/,
24867  32767 /*untilYear*/,
24868  1 /*untilMonth*/,
24869  1 /*untilDay*/,
24870  0 /*untilTimeCode (0/15)*/,
24871  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24872  },
24873 
24874 };
24875 
24876 static const char kZoneNameEtc_GMT_11[] ACE_TIME_PROGMEM = "\x0a" "GMT-11";
24877 
24878 const complete::ZoneInfo kZoneEtc_GMT_11 ACE_TIME_PROGMEM = {
24879  kZoneNameEtc_GMT_11 /*name*/,
24880  0x3f8f2547 /*zoneId*/,
24881  &kZoneContext /*zoneContext*/,
24882  1 /*numEras*/,
24883  kZoneEraEtc_GMT_11 /*eras*/,
24884  nullptr /*targetInfo*/,
24885 };
24886 
24887 //---------------------------------------------------------------------------
24888 // Zone name: Etc/GMT-12
24889 // Eras: 1
24890 //---------------------------------------------------------------------------
24891 
24892 static const complete::ZoneEra kZoneEraEtc_GMT_12[] ACE_TIME_PROGMEM = {
24893  // 12 - +12
24894  {
24895  nullptr /*zonePolicy*/,
24896  "+12" /*format*/,
24897  2880 /*offsetCode (43200/15)*/,
24898  0 /*offsetRemainder (43200%15)*/,
24899  0 /*deltaMinutes*/,
24900  32767 /*untilYear*/,
24901  1 /*untilMonth*/,
24902  1 /*untilDay*/,
24903  0 /*untilTimeCode (0/15)*/,
24904  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24905  },
24906 
24907 };
24908 
24909 static const char kZoneNameEtc_GMT_12[] ACE_TIME_PROGMEM = "\x0a" "GMT-12";
24910 
24911 const complete::ZoneInfo kZoneEtc_GMT_12 ACE_TIME_PROGMEM = {
24912  kZoneNameEtc_GMT_12 /*name*/,
24913  0x3f8f2548 /*zoneId*/,
24914  &kZoneContext /*zoneContext*/,
24915  1 /*numEras*/,
24916  kZoneEraEtc_GMT_12 /*eras*/,
24917  nullptr /*targetInfo*/,
24918 };
24919 
24920 //---------------------------------------------------------------------------
24921 // Zone name: Etc/GMT-13
24922 // Eras: 1
24923 //---------------------------------------------------------------------------
24924 
24925 static const complete::ZoneEra kZoneEraEtc_GMT_13[] ACE_TIME_PROGMEM = {
24926  // 13 - +13
24927  {
24928  nullptr /*zonePolicy*/,
24929  "+13" /*format*/,
24930  3120 /*offsetCode (46800/15)*/,
24931  0 /*offsetRemainder (46800%15)*/,
24932  0 /*deltaMinutes*/,
24933  32767 /*untilYear*/,
24934  1 /*untilMonth*/,
24935  1 /*untilDay*/,
24936  0 /*untilTimeCode (0/15)*/,
24937  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24938  },
24939 
24940 };
24941 
24942 static const char kZoneNameEtc_GMT_13[] ACE_TIME_PROGMEM = "\x0a" "GMT-13";
24943 
24944 const complete::ZoneInfo kZoneEtc_GMT_13 ACE_TIME_PROGMEM = {
24945  kZoneNameEtc_GMT_13 /*name*/,
24946  0x3f8f2549 /*zoneId*/,
24947  &kZoneContext /*zoneContext*/,
24948  1 /*numEras*/,
24949  kZoneEraEtc_GMT_13 /*eras*/,
24950  nullptr /*targetInfo*/,
24951 };
24952 
24953 //---------------------------------------------------------------------------
24954 // Zone name: Etc/GMT-14
24955 // Eras: 1
24956 //---------------------------------------------------------------------------
24957 
24958 static const complete::ZoneEra kZoneEraEtc_GMT_14[] ACE_TIME_PROGMEM = {
24959  // 14 - +14
24960  {
24961  nullptr /*zonePolicy*/,
24962  "+14" /*format*/,
24963  3360 /*offsetCode (50400/15)*/,
24964  0 /*offsetRemainder (50400%15)*/,
24965  0 /*deltaMinutes*/,
24966  32767 /*untilYear*/,
24967  1 /*untilMonth*/,
24968  1 /*untilDay*/,
24969  0 /*untilTimeCode (0/15)*/,
24970  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24971  },
24972 
24973 };
24974 
24975 static const char kZoneNameEtc_GMT_14[] ACE_TIME_PROGMEM = "\x0a" "GMT-14";
24976 
24977 const complete::ZoneInfo kZoneEtc_GMT_14 ACE_TIME_PROGMEM = {
24978  kZoneNameEtc_GMT_14 /*name*/,
24979  0x3f8f254a /*zoneId*/,
24980  &kZoneContext /*zoneContext*/,
24981  1 /*numEras*/,
24982  kZoneEraEtc_GMT_14 /*eras*/,
24983  nullptr /*targetInfo*/,
24984 };
24985 
24986 //---------------------------------------------------------------------------
24987 // Zone name: Etc/GMT-2
24988 // Eras: 1
24989 //---------------------------------------------------------------------------
24990 
24991 static const complete::ZoneEra kZoneEraEtc_GMT_2[] ACE_TIME_PROGMEM = {
24992  // 2 - +02
24993  {
24994  nullptr /*zonePolicy*/,
24995  "+02" /*format*/,
24996  480 /*offsetCode (7200/15)*/,
24997  0 /*offsetRemainder (7200%15)*/,
24998  0 /*deltaMinutes*/,
24999  32767 /*untilYear*/,
25000  1 /*untilMonth*/,
25001  1 /*untilDay*/,
25002  0 /*untilTimeCode (0/15)*/,
25003  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25004  },
25005 
25006 };
25007 
25008 static const char kZoneNameEtc_GMT_2[] ACE_TIME_PROGMEM = "\x0a" "GMT-2";
25009 
25010 const complete::ZoneInfo kZoneEtc_GMT_2 ACE_TIME_PROGMEM = {
25011  kZoneNameEtc_GMT_2 /*name*/,
25012  0x9d13da57 /*zoneId*/,
25013  &kZoneContext /*zoneContext*/,
25014  1 /*numEras*/,
25015  kZoneEraEtc_GMT_2 /*eras*/,
25016  nullptr /*targetInfo*/,
25017 };
25018 
25019 //---------------------------------------------------------------------------
25020 // Zone name: Etc/GMT-3
25021 // Eras: 1
25022 //---------------------------------------------------------------------------
25023 
25024 static const complete::ZoneEra kZoneEraEtc_GMT_3[] ACE_TIME_PROGMEM = {
25025  // 3 - +03
25026  {
25027  nullptr /*zonePolicy*/,
25028  "+03" /*format*/,
25029  720 /*offsetCode (10800/15)*/,
25030  0 /*offsetRemainder (10800%15)*/,
25031  0 /*deltaMinutes*/,
25032  32767 /*untilYear*/,
25033  1 /*untilMonth*/,
25034  1 /*untilDay*/,
25035  0 /*untilTimeCode (0/15)*/,
25036  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25037  },
25038 
25039 };
25040 
25041 static const char kZoneNameEtc_GMT_3[] ACE_TIME_PROGMEM = "\x0a" "GMT-3";
25042 
25043 const complete::ZoneInfo kZoneEtc_GMT_3 ACE_TIME_PROGMEM = {
25044  kZoneNameEtc_GMT_3 /*name*/,
25045  0x9d13da58 /*zoneId*/,
25046  &kZoneContext /*zoneContext*/,
25047  1 /*numEras*/,
25048  kZoneEraEtc_GMT_3 /*eras*/,
25049  nullptr /*targetInfo*/,
25050 };
25051 
25052 //---------------------------------------------------------------------------
25053 // Zone name: Etc/GMT-4
25054 // Eras: 1
25055 //---------------------------------------------------------------------------
25056 
25057 static const complete::ZoneEra kZoneEraEtc_GMT_4[] ACE_TIME_PROGMEM = {
25058  // 4 - +04
25059  {
25060  nullptr /*zonePolicy*/,
25061  "+04" /*format*/,
25062  960 /*offsetCode (14400/15)*/,
25063  0 /*offsetRemainder (14400%15)*/,
25064  0 /*deltaMinutes*/,
25065  32767 /*untilYear*/,
25066  1 /*untilMonth*/,
25067  1 /*untilDay*/,
25068  0 /*untilTimeCode (0/15)*/,
25069  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25070  },
25071 
25072 };
25073 
25074 static const char kZoneNameEtc_GMT_4[] ACE_TIME_PROGMEM = "\x0a" "GMT-4";
25075 
25076 const complete::ZoneInfo kZoneEtc_GMT_4 ACE_TIME_PROGMEM = {
25077  kZoneNameEtc_GMT_4 /*name*/,
25078  0x9d13da59 /*zoneId*/,
25079  &kZoneContext /*zoneContext*/,
25080  1 /*numEras*/,
25081  kZoneEraEtc_GMT_4 /*eras*/,
25082  nullptr /*targetInfo*/,
25083 };
25084 
25085 //---------------------------------------------------------------------------
25086 // Zone name: Etc/GMT-5
25087 // Eras: 1
25088 //---------------------------------------------------------------------------
25089 
25090 static const complete::ZoneEra kZoneEraEtc_GMT_5[] ACE_TIME_PROGMEM = {
25091  // 5 - +05
25092  {
25093  nullptr /*zonePolicy*/,
25094  "+05" /*format*/,
25095  1200 /*offsetCode (18000/15)*/,
25096  0 /*offsetRemainder (18000%15)*/,
25097  0 /*deltaMinutes*/,
25098  32767 /*untilYear*/,
25099  1 /*untilMonth*/,
25100  1 /*untilDay*/,
25101  0 /*untilTimeCode (0/15)*/,
25102  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25103  },
25104 
25105 };
25106 
25107 static const char kZoneNameEtc_GMT_5[] ACE_TIME_PROGMEM = "\x0a" "GMT-5";
25108 
25109 const complete::ZoneInfo kZoneEtc_GMT_5 ACE_TIME_PROGMEM = {
25110  kZoneNameEtc_GMT_5 /*name*/,
25111  0x9d13da5a /*zoneId*/,
25112  &kZoneContext /*zoneContext*/,
25113  1 /*numEras*/,
25114  kZoneEraEtc_GMT_5 /*eras*/,
25115  nullptr /*targetInfo*/,
25116 };
25117 
25118 //---------------------------------------------------------------------------
25119 // Zone name: Etc/GMT-6
25120 // Eras: 1
25121 //---------------------------------------------------------------------------
25122 
25123 static const complete::ZoneEra kZoneEraEtc_GMT_6[] ACE_TIME_PROGMEM = {
25124  // 6 - +06
25125  {
25126  nullptr /*zonePolicy*/,
25127  "+06" /*format*/,
25128  1440 /*offsetCode (21600/15)*/,
25129  0 /*offsetRemainder (21600%15)*/,
25130  0 /*deltaMinutes*/,
25131  32767 /*untilYear*/,
25132  1 /*untilMonth*/,
25133  1 /*untilDay*/,
25134  0 /*untilTimeCode (0/15)*/,
25135  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25136  },
25137 
25138 };
25139 
25140 static const char kZoneNameEtc_GMT_6[] ACE_TIME_PROGMEM = "\x0a" "GMT-6";
25141 
25142 const complete::ZoneInfo kZoneEtc_GMT_6 ACE_TIME_PROGMEM = {
25143  kZoneNameEtc_GMT_6 /*name*/,
25144  0x9d13da5b /*zoneId*/,
25145  &kZoneContext /*zoneContext*/,
25146  1 /*numEras*/,
25147  kZoneEraEtc_GMT_6 /*eras*/,
25148  nullptr /*targetInfo*/,
25149 };
25150 
25151 //---------------------------------------------------------------------------
25152 // Zone name: Etc/GMT-7
25153 // Eras: 1
25154 //---------------------------------------------------------------------------
25155 
25156 static const complete::ZoneEra kZoneEraEtc_GMT_7[] ACE_TIME_PROGMEM = {
25157  // 7 - +07
25158  {
25159  nullptr /*zonePolicy*/,
25160  "+07" /*format*/,
25161  1680 /*offsetCode (25200/15)*/,
25162  0 /*offsetRemainder (25200%15)*/,
25163  0 /*deltaMinutes*/,
25164  32767 /*untilYear*/,
25165  1 /*untilMonth*/,
25166  1 /*untilDay*/,
25167  0 /*untilTimeCode (0/15)*/,
25168  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25169  },
25170 
25171 };
25172 
25173 static const char kZoneNameEtc_GMT_7[] ACE_TIME_PROGMEM = "\x0a" "GMT-7";
25174 
25175 const complete::ZoneInfo kZoneEtc_GMT_7 ACE_TIME_PROGMEM = {
25176  kZoneNameEtc_GMT_7 /*name*/,
25177  0x9d13da5c /*zoneId*/,
25178  &kZoneContext /*zoneContext*/,
25179  1 /*numEras*/,
25180  kZoneEraEtc_GMT_7 /*eras*/,
25181  nullptr /*targetInfo*/,
25182 };
25183 
25184 //---------------------------------------------------------------------------
25185 // Zone name: Etc/GMT-8
25186 // Eras: 1
25187 //---------------------------------------------------------------------------
25188 
25189 static const complete::ZoneEra kZoneEraEtc_GMT_8[] ACE_TIME_PROGMEM = {
25190  // 8 - +08
25191  {
25192  nullptr /*zonePolicy*/,
25193  "+08" /*format*/,
25194  1920 /*offsetCode (28800/15)*/,
25195  0 /*offsetRemainder (28800%15)*/,
25196  0 /*deltaMinutes*/,
25197  32767 /*untilYear*/,
25198  1 /*untilMonth*/,
25199  1 /*untilDay*/,
25200  0 /*untilTimeCode (0/15)*/,
25201  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25202  },
25203 
25204 };
25205 
25206 static const char kZoneNameEtc_GMT_8[] ACE_TIME_PROGMEM = "\x0a" "GMT-8";
25207 
25208 const complete::ZoneInfo kZoneEtc_GMT_8 ACE_TIME_PROGMEM = {
25209  kZoneNameEtc_GMT_8 /*name*/,
25210  0x9d13da5d /*zoneId*/,
25211  &kZoneContext /*zoneContext*/,
25212  1 /*numEras*/,
25213  kZoneEraEtc_GMT_8 /*eras*/,
25214  nullptr /*targetInfo*/,
25215 };
25216 
25217 //---------------------------------------------------------------------------
25218 // Zone name: Etc/GMT-9
25219 // Eras: 1
25220 //---------------------------------------------------------------------------
25221 
25222 static const complete::ZoneEra kZoneEraEtc_GMT_9[] ACE_TIME_PROGMEM = {
25223  // 9 - +09
25224  {
25225  nullptr /*zonePolicy*/,
25226  "+09" /*format*/,
25227  2160 /*offsetCode (32400/15)*/,
25228  0 /*offsetRemainder (32400%15)*/,
25229  0 /*deltaMinutes*/,
25230  32767 /*untilYear*/,
25231  1 /*untilMonth*/,
25232  1 /*untilDay*/,
25233  0 /*untilTimeCode (0/15)*/,
25234  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25235  },
25236 
25237 };
25238 
25239 static const char kZoneNameEtc_GMT_9[] ACE_TIME_PROGMEM = "\x0a" "GMT-9";
25240 
25241 const complete::ZoneInfo kZoneEtc_GMT_9 ACE_TIME_PROGMEM = {
25242  kZoneNameEtc_GMT_9 /*name*/,
25243  0x9d13da5e /*zoneId*/,
25244  &kZoneContext /*zoneContext*/,
25245  1 /*numEras*/,
25246  kZoneEraEtc_GMT_9 /*eras*/,
25247  nullptr /*targetInfo*/,
25248 };
25249 
25250 //---------------------------------------------------------------------------
25251 // Zone name: Etc/UTC
25252 // Eras: 1
25253 //---------------------------------------------------------------------------
25254 
25255 static const complete::ZoneEra kZoneEraEtc_UTC[] ACE_TIME_PROGMEM = {
25256  // 0 - UTC
25257  {
25258  nullptr /*zonePolicy*/,
25259  "UTC" /*format*/,
25260  0 /*offsetCode (0/15)*/,
25261  0 /*offsetRemainder (0%15)*/,
25262  0 /*deltaMinutes*/,
25263  32767 /*untilYear*/,
25264  1 /*untilMonth*/,
25265  1 /*untilDay*/,
25266  0 /*untilTimeCode (0/15)*/,
25267  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25268  },
25269 
25270 };
25271 
25272 static const char kZoneNameEtc_UTC[] ACE_TIME_PROGMEM = "\x0a" "UTC";
25273 
25274 const complete::ZoneInfo kZoneEtc_UTC ACE_TIME_PROGMEM = {
25275  kZoneNameEtc_UTC /*name*/,
25276  0xd8e31abc /*zoneId*/,
25277  &kZoneContext /*zoneContext*/,
25278  1 /*numEras*/,
25279  kZoneEraEtc_UTC /*eras*/,
25280  nullptr /*targetInfo*/,
25281 };
25282 
25283 //---------------------------------------------------------------------------
25284 // Zone name: Europe/Andorra
25285 // Eras: 4
25286 //---------------------------------------------------------------------------
25287 
25288 static const complete::ZoneEra kZoneEraEurope_Andorra[] ACE_TIME_PROGMEM = {
25289  // 0:06:04 - LMT 1901
25290  {
25291  nullptr /*zonePolicy*/,
25292  "LMT" /*format*/,
25293  24 /*offsetCode (364/15)*/,
25294  4 /*offsetRemainder (364%15)*/,
25295  0 /*deltaMinutes*/,
25296  1901 /*untilYear*/,
25297  1 /*untilMonth*/,
25298  1 /*untilDay*/,
25299  0 /*untilTimeCode (0/15)*/,
25300  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25301  },
25302  // 0:00 - WET 1946 Sep 30
25303  {
25304  nullptr /*zonePolicy*/,
25305  "WET" /*format*/,
25306  0 /*offsetCode (0/15)*/,
25307  0 /*offsetRemainder (0%15)*/,
25308  0 /*deltaMinutes*/,
25309  1946 /*untilYear*/,
25310  9 /*untilMonth*/,
25311  30 /*untilDay*/,
25312  0 /*untilTimeCode (0/15)*/,
25313  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25314  },
25315  // 1:00 - CET 1985 Mar 31 2:00
25316  {
25317  nullptr /*zonePolicy*/,
25318  "CET" /*format*/,
25319  240 /*offsetCode (3600/15)*/,
25320  0 /*offsetRemainder (3600%15)*/,
25321  0 /*deltaMinutes*/,
25322  1985 /*untilYear*/,
25323  3 /*untilMonth*/,
25324  31 /*untilDay*/,
25325  480 /*untilTimeCode (7200/15)*/,
25326  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25327  },
25328  // 1:00 EU CE%sT
25329  {
25330  &kZonePolicyEU /*zonePolicy*/,
25331  "CE%T" /*format*/,
25332  240 /*offsetCode (3600/15)*/,
25333  0 /*offsetRemainder (3600%15)*/,
25334  0 /*deltaMinutes*/,
25335  32767 /*untilYear*/,
25336  1 /*untilMonth*/,
25337  1 /*untilDay*/,
25338  0 /*untilTimeCode (0/15)*/,
25339  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25340  },
25341 
25342 };
25343 
25344 static const char kZoneNameEurope_Andorra[] ACE_TIME_PROGMEM = "\x0b" "Andorra";
25345 
25346 const complete::ZoneInfo kZoneEurope_Andorra ACE_TIME_PROGMEM = {
25347  kZoneNameEurope_Andorra /*name*/,
25348  0x97f6764b /*zoneId*/,
25349  &kZoneContext /*zoneContext*/,
25350  4 /*numEras*/,
25351  kZoneEraEurope_Andorra /*eras*/,
25352  nullptr /*targetInfo*/,
25353 };
25354 
25355 //---------------------------------------------------------------------------
25356 // Zone name: Europe/Astrakhan
25357 // Eras: 9
25358 //---------------------------------------------------------------------------
25359 
25360 static const complete::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = {
25361  // 3:12:12 - LMT 1924 May
25362  {
25363  nullptr /*zonePolicy*/,
25364  "LMT" /*format*/,
25365  768 /*offsetCode (11532/15)*/,
25366  12 /*offsetRemainder (11532%15)*/,
25367  0 /*deltaMinutes*/,
25368  1924 /*untilYear*/,
25369  5 /*untilMonth*/,
25370  1 /*untilDay*/,
25371  0 /*untilTimeCode (0/15)*/,
25372  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25373  },
25374  // 3:00 - +03 1930 Jun 21
25375  {
25376  nullptr /*zonePolicy*/,
25377  "+03" /*format*/,
25378  720 /*offsetCode (10800/15)*/,
25379  0 /*offsetRemainder (10800%15)*/,
25380  0 /*deltaMinutes*/,
25381  1930 /*untilYear*/,
25382  6 /*untilMonth*/,
25383  21 /*untilDay*/,
25384  0 /*untilTimeCode (0/15)*/,
25385  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25386  },
25387  // 4:00 Russia +04/+05 1989 Mar 26 2:00s
25388  {
25389  &kZonePolicyRussia /*zonePolicy*/,
25390  "+04/+05" /*format*/,
25391  960 /*offsetCode (14400/15)*/,
25392  0 /*offsetRemainder (14400%15)*/,
25393  0 /*deltaMinutes*/,
25394  1989 /*untilYear*/,
25395  3 /*untilMonth*/,
25396  26 /*untilDay*/,
25397  480 /*untilTimeCode (7200/15)*/,
25398  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25399  },
25400  // 3:00 Russia +03/+04 1991 Mar 31 2:00s
25401  {
25402  &kZonePolicyRussia /*zonePolicy*/,
25403  "+03/+04" /*format*/,
25404  720 /*offsetCode (10800/15)*/,
25405  0 /*offsetRemainder (10800%15)*/,
25406  0 /*deltaMinutes*/,
25407  1991 /*untilYear*/,
25408  3 /*untilMonth*/,
25409  31 /*untilDay*/,
25410  480 /*untilTimeCode (7200/15)*/,
25411  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25412  },
25413  // 4:00 - +04 1992 Mar 29 2:00s
25414  {
25415  nullptr /*zonePolicy*/,
25416  "+04" /*format*/,
25417  960 /*offsetCode (14400/15)*/,
25418  0 /*offsetRemainder (14400%15)*/,
25419  0 /*deltaMinutes*/,
25420  1992 /*untilYear*/,
25421  3 /*untilMonth*/,
25422  29 /*untilDay*/,
25423  480 /*untilTimeCode (7200/15)*/,
25424  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25425  },
25426  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
25427  {
25428  &kZonePolicyRussia /*zonePolicy*/,
25429  "+03/+04" /*format*/,
25430  720 /*offsetCode (10800/15)*/,
25431  0 /*offsetRemainder (10800%15)*/,
25432  0 /*deltaMinutes*/,
25433  2011 /*untilYear*/,
25434  3 /*untilMonth*/,
25435  27 /*untilDay*/,
25436  480 /*untilTimeCode (7200/15)*/,
25437  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25438  },
25439  // 4:00 - +04 2014 Oct 26 2:00s
25440  {
25441  nullptr /*zonePolicy*/,
25442  "+04" /*format*/,
25443  960 /*offsetCode (14400/15)*/,
25444  0 /*offsetRemainder (14400%15)*/,
25445  0 /*deltaMinutes*/,
25446  2014 /*untilYear*/,
25447  10 /*untilMonth*/,
25448  26 /*untilDay*/,
25449  480 /*untilTimeCode (7200/15)*/,
25450  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25451  },
25452  // 3:00 - +03 2016 Mar 27 2:00s
25453  {
25454  nullptr /*zonePolicy*/,
25455  "+03" /*format*/,
25456  720 /*offsetCode (10800/15)*/,
25457  0 /*offsetRemainder (10800%15)*/,
25458  0 /*deltaMinutes*/,
25459  2016 /*untilYear*/,
25460  3 /*untilMonth*/,
25461  27 /*untilDay*/,
25462  480 /*untilTimeCode (7200/15)*/,
25463  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25464  },
25465  // 4:00 - +04
25466  {
25467  nullptr /*zonePolicy*/,
25468  "+04" /*format*/,
25469  960 /*offsetCode (14400/15)*/,
25470  0 /*offsetRemainder (14400%15)*/,
25471  0 /*deltaMinutes*/,
25472  32767 /*untilYear*/,
25473  1 /*untilMonth*/,
25474  1 /*untilDay*/,
25475  0 /*untilTimeCode (0/15)*/,
25476  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25477  },
25478 
25479 };
25480 
25481 static const char kZoneNameEurope_Astrakhan[] ACE_TIME_PROGMEM = "\x0b" "Astrakhan";
25482 
25483 const complete::ZoneInfo kZoneEurope_Astrakhan ACE_TIME_PROGMEM = {
25484  kZoneNameEurope_Astrakhan /*name*/,
25485  0xe22256e1 /*zoneId*/,
25486  &kZoneContext /*zoneContext*/,
25487  9 /*numEras*/,
25488  kZoneEraEurope_Astrakhan /*eras*/,
25489  nullptr /*targetInfo*/,
25490 };
25491 
25492 //---------------------------------------------------------------------------
25493 // Zone name: Europe/Athens
25494 // Eras: 6
25495 //---------------------------------------------------------------------------
25496 
25497 static const complete::ZoneEra kZoneEraEurope_Athens[] ACE_TIME_PROGMEM = {
25498  // 1:34:52 - LMT 1895 Sep 14
25499  {
25500  nullptr /*zonePolicy*/,
25501  "LMT" /*format*/,
25502  379 /*offsetCode (5692/15)*/,
25503  7 /*offsetRemainder (5692%15)*/,
25504  0 /*deltaMinutes*/,
25505  1895 /*untilYear*/,
25506  9 /*untilMonth*/,
25507  14 /*untilDay*/,
25508  0 /*untilTimeCode (0/15)*/,
25509  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25510  },
25511  // 1:34:52 - AMT 1916 Jul 28 0:01
25512  {
25513  nullptr /*zonePolicy*/,
25514  "AMT" /*format*/,
25515  379 /*offsetCode (5692/15)*/,
25516  7 /*offsetRemainder (5692%15)*/,
25517  0 /*deltaMinutes*/,
25518  1916 /*untilYear*/,
25519  7 /*untilMonth*/,
25520  28 /*untilDay*/,
25521  4 /*untilTimeCode (60/15)*/,
25522  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25523  },
25524  // 2:00 Greece EE%sT 1941 Apr 30
25525  {
25526  &kZonePolicyGreece /*zonePolicy*/,
25527  "EE%T" /*format*/,
25528  480 /*offsetCode (7200/15)*/,
25529  0 /*offsetRemainder (7200%15)*/,
25530  0 /*deltaMinutes*/,
25531  1941 /*untilYear*/,
25532  4 /*untilMonth*/,
25533  30 /*untilDay*/,
25534  0 /*untilTimeCode (0/15)*/,
25535  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25536  },
25537  // 1:00 Greece CE%sT 1944 Apr 4
25538  {
25539  &kZonePolicyGreece /*zonePolicy*/,
25540  "CE%T" /*format*/,
25541  240 /*offsetCode (3600/15)*/,
25542  0 /*offsetRemainder (3600%15)*/,
25543  0 /*deltaMinutes*/,
25544  1944 /*untilYear*/,
25545  4 /*untilMonth*/,
25546  4 /*untilDay*/,
25547  0 /*untilTimeCode (0/15)*/,
25548  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25549  },
25550  // 2:00 Greece EE%sT 1981
25551  {
25552  &kZonePolicyGreece /*zonePolicy*/,
25553  "EE%T" /*format*/,
25554  480 /*offsetCode (7200/15)*/,
25555  0 /*offsetRemainder (7200%15)*/,
25556  0 /*deltaMinutes*/,
25557  1981 /*untilYear*/,
25558  1 /*untilMonth*/,
25559  1 /*untilDay*/,
25560  0 /*untilTimeCode (0/15)*/,
25561  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25562  },
25563  // 2:00 EU EE%sT
25564  {
25565  &kZonePolicyEU /*zonePolicy*/,
25566  "EE%T" /*format*/,
25567  480 /*offsetCode (7200/15)*/,
25568  0 /*offsetRemainder (7200%15)*/,
25569  0 /*deltaMinutes*/,
25570  32767 /*untilYear*/,
25571  1 /*untilMonth*/,
25572  1 /*untilDay*/,
25573  0 /*untilTimeCode (0/15)*/,
25574  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25575  },
25576 
25577 };
25578 
25579 static const char kZoneNameEurope_Athens[] ACE_TIME_PROGMEM = "\x0b" "Athens";
25580 
25581 const complete::ZoneInfo kZoneEurope_Athens ACE_TIME_PROGMEM = {
25582  kZoneNameEurope_Athens /*name*/,
25583  0x4318fa27 /*zoneId*/,
25584  &kZoneContext /*zoneContext*/,
25585  6 /*numEras*/,
25586  kZoneEraEurope_Athens /*eras*/,
25587  nullptr /*targetInfo*/,
25588 };
25589 
25590 //---------------------------------------------------------------------------
25591 // Zone name: Europe/Belgrade
25592 // Eras: 7
25593 //---------------------------------------------------------------------------
25594 
25595 static const complete::ZoneEra kZoneEraEurope_Belgrade[] ACE_TIME_PROGMEM = {
25596  // 1:22:00 - LMT 1884
25597  {
25598  nullptr /*zonePolicy*/,
25599  "LMT" /*format*/,
25600  328 /*offsetCode (4920/15)*/,
25601  0 /*offsetRemainder (4920%15)*/,
25602  0 /*deltaMinutes*/,
25603  1884 /*untilYear*/,
25604  1 /*untilMonth*/,
25605  1 /*untilDay*/,
25606  0 /*untilTimeCode (0/15)*/,
25607  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25608  },
25609  // 1:00 - CET 1941 Apr 18 23:00
25610  {
25611  nullptr /*zonePolicy*/,
25612  "CET" /*format*/,
25613  240 /*offsetCode (3600/15)*/,
25614  0 /*offsetRemainder (3600%15)*/,
25615  0 /*deltaMinutes*/,
25616  1941 /*untilYear*/,
25617  4 /*untilMonth*/,
25618  18 /*untilDay*/,
25619  5520 /*untilTimeCode (82800/15)*/,
25620  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25621  },
25622  // 1:00 C-Eur CE%sT 1945
25623  {
25624  &kZonePolicyC_Eur /*zonePolicy*/,
25625  "CE%T" /*format*/,
25626  240 /*offsetCode (3600/15)*/,
25627  0 /*offsetRemainder (3600%15)*/,
25628  0 /*deltaMinutes*/,
25629  1945 /*untilYear*/,
25630  1 /*untilMonth*/,
25631  1 /*untilDay*/,
25632  0 /*untilTimeCode (0/15)*/,
25633  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25634  },
25635  // 1:00 - CET 1945 May 8 2:00s
25636  {
25637  nullptr /*zonePolicy*/,
25638  "CET" /*format*/,
25639  240 /*offsetCode (3600/15)*/,
25640  0 /*offsetRemainder (3600%15)*/,
25641  0 /*deltaMinutes*/,
25642  1945 /*untilYear*/,
25643  5 /*untilMonth*/,
25644  8 /*untilDay*/,
25645  480 /*untilTimeCode (7200/15)*/,
25646  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25647  },
25648  // 1:00 1:00 CEST 1945 Sep 16 2:00s
25649  {
25650  nullptr /*zonePolicy*/,
25651  "CEST" /*format*/,
25652  240 /*offsetCode (3600/15)*/,
25653  0 /*offsetRemainder (3600%15)*/,
25654  60 /*deltaMinutes*/,
25655  1945 /*untilYear*/,
25656  9 /*untilMonth*/,
25657  16 /*untilDay*/,
25658  480 /*untilTimeCode (7200/15)*/,
25659  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25660  },
25661  // 1:00 - CET 1982 Nov 27
25662  {
25663  nullptr /*zonePolicy*/,
25664  "CET" /*format*/,
25665  240 /*offsetCode (3600/15)*/,
25666  0 /*offsetRemainder (3600%15)*/,
25667  0 /*deltaMinutes*/,
25668  1982 /*untilYear*/,
25669  11 /*untilMonth*/,
25670  27 /*untilDay*/,
25671  0 /*untilTimeCode (0/15)*/,
25672  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25673  },
25674  // 1:00 EU CE%sT
25675  {
25676  &kZonePolicyEU /*zonePolicy*/,
25677  "CE%T" /*format*/,
25678  240 /*offsetCode (3600/15)*/,
25679  0 /*offsetRemainder (3600%15)*/,
25680  0 /*deltaMinutes*/,
25681  32767 /*untilYear*/,
25682  1 /*untilMonth*/,
25683  1 /*untilDay*/,
25684  0 /*untilTimeCode (0/15)*/,
25685  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25686  },
25687 
25688 };
25689 
25690 static const char kZoneNameEurope_Belgrade[] ACE_TIME_PROGMEM = "\x0b" "Belgrade";
25691 
25692 const complete::ZoneInfo kZoneEurope_Belgrade ACE_TIME_PROGMEM = {
25693  kZoneNameEurope_Belgrade /*name*/,
25694  0xe0532b3a /*zoneId*/,
25695  &kZoneContext /*zoneContext*/,
25696  7 /*numEras*/,
25697  kZoneEraEurope_Belgrade /*eras*/,
25698  nullptr /*targetInfo*/,
25699 };
25700 
25701 //---------------------------------------------------------------------------
25702 // Zone name: Europe/Berlin
25703 // Eras: 5
25704 //---------------------------------------------------------------------------
25705 
25706 static const complete::ZoneEra kZoneEraEurope_Berlin[] ACE_TIME_PROGMEM = {
25707  // 0:53:28 - LMT 1893 Apr
25708  {
25709  nullptr /*zonePolicy*/,
25710  "LMT" /*format*/,
25711  213 /*offsetCode (3208/15)*/,
25712  13 /*offsetRemainder (3208%15)*/,
25713  0 /*deltaMinutes*/,
25714  1893 /*untilYear*/,
25715  4 /*untilMonth*/,
25716  1 /*untilDay*/,
25717  0 /*untilTimeCode (0/15)*/,
25718  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25719  },
25720  // 1:00 C-Eur CE%sT 1945 May 24 2:00
25721  {
25722  &kZonePolicyC_Eur /*zonePolicy*/,
25723  "CE%T" /*format*/,
25724  240 /*offsetCode (3600/15)*/,
25725  0 /*offsetRemainder (3600%15)*/,
25726  0 /*deltaMinutes*/,
25727  1945 /*untilYear*/,
25728  5 /*untilMonth*/,
25729  24 /*untilDay*/,
25730  480 /*untilTimeCode (7200/15)*/,
25731  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25732  },
25733  // 1:00 SovietZone CE%sT 1946
25734  {
25735  &kZonePolicySovietZone /*zonePolicy*/,
25736  "CE%T" /*format*/,
25737  240 /*offsetCode (3600/15)*/,
25738  0 /*offsetRemainder (3600%15)*/,
25739  0 /*deltaMinutes*/,
25740  1946 /*untilYear*/,
25741  1 /*untilMonth*/,
25742  1 /*untilDay*/,
25743  0 /*untilTimeCode (0/15)*/,
25744  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25745  },
25746  // 1:00 Germany CE%sT 1980
25747  {
25748  &kZonePolicyGermany /*zonePolicy*/,
25749  "CE%T" /*format*/,
25750  240 /*offsetCode (3600/15)*/,
25751  0 /*offsetRemainder (3600%15)*/,
25752  0 /*deltaMinutes*/,
25753  1980 /*untilYear*/,
25754  1 /*untilMonth*/,
25755  1 /*untilDay*/,
25756  0 /*untilTimeCode (0/15)*/,
25757  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25758  },
25759  // 1:00 EU CE%sT
25760  {
25761  &kZonePolicyEU /*zonePolicy*/,
25762  "CE%T" /*format*/,
25763  240 /*offsetCode (3600/15)*/,
25764  0 /*offsetRemainder (3600%15)*/,
25765  0 /*deltaMinutes*/,
25766  32767 /*untilYear*/,
25767  1 /*untilMonth*/,
25768  1 /*untilDay*/,
25769  0 /*untilTimeCode (0/15)*/,
25770  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25771  },
25772 
25773 };
25774 
25775 static const char kZoneNameEurope_Berlin[] ACE_TIME_PROGMEM = "\x0b" "Berlin";
25776 
25777 const complete::ZoneInfo kZoneEurope_Berlin ACE_TIME_PROGMEM = {
25778  kZoneNameEurope_Berlin /*name*/,
25779  0x44644c20 /*zoneId*/,
25780  &kZoneContext /*zoneContext*/,
25781  5 /*numEras*/,
25782  kZoneEraEurope_Berlin /*eras*/,
25783  nullptr /*targetInfo*/,
25784 };
25785 
25786 //---------------------------------------------------------------------------
25787 // Zone name: Europe/Brussels
25788 // Eras: 9
25789 //---------------------------------------------------------------------------
25790 
25791 static const complete::ZoneEra kZoneEraEurope_Brussels[] ACE_TIME_PROGMEM = {
25792  // 0:17:30 - LMT 1880
25793  {
25794  nullptr /*zonePolicy*/,
25795  "LMT" /*format*/,
25796  70 /*offsetCode (1050/15)*/,
25797  0 /*offsetRemainder (1050%15)*/,
25798  0 /*deltaMinutes*/,
25799  1880 /*untilYear*/,
25800  1 /*untilMonth*/,
25801  1 /*untilDay*/,
25802  0 /*untilTimeCode (0/15)*/,
25803  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25804  },
25805  // 0:17:30 - BMT 1892 May 1 00:17:30
25806  {
25807  nullptr /*zonePolicy*/,
25808  "BMT" /*format*/,
25809  70 /*offsetCode (1050/15)*/,
25810  0 /*offsetRemainder (1050%15)*/,
25811  0 /*deltaMinutes*/,
25812  1892 /*untilYear*/,
25813  5 /*untilMonth*/,
25814  1 /*untilDay*/,
25815  70 /*untilTimeCode (1050/15)*/,
25816  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25817  },
25818  // 0:00 - WET 1914 Nov 8
25819  {
25820  nullptr /*zonePolicy*/,
25821  "WET" /*format*/,
25822  0 /*offsetCode (0/15)*/,
25823  0 /*offsetRemainder (0%15)*/,
25824  0 /*deltaMinutes*/,
25825  1914 /*untilYear*/,
25826  11 /*untilMonth*/,
25827  8 /*untilDay*/,
25828  0 /*untilTimeCode (0/15)*/,
25829  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25830  },
25831  // 1:00 - CET 1916 May 1 0:00
25832  {
25833  nullptr /*zonePolicy*/,
25834  "CET" /*format*/,
25835  240 /*offsetCode (3600/15)*/,
25836  0 /*offsetRemainder (3600%15)*/,
25837  0 /*deltaMinutes*/,
25838  1916 /*untilYear*/,
25839  5 /*untilMonth*/,
25840  1 /*untilDay*/,
25841  0 /*untilTimeCode (0/15)*/,
25842  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25843  },
25844  // 1:00 C-Eur CE%sT 1918 Nov 11 11:00u
25845  {
25846  &kZonePolicyC_Eur /*zonePolicy*/,
25847  "CE%T" /*format*/,
25848  240 /*offsetCode (3600/15)*/,
25849  0 /*offsetRemainder (3600%15)*/,
25850  0 /*deltaMinutes*/,
25851  1918 /*untilYear*/,
25852  11 /*untilMonth*/,
25853  11 /*untilDay*/,
25854  2640 /*untilTimeCode (39600/15)*/,
25855  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
25856  },
25857  // 0:00 Belgium WE%sT 1940 May 20 2:00s
25858  {
25859  &kZonePolicyBelgium /*zonePolicy*/,
25860  "WE%T" /*format*/,
25861  0 /*offsetCode (0/15)*/,
25862  0 /*offsetRemainder (0%15)*/,
25863  0 /*deltaMinutes*/,
25864  1940 /*untilYear*/,
25865  5 /*untilMonth*/,
25866  20 /*untilDay*/,
25867  480 /*untilTimeCode (7200/15)*/,
25868  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25869  },
25870  // 1:00 C-Eur CE%sT 1944 Sep 3
25871  {
25872  &kZonePolicyC_Eur /*zonePolicy*/,
25873  "CE%T" /*format*/,
25874  240 /*offsetCode (3600/15)*/,
25875  0 /*offsetRemainder (3600%15)*/,
25876  0 /*deltaMinutes*/,
25877  1944 /*untilYear*/,
25878  9 /*untilMonth*/,
25879  3 /*untilDay*/,
25880  0 /*untilTimeCode (0/15)*/,
25881  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25882  },
25883  // 1:00 Belgium CE%sT 1977
25884  {
25885  &kZonePolicyBelgium /*zonePolicy*/,
25886  "CE%T" /*format*/,
25887  240 /*offsetCode (3600/15)*/,
25888  0 /*offsetRemainder (3600%15)*/,
25889  0 /*deltaMinutes*/,
25890  1977 /*untilYear*/,
25891  1 /*untilMonth*/,
25892  1 /*untilDay*/,
25893  0 /*untilTimeCode (0/15)*/,
25894  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25895  },
25896  // 1:00 EU CE%sT
25897  {
25898  &kZonePolicyEU /*zonePolicy*/,
25899  "CE%T" /*format*/,
25900  240 /*offsetCode (3600/15)*/,
25901  0 /*offsetRemainder (3600%15)*/,
25902  0 /*deltaMinutes*/,
25903  32767 /*untilYear*/,
25904  1 /*untilMonth*/,
25905  1 /*untilDay*/,
25906  0 /*untilTimeCode (0/15)*/,
25907  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25908  },
25909 
25910 };
25911 
25912 static const char kZoneNameEurope_Brussels[] ACE_TIME_PROGMEM = "\x0b" "Brussels";
25913 
25914 const complete::ZoneInfo kZoneEurope_Brussels ACE_TIME_PROGMEM = {
25915  kZoneNameEurope_Brussels /*name*/,
25916  0xdee07337 /*zoneId*/,
25917  &kZoneContext /*zoneContext*/,
25918  9 /*numEras*/,
25919  kZoneEraEurope_Brussels /*eras*/,
25920  nullptr /*targetInfo*/,
25921 };
25922 
25923 //---------------------------------------------------------------------------
25924 // Zone name: Europe/Bucharest
25925 // Eras: 7
25926 //---------------------------------------------------------------------------
25927 
25928 static const complete::ZoneEra kZoneEraEurope_Bucharest[] ACE_TIME_PROGMEM = {
25929  // 1:44:24 - LMT 1891 Oct
25930  {
25931  nullptr /*zonePolicy*/,
25932  "LMT" /*format*/,
25933  417 /*offsetCode (6264/15)*/,
25934  9 /*offsetRemainder (6264%15)*/,
25935  0 /*deltaMinutes*/,
25936  1891 /*untilYear*/,
25937  10 /*untilMonth*/,
25938  1 /*untilDay*/,
25939  0 /*untilTimeCode (0/15)*/,
25940  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25941  },
25942  // 1:44:24 - BMT 1931 Jul 24
25943  {
25944  nullptr /*zonePolicy*/,
25945  "BMT" /*format*/,
25946  417 /*offsetCode (6264/15)*/,
25947  9 /*offsetRemainder (6264%15)*/,
25948  0 /*deltaMinutes*/,
25949  1931 /*untilYear*/,
25950  7 /*untilMonth*/,
25951  24 /*untilDay*/,
25952  0 /*untilTimeCode (0/15)*/,
25953  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25954  },
25955  // 2:00 Romania EE%sT 1981 Mar 29 2:00s
25956  {
25957  &kZonePolicyRomania /*zonePolicy*/,
25958  "EE%T" /*format*/,
25959  480 /*offsetCode (7200/15)*/,
25960  0 /*offsetRemainder (7200%15)*/,
25961  0 /*deltaMinutes*/,
25962  1981 /*untilYear*/,
25963  3 /*untilMonth*/,
25964  29 /*untilDay*/,
25965  480 /*untilTimeCode (7200/15)*/,
25966  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25967  },
25968  // 2:00 C-Eur EE%sT 1991
25969  {
25970  &kZonePolicyC_Eur /*zonePolicy*/,
25971  "EE%T" /*format*/,
25972  480 /*offsetCode (7200/15)*/,
25973  0 /*offsetRemainder (7200%15)*/,
25974  0 /*deltaMinutes*/,
25975  1991 /*untilYear*/,
25976  1 /*untilMonth*/,
25977  1 /*untilDay*/,
25978  0 /*untilTimeCode (0/15)*/,
25979  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25980  },
25981  // 2:00 Romania EE%sT 1994
25982  {
25983  &kZonePolicyRomania /*zonePolicy*/,
25984  "EE%T" /*format*/,
25985  480 /*offsetCode (7200/15)*/,
25986  0 /*offsetRemainder (7200%15)*/,
25987  0 /*deltaMinutes*/,
25988  1994 /*untilYear*/,
25989  1 /*untilMonth*/,
25990  1 /*untilDay*/,
25991  0 /*untilTimeCode (0/15)*/,
25992  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25993  },
25994  // 2:00 E-Eur EE%sT 1997
25995  {
25996  &kZonePolicyE_Eur /*zonePolicy*/,
25997  "EE%T" /*format*/,
25998  480 /*offsetCode (7200/15)*/,
25999  0 /*offsetRemainder (7200%15)*/,
26000  0 /*deltaMinutes*/,
26001  1997 /*untilYear*/,
26002  1 /*untilMonth*/,
26003  1 /*untilDay*/,
26004  0 /*untilTimeCode (0/15)*/,
26005  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26006  },
26007  // 2:00 EU EE%sT
26008  {
26009  &kZonePolicyEU /*zonePolicy*/,
26010  "EE%T" /*format*/,
26011  480 /*offsetCode (7200/15)*/,
26012  0 /*offsetRemainder (7200%15)*/,
26013  0 /*deltaMinutes*/,
26014  32767 /*untilYear*/,
26015  1 /*untilMonth*/,
26016  1 /*untilDay*/,
26017  0 /*untilTimeCode (0/15)*/,
26018  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26019  },
26020 
26021 };
26022 
26023 static const char kZoneNameEurope_Bucharest[] ACE_TIME_PROGMEM = "\x0b" "Bucharest";
26024 
26025 const complete::ZoneInfo kZoneEurope_Bucharest ACE_TIME_PROGMEM = {
26026  kZoneNameEurope_Bucharest /*name*/,
26027  0xfb349ec5 /*zoneId*/,
26028  &kZoneContext /*zoneContext*/,
26029  7 /*numEras*/,
26030  kZoneEraEurope_Bucharest /*eras*/,
26031  nullptr /*targetInfo*/,
26032 };
26033 
26034 //---------------------------------------------------------------------------
26035 // Zone name: Europe/Budapest
26036 // Eras: 6
26037 //---------------------------------------------------------------------------
26038 
26039 static const complete::ZoneEra kZoneEraEurope_Budapest[] ACE_TIME_PROGMEM = {
26040  // 1:16:20 - LMT 1890 Nov 1
26041  {
26042  nullptr /*zonePolicy*/,
26043  "LMT" /*format*/,
26044  305 /*offsetCode (4580/15)*/,
26045  5 /*offsetRemainder (4580%15)*/,
26046  0 /*deltaMinutes*/,
26047  1890 /*untilYear*/,
26048  11 /*untilMonth*/,
26049  1 /*untilDay*/,
26050  0 /*untilTimeCode (0/15)*/,
26051  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26052  },
26053  // 1:00 C-Eur CE%sT 1918
26054  {
26055  &kZonePolicyC_Eur /*zonePolicy*/,
26056  "CE%T" /*format*/,
26057  240 /*offsetCode (3600/15)*/,
26058  0 /*offsetRemainder (3600%15)*/,
26059  0 /*deltaMinutes*/,
26060  1918 /*untilYear*/,
26061  1 /*untilMonth*/,
26062  1 /*untilDay*/,
26063  0 /*untilTimeCode (0/15)*/,
26064  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26065  },
26066  // 1:00 Hungary CE%sT 1941 Apr 7 23:00
26067  {
26068  &kZonePolicyHungary /*zonePolicy*/,
26069  "CE%T" /*format*/,
26070  240 /*offsetCode (3600/15)*/,
26071  0 /*offsetRemainder (3600%15)*/,
26072  0 /*deltaMinutes*/,
26073  1941 /*untilYear*/,
26074  4 /*untilMonth*/,
26075  7 /*untilDay*/,
26076  5520 /*untilTimeCode (82800/15)*/,
26077  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26078  },
26079  // 1:00 C-Eur CE%sT 1945
26080  {
26081  &kZonePolicyC_Eur /*zonePolicy*/,
26082  "CE%T" /*format*/,
26083  240 /*offsetCode (3600/15)*/,
26084  0 /*offsetRemainder (3600%15)*/,
26085  0 /*deltaMinutes*/,
26086  1945 /*untilYear*/,
26087  1 /*untilMonth*/,
26088  1 /*untilDay*/,
26089  0 /*untilTimeCode (0/15)*/,
26090  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26091  },
26092  // 1:00 Hungary CE%sT 1984
26093  {
26094  &kZonePolicyHungary /*zonePolicy*/,
26095  "CE%T" /*format*/,
26096  240 /*offsetCode (3600/15)*/,
26097  0 /*offsetRemainder (3600%15)*/,
26098  0 /*deltaMinutes*/,
26099  1984 /*untilYear*/,
26100  1 /*untilMonth*/,
26101  1 /*untilDay*/,
26102  0 /*untilTimeCode (0/15)*/,
26103  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26104  },
26105  // 1:00 EU CE%sT
26106  {
26107  &kZonePolicyEU /*zonePolicy*/,
26108  "CE%T" /*format*/,
26109  240 /*offsetCode (3600/15)*/,
26110  0 /*offsetRemainder (3600%15)*/,
26111  0 /*deltaMinutes*/,
26112  32767 /*untilYear*/,
26113  1 /*untilMonth*/,
26114  1 /*untilDay*/,
26115  0 /*untilTimeCode (0/15)*/,
26116  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26117  },
26118 
26119 };
26120 
26121 static const char kZoneNameEurope_Budapest[] ACE_TIME_PROGMEM = "\x0b" "Budapest";
26122 
26123 const complete::ZoneInfo kZoneEurope_Budapest ACE_TIME_PROGMEM = {
26124  kZoneNameEurope_Budapest /*name*/,
26125  0x9ce0197c /*zoneId*/,
26126  &kZoneContext /*zoneContext*/,
26127  6 /*numEras*/,
26128  kZoneEraEurope_Budapest /*eras*/,
26129  nullptr /*targetInfo*/,
26130 };
26131 
26132 //---------------------------------------------------------------------------
26133 // Zone name: Europe/Chisinau
26134 // Eras: 10
26135 //---------------------------------------------------------------------------
26136 
26137 static const complete::ZoneEra kZoneEraEurope_Chisinau[] ACE_TIME_PROGMEM = {
26138  // 1:55:20 - LMT 1880
26139  {
26140  nullptr /*zonePolicy*/,
26141  "LMT" /*format*/,
26142  461 /*offsetCode (6920/15)*/,
26143  5 /*offsetRemainder (6920%15)*/,
26144  0 /*deltaMinutes*/,
26145  1880 /*untilYear*/,
26146  1 /*untilMonth*/,
26147  1 /*untilDay*/,
26148  0 /*untilTimeCode (0/15)*/,
26149  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26150  },
26151  // 1:55 - CMT 1918 Feb 15
26152  {
26153  nullptr /*zonePolicy*/,
26154  "CMT" /*format*/,
26155  460 /*offsetCode (6900/15)*/,
26156  0 /*offsetRemainder (6900%15)*/,
26157  0 /*deltaMinutes*/,
26158  1918 /*untilYear*/,
26159  2 /*untilMonth*/,
26160  15 /*untilDay*/,
26161  0 /*untilTimeCode (0/15)*/,
26162  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26163  },
26164  // 1:44:24 - BMT 1931 Jul 24
26165  {
26166  nullptr /*zonePolicy*/,
26167  "BMT" /*format*/,
26168  417 /*offsetCode (6264/15)*/,
26169  9 /*offsetRemainder (6264%15)*/,
26170  0 /*deltaMinutes*/,
26171  1931 /*untilYear*/,
26172  7 /*untilMonth*/,
26173  24 /*untilDay*/,
26174  0 /*untilTimeCode (0/15)*/,
26175  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26176  },
26177  // 2:00 Romania EE%sT 1940 Aug 15
26178  {
26179  &kZonePolicyRomania /*zonePolicy*/,
26180  "EE%T" /*format*/,
26181  480 /*offsetCode (7200/15)*/,
26182  0 /*offsetRemainder (7200%15)*/,
26183  0 /*deltaMinutes*/,
26184  1940 /*untilYear*/,
26185  8 /*untilMonth*/,
26186  15 /*untilDay*/,
26187  0 /*untilTimeCode (0/15)*/,
26188  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26189  },
26190  // 2:00 1:00 EEST 1941 Jul 17
26191  {
26192  nullptr /*zonePolicy*/,
26193  "EEST" /*format*/,
26194  480 /*offsetCode (7200/15)*/,
26195  0 /*offsetRemainder (7200%15)*/,
26196  60 /*deltaMinutes*/,
26197  1941 /*untilYear*/,
26198  7 /*untilMonth*/,
26199  17 /*untilDay*/,
26200  0 /*untilTimeCode (0/15)*/,
26201  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26202  },
26203  // 1:00 C-Eur CE%sT 1944 Aug 24
26204  {
26205  &kZonePolicyC_Eur /*zonePolicy*/,
26206  "CE%T" /*format*/,
26207  240 /*offsetCode (3600/15)*/,
26208  0 /*offsetRemainder (3600%15)*/,
26209  0 /*deltaMinutes*/,
26210  1944 /*untilYear*/,
26211  8 /*untilMonth*/,
26212  24 /*untilDay*/,
26213  0 /*untilTimeCode (0/15)*/,
26214  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26215  },
26216  // 3:00 Russia MSK/MSD 1990 May 6 2:00
26217  {
26218  &kZonePolicyRussia /*zonePolicy*/,
26219  "MSK/MSD" /*format*/,
26220  720 /*offsetCode (10800/15)*/,
26221  0 /*offsetRemainder (10800%15)*/,
26222  0 /*deltaMinutes*/,
26223  1990 /*untilYear*/,
26224  5 /*untilMonth*/,
26225  6 /*untilDay*/,
26226  480 /*untilTimeCode (7200/15)*/,
26227  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26228  },
26229  // 2:00 Russia EE%sT 1992
26230  {
26231  &kZonePolicyRussia /*zonePolicy*/,
26232  "EE%T" /*format*/,
26233  480 /*offsetCode (7200/15)*/,
26234  0 /*offsetRemainder (7200%15)*/,
26235  0 /*deltaMinutes*/,
26236  1992 /*untilYear*/,
26237  1 /*untilMonth*/,
26238  1 /*untilDay*/,
26239  0 /*untilTimeCode (0/15)*/,
26240  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26241  },
26242  // 2:00 E-Eur EE%sT 1997
26243  {
26244  &kZonePolicyE_Eur /*zonePolicy*/,
26245  "EE%T" /*format*/,
26246  480 /*offsetCode (7200/15)*/,
26247  0 /*offsetRemainder (7200%15)*/,
26248  0 /*deltaMinutes*/,
26249  1997 /*untilYear*/,
26250  1 /*untilMonth*/,
26251  1 /*untilDay*/,
26252  0 /*untilTimeCode (0/15)*/,
26253  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26254  },
26255  // 2:00 Moldova EE%sT
26256  {
26257  &kZonePolicyMoldova /*zonePolicy*/,
26258  "EE%T" /*format*/,
26259  480 /*offsetCode (7200/15)*/,
26260  0 /*offsetRemainder (7200%15)*/,
26261  0 /*deltaMinutes*/,
26262  32767 /*untilYear*/,
26263  1 /*untilMonth*/,
26264  1 /*untilDay*/,
26265  0 /*untilTimeCode (0/15)*/,
26266  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26267  },
26268 
26269 };
26270 
26271 static const char kZoneNameEurope_Chisinau[] ACE_TIME_PROGMEM = "\x0b" "Chisinau";
26272 
26273 const complete::ZoneInfo kZoneEurope_Chisinau ACE_TIME_PROGMEM = {
26274  kZoneNameEurope_Chisinau /*name*/,
26275  0xad58aa18 /*zoneId*/,
26276  &kZoneContext /*zoneContext*/,
26277  10 /*numEras*/,
26278  kZoneEraEurope_Chisinau /*eras*/,
26279  nullptr /*targetInfo*/,
26280 };
26281 
26282 //---------------------------------------------------------------------------
26283 // Zone name: Europe/Dublin
26284 // Eras: 11
26285 //---------------------------------------------------------------------------
26286 
26287 static const complete::ZoneEra kZoneEraEurope_Dublin[] ACE_TIME_PROGMEM = {
26288  // -0:25:21 - LMT 1880 Aug 2
26289  {
26290  nullptr /*zonePolicy*/,
26291  "LMT" /*format*/,
26292  -102 /*offsetCode (-1521/15)*/,
26293  9 /*offsetRemainder (-1521%15)*/,
26294  0 /*deltaMinutes*/,
26295  1880 /*untilYear*/,
26296  8 /*untilMonth*/,
26297  2 /*untilDay*/,
26298  0 /*untilTimeCode (0/15)*/,
26299  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26300  },
26301  // -0:25:21 - DMT 1916 May 21 2:00s
26302  {
26303  nullptr /*zonePolicy*/,
26304  "DMT" /*format*/,
26305  -102 /*offsetCode (-1521/15)*/,
26306  9 /*offsetRemainder (-1521%15)*/,
26307  0 /*deltaMinutes*/,
26308  1916 /*untilYear*/,
26309  5 /*untilMonth*/,
26310  21 /*untilDay*/,
26311  480 /*untilTimeCode (7200/15)*/,
26312  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26313  },
26314  // -0:25:21 1:00 IST 1916 Oct 1 2:00s
26315  {
26316  nullptr /*zonePolicy*/,
26317  "IST" /*format*/,
26318  -102 /*offsetCode (-1521/15)*/,
26319  9 /*offsetRemainder (-1521%15)*/,
26320  60 /*deltaMinutes*/,
26321  1916 /*untilYear*/,
26322  10 /*untilMonth*/,
26323  1 /*untilDay*/,
26324  480 /*untilTimeCode (7200/15)*/,
26325  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26326  },
26327  // 0:00 GB-Eire %s 1921 Dec 6
26328  {
26329  &kZonePolicyGB_Eire /*zonePolicy*/,
26330  "%" /*format*/,
26331  0 /*offsetCode (0/15)*/,
26332  0 /*offsetRemainder (0%15)*/,
26333  0 /*deltaMinutes*/,
26334  1921 /*untilYear*/,
26335  12 /*untilMonth*/,
26336  6 /*untilDay*/,
26337  0 /*untilTimeCode (0/15)*/,
26338  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26339  },
26340  // 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00s
26341  {
26342  &kZonePolicyGB_Eire /*zonePolicy*/,
26343  "GMT/IST" /*format*/,
26344  0 /*offsetCode (0/15)*/,
26345  0 /*offsetRemainder (0%15)*/,
26346  0 /*deltaMinutes*/,
26347  1940 /*untilYear*/,
26348  2 /*untilMonth*/,
26349  25 /*untilDay*/,
26350  480 /*untilTimeCode (7200/15)*/,
26351  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26352  },
26353  // 0:00 1:00 IST 1946 Oct 6 2:00s
26354  {
26355  nullptr /*zonePolicy*/,
26356  "IST" /*format*/,
26357  0 /*offsetCode (0/15)*/,
26358  0 /*offsetRemainder (0%15)*/,
26359  60 /*deltaMinutes*/,
26360  1946 /*untilYear*/,
26361  10 /*untilMonth*/,
26362  6 /*untilDay*/,
26363  480 /*untilTimeCode (7200/15)*/,
26364  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26365  },
26366  // 0:00 - GMT 1947 Mar 16 2:00s
26367  {
26368  nullptr /*zonePolicy*/,
26369  "GMT" /*format*/,
26370  0 /*offsetCode (0/15)*/,
26371  0 /*offsetRemainder (0%15)*/,
26372  0 /*deltaMinutes*/,
26373  1947 /*untilYear*/,
26374  3 /*untilMonth*/,
26375  16 /*untilDay*/,
26376  480 /*untilTimeCode (7200/15)*/,
26377  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26378  },
26379  // 0:00 1:00 IST 1947 Nov 2 2:00s
26380  {
26381  nullptr /*zonePolicy*/,
26382  "IST" /*format*/,
26383  0 /*offsetCode (0/15)*/,
26384  0 /*offsetRemainder (0%15)*/,
26385  60 /*deltaMinutes*/,
26386  1947 /*untilYear*/,
26387  11 /*untilMonth*/,
26388  2 /*untilDay*/,
26389  480 /*untilTimeCode (7200/15)*/,
26390  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26391  },
26392  // 0:00 - GMT 1948 Apr 18 2:00s
26393  {
26394  nullptr /*zonePolicy*/,
26395  "GMT" /*format*/,
26396  0 /*offsetCode (0/15)*/,
26397  0 /*offsetRemainder (0%15)*/,
26398  0 /*deltaMinutes*/,
26399  1948 /*untilYear*/,
26400  4 /*untilMonth*/,
26401  18 /*untilDay*/,
26402  480 /*untilTimeCode (7200/15)*/,
26403  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26404  },
26405  // 0:00 GB-Eire GMT/IST 1968 Oct 27
26406  {
26407  &kZonePolicyGB_Eire /*zonePolicy*/,
26408  "GMT/IST" /*format*/,
26409  0 /*offsetCode (0/15)*/,
26410  0 /*offsetRemainder (0%15)*/,
26411  0 /*deltaMinutes*/,
26412  1968 /*untilYear*/,
26413  10 /*untilMonth*/,
26414  27 /*untilDay*/,
26415  0 /*untilTimeCode (0/15)*/,
26416  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26417  },
26418  // 1:00 Eire IST/GMT
26419  {
26420  &kZonePolicyEire /*zonePolicy*/,
26421  "IST/GMT" /*format*/,
26422  240 /*offsetCode (3600/15)*/,
26423  0 /*offsetRemainder (3600%15)*/,
26424  0 /*deltaMinutes*/,
26425  32767 /*untilYear*/,
26426  1 /*untilMonth*/,
26427  1 /*untilDay*/,
26428  0 /*untilTimeCode (0/15)*/,
26429  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26430  },
26431 
26432 };
26433 
26434 static const char kZoneNameEurope_Dublin[] ACE_TIME_PROGMEM = "\x0b" "Dublin";
26435 
26436 const complete::ZoneInfo kZoneEurope_Dublin ACE_TIME_PROGMEM = {
26437  kZoneNameEurope_Dublin /*name*/,
26438  0x4a275f62 /*zoneId*/,
26439  &kZoneContext /*zoneContext*/,
26440  11 /*numEras*/,
26441  kZoneEraEurope_Dublin /*eras*/,
26442  nullptr /*targetInfo*/,
26443 };
26444 
26445 //---------------------------------------------------------------------------
26446 // Zone name: Europe/Gibraltar
26447 // Eras: 4
26448 //---------------------------------------------------------------------------
26449 
26450 static const complete::ZoneEra kZoneEraEurope_Gibraltar[] ACE_TIME_PROGMEM = {
26451  // -0:21:24 - LMT 1880 Aug 2
26452  {
26453  nullptr /*zonePolicy*/,
26454  "LMT" /*format*/,
26455  -86 /*offsetCode (-1284/15)*/,
26456  6 /*offsetRemainder (-1284%15)*/,
26457  0 /*deltaMinutes*/,
26458  1880 /*untilYear*/,
26459  8 /*untilMonth*/,
26460  2 /*untilDay*/,
26461  0 /*untilTimeCode (0/15)*/,
26462  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26463  },
26464  // 0:00 GB-Eire %s 1957 Apr 14 2:00
26465  {
26466  &kZonePolicyGB_Eire /*zonePolicy*/,
26467  "%" /*format*/,
26468  0 /*offsetCode (0/15)*/,
26469  0 /*offsetRemainder (0%15)*/,
26470  0 /*deltaMinutes*/,
26471  1957 /*untilYear*/,
26472  4 /*untilMonth*/,
26473  14 /*untilDay*/,
26474  480 /*untilTimeCode (7200/15)*/,
26475  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26476  },
26477  // 1:00 - CET 1982
26478  {
26479  nullptr /*zonePolicy*/,
26480  "CET" /*format*/,
26481  240 /*offsetCode (3600/15)*/,
26482  0 /*offsetRemainder (3600%15)*/,
26483  0 /*deltaMinutes*/,
26484  1982 /*untilYear*/,
26485  1 /*untilMonth*/,
26486  1 /*untilDay*/,
26487  0 /*untilTimeCode (0/15)*/,
26488  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26489  },
26490  // 1:00 EU CE%sT
26491  {
26492  &kZonePolicyEU /*zonePolicy*/,
26493  "CE%T" /*format*/,
26494  240 /*offsetCode (3600/15)*/,
26495  0 /*offsetRemainder (3600%15)*/,
26496  0 /*deltaMinutes*/,
26497  32767 /*untilYear*/,
26498  1 /*untilMonth*/,
26499  1 /*untilDay*/,
26500  0 /*untilTimeCode (0/15)*/,
26501  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26502  },
26503 
26504 };
26505 
26506 static const char kZoneNameEurope_Gibraltar[] ACE_TIME_PROGMEM = "\x0b" "Gibraltar";
26507 
26508 const complete::ZoneInfo kZoneEurope_Gibraltar ACE_TIME_PROGMEM = {
26509  kZoneNameEurope_Gibraltar /*name*/,
26510  0xf8e325fc /*zoneId*/,
26511  &kZoneContext /*zoneContext*/,
26512  4 /*numEras*/,
26513  kZoneEraEurope_Gibraltar /*eras*/,
26514  nullptr /*targetInfo*/,
26515 };
26516 
26517 //---------------------------------------------------------------------------
26518 // Zone name: Europe/Helsinki
26519 // Eras: 4
26520 //---------------------------------------------------------------------------
26521 
26522 static const complete::ZoneEra kZoneEraEurope_Helsinki[] ACE_TIME_PROGMEM = {
26523  // 1:39:49 - LMT 1878 May 31
26524  {
26525  nullptr /*zonePolicy*/,
26526  "LMT" /*format*/,
26527  399 /*offsetCode (5989/15)*/,
26528  4 /*offsetRemainder (5989%15)*/,
26529  0 /*deltaMinutes*/,
26530  1878 /*untilYear*/,
26531  5 /*untilMonth*/,
26532  31 /*untilDay*/,
26533  0 /*untilTimeCode (0/15)*/,
26534  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26535  },
26536  // 1:39:49 - HMT 1921 May
26537  {
26538  nullptr /*zonePolicy*/,
26539  "HMT" /*format*/,
26540  399 /*offsetCode (5989/15)*/,
26541  4 /*offsetRemainder (5989%15)*/,
26542  0 /*deltaMinutes*/,
26543  1921 /*untilYear*/,
26544  5 /*untilMonth*/,
26545  1 /*untilDay*/,
26546  0 /*untilTimeCode (0/15)*/,
26547  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26548  },
26549  // 2:00 Finland EE%sT 1983
26550  {
26551  &kZonePolicyFinland /*zonePolicy*/,
26552  "EE%T" /*format*/,
26553  480 /*offsetCode (7200/15)*/,
26554  0 /*offsetRemainder (7200%15)*/,
26555  0 /*deltaMinutes*/,
26556  1983 /*untilYear*/,
26557  1 /*untilMonth*/,
26558  1 /*untilDay*/,
26559  0 /*untilTimeCode (0/15)*/,
26560  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26561  },
26562  // 2:00 EU EE%sT
26563  {
26564  &kZonePolicyEU /*zonePolicy*/,
26565  "EE%T" /*format*/,
26566  480 /*offsetCode (7200/15)*/,
26567  0 /*offsetRemainder (7200%15)*/,
26568  0 /*deltaMinutes*/,
26569  32767 /*untilYear*/,
26570  1 /*untilMonth*/,
26571  1 /*untilDay*/,
26572  0 /*untilTimeCode (0/15)*/,
26573  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26574  },
26575 
26576 };
26577 
26578 static const char kZoneNameEurope_Helsinki[] ACE_TIME_PROGMEM = "\x0b" "Helsinki";
26579 
26580 const complete::ZoneInfo kZoneEurope_Helsinki ACE_TIME_PROGMEM = {
26581  kZoneNameEurope_Helsinki /*name*/,
26582  0x6ab2975b /*zoneId*/,
26583  &kZoneContext /*zoneContext*/,
26584  4 /*numEras*/,
26585  kZoneEraEurope_Helsinki /*eras*/,
26586  nullptr /*targetInfo*/,
26587 };
26588 
26589 //---------------------------------------------------------------------------
26590 // Zone name: Europe/Istanbul
26591 // Eras: 13
26592 //---------------------------------------------------------------------------
26593 
26594 static const complete::ZoneEra kZoneEraEurope_Istanbul[] ACE_TIME_PROGMEM = {
26595  // 1:55:52 - LMT 1880
26596  {
26597  nullptr /*zonePolicy*/,
26598  "LMT" /*format*/,
26599  463 /*offsetCode (6952/15)*/,
26600  7 /*offsetRemainder (6952%15)*/,
26601  0 /*deltaMinutes*/,
26602  1880 /*untilYear*/,
26603  1 /*untilMonth*/,
26604  1 /*untilDay*/,
26605  0 /*untilTimeCode (0/15)*/,
26606  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26607  },
26608  // 1:56:56 - IMT 1910 Oct
26609  {
26610  nullptr /*zonePolicy*/,
26611  "IMT" /*format*/,
26612  467 /*offsetCode (7016/15)*/,
26613  11 /*offsetRemainder (7016%15)*/,
26614  0 /*deltaMinutes*/,
26615  1910 /*untilYear*/,
26616  10 /*untilMonth*/,
26617  1 /*untilDay*/,
26618  0 /*untilTimeCode (0/15)*/,
26619  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26620  },
26621  // 2:00 Turkey EE%sT 1978 Jun 29
26622  {
26623  &kZonePolicyTurkey /*zonePolicy*/,
26624  "EE%T" /*format*/,
26625  480 /*offsetCode (7200/15)*/,
26626  0 /*offsetRemainder (7200%15)*/,
26627  0 /*deltaMinutes*/,
26628  1978 /*untilYear*/,
26629  6 /*untilMonth*/,
26630  29 /*untilDay*/,
26631  0 /*untilTimeCode (0/15)*/,
26632  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26633  },
26634  // 3:00 Turkey +03/+04 1984 Nov 1 2:00
26635  {
26636  &kZonePolicyTurkey /*zonePolicy*/,
26637  "+03/+04" /*format*/,
26638  720 /*offsetCode (10800/15)*/,
26639  0 /*offsetRemainder (10800%15)*/,
26640  0 /*deltaMinutes*/,
26641  1984 /*untilYear*/,
26642  11 /*untilMonth*/,
26643  1 /*untilDay*/,
26644  480 /*untilTimeCode (7200/15)*/,
26645  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26646  },
26647  // 2:00 Turkey EE%sT 2007
26648  {
26649  &kZonePolicyTurkey /*zonePolicy*/,
26650  "EE%T" /*format*/,
26651  480 /*offsetCode (7200/15)*/,
26652  0 /*offsetRemainder (7200%15)*/,
26653  0 /*deltaMinutes*/,
26654  2007 /*untilYear*/,
26655  1 /*untilMonth*/,
26656  1 /*untilDay*/,
26657  0 /*untilTimeCode (0/15)*/,
26658  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26659  },
26660  // 2:00 EU EE%sT 2011 Mar 27 1:00u
26661  {
26662  &kZonePolicyEU /*zonePolicy*/,
26663  "EE%T" /*format*/,
26664  480 /*offsetCode (7200/15)*/,
26665  0 /*offsetRemainder (7200%15)*/,
26666  0 /*deltaMinutes*/,
26667  2011 /*untilYear*/,
26668  3 /*untilMonth*/,
26669  27 /*untilDay*/,
26670  240 /*untilTimeCode (3600/15)*/,
26671  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26672  },
26673  // 2:00 - EET 2011 Mar 28 1:00u
26674  {
26675  nullptr /*zonePolicy*/,
26676  "EET" /*format*/,
26677  480 /*offsetCode (7200/15)*/,
26678  0 /*offsetRemainder (7200%15)*/,
26679  0 /*deltaMinutes*/,
26680  2011 /*untilYear*/,
26681  3 /*untilMonth*/,
26682  28 /*untilDay*/,
26683  240 /*untilTimeCode (3600/15)*/,
26684  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26685  },
26686  // 2:00 EU EE%sT 2014 Mar 30 1:00u
26687  {
26688  &kZonePolicyEU /*zonePolicy*/,
26689  "EE%T" /*format*/,
26690  480 /*offsetCode (7200/15)*/,
26691  0 /*offsetRemainder (7200%15)*/,
26692  0 /*deltaMinutes*/,
26693  2014 /*untilYear*/,
26694  3 /*untilMonth*/,
26695  30 /*untilDay*/,
26696  240 /*untilTimeCode (3600/15)*/,
26697  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26698  },
26699  // 2:00 - EET 2014 Mar 31 1:00u
26700  {
26701  nullptr /*zonePolicy*/,
26702  "EET" /*format*/,
26703  480 /*offsetCode (7200/15)*/,
26704  0 /*offsetRemainder (7200%15)*/,
26705  0 /*deltaMinutes*/,
26706  2014 /*untilYear*/,
26707  3 /*untilMonth*/,
26708  31 /*untilDay*/,
26709  240 /*untilTimeCode (3600/15)*/,
26710  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26711  },
26712  // 2:00 EU EE%sT 2015 Oct 25 1:00u
26713  {
26714  &kZonePolicyEU /*zonePolicy*/,
26715  "EE%T" /*format*/,
26716  480 /*offsetCode (7200/15)*/,
26717  0 /*offsetRemainder (7200%15)*/,
26718  0 /*deltaMinutes*/,
26719  2015 /*untilYear*/,
26720  10 /*untilMonth*/,
26721  25 /*untilDay*/,
26722  240 /*untilTimeCode (3600/15)*/,
26723  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26724  },
26725  // 2:00 1:00 EEST 2015 Nov 8 1:00u
26726  {
26727  nullptr /*zonePolicy*/,
26728  "EEST" /*format*/,
26729  480 /*offsetCode (7200/15)*/,
26730  0 /*offsetRemainder (7200%15)*/,
26731  60 /*deltaMinutes*/,
26732  2015 /*untilYear*/,
26733  11 /*untilMonth*/,
26734  8 /*untilDay*/,
26735  240 /*untilTimeCode (3600/15)*/,
26736  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26737  },
26738  // 2:00 EU EE%sT 2016 Sep 7
26739  {
26740  &kZonePolicyEU /*zonePolicy*/,
26741  "EE%T" /*format*/,
26742  480 /*offsetCode (7200/15)*/,
26743  0 /*offsetRemainder (7200%15)*/,
26744  0 /*deltaMinutes*/,
26745  2016 /*untilYear*/,
26746  9 /*untilMonth*/,
26747  7 /*untilDay*/,
26748  0 /*untilTimeCode (0/15)*/,
26749  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26750  },
26751  // 3:00 - +03
26752  {
26753  nullptr /*zonePolicy*/,
26754  "+03" /*format*/,
26755  720 /*offsetCode (10800/15)*/,
26756  0 /*offsetRemainder (10800%15)*/,
26757  0 /*deltaMinutes*/,
26758  32767 /*untilYear*/,
26759  1 /*untilMonth*/,
26760  1 /*untilDay*/,
26761  0 /*untilTimeCode (0/15)*/,
26762  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26763  },
26764 
26765 };
26766 
26767 static const char kZoneNameEurope_Istanbul[] ACE_TIME_PROGMEM = "\x0b" "Istanbul";
26768 
26769 const complete::ZoneInfo kZoneEurope_Istanbul ACE_TIME_PROGMEM = {
26770  kZoneNameEurope_Istanbul /*name*/,
26771  0x9e09d6e6 /*zoneId*/,
26772  &kZoneContext /*zoneContext*/,
26773  13 /*numEras*/,
26774  kZoneEraEurope_Istanbul /*eras*/,
26775  nullptr /*targetInfo*/,
26776 };
26777 
26778 //---------------------------------------------------------------------------
26779 // Zone name: Europe/Kaliningrad
26780 // Eras: 7
26781 //---------------------------------------------------------------------------
26782 
26783 static const complete::ZoneEra kZoneEraEurope_Kaliningrad[] ACE_TIME_PROGMEM = {
26784  // 1:22:00 - LMT 1893 Apr
26785  {
26786  nullptr /*zonePolicy*/,
26787  "LMT" /*format*/,
26788  328 /*offsetCode (4920/15)*/,
26789  0 /*offsetRemainder (4920%15)*/,
26790  0 /*deltaMinutes*/,
26791  1893 /*untilYear*/,
26792  4 /*untilMonth*/,
26793  1 /*untilDay*/,
26794  0 /*untilTimeCode (0/15)*/,
26795  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26796  },
26797  // 1:00 C-Eur CE%sT 1945 Apr 10
26798  {
26799  &kZonePolicyC_Eur /*zonePolicy*/,
26800  "CE%T" /*format*/,
26801  240 /*offsetCode (3600/15)*/,
26802  0 /*offsetRemainder (3600%15)*/,
26803  0 /*deltaMinutes*/,
26804  1945 /*untilYear*/,
26805  4 /*untilMonth*/,
26806  10 /*untilDay*/,
26807  0 /*untilTimeCode (0/15)*/,
26808  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26809  },
26810  // 2:00 Poland EE%sT 1946 Apr 7
26811  {
26812  &kZonePolicyPoland /*zonePolicy*/,
26813  "EE%T" /*format*/,
26814  480 /*offsetCode (7200/15)*/,
26815  0 /*offsetRemainder (7200%15)*/,
26816  0 /*deltaMinutes*/,
26817  1946 /*untilYear*/,
26818  4 /*untilMonth*/,
26819  7 /*untilDay*/,
26820  0 /*untilTimeCode (0/15)*/,
26821  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26822  },
26823  // 3:00 Russia MSK/MSD 1989 Mar 26 2:00s
26824  {
26825  &kZonePolicyRussia /*zonePolicy*/,
26826  "MSK/MSD" /*format*/,
26827  720 /*offsetCode (10800/15)*/,
26828  0 /*offsetRemainder (10800%15)*/,
26829  0 /*deltaMinutes*/,
26830  1989 /*untilYear*/,
26831  3 /*untilMonth*/,
26832  26 /*untilDay*/,
26833  480 /*untilTimeCode (7200/15)*/,
26834  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26835  },
26836  // 2:00 Russia EE%sT 2011 Mar 27 2:00s
26837  {
26838  &kZonePolicyRussia /*zonePolicy*/,
26839  "EE%T" /*format*/,
26840  480 /*offsetCode (7200/15)*/,
26841  0 /*offsetRemainder (7200%15)*/,
26842  0 /*deltaMinutes*/,
26843  2011 /*untilYear*/,
26844  3 /*untilMonth*/,
26845  27 /*untilDay*/,
26846  480 /*untilTimeCode (7200/15)*/,
26847  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26848  },
26849  // 3:00 - +03 2014 Oct 26 2:00s
26850  {
26851  nullptr /*zonePolicy*/,
26852  "+03" /*format*/,
26853  720 /*offsetCode (10800/15)*/,
26854  0 /*offsetRemainder (10800%15)*/,
26855  0 /*deltaMinutes*/,
26856  2014 /*untilYear*/,
26857  10 /*untilMonth*/,
26858  26 /*untilDay*/,
26859  480 /*untilTimeCode (7200/15)*/,
26860  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26861  },
26862  // 2:00 - EET
26863  {
26864  nullptr /*zonePolicy*/,
26865  "EET" /*format*/,
26866  480 /*offsetCode (7200/15)*/,
26867  0 /*offsetRemainder (7200%15)*/,
26868  0 /*deltaMinutes*/,
26869  32767 /*untilYear*/,
26870  1 /*untilMonth*/,
26871  1 /*untilDay*/,
26872  0 /*untilTimeCode (0/15)*/,
26873  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26874  },
26875 
26876 };
26877 
26878 static const char kZoneNameEurope_Kaliningrad[] ACE_TIME_PROGMEM = "\x0b" "Kaliningrad";
26879 
26880 const complete::ZoneInfo kZoneEurope_Kaliningrad ACE_TIME_PROGMEM = {
26881  kZoneNameEurope_Kaliningrad /*name*/,
26882  0xd33b2f28 /*zoneId*/,
26883  &kZoneContext /*zoneContext*/,
26884  7 /*numEras*/,
26885  kZoneEraEurope_Kaliningrad /*eras*/,
26886  nullptr /*targetInfo*/,
26887 };
26888 
26889 //---------------------------------------------------------------------------
26890 // Zone name: Europe/Kirov
26891 // Eras: 8
26892 //---------------------------------------------------------------------------
26893 
26894 static const complete::ZoneEra kZoneEraEurope_Kirov[] ACE_TIME_PROGMEM = {
26895  // 3:18:48 - LMT 1919 Jul 1 0:00u
26896  {
26897  nullptr /*zonePolicy*/,
26898  "LMT" /*format*/,
26899  795 /*offsetCode (11928/15)*/,
26900  3 /*offsetRemainder (11928%15)*/,
26901  0 /*deltaMinutes*/,
26902  1919 /*untilYear*/,
26903  7 /*untilMonth*/,
26904  1 /*untilDay*/,
26905  0 /*untilTimeCode (0/15)*/,
26906  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26907  },
26908  // 3:00 - +03 1930 Jun 21
26909  {
26910  nullptr /*zonePolicy*/,
26911  "+03" /*format*/,
26912  720 /*offsetCode (10800/15)*/,
26913  0 /*offsetRemainder (10800%15)*/,
26914  0 /*deltaMinutes*/,
26915  1930 /*untilYear*/,
26916  6 /*untilMonth*/,
26917  21 /*untilDay*/,
26918  0 /*untilTimeCode (0/15)*/,
26919  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26920  },
26921  // 4:00 Russia +04/+05 1989 Mar 26 2:00s
26922  {
26923  &kZonePolicyRussia /*zonePolicy*/,
26924  "+04/+05" /*format*/,
26925  960 /*offsetCode (14400/15)*/,
26926  0 /*offsetRemainder (14400%15)*/,
26927  0 /*deltaMinutes*/,
26928  1989 /*untilYear*/,
26929  3 /*untilMonth*/,
26930  26 /*untilDay*/,
26931  480 /*untilTimeCode (7200/15)*/,
26932  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26933  },
26934  // 3:00 Russia MSK/MSD 1991 Mar 31 2:00s
26935  {
26936  &kZonePolicyRussia /*zonePolicy*/,
26937  "MSK/MSD" /*format*/,
26938  720 /*offsetCode (10800/15)*/,
26939  0 /*offsetRemainder (10800%15)*/,
26940  0 /*deltaMinutes*/,
26941  1991 /*untilYear*/,
26942  3 /*untilMonth*/,
26943  31 /*untilDay*/,
26944  480 /*untilTimeCode (7200/15)*/,
26945  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26946  },
26947  // 4:00 - +04 1992 Mar 29 2:00s
26948  {
26949  nullptr /*zonePolicy*/,
26950  "+04" /*format*/,
26951  960 /*offsetCode (14400/15)*/,
26952  0 /*offsetRemainder (14400%15)*/,
26953  0 /*deltaMinutes*/,
26954  1992 /*untilYear*/,
26955  3 /*untilMonth*/,
26956  29 /*untilDay*/,
26957  480 /*untilTimeCode (7200/15)*/,
26958  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26959  },
26960  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
26961  {
26962  &kZonePolicyRussia /*zonePolicy*/,
26963  "MSK/MSD" /*format*/,
26964  720 /*offsetCode (10800/15)*/,
26965  0 /*offsetRemainder (10800%15)*/,
26966  0 /*deltaMinutes*/,
26967  2011 /*untilYear*/,
26968  3 /*untilMonth*/,
26969  27 /*untilDay*/,
26970  480 /*untilTimeCode (7200/15)*/,
26971  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26972  },
26973  // 4:00 - MSK 2014 Oct 26 2:00s
26974  {
26975  nullptr /*zonePolicy*/,
26976  "MSK" /*format*/,
26977  960 /*offsetCode (14400/15)*/,
26978  0 /*offsetRemainder (14400%15)*/,
26979  0 /*deltaMinutes*/,
26980  2014 /*untilYear*/,
26981  10 /*untilMonth*/,
26982  26 /*untilDay*/,
26983  480 /*untilTimeCode (7200/15)*/,
26984  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26985  },
26986  // 3:00 - MSK
26987  {
26988  nullptr /*zonePolicy*/,
26989  "MSK" /*format*/,
26990  720 /*offsetCode (10800/15)*/,
26991  0 /*offsetRemainder (10800%15)*/,
26992  0 /*deltaMinutes*/,
26993  32767 /*untilYear*/,
26994  1 /*untilMonth*/,
26995  1 /*untilDay*/,
26996  0 /*untilTimeCode (0/15)*/,
26997  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26998  },
26999 
27000 };
27001 
27002 static const char kZoneNameEurope_Kirov[] ACE_TIME_PROGMEM = "\x0b" "Kirov";
27003 
27004 const complete::ZoneInfo kZoneEurope_Kirov ACE_TIME_PROGMEM = {
27005  kZoneNameEurope_Kirov /*name*/,
27006  0xfaf5abef /*zoneId*/,
27007  &kZoneContext /*zoneContext*/,
27008  8 /*numEras*/,
27009  kZoneEraEurope_Kirov /*eras*/,
27010  nullptr /*targetInfo*/,
27011 };
27012 
27013 //---------------------------------------------------------------------------
27014 // Zone name: Europe/Kyiv
27015 // Eras: 9
27016 //---------------------------------------------------------------------------
27017 
27018 static const complete::ZoneEra kZoneEraEurope_Kyiv[] ACE_TIME_PROGMEM = {
27019  // 2:02:04 - LMT 1880
27020  {
27021  nullptr /*zonePolicy*/,
27022  "LMT" /*format*/,
27023  488 /*offsetCode (7324/15)*/,
27024  4 /*offsetRemainder (7324%15)*/,
27025  0 /*deltaMinutes*/,
27026  1880 /*untilYear*/,
27027  1 /*untilMonth*/,
27028  1 /*untilDay*/,
27029  0 /*untilTimeCode (0/15)*/,
27030  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27031  },
27032  // 2:02:04 - KMT 1924 May 2
27033  {
27034  nullptr /*zonePolicy*/,
27035  "KMT" /*format*/,
27036  488 /*offsetCode (7324/15)*/,
27037  4 /*offsetRemainder (7324%15)*/,
27038  0 /*deltaMinutes*/,
27039  1924 /*untilYear*/,
27040  5 /*untilMonth*/,
27041  2 /*untilDay*/,
27042  0 /*untilTimeCode (0/15)*/,
27043  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27044  },
27045  // 2:00 - EET 1930 Jun 21
27046  {
27047  nullptr /*zonePolicy*/,
27048  "EET" /*format*/,
27049  480 /*offsetCode (7200/15)*/,
27050  0 /*offsetRemainder (7200%15)*/,
27051  0 /*deltaMinutes*/,
27052  1930 /*untilYear*/,
27053  6 /*untilMonth*/,
27054  21 /*untilDay*/,
27055  0 /*untilTimeCode (0/15)*/,
27056  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27057  },
27058  // 3:00 - MSK 1941 Sep 20
27059  {
27060  nullptr /*zonePolicy*/,
27061  "MSK" /*format*/,
27062  720 /*offsetCode (10800/15)*/,
27063  0 /*offsetRemainder (10800%15)*/,
27064  0 /*deltaMinutes*/,
27065  1941 /*untilYear*/,
27066  9 /*untilMonth*/,
27067  20 /*untilDay*/,
27068  0 /*untilTimeCode (0/15)*/,
27069  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27070  },
27071  // 1:00 C-Eur CE%sT 1943 Nov 6
27072  {
27073  &kZonePolicyC_Eur /*zonePolicy*/,
27074  "CE%T" /*format*/,
27075  240 /*offsetCode (3600/15)*/,
27076  0 /*offsetRemainder (3600%15)*/,
27077  0 /*deltaMinutes*/,
27078  1943 /*untilYear*/,
27079  11 /*untilMonth*/,
27080  6 /*untilDay*/,
27081  0 /*untilTimeCode (0/15)*/,
27082  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27083  },
27084  // 3:00 Russia MSK/MSD 1990 Jul 1 2:00
27085  {
27086  &kZonePolicyRussia /*zonePolicy*/,
27087  "MSK/MSD" /*format*/,
27088  720 /*offsetCode (10800/15)*/,
27089  0 /*offsetRemainder (10800%15)*/,
27090  0 /*deltaMinutes*/,
27091  1990 /*untilYear*/,
27092  7 /*untilMonth*/,
27093  1 /*untilDay*/,
27094  480 /*untilTimeCode (7200/15)*/,
27095  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27096  },
27097  // 2:00 1:00 EEST 1991 Sep 29 3:00
27098  {
27099  nullptr /*zonePolicy*/,
27100  "EEST" /*format*/,
27101  480 /*offsetCode (7200/15)*/,
27102  0 /*offsetRemainder (7200%15)*/,
27103  60 /*deltaMinutes*/,
27104  1991 /*untilYear*/,
27105  9 /*untilMonth*/,
27106  29 /*untilDay*/,
27107  720 /*untilTimeCode (10800/15)*/,
27108  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27109  },
27110  // 2:00 C-Eur EE%sT 1996 May 13
27111  {
27112  &kZonePolicyC_Eur /*zonePolicy*/,
27113  "EE%T" /*format*/,
27114  480 /*offsetCode (7200/15)*/,
27115  0 /*offsetRemainder (7200%15)*/,
27116  0 /*deltaMinutes*/,
27117  1996 /*untilYear*/,
27118  5 /*untilMonth*/,
27119  13 /*untilDay*/,
27120  0 /*untilTimeCode (0/15)*/,
27121  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27122  },
27123  // 2:00 EU EE%sT
27124  {
27125  &kZonePolicyEU /*zonePolicy*/,
27126  "EE%T" /*format*/,
27127  480 /*offsetCode (7200/15)*/,
27128  0 /*offsetRemainder (7200%15)*/,
27129  0 /*deltaMinutes*/,
27130  32767 /*untilYear*/,
27131  1 /*untilMonth*/,
27132  1 /*untilDay*/,
27133  0 /*untilTimeCode (0/15)*/,
27134  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27135  },
27136 
27137 };
27138 
27139 static const char kZoneNameEurope_Kyiv[] ACE_TIME_PROGMEM = "\x0b" "Kyiv";
27140 
27141 const complete::ZoneInfo kZoneEurope_Kyiv ACE_TIME_PROGMEM = {
27142  kZoneNameEurope_Kyiv /*name*/,
27143  0xa2c1e347 /*zoneId*/,
27144  &kZoneContext /*zoneContext*/,
27145  9 /*numEras*/,
27146  kZoneEraEurope_Kyiv /*eras*/,
27147  nullptr /*targetInfo*/,
27148 };
27149 
27150 //---------------------------------------------------------------------------
27151 // Zone name: Europe/Lisbon
27152 // Eras: 8
27153 //---------------------------------------------------------------------------
27154 
27155 static const complete::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = {
27156  // -0:36:45 - LMT 1884
27157  {
27158  nullptr /*zonePolicy*/,
27159  "LMT" /*format*/,
27160  -147 /*offsetCode (-2205/15)*/,
27161  0 /*offsetRemainder (-2205%15)*/,
27162  0 /*deltaMinutes*/,
27163  1884 /*untilYear*/,
27164  1 /*untilMonth*/,
27165  1 /*untilDay*/,
27166  0 /*untilTimeCode (0/15)*/,
27167  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27168  },
27169  // -0:36:45 - LMT 1912 Jan 1 0:00u
27170  {
27171  nullptr /*zonePolicy*/,
27172  "LMT" /*format*/,
27173  -147 /*offsetCode (-2205/15)*/,
27174  0 /*offsetRemainder (-2205%15)*/,
27175  0 /*deltaMinutes*/,
27176  1912 /*untilYear*/,
27177  1 /*untilMonth*/,
27178  1 /*untilDay*/,
27179  0 /*untilTimeCode (0/15)*/,
27180  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27181  },
27182  // 0:00 Port WE%sT 1966 Apr 3 2:00
27183  {
27184  &kZonePolicyPort /*zonePolicy*/,
27185  "WE%T" /*format*/,
27186  0 /*offsetCode (0/15)*/,
27187  0 /*offsetRemainder (0%15)*/,
27188  0 /*deltaMinutes*/,
27189  1966 /*untilYear*/,
27190  4 /*untilMonth*/,
27191  3 /*untilDay*/,
27192  480 /*untilTimeCode (7200/15)*/,
27193  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27194  },
27195  // 1:00 - CET 1976 Sep 26 1:00
27196  {
27197  nullptr /*zonePolicy*/,
27198  "CET" /*format*/,
27199  240 /*offsetCode (3600/15)*/,
27200  0 /*offsetRemainder (3600%15)*/,
27201  0 /*deltaMinutes*/,
27202  1976 /*untilYear*/,
27203  9 /*untilMonth*/,
27204  26 /*untilDay*/,
27205  240 /*untilTimeCode (3600/15)*/,
27206  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27207  },
27208  // 0:00 Port WE%sT 1983 Sep 25 1:00s
27209  {
27210  &kZonePolicyPort /*zonePolicy*/,
27211  "WE%T" /*format*/,
27212  0 /*offsetCode (0/15)*/,
27213  0 /*offsetRemainder (0%15)*/,
27214  0 /*deltaMinutes*/,
27215  1983 /*untilYear*/,
27216  9 /*untilMonth*/,
27217  25 /*untilDay*/,
27218  240 /*untilTimeCode (3600/15)*/,
27219  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27220  },
27221  // 0:00 W-Eur WE%sT 1992 Sep 27 1:00s
27222  {
27223  &kZonePolicyW_Eur /*zonePolicy*/,
27224  "WE%T" /*format*/,
27225  0 /*offsetCode (0/15)*/,
27226  0 /*offsetRemainder (0%15)*/,
27227  0 /*deltaMinutes*/,
27228  1992 /*untilYear*/,
27229  9 /*untilMonth*/,
27230  27 /*untilDay*/,
27231  240 /*untilTimeCode (3600/15)*/,
27232  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27233  },
27234  // 1:00 EU CE%sT 1996 Mar 31 1:00u
27235  {
27236  &kZonePolicyEU /*zonePolicy*/,
27237  "CE%T" /*format*/,
27238  240 /*offsetCode (3600/15)*/,
27239  0 /*offsetRemainder (3600%15)*/,
27240  0 /*deltaMinutes*/,
27241  1996 /*untilYear*/,
27242  3 /*untilMonth*/,
27243  31 /*untilDay*/,
27244  240 /*untilTimeCode (3600/15)*/,
27245  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27246  },
27247  // 0:00 EU WE%sT
27248  {
27249  &kZonePolicyEU /*zonePolicy*/,
27250  "WE%T" /*format*/,
27251  0 /*offsetCode (0/15)*/,
27252  0 /*offsetRemainder (0%15)*/,
27253  0 /*deltaMinutes*/,
27254  32767 /*untilYear*/,
27255  1 /*untilMonth*/,
27256  1 /*untilDay*/,
27257  0 /*untilTimeCode (0/15)*/,
27258  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27259  },
27260 
27261 };
27262 
27263 static const char kZoneNameEurope_Lisbon[] ACE_TIME_PROGMEM = "\x0b" "Lisbon";
27264 
27265 const complete::ZoneInfo kZoneEurope_Lisbon ACE_TIME_PROGMEM = {
27266  kZoneNameEurope_Lisbon /*name*/,
27267  0x5c00a70b /*zoneId*/,
27268  &kZoneContext /*zoneContext*/,
27269  8 /*numEras*/,
27270  kZoneEraEurope_Lisbon /*eras*/,
27271  nullptr /*targetInfo*/,
27272 };
27273 
27274 //---------------------------------------------------------------------------
27275 // Zone name: Europe/London
27276 // Eras: 5
27277 //---------------------------------------------------------------------------
27278 
27279 static const complete::ZoneEra kZoneEraEurope_London[] ACE_TIME_PROGMEM = {
27280  // -0:01:15 - LMT 1847 Dec 1
27281  {
27282  nullptr /*zonePolicy*/,
27283  "LMT" /*format*/,
27284  -5 /*offsetCode (-75/15)*/,
27285  0 /*offsetRemainder (-75%15)*/,
27286  0 /*deltaMinutes*/,
27287  1847 /*untilYear*/,
27288  12 /*untilMonth*/,
27289  1 /*untilDay*/,
27290  0 /*untilTimeCode (0/15)*/,
27291  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27292  },
27293  // 0:00 GB-Eire %s 1968 Oct 27
27294  {
27295  &kZonePolicyGB_Eire /*zonePolicy*/,
27296  "%" /*format*/,
27297  0 /*offsetCode (0/15)*/,
27298  0 /*offsetRemainder (0%15)*/,
27299  0 /*deltaMinutes*/,
27300  1968 /*untilYear*/,
27301  10 /*untilMonth*/,
27302  27 /*untilDay*/,
27303  0 /*untilTimeCode (0/15)*/,
27304  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27305  },
27306  // 1:00 - BST 1971 Oct 31 2:00u
27307  {
27308  nullptr /*zonePolicy*/,
27309  "BST" /*format*/,
27310  240 /*offsetCode (3600/15)*/,
27311  0 /*offsetRemainder (3600%15)*/,
27312  0 /*deltaMinutes*/,
27313  1971 /*untilYear*/,
27314  10 /*untilMonth*/,
27315  31 /*untilDay*/,
27316  480 /*untilTimeCode (7200/15)*/,
27317  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27318  },
27319  // 0:00 GB-Eire %s 1996
27320  {
27321  &kZonePolicyGB_Eire /*zonePolicy*/,
27322  "%" /*format*/,
27323  0 /*offsetCode (0/15)*/,
27324  0 /*offsetRemainder (0%15)*/,
27325  0 /*deltaMinutes*/,
27326  1996 /*untilYear*/,
27327  1 /*untilMonth*/,
27328  1 /*untilDay*/,
27329  0 /*untilTimeCode (0/15)*/,
27330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27331  },
27332  // 0:00 EU GMT/BST
27333  {
27334  &kZonePolicyEU /*zonePolicy*/,
27335  "GMT/BST" /*format*/,
27336  0 /*offsetCode (0/15)*/,
27337  0 /*offsetRemainder (0%15)*/,
27338  0 /*deltaMinutes*/,
27339  32767 /*untilYear*/,
27340  1 /*untilMonth*/,
27341  1 /*untilDay*/,
27342  0 /*untilTimeCode (0/15)*/,
27343  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27344  },
27345 
27346 };
27347 
27348 static const char kZoneNameEurope_London[] ACE_TIME_PROGMEM = "\x0b" "London";
27349 
27350 const complete::ZoneInfo kZoneEurope_London ACE_TIME_PROGMEM = {
27351  kZoneNameEurope_London /*name*/,
27352  0x5c6a84ae /*zoneId*/,
27353  &kZoneContext /*zoneContext*/,
27354  5 /*numEras*/,
27355  kZoneEraEurope_London /*eras*/,
27356  nullptr /*targetInfo*/,
27357 };
27358 
27359 //---------------------------------------------------------------------------
27360 // Zone name: Europe/Madrid
27361 // Eras: 4
27362 //---------------------------------------------------------------------------
27363 
27364 static const complete::ZoneEra kZoneEraEurope_Madrid[] ACE_TIME_PROGMEM = {
27365  // -0:14:44 - LMT 1901 Jan 1 0:00u
27366  {
27367  nullptr /*zonePolicy*/,
27368  "LMT" /*format*/,
27369  -59 /*offsetCode (-884/15)*/,
27370  1 /*offsetRemainder (-884%15)*/,
27371  0 /*deltaMinutes*/,
27372  1901 /*untilYear*/,
27373  1 /*untilMonth*/,
27374  1 /*untilDay*/,
27375  0 /*untilTimeCode (0/15)*/,
27376  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27377  },
27378  // 0:00 Spain WE%sT 1940 Mar 16 23:00
27379  {
27380  &kZonePolicySpain /*zonePolicy*/,
27381  "WE%T" /*format*/,
27382  0 /*offsetCode (0/15)*/,
27383  0 /*offsetRemainder (0%15)*/,
27384  0 /*deltaMinutes*/,
27385  1940 /*untilYear*/,
27386  3 /*untilMonth*/,
27387  16 /*untilDay*/,
27388  5520 /*untilTimeCode (82800/15)*/,
27389  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27390  },
27391  // 1:00 Spain CE%sT 1979
27392  {
27393  &kZonePolicySpain /*zonePolicy*/,
27394  "CE%T" /*format*/,
27395  240 /*offsetCode (3600/15)*/,
27396  0 /*offsetRemainder (3600%15)*/,
27397  0 /*deltaMinutes*/,
27398  1979 /*untilYear*/,
27399  1 /*untilMonth*/,
27400  1 /*untilDay*/,
27401  0 /*untilTimeCode (0/15)*/,
27402  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27403  },
27404  // 1:00 EU CE%sT
27405  {
27406  &kZonePolicyEU /*zonePolicy*/,
27407  "CE%T" /*format*/,
27408  240 /*offsetCode (3600/15)*/,
27409  0 /*offsetRemainder (3600%15)*/,
27410  0 /*deltaMinutes*/,
27411  32767 /*untilYear*/,
27412  1 /*untilMonth*/,
27413  1 /*untilDay*/,
27414  0 /*untilTimeCode (0/15)*/,
27415  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27416  },
27417 
27418 };
27419 
27420 static const char kZoneNameEurope_Madrid[] ACE_TIME_PROGMEM = "\x0b" "Madrid";
27421 
27422 const complete::ZoneInfo kZoneEurope_Madrid ACE_TIME_PROGMEM = {
27423  kZoneNameEurope_Madrid /*name*/,
27424  0x5dbd1535 /*zoneId*/,
27425  &kZoneContext /*zoneContext*/,
27426  4 /*numEras*/,
27427  kZoneEraEurope_Madrid /*eras*/,
27428  nullptr /*targetInfo*/,
27429 };
27430 
27431 //---------------------------------------------------------------------------
27432 // Zone name: Europe/Malta
27433 // Eras: 4
27434 //---------------------------------------------------------------------------
27435 
27436 static const complete::ZoneEra kZoneEraEurope_Malta[] ACE_TIME_PROGMEM = {
27437  // 0:58:04 - LMT 1893 Nov 2
27438  {
27439  nullptr /*zonePolicy*/,
27440  "LMT" /*format*/,
27441  232 /*offsetCode (3484/15)*/,
27442  4 /*offsetRemainder (3484%15)*/,
27443  0 /*deltaMinutes*/,
27444  1893 /*untilYear*/,
27445  11 /*untilMonth*/,
27446  2 /*untilDay*/,
27447  0 /*untilTimeCode (0/15)*/,
27448  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27449  },
27450  // 1:00 Italy CE%sT 1973 Mar 31
27451  {
27452  &kZonePolicyItaly /*zonePolicy*/,
27453  "CE%T" /*format*/,
27454  240 /*offsetCode (3600/15)*/,
27455  0 /*offsetRemainder (3600%15)*/,
27456  0 /*deltaMinutes*/,
27457  1973 /*untilYear*/,
27458  3 /*untilMonth*/,
27459  31 /*untilDay*/,
27460  0 /*untilTimeCode (0/15)*/,
27461  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27462  },
27463  // 1:00 Malta CE%sT 1981
27464  {
27465  &kZonePolicyMalta /*zonePolicy*/,
27466  "CE%T" /*format*/,
27467  240 /*offsetCode (3600/15)*/,
27468  0 /*offsetRemainder (3600%15)*/,
27469  0 /*deltaMinutes*/,
27470  1981 /*untilYear*/,
27471  1 /*untilMonth*/,
27472  1 /*untilDay*/,
27473  0 /*untilTimeCode (0/15)*/,
27474  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27475  },
27476  // 1:00 EU CE%sT
27477  {
27478  &kZonePolicyEU /*zonePolicy*/,
27479  "CE%T" /*format*/,
27480  240 /*offsetCode (3600/15)*/,
27481  0 /*offsetRemainder (3600%15)*/,
27482  0 /*deltaMinutes*/,
27483  32767 /*untilYear*/,
27484  1 /*untilMonth*/,
27485  1 /*untilDay*/,
27486  0 /*untilTimeCode (0/15)*/,
27487  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27488  },
27489 
27490 };
27491 
27492 static const char kZoneNameEurope_Malta[] ACE_TIME_PROGMEM = "\x0b" "Malta";
27493 
27494 const complete::ZoneInfo kZoneEurope_Malta ACE_TIME_PROGMEM = {
27495  kZoneNameEurope_Malta /*name*/,
27496  0xfb1560f3 /*zoneId*/,
27497  &kZoneContext /*zoneContext*/,
27498  4 /*numEras*/,
27499  kZoneEraEurope_Malta /*eras*/,
27500  nullptr /*targetInfo*/,
27501 };
27502 
27503 //---------------------------------------------------------------------------
27504 // Zone name: Europe/Minsk
27505 // Eras: 9
27506 //---------------------------------------------------------------------------
27507 
27508 static const complete::ZoneEra kZoneEraEurope_Minsk[] ACE_TIME_PROGMEM = {
27509  // 1:50:16 - LMT 1880
27510  {
27511  nullptr /*zonePolicy*/,
27512  "LMT" /*format*/,
27513  441 /*offsetCode (6616/15)*/,
27514  1 /*offsetRemainder (6616%15)*/,
27515  0 /*deltaMinutes*/,
27516  1880 /*untilYear*/,
27517  1 /*untilMonth*/,
27518  1 /*untilDay*/,
27519  0 /*untilTimeCode (0/15)*/,
27520  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27521  },
27522  // 1:50 - MMT 1924 May 2
27523  {
27524  nullptr /*zonePolicy*/,
27525  "MMT" /*format*/,
27526  440 /*offsetCode (6600/15)*/,
27527  0 /*offsetRemainder (6600%15)*/,
27528  0 /*deltaMinutes*/,
27529  1924 /*untilYear*/,
27530  5 /*untilMonth*/,
27531  2 /*untilDay*/,
27532  0 /*untilTimeCode (0/15)*/,
27533  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27534  },
27535  // 2:00 - EET 1930 Jun 21
27536  {
27537  nullptr /*zonePolicy*/,
27538  "EET" /*format*/,
27539  480 /*offsetCode (7200/15)*/,
27540  0 /*offsetRemainder (7200%15)*/,
27541  0 /*deltaMinutes*/,
27542  1930 /*untilYear*/,
27543  6 /*untilMonth*/,
27544  21 /*untilDay*/,
27545  0 /*untilTimeCode (0/15)*/,
27546  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27547  },
27548  // 3:00 - MSK 1941 Jun 28
27549  {
27550  nullptr /*zonePolicy*/,
27551  "MSK" /*format*/,
27552  720 /*offsetCode (10800/15)*/,
27553  0 /*offsetRemainder (10800%15)*/,
27554  0 /*deltaMinutes*/,
27555  1941 /*untilYear*/,
27556  6 /*untilMonth*/,
27557  28 /*untilDay*/,
27558  0 /*untilTimeCode (0/15)*/,
27559  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27560  },
27561  // 1:00 C-Eur CE%sT 1944 Jul 3
27562  {
27563  &kZonePolicyC_Eur /*zonePolicy*/,
27564  "CE%T" /*format*/,
27565  240 /*offsetCode (3600/15)*/,
27566  0 /*offsetRemainder (3600%15)*/,
27567  0 /*deltaMinutes*/,
27568  1944 /*untilYear*/,
27569  7 /*untilMonth*/,
27570  3 /*untilDay*/,
27571  0 /*untilTimeCode (0/15)*/,
27572  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27573  },
27574  // 3:00 Russia MSK/MSD 1990
27575  {
27576  &kZonePolicyRussia /*zonePolicy*/,
27577  "MSK/MSD" /*format*/,
27578  720 /*offsetCode (10800/15)*/,
27579  0 /*offsetRemainder (10800%15)*/,
27580  0 /*deltaMinutes*/,
27581  1990 /*untilYear*/,
27582  1 /*untilMonth*/,
27583  1 /*untilDay*/,
27584  0 /*untilTimeCode (0/15)*/,
27585  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27586  },
27587  // 3:00 - MSK 1991 Mar 31 2:00s
27588  {
27589  nullptr /*zonePolicy*/,
27590  "MSK" /*format*/,
27591  720 /*offsetCode (10800/15)*/,
27592  0 /*offsetRemainder (10800%15)*/,
27593  0 /*deltaMinutes*/,
27594  1991 /*untilYear*/,
27595  3 /*untilMonth*/,
27596  31 /*untilDay*/,
27597  480 /*untilTimeCode (7200/15)*/,
27598  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27599  },
27600  // 2:00 Russia EE%sT 2011 Mar 27 2:00s
27601  {
27602  &kZonePolicyRussia /*zonePolicy*/,
27603  "EE%T" /*format*/,
27604  480 /*offsetCode (7200/15)*/,
27605  0 /*offsetRemainder (7200%15)*/,
27606  0 /*deltaMinutes*/,
27607  2011 /*untilYear*/,
27608  3 /*untilMonth*/,
27609  27 /*untilDay*/,
27610  480 /*untilTimeCode (7200/15)*/,
27611  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27612  },
27613  // 3:00 - +03
27614  {
27615  nullptr /*zonePolicy*/,
27616  "+03" /*format*/,
27617  720 /*offsetCode (10800/15)*/,
27618  0 /*offsetRemainder (10800%15)*/,
27619  0 /*deltaMinutes*/,
27620  32767 /*untilYear*/,
27621  1 /*untilMonth*/,
27622  1 /*untilDay*/,
27623  0 /*untilTimeCode (0/15)*/,
27624  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27625  },
27626 
27627 };
27628 
27629 static const char kZoneNameEurope_Minsk[] ACE_TIME_PROGMEM = "\x0b" "Minsk";
27630 
27631 const complete::ZoneInfo kZoneEurope_Minsk ACE_TIME_PROGMEM = {
27632  kZoneNameEurope_Minsk /*name*/,
27633  0xfb19cc66 /*zoneId*/,
27634  &kZoneContext /*zoneContext*/,
27635  9 /*numEras*/,
27636  kZoneEraEurope_Minsk /*eras*/,
27637  nullptr /*targetInfo*/,
27638 };
27639 
27640 //---------------------------------------------------------------------------
27641 // Zone name: Europe/Moscow
27642 // Eras: 11
27643 //---------------------------------------------------------------------------
27644 
27645 static const complete::ZoneEra kZoneEraEurope_Moscow[] ACE_TIME_PROGMEM = {
27646  // 2:30:17 - LMT 1880
27647  {
27648  nullptr /*zonePolicy*/,
27649  "LMT" /*format*/,
27650  601 /*offsetCode (9017/15)*/,
27651  2 /*offsetRemainder (9017%15)*/,
27652  0 /*deltaMinutes*/,
27653  1880 /*untilYear*/,
27654  1 /*untilMonth*/,
27655  1 /*untilDay*/,
27656  0 /*untilTimeCode (0/15)*/,
27657  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27658  },
27659  // 2:30:17 - MMT 1916 Jul 3
27660  {
27661  nullptr /*zonePolicy*/,
27662  "MMT" /*format*/,
27663  601 /*offsetCode (9017/15)*/,
27664  2 /*offsetRemainder (9017%15)*/,
27665  0 /*deltaMinutes*/,
27666  1916 /*untilYear*/,
27667  7 /*untilMonth*/,
27668  3 /*untilDay*/,
27669  0 /*untilTimeCode (0/15)*/,
27670  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27671  },
27672  // 2:31:19 Russia %s 1919 Jul 1 0:00u
27673  {
27674  &kZonePolicyRussia /*zonePolicy*/,
27675  "%" /*format*/,
27676  605 /*offsetCode (9079/15)*/,
27677  4 /*offsetRemainder (9079%15)*/,
27678  0 /*deltaMinutes*/,
27679  1919 /*untilYear*/,
27680  7 /*untilMonth*/,
27681  1 /*untilDay*/,
27682  0 /*untilTimeCode (0/15)*/,
27683  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27684  },
27685  // 3:00 Russia %s 1921 Oct
27686  {
27687  &kZonePolicyRussia /*zonePolicy*/,
27688  "%" /*format*/,
27689  720 /*offsetCode (10800/15)*/,
27690  0 /*offsetRemainder (10800%15)*/,
27691  0 /*deltaMinutes*/,
27692  1921 /*untilYear*/,
27693  10 /*untilMonth*/,
27694  1 /*untilDay*/,
27695  0 /*untilTimeCode (0/15)*/,
27696  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27697  },
27698  // 3:00 Russia MSK/MSD 1922 Oct
27699  {
27700  &kZonePolicyRussia /*zonePolicy*/,
27701  "MSK/MSD" /*format*/,
27702  720 /*offsetCode (10800/15)*/,
27703  0 /*offsetRemainder (10800%15)*/,
27704  0 /*deltaMinutes*/,
27705  1922 /*untilYear*/,
27706  10 /*untilMonth*/,
27707  1 /*untilDay*/,
27708  0 /*untilTimeCode (0/15)*/,
27709  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27710  },
27711  // 2:00 - EET 1930 Jun 21
27712  {
27713  nullptr /*zonePolicy*/,
27714  "EET" /*format*/,
27715  480 /*offsetCode (7200/15)*/,
27716  0 /*offsetRemainder (7200%15)*/,
27717  0 /*deltaMinutes*/,
27718  1930 /*untilYear*/,
27719  6 /*untilMonth*/,
27720  21 /*untilDay*/,
27721  0 /*untilTimeCode (0/15)*/,
27722  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27723  },
27724  // 3:00 Russia MSK/MSD 1991 Mar 31 2:00s
27725  {
27726  &kZonePolicyRussia /*zonePolicy*/,
27727  "MSK/MSD" /*format*/,
27728  720 /*offsetCode (10800/15)*/,
27729  0 /*offsetRemainder (10800%15)*/,
27730  0 /*deltaMinutes*/,
27731  1991 /*untilYear*/,
27732  3 /*untilMonth*/,
27733  31 /*untilDay*/,
27734  480 /*untilTimeCode (7200/15)*/,
27735  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27736  },
27737  // 2:00 Russia EE%sT 1992 Jan 19 2:00s
27738  {
27739  &kZonePolicyRussia /*zonePolicy*/,
27740  "EE%T" /*format*/,
27741  480 /*offsetCode (7200/15)*/,
27742  0 /*offsetRemainder (7200%15)*/,
27743  0 /*deltaMinutes*/,
27744  1992 /*untilYear*/,
27745  1 /*untilMonth*/,
27746  19 /*untilDay*/,
27747  480 /*untilTimeCode (7200/15)*/,
27748  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27749  },
27750  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
27751  {
27752  &kZonePolicyRussia /*zonePolicy*/,
27753  "MSK/MSD" /*format*/,
27754  720 /*offsetCode (10800/15)*/,
27755  0 /*offsetRemainder (10800%15)*/,
27756  0 /*deltaMinutes*/,
27757  2011 /*untilYear*/,
27758  3 /*untilMonth*/,
27759  27 /*untilDay*/,
27760  480 /*untilTimeCode (7200/15)*/,
27761  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27762  },
27763  // 4:00 - MSK 2014 Oct 26 2:00s
27764  {
27765  nullptr /*zonePolicy*/,
27766  "MSK" /*format*/,
27767  960 /*offsetCode (14400/15)*/,
27768  0 /*offsetRemainder (14400%15)*/,
27769  0 /*deltaMinutes*/,
27770  2014 /*untilYear*/,
27771  10 /*untilMonth*/,
27772  26 /*untilDay*/,
27773  480 /*untilTimeCode (7200/15)*/,
27774  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27775  },
27776  // 3:00 - MSK
27777  {
27778  nullptr /*zonePolicy*/,
27779  "MSK" /*format*/,
27780  720 /*offsetCode (10800/15)*/,
27781  0 /*offsetRemainder (10800%15)*/,
27782  0 /*deltaMinutes*/,
27783  32767 /*untilYear*/,
27784  1 /*untilMonth*/,
27785  1 /*untilDay*/,
27786  0 /*untilTimeCode (0/15)*/,
27787  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27788  },
27789 
27790 };
27791 
27792 static const char kZoneNameEurope_Moscow[] ACE_TIME_PROGMEM = "\x0b" "Moscow";
27793 
27794 const complete::ZoneInfo kZoneEurope_Moscow ACE_TIME_PROGMEM = {
27795  kZoneNameEurope_Moscow /*name*/,
27796  0x5ec266fc /*zoneId*/,
27797  &kZoneContext /*zoneContext*/,
27798  11 /*numEras*/,
27799  kZoneEraEurope_Moscow /*eras*/,
27800  nullptr /*targetInfo*/,
27801 };
27802 
27803 //---------------------------------------------------------------------------
27804 // Zone name: Europe/Paris
27805 // Eras: 7
27806 //---------------------------------------------------------------------------
27807 
27808 static const complete::ZoneEra kZoneEraEurope_Paris[] ACE_TIME_PROGMEM = {
27809  // 0:09:21 - LMT 1891 Mar 16
27810  {
27811  nullptr /*zonePolicy*/,
27812  "LMT" /*format*/,
27813  37 /*offsetCode (561/15)*/,
27814  6 /*offsetRemainder (561%15)*/,
27815  0 /*deltaMinutes*/,
27816  1891 /*untilYear*/,
27817  3 /*untilMonth*/,
27818  16 /*untilDay*/,
27819  0 /*untilTimeCode (0/15)*/,
27820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27821  },
27822  // 0:09:21 - PMT 1911 Mar 11
27823  {
27824  nullptr /*zonePolicy*/,
27825  "PMT" /*format*/,
27826  37 /*offsetCode (561/15)*/,
27827  6 /*offsetRemainder (561%15)*/,
27828  0 /*deltaMinutes*/,
27829  1911 /*untilYear*/,
27830  3 /*untilMonth*/,
27831  11 /*untilDay*/,
27832  0 /*untilTimeCode (0/15)*/,
27833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27834  },
27835  // 0:00 France WE%sT 1940 Jun 14 23:00
27836  {
27837  &kZonePolicyFrance /*zonePolicy*/,
27838  "WE%T" /*format*/,
27839  0 /*offsetCode (0/15)*/,
27840  0 /*offsetRemainder (0%15)*/,
27841  0 /*deltaMinutes*/,
27842  1940 /*untilYear*/,
27843  6 /*untilMonth*/,
27844  14 /*untilDay*/,
27845  5520 /*untilTimeCode (82800/15)*/,
27846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27847  },
27848  // 1:00 C-Eur CE%sT 1944 Aug 25
27849  {
27850  &kZonePolicyC_Eur /*zonePolicy*/,
27851  "CE%T" /*format*/,
27852  240 /*offsetCode (3600/15)*/,
27853  0 /*offsetRemainder (3600%15)*/,
27854  0 /*deltaMinutes*/,
27855  1944 /*untilYear*/,
27856  8 /*untilMonth*/,
27857  25 /*untilDay*/,
27858  0 /*untilTimeCode (0/15)*/,
27859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27860  },
27861  // 0:00 France WE%sT 1945 Sep 16 3:00
27862  {
27863  &kZonePolicyFrance /*zonePolicy*/,
27864  "WE%T" /*format*/,
27865  0 /*offsetCode (0/15)*/,
27866  0 /*offsetRemainder (0%15)*/,
27867  0 /*deltaMinutes*/,
27868  1945 /*untilYear*/,
27869  9 /*untilMonth*/,
27870  16 /*untilDay*/,
27871  720 /*untilTimeCode (10800/15)*/,
27872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27873  },
27874  // 1:00 France CE%sT 1977
27875  {
27876  &kZonePolicyFrance /*zonePolicy*/,
27877  "CE%T" /*format*/,
27878  240 /*offsetCode (3600/15)*/,
27879  0 /*offsetRemainder (3600%15)*/,
27880  0 /*deltaMinutes*/,
27881  1977 /*untilYear*/,
27882  1 /*untilMonth*/,
27883  1 /*untilDay*/,
27884  0 /*untilTimeCode (0/15)*/,
27885  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27886  },
27887  // 1:00 EU CE%sT
27888  {
27889  &kZonePolicyEU /*zonePolicy*/,
27890  "CE%T" /*format*/,
27891  240 /*offsetCode (3600/15)*/,
27892  0 /*offsetRemainder (3600%15)*/,
27893  0 /*deltaMinutes*/,
27894  32767 /*untilYear*/,
27895  1 /*untilMonth*/,
27896  1 /*untilDay*/,
27897  0 /*untilTimeCode (0/15)*/,
27898  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27899  },
27900 
27901 };
27902 
27903 static const char kZoneNameEurope_Paris[] ACE_TIME_PROGMEM = "\x0b" "Paris";
27904 
27905 const complete::ZoneInfo kZoneEurope_Paris ACE_TIME_PROGMEM = {
27906  kZoneNameEurope_Paris /*name*/,
27907  0xfb4bc2a3 /*zoneId*/,
27908  &kZoneContext /*zoneContext*/,
27909  7 /*numEras*/,
27910  kZoneEraEurope_Paris /*eras*/,
27911  nullptr /*targetInfo*/,
27912 };
27913 
27914 //---------------------------------------------------------------------------
27915 // Zone name: Europe/Prague
27916 // Eras: 7
27917 //---------------------------------------------------------------------------
27918 
27919 static const complete::ZoneEra kZoneEraEurope_Prague[] ACE_TIME_PROGMEM = {
27920  // 0:57:44 - LMT 1850
27921  {
27922  nullptr /*zonePolicy*/,
27923  "LMT" /*format*/,
27924  230 /*offsetCode (3464/15)*/,
27925  14 /*offsetRemainder (3464%15)*/,
27926  0 /*deltaMinutes*/,
27927  1850 /*untilYear*/,
27928  1 /*untilMonth*/,
27929  1 /*untilDay*/,
27930  0 /*untilTimeCode (0/15)*/,
27931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27932  },
27933  // 0:57:44 - PMT 1891 Oct
27934  {
27935  nullptr /*zonePolicy*/,
27936  "PMT" /*format*/,
27937  230 /*offsetCode (3464/15)*/,
27938  14 /*offsetRemainder (3464%15)*/,
27939  0 /*deltaMinutes*/,
27940  1891 /*untilYear*/,
27941  10 /*untilMonth*/,
27942  1 /*untilDay*/,
27943  0 /*untilTimeCode (0/15)*/,
27944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27945  },
27946  // 1:00 C-Eur CE%sT 1945 May 9
27947  {
27948  &kZonePolicyC_Eur /*zonePolicy*/,
27949  "CE%T" /*format*/,
27950  240 /*offsetCode (3600/15)*/,
27951  0 /*offsetRemainder (3600%15)*/,
27952  0 /*deltaMinutes*/,
27953  1945 /*untilYear*/,
27954  5 /*untilMonth*/,
27955  9 /*untilDay*/,
27956  0 /*untilTimeCode (0/15)*/,
27957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27958  },
27959  // 1:00 Czech CE%sT 1946 Dec 1 3:00
27960  {
27961  &kZonePolicyCzech /*zonePolicy*/,
27962  "CE%T" /*format*/,
27963  240 /*offsetCode (3600/15)*/,
27964  0 /*offsetRemainder (3600%15)*/,
27965  0 /*deltaMinutes*/,
27966  1946 /*untilYear*/,
27967  12 /*untilMonth*/,
27968  1 /*untilDay*/,
27969  720 /*untilTimeCode (10800/15)*/,
27970  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27971  },
27972  // 1:00 -1:00 GMT 1947 Feb 23 2:00
27973  {
27974  nullptr /*zonePolicy*/,
27975  "GMT" /*format*/,
27976  240 /*offsetCode (3600/15)*/,
27977  0 /*offsetRemainder (3600%15)*/,
27978  -60 /*deltaMinutes*/,
27979  1947 /*untilYear*/,
27980  2 /*untilMonth*/,
27981  23 /*untilDay*/,
27982  480 /*untilTimeCode (7200/15)*/,
27983  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27984  },
27985  // 1:00 Czech CE%sT 1979
27986  {
27987  &kZonePolicyCzech /*zonePolicy*/,
27988  "CE%T" /*format*/,
27989  240 /*offsetCode (3600/15)*/,
27990  0 /*offsetRemainder (3600%15)*/,
27991  0 /*deltaMinutes*/,
27992  1979 /*untilYear*/,
27993  1 /*untilMonth*/,
27994  1 /*untilDay*/,
27995  0 /*untilTimeCode (0/15)*/,
27996  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27997  },
27998  // 1:00 EU CE%sT
27999  {
28000  &kZonePolicyEU /*zonePolicy*/,
28001  "CE%T" /*format*/,
28002  240 /*offsetCode (3600/15)*/,
28003  0 /*offsetRemainder (3600%15)*/,
28004  0 /*deltaMinutes*/,
28005  32767 /*untilYear*/,
28006  1 /*untilMonth*/,
28007  1 /*untilDay*/,
28008  0 /*untilTimeCode (0/15)*/,
28009  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28010  },
28011 
28012 };
28013 
28014 static const char kZoneNameEurope_Prague[] ACE_TIME_PROGMEM = "\x0b" "Prague";
28015 
28016 const complete::ZoneInfo kZoneEurope_Prague ACE_TIME_PROGMEM = {
28017  kZoneNameEurope_Prague /*name*/,
28018  0x65ee5d48 /*zoneId*/,
28019  &kZoneContext /*zoneContext*/,
28020  7 /*numEras*/,
28021  kZoneEraEurope_Prague /*eras*/,
28022  nullptr /*targetInfo*/,
28023 };
28024 
28025 //---------------------------------------------------------------------------
28026 // Zone name: Europe/Riga
28027 // Eras: 15
28028 //---------------------------------------------------------------------------
28029 
28030 static const complete::ZoneEra kZoneEraEurope_Riga[] ACE_TIME_PROGMEM = {
28031  // 1:36:34 - LMT 1880
28032  {
28033  nullptr /*zonePolicy*/,
28034  "LMT" /*format*/,
28035  386 /*offsetCode (5794/15)*/,
28036  4 /*offsetRemainder (5794%15)*/,
28037  0 /*deltaMinutes*/,
28038  1880 /*untilYear*/,
28039  1 /*untilMonth*/,
28040  1 /*untilDay*/,
28041  0 /*untilTimeCode (0/15)*/,
28042  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28043  },
28044  // 1:36:34 - RMT 1918 Apr 15 2:00
28045  {
28046  nullptr /*zonePolicy*/,
28047  "RMT" /*format*/,
28048  386 /*offsetCode (5794/15)*/,
28049  4 /*offsetRemainder (5794%15)*/,
28050  0 /*deltaMinutes*/,
28051  1918 /*untilYear*/,
28052  4 /*untilMonth*/,
28053  15 /*untilDay*/,
28054  480 /*untilTimeCode (7200/15)*/,
28055  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28056  },
28057  // 1:36:34 1:00 LST 1918 Sep 16 3:00
28058  {
28059  nullptr /*zonePolicy*/,
28060  "LST" /*format*/,
28061  386 /*offsetCode (5794/15)*/,
28062  4 /*offsetRemainder (5794%15)*/,
28063  60 /*deltaMinutes*/,
28064  1918 /*untilYear*/,
28065  9 /*untilMonth*/,
28066  16 /*untilDay*/,
28067  720 /*untilTimeCode (10800/15)*/,
28068  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28069  },
28070  // 1:36:34 - RMT 1919 Apr 1 2:00
28071  {
28072  nullptr /*zonePolicy*/,
28073  "RMT" /*format*/,
28074  386 /*offsetCode (5794/15)*/,
28075  4 /*offsetRemainder (5794%15)*/,
28076  0 /*deltaMinutes*/,
28077  1919 /*untilYear*/,
28078  4 /*untilMonth*/,
28079  1 /*untilDay*/,
28080  480 /*untilTimeCode (7200/15)*/,
28081  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28082  },
28083  // 1:36:34 1:00 LST 1919 May 22 3:00
28084  {
28085  nullptr /*zonePolicy*/,
28086  "LST" /*format*/,
28087  386 /*offsetCode (5794/15)*/,
28088  4 /*offsetRemainder (5794%15)*/,
28089  60 /*deltaMinutes*/,
28090  1919 /*untilYear*/,
28091  5 /*untilMonth*/,
28092  22 /*untilDay*/,
28093  720 /*untilTimeCode (10800/15)*/,
28094  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28095  },
28096  // 1:36:34 - RMT 1926 May 11
28097  {
28098  nullptr /*zonePolicy*/,
28099  "RMT" /*format*/,
28100  386 /*offsetCode (5794/15)*/,
28101  4 /*offsetRemainder (5794%15)*/,
28102  0 /*deltaMinutes*/,
28103  1926 /*untilYear*/,
28104  5 /*untilMonth*/,
28105  11 /*untilDay*/,
28106  0 /*untilTimeCode (0/15)*/,
28107  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28108  },
28109  // 2:00 - EET 1940 Aug 5
28110  {
28111  nullptr /*zonePolicy*/,
28112  "EET" /*format*/,
28113  480 /*offsetCode (7200/15)*/,
28114  0 /*offsetRemainder (7200%15)*/,
28115  0 /*deltaMinutes*/,
28116  1940 /*untilYear*/,
28117  8 /*untilMonth*/,
28118  5 /*untilDay*/,
28119  0 /*untilTimeCode (0/15)*/,
28120  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28121  },
28122  // 3:00 - MSK 1941 Jul
28123  {
28124  nullptr /*zonePolicy*/,
28125  "MSK" /*format*/,
28126  720 /*offsetCode (10800/15)*/,
28127  0 /*offsetRemainder (10800%15)*/,
28128  0 /*deltaMinutes*/,
28129  1941 /*untilYear*/,
28130  7 /*untilMonth*/,
28131  1 /*untilDay*/,
28132  0 /*untilTimeCode (0/15)*/,
28133  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28134  },
28135  // 1:00 C-Eur CE%sT 1944 Oct 13
28136  {
28137  &kZonePolicyC_Eur /*zonePolicy*/,
28138  "CE%T" /*format*/,
28139  240 /*offsetCode (3600/15)*/,
28140  0 /*offsetRemainder (3600%15)*/,
28141  0 /*deltaMinutes*/,
28142  1944 /*untilYear*/,
28143  10 /*untilMonth*/,
28144  13 /*untilDay*/,
28145  0 /*untilTimeCode (0/15)*/,
28146  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28147  },
28148  // 3:00 Russia MSK/MSD 1989 Mar lastSun 2:00s
28149  {
28150  &kZonePolicyRussia /*zonePolicy*/,
28151  "MSK/MSD" /*format*/,
28152  720 /*offsetCode (10800/15)*/,
28153  0 /*offsetRemainder (10800%15)*/,
28154  0 /*deltaMinutes*/,
28155  1989 /*untilYear*/,
28156  3 /*untilMonth*/,
28157  26 /*untilDay*/,
28158  480 /*untilTimeCode (7200/15)*/,
28159  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28160  },
28161  // 2:00 1:00 EEST 1989 Sep lastSun 2:00s
28162  {
28163  nullptr /*zonePolicy*/,
28164  "EEST" /*format*/,
28165  480 /*offsetCode (7200/15)*/,
28166  0 /*offsetRemainder (7200%15)*/,
28167  60 /*deltaMinutes*/,
28168  1989 /*untilYear*/,
28169  9 /*untilMonth*/,
28170  24 /*untilDay*/,
28171  480 /*untilTimeCode (7200/15)*/,
28172  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28173  },
28174  // 2:00 Latvia EE%sT 1997 Jan 21
28175  {
28176  &kZonePolicyLatvia /*zonePolicy*/,
28177  "EE%T" /*format*/,
28178  480 /*offsetCode (7200/15)*/,
28179  0 /*offsetRemainder (7200%15)*/,
28180  0 /*deltaMinutes*/,
28181  1997 /*untilYear*/,
28182  1 /*untilMonth*/,
28183  21 /*untilDay*/,
28184  0 /*untilTimeCode (0/15)*/,
28185  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28186  },
28187  // 2:00 EU EE%sT 2000 Feb 29
28188  {
28189  &kZonePolicyEU /*zonePolicy*/,
28190  "EE%T" /*format*/,
28191  480 /*offsetCode (7200/15)*/,
28192  0 /*offsetRemainder (7200%15)*/,
28193  0 /*deltaMinutes*/,
28194  2000 /*untilYear*/,
28195  2 /*untilMonth*/,
28196  29 /*untilDay*/,
28197  0 /*untilTimeCode (0/15)*/,
28198  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28199  },
28200  // 2:00 - EET 2001 Jan 2
28201  {
28202  nullptr /*zonePolicy*/,
28203  "EET" /*format*/,
28204  480 /*offsetCode (7200/15)*/,
28205  0 /*offsetRemainder (7200%15)*/,
28206  0 /*deltaMinutes*/,
28207  2001 /*untilYear*/,
28208  1 /*untilMonth*/,
28209  2 /*untilDay*/,
28210  0 /*untilTimeCode (0/15)*/,
28211  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28212  },
28213  // 2:00 EU EE%sT
28214  {
28215  &kZonePolicyEU /*zonePolicy*/,
28216  "EE%T" /*format*/,
28217  480 /*offsetCode (7200/15)*/,
28218  0 /*offsetRemainder (7200%15)*/,
28219  0 /*deltaMinutes*/,
28220  32767 /*untilYear*/,
28221  1 /*untilMonth*/,
28222  1 /*untilDay*/,
28223  0 /*untilTimeCode (0/15)*/,
28224  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28225  },
28226 
28227 };
28228 
28229 static const char kZoneNameEurope_Riga[] ACE_TIME_PROGMEM = "\x0b" "Riga";
28230 
28231 const complete::ZoneInfo kZoneEurope_Riga ACE_TIME_PROGMEM = {
28232  kZoneNameEurope_Riga /*name*/,
28233  0xa2c57587 /*zoneId*/,
28234  &kZoneContext /*zoneContext*/,
28235  15 /*numEras*/,
28236  kZoneEraEurope_Riga /*eras*/,
28237  nullptr /*targetInfo*/,
28238 };
28239 
28240 //---------------------------------------------------------------------------
28241 // Zone name: Europe/Rome
28242 // Eras: 6
28243 //---------------------------------------------------------------------------
28244 
28245 static const complete::ZoneEra kZoneEraEurope_Rome[] ACE_TIME_PROGMEM = {
28246  // 0:49:56 - LMT 1866 Dec 12
28247  {
28248  nullptr /*zonePolicy*/,
28249  "LMT" /*format*/,
28250  199 /*offsetCode (2996/15)*/,
28251  11 /*offsetRemainder (2996%15)*/,
28252  0 /*deltaMinutes*/,
28253  1866 /*untilYear*/,
28254  12 /*untilMonth*/,
28255  12 /*untilDay*/,
28256  0 /*untilTimeCode (0/15)*/,
28257  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28258  },
28259  // 0:49:56 - RMT 1893 Oct 31 23:00u
28260  {
28261  nullptr /*zonePolicy*/,
28262  "RMT" /*format*/,
28263  199 /*offsetCode (2996/15)*/,
28264  11 /*offsetRemainder (2996%15)*/,
28265  0 /*deltaMinutes*/,
28266  1893 /*untilYear*/,
28267  10 /*untilMonth*/,
28268  31 /*untilDay*/,
28269  5520 /*untilTimeCode (82800/15)*/,
28270  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28271  },
28272  // 1:00 Italy CE%sT 1943 Sep 10
28273  {
28274  &kZonePolicyItaly /*zonePolicy*/,
28275  "CE%T" /*format*/,
28276  240 /*offsetCode (3600/15)*/,
28277  0 /*offsetRemainder (3600%15)*/,
28278  0 /*deltaMinutes*/,
28279  1943 /*untilYear*/,
28280  9 /*untilMonth*/,
28281  10 /*untilDay*/,
28282  0 /*untilTimeCode (0/15)*/,
28283  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28284  },
28285  // 1:00 C-Eur CE%sT 1944 Jun 4
28286  {
28287  &kZonePolicyC_Eur /*zonePolicy*/,
28288  "CE%T" /*format*/,
28289  240 /*offsetCode (3600/15)*/,
28290  0 /*offsetRemainder (3600%15)*/,
28291  0 /*deltaMinutes*/,
28292  1944 /*untilYear*/,
28293  6 /*untilMonth*/,
28294  4 /*untilDay*/,
28295  0 /*untilTimeCode (0/15)*/,
28296  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28297  },
28298  // 1:00 Italy CE%sT 1980
28299  {
28300  &kZonePolicyItaly /*zonePolicy*/,
28301  "CE%T" /*format*/,
28302  240 /*offsetCode (3600/15)*/,
28303  0 /*offsetRemainder (3600%15)*/,
28304  0 /*deltaMinutes*/,
28305  1980 /*untilYear*/,
28306  1 /*untilMonth*/,
28307  1 /*untilDay*/,
28308  0 /*untilTimeCode (0/15)*/,
28309  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28310  },
28311  // 1:00 EU CE%sT
28312  {
28313  &kZonePolicyEU /*zonePolicy*/,
28314  "CE%T" /*format*/,
28315  240 /*offsetCode (3600/15)*/,
28316  0 /*offsetRemainder (3600%15)*/,
28317  0 /*deltaMinutes*/,
28318  32767 /*untilYear*/,
28319  1 /*untilMonth*/,
28320  1 /*untilDay*/,
28321  0 /*untilTimeCode (0/15)*/,
28322  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28323  },
28324 
28325 };
28326 
28327 static const char kZoneNameEurope_Rome[] ACE_TIME_PROGMEM = "\x0b" "Rome";
28328 
28329 const complete::ZoneInfo kZoneEurope_Rome ACE_TIME_PROGMEM = {
28330  kZoneNameEurope_Rome /*name*/,
28331  0xa2c58fd7 /*zoneId*/,
28332  &kZoneContext /*zoneContext*/,
28333  6 /*numEras*/,
28334  kZoneEraEurope_Rome /*eras*/,
28335  nullptr /*targetInfo*/,
28336 };
28337 
28338 //---------------------------------------------------------------------------
28339 // Zone name: Europe/Samara
28340 // Eras: 10
28341 //---------------------------------------------------------------------------
28342 
28343 static const complete::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = {
28344  // 3:20:20 - LMT 1919 Jul 1 0:00u
28345  {
28346  nullptr /*zonePolicy*/,
28347  "LMT" /*format*/,
28348  801 /*offsetCode (12020/15)*/,
28349  5 /*offsetRemainder (12020%15)*/,
28350  0 /*deltaMinutes*/,
28351  1919 /*untilYear*/,
28352  7 /*untilMonth*/,
28353  1 /*untilDay*/,
28354  0 /*untilTimeCode (0/15)*/,
28355  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28356  },
28357  // 3:00 - +03 1930 Jun 21
28358  {
28359  nullptr /*zonePolicy*/,
28360  "+03" /*format*/,
28361  720 /*offsetCode (10800/15)*/,
28362  0 /*offsetRemainder (10800%15)*/,
28363  0 /*deltaMinutes*/,
28364  1930 /*untilYear*/,
28365  6 /*untilMonth*/,
28366  21 /*untilDay*/,
28367  0 /*untilTimeCode (0/15)*/,
28368  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28369  },
28370  // 4:00 - +04 1935 Jan 27
28371  {
28372  nullptr /*zonePolicy*/,
28373  "+04" /*format*/,
28374  960 /*offsetCode (14400/15)*/,
28375  0 /*offsetRemainder (14400%15)*/,
28376  0 /*deltaMinutes*/,
28377  1935 /*untilYear*/,
28378  1 /*untilMonth*/,
28379  27 /*untilDay*/,
28380  0 /*untilTimeCode (0/15)*/,
28381  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28382  },
28383  // 4:00 Russia +04/+05 1989 Mar 26 2:00s
28384  {
28385  &kZonePolicyRussia /*zonePolicy*/,
28386  "+04/+05" /*format*/,
28387  960 /*offsetCode (14400/15)*/,
28388  0 /*offsetRemainder (14400%15)*/,
28389  0 /*deltaMinutes*/,
28390  1989 /*untilYear*/,
28391  3 /*untilMonth*/,
28392  26 /*untilDay*/,
28393  480 /*untilTimeCode (7200/15)*/,
28394  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28395  },
28396  // 3:00 Russia +03/+04 1991 Mar 31 2:00s
28397  {
28398  &kZonePolicyRussia /*zonePolicy*/,
28399  "+03/+04" /*format*/,
28400  720 /*offsetCode (10800/15)*/,
28401  0 /*offsetRemainder (10800%15)*/,
28402  0 /*deltaMinutes*/,
28403  1991 /*untilYear*/,
28404  3 /*untilMonth*/,
28405  31 /*untilDay*/,
28406  480 /*untilTimeCode (7200/15)*/,
28407  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28408  },
28409  // 2:00 Russia +02/+03 1991 Sep 29 2:00s
28410  {
28411  &kZonePolicyRussia /*zonePolicy*/,
28412  "+02/+03" /*format*/,
28413  480 /*offsetCode (7200/15)*/,
28414  0 /*offsetRemainder (7200%15)*/,
28415  0 /*deltaMinutes*/,
28416  1991 /*untilYear*/,
28417  9 /*untilMonth*/,
28418  29 /*untilDay*/,
28419  480 /*untilTimeCode (7200/15)*/,
28420  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28421  },
28422  // 3:00 - +03 1991 Oct 20 3:00
28423  {
28424  nullptr /*zonePolicy*/,
28425  "+03" /*format*/,
28426  720 /*offsetCode (10800/15)*/,
28427  0 /*offsetRemainder (10800%15)*/,
28428  0 /*deltaMinutes*/,
28429  1991 /*untilYear*/,
28430  10 /*untilMonth*/,
28431  20 /*untilDay*/,
28432  720 /*untilTimeCode (10800/15)*/,
28433  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28434  },
28435  // 4:00 Russia +04/+05 2010 Mar 28 2:00s
28436  {
28437  &kZonePolicyRussia /*zonePolicy*/,
28438  "+04/+05" /*format*/,
28439  960 /*offsetCode (14400/15)*/,
28440  0 /*offsetRemainder (14400%15)*/,
28441  0 /*deltaMinutes*/,
28442  2010 /*untilYear*/,
28443  3 /*untilMonth*/,
28444  28 /*untilDay*/,
28445  480 /*untilTimeCode (7200/15)*/,
28446  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28447  },
28448  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
28449  {
28450  &kZonePolicyRussia /*zonePolicy*/,
28451  "+03/+04" /*format*/,
28452  720 /*offsetCode (10800/15)*/,
28453  0 /*offsetRemainder (10800%15)*/,
28454  0 /*deltaMinutes*/,
28455  2011 /*untilYear*/,
28456  3 /*untilMonth*/,
28457  27 /*untilDay*/,
28458  480 /*untilTimeCode (7200/15)*/,
28459  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28460  },
28461  // 4:00 - +04
28462  {
28463  nullptr /*zonePolicy*/,
28464  "+04" /*format*/,
28465  960 /*offsetCode (14400/15)*/,
28466  0 /*offsetRemainder (14400%15)*/,
28467  0 /*deltaMinutes*/,
28468  32767 /*untilYear*/,
28469  1 /*untilMonth*/,
28470  1 /*untilDay*/,
28471  0 /*untilTimeCode (0/15)*/,
28472  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28473  },
28474 
28475 };
28476 
28477 static const char kZoneNameEurope_Samara[] ACE_TIME_PROGMEM = "\x0b" "Samara";
28478 
28479 const complete::ZoneInfo kZoneEurope_Samara ACE_TIME_PROGMEM = {
28480  kZoneNameEurope_Samara /*name*/,
28481  0x6bc0b139 /*zoneId*/,
28482  &kZoneContext /*zoneContext*/,
28483  10 /*numEras*/,
28484  kZoneEraEurope_Samara /*eras*/,
28485  nullptr /*targetInfo*/,
28486 };
28487 
28488 //---------------------------------------------------------------------------
28489 // Zone name: Europe/Saratov
28490 // Eras: 9
28491 //---------------------------------------------------------------------------
28492 
28493 static const complete::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = {
28494  // 3:04:18 - LMT 1919 Jul 1 0:00u
28495  {
28496  nullptr /*zonePolicy*/,
28497  "LMT" /*format*/,
28498  737 /*offsetCode (11058/15)*/,
28499  3 /*offsetRemainder (11058%15)*/,
28500  0 /*deltaMinutes*/,
28501  1919 /*untilYear*/,
28502  7 /*untilMonth*/,
28503  1 /*untilDay*/,
28504  0 /*untilTimeCode (0/15)*/,
28505  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28506  },
28507  // 3:00 - +03 1930 Jun 21
28508  {
28509  nullptr /*zonePolicy*/,
28510  "+03" /*format*/,
28511  720 /*offsetCode (10800/15)*/,
28512  0 /*offsetRemainder (10800%15)*/,
28513  0 /*deltaMinutes*/,
28514  1930 /*untilYear*/,
28515  6 /*untilMonth*/,
28516  21 /*untilDay*/,
28517  0 /*untilTimeCode (0/15)*/,
28518  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28519  },
28520  // 4:00 Russia +04/+05 1988 Mar 27 2:00s
28521  {
28522  &kZonePolicyRussia /*zonePolicy*/,
28523  "+04/+05" /*format*/,
28524  960 /*offsetCode (14400/15)*/,
28525  0 /*offsetRemainder (14400%15)*/,
28526  0 /*deltaMinutes*/,
28527  1988 /*untilYear*/,
28528  3 /*untilMonth*/,
28529  27 /*untilDay*/,
28530  480 /*untilTimeCode (7200/15)*/,
28531  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28532  },
28533  // 3:00 Russia +03/+04 1991 Mar 31 2:00s
28534  {
28535  &kZonePolicyRussia /*zonePolicy*/,
28536  "+03/+04" /*format*/,
28537  720 /*offsetCode (10800/15)*/,
28538  0 /*offsetRemainder (10800%15)*/,
28539  0 /*deltaMinutes*/,
28540  1991 /*untilYear*/,
28541  3 /*untilMonth*/,
28542  31 /*untilDay*/,
28543  480 /*untilTimeCode (7200/15)*/,
28544  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28545  },
28546  // 4:00 - +04 1992 Mar 29 2:00s
28547  {
28548  nullptr /*zonePolicy*/,
28549  "+04" /*format*/,
28550  960 /*offsetCode (14400/15)*/,
28551  0 /*offsetRemainder (14400%15)*/,
28552  0 /*deltaMinutes*/,
28553  1992 /*untilYear*/,
28554  3 /*untilMonth*/,
28555  29 /*untilDay*/,
28556  480 /*untilTimeCode (7200/15)*/,
28557  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28558  },
28559  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
28560  {
28561  &kZonePolicyRussia /*zonePolicy*/,
28562  "+03/+04" /*format*/,
28563  720 /*offsetCode (10800/15)*/,
28564  0 /*offsetRemainder (10800%15)*/,
28565  0 /*deltaMinutes*/,
28566  2011 /*untilYear*/,
28567  3 /*untilMonth*/,
28568  27 /*untilDay*/,
28569  480 /*untilTimeCode (7200/15)*/,
28570  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28571  },
28572  // 4:00 - +04 2014 Oct 26 2:00s
28573  {
28574  nullptr /*zonePolicy*/,
28575  "+04" /*format*/,
28576  960 /*offsetCode (14400/15)*/,
28577  0 /*offsetRemainder (14400%15)*/,
28578  0 /*deltaMinutes*/,
28579  2014 /*untilYear*/,
28580  10 /*untilMonth*/,
28581  26 /*untilDay*/,
28582  480 /*untilTimeCode (7200/15)*/,
28583  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28584  },
28585  // 3:00 - +03 2016 Dec 4 2:00s
28586  {
28587  nullptr /*zonePolicy*/,
28588  "+03" /*format*/,
28589  720 /*offsetCode (10800/15)*/,
28590  0 /*offsetRemainder (10800%15)*/,
28591  0 /*deltaMinutes*/,
28592  2016 /*untilYear*/,
28593  12 /*untilMonth*/,
28594  4 /*untilDay*/,
28595  480 /*untilTimeCode (7200/15)*/,
28596  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28597  },
28598  // 4:00 - +04
28599  {
28600  nullptr /*zonePolicy*/,
28601  "+04" /*format*/,
28602  960 /*offsetCode (14400/15)*/,
28603  0 /*offsetRemainder (14400%15)*/,
28604  0 /*deltaMinutes*/,
28605  32767 /*untilYear*/,
28606  1 /*untilMonth*/,
28607  1 /*untilDay*/,
28608  0 /*untilTimeCode (0/15)*/,
28609  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28610  },
28611 
28612 };
28613 
28614 static const char kZoneNameEurope_Saratov[] ACE_TIME_PROGMEM = "\x0b" "Saratov";
28615 
28616 const complete::ZoneInfo kZoneEurope_Saratov ACE_TIME_PROGMEM = {
28617  kZoneNameEurope_Saratov /*name*/,
28618  0xe4315da4 /*zoneId*/,
28619  &kZoneContext /*zoneContext*/,
28620  9 /*numEras*/,
28621  kZoneEraEurope_Saratov /*eras*/,
28622  nullptr /*targetInfo*/,
28623 };
28624 
28625 //---------------------------------------------------------------------------
28626 // Zone name: Europe/Simferopol
28627 // Eras: 15
28628 //---------------------------------------------------------------------------
28629 
28630 static const complete::ZoneEra kZoneEraEurope_Simferopol[] ACE_TIME_PROGMEM = {
28631  // 2:16:24 - LMT 1880
28632  {
28633  nullptr /*zonePolicy*/,
28634  "LMT" /*format*/,
28635  545 /*offsetCode (8184/15)*/,
28636  9 /*offsetRemainder (8184%15)*/,
28637  0 /*deltaMinutes*/,
28638  1880 /*untilYear*/,
28639  1 /*untilMonth*/,
28640  1 /*untilDay*/,
28641  0 /*untilTimeCode (0/15)*/,
28642  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28643  },
28644  // 2:16 - SMT 1924 May 2
28645  {
28646  nullptr /*zonePolicy*/,
28647  "SMT" /*format*/,
28648  544 /*offsetCode (8160/15)*/,
28649  0 /*offsetRemainder (8160%15)*/,
28650  0 /*deltaMinutes*/,
28651  1924 /*untilYear*/,
28652  5 /*untilMonth*/,
28653  2 /*untilDay*/,
28654  0 /*untilTimeCode (0/15)*/,
28655  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28656  },
28657  // 2:00 - EET 1930 Jun 21
28658  {
28659  nullptr /*zonePolicy*/,
28660  "EET" /*format*/,
28661  480 /*offsetCode (7200/15)*/,
28662  0 /*offsetRemainder (7200%15)*/,
28663  0 /*deltaMinutes*/,
28664  1930 /*untilYear*/,
28665  6 /*untilMonth*/,
28666  21 /*untilDay*/,
28667  0 /*untilTimeCode (0/15)*/,
28668  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28669  },
28670  // 3:00 - MSK 1941 Nov
28671  {
28672  nullptr /*zonePolicy*/,
28673  "MSK" /*format*/,
28674  720 /*offsetCode (10800/15)*/,
28675  0 /*offsetRemainder (10800%15)*/,
28676  0 /*deltaMinutes*/,
28677  1941 /*untilYear*/,
28678  11 /*untilMonth*/,
28679  1 /*untilDay*/,
28680  0 /*untilTimeCode (0/15)*/,
28681  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28682  },
28683  // 1:00 C-Eur CE%sT 1944 Apr 13
28684  {
28685  &kZonePolicyC_Eur /*zonePolicy*/,
28686  "CE%T" /*format*/,
28687  240 /*offsetCode (3600/15)*/,
28688  0 /*offsetRemainder (3600%15)*/,
28689  0 /*deltaMinutes*/,
28690  1944 /*untilYear*/,
28691  4 /*untilMonth*/,
28692  13 /*untilDay*/,
28693  0 /*untilTimeCode (0/15)*/,
28694  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28695  },
28696  // 3:00 Russia MSK/MSD 1990
28697  {
28698  &kZonePolicyRussia /*zonePolicy*/,
28699  "MSK/MSD" /*format*/,
28700  720 /*offsetCode (10800/15)*/,
28701  0 /*offsetRemainder (10800%15)*/,
28702  0 /*deltaMinutes*/,
28703  1990 /*untilYear*/,
28704  1 /*untilMonth*/,
28705  1 /*untilDay*/,
28706  0 /*untilTimeCode (0/15)*/,
28707  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28708  },
28709  // 3:00 - MSK 1990 Jul 1 2:00
28710  {
28711  nullptr /*zonePolicy*/,
28712  "MSK" /*format*/,
28713  720 /*offsetCode (10800/15)*/,
28714  0 /*offsetRemainder (10800%15)*/,
28715  0 /*deltaMinutes*/,
28716  1990 /*untilYear*/,
28717  7 /*untilMonth*/,
28718  1 /*untilDay*/,
28719  480 /*untilTimeCode (7200/15)*/,
28720  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28721  },
28722  // 2:00 - EET 1992 Mar 20
28723  {
28724  nullptr /*zonePolicy*/,
28725  "EET" /*format*/,
28726  480 /*offsetCode (7200/15)*/,
28727  0 /*offsetRemainder (7200%15)*/,
28728  0 /*deltaMinutes*/,
28729  1992 /*untilYear*/,
28730  3 /*untilMonth*/,
28731  20 /*untilDay*/,
28732  0 /*untilTimeCode (0/15)*/,
28733  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28734  },
28735  // 2:00 C-Eur EE%sT 1994 May
28736  {
28737  &kZonePolicyC_Eur /*zonePolicy*/,
28738  "EE%T" /*format*/,
28739  480 /*offsetCode (7200/15)*/,
28740  0 /*offsetRemainder (7200%15)*/,
28741  0 /*deltaMinutes*/,
28742  1994 /*untilYear*/,
28743  5 /*untilMonth*/,
28744  1 /*untilDay*/,
28745  0 /*untilTimeCode (0/15)*/,
28746  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28747  },
28748  // 3:00 C-Eur MSK/MSD 1996 Mar 31 0:00s
28749  {
28750  &kZonePolicyC_Eur /*zonePolicy*/,
28751  "MSK/MSD" /*format*/,
28752  720 /*offsetCode (10800/15)*/,
28753  0 /*offsetRemainder (10800%15)*/,
28754  0 /*deltaMinutes*/,
28755  1996 /*untilYear*/,
28756  3 /*untilMonth*/,
28757  31 /*untilDay*/,
28758  0 /*untilTimeCode (0/15)*/,
28759  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28760  },
28761  // 3:00 1:00 MSD 1996 Oct 27 3:00s
28762  {
28763  nullptr /*zonePolicy*/,
28764  "MSD" /*format*/,
28765  720 /*offsetCode (10800/15)*/,
28766  0 /*offsetRemainder (10800%15)*/,
28767  60 /*deltaMinutes*/,
28768  1996 /*untilYear*/,
28769  10 /*untilMonth*/,
28770  27 /*untilDay*/,
28771  720 /*untilTimeCode (10800/15)*/,
28772  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28773  },
28774  // 3:00 - MSK 1997 Mar lastSun 1:00u
28775  {
28776  nullptr /*zonePolicy*/,
28777  "MSK" /*format*/,
28778  720 /*offsetCode (10800/15)*/,
28779  0 /*offsetRemainder (10800%15)*/,
28780  0 /*deltaMinutes*/,
28781  1997 /*untilYear*/,
28782  3 /*untilMonth*/,
28783  30 /*untilDay*/,
28784  240 /*untilTimeCode (3600/15)*/,
28785  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28786  },
28787  // 2:00 EU EE%sT 2014 Mar 30 2:00
28788  {
28789  &kZonePolicyEU /*zonePolicy*/,
28790  "EE%T" /*format*/,
28791  480 /*offsetCode (7200/15)*/,
28792  0 /*offsetRemainder (7200%15)*/,
28793  0 /*deltaMinutes*/,
28794  2014 /*untilYear*/,
28795  3 /*untilMonth*/,
28796  30 /*untilDay*/,
28797  480 /*untilTimeCode (7200/15)*/,
28798  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28799  },
28800  // 4:00 - MSK 2014 Oct 26 2:00s
28801  {
28802  nullptr /*zonePolicy*/,
28803  "MSK" /*format*/,
28804  960 /*offsetCode (14400/15)*/,
28805  0 /*offsetRemainder (14400%15)*/,
28806  0 /*deltaMinutes*/,
28807  2014 /*untilYear*/,
28808  10 /*untilMonth*/,
28809  26 /*untilDay*/,
28810  480 /*untilTimeCode (7200/15)*/,
28811  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28812  },
28813  // 3:00 - MSK
28814  {
28815  nullptr /*zonePolicy*/,
28816  "MSK" /*format*/,
28817  720 /*offsetCode (10800/15)*/,
28818  0 /*offsetRemainder (10800%15)*/,
28819  0 /*deltaMinutes*/,
28820  32767 /*untilYear*/,
28821  1 /*untilMonth*/,
28822  1 /*untilDay*/,
28823  0 /*untilTimeCode (0/15)*/,
28824  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28825  },
28826 
28827 };
28828 
28829 static const char kZoneNameEurope_Simferopol[] ACE_TIME_PROGMEM = "\x0b" "Simferopol";
28830 
28831 const complete::ZoneInfo kZoneEurope_Simferopol ACE_TIME_PROGMEM = {
28832  kZoneNameEurope_Simferopol /*name*/,
28833  0xda9eb724 /*zoneId*/,
28834  &kZoneContext /*zoneContext*/,
28835  15 /*numEras*/,
28836  kZoneEraEurope_Simferopol /*eras*/,
28837  nullptr /*targetInfo*/,
28838 };
28839 
28840 //---------------------------------------------------------------------------
28841 // Zone name: Europe/Sofia
28842 // Eras: 10
28843 //---------------------------------------------------------------------------
28844 
28845 static const complete::ZoneEra kZoneEraEurope_Sofia[] ACE_TIME_PROGMEM = {
28846  // 1:33:16 - LMT 1880
28847  {
28848  nullptr /*zonePolicy*/,
28849  "LMT" /*format*/,
28850  373 /*offsetCode (5596/15)*/,
28851  1 /*offsetRemainder (5596%15)*/,
28852  0 /*deltaMinutes*/,
28853  1880 /*untilYear*/,
28854  1 /*untilMonth*/,
28855  1 /*untilDay*/,
28856  0 /*untilTimeCode (0/15)*/,
28857  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28858  },
28859  // 1:56:56 - IMT 1894 Nov 30
28860  {
28861  nullptr /*zonePolicy*/,
28862  "IMT" /*format*/,
28863  467 /*offsetCode (7016/15)*/,
28864  11 /*offsetRemainder (7016%15)*/,
28865  0 /*deltaMinutes*/,
28866  1894 /*untilYear*/,
28867  11 /*untilMonth*/,
28868  30 /*untilDay*/,
28869  0 /*untilTimeCode (0/15)*/,
28870  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28871  },
28872  // 2:00 - EET 1942 Nov 2 3:00
28873  {
28874  nullptr /*zonePolicy*/,
28875  "EET" /*format*/,
28876  480 /*offsetCode (7200/15)*/,
28877  0 /*offsetRemainder (7200%15)*/,
28878  0 /*deltaMinutes*/,
28879  1942 /*untilYear*/,
28880  11 /*untilMonth*/,
28881  2 /*untilDay*/,
28882  720 /*untilTimeCode (10800/15)*/,
28883  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28884  },
28885  // 1:00 C-Eur CE%sT 1945
28886  {
28887  &kZonePolicyC_Eur /*zonePolicy*/,
28888  "CE%T" /*format*/,
28889  240 /*offsetCode (3600/15)*/,
28890  0 /*offsetRemainder (3600%15)*/,
28891  0 /*deltaMinutes*/,
28892  1945 /*untilYear*/,
28893  1 /*untilMonth*/,
28894  1 /*untilDay*/,
28895  0 /*untilTimeCode (0/15)*/,
28896  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28897  },
28898  // 1:00 - CET 1945 Apr 2 3:00
28899  {
28900  nullptr /*zonePolicy*/,
28901  "CET" /*format*/,
28902  240 /*offsetCode (3600/15)*/,
28903  0 /*offsetRemainder (3600%15)*/,
28904  0 /*deltaMinutes*/,
28905  1945 /*untilYear*/,
28906  4 /*untilMonth*/,
28907  2 /*untilDay*/,
28908  720 /*untilTimeCode (10800/15)*/,
28909  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28910  },
28911  // 2:00 - EET 1979 Mar 31 23:00
28912  {
28913  nullptr /*zonePolicy*/,
28914  "EET" /*format*/,
28915  480 /*offsetCode (7200/15)*/,
28916  0 /*offsetRemainder (7200%15)*/,
28917  0 /*deltaMinutes*/,
28918  1979 /*untilYear*/,
28919  3 /*untilMonth*/,
28920  31 /*untilDay*/,
28921  5520 /*untilTimeCode (82800/15)*/,
28922  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28923  },
28924  // 2:00 Bulg EE%sT 1982 Sep 26 3:00
28925  {
28926  &kZonePolicyBulg /*zonePolicy*/,
28927  "EE%T" /*format*/,
28928  480 /*offsetCode (7200/15)*/,
28929  0 /*offsetRemainder (7200%15)*/,
28930  0 /*deltaMinutes*/,
28931  1982 /*untilYear*/,
28932  9 /*untilMonth*/,
28933  26 /*untilDay*/,
28934  720 /*untilTimeCode (10800/15)*/,
28935  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28936  },
28937  // 2:00 C-Eur EE%sT 1991
28938  {
28939  &kZonePolicyC_Eur /*zonePolicy*/,
28940  "EE%T" /*format*/,
28941  480 /*offsetCode (7200/15)*/,
28942  0 /*offsetRemainder (7200%15)*/,
28943  0 /*deltaMinutes*/,
28944  1991 /*untilYear*/,
28945  1 /*untilMonth*/,
28946  1 /*untilDay*/,
28947  0 /*untilTimeCode (0/15)*/,
28948  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28949  },
28950  // 2:00 E-Eur EE%sT 1997
28951  {
28952  &kZonePolicyE_Eur /*zonePolicy*/,
28953  "EE%T" /*format*/,
28954  480 /*offsetCode (7200/15)*/,
28955  0 /*offsetRemainder (7200%15)*/,
28956  0 /*deltaMinutes*/,
28957  1997 /*untilYear*/,
28958  1 /*untilMonth*/,
28959  1 /*untilDay*/,
28960  0 /*untilTimeCode (0/15)*/,
28961  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28962  },
28963  // 2:00 EU EE%sT
28964  {
28965  &kZonePolicyEU /*zonePolicy*/,
28966  "EE%T" /*format*/,
28967  480 /*offsetCode (7200/15)*/,
28968  0 /*offsetRemainder (7200%15)*/,
28969  0 /*deltaMinutes*/,
28970  32767 /*untilYear*/,
28971  1 /*untilMonth*/,
28972  1 /*untilDay*/,
28973  0 /*untilTimeCode (0/15)*/,
28974  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28975  },
28976 
28977 };
28978 
28979 static const char kZoneNameEurope_Sofia[] ACE_TIME_PROGMEM = "\x0b" "Sofia";
28980 
28981 const complete::ZoneInfo kZoneEurope_Sofia ACE_TIME_PROGMEM = {
28982  kZoneNameEurope_Sofia /*name*/,
28983  0xfb898656 /*zoneId*/,
28984  &kZoneContext /*zoneContext*/,
28985  10 /*numEras*/,
28986  kZoneEraEurope_Sofia /*eras*/,
28987  nullptr /*targetInfo*/,
28988 };
28989 
28990 //---------------------------------------------------------------------------
28991 // Zone name: Europe/Tallinn
28992 // Eras: 13
28993 //---------------------------------------------------------------------------
28994 
28995 static const complete::ZoneEra kZoneEraEurope_Tallinn[] ACE_TIME_PROGMEM = {
28996  // 1:39:00 - LMT 1880
28997  {
28998  nullptr /*zonePolicy*/,
28999  "LMT" /*format*/,
29000  396 /*offsetCode (5940/15)*/,
29001  0 /*offsetRemainder (5940%15)*/,
29002  0 /*deltaMinutes*/,
29003  1880 /*untilYear*/,
29004  1 /*untilMonth*/,
29005  1 /*untilDay*/,
29006  0 /*untilTimeCode (0/15)*/,
29007  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29008  },
29009  // 1:39:00 - TMT 1918 Feb
29010  {
29011  nullptr /*zonePolicy*/,
29012  "TMT" /*format*/,
29013  396 /*offsetCode (5940/15)*/,
29014  0 /*offsetRemainder (5940%15)*/,
29015  0 /*deltaMinutes*/,
29016  1918 /*untilYear*/,
29017  2 /*untilMonth*/,
29018  1 /*untilDay*/,
29019  0 /*untilTimeCode (0/15)*/,
29020  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29021  },
29022  // 1:00 C-Eur CE%sT 1919 Jul
29023  {
29024  &kZonePolicyC_Eur /*zonePolicy*/,
29025  "CE%T" /*format*/,
29026  240 /*offsetCode (3600/15)*/,
29027  0 /*offsetRemainder (3600%15)*/,
29028  0 /*deltaMinutes*/,
29029  1919 /*untilYear*/,
29030  7 /*untilMonth*/,
29031  1 /*untilDay*/,
29032  0 /*untilTimeCode (0/15)*/,
29033  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29034  },
29035  // 1:39:00 - TMT 1921 May
29036  {
29037  nullptr /*zonePolicy*/,
29038  "TMT" /*format*/,
29039  396 /*offsetCode (5940/15)*/,
29040  0 /*offsetRemainder (5940%15)*/,
29041  0 /*deltaMinutes*/,
29042  1921 /*untilYear*/,
29043  5 /*untilMonth*/,
29044  1 /*untilDay*/,
29045  0 /*untilTimeCode (0/15)*/,
29046  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29047  },
29048  // 2:00 - EET 1940 Aug 6
29049  {
29050  nullptr /*zonePolicy*/,
29051  "EET" /*format*/,
29052  480 /*offsetCode (7200/15)*/,
29053  0 /*offsetRemainder (7200%15)*/,
29054  0 /*deltaMinutes*/,
29055  1940 /*untilYear*/,
29056  8 /*untilMonth*/,
29057  6 /*untilDay*/,
29058  0 /*untilTimeCode (0/15)*/,
29059  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29060  },
29061  // 3:00 - MSK 1941 Sep 15
29062  {
29063  nullptr /*zonePolicy*/,
29064  "MSK" /*format*/,
29065  720 /*offsetCode (10800/15)*/,
29066  0 /*offsetRemainder (10800%15)*/,
29067  0 /*deltaMinutes*/,
29068  1941 /*untilYear*/,
29069  9 /*untilMonth*/,
29070  15 /*untilDay*/,
29071  0 /*untilTimeCode (0/15)*/,
29072  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29073  },
29074  // 1:00 C-Eur CE%sT 1944 Sep 22
29075  {
29076  &kZonePolicyC_Eur /*zonePolicy*/,
29077  "CE%T" /*format*/,
29078  240 /*offsetCode (3600/15)*/,
29079  0 /*offsetRemainder (3600%15)*/,
29080  0 /*deltaMinutes*/,
29081  1944 /*untilYear*/,
29082  9 /*untilMonth*/,
29083  22 /*untilDay*/,
29084  0 /*untilTimeCode (0/15)*/,
29085  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29086  },
29087  // 3:00 Russia MSK/MSD 1989 Mar 26 2:00s
29088  {
29089  &kZonePolicyRussia /*zonePolicy*/,
29090  "MSK/MSD" /*format*/,
29091  720 /*offsetCode (10800/15)*/,
29092  0 /*offsetRemainder (10800%15)*/,
29093  0 /*deltaMinutes*/,
29094  1989 /*untilYear*/,
29095  3 /*untilMonth*/,
29096  26 /*untilDay*/,
29097  480 /*untilTimeCode (7200/15)*/,
29098  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29099  },
29100  // 2:00 1:00 EEST 1989 Sep 24 2:00s
29101  {
29102  nullptr /*zonePolicy*/,
29103  "EEST" /*format*/,
29104  480 /*offsetCode (7200/15)*/,
29105  0 /*offsetRemainder (7200%15)*/,
29106  60 /*deltaMinutes*/,
29107  1989 /*untilYear*/,
29108  9 /*untilMonth*/,
29109  24 /*untilDay*/,
29110  480 /*untilTimeCode (7200/15)*/,
29111  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29112  },
29113  // 2:00 C-Eur EE%sT 1998 Sep 22
29114  {
29115  &kZonePolicyC_Eur /*zonePolicy*/,
29116  "EE%T" /*format*/,
29117  480 /*offsetCode (7200/15)*/,
29118  0 /*offsetRemainder (7200%15)*/,
29119  0 /*deltaMinutes*/,
29120  1998 /*untilYear*/,
29121  9 /*untilMonth*/,
29122  22 /*untilDay*/,
29123  0 /*untilTimeCode (0/15)*/,
29124  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29125  },
29126  // 2:00 EU EE%sT 1999 Oct 31 4:00
29127  {
29128  &kZonePolicyEU /*zonePolicy*/,
29129  "EE%T" /*format*/,
29130  480 /*offsetCode (7200/15)*/,
29131  0 /*offsetRemainder (7200%15)*/,
29132  0 /*deltaMinutes*/,
29133  1999 /*untilYear*/,
29134  10 /*untilMonth*/,
29135  31 /*untilDay*/,
29136  960 /*untilTimeCode (14400/15)*/,
29137  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29138  },
29139  // 2:00 - EET 2002 Feb 21
29140  {
29141  nullptr /*zonePolicy*/,
29142  "EET" /*format*/,
29143  480 /*offsetCode (7200/15)*/,
29144  0 /*offsetRemainder (7200%15)*/,
29145  0 /*deltaMinutes*/,
29146  2002 /*untilYear*/,
29147  2 /*untilMonth*/,
29148  21 /*untilDay*/,
29149  0 /*untilTimeCode (0/15)*/,
29150  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29151  },
29152  // 2:00 EU EE%sT
29153  {
29154  &kZonePolicyEU /*zonePolicy*/,
29155  "EE%T" /*format*/,
29156  480 /*offsetCode (7200/15)*/,
29157  0 /*offsetRemainder (7200%15)*/,
29158  0 /*deltaMinutes*/,
29159  32767 /*untilYear*/,
29160  1 /*untilMonth*/,
29161  1 /*untilDay*/,
29162  0 /*untilTimeCode (0/15)*/,
29163  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29164  },
29165 
29166 };
29167 
29168 static const char kZoneNameEurope_Tallinn[] ACE_TIME_PROGMEM = "\x0b" "Tallinn";
29169 
29170 const complete::ZoneInfo kZoneEurope_Tallinn ACE_TIME_PROGMEM = {
29171  kZoneNameEurope_Tallinn /*name*/,
29172  0x30c4e096 /*zoneId*/,
29173  &kZoneContext /*zoneContext*/,
29174  13 /*numEras*/,
29175  kZoneEraEurope_Tallinn /*eras*/,
29176  nullptr /*targetInfo*/,
29177 };
29178 
29179 //---------------------------------------------------------------------------
29180 // Zone name: Europe/Tirane
29181 // Eras: 4
29182 //---------------------------------------------------------------------------
29183 
29184 static const complete::ZoneEra kZoneEraEurope_Tirane[] ACE_TIME_PROGMEM = {
29185  // 1:19:20 - LMT 1914
29186  {
29187  nullptr /*zonePolicy*/,
29188  "LMT" /*format*/,
29189  317 /*offsetCode (4760/15)*/,
29190  5 /*offsetRemainder (4760%15)*/,
29191  0 /*deltaMinutes*/,
29192  1914 /*untilYear*/,
29193  1 /*untilMonth*/,
29194  1 /*untilDay*/,
29195  0 /*untilTimeCode (0/15)*/,
29196  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29197  },
29198  // 1:00 - CET 1940 Jun 16
29199  {
29200  nullptr /*zonePolicy*/,
29201  "CET" /*format*/,
29202  240 /*offsetCode (3600/15)*/,
29203  0 /*offsetRemainder (3600%15)*/,
29204  0 /*deltaMinutes*/,
29205  1940 /*untilYear*/,
29206  6 /*untilMonth*/,
29207  16 /*untilDay*/,
29208  0 /*untilTimeCode (0/15)*/,
29209  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29210  },
29211  // 1:00 Albania CE%sT 1984 Jul
29212  {
29213  &kZonePolicyAlbania /*zonePolicy*/,
29214  "CE%T" /*format*/,
29215  240 /*offsetCode (3600/15)*/,
29216  0 /*offsetRemainder (3600%15)*/,
29217  0 /*deltaMinutes*/,
29218  1984 /*untilYear*/,
29219  7 /*untilMonth*/,
29220  1 /*untilDay*/,
29221  0 /*untilTimeCode (0/15)*/,
29222  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29223  },
29224  // 1:00 EU CE%sT
29225  {
29226  &kZonePolicyEU /*zonePolicy*/,
29227  "CE%T" /*format*/,
29228  240 /*offsetCode (3600/15)*/,
29229  0 /*offsetRemainder (3600%15)*/,
29230  0 /*deltaMinutes*/,
29231  32767 /*untilYear*/,
29232  1 /*untilMonth*/,
29233  1 /*untilDay*/,
29234  0 /*untilTimeCode (0/15)*/,
29235  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29236  },
29237 
29238 };
29239 
29240 static const char kZoneNameEurope_Tirane[] ACE_TIME_PROGMEM = "\x0b" "Tirane";
29241 
29242 const complete::ZoneInfo kZoneEurope_Tirane ACE_TIME_PROGMEM = {
29243  kZoneNameEurope_Tirane /*name*/,
29244  0x6ea95b47 /*zoneId*/,
29245  &kZoneContext /*zoneContext*/,
29246  4 /*numEras*/,
29247  kZoneEraEurope_Tirane /*eras*/,
29248  nullptr /*targetInfo*/,
29249 };
29250 
29251 //---------------------------------------------------------------------------
29252 // Zone name: Europe/Ulyanovsk
29253 // Eras: 9
29254 //---------------------------------------------------------------------------
29255 
29256 static const complete::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = {
29257  // 3:13:36 - LMT 1919 Jul 1 0:00u
29258  {
29259  nullptr /*zonePolicy*/,
29260  "LMT" /*format*/,
29261  774 /*offsetCode (11616/15)*/,
29262  6 /*offsetRemainder (11616%15)*/,
29263  0 /*deltaMinutes*/,
29264  1919 /*untilYear*/,
29265  7 /*untilMonth*/,
29266  1 /*untilDay*/,
29267  0 /*untilTimeCode (0/15)*/,
29268  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
29269  },
29270  // 3:00 - +03 1930 Jun 21
29271  {
29272  nullptr /*zonePolicy*/,
29273  "+03" /*format*/,
29274  720 /*offsetCode (10800/15)*/,
29275  0 /*offsetRemainder (10800%15)*/,
29276  0 /*deltaMinutes*/,
29277  1930 /*untilYear*/,
29278  6 /*untilMonth*/,
29279  21 /*untilDay*/,
29280  0 /*untilTimeCode (0/15)*/,
29281  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29282  },
29283  // 4:00 Russia +04/+05 1989 Mar 26 2:00s
29284  {
29285  &kZonePolicyRussia /*zonePolicy*/,
29286  "+04/+05" /*format*/,
29287  960 /*offsetCode (14400/15)*/,
29288  0 /*offsetRemainder (14400%15)*/,
29289  0 /*deltaMinutes*/,
29290  1989 /*untilYear*/,
29291  3 /*untilMonth*/,
29292  26 /*untilDay*/,
29293  480 /*untilTimeCode (7200/15)*/,
29294  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29295  },
29296  // 3:00 Russia +03/+04 1991 Mar 31 2:00s
29297  {
29298  &kZonePolicyRussia /*zonePolicy*/,
29299  "+03/+04" /*format*/,
29300  720 /*offsetCode (10800/15)*/,
29301  0 /*offsetRemainder (10800%15)*/,
29302  0 /*deltaMinutes*/,
29303  1991 /*untilYear*/,
29304  3 /*untilMonth*/,
29305  31 /*untilDay*/,
29306  480 /*untilTimeCode (7200/15)*/,
29307  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29308  },
29309  // 2:00 Russia +02/+03 1992 Jan 19 2:00s
29310  {
29311  &kZonePolicyRussia /*zonePolicy*/,
29312  "+02/+03" /*format*/,
29313  480 /*offsetCode (7200/15)*/,
29314  0 /*offsetRemainder (7200%15)*/,
29315  0 /*deltaMinutes*/,
29316  1992 /*untilYear*/,
29317  1 /*untilMonth*/,
29318  19 /*untilDay*/,
29319  480 /*untilTimeCode (7200/15)*/,
29320  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29321  },
29322  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
29323  {
29324  &kZonePolicyRussia /*zonePolicy*/,
29325  "+03/+04" /*format*/,
29326  720 /*offsetCode (10800/15)*/,
29327  0 /*offsetRemainder (10800%15)*/,
29328  0 /*deltaMinutes*/,
29329  2011 /*untilYear*/,
29330  3 /*untilMonth*/,
29331  27 /*untilDay*/,
29332  480 /*untilTimeCode (7200/15)*/,
29333  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29334  },
29335  // 4:00 - +04 2014 Oct 26 2:00s
29336  {
29337  nullptr /*zonePolicy*/,
29338  "+04" /*format*/,
29339  960 /*offsetCode (14400/15)*/,
29340  0 /*offsetRemainder (14400%15)*/,
29341  0 /*deltaMinutes*/,
29342  2014 /*untilYear*/,
29343  10 /*untilMonth*/,
29344  26 /*untilDay*/,
29345  480 /*untilTimeCode (7200/15)*/,
29346  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29347  },
29348  // 3:00 - +03 2016 Mar 27 2:00s
29349  {
29350  nullptr /*zonePolicy*/,
29351  "+03" /*format*/,
29352  720 /*offsetCode (10800/15)*/,
29353  0 /*offsetRemainder (10800%15)*/,
29354  0 /*deltaMinutes*/,
29355  2016 /*untilYear*/,
29356  3 /*untilMonth*/,
29357  27 /*untilDay*/,
29358  480 /*untilTimeCode (7200/15)*/,
29359  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29360  },
29361  // 4:00 - +04
29362  {
29363  nullptr /*zonePolicy*/,
29364  "+04" /*format*/,
29365  960 /*offsetCode (14400/15)*/,
29366  0 /*offsetRemainder (14400%15)*/,
29367  0 /*deltaMinutes*/,
29368  32767 /*untilYear*/,
29369  1 /*untilMonth*/,
29370  1 /*untilDay*/,
29371  0 /*untilTimeCode (0/15)*/,
29372  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29373  },
29374 
29375 };
29376 
29377 static const char kZoneNameEurope_Ulyanovsk[] ACE_TIME_PROGMEM = "\x0b" "Ulyanovsk";
29378 
29379 const complete::ZoneInfo kZoneEurope_Ulyanovsk ACE_TIME_PROGMEM = {
29380  kZoneNameEurope_Ulyanovsk /*name*/,
29381  0xe03783d0 /*zoneId*/,
29382  &kZoneContext /*zoneContext*/,
29383  9 /*numEras*/,
29384  kZoneEraEurope_Ulyanovsk /*eras*/,
29385  nullptr /*targetInfo*/,
29386 };
29387 
29388 //---------------------------------------------------------------------------
29389 // Zone name: Europe/Vienna
29390 // Eras: 8
29391 //---------------------------------------------------------------------------
29392 
29393 static const complete::ZoneEra kZoneEraEurope_Vienna[] ACE_TIME_PROGMEM = {
29394  // 1:05:21 - LMT 1893 Apr
29395  {
29396  nullptr /*zonePolicy*/,
29397  "LMT" /*format*/,
29398  261 /*offsetCode (3921/15)*/,
29399  6 /*offsetRemainder (3921%15)*/,
29400  0 /*deltaMinutes*/,
29401  1893 /*untilYear*/,
29402  4 /*untilMonth*/,
29403  1 /*untilDay*/,
29404  0 /*untilTimeCode (0/15)*/,
29405  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29406  },
29407  // 1:00 C-Eur CE%sT 1920
29408  {
29409  &kZonePolicyC_Eur /*zonePolicy*/,
29410  "CE%T" /*format*/,
29411  240 /*offsetCode (3600/15)*/,
29412  0 /*offsetRemainder (3600%15)*/,
29413  0 /*deltaMinutes*/,
29414  1920 /*untilYear*/,
29415  1 /*untilMonth*/,
29416  1 /*untilDay*/,
29417  0 /*untilTimeCode (0/15)*/,
29418  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29419  },
29420  // 1:00 Austria CE%sT 1940 Apr 1 2:00s
29421  {
29422  &kZonePolicyAustria /*zonePolicy*/,
29423  "CE%T" /*format*/,
29424  240 /*offsetCode (3600/15)*/,
29425  0 /*offsetRemainder (3600%15)*/,
29426  0 /*deltaMinutes*/,
29427  1940 /*untilYear*/,
29428  4 /*untilMonth*/,
29429  1 /*untilDay*/,
29430  480 /*untilTimeCode (7200/15)*/,
29431  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29432  },
29433  // 1:00 C-Eur CE%sT 1945 Apr 2 2:00s
29434  {
29435  &kZonePolicyC_Eur /*zonePolicy*/,
29436  "CE%T" /*format*/,
29437  240 /*offsetCode (3600/15)*/,
29438  0 /*offsetRemainder (3600%15)*/,
29439  0 /*deltaMinutes*/,
29440  1945 /*untilYear*/,
29441  4 /*untilMonth*/,
29442  2 /*untilDay*/,
29443  480 /*untilTimeCode (7200/15)*/,
29444  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29445  },
29446  // 1:00 1:00 CEST 1945 Apr 12 2:00s
29447  {
29448  nullptr /*zonePolicy*/,
29449  "CEST" /*format*/,
29450  240 /*offsetCode (3600/15)*/,
29451  0 /*offsetRemainder (3600%15)*/,
29452  60 /*deltaMinutes*/,
29453  1945 /*untilYear*/,
29454  4 /*untilMonth*/,
29455  12 /*untilDay*/,
29456  480 /*untilTimeCode (7200/15)*/,
29457  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29458  },
29459  // 1:00 - CET 1946
29460  {
29461  nullptr /*zonePolicy*/,
29462  "CET" /*format*/,
29463  240 /*offsetCode (3600/15)*/,
29464  0 /*offsetRemainder (3600%15)*/,
29465  0 /*deltaMinutes*/,
29466  1946 /*untilYear*/,
29467  1 /*untilMonth*/,
29468  1 /*untilDay*/,
29469  0 /*untilTimeCode (0/15)*/,
29470  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29471  },
29472  // 1:00 Austria CE%sT 1981
29473  {
29474  &kZonePolicyAustria /*zonePolicy*/,
29475  "CE%T" /*format*/,
29476  240 /*offsetCode (3600/15)*/,
29477  0 /*offsetRemainder (3600%15)*/,
29478  0 /*deltaMinutes*/,
29479  1981 /*untilYear*/,
29480  1 /*untilMonth*/,
29481  1 /*untilDay*/,
29482  0 /*untilTimeCode (0/15)*/,
29483  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29484  },
29485  // 1:00 EU CE%sT
29486  {
29487  &kZonePolicyEU /*zonePolicy*/,
29488  "CE%T" /*format*/,
29489  240 /*offsetCode (3600/15)*/,
29490  0 /*offsetRemainder (3600%15)*/,
29491  0 /*deltaMinutes*/,
29492  32767 /*untilYear*/,
29493  1 /*untilMonth*/,
29494  1 /*untilDay*/,
29495  0 /*untilTimeCode (0/15)*/,
29496  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29497  },
29498 
29499 };
29500 
29501 static const char kZoneNameEurope_Vienna[] ACE_TIME_PROGMEM = "\x0b" "Vienna";
29502 
29503 const complete::ZoneInfo kZoneEurope_Vienna ACE_TIME_PROGMEM = {
29504  kZoneNameEurope_Vienna /*name*/,
29505  0x734cc2e5 /*zoneId*/,
29506  &kZoneContext /*zoneContext*/,
29507  8 /*numEras*/,
29508  kZoneEraEurope_Vienna /*eras*/,
29509  nullptr /*targetInfo*/,
29510 };
29511 
29512 //---------------------------------------------------------------------------
29513 // Zone name: Europe/Vilnius
29514 // Eras: 15
29515 //---------------------------------------------------------------------------
29516 
29517 static const complete::ZoneEra kZoneEraEurope_Vilnius[] ACE_TIME_PROGMEM = {
29518  // 1:41:16 - LMT 1880
29519  {
29520  nullptr /*zonePolicy*/,
29521  "LMT" /*format*/,
29522  405 /*offsetCode (6076/15)*/,
29523  1 /*offsetRemainder (6076%15)*/,
29524  0 /*deltaMinutes*/,
29525  1880 /*untilYear*/,
29526  1 /*untilMonth*/,
29527  1 /*untilDay*/,
29528  0 /*untilTimeCode (0/15)*/,
29529  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29530  },
29531  // 1:24:00 - WMT 1917
29532  {
29533  nullptr /*zonePolicy*/,
29534  "WMT" /*format*/,
29535  336 /*offsetCode (5040/15)*/,
29536  0 /*offsetRemainder (5040%15)*/,
29537  0 /*deltaMinutes*/,
29538  1917 /*untilYear*/,
29539  1 /*untilMonth*/,
29540  1 /*untilDay*/,
29541  0 /*untilTimeCode (0/15)*/,
29542  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29543  },
29544  // 1:35:36 - KMT 1919 Oct 10
29545  {
29546  nullptr /*zonePolicy*/,
29547  "KMT" /*format*/,
29548  382 /*offsetCode (5736/15)*/,
29549  6 /*offsetRemainder (5736%15)*/,
29550  0 /*deltaMinutes*/,
29551  1919 /*untilYear*/,
29552  10 /*untilMonth*/,
29553  10 /*untilDay*/,
29554  0 /*untilTimeCode (0/15)*/,
29555  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29556  },
29557  // 1:00 - CET 1920 Jul 12
29558  {
29559  nullptr /*zonePolicy*/,
29560  "CET" /*format*/,
29561  240 /*offsetCode (3600/15)*/,
29562  0 /*offsetRemainder (3600%15)*/,
29563  0 /*deltaMinutes*/,
29564  1920 /*untilYear*/,
29565  7 /*untilMonth*/,
29566  12 /*untilDay*/,
29567  0 /*untilTimeCode (0/15)*/,
29568  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29569  },
29570  // 2:00 - EET 1920 Oct 9
29571  {
29572  nullptr /*zonePolicy*/,
29573  "EET" /*format*/,
29574  480 /*offsetCode (7200/15)*/,
29575  0 /*offsetRemainder (7200%15)*/,
29576  0 /*deltaMinutes*/,
29577  1920 /*untilYear*/,
29578  10 /*untilMonth*/,
29579  9 /*untilDay*/,
29580  0 /*untilTimeCode (0/15)*/,
29581  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29582  },
29583  // 1:00 - CET 1940 Aug 3
29584  {
29585  nullptr /*zonePolicy*/,
29586  "CET" /*format*/,
29587  240 /*offsetCode (3600/15)*/,
29588  0 /*offsetRemainder (3600%15)*/,
29589  0 /*deltaMinutes*/,
29590  1940 /*untilYear*/,
29591  8 /*untilMonth*/,
29592  3 /*untilDay*/,
29593  0 /*untilTimeCode (0/15)*/,
29594  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29595  },
29596  // 3:00 - MSK 1941 Jun 24
29597  {
29598  nullptr /*zonePolicy*/,
29599  "MSK" /*format*/,
29600  720 /*offsetCode (10800/15)*/,
29601  0 /*offsetRemainder (10800%15)*/,
29602  0 /*deltaMinutes*/,
29603  1941 /*untilYear*/,
29604  6 /*untilMonth*/,
29605  24 /*untilDay*/,
29606  0 /*untilTimeCode (0/15)*/,
29607  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29608  },
29609  // 1:00 C-Eur CE%sT 1944 Aug
29610  {
29611  &kZonePolicyC_Eur /*zonePolicy*/,
29612  "CE%T" /*format*/,
29613  240 /*offsetCode (3600/15)*/,
29614  0 /*offsetRemainder (3600%15)*/,
29615  0 /*deltaMinutes*/,
29616  1944 /*untilYear*/,
29617  8 /*untilMonth*/,
29618  1 /*untilDay*/,
29619  0 /*untilTimeCode (0/15)*/,
29620  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29621  },
29622  // 3:00 Russia MSK/MSD 1989 Mar 26 2:00s
29623  {
29624  &kZonePolicyRussia /*zonePolicy*/,
29625  "MSK/MSD" /*format*/,
29626  720 /*offsetCode (10800/15)*/,
29627  0 /*offsetRemainder (10800%15)*/,
29628  0 /*deltaMinutes*/,
29629  1989 /*untilYear*/,
29630  3 /*untilMonth*/,
29631  26 /*untilDay*/,
29632  480 /*untilTimeCode (7200/15)*/,
29633  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29634  },
29635  // 2:00 Russia EE%sT 1991 Sep 29 2:00s
29636  {
29637  &kZonePolicyRussia /*zonePolicy*/,
29638  "EE%T" /*format*/,
29639  480 /*offsetCode (7200/15)*/,
29640  0 /*offsetRemainder (7200%15)*/,
29641  0 /*deltaMinutes*/,
29642  1991 /*untilYear*/,
29643  9 /*untilMonth*/,
29644  29 /*untilDay*/,
29645  480 /*untilTimeCode (7200/15)*/,
29646  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29647  },
29648  // 2:00 C-Eur EE%sT 1998
29649  {
29650  &kZonePolicyC_Eur /*zonePolicy*/,
29651  "EE%T" /*format*/,
29652  480 /*offsetCode (7200/15)*/,
29653  0 /*offsetRemainder (7200%15)*/,
29654  0 /*deltaMinutes*/,
29655  1998 /*untilYear*/,
29656  1 /*untilMonth*/,
29657  1 /*untilDay*/,
29658  0 /*untilTimeCode (0/15)*/,
29659  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29660  },
29661  // 2:00 - EET 1998 Mar 29 1:00u
29662  {
29663  nullptr /*zonePolicy*/,
29664  "EET" /*format*/,
29665  480 /*offsetCode (7200/15)*/,
29666  0 /*offsetRemainder (7200%15)*/,
29667  0 /*deltaMinutes*/,
29668  1998 /*untilYear*/,
29669  3 /*untilMonth*/,
29670  29 /*untilDay*/,
29671  240 /*untilTimeCode (3600/15)*/,
29672  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
29673  },
29674  // 1:00 EU CE%sT 1999 Oct 31 1:00u
29675  {
29676  &kZonePolicyEU /*zonePolicy*/,
29677  "CE%T" /*format*/,
29678  240 /*offsetCode (3600/15)*/,
29679  0 /*offsetRemainder (3600%15)*/,
29680  0 /*deltaMinutes*/,
29681  1999 /*untilYear*/,
29682  10 /*untilMonth*/,
29683  31 /*untilDay*/,
29684  240 /*untilTimeCode (3600/15)*/,
29685  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
29686  },
29687  // 2:00 - EET 2003 Jan 1
29688  {
29689  nullptr /*zonePolicy*/,
29690  "EET" /*format*/,
29691  480 /*offsetCode (7200/15)*/,
29692  0 /*offsetRemainder (7200%15)*/,
29693  0 /*deltaMinutes*/,
29694  2003 /*untilYear*/,
29695  1 /*untilMonth*/,
29696  1 /*untilDay*/,
29697  0 /*untilTimeCode (0/15)*/,
29698  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29699  },
29700  // 2:00 EU EE%sT
29701  {
29702  &kZonePolicyEU /*zonePolicy*/,
29703  "EE%T" /*format*/,
29704  480 /*offsetCode (7200/15)*/,
29705  0 /*offsetRemainder (7200%15)*/,
29706  0 /*deltaMinutes*/,
29707  32767 /*untilYear*/,
29708  1 /*untilMonth*/,
29709  1 /*untilDay*/,
29710  0 /*untilTimeCode (0/15)*/,
29711  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29712  },
29713 
29714 };
29715 
29716 static const char kZoneNameEurope_Vilnius[] ACE_TIME_PROGMEM = "\x0b" "Vilnius";
29717 
29718 const complete::ZoneInfo kZoneEurope_Vilnius ACE_TIME_PROGMEM = {
29719  kZoneNameEurope_Vilnius /*name*/,
29720  0xdd63b8ce /*zoneId*/,
29721  &kZoneContext /*zoneContext*/,
29722  15 /*numEras*/,
29723  kZoneEraEurope_Vilnius /*eras*/,
29724  nullptr /*targetInfo*/,
29725 };
29726 
29727 //---------------------------------------------------------------------------
29728 // Zone name: Europe/Volgograd
29729 // Eras: 11
29730 //---------------------------------------------------------------------------
29731 
29732 static const complete::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = {
29733  // 2:57:40 - LMT 1920 Jan 3
29734  {
29735  nullptr /*zonePolicy*/,
29736  "LMT" /*format*/,
29737  710 /*offsetCode (10660/15)*/,
29738  10 /*offsetRemainder (10660%15)*/,
29739  0 /*deltaMinutes*/,
29740  1920 /*untilYear*/,
29741  1 /*untilMonth*/,
29742  3 /*untilDay*/,
29743  0 /*untilTimeCode (0/15)*/,
29744  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29745  },
29746  // 3:00 - +03 1930 Jun 21
29747  {
29748  nullptr /*zonePolicy*/,
29749  "+03" /*format*/,
29750  720 /*offsetCode (10800/15)*/,
29751  0 /*offsetRemainder (10800%15)*/,
29752  0 /*deltaMinutes*/,
29753  1930 /*untilYear*/,
29754  6 /*untilMonth*/,
29755  21 /*untilDay*/,
29756  0 /*untilTimeCode (0/15)*/,
29757  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29758  },
29759  // 4:00 - +04 1961 Nov 11
29760  {
29761  nullptr /*zonePolicy*/,
29762  "+04" /*format*/,
29763  960 /*offsetCode (14400/15)*/,
29764  0 /*offsetRemainder (14400%15)*/,
29765  0 /*deltaMinutes*/,
29766  1961 /*untilYear*/,
29767  11 /*untilMonth*/,
29768  11 /*untilDay*/,
29769  0 /*untilTimeCode (0/15)*/,
29770  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29771  },
29772  // 4:00 Russia +04/+05 1988 Mar 27 2:00s
29773  {
29774  &kZonePolicyRussia /*zonePolicy*/,
29775  "+04/+05" /*format*/,
29776  960 /*offsetCode (14400/15)*/,
29777  0 /*offsetRemainder (14400%15)*/,
29778  0 /*deltaMinutes*/,
29779  1988 /*untilYear*/,
29780  3 /*untilMonth*/,
29781  27 /*untilDay*/,
29782  480 /*untilTimeCode (7200/15)*/,
29783  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29784  },
29785  // 3:00 Russia MSK/MSD 1991 Mar 31 2:00s
29786  {
29787  &kZonePolicyRussia /*zonePolicy*/,
29788  "MSK/MSD" /*format*/,
29789  720 /*offsetCode (10800/15)*/,
29790  0 /*offsetRemainder (10800%15)*/,
29791  0 /*deltaMinutes*/,
29792  1991 /*untilYear*/,
29793  3 /*untilMonth*/,
29794  31 /*untilDay*/,
29795  480 /*untilTimeCode (7200/15)*/,
29796  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29797  },
29798  // 4:00 - +04 1992 Mar 29 2:00s
29799  {
29800  nullptr /*zonePolicy*/,
29801  "+04" /*format*/,
29802  960 /*offsetCode (14400/15)*/,
29803  0 /*offsetRemainder (14400%15)*/,
29804  0 /*deltaMinutes*/,
29805  1992 /*untilYear*/,
29806  3 /*untilMonth*/,
29807  29 /*untilDay*/,
29808  480 /*untilTimeCode (7200/15)*/,
29809  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29810  },
29811  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
29812  {
29813  &kZonePolicyRussia /*zonePolicy*/,
29814  "MSK/MSD" /*format*/,
29815  720 /*offsetCode (10800/15)*/,
29816  0 /*offsetRemainder (10800%15)*/,
29817  0 /*deltaMinutes*/,
29818  2011 /*untilYear*/,
29819  3 /*untilMonth*/,
29820  27 /*untilDay*/,
29821  480 /*untilTimeCode (7200/15)*/,
29822  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29823  },
29824  // 4:00 - MSK 2014 Oct 26 2:00s
29825  {
29826  nullptr /*zonePolicy*/,
29827  "MSK" /*format*/,
29828  960 /*offsetCode (14400/15)*/,
29829  0 /*offsetRemainder (14400%15)*/,
29830  0 /*deltaMinutes*/,
29831  2014 /*untilYear*/,
29832  10 /*untilMonth*/,
29833  26 /*untilDay*/,
29834  480 /*untilTimeCode (7200/15)*/,
29835  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29836  },
29837  // 3:00 - MSK 2018 Oct 28 2:00s
29838  {
29839  nullptr /*zonePolicy*/,
29840  "MSK" /*format*/,
29841  720 /*offsetCode (10800/15)*/,
29842  0 /*offsetRemainder (10800%15)*/,
29843  0 /*deltaMinutes*/,
29844  2018 /*untilYear*/,
29845  10 /*untilMonth*/,
29846  28 /*untilDay*/,
29847  480 /*untilTimeCode (7200/15)*/,
29848  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29849  },
29850  // 4:00 - +04 2020 Dec 27 2:00s
29851  {
29852  nullptr /*zonePolicy*/,
29853  "+04" /*format*/,
29854  960 /*offsetCode (14400/15)*/,
29855  0 /*offsetRemainder (14400%15)*/,
29856  0 /*deltaMinutes*/,
29857  2020 /*untilYear*/,
29858  12 /*untilMonth*/,
29859  27 /*untilDay*/,
29860  480 /*untilTimeCode (7200/15)*/,
29861  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29862  },
29863  // 3:00 - MSK
29864  {
29865  nullptr /*zonePolicy*/,
29866  "MSK" /*format*/,
29867  720 /*offsetCode (10800/15)*/,
29868  0 /*offsetRemainder (10800%15)*/,
29869  0 /*deltaMinutes*/,
29870  32767 /*untilYear*/,
29871  1 /*untilMonth*/,
29872  1 /*untilDay*/,
29873  0 /*untilTimeCode (0/15)*/,
29874  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29875  },
29876 
29877 };
29878 
29879 static const char kZoneNameEurope_Volgograd[] ACE_TIME_PROGMEM = "\x0b" "Volgograd";
29880 
29881 const complete::ZoneInfo kZoneEurope_Volgograd ACE_TIME_PROGMEM = {
29882  kZoneNameEurope_Volgograd /*name*/,
29883  0x3ed0f389 /*zoneId*/,
29884  &kZoneContext /*zoneContext*/,
29885  11 /*numEras*/,
29886  kZoneEraEurope_Volgograd /*eras*/,
29887  nullptr /*targetInfo*/,
29888 };
29889 
29890 //---------------------------------------------------------------------------
29891 // Zone name: Europe/Warsaw
29892 // Eras: 9
29893 //---------------------------------------------------------------------------
29894 
29895 static const complete::ZoneEra kZoneEraEurope_Warsaw[] ACE_TIME_PROGMEM = {
29896  // 1:24:00 - LMT 1880
29897  {
29898  nullptr /*zonePolicy*/,
29899  "LMT" /*format*/,
29900  336 /*offsetCode (5040/15)*/,
29901  0 /*offsetRemainder (5040%15)*/,
29902  0 /*deltaMinutes*/,
29903  1880 /*untilYear*/,
29904  1 /*untilMonth*/,
29905  1 /*untilDay*/,
29906  0 /*untilTimeCode (0/15)*/,
29907  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29908  },
29909  // 1:24:00 - WMT 1915 Aug 5
29910  {
29911  nullptr /*zonePolicy*/,
29912  "WMT" /*format*/,
29913  336 /*offsetCode (5040/15)*/,
29914  0 /*offsetRemainder (5040%15)*/,
29915  0 /*deltaMinutes*/,
29916  1915 /*untilYear*/,
29917  8 /*untilMonth*/,
29918  5 /*untilDay*/,
29919  0 /*untilTimeCode (0/15)*/,
29920  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29921  },
29922  // 1:00 C-Eur CE%sT 1918 Sep 16 3:00
29923  {
29924  &kZonePolicyC_Eur /*zonePolicy*/,
29925  "CE%T" /*format*/,
29926  240 /*offsetCode (3600/15)*/,
29927  0 /*offsetRemainder (3600%15)*/,
29928  0 /*deltaMinutes*/,
29929  1918 /*untilYear*/,
29930  9 /*untilMonth*/,
29931  16 /*untilDay*/,
29932  720 /*untilTimeCode (10800/15)*/,
29933  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29934  },
29935  // 2:00 Poland EE%sT 1922 Jun
29936  {
29937  &kZonePolicyPoland /*zonePolicy*/,
29938  "EE%T" /*format*/,
29939  480 /*offsetCode (7200/15)*/,
29940  0 /*offsetRemainder (7200%15)*/,
29941  0 /*deltaMinutes*/,
29942  1922 /*untilYear*/,
29943  6 /*untilMonth*/,
29944  1 /*untilDay*/,
29945  0 /*untilTimeCode (0/15)*/,
29946  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29947  },
29948  // 1:00 Poland CE%sT 1940 Jun 23 2:00
29949  {
29950  &kZonePolicyPoland /*zonePolicy*/,
29951  "CE%T" /*format*/,
29952  240 /*offsetCode (3600/15)*/,
29953  0 /*offsetRemainder (3600%15)*/,
29954  0 /*deltaMinutes*/,
29955  1940 /*untilYear*/,
29956  6 /*untilMonth*/,
29957  23 /*untilDay*/,
29958  480 /*untilTimeCode (7200/15)*/,
29959  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29960  },
29961  // 1:00 C-Eur CE%sT 1944 Oct
29962  {
29963  &kZonePolicyC_Eur /*zonePolicy*/,
29964  "CE%T" /*format*/,
29965  240 /*offsetCode (3600/15)*/,
29966  0 /*offsetRemainder (3600%15)*/,
29967  0 /*deltaMinutes*/,
29968  1944 /*untilYear*/,
29969  10 /*untilMonth*/,
29970  1 /*untilDay*/,
29971  0 /*untilTimeCode (0/15)*/,
29972  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29973  },
29974  // 1:00 Poland CE%sT 1977
29975  {
29976  &kZonePolicyPoland /*zonePolicy*/,
29977  "CE%T" /*format*/,
29978  240 /*offsetCode (3600/15)*/,
29979  0 /*offsetRemainder (3600%15)*/,
29980  0 /*deltaMinutes*/,
29981  1977 /*untilYear*/,
29982  1 /*untilMonth*/,
29983  1 /*untilDay*/,
29984  0 /*untilTimeCode (0/15)*/,
29985  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29986  },
29987  // 1:00 W-Eur CE%sT 1988
29988  {
29989  &kZonePolicyW_Eur /*zonePolicy*/,
29990  "CE%T" /*format*/,
29991  240 /*offsetCode (3600/15)*/,
29992  0 /*offsetRemainder (3600%15)*/,
29993  0 /*deltaMinutes*/,
29994  1988 /*untilYear*/,
29995  1 /*untilMonth*/,
29996  1 /*untilDay*/,
29997  0 /*untilTimeCode (0/15)*/,
29998  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29999  },
30000  // 1:00 EU CE%sT
30001  {
30002  &kZonePolicyEU /*zonePolicy*/,
30003  "CE%T" /*format*/,
30004  240 /*offsetCode (3600/15)*/,
30005  0 /*offsetRemainder (3600%15)*/,
30006  0 /*deltaMinutes*/,
30007  32767 /*untilYear*/,
30008  1 /*untilMonth*/,
30009  1 /*untilDay*/,
30010  0 /*untilTimeCode (0/15)*/,
30011  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30012  },
30013 
30014 };
30015 
30016 static const char kZoneNameEurope_Warsaw[] ACE_TIME_PROGMEM = "\x0b" "Warsaw";
30017 
30018 const complete::ZoneInfo kZoneEurope_Warsaw ACE_TIME_PROGMEM = {
30019  kZoneNameEurope_Warsaw /*name*/,
30020  0x75185c19 /*zoneId*/,
30021  &kZoneContext /*zoneContext*/,
30022  9 /*numEras*/,
30023  kZoneEraEurope_Warsaw /*eras*/,
30024  nullptr /*targetInfo*/,
30025 };
30026 
30027 //---------------------------------------------------------------------------
30028 // Zone name: Europe/Zurich
30029 // Eras: 4
30030 //---------------------------------------------------------------------------
30031 
30032 static const complete::ZoneEra kZoneEraEurope_Zurich[] ACE_TIME_PROGMEM = {
30033  // 0:34:08 - LMT 1853 Jul 16
30034  {
30035  nullptr /*zonePolicy*/,
30036  "LMT" /*format*/,
30037  136 /*offsetCode (2048/15)*/,
30038  8 /*offsetRemainder (2048%15)*/,
30039  0 /*deltaMinutes*/,
30040  1853 /*untilYear*/,
30041  7 /*untilMonth*/,
30042  16 /*untilDay*/,
30043  0 /*untilTimeCode (0/15)*/,
30044  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30045  },
30046  // 0:29:46 - BMT 1894 Jun
30047  {
30048  nullptr /*zonePolicy*/,
30049  "BMT" /*format*/,
30050  119 /*offsetCode (1786/15)*/,
30051  1 /*offsetRemainder (1786%15)*/,
30052  0 /*deltaMinutes*/,
30053  1894 /*untilYear*/,
30054  6 /*untilMonth*/,
30055  1 /*untilDay*/,
30056  0 /*untilTimeCode (0/15)*/,
30057  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30058  },
30059  // 1:00 Swiss CE%sT 1981
30060  {
30061  &kZonePolicySwiss /*zonePolicy*/,
30062  "CE%T" /*format*/,
30063  240 /*offsetCode (3600/15)*/,
30064  0 /*offsetRemainder (3600%15)*/,
30065  0 /*deltaMinutes*/,
30066  1981 /*untilYear*/,
30067  1 /*untilMonth*/,
30068  1 /*untilDay*/,
30069  0 /*untilTimeCode (0/15)*/,
30070  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30071  },
30072  // 1:00 EU CE%sT
30073  {
30074  &kZonePolicyEU /*zonePolicy*/,
30075  "CE%T" /*format*/,
30076  240 /*offsetCode (3600/15)*/,
30077  0 /*offsetRemainder (3600%15)*/,
30078  0 /*deltaMinutes*/,
30079  32767 /*untilYear*/,
30080  1 /*untilMonth*/,
30081  1 /*untilDay*/,
30082  0 /*untilTimeCode (0/15)*/,
30083  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30084  },
30085 
30086 };
30087 
30088 static const char kZoneNameEurope_Zurich[] ACE_TIME_PROGMEM = "\x0b" "Zurich";
30089 
30090 const complete::ZoneInfo kZoneEurope_Zurich ACE_TIME_PROGMEM = {
30091  kZoneNameEurope_Zurich /*name*/,
30092  0x7d8195b9 /*zoneId*/,
30093  &kZoneContext /*zoneContext*/,
30094  4 /*numEras*/,
30095  kZoneEraEurope_Zurich /*eras*/,
30096  nullptr /*targetInfo*/,
30097 };
30098 
30099 //---------------------------------------------------------------------------
30100 // Zone name: HST
30101 // Eras: 1
30102 //---------------------------------------------------------------------------
30103 
30104 static const complete::ZoneEra kZoneEraHST[] ACE_TIME_PROGMEM = {
30105  // -10:00 - HST
30106  {
30107  nullptr /*zonePolicy*/,
30108  "HST" /*format*/,
30109  -2400 /*offsetCode (-36000/15)*/,
30110  0 /*offsetRemainder (-36000%15)*/,
30111  0 /*deltaMinutes*/,
30112  32767 /*untilYear*/,
30113  1 /*untilMonth*/,
30114  1 /*untilDay*/,
30115  0 /*untilTimeCode (0/15)*/,
30116  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30117  },
30118 
30119 };
30120 
30121 static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST";
30122 
30123 const complete::ZoneInfo kZoneHST ACE_TIME_PROGMEM = {
30124  kZoneNameHST /*name*/,
30125  0x0b87f034 /*zoneId*/,
30126  &kZoneContext /*zoneContext*/,
30127  1 /*numEras*/,
30128  kZoneEraHST /*eras*/,
30129  nullptr /*targetInfo*/,
30130 };
30131 
30132 //---------------------------------------------------------------------------
30133 // Zone name: Indian/Chagos
30134 // Eras: 3
30135 //---------------------------------------------------------------------------
30136 
30137 static const complete::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = {
30138  // 4:49:40 - LMT 1907
30139  {
30140  nullptr /*zonePolicy*/,
30141  "LMT" /*format*/,
30142  1158 /*offsetCode (17380/15)*/,
30143  10 /*offsetRemainder (17380%15)*/,
30144  0 /*deltaMinutes*/,
30145  1907 /*untilYear*/,
30146  1 /*untilMonth*/,
30147  1 /*untilDay*/,
30148  0 /*untilTimeCode (0/15)*/,
30149  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30150  },
30151  // 5:00 - +05 1996
30152  {
30153  nullptr /*zonePolicy*/,
30154  "+05" /*format*/,
30155  1200 /*offsetCode (18000/15)*/,
30156  0 /*offsetRemainder (18000%15)*/,
30157  0 /*deltaMinutes*/,
30158  1996 /*untilYear*/,
30159  1 /*untilMonth*/,
30160  1 /*untilDay*/,
30161  0 /*untilTimeCode (0/15)*/,
30162  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30163  },
30164  // 6:00 - +06
30165  {
30166  nullptr /*zonePolicy*/,
30167  "+06" /*format*/,
30168  1440 /*offsetCode (21600/15)*/,
30169  0 /*offsetRemainder (21600%15)*/,
30170  0 /*deltaMinutes*/,
30171  32767 /*untilYear*/,
30172  1 /*untilMonth*/,
30173  1 /*untilDay*/,
30174  0 /*untilTimeCode (0/15)*/,
30175  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30176  },
30177 
30178 };
30179 
30180 static const char kZoneNameIndian_Chagos[] ACE_TIME_PROGMEM = "\x0c" "Chagos";
30181 
30182 const complete::ZoneInfo kZoneIndian_Chagos ACE_TIME_PROGMEM = {
30183  kZoneNameIndian_Chagos /*name*/,
30184  0x456f7c3c /*zoneId*/,
30185  &kZoneContext /*zoneContext*/,
30186  3 /*numEras*/,
30187  kZoneEraIndian_Chagos /*eras*/,
30188  nullptr /*targetInfo*/,
30189 };
30190 
30191 //---------------------------------------------------------------------------
30192 // Zone name: Indian/Maldives
30193 // Eras: 3
30194 //---------------------------------------------------------------------------
30195 
30196 static const complete::ZoneEra kZoneEraIndian_Maldives[] ACE_TIME_PROGMEM = {
30197  // 4:54:00 - LMT 1880
30198  {
30199  nullptr /*zonePolicy*/,
30200  "LMT" /*format*/,
30201  1176 /*offsetCode (17640/15)*/,
30202  0 /*offsetRemainder (17640%15)*/,
30203  0 /*deltaMinutes*/,
30204  1880 /*untilYear*/,
30205  1 /*untilMonth*/,
30206  1 /*untilDay*/,
30207  0 /*untilTimeCode (0/15)*/,
30208  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30209  },
30210  // 4:54:00 - MMT 1960
30211  {
30212  nullptr /*zonePolicy*/,
30213  "MMT" /*format*/,
30214  1176 /*offsetCode (17640/15)*/,
30215  0 /*offsetRemainder (17640%15)*/,
30216  0 /*deltaMinutes*/,
30217  1960 /*untilYear*/,
30218  1 /*untilMonth*/,
30219  1 /*untilDay*/,
30220  0 /*untilTimeCode (0/15)*/,
30221  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30222  },
30223  // 5:00 - +05
30224  {
30225  nullptr /*zonePolicy*/,
30226  "+05" /*format*/,
30227  1200 /*offsetCode (18000/15)*/,
30228  0 /*offsetRemainder (18000%15)*/,
30229  0 /*deltaMinutes*/,
30230  32767 /*untilYear*/,
30231  1 /*untilMonth*/,
30232  1 /*untilDay*/,
30233  0 /*untilTimeCode (0/15)*/,
30234  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30235  },
30236 
30237 };
30238 
30239 static const char kZoneNameIndian_Maldives[] ACE_TIME_PROGMEM = "\x0c" "Maldives";
30240 
30241 const complete::ZoneInfo kZoneIndian_Maldives ACE_TIME_PROGMEM = {
30242  kZoneNameIndian_Maldives /*name*/,
30243  0x9869681c /*zoneId*/,
30244  &kZoneContext /*zoneContext*/,
30245  3 /*numEras*/,
30246  kZoneEraIndian_Maldives /*eras*/,
30247  nullptr /*targetInfo*/,
30248 };
30249 
30250 //---------------------------------------------------------------------------
30251 // Zone name: Indian/Mauritius
30252 // Eras: 2
30253 //---------------------------------------------------------------------------
30254 
30255 static const complete::ZoneEra kZoneEraIndian_Mauritius[] ACE_TIME_PROGMEM = {
30256  // 3:50:00 - LMT 1907
30257  {
30258  nullptr /*zonePolicy*/,
30259  "LMT" /*format*/,
30260  920 /*offsetCode (13800/15)*/,
30261  0 /*offsetRemainder (13800%15)*/,
30262  0 /*deltaMinutes*/,
30263  1907 /*untilYear*/,
30264  1 /*untilMonth*/,
30265  1 /*untilDay*/,
30266  0 /*untilTimeCode (0/15)*/,
30267  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30268  },
30269  // 4:00 Mauritius +04/+05
30270  {
30271  &kZonePolicyMauritius /*zonePolicy*/,
30272  "+04/+05" /*format*/,
30273  960 /*offsetCode (14400/15)*/,
30274  0 /*offsetRemainder (14400%15)*/,
30275  0 /*deltaMinutes*/,
30276  32767 /*untilYear*/,
30277  1 /*untilMonth*/,
30278  1 /*untilDay*/,
30279  0 /*untilTimeCode (0/15)*/,
30280  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30281  },
30282 
30283 };
30284 
30285 static const char kZoneNameIndian_Mauritius[] ACE_TIME_PROGMEM = "\x0c" "Mauritius";
30286 
30287 const complete::ZoneInfo kZoneIndian_Mauritius ACE_TIME_PROGMEM = {
30288  kZoneNameIndian_Mauritius /*name*/,
30289  0x7b09c02a /*zoneId*/,
30290  &kZoneContext /*zoneContext*/,
30291  2 /*numEras*/,
30292  kZoneEraIndian_Mauritius /*eras*/,
30293  nullptr /*targetInfo*/,
30294 };
30295 
30296 //---------------------------------------------------------------------------
30297 // Zone name: MET
30298 // Eras: 1
30299 //---------------------------------------------------------------------------
30300 
30301 static const complete::ZoneEra kZoneEraMET[] ACE_TIME_PROGMEM = {
30302  // 1:00 C-Eur ME%sT
30303  {
30304  &kZonePolicyC_Eur /*zonePolicy*/,
30305  "ME%T" /*format*/,
30306  240 /*offsetCode (3600/15)*/,
30307  0 /*offsetRemainder (3600%15)*/,
30308  0 /*deltaMinutes*/,
30309  32767 /*untilYear*/,
30310  1 /*untilMonth*/,
30311  1 /*untilDay*/,
30312  0 /*untilTimeCode (0/15)*/,
30313  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30314  },
30315 
30316 };
30317 
30318 static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET";
30319 
30320 const complete::ZoneInfo kZoneMET ACE_TIME_PROGMEM = {
30321  kZoneNameMET /*name*/,
30322  0x0b8803ab /*zoneId*/,
30323  &kZoneContext /*zoneContext*/,
30324  1 /*numEras*/,
30325  kZoneEraMET /*eras*/,
30326  nullptr /*targetInfo*/,
30327 };
30328 
30329 //---------------------------------------------------------------------------
30330 // Zone name: MST
30331 // Eras: 1
30332 //---------------------------------------------------------------------------
30333 
30334 static const complete::ZoneEra kZoneEraMST[] ACE_TIME_PROGMEM = {
30335  // -7:00 - MST
30336  {
30337  nullptr /*zonePolicy*/,
30338  "MST" /*format*/,
30339  -1680 /*offsetCode (-25200/15)*/,
30340  0 /*offsetRemainder (-25200%15)*/,
30341  0 /*deltaMinutes*/,
30342  32767 /*untilYear*/,
30343  1 /*untilMonth*/,
30344  1 /*untilDay*/,
30345  0 /*untilTimeCode (0/15)*/,
30346  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30347  },
30348 
30349 };
30350 
30351 static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST";
30352 
30353 const complete::ZoneInfo kZoneMST ACE_TIME_PROGMEM = {
30354  kZoneNameMST /*name*/,
30355  0x0b880579 /*zoneId*/,
30356  &kZoneContext /*zoneContext*/,
30357  1 /*numEras*/,
30358  kZoneEraMST /*eras*/,
30359  nullptr /*targetInfo*/,
30360 };
30361 
30362 //---------------------------------------------------------------------------
30363 // Zone name: MST7MDT
30364 // Eras: 1
30365 //---------------------------------------------------------------------------
30366 
30367 static const complete::ZoneEra kZoneEraMST7MDT[] ACE_TIME_PROGMEM = {
30368  // -7:00 US M%sT
30369  {
30370  &kZonePolicyUS /*zonePolicy*/,
30371  "M%T" /*format*/,
30372  -1680 /*offsetCode (-25200/15)*/,
30373  0 /*offsetRemainder (-25200%15)*/,
30374  0 /*deltaMinutes*/,
30375  32767 /*untilYear*/,
30376  1 /*untilMonth*/,
30377  1 /*untilDay*/,
30378  0 /*untilTimeCode (0/15)*/,
30379  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30380  },
30381 
30382 };
30383 
30384 static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT";
30385 
30386 const complete::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = {
30387  kZoneNameMST7MDT /*name*/,
30388  0xf2af9375 /*zoneId*/,
30389  &kZoneContext /*zoneContext*/,
30390  1 /*numEras*/,
30391  kZoneEraMST7MDT /*eras*/,
30392  nullptr /*targetInfo*/,
30393 };
30394 
30395 //---------------------------------------------------------------------------
30396 // Zone name: PST8PDT
30397 // Eras: 1
30398 //---------------------------------------------------------------------------
30399 
30400 static const complete::ZoneEra kZoneEraPST8PDT[] ACE_TIME_PROGMEM = {
30401  // -8:00 US P%sT
30402  {
30403  &kZonePolicyUS /*zonePolicy*/,
30404  "P%T" /*format*/,
30405  -1920 /*offsetCode (-28800/15)*/,
30406  0 /*offsetRemainder (-28800%15)*/,
30407  0 /*deltaMinutes*/,
30408  32767 /*untilYear*/,
30409  1 /*untilMonth*/,
30410  1 /*untilDay*/,
30411  0 /*untilTimeCode (0/15)*/,
30412  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30413  },
30414 
30415 };
30416 
30417 static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT";
30418 
30419 const complete::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = {
30420  kZoneNamePST8PDT /*name*/,
30421  0xd99ee2dc /*zoneId*/,
30422  &kZoneContext /*zoneContext*/,
30423  1 /*numEras*/,
30424  kZoneEraPST8PDT /*eras*/,
30425  nullptr /*targetInfo*/,
30426 };
30427 
30428 //---------------------------------------------------------------------------
30429 // Zone name: Pacific/Apia
30430 // Eras: 5
30431 //---------------------------------------------------------------------------
30432 
30433 static const complete::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = {
30434  // 12:33:04 - LMT 1892 Jul 5
30435  {
30436  nullptr /*zonePolicy*/,
30437  "LMT" /*format*/,
30438  3012 /*offsetCode (45184/15)*/,
30439  4 /*offsetRemainder (45184%15)*/,
30440  0 /*deltaMinutes*/,
30441  1892 /*untilYear*/,
30442  7 /*untilMonth*/,
30443  5 /*untilDay*/,
30444  0 /*untilTimeCode (0/15)*/,
30445  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30446  },
30447  // -11:26:56 - LMT 1911
30448  {
30449  nullptr /*zonePolicy*/,
30450  "LMT" /*format*/,
30451  -2748 /*offsetCode (-41216/15)*/,
30452  4 /*offsetRemainder (-41216%15)*/,
30453  0 /*deltaMinutes*/,
30454  1911 /*untilYear*/,
30455  1 /*untilMonth*/,
30456  1 /*untilDay*/,
30457  0 /*untilTimeCode (0/15)*/,
30458  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30459  },
30460  // -11:30 - -1130 1950
30461  {
30462  nullptr /*zonePolicy*/,
30463  "-1130" /*format*/,
30464  -2760 /*offsetCode (-41400/15)*/,
30465  0 /*offsetRemainder (-41400%15)*/,
30466  0 /*deltaMinutes*/,
30467  1950 /*untilYear*/,
30468  1 /*untilMonth*/,
30469  1 /*untilDay*/,
30470  0 /*untilTimeCode (0/15)*/,
30471  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30472  },
30473  // -11:00 WS -11/-10 2011 Dec 29 24:00
30474  {
30475  &kZonePolicyWS /*zonePolicy*/,
30476  "-11/-10" /*format*/,
30477  -2640 /*offsetCode (-39600/15)*/,
30478  0 /*offsetRemainder (-39600%15)*/,
30479  0 /*deltaMinutes*/,
30480  2011 /*untilYear*/,
30481  12 /*untilMonth*/,
30482  29 /*untilDay*/,
30483  5760 /*untilTimeCode (86400/15)*/,
30484  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30485  },
30486  // 13:00 WS +13/+14
30487  {
30488  &kZonePolicyWS /*zonePolicy*/,
30489  "+13/+14" /*format*/,
30490  3120 /*offsetCode (46800/15)*/,
30491  0 /*offsetRemainder (46800%15)*/,
30492  0 /*deltaMinutes*/,
30493  32767 /*untilYear*/,
30494  1 /*untilMonth*/,
30495  1 /*untilDay*/,
30496  0 /*untilTimeCode (0/15)*/,
30497  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30498  },
30499 
30500 };
30501 
30502 static const char kZoneNamePacific_Apia[] ACE_TIME_PROGMEM = "\x0e" "Apia";
30503 
30504 const complete::ZoneInfo kZonePacific_Apia ACE_TIME_PROGMEM = {
30505  kZoneNamePacific_Apia /*name*/,
30506  0x23359b5e /*zoneId*/,
30507  &kZoneContext /*zoneContext*/,
30508  5 /*numEras*/,
30509  kZoneEraPacific_Apia /*eras*/,
30510  nullptr /*targetInfo*/,
30511 };
30512 
30513 //---------------------------------------------------------------------------
30514 // Zone name: Pacific/Auckland
30515 // Eras: 3
30516 //---------------------------------------------------------------------------
30517 
30518 static const complete::ZoneEra kZoneEraPacific_Auckland[] ACE_TIME_PROGMEM = {
30519  // 11:39:04 - LMT 1868 Nov 2
30520  {
30521  nullptr /*zonePolicy*/,
30522  "LMT" /*format*/,
30523  2796 /*offsetCode (41944/15)*/,
30524  4 /*offsetRemainder (41944%15)*/,
30525  0 /*deltaMinutes*/,
30526  1868 /*untilYear*/,
30527  11 /*untilMonth*/,
30528  2 /*untilDay*/,
30529  0 /*untilTimeCode (0/15)*/,
30530  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30531  },
30532  // 11:30 NZ NZ%sT 1946 Jan 1
30533  {
30534  &kZonePolicyNZ /*zonePolicy*/,
30535  "NZ%T" /*format*/,
30536  2760 /*offsetCode (41400/15)*/,
30537  0 /*offsetRemainder (41400%15)*/,
30538  0 /*deltaMinutes*/,
30539  1946 /*untilYear*/,
30540  1 /*untilMonth*/,
30541  1 /*untilDay*/,
30542  0 /*untilTimeCode (0/15)*/,
30543  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30544  },
30545  // 12:00 NZ NZ%sT
30546  {
30547  &kZonePolicyNZ /*zonePolicy*/,
30548  "NZ%T" /*format*/,
30549  2880 /*offsetCode (43200/15)*/,
30550  0 /*offsetRemainder (43200%15)*/,
30551  0 /*deltaMinutes*/,
30552  32767 /*untilYear*/,
30553  1 /*untilMonth*/,
30554  1 /*untilDay*/,
30555  0 /*untilTimeCode (0/15)*/,
30556  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30557  },
30558 
30559 };
30560 
30561 static const char kZoneNamePacific_Auckland[] ACE_TIME_PROGMEM = "\x0e" "Auckland";
30562 
30563 const complete::ZoneInfo kZonePacific_Auckland ACE_TIME_PROGMEM = {
30564  kZoneNamePacific_Auckland /*name*/,
30565  0x25062f86 /*zoneId*/,
30566  &kZoneContext /*zoneContext*/,
30567  3 /*numEras*/,
30568  kZoneEraPacific_Auckland /*eras*/,
30569  nullptr /*targetInfo*/,
30570 };
30571 
30572 //---------------------------------------------------------------------------
30573 // Zone name: Pacific/Bougainville
30574 // Eras: 6
30575 //---------------------------------------------------------------------------
30576 
30577 static const complete::ZoneEra kZoneEraPacific_Bougainville[] ACE_TIME_PROGMEM = {
30578  // 10:22:16 - LMT 1880
30579  {
30580  nullptr /*zonePolicy*/,
30581  "LMT" /*format*/,
30582  2489 /*offsetCode (37336/15)*/,
30583  1 /*offsetRemainder (37336%15)*/,
30584  0 /*deltaMinutes*/,
30585  1880 /*untilYear*/,
30586  1 /*untilMonth*/,
30587  1 /*untilDay*/,
30588  0 /*untilTimeCode (0/15)*/,
30589  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30590  },
30591  // 9:48:32 - PMMT 1895
30592  {
30593  nullptr /*zonePolicy*/,
30594  "PMMT" /*format*/,
30595  2354 /*offsetCode (35312/15)*/,
30596  2 /*offsetRemainder (35312%15)*/,
30597  0 /*deltaMinutes*/,
30598  1895 /*untilYear*/,
30599  1 /*untilMonth*/,
30600  1 /*untilDay*/,
30601  0 /*untilTimeCode (0/15)*/,
30602  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30603  },
30604  // 10:00 - +10 1942 Jul
30605  {
30606  nullptr /*zonePolicy*/,
30607  "+10" /*format*/,
30608  2400 /*offsetCode (36000/15)*/,
30609  0 /*offsetRemainder (36000%15)*/,
30610  0 /*deltaMinutes*/,
30611  1942 /*untilYear*/,
30612  7 /*untilMonth*/,
30613  1 /*untilDay*/,
30614  0 /*untilTimeCode (0/15)*/,
30615  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30616  },
30617  // 9:00 - +09 1945 Aug 21
30618  {
30619  nullptr /*zonePolicy*/,
30620  "+09" /*format*/,
30621  2160 /*offsetCode (32400/15)*/,
30622  0 /*offsetRemainder (32400%15)*/,
30623  0 /*deltaMinutes*/,
30624  1945 /*untilYear*/,
30625  8 /*untilMonth*/,
30626  21 /*untilDay*/,
30627  0 /*untilTimeCode (0/15)*/,
30628  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30629  },
30630  // 10:00 - +10 2014 Dec 28 2:00
30631  {
30632  nullptr /*zonePolicy*/,
30633  "+10" /*format*/,
30634  2400 /*offsetCode (36000/15)*/,
30635  0 /*offsetRemainder (36000%15)*/,
30636  0 /*deltaMinutes*/,
30637  2014 /*untilYear*/,
30638  12 /*untilMonth*/,
30639  28 /*untilDay*/,
30640  480 /*untilTimeCode (7200/15)*/,
30641  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30642  },
30643  // 11:00 - +11
30644  {
30645  nullptr /*zonePolicy*/,
30646  "+11" /*format*/,
30647  2640 /*offsetCode (39600/15)*/,
30648  0 /*offsetRemainder (39600%15)*/,
30649  0 /*deltaMinutes*/,
30650  32767 /*untilYear*/,
30651  1 /*untilMonth*/,
30652  1 /*untilDay*/,
30653  0 /*untilTimeCode (0/15)*/,
30654  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30655  },
30656 
30657 };
30658 
30659 static const char kZoneNamePacific_Bougainville[] ACE_TIME_PROGMEM = "\x0e" "Bougainville";
30660 
30661 const complete::ZoneInfo kZonePacific_Bougainville ACE_TIME_PROGMEM = {
30662  kZoneNamePacific_Bougainville /*name*/,
30663  0x5e10f7a4 /*zoneId*/,
30664  &kZoneContext /*zoneContext*/,
30665  6 /*numEras*/,
30666  kZoneEraPacific_Bougainville /*eras*/,
30667  nullptr /*targetInfo*/,
30668 };
30669 
30670 //---------------------------------------------------------------------------
30671 // Zone name: Pacific/Chatham
30672 // Eras: 3
30673 //---------------------------------------------------------------------------
30674 
30675 static const complete::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = {
30676  // 12:13:48 - LMT 1868 Nov 2
30677  {
30678  nullptr /*zonePolicy*/,
30679  "LMT" /*format*/,
30680  2935 /*offsetCode (44028/15)*/,
30681  3 /*offsetRemainder (44028%15)*/,
30682  0 /*deltaMinutes*/,
30683  1868 /*untilYear*/,
30684  11 /*untilMonth*/,
30685  2 /*untilDay*/,
30686  0 /*untilTimeCode (0/15)*/,
30687  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30688  },
30689  // 12:15 - +1215 1946 Jan 1
30690  {
30691  nullptr /*zonePolicy*/,
30692  "+1215" /*format*/,
30693  2940 /*offsetCode (44100/15)*/,
30694  0 /*offsetRemainder (44100%15)*/,
30695  0 /*deltaMinutes*/,
30696  1946 /*untilYear*/,
30697  1 /*untilMonth*/,
30698  1 /*untilDay*/,
30699  0 /*untilTimeCode (0/15)*/,
30700  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30701  },
30702  // 12:45 Chatham +1245/+1345
30703  {
30704  &kZonePolicyChatham /*zonePolicy*/,
30705  "+1245/+1345" /*format*/,
30706  3060 /*offsetCode (45900/15)*/,
30707  0 /*offsetRemainder (45900%15)*/,
30708  0 /*deltaMinutes*/,
30709  32767 /*untilYear*/,
30710  1 /*untilMonth*/,
30711  1 /*untilDay*/,
30712  0 /*untilTimeCode (0/15)*/,
30713  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30714  },
30715 
30716 };
30717 
30718 static const char kZoneNamePacific_Chatham[] ACE_TIME_PROGMEM = "\x0e" "Chatham";
30719 
30720 const complete::ZoneInfo kZonePacific_Chatham ACE_TIME_PROGMEM = {
30721  kZoneNamePacific_Chatham /*name*/,
30722  0x2f0de999 /*zoneId*/,
30723  &kZoneContext /*zoneContext*/,
30724  3 /*numEras*/,
30725  kZoneEraPacific_Chatham /*eras*/,
30726  nullptr /*targetInfo*/,
30727 };
30728 
30729 //---------------------------------------------------------------------------
30730 // Zone name: Pacific/Easter
30731 // Eras: 4
30732 //---------------------------------------------------------------------------
30733 
30734 static const complete::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = {
30735  // -7:17:28 - LMT 1890
30736  {
30737  nullptr /*zonePolicy*/,
30738  "LMT" /*format*/,
30739  -1750 /*offsetCode (-26248/15)*/,
30740  2 /*offsetRemainder (-26248%15)*/,
30741  0 /*deltaMinutes*/,
30742  1890 /*untilYear*/,
30743  1 /*untilMonth*/,
30744  1 /*untilDay*/,
30745  0 /*untilTimeCode (0/15)*/,
30746  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30747  },
30748  // -7:17:28 - EMT 1932 Sep
30749  {
30750  nullptr /*zonePolicy*/,
30751  "EMT" /*format*/,
30752  -1750 /*offsetCode (-26248/15)*/,
30753  2 /*offsetRemainder (-26248%15)*/,
30754  0 /*deltaMinutes*/,
30755  1932 /*untilYear*/,
30756  9 /*untilMonth*/,
30757  1 /*untilDay*/,
30758  0 /*untilTimeCode (0/15)*/,
30759  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30760  },
30761  // -7:00 Chile -07/-06 1982 Mar 14 3:00u
30762  {
30763  &kZonePolicyChile /*zonePolicy*/,
30764  "-07/-06" /*format*/,
30765  -1680 /*offsetCode (-25200/15)*/,
30766  0 /*offsetRemainder (-25200%15)*/,
30767  0 /*deltaMinutes*/,
30768  1982 /*untilYear*/,
30769  3 /*untilMonth*/,
30770  14 /*untilDay*/,
30771  720 /*untilTimeCode (10800/15)*/,
30772  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
30773  },
30774  // -6:00 Chile -06/-05
30775  {
30776  &kZonePolicyChile /*zonePolicy*/,
30777  "-06/-05" /*format*/,
30778  -1440 /*offsetCode (-21600/15)*/,
30779  0 /*offsetRemainder (-21600%15)*/,
30780  0 /*deltaMinutes*/,
30781  32767 /*untilYear*/,
30782  1 /*untilMonth*/,
30783  1 /*untilDay*/,
30784  0 /*untilTimeCode (0/15)*/,
30785  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30786  },
30787 
30788 };
30789 
30790 static const char kZoneNamePacific_Easter[] ACE_TIME_PROGMEM = "\x0e" "Easter";
30791 
30792 const complete::ZoneInfo kZonePacific_Easter ACE_TIME_PROGMEM = {
30793  kZoneNamePacific_Easter /*name*/,
30794  0xcf54f7e7 /*zoneId*/,
30795  &kZoneContext /*zoneContext*/,
30796  4 /*numEras*/,
30797  kZoneEraPacific_Easter /*eras*/,
30798  nullptr /*targetInfo*/,
30799 };
30800 
30801 //---------------------------------------------------------------------------
30802 // Zone name: Pacific/Efate
30803 // Eras: 2
30804 //---------------------------------------------------------------------------
30805 
30806 static const complete::ZoneEra kZoneEraPacific_Efate[] ACE_TIME_PROGMEM = {
30807  // 11:13:16 - LMT 1912 Jan 13
30808  {
30809  nullptr /*zonePolicy*/,
30810  "LMT" /*format*/,
30811  2693 /*offsetCode (40396/15)*/,
30812  1 /*offsetRemainder (40396%15)*/,
30813  0 /*deltaMinutes*/,
30814  1912 /*untilYear*/,
30815  1 /*untilMonth*/,
30816  13 /*untilDay*/,
30817  0 /*untilTimeCode (0/15)*/,
30818  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30819  },
30820  // 11:00 Vanuatu +11/+12
30821  {
30822  &kZonePolicyVanuatu /*zonePolicy*/,
30823  "+11/+12" /*format*/,
30824  2640 /*offsetCode (39600/15)*/,
30825  0 /*offsetRemainder (39600%15)*/,
30826  0 /*deltaMinutes*/,
30827  32767 /*untilYear*/,
30828  1 /*untilMonth*/,
30829  1 /*untilDay*/,
30830  0 /*untilTimeCode (0/15)*/,
30831  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30832  },
30833 
30834 };
30835 
30836 static const char kZoneNamePacific_Efate[] ACE_TIME_PROGMEM = "\x0e" "Efate";
30837 
30838 const complete::ZoneInfo kZonePacific_Efate ACE_TIME_PROGMEM = {
30839  kZoneNamePacific_Efate /*name*/,
30840  0x8a2bce28 /*zoneId*/,
30841  &kZoneContext /*zoneContext*/,
30842  2 /*numEras*/,
30843  kZoneEraPacific_Efate /*eras*/,
30844  nullptr /*targetInfo*/,
30845 };
30846 
30847 //---------------------------------------------------------------------------
30848 // Zone name: Pacific/Fakaofo
30849 // Eras: 3
30850 //---------------------------------------------------------------------------
30851 
30852 static const complete::ZoneEra kZoneEraPacific_Fakaofo[] ACE_TIME_PROGMEM = {
30853  // -11:24:56 - LMT 1901
30854  {
30855  nullptr /*zonePolicy*/,
30856  "LMT" /*format*/,
30857  -2740 /*offsetCode (-41096/15)*/,
30858  4 /*offsetRemainder (-41096%15)*/,
30859  0 /*deltaMinutes*/,
30860  1901 /*untilYear*/,
30861  1 /*untilMonth*/,
30862  1 /*untilDay*/,
30863  0 /*untilTimeCode (0/15)*/,
30864  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30865  },
30866  // -11:00 - -11 2011 Dec 30
30867  {
30868  nullptr /*zonePolicy*/,
30869  "-11" /*format*/,
30870  -2640 /*offsetCode (-39600/15)*/,
30871  0 /*offsetRemainder (-39600%15)*/,
30872  0 /*deltaMinutes*/,
30873  2011 /*untilYear*/,
30874  12 /*untilMonth*/,
30875  30 /*untilDay*/,
30876  0 /*untilTimeCode (0/15)*/,
30877  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30878  },
30879  // 13:00 - +13
30880  {
30881  nullptr /*zonePolicy*/,
30882  "+13" /*format*/,
30883  3120 /*offsetCode (46800/15)*/,
30884  0 /*offsetRemainder (46800%15)*/,
30885  0 /*deltaMinutes*/,
30886  32767 /*untilYear*/,
30887  1 /*untilMonth*/,
30888  1 /*untilDay*/,
30889  0 /*untilTimeCode (0/15)*/,
30890  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30891  },
30892 
30893 };
30894 
30895 static const char kZoneNamePacific_Fakaofo[] ACE_TIME_PROGMEM = "\x0e" "Fakaofo";
30896 
30897 const complete::ZoneInfo kZonePacific_Fakaofo ACE_TIME_PROGMEM = {
30898  kZoneNamePacific_Fakaofo /*name*/,
30899  0x06532bba /*zoneId*/,
30900  &kZoneContext /*zoneContext*/,
30901  3 /*numEras*/,
30902  kZoneEraPacific_Fakaofo /*eras*/,
30903  nullptr /*targetInfo*/,
30904 };
30905 
30906 //---------------------------------------------------------------------------
30907 // Zone name: Pacific/Fiji
30908 // Eras: 2
30909 //---------------------------------------------------------------------------
30910 
30911 static const complete::ZoneEra kZoneEraPacific_Fiji[] ACE_TIME_PROGMEM = {
30912  // 11:55:44 - LMT 1915 Oct 26
30913  {
30914  nullptr /*zonePolicy*/,
30915  "LMT" /*format*/,
30916  2862 /*offsetCode (42944/15)*/,
30917  14 /*offsetRemainder (42944%15)*/,
30918  0 /*deltaMinutes*/,
30919  1915 /*untilYear*/,
30920  10 /*untilMonth*/,
30921  26 /*untilDay*/,
30922  0 /*untilTimeCode (0/15)*/,
30923  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30924  },
30925  // 12:00 Fiji +12/+13
30926  {
30927  &kZonePolicyFiji /*zonePolicy*/,
30928  "+12/+13" /*format*/,
30929  2880 /*offsetCode (43200/15)*/,
30930  0 /*offsetRemainder (43200%15)*/,
30931  0 /*deltaMinutes*/,
30932  32767 /*untilYear*/,
30933  1 /*untilMonth*/,
30934  1 /*untilDay*/,
30935  0 /*untilTimeCode (0/15)*/,
30936  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30937  },
30938 
30939 };
30940 
30941 static const char kZoneNamePacific_Fiji[] ACE_TIME_PROGMEM = "\x0e" "Fiji";
30942 
30943 const complete::ZoneInfo kZonePacific_Fiji ACE_TIME_PROGMEM = {
30944  kZoneNamePacific_Fiji /*name*/,
30945  0x23383ba5 /*zoneId*/,
30946  &kZoneContext /*zoneContext*/,
30947  2 /*numEras*/,
30948  kZoneEraPacific_Fiji /*eras*/,
30949  nullptr /*targetInfo*/,
30950 };
30951 
30952 //---------------------------------------------------------------------------
30953 // Zone name: Pacific/Galapagos
30954 // Eras: 3
30955 //---------------------------------------------------------------------------
30956 
30957 static const complete::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = {
30958  // -5:58:24 - LMT 1931
30959  {
30960  nullptr /*zonePolicy*/,
30961  "LMT" /*format*/,
30962  -1434 /*offsetCode (-21504/15)*/,
30963  6 /*offsetRemainder (-21504%15)*/,
30964  0 /*deltaMinutes*/,
30965  1931 /*untilYear*/,
30966  1 /*untilMonth*/,
30967  1 /*untilDay*/,
30968  0 /*untilTimeCode (0/15)*/,
30969  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30970  },
30971  // -5:00 - -05 1986
30972  {
30973  nullptr /*zonePolicy*/,
30974  "-05" /*format*/,
30975  -1200 /*offsetCode (-18000/15)*/,
30976  0 /*offsetRemainder (-18000%15)*/,
30977  0 /*deltaMinutes*/,
30978  1986 /*untilYear*/,
30979  1 /*untilMonth*/,
30980  1 /*untilDay*/,
30981  0 /*untilTimeCode (0/15)*/,
30982  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30983  },
30984  // -6:00 Ecuador -06/-05
30985  {
30986  &kZonePolicyEcuador /*zonePolicy*/,
30987  "-06/-05" /*format*/,
30988  -1440 /*offsetCode (-21600/15)*/,
30989  0 /*offsetRemainder (-21600%15)*/,
30990  0 /*deltaMinutes*/,
30991  32767 /*untilYear*/,
30992  1 /*untilMonth*/,
30993  1 /*untilDay*/,
30994  0 /*untilTimeCode (0/15)*/,
30995  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30996  },
30997 
30998 };
30999 
31000 static const char kZoneNamePacific_Galapagos[] ACE_TIME_PROGMEM = "\x0e" "Galapagos";
31001 
31002 const complete::ZoneInfo kZonePacific_Galapagos ACE_TIME_PROGMEM = {
31003  kZoneNamePacific_Galapagos /*name*/,
31004  0xa952f752 /*zoneId*/,
31005  &kZoneContext /*zoneContext*/,
31006  3 /*numEras*/,
31007  kZoneEraPacific_Galapagos /*eras*/,
31008  nullptr /*targetInfo*/,
31009 };
31010 
31011 //---------------------------------------------------------------------------
31012 // Zone name: Pacific/Gambier
31013 // Eras: 2
31014 //---------------------------------------------------------------------------
31015 
31016 static const complete::ZoneEra kZoneEraPacific_Gambier[] ACE_TIME_PROGMEM = {
31017  // -8:59:48 - LMT 1912 Oct
31018  {
31019  nullptr /*zonePolicy*/,
31020  "LMT" /*format*/,
31021  -2160 /*offsetCode (-32388/15)*/,
31022  12 /*offsetRemainder (-32388%15)*/,
31023  0 /*deltaMinutes*/,
31024  1912 /*untilYear*/,
31025  10 /*untilMonth*/,
31026  1 /*untilDay*/,
31027  0 /*untilTimeCode (0/15)*/,
31028  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31029  },
31030  // -9:00 - -09
31031  {
31032  nullptr /*zonePolicy*/,
31033  "-09" /*format*/,
31034  -2160 /*offsetCode (-32400/15)*/,
31035  0 /*offsetRemainder (-32400%15)*/,
31036  0 /*deltaMinutes*/,
31037  32767 /*untilYear*/,
31038  1 /*untilMonth*/,
31039  1 /*untilDay*/,
31040  0 /*untilTimeCode (0/15)*/,
31041  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31042  },
31043 
31044 };
31045 
31046 static const char kZoneNamePacific_Gambier[] ACE_TIME_PROGMEM = "\x0e" "Gambier";
31047 
31048 const complete::ZoneInfo kZonePacific_Gambier ACE_TIME_PROGMEM = {
31049  kZoneNamePacific_Gambier /*name*/,
31050  0x53720c3a /*zoneId*/,
31051  &kZoneContext /*zoneContext*/,
31052  2 /*numEras*/,
31053  kZoneEraPacific_Gambier /*eras*/,
31054  nullptr /*targetInfo*/,
31055 };
31056 
31057 //---------------------------------------------------------------------------
31058 // Zone name: Pacific/Guadalcanal
31059 // Eras: 2
31060 //---------------------------------------------------------------------------
31061 
31062 static const complete::ZoneEra kZoneEraPacific_Guadalcanal[] ACE_TIME_PROGMEM = {
31063  // 10:39:48 - LMT 1912 Oct
31064  {
31065  nullptr /*zonePolicy*/,
31066  "LMT" /*format*/,
31067  2559 /*offsetCode (38388/15)*/,
31068  3 /*offsetRemainder (38388%15)*/,
31069  0 /*deltaMinutes*/,
31070  1912 /*untilYear*/,
31071  10 /*untilMonth*/,
31072  1 /*untilDay*/,
31073  0 /*untilTimeCode (0/15)*/,
31074  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31075  },
31076  // 11:00 - +11
31077  {
31078  nullptr /*zonePolicy*/,
31079  "+11" /*format*/,
31080  2640 /*offsetCode (39600/15)*/,
31081  0 /*offsetRemainder (39600%15)*/,
31082  0 /*deltaMinutes*/,
31083  32767 /*untilYear*/,
31084  1 /*untilMonth*/,
31085  1 /*untilDay*/,
31086  0 /*untilTimeCode (0/15)*/,
31087  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31088  },
31089 
31090 };
31091 
31092 static const char kZoneNamePacific_Guadalcanal[] ACE_TIME_PROGMEM = "\x0e" "Guadalcanal";
31093 
31094 const complete::ZoneInfo kZonePacific_Guadalcanal ACE_TIME_PROGMEM = {
31095  kZoneNamePacific_Guadalcanal /*name*/,
31096  0xf4dd25f0 /*zoneId*/,
31097  &kZoneContext /*zoneContext*/,
31098  2 /*numEras*/,
31099  kZoneEraPacific_Guadalcanal /*eras*/,
31100  nullptr /*targetInfo*/,
31101 };
31102 
31103 //---------------------------------------------------------------------------
31104 // Zone name: Pacific/Guam
31105 // Eras: 6
31106 //---------------------------------------------------------------------------
31107 
31108 static const complete::ZoneEra kZoneEraPacific_Guam[] ACE_TIME_PROGMEM = {
31109  // -14:21:00 - LMT 1844 Dec 31
31110  {
31111  nullptr /*zonePolicy*/,
31112  "LMT" /*format*/,
31113  -3444 /*offsetCode (-51660/15)*/,
31114  0 /*offsetRemainder (-51660%15)*/,
31115  0 /*deltaMinutes*/,
31116  1844 /*untilYear*/,
31117  12 /*untilMonth*/,
31118  31 /*untilDay*/,
31119  0 /*untilTimeCode (0/15)*/,
31120  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31121  },
31122  // 9:39:00 - LMT 1901
31123  {
31124  nullptr /*zonePolicy*/,
31125  "LMT" /*format*/,
31126  2316 /*offsetCode (34740/15)*/,
31127  0 /*offsetRemainder (34740%15)*/,
31128  0 /*deltaMinutes*/,
31129  1901 /*untilYear*/,
31130  1 /*untilMonth*/,
31131  1 /*untilDay*/,
31132  0 /*untilTimeCode (0/15)*/,
31133  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31134  },
31135  // 10:00 - GST 1941 Dec 10
31136  {
31137  nullptr /*zonePolicy*/,
31138  "GST" /*format*/,
31139  2400 /*offsetCode (36000/15)*/,
31140  0 /*offsetRemainder (36000%15)*/,
31141  0 /*deltaMinutes*/,
31142  1941 /*untilYear*/,
31143  12 /*untilMonth*/,
31144  10 /*untilDay*/,
31145  0 /*untilTimeCode (0/15)*/,
31146  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31147  },
31148  // 9:00 - +09 1944 Jul 31
31149  {
31150  nullptr /*zonePolicy*/,
31151  "+09" /*format*/,
31152  2160 /*offsetCode (32400/15)*/,
31153  0 /*offsetRemainder (32400%15)*/,
31154  0 /*deltaMinutes*/,
31155  1944 /*untilYear*/,
31156  7 /*untilMonth*/,
31157  31 /*untilDay*/,
31158  0 /*untilTimeCode (0/15)*/,
31159  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31160  },
31161  // 10:00 Guam G%sT 2000 Dec 23
31162  {
31163  &kZonePolicyGuam /*zonePolicy*/,
31164  "G%T" /*format*/,
31165  2400 /*offsetCode (36000/15)*/,
31166  0 /*offsetRemainder (36000%15)*/,
31167  0 /*deltaMinutes*/,
31168  2000 /*untilYear*/,
31169  12 /*untilMonth*/,
31170  23 /*untilDay*/,
31171  0 /*untilTimeCode (0/15)*/,
31172  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31173  },
31174  // 10:00 - ChST
31175  {
31176  nullptr /*zonePolicy*/,
31177  "ChST" /*format*/,
31178  2400 /*offsetCode (36000/15)*/,
31179  0 /*offsetRemainder (36000%15)*/,
31180  0 /*deltaMinutes*/,
31181  32767 /*untilYear*/,
31182  1 /*untilMonth*/,
31183  1 /*untilDay*/,
31184  0 /*untilTimeCode (0/15)*/,
31185  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31186  },
31187 
31188 };
31189 
31190 static const char kZoneNamePacific_Guam[] ACE_TIME_PROGMEM = "\x0e" "Guam";
31191 
31192 const complete::ZoneInfo kZonePacific_Guam ACE_TIME_PROGMEM = {
31193  kZoneNamePacific_Guam /*name*/,
31194  0x2338f9ed /*zoneId*/,
31195  &kZoneContext /*zoneContext*/,
31196  6 /*numEras*/,
31197  kZoneEraPacific_Guam /*eras*/,
31198  nullptr /*targetInfo*/,
31199 };
31200 
31201 //---------------------------------------------------------------------------
31202 // Zone name: Pacific/Honolulu
31203 // Eras: 5
31204 //---------------------------------------------------------------------------
31205 
31206 static const complete::ZoneEra kZoneEraPacific_Honolulu[] ACE_TIME_PROGMEM = {
31207  // -10:31:26 - LMT 1896 Jan 13 12:00
31208  {
31209  nullptr /*zonePolicy*/,
31210  "LMT" /*format*/,
31211  -2526 /*offsetCode (-37886/15)*/,
31212  4 /*offsetRemainder (-37886%15)*/,
31213  0 /*deltaMinutes*/,
31214  1896 /*untilYear*/,
31215  1 /*untilMonth*/,
31216  13 /*untilDay*/,
31217  2880 /*untilTimeCode (43200/15)*/,
31218  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31219  },
31220  // -10:30 - HST 1933 Apr 30 2:00
31221  {
31222  nullptr /*zonePolicy*/,
31223  "HST" /*format*/,
31224  -2520 /*offsetCode (-37800/15)*/,
31225  0 /*offsetRemainder (-37800%15)*/,
31226  0 /*deltaMinutes*/,
31227  1933 /*untilYear*/,
31228  4 /*untilMonth*/,
31229  30 /*untilDay*/,
31230  480 /*untilTimeCode (7200/15)*/,
31231  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31232  },
31233  // -10:30 1:00 HDT 1933 May 21 12:00
31234  {
31235  nullptr /*zonePolicy*/,
31236  "HDT" /*format*/,
31237  -2520 /*offsetCode (-37800/15)*/,
31238  0 /*offsetRemainder (-37800%15)*/,
31239  60 /*deltaMinutes*/,
31240  1933 /*untilYear*/,
31241  5 /*untilMonth*/,
31242  21 /*untilDay*/,
31243  2880 /*untilTimeCode (43200/15)*/,
31244  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31245  },
31246  // -10:30 US H%sT 1947 Jun 8 2:00
31247  {
31248  &kZonePolicyUS /*zonePolicy*/,
31249  "H%T" /*format*/,
31250  -2520 /*offsetCode (-37800/15)*/,
31251  0 /*offsetRemainder (-37800%15)*/,
31252  0 /*deltaMinutes*/,
31253  1947 /*untilYear*/,
31254  6 /*untilMonth*/,
31255  8 /*untilDay*/,
31256  480 /*untilTimeCode (7200/15)*/,
31257  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31258  },
31259  // -10:00 - HST
31260  {
31261  nullptr /*zonePolicy*/,
31262  "HST" /*format*/,
31263  -2400 /*offsetCode (-36000/15)*/,
31264  0 /*offsetRemainder (-36000%15)*/,
31265  0 /*deltaMinutes*/,
31266  32767 /*untilYear*/,
31267  1 /*untilMonth*/,
31268  1 /*untilDay*/,
31269  0 /*untilTimeCode (0/15)*/,
31270  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31271  },
31272 
31273 };
31274 
31275 static const char kZoneNamePacific_Honolulu[] ACE_TIME_PROGMEM = "\x0e" "Honolulu";
31276 
31277 const complete::ZoneInfo kZonePacific_Honolulu ACE_TIME_PROGMEM = {
31278  kZoneNamePacific_Honolulu /*name*/,
31279  0xe6e70af9 /*zoneId*/,
31280  &kZoneContext /*zoneContext*/,
31281  5 /*numEras*/,
31282  kZoneEraPacific_Honolulu /*eras*/,
31283  nullptr /*targetInfo*/,
31284 };
31285 
31286 //---------------------------------------------------------------------------
31287 // Zone name: Pacific/Kanton
31288 // Eras: 4
31289 //---------------------------------------------------------------------------
31290 
31291 static const complete::ZoneEra kZoneEraPacific_Kanton[] ACE_TIME_PROGMEM = {
31292  // 0 - -00 1937 Aug 31
31293  {
31294  nullptr /*zonePolicy*/,
31295  "-00" /*format*/,
31296  0 /*offsetCode (0/15)*/,
31297  0 /*offsetRemainder (0%15)*/,
31298  0 /*deltaMinutes*/,
31299  1937 /*untilYear*/,
31300  8 /*untilMonth*/,
31301  31 /*untilDay*/,
31302  0 /*untilTimeCode (0/15)*/,
31303  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31304  },
31305  // -12:00 - -12 1979 Oct
31306  {
31307  nullptr /*zonePolicy*/,
31308  "-12" /*format*/,
31309  -2880 /*offsetCode (-43200/15)*/,
31310  0 /*offsetRemainder (-43200%15)*/,
31311  0 /*deltaMinutes*/,
31312  1979 /*untilYear*/,
31313  10 /*untilMonth*/,
31314  1 /*untilDay*/,
31315  0 /*untilTimeCode (0/15)*/,
31316  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31317  },
31318  // -11:00 - -11 1994 Dec 31
31319  {
31320  nullptr /*zonePolicy*/,
31321  "-11" /*format*/,
31322  -2640 /*offsetCode (-39600/15)*/,
31323  0 /*offsetRemainder (-39600%15)*/,
31324  0 /*deltaMinutes*/,
31325  1994 /*untilYear*/,
31326  12 /*untilMonth*/,
31327  31 /*untilDay*/,
31328  0 /*untilTimeCode (0/15)*/,
31329  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31330  },
31331  // 13:00 - +13
31332  {
31333  nullptr /*zonePolicy*/,
31334  "+13" /*format*/,
31335  3120 /*offsetCode (46800/15)*/,
31336  0 /*offsetRemainder (46800%15)*/,
31337  0 /*deltaMinutes*/,
31338  32767 /*untilYear*/,
31339  1 /*untilMonth*/,
31340  1 /*untilDay*/,
31341  0 /*untilTimeCode (0/15)*/,
31342  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31343  },
31344 
31345 };
31346 
31347 static const char kZoneNamePacific_Kanton[] ACE_TIME_PROGMEM = "\x0e" "Kanton";
31348 
31349 const complete::ZoneInfo kZonePacific_Kanton ACE_TIME_PROGMEM = {
31350  kZoneNamePacific_Kanton /*name*/,
31351  0xdd512f0e /*zoneId*/,
31352  &kZoneContext /*zoneContext*/,
31353  4 /*numEras*/,
31354  kZoneEraPacific_Kanton /*eras*/,
31355  nullptr /*targetInfo*/,
31356 };
31357 
31358 //---------------------------------------------------------------------------
31359 // Zone name: Pacific/Kiritimati
31360 // Eras: 4
31361 //---------------------------------------------------------------------------
31362 
31363 static const complete::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = {
31364  // -10:29:20 - LMT 1901
31365  {
31366  nullptr /*zonePolicy*/,
31367  "LMT" /*format*/,
31368  -2518 /*offsetCode (-37760/15)*/,
31369  10 /*offsetRemainder (-37760%15)*/,
31370  0 /*deltaMinutes*/,
31371  1901 /*untilYear*/,
31372  1 /*untilMonth*/,
31373  1 /*untilDay*/,
31374  0 /*untilTimeCode (0/15)*/,
31375  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31376  },
31377  // -10:40 - -1040 1979 Oct
31378  {
31379  nullptr /*zonePolicy*/,
31380  "-1040" /*format*/,
31381  -2560 /*offsetCode (-38400/15)*/,
31382  0 /*offsetRemainder (-38400%15)*/,
31383  0 /*deltaMinutes*/,
31384  1979 /*untilYear*/,
31385  10 /*untilMonth*/,
31386  1 /*untilDay*/,
31387  0 /*untilTimeCode (0/15)*/,
31388  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31389  },
31390  // -10:00 - -10 1994 Dec 31
31391  {
31392  nullptr /*zonePolicy*/,
31393  "-10" /*format*/,
31394  -2400 /*offsetCode (-36000/15)*/,
31395  0 /*offsetRemainder (-36000%15)*/,
31396  0 /*deltaMinutes*/,
31397  1994 /*untilYear*/,
31398  12 /*untilMonth*/,
31399  31 /*untilDay*/,
31400  0 /*untilTimeCode (0/15)*/,
31401  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31402  },
31403  // 14:00 - +14
31404  {
31405  nullptr /*zonePolicy*/,
31406  "+14" /*format*/,
31407  3360 /*offsetCode (50400/15)*/,
31408  0 /*offsetRemainder (50400%15)*/,
31409  0 /*deltaMinutes*/,
31410  32767 /*untilYear*/,
31411  1 /*untilMonth*/,
31412  1 /*untilDay*/,
31413  0 /*untilTimeCode (0/15)*/,
31414  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31415  },
31416 
31417 };
31418 
31419 static const char kZoneNamePacific_Kiritimati[] ACE_TIME_PROGMEM = "\x0e" "Kiritimati";
31420 
31421 const complete::ZoneInfo kZonePacific_Kiritimati ACE_TIME_PROGMEM = {
31422  kZoneNamePacific_Kiritimati /*name*/,
31423  0x8305073a /*zoneId*/,
31424  &kZoneContext /*zoneContext*/,
31425  4 /*numEras*/,
31426  kZoneEraPacific_Kiritimati /*eras*/,
31427  nullptr /*targetInfo*/,
31428 };
31429 
31430 //---------------------------------------------------------------------------
31431 // Zone name: Pacific/Kosrae
31432 // Eras: 10
31433 //---------------------------------------------------------------------------
31434 
31435 static const complete::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = {
31436  // -13:08:04 - LMT 1844 Dec 31
31437  {
31438  nullptr /*zonePolicy*/,
31439  "LMT" /*format*/,
31440  -3153 /*offsetCode (-47284/15)*/,
31441  11 /*offsetRemainder (-47284%15)*/,
31442  0 /*deltaMinutes*/,
31443  1844 /*untilYear*/,
31444  12 /*untilMonth*/,
31445  31 /*untilDay*/,
31446  0 /*untilTimeCode (0/15)*/,
31447  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31448  },
31449  // 10:51:56 - LMT 1901
31450  {
31451  nullptr /*zonePolicy*/,
31452  "LMT" /*format*/,
31453  2607 /*offsetCode (39116/15)*/,
31454  11 /*offsetRemainder (39116%15)*/,
31455  0 /*deltaMinutes*/,
31456  1901 /*untilYear*/,
31457  1 /*untilMonth*/,
31458  1 /*untilDay*/,
31459  0 /*untilTimeCode (0/15)*/,
31460  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31461  },
31462  // 11:00 - +11 1914 Oct
31463  {
31464  nullptr /*zonePolicy*/,
31465  "+11" /*format*/,
31466  2640 /*offsetCode (39600/15)*/,
31467  0 /*offsetRemainder (39600%15)*/,
31468  0 /*deltaMinutes*/,
31469  1914 /*untilYear*/,
31470  10 /*untilMonth*/,
31471  1 /*untilDay*/,
31472  0 /*untilTimeCode (0/15)*/,
31473  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31474  },
31475  // 9:00 - +09 1919 Feb 1
31476  {
31477  nullptr /*zonePolicy*/,
31478  "+09" /*format*/,
31479  2160 /*offsetCode (32400/15)*/,
31480  0 /*offsetRemainder (32400%15)*/,
31481  0 /*deltaMinutes*/,
31482  1919 /*untilYear*/,
31483  2 /*untilMonth*/,
31484  1 /*untilDay*/,
31485  0 /*untilTimeCode (0/15)*/,
31486  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31487  },
31488  // 11:00 - +11 1937
31489  {
31490  nullptr /*zonePolicy*/,
31491  "+11" /*format*/,
31492  2640 /*offsetCode (39600/15)*/,
31493  0 /*offsetRemainder (39600%15)*/,
31494  0 /*deltaMinutes*/,
31495  1937 /*untilYear*/,
31496  1 /*untilMonth*/,
31497  1 /*untilDay*/,
31498  0 /*untilTimeCode (0/15)*/,
31499  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31500  },
31501  // 10:00 - +10 1941 Apr 1
31502  {
31503  nullptr /*zonePolicy*/,
31504  "+10" /*format*/,
31505  2400 /*offsetCode (36000/15)*/,
31506  0 /*offsetRemainder (36000%15)*/,
31507  0 /*deltaMinutes*/,
31508  1941 /*untilYear*/,
31509  4 /*untilMonth*/,
31510  1 /*untilDay*/,
31511  0 /*untilTimeCode (0/15)*/,
31512  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31513  },
31514  // 9:00 - +09 1945 Aug
31515  {
31516  nullptr /*zonePolicy*/,
31517  "+09" /*format*/,
31518  2160 /*offsetCode (32400/15)*/,
31519  0 /*offsetRemainder (32400%15)*/,
31520  0 /*deltaMinutes*/,
31521  1945 /*untilYear*/,
31522  8 /*untilMonth*/,
31523  1 /*untilDay*/,
31524  0 /*untilTimeCode (0/15)*/,
31525  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31526  },
31527  // 11:00 - +11 1969 Oct
31528  {
31529  nullptr /*zonePolicy*/,
31530  "+11" /*format*/,
31531  2640 /*offsetCode (39600/15)*/,
31532  0 /*offsetRemainder (39600%15)*/,
31533  0 /*deltaMinutes*/,
31534  1969 /*untilYear*/,
31535  10 /*untilMonth*/,
31536  1 /*untilDay*/,
31537  0 /*untilTimeCode (0/15)*/,
31538  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31539  },
31540  // 12:00 - +12 1999
31541  {
31542  nullptr /*zonePolicy*/,
31543  "+12" /*format*/,
31544  2880 /*offsetCode (43200/15)*/,
31545  0 /*offsetRemainder (43200%15)*/,
31546  0 /*deltaMinutes*/,
31547  1999 /*untilYear*/,
31548  1 /*untilMonth*/,
31549  1 /*untilDay*/,
31550  0 /*untilTimeCode (0/15)*/,
31551  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31552  },
31553  // 11:00 - +11
31554  {
31555  nullptr /*zonePolicy*/,
31556  "+11" /*format*/,
31557  2640 /*offsetCode (39600/15)*/,
31558  0 /*offsetRemainder (39600%15)*/,
31559  0 /*deltaMinutes*/,
31560  32767 /*untilYear*/,
31561  1 /*untilMonth*/,
31562  1 /*untilDay*/,
31563  0 /*untilTimeCode (0/15)*/,
31564  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31565  },
31566 
31567 };
31568 
31569 static const char kZoneNamePacific_Kosrae[] ACE_TIME_PROGMEM = "\x0e" "Kosrae";
31570 
31571 const complete::ZoneInfo kZonePacific_Kosrae ACE_TIME_PROGMEM = {
31572  kZoneNamePacific_Kosrae /*name*/,
31573  0xde5139a8 /*zoneId*/,
31574  &kZoneContext /*zoneContext*/,
31575  10 /*numEras*/,
31576  kZoneEraPacific_Kosrae /*eras*/,
31577  nullptr /*targetInfo*/,
31578 };
31579 
31580 //---------------------------------------------------------------------------
31581 // Zone name: Pacific/Kwajalein
31582 // Eras: 7
31583 //---------------------------------------------------------------------------
31584 
31585 static const complete::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = {
31586  // 11:09:20 - LMT 1901
31587  {
31588  nullptr /*zonePolicy*/,
31589  "LMT" /*format*/,
31590  2677 /*offsetCode (40160/15)*/,
31591  5 /*offsetRemainder (40160%15)*/,
31592  0 /*deltaMinutes*/,
31593  1901 /*untilYear*/,
31594  1 /*untilMonth*/,
31595  1 /*untilDay*/,
31596  0 /*untilTimeCode (0/15)*/,
31597  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31598  },
31599  // 11:00 - +11 1937
31600  {
31601  nullptr /*zonePolicy*/,
31602  "+11" /*format*/,
31603  2640 /*offsetCode (39600/15)*/,
31604  0 /*offsetRemainder (39600%15)*/,
31605  0 /*deltaMinutes*/,
31606  1937 /*untilYear*/,
31607  1 /*untilMonth*/,
31608  1 /*untilDay*/,
31609  0 /*untilTimeCode (0/15)*/,
31610  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31611  },
31612  // 10:00 - +10 1941 Apr 1
31613  {
31614  nullptr /*zonePolicy*/,
31615  "+10" /*format*/,
31616  2400 /*offsetCode (36000/15)*/,
31617  0 /*offsetRemainder (36000%15)*/,
31618  0 /*deltaMinutes*/,
31619  1941 /*untilYear*/,
31620  4 /*untilMonth*/,
31621  1 /*untilDay*/,
31622  0 /*untilTimeCode (0/15)*/,
31623  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31624  },
31625  // 9:00 - +09 1944 Feb 6
31626  {
31627  nullptr /*zonePolicy*/,
31628  "+09" /*format*/,
31629  2160 /*offsetCode (32400/15)*/,
31630  0 /*offsetRemainder (32400%15)*/,
31631  0 /*deltaMinutes*/,
31632  1944 /*untilYear*/,
31633  2 /*untilMonth*/,
31634  6 /*untilDay*/,
31635  0 /*untilTimeCode (0/15)*/,
31636  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31637  },
31638  // 11:00 - +11 1969 Oct
31639  {
31640  nullptr /*zonePolicy*/,
31641  "+11" /*format*/,
31642  2640 /*offsetCode (39600/15)*/,
31643  0 /*offsetRemainder (39600%15)*/,
31644  0 /*deltaMinutes*/,
31645  1969 /*untilYear*/,
31646  10 /*untilMonth*/,
31647  1 /*untilDay*/,
31648  0 /*untilTimeCode (0/15)*/,
31649  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31650  },
31651  // -12:00 - -12 1993 Aug 20 24:00
31652  {
31653  nullptr /*zonePolicy*/,
31654  "-12" /*format*/,
31655  -2880 /*offsetCode (-43200/15)*/,
31656  0 /*offsetRemainder (-43200%15)*/,
31657  0 /*deltaMinutes*/,
31658  1993 /*untilYear*/,
31659  8 /*untilMonth*/,
31660  20 /*untilDay*/,
31661  5760 /*untilTimeCode (86400/15)*/,
31662  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31663  },
31664  // 12:00 - +12
31665  {
31666  nullptr /*zonePolicy*/,
31667  "+12" /*format*/,
31668  2880 /*offsetCode (43200/15)*/,
31669  0 /*offsetRemainder (43200%15)*/,
31670  0 /*deltaMinutes*/,
31671  32767 /*untilYear*/,
31672  1 /*untilMonth*/,
31673  1 /*untilDay*/,
31674  0 /*untilTimeCode (0/15)*/,
31675  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31676  },
31677 
31678 };
31679 
31680 static const char kZoneNamePacific_Kwajalein[] ACE_TIME_PROGMEM = "\x0e" "Kwajalein";
31681 
31682 const complete::ZoneInfo kZonePacific_Kwajalein ACE_TIME_PROGMEM = {
31683  kZoneNamePacific_Kwajalein /*name*/,
31684  0x8e216759 /*zoneId*/,
31685  &kZoneContext /*zoneContext*/,
31686  7 /*numEras*/,
31687  kZoneEraPacific_Kwajalein /*eras*/,
31688  nullptr /*targetInfo*/,
31689 };
31690 
31691 //---------------------------------------------------------------------------
31692 // Zone name: Pacific/Marquesas
31693 // Eras: 2
31694 //---------------------------------------------------------------------------
31695 
31696 static const complete::ZoneEra kZoneEraPacific_Marquesas[] ACE_TIME_PROGMEM = {
31697  // -9:18:00 - LMT 1912 Oct
31698  {
31699  nullptr /*zonePolicy*/,
31700  "LMT" /*format*/,
31701  -2232 /*offsetCode (-33480/15)*/,
31702  0 /*offsetRemainder (-33480%15)*/,
31703  0 /*deltaMinutes*/,
31704  1912 /*untilYear*/,
31705  10 /*untilMonth*/,
31706  1 /*untilDay*/,
31707  0 /*untilTimeCode (0/15)*/,
31708  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31709  },
31710  // -9:30 - -0930
31711  {
31712  nullptr /*zonePolicy*/,
31713  "-0930" /*format*/,
31714  -2280 /*offsetCode (-34200/15)*/,
31715  0 /*offsetRemainder (-34200%15)*/,
31716  0 /*deltaMinutes*/,
31717  32767 /*untilYear*/,
31718  1 /*untilMonth*/,
31719  1 /*untilDay*/,
31720  0 /*untilTimeCode (0/15)*/,
31721  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31722  },
31723 
31724 };
31725 
31726 static const char kZoneNamePacific_Marquesas[] ACE_TIME_PROGMEM = "\x0e" "Marquesas";
31727 
31728 const complete::ZoneInfo kZonePacific_Marquesas ACE_TIME_PROGMEM = {
31729  kZoneNamePacific_Marquesas /*name*/,
31730  0x57ca7135 /*zoneId*/,
31731  &kZoneContext /*zoneContext*/,
31732  2 /*numEras*/,
31733  kZoneEraPacific_Marquesas /*eras*/,
31734  nullptr /*targetInfo*/,
31735 };
31736 
31737 //---------------------------------------------------------------------------
31738 // Zone name: Pacific/Nauru
31739 // Eras: 5
31740 //---------------------------------------------------------------------------
31741 
31742 static const complete::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = {
31743  // 11:07:40 - LMT 1921 Jan 15
31744  {
31745  nullptr /*zonePolicy*/,
31746  "LMT" /*format*/,
31747  2670 /*offsetCode (40060/15)*/,
31748  10 /*offsetRemainder (40060%15)*/,
31749  0 /*deltaMinutes*/,
31750  1921 /*untilYear*/,
31751  1 /*untilMonth*/,
31752  15 /*untilDay*/,
31753  0 /*untilTimeCode (0/15)*/,
31754  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31755  },
31756  // 11:30 - +1130 1942 Aug 29
31757  {
31758  nullptr /*zonePolicy*/,
31759  "+1130" /*format*/,
31760  2760 /*offsetCode (41400/15)*/,
31761  0 /*offsetRemainder (41400%15)*/,
31762  0 /*deltaMinutes*/,
31763  1942 /*untilYear*/,
31764  8 /*untilMonth*/,
31765  29 /*untilDay*/,
31766  0 /*untilTimeCode (0/15)*/,
31767  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31768  },
31769  // 9:00 - +09 1945 Sep 8
31770  {
31771  nullptr /*zonePolicy*/,
31772  "+09" /*format*/,
31773  2160 /*offsetCode (32400/15)*/,
31774  0 /*offsetRemainder (32400%15)*/,
31775  0 /*deltaMinutes*/,
31776  1945 /*untilYear*/,
31777  9 /*untilMonth*/,
31778  8 /*untilDay*/,
31779  0 /*untilTimeCode (0/15)*/,
31780  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31781  },
31782  // 11:30 - +1130 1979 Feb 10 2:00
31783  {
31784  nullptr /*zonePolicy*/,
31785  "+1130" /*format*/,
31786  2760 /*offsetCode (41400/15)*/,
31787  0 /*offsetRemainder (41400%15)*/,
31788  0 /*deltaMinutes*/,
31789  1979 /*untilYear*/,
31790  2 /*untilMonth*/,
31791  10 /*untilDay*/,
31792  480 /*untilTimeCode (7200/15)*/,
31793  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31794  },
31795  // 12:00 - +12
31796  {
31797  nullptr /*zonePolicy*/,
31798  "+12" /*format*/,
31799  2880 /*offsetCode (43200/15)*/,
31800  0 /*offsetRemainder (43200%15)*/,
31801  0 /*deltaMinutes*/,
31802  32767 /*untilYear*/,
31803  1 /*untilMonth*/,
31804  1 /*untilDay*/,
31805  0 /*untilTimeCode (0/15)*/,
31806  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31807  },
31808 
31809 };
31810 
31811 static const char kZoneNamePacific_Nauru[] ACE_TIME_PROGMEM = "\x0e" "Nauru";
31812 
31813 const complete::ZoneInfo kZonePacific_Nauru ACE_TIME_PROGMEM = {
31814  kZoneNamePacific_Nauru /*name*/,
31815  0x8acc41ae /*zoneId*/,
31816  &kZoneContext /*zoneContext*/,
31817  5 /*numEras*/,
31818  kZoneEraPacific_Nauru /*eras*/,
31819  nullptr /*targetInfo*/,
31820 };
31821 
31822 //---------------------------------------------------------------------------
31823 // Zone name: Pacific/Niue
31824 // Eras: 3
31825 //---------------------------------------------------------------------------
31826 
31827 static const complete::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = {
31828  // -11:19:40 - LMT 1952 Oct 16
31829  {
31830  nullptr /*zonePolicy*/,
31831  "LMT" /*format*/,
31832  -2719 /*offsetCode (-40780/15)*/,
31833  5 /*offsetRemainder (-40780%15)*/,
31834  0 /*deltaMinutes*/,
31835  1952 /*untilYear*/,
31836  10 /*untilMonth*/,
31837  16 /*untilDay*/,
31838  0 /*untilTimeCode (0/15)*/,
31839  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31840  },
31841  // -11:20 - -1120 1964 Jul
31842  {
31843  nullptr /*zonePolicy*/,
31844  "-1120" /*format*/,
31845  -2720 /*offsetCode (-40800/15)*/,
31846  0 /*offsetRemainder (-40800%15)*/,
31847  0 /*deltaMinutes*/,
31848  1964 /*untilYear*/,
31849  7 /*untilMonth*/,
31850  1 /*untilDay*/,
31851  0 /*untilTimeCode (0/15)*/,
31852  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31853  },
31854  // -11:00 - -11
31855  {
31856  nullptr /*zonePolicy*/,
31857  "-11" /*format*/,
31858  -2640 /*offsetCode (-39600/15)*/,
31859  0 /*offsetRemainder (-39600%15)*/,
31860  0 /*deltaMinutes*/,
31861  32767 /*untilYear*/,
31862  1 /*untilMonth*/,
31863  1 /*untilDay*/,
31864  0 /*untilTimeCode (0/15)*/,
31865  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31866  },
31867 
31868 };
31869 
31870 static const char kZoneNamePacific_Niue[] ACE_TIME_PROGMEM = "\x0e" "Niue";
31871 
31872 const complete::ZoneInfo kZonePacific_Niue ACE_TIME_PROGMEM = {
31873  kZoneNamePacific_Niue /*name*/,
31874  0x233ca014 /*zoneId*/,
31875  &kZoneContext /*zoneContext*/,
31876  3 /*numEras*/,
31877  kZoneEraPacific_Niue /*eras*/,
31878  nullptr /*targetInfo*/,
31879 };
31880 
31881 //---------------------------------------------------------------------------
31882 // Zone name: Pacific/Norfolk
31883 // Eras: 7
31884 //---------------------------------------------------------------------------
31885 
31886 static const complete::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = {
31887  // 11:11:52 - LMT 1901
31888  {
31889  nullptr /*zonePolicy*/,
31890  "LMT" /*format*/,
31891  2687 /*offsetCode (40312/15)*/,
31892  7 /*offsetRemainder (40312%15)*/,
31893  0 /*deltaMinutes*/,
31894  1901 /*untilYear*/,
31895  1 /*untilMonth*/,
31896  1 /*untilDay*/,
31897  0 /*untilTimeCode (0/15)*/,
31898  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31899  },
31900  // 11:12 - +1112 1951
31901  {
31902  nullptr /*zonePolicy*/,
31903  "+1112" /*format*/,
31904  2688 /*offsetCode (40320/15)*/,
31905  0 /*offsetRemainder (40320%15)*/,
31906  0 /*deltaMinutes*/,
31907  1951 /*untilYear*/,
31908  1 /*untilMonth*/,
31909  1 /*untilDay*/,
31910  0 /*untilTimeCode (0/15)*/,
31911  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31912  },
31913  // 11:30 - +1130 1974 Oct 27 02:00s
31914  {
31915  nullptr /*zonePolicy*/,
31916  "+1130" /*format*/,
31917  2760 /*offsetCode (41400/15)*/,
31918  0 /*offsetRemainder (41400%15)*/,
31919  0 /*deltaMinutes*/,
31920  1974 /*untilYear*/,
31921  10 /*untilMonth*/,
31922  27 /*untilDay*/,
31923  480 /*untilTimeCode (7200/15)*/,
31924  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
31925  },
31926  // 11:30 1:00 +1230 1975 Mar 2 02:00s
31927  {
31928  nullptr /*zonePolicy*/,
31929  "+1230" /*format*/,
31930  2760 /*offsetCode (41400/15)*/,
31931  0 /*offsetRemainder (41400%15)*/,
31932  60 /*deltaMinutes*/,
31933  1975 /*untilYear*/,
31934  3 /*untilMonth*/,
31935  2 /*untilDay*/,
31936  480 /*untilTimeCode (7200/15)*/,
31937  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
31938  },
31939  // 11:30 - +1130 2015 Oct 4 02:00s
31940  {
31941  nullptr /*zonePolicy*/,
31942  "+1130" /*format*/,
31943  2760 /*offsetCode (41400/15)*/,
31944  0 /*offsetRemainder (41400%15)*/,
31945  0 /*deltaMinutes*/,
31946  2015 /*untilYear*/,
31947  10 /*untilMonth*/,
31948  4 /*untilDay*/,
31949  480 /*untilTimeCode (7200/15)*/,
31950  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
31951  },
31952  // 11:00 - +11 2019 Jul
31953  {
31954  nullptr /*zonePolicy*/,
31955  "+11" /*format*/,
31956  2640 /*offsetCode (39600/15)*/,
31957  0 /*offsetRemainder (39600%15)*/,
31958  0 /*deltaMinutes*/,
31959  2019 /*untilYear*/,
31960  7 /*untilMonth*/,
31961  1 /*untilDay*/,
31962  0 /*untilTimeCode (0/15)*/,
31963  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31964  },
31965  // 11:00 AN +11/+12
31966  {
31967  &kZonePolicyAN /*zonePolicy*/,
31968  "+11/+12" /*format*/,
31969  2640 /*offsetCode (39600/15)*/,
31970  0 /*offsetRemainder (39600%15)*/,
31971  0 /*deltaMinutes*/,
31972  32767 /*untilYear*/,
31973  1 /*untilMonth*/,
31974  1 /*untilDay*/,
31975  0 /*untilTimeCode (0/15)*/,
31976  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31977  },
31978 
31979 };
31980 
31981 static const char kZoneNamePacific_Norfolk[] ACE_TIME_PROGMEM = "\x0e" "Norfolk";
31982 
31983 const complete::ZoneInfo kZonePacific_Norfolk ACE_TIME_PROGMEM = {
31984  kZoneNamePacific_Norfolk /*name*/,
31985  0x8f4eb4be /*zoneId*/,
31986  &kZoneContext /*zoneContext*/,
31987  7 /*numEras*/,
31988  kZoneEraPacific_Norfolk /*eras*/,
31989  nullptr /*targetInfo*/,
31990 };
31991 
31992 //---------------------------------------------------------------------------
31993 // Zone name: Pacific/Noumea
31994 // Eras: 2
31995 //---------------------------------------------------------------------------
31996 
31997 static const complete::ZoneEra kZoneEraPacific_Noumea[] ACE_TIME_PROGMEM = {
31998  // 11:05:48 - LMT 1912 Jan 13
31999  {
32000  nullptr /*zonePolicy*/,
32001  "LMT" /*format*/,
32002  2663 /*offsetCode (39948/15)*/,
32003  3 /*offsetRemainder (39948%15)*/,
32004  0 /*deltaMinutes*/,
32005  1912 /*untilYear*/,
32006  1 /*untilMonth*/,
32007  13 /*untilDay*/,
32008  0 /*untilTimeCode (0/15)*/,
32009  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32010  },
32011  // 11:00 NC +11/+12
32012  {
32013  &kZonePolicyNC /*zonePolicy*/,
32014  "+11/+12" /*format*/,
32015  2640 /*offsetCode (39600/15)*/,
32016  0 /*offsetRemainder (39600%15)*/,
32017  0 /*deltaMinutes*/,
32018  32767 /*untilYear*/,
32019  1 /*untilMonth*/,
32020  1 /*untilDay*/,
32021  0 /*untilTimeCode (0/15)*/,
32022  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32023  },
32024 
32025 };
32026 
32027 static const char kZoneNamePacific_Noumea[] ACE_TIME_PROGMEM = "\x0e" "Noumea";
32028 
32029 const complete::ZoneInfo kZonePacific_Noumea ACE_TIME_PROGMEM = {
32030  kZoneNamePacific_Noumea /*name*/,
32031  0xe551b788 /*zoneId*/,
32032  &kZoneContext /*zoneContext*/,
32033  2 /*numEras*/,
32034  kZoneEraPacific_Noumea /*eras*/,
32035  nullptr /*targetInfo*/,
32036 };
32037 
32038 //---------------------------------------------------------------------------
32039 // Zone name: Pacific/Pago_Pago
32040 // Eras: 3
32041 //---------------------------------------------------------------------------
32042 
32043 static const complete::ZoneEra kZoneEraPacific_Pago_Pago[] ACE_TIME_PROGMEM = {
32044  // 12:37:12 - LMT 1892 Jul 5
32045  {
32046  nullptr /*zonePolicy*/,
32047  "LMT" /*format*/,
32048  3028 /*offsetCode (45432/15)*/,
32049  12 /*offsetRemainder (45432%15)*/,
32050  0 /*deltaMinutes*/,
32051  1892 /*untilYear*/,
32052  7 /*untilMonth*/,
32053  5 /*untilDay*/,
32054  0 /*untilTimeCode (0/15)*/,
32055  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32056  },
32057  // -11:22:48 - LMT 1911
32058  {
32059  nullptr /*zonePolicy*/,
32060  "LMT" /*format*/,
32061  -2732 /*offsetCode (-40968/15)*/,
32062  12 /*offsetRemainder (-40968%15)*/,
32063  0 /*deltaMinutes*/,
32064  1911 /*untilYear*/,
32065  1 /*untilMonth*/,
32066  1 /*untilDay*/,
32067  0 /*untilTimeCode (0/15)*/,
32068  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32069  },
32070  // -11:00 - SST
32071  {
32072  nullptr /*zonePolicy*/,
32073  "SST" /*format*/,
32074  -2640 /*offsetCode (-39600/15)*/,
32075  0 /*offsetRemainder (-39600%15)*/,
32076  0 /*deltaMinutes*/,
32077  32767 /*untilYear*/,
32078  1 /*untilMonth*/,
32079  1 /*untilDay*/,
32080  0 /*untilTimeCode (0/15)*/,
32081  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32082  },
32083 
32084 };
32085 
32086 static const char kZoneNamePacific_Pago_Pago[] ACE_TIME_PROGMEM = "\x0e" "Pago_Pago";
32087 
32088 const complete::ZoneInfo kZonePacific_Pago_Pago ACE_TIME_PROGMEM = {
32089  kZoneNamePacific_Pago_Pago /*name*/,
32090  0x603aebd0 /*zoneId*/,
32091  &kZoneContext /*zoneContext*/,
32092  3 /*numEras*/,
32093  kZoneEraPacific_Pago_Pago /*eras*/,
32094  nullptr /*targetInfo*/,
32095 };
32096 
32097 //---------------------------------------------------------------------------
32098 // Zone name: Pacific/Palau
32099 // Eras: 3
32100 //---------------------------------------------------------------------------
32101 
32102 static const complete::ZoneEra kZoneEraPacific_Palau[] ACE_TIME_PROGMEM = {
32103  // -15:02:04 - LMT 1844 Dec 31
32104  {
32105  nullptr /*zonePolicy*/,
32106  "LMT" /*format*/,
32107  -3609 /*offsetCode (-54124/15)*/,
32108  11 /*offsetRemainder (-54124%15)*/,
32109  0 /*deltaMinutes*/,
32110  1844 /*untilYear*/,
32111  12 /*untilMonth*/,
32112  31 /*untilDay*/,
32113  0 /*untilTimeCode (0/15)*/,
32114  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32115  },
32116  // 8:57:56 - LMT 1901
32117  {
32118  nullptr /*zonePolicy*/,
32119  "LMT" /*format*/,
32120  2151 /*offsetCode (32276/15)*/,
32121  11 /*offsetRemainder (32276%15)*/,
32122  0 /*deltaMinutes*/,
32123  1901 /*untilYear*/,
32124  1 /*untilMonth*/,
32125  1 /*untilDay*/,
32126  0 /*untilTimeCode (0/15)*/,
32127  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32128  },
32129  // 9:00 - +09
32130  {
32131  nullptr /*zonePolicy*/,
32132  "+09" /*format*/,
32133  2160 /*offsetCode (32400/15)*/,
32134  0 /*offsetRemainder (32400%15)*/,
32135  0 /*deltaMinutes*/,
32136  32767 /*untilYear*/,
32137  1 /*untilMonth*/,
32138  1 /*untilDay*/,
32139  0 /*untilTimeCode (0/15)*/,
32140  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32141  },
32142 
32143 };
32144 
32145 static const char kZoneNamePacific_Palau[] ACE_TIME_PROGMEM = "\x0e" "Palau";
32146 
32147 const complete::ZoneInfo kZonePacific_Palau ACE_TIME_PROGMEM = {
32148  kZoneNamePacific_Palau /*name*/,
32149  0x8af04a36 /*zoneId*/,
32150  &kZoneContext /*zoneContext*/,
32151  3 /*numEras*/,
32152  kZoneEraPacific_Palau /*eras*/,
32153  nullptr /*targetInfo*/,
32154 };
32155 
32156 //---------------------------------------------------------------------------
32157 // Zone name: Pacific/Pitcairn
32158 // Eras: 3
32159 //---------------------------------------------------------------------------
32160 
32161 static const complete::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = {
32162  // -8:40:20 - LMT 1901
32163  {
32164  nullptr /*zonePolicy*/,
32165  "LMT" /*format*/,
32166  -2082 /*offsetCode (-31220/15)*/,
32167  10 /*offsetRemainder (-31220%15)*/,
32168  0 /*deltaMinutes*/,
32169  1901 /*untilYear*/,
32170  1 /*untilMonth*/,
32171  1 /*untilDay*/,
32172  0 /*untilTimeCode (0/15)*/,
32173  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32174  },
32175  // -8:30 - -0830 1998 Apr 27 0:00
32176  {
32177  nullptr /*zonePolicy*/,
32178  "-0830" /*format*/,
32179  -2040 /*offsetCode (-30600/15)*/,
32180  0 /*offsetRemainder (-30600%15)*/,
32181  0 /*deltaMinutes*/,
32182  1998 /*untilYear*/,
32183  4 /*untilMonth*/,
32184  27 /*untilDay*/,
32185  0 /*untilTimeCode (0/15)*/,
32186  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32187  },
32188  // -8:00 - -08
32189  {
32190  nullptr /*zonePolicy*/,
32191  "-08" /*format*/,
32192  -1920 /*offsetCode (-28800/15)*/,
32193  0 /*offsetRemainder (-28800%15)*/,
32194  0 /*deltaMinutes*/,
32195  32767 /*untilYear*/,
32196  1 /*untilMonth*/,
32197  1 /*untilDay*/,
32198  0 /*untilTimeCode (0/15)*/,
32199  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32200  },
32201 
32202 };
32203 
32204 static const char kZoneNamePacific_Pitcairn[] ACE_TIME_PROGMEM = "\x0e" "Pitcairn";
32205 
32206 const complete::ZoneInfo kZonePacific_Pitcairn ACE_TIME_PROGMEM = {
32207  kZoneNamePacific_Pitcairn /*name*/,
32208  0x8837d8bd /*zoneId*/,
32209  &kZoneContext /*zoneContext*/,
32210  3 /*numEras*/,
32211  kZoneEraPacific_Pitcairn /*eras*/,
32212  nullptr /*targetInfo*/,
32213 };
32214 
32215 //---------------------------------------------------------------------------
32216 // Zone name: Pacific/Port_Moresby
32217 // Eras: 3
32218 //---------------------------------------------------------------------------
32219 
32220 static const complete::ZoneEra kZoneEraPacific_Port_Moresby[] ACE_TIME_PROGMEM = {
32221  // 9:48:40 - LMT 1880
32222  {
32223  nullptr /*zonePolicy*/,
32224  "LMT" /*format*/,
32225  2354 /*offsetCode (35320/15)*/,
32226  10 /*offsetRemainder (35320%15)*/,
32227  0 /*deltaMinutes*/,
32228  1880 /*untilYear*/,
32229  1 /*untilMonth*/,
32230  1 /*untilDay*/,
32231  0 /*untilTimeCode (0/15)*/,
32232  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32233  },
32234  // 9:48:32 - PMMT 1895
32235  {
32236  nullptr /*zonePolicy*/,
32237  "PMMT" /*format*/,
32238  2354 /*offsetCode (35312/15)*/,
32239  2 /*offsetRemainder (35312%15)*/,
32240  0 /*deltaMinutes*/,
32241  1895 /*untilYear*/,
32242  1 /*untilMonth*/,
32243  1 /*untilDay*/,
32244  0 /*untilTimeCode (0/15)*/,
32245  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32246  },
32247  // 10:00 - +10
32248  {
32249  nullptr /*zonePolicy*/,
32250  "+10" /*format*/,
32251  2400 /*offsetCode (36000/15)*/,
32252  0 /*offsetRemainder (36000%15)*/,
32253  0 /*deltaMinutes*/,
32254  32767 /*untilYear*/,
32255  1 /*untilMonth*/,
32256  1 /*untilDay*/,
32257  0 /*untilTimeCode (0/15)*/,
32258  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32259  },
32260 
32261 };
32262 
32263 static const char kZoneNamePacific_Port_Moresby[] ACE_TIME_PROGMEM = "\x0e" "Port_Moresby";
32264 
32265 const complete::ZoneInfo kZonePacific_Port_Moresby ACE_TIME_PROGMEM = {
32266  kZoneNamePacific_Port_Moresby /*name*/,
32267  0xa7ba7f68 /*zoneId*/,
32268  &kZoneContext /*zoneContext*/,
32269  3 /*numEras*/,
32270  kZoneEraPacific_Port_Moresby /*eras*/,
32271  nullptr /*targetInfo*/,
32272 };
32273 
32274 //---------------------------------------------------------------------------
32275 // Zone name: Pacific/Rarotonga
32276 // Eras: 4
32277 //---------------------------------------------------------------------------
32278 
32279 static const complete::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = {
32280  // 13:20:56 - LMT 1899 Dec 26
32281  {
32282  nullptr /*zonePolicy*/,
32283  "LMT" /*format*/,
32284  3203 /*offsetCode (48056/15)*/,
32285  11 /*offsetRemainder (48056%15)*/,
32286  0 /*deltaMinutes*/,
32287  1899 /*untilYear*/,
32288  12 /*untilMonth*/,
32289  26 /*untilDay*/,
32290  0 /*untilTimeCode (0/15)*/,
32291  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32292  },
32293  // -10:39:04 - LMT 1952 Oct 16
32294  {
32295  nullptr /*zonePolicy*/,
32296  "LMT" /*format*/,
32297  -2557 /*offsetCode (-38344/15)*/,
32298  11 /*offsetRemainder (-38344%15)*/,
32299  0 /*deltaMinutes*/,
32300  1952 /*untilYear*/,
32301  10 /*untilMonth*/,
32302  16 /*untilDay*/,
32303  0 /*untilTimeCode (0/15)*/,
32304  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32305  },
32306  // -10:30 - -1030 1978 Nov 12
32307  {
32308  nullptr /*zonePolicy*/,
32309  "-1030" /*format*/,
32310  -2520 /*offsetCode (-37800/15)*/,
32311  0 /*offsetRemainder (-37800%15)*/,
32312  0 /*deltaMinutes*/,
32313  1978 /*untilYear*/,
32314  11 /*untilMonth*/,
32315  12 /*untilDay*/,
32316  0 /*untilTimeCode (0/15)*/,
32317  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32318  },
32319  // -10:00 Cook -10/-0930
32320  {
32321  &kZonePolicyCook /*zonePolicy*/,
32322  "-10/-0930" /*format*/,
32323  -2400 /*offsetCode (-36000/15)*/,
32324  0 /*offsetRemainder (-36000%15)*/,
32325  0 /*deltaMinutes*/,
32326  32767 /*untilYear*/,
32327  1 /*untilMonth*/,
32328  1 /*untilDay*/,
32329  0 /*untilTimeCode (0/15)*/,
32330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32331  },
32332 
32333 };
32334 
32335 static const char kZoneNamePacific_Rarotonga[] ACE_TIME_PROGMEM = "\x0e" "Rarotonga";
32336 
32337 const complete::ZoneInfo kZonePacific_Rarotonga ACE_TIME_PROGMEM = {
32338  kZoneNamePacific_Rarotonga /*name*/,
32339  0x9981a3b0 /*zoneId*/,
32340  &kZoneContext /*zoneContext*/,
32341  4 /*numEras*/,
32342  kZoneEraPacific_Rarotonga /*eras*/,
32343  nullptr /*targetInfo*/,
32344 };
32345 
32346 //---------------------------------------------------------------------------
32347 // Zone name: Pacific/Tahiti
32348 // Eras: 2
32349 //---------------------------------------------------------------------------
32350 
32351 static const complete::ZoneEra kZoneEraPacific_Tahiti[] ACE_TIME_PROGMEM = {
32352  // -9:58:16 - LMT 1912 Oct
32353  {
32354  nullptr /*zonePolicy*/,
32355  "LMT" /*format*/,
32356  -2394 /*offsetCode (-35896/15)*/,
32357  14 /*offsetRemainder (-35896%15)*/,
32358  0 /*deltaMinutes*/,
32359  1912 /*untilYear*/,
32360  10 /*untilMonth*/,
32361  1 /*untilDay*/,
32362  0 /*untilTimeCode (0/15)*/,
32363  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32364  },
32365  // -10:00 - -10
32366  {
32367  nullptr /*zonePolicy*/,
32368  "-10" /*format*/,
32369  -2400 /*offsetCode (-36000/15)*/,
32370  0 /*offsetRemainder (-36000%15)*/,
32371  0 /*deltaMinutes*/,
32372  32767 /*untilYear*/,
32373  1 /*untilMonth*/,
32374  1 /*untilDay*/,
32375  0 /*untilTimeCode (0/15)*/,
32376  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32377  },
32378 
32379 };
32380 
32381 static const char kZoneNamePacific_Tahiti[] ACE_TIME_PROGMEM = "\x0e" "Tahiti";
32382 
32383 const complete::ZoneInfo kZonePacific_Tahiti ACE_TIME_PROGMEM = {
32384  kZoneNamePacific_Tahiti /*name*/,
32385  0xf24c2446 /*zoneId*/,
32386  &kZoneContext /*zoneContext*/,
32387  2 /*numEras*/,
32388  kZoneEraPacific_Tahiti /*eras*/,
32389  nullptr /*targetInfo*/,
32390 };
32391 
32392 //---------------------------------------------------------------------------
32393 // Zone name: Pacific/Tarawa
32394 // Eras: 2
32395 //---------------------------------------------------------------------------
32396 
32397 static const complete::ZoneEra kZoneEraPacific_Tarawa[] ACE_TIME_PROGMEM = {
32398  // 11:32:04 - LMT 1901
32399  {
32400  nullptr /*zonePolicy*/,
32401  "LMT" /*format*/,
32402  2768 /*offsetCode (41524/15)*/,
32403  4 /*offsetRemainder (41524%15)*/,
32404  0 /*deltaMinutes*/,
32405  1901 /*untilYear*/,
32406  1 /*untilMonth*/,
32407  1 /*untilDay*/,
32408  0 /*untilTimeCode (0/15)*/,
32409  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32410  },
32411  // 12:00 - +12
32412  {
32413  nullptr /*zonePolicy*/,
32414  "+12" /*format*/,
32415  2880 /*offsetCode (43200/15)*/,
32416  0 /*offsetRemainder (43200%15)*/,
32417  0 /*deltaMinutes*/,
32418  32767 /*untilYear*/,
32419  1 /*untilMonth*/,
32420  1 /*untilDay*/,
32421  0 /*untilTimeCode (0/15)*/,
32422  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32423  },
32424 
32425 };
32426 
32427 static const char kZoneNamePacific_Tarawa[] ACE_TIME_PROGMEM = "\x0e" "Tarawa";
32428 
32429 const complete::ZoneInfo kZonePacific_Tarawa ACE_TIME_PROGMEM = {
32430  kZoneNamePacific_Tarawa /*name*/,
32431  0xf2517e63 /*zoneId*/,
32432  &kZoneContext /*zoneContext*/,
32433  2 /*numEras*/,
32434  kZoneEraPacific_Tarawa /*eras*/,
32435  nullptr /*targetInfo*/,
32436 };
32437 
32438 //---------------------------------------------------------------------------
32439 // Zone name: Pacific/Tongatapu
32440 // Eras: 4
32441 //---------------------------------------------------------------------------
32442 
32443 static const complete::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = {
32444  // 12:19:12 - LMT 1945 Sep 10
32445  {
32446  nullptr /*zonePolicy*/,
32447  "LMT" /*format*/,
32448  2956 /*offsetCode (44352/15)*/,
32449  12 /*offsetRemainder (44352%15)*/,
32450  0 /*deltaMinutes*/,
32451  1945 /*untilYear*/,
32452  9 /*untilMonth*/,
32453  10 /*untilDay*/,
32454  0 /*untilTimeCode (0/15)*/,
32455  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32456  },
32457  // 12:20 - +1220 1961
32458  {
32459  nullptr /*zonePolicy*/,
32460  "+1220" /*format*/,
32461  2960 /*offsetCode (44400/15)*/,
32462  0 /*offsetRemainder (44400%15)*/,
32463  0 /*deltaMinutes*/,
32464  1961 /*untilYear*/,
32465  1 /*untilMonth*/,
32466  1 /*untilDay*/,
32467  0 /*untilTimeCode (0/15)*/,
32468  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32469  },
32470  // 13:00 - +13 1999
32471  {
32472  nullptr /*zonePolicy*/,
32473  "+13" /*format*/,
32474  3120 /*offsetCode (46800/15)*/,
32475  0 /*offsetRemainder (46800%15)*/,
32476  0 /*deltaMinutes*/,
32477  1999 /*untilYear*/,
32478  1 /*untilMonth*/,
32479  1 /*untilDay*/,
32480  0 /*untilTimeCode (0/15)*/,
32481  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32482  },
32483  // 13:00 Tonga +13/+14
32484  {
32485  &kZonePolicyTonga /*zonePolicy*/,
32486  "+13/+14" /*format*/,
32487  3120 /*offsetCode (46800/15)*/,
32488  0 /*offsetRemainder (46800%15)*/,
32489  0 /*deltaMinutes*/,
32490  32767 /*untilYear*/,
32491  1 /*untilMonth*/,
32492  1 /*untilDay*/,
32493  0 /*untilTimeCode (0/15)*/,
32494  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32495  },
32496 
32497 };
32498 
32499 static const char kZoneNamePacific_Tongatapu[] ACE_TIME_PROGMEM = "\x0e" "Tongatapu";
32500 
32501 const complete::ZoneInfo kZonePacific_Tongatapu ACE_TIME_PROGMEM = {
32502  kZoneNamePacific_Tongatapu /*name*/,
32503  0x262ca836 /*zoneId*/,
32504  &kZoneContext /*zoneContext*/,
32505  4 /*numEras*/,
32506  kZoneEraPacific_Tongatapu /*eras*/,
32507  nullptr /*targetInfo*/,
32508 };
32509 
32510 //---------------------------------------------------------------------------
32511 // Zone name: WET
32512 // Eras: 1
32513 //---------------------------------------------------------------------------
32514 
32515 static const complete::ZoneEra kZoneEraWET[] ACE_TIME_PROGMEM = {
32516  // 0:00 EU WE%sT
32517  {
32518  &kZonePolicyEU /*zonePolicy*/,
32519  "WE%T" /*format*/,
32520  0 /*offsetCode (0/15)*/,
32521  0 /*offsetRemainder (0%15)*/,
32522  0 /*deltaMinutes*/,
32523  32767 /*untilYear*/,
32524  1 /*untilMonth*/,
32525  1 /*untilDay*/,
32526  0 /*untilTimeCode (0/15)*/,
32527  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32528  },
32529 
32530 };
32531 
32532 static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET";
32533 
32534 const complete::ZoneInfo kZoneWET ACE_TIME_PROGMEM = {
32535  kZoneNameWET /*name*/,
32536  0x0b882e35 /*zoneId*/,
32537  &kZoneContext /*zoneContext*/,
32538  1 /*numEras*/,
32539  kZoneEraWET /*eras*/,
32540  nullptr /*targetInfo*/,
32541 };
32542 
32543 
32544 
32545 //---------------------------------------------------------------------------
32546 // Links: 246
32547 //---------------------------------------------------------------------------
32548 
32549 //---------------------------------------------------------------------------
32550 // Link name: Africa/Accra -> Africa/Abidjan
32551 //---------------------------------------------------------------------------
32552 
32553 static const char kZoneNameAfrica_Accra[] ACE_TIME_PROGMEM = "\x01" "Accra";
32554 
32555 const complete::ZoneInfo kZoneAfrica_Accra ACE_TIME_PROGMEM = {
32556  kZoneNameAfrica_Accra /*name*/,
32557  0x77d5b054 /*zoneId*/,
32558  &kZoneContext /*zoneContext*/,
32559  2 /*numEras*/,
32560  kZoneEraAfrica_Abidjan /*eras*/,
32561  &kZoneAfrica_Abidjan /*targetInfo*/,
32562 };
32563 
32564 //---------------------------------------------------------------------------
32565 // Link name: Africa/Addis_Ababa -> Africa/Nairobi
32566 //---------------------------------------------------------------------------
32567 
32568 static const char kZoneNameAfrica_Addis_Ababa[] ACE_TIME_PROGMEM = "\x01" "Addis_Ababa";
32569 
32570 const complete::ZoneInfo kZoneAfrica_Addis_Ababa ACE_TIME_PROGMEM = {
32571  kZoneNameAfrica_Addis_Ababa /*name*/,
32572  0x05ae1e65 /*zoneId*/,
32573  &kZoneContext /*zoneContext*/,
32574  6 /*numEras*/,
32575  kZoneEraAfrica_Nairobi /*eras*/,
32576  &kZoneAfrica_Nairobi /*targetInfo*/,
32577 };
32578 
32579 //---------------------------------------------------------------------------
32580 // Link name: Africa/Asmara -> Africa/Nairobi
32581 //---------------------------------------------------------------------------
32582 
32583 static const char kZoneNameAfrica_Asmara[] ACE_TIME_PROGMEM = "\x01" "Asmara";
32584 
32585 const complete::ZoneInfo kZoneAfrica_Asmara ACE_TIME_PROGMEM = {
32586  kZoneNameAfrica_Asmara /*name*/,
32587  0x73b278ef /*zoneId*/,
32588  &kZoneContext /*zoneContext*/,
32589  6 /*numEras*/,
32590  kZoneEraAfrica_Nairobi /*eras*/,
32591  &kZoneAfrica_Nairobi /*targetInfo*/,
32592 };
32593 
32594 //---------------------------------------------------------------------------
32595 // Link name: Africa/Asmera -> Africa/Nairobi
32596 //---------------------------------------------------------------------------
32597 
32598 static const char kZoneNameAfrica_Asmera[] ACE_TIME_PROGMEM = "\x01" "Asmera";
32599 
32600 const complete::ZoneInfo kZoneAfrica_Asmera ACE_TIME_PROGMEM = {
32601  kZoneNameAfrica_Asmera /*name*/,
32602  0x73b289f3 /*zoneId*/,
32603  &kZoneContext /*zoneContext*/,
32604  6 /*numEras*/,
32605  kZoneEraAfrica_Nairobi /*eras*/,
32606  &kZoneAfrica_Nairobi /*targetInfo*/,
32607 };
32608 
32609 //---------------------------------------------------------------------------
32610 // Link name: Africa/Bamako -> Africa/Abidjan
32611 //---------------------------------------------------------------------------
32612 
32613 static const char kZoneNameAfrica_Bamako[] ACE_TIME_PROGMEM = "\x01" "Bamako";
32614 
32615 const complete::ZoneInfo kZoneAfrica_Bamako ACE_TIME_PROGMEM = {
32616  kZoneNameAfrica_Bamako /*name*/,
32617  0x74c1e7a5 /*zoneId*/,
32618  &kZoneContext /*zoneContext*/,
32619  2 /*numEras*/,
32620  kZoneEraAfrica_Abidjan /*eras*/,
32621  &kZoneAfrica_Abidjan /*targetInfo*/,
32622 };
32623 
32624 //---------------------------------------------------------------------------
32625 // Link name: Africa/Bangui -> Africa/Lagos
32626 //---------------------------------------------------------------------------
32627 
32628 static const char kZoneNameAfrica_Bangui[] ACE_TIME_PROGMEM = "\x01" "Bangui";
32629 
32630 const complete::ZoneInfo kZoneAfrica_Bangui ACE_TIME_PROGMEM = {
32631  kZoneNameAfrica_Bangui /*name*/,
32632  0x74c28ed0 /*zoneId*/,
32633  &kZoneContext /*zoneContext*/,
32634  5 /*numEras*/,
32635  kZoneEraAfrica_Lagos /*eras*/,
32636  &kZoneAfrica_Lagos /*targetInfo*/,
32637 };
32638 
32639 //---------------------------------------------------------------------------
32640 // Link name: Africa/Banjul -> Africa/Abidjan
32641 //---------------------------------------------------------------------------
32642 
32643 static const char kZoneNameAfrica_Banjul[] ACE_TIME_PROGMEM = "\x01" "Banjul";
32644 
32645 const complete::ZoneInfo kZoneAfrica_Banjul ACE_TIME_PROGMEM = {
32646  kZoneNameAfrica_Banjul /*name*/,
32647  0x74c29b96 /*zoneId*/,
32648  &kZoneContext /*zoneContext*/,
32649  2 /*numEras*/,
32650  kZoneEraAfrica_Abidjan /*eras*/,
32651  &kZoneAfrica_Abidjan /*targetInfo*/,
32652 };
32653 
32654 //---------------------------------------------------------------------------
32655 // Link name: Africa/Blantyre -> Africa/Maputo
32656 //---------------------------------------------------------------------------
32657 
32658 static const char kZoneNameAfrica_Blantyre[] ACE_TIME_PROGMEM = "\x01" "Blantyre";
32659 
32660 const complete::ZoneInfo kZoneAfrica_Blantyre ACE_TIME_PROGMEM = {
32661  kZoneNameAfrica_Blantyre /*name*/,
32662  0xe08d813b /*zoneId*/,
32663  &kZoneContext /*zoneContext*/,
32664  2 /*numEras*/,
32665  kZoneEraAfrica_Maputo /*eras*/,
32666  &kZoneAfrica_Maputo /*targetInfo*/,
32667 };
32668 
32669 //---------------------------------------------------------------------------
32670 // Link name: Africa/Brazzaville -> Africa/Lagos
32671 //---------------------------------------------------------------------------
32672 
32673 static const char kZoneNameAfrica_Brazzaville[] ACE_TIME_PROGMEM = "\x01" "Brazzaville";
32674 
32675 const complete::ZoneInfo kZoneAfrica_Brazzaville ACE_TIME_PROGMEM = {
32676  kZoneNameAfrica_Brazzaville /*name*/,
32677  0x39cda760 /*zoneId*/,
32678  &kZoneContext /*zoneContext*/,
32679  5 /*numEras*/,
32680  kZoneEraAfrica_Lagos /*eras*/,
32681  &kZoneAfrica_Lagos /*targetInfo*/,
32682 };
32683 
32684 //---------------------------------------------------------------------------
32685 // Link name: Africa/Bujumbura -> Africa/Maputo
32686 //---------------------------------------------------------------------------
32687 
32688 static const char kZoneNameAfrica_Bujumbura[] ACE_TIME_PROGMEM = "\x01" "Bujumbura";
32689 
32690 const complete::ZoneInfo kZoneAfrica_Bujumbura ACE_TIME_PROGMEM = {
32691  kZoneNameAfrica_Bujumbura /*name*/,
32692  0x05232a47 /*zoneId*/,
32693  &kZoneContext /*zoneContext*/,
32694  2 /*numEras*/,
32695  kZoneEraAfrica_Maputo /*eras*/,
32696  &kZoneAfrica_Maputo /*targetInfo*/,
32697 };
32698 
32699 //---------------------------------------------------------------------------
32700 // Link name: Africa/Conakry -> Africa/Abidjan
32701 //---------------------------------------------------------------------------
32702 
32703 static const char kZoneNameAfrica_Conakry[] ACE_TIME_PROGMEM = "\x01" "Conakry";
32704 
32705 const complete::ZoneInfo kZoneAfrica_Conakry ACE_TIME_PROGMEM = {
32706  kZoneNameAfrica_Conakry /*name*/,
32707  0x7ab36b31 /*zoneId*/,
32708  &kZoneContext /*zoneContext*/,
32709  2 /*numEras*/,
32710  kZoneEraAfrica_Abidjan /*eras*/,
32711  &kZoneAfrica_Abidjan /*targetInfo*/,
32712 };
32713 
32714 //---------------------------------------------------------------------------
32715 // Link name: Africa/Dakar -> Africa/Abidjan
32716 //---------------------------------------------------------------------------
32717 
32718 static const char kZoneNameAfrica_Dakar[] ACE_TIME_PROGMEM = "\x01" "Dakar";
32719 
32720 const complete::ZoneInfo kZoneAfrica_Dakar ACE_TIME_PROGMEM = {
32721  kZoneNameAfrica_Dakar /*name*/,
32722  0x780b00fd /*zoneId*/,
32723  &kZoneContext /*zoneContext*/,
32724  2 /*numEras*/,
32725  kZoneEraAfrica_Abidjan /*eras*/,
32726  &kZoneAfrica_Abidjan /*targetInfo*/,
32727 };
32728 
32729 //---------------------------------------------------------------------------
32730 // Link name: Africa/Dar_es_Salaam -> Africa/Nairobi
32731 //---------------------------------------------------------------------------
32732 
32733 static const char kZoneNameAfrica_Dar_es_Salaam[] ACE_TIME_PROGMEM = "\x01" "Dar_es_Salaam";
32734 
32735 const complete::ZoneInfo kZoneAfrica_Dar_es_Salaam ACE_TIME_PROGMEM = {
32736  kZoneNameAfrica_Dar_es_Salaam /*name*/,
32737  0xa04c47b6 /*zoneId*/,
32738  &kZoneContext /*zoneContext*/,
32739  6 /*numEras*/,
32740  kZoneEraAfrica_Nairobi /*eras*/,
32741  &kZoneAfrica_Nairobi /*targetInfo*/,
32742 };
32743 
32744 //---------------------------------------------------------------------------
32745 // Link name: Africa/Djibouti -> Africa/Nairobi
32746 //---------------------------------------------------------------------------
32747 
32748 static const char kZoneNameAfrica_Djibouti[] ACE_TIME_PROGMEM = "\x01" "Djibouti";
32749 
32750 const complete::ZoneInfo kZoneAfrica_Djibouti ACE_TIME_PROGMEM = {
32751  kZoneNameAfrica_Djibouti /*name*/,
32752  0x30ea01d4 /*zoneId*/,
32753  &kZoneContext /*zoneContext*/,
32754  6 /*numEras*/,
32755  kZoneEraAfrica_Nairobi /*eras*/,
32756  &kZoneAfrica_Nairobi /*targetInfo*/,
32757 };
32758 
32759 //---------------------------------------------------------------------------
32760 // Link name: Africa/Douala -> Africa/Lagos
32761 //---------------------------------------------------------------------------
32762 
32763 static const char kZoneNameAfrica_Douala[] ACE_TIME_PROGMEM = "\x01" "Douala";
32764 
32765 const complete::ZoneInfo kZoneAfrica_Douala ACE_TIME_PROGMEM = {
32766  kZoneNameAfrica_Douala /*name*/,
32767  0x7a6df310 /*zoneId*/,
32768  &kZoneContext /*zoneContext*/,
32769  5 /*numEras*/,
32770  kZoneEraAfrica_Lagos /*eras*/,
32771  &kZoneAfrica_Lagos /*targetInfo*/,
32772 };
32773 
32774 //---------------------------------------------------------------------------
32775 // Link name: Africa/Freetown -> Africa/Abidjan
32776 //---------------------------------------------------------------------------
32777 
32778 static const char kZoneNameAfrica_Freetown[] ACE_TIME_PROGMEM = "\x01" "Freetown";
32779 
32780 const complete::ZoneInfo kZoneAfrica_Freetown ACE_TIME_PROGMEM = {
32781  kZoneNameAfrica_Freetown /*name*/,
32782  0x6823dd64 /*zoneId*/,
32783  &kZoneContext /*zoneContext*/,
32784  2 /*numEras*/,
32785  kZoneEraAfrica_Abidjan /*eras*/,
32786  &kZoneAfrica_Abidjan /*targetInfo*/,
32787 };
32788 
32789 //---------------------------------------------------------------------------
32790 // Link name: Africa/Gaborone -> Africa/Maputo
32791 //---------------------------------------------------------------------------
32792 
32793 static const char kZoneNameAfrica_Gaborone[] ACE_TIME_PROGMEM = "\x01" "Gaborone";
32794 
32795 const complete::ZoneInfo kZoneAfrica_Gaborone ACE_TIME_PROGMEM = {
32796  kZoneNameAfrica_Gaborone /*name*/,
32797  0x317c0aa7 /*zoneId*/,
32798  &kZoneContext /*zoneContext*/,
32799  2 /*numEras*/,
32800  kZoneEraAfrica_Maputo /*eras*/,
32801  &kZoneAfrica_Maputo /*targetInfo*/,
32802 };
32803 
32804 //---------------------------------------------------------------------------
32805 // Link name: Africa/Harare -> Africa/Maputo
32806 //---------------------------------------------------------------------------
32807 
32808 static const char kZoneNameAfrica_Harare[] ACE_TIME_PROGMEM = "\x01" "Harare";
32809 
32810 const complete::ZoneInfo kZoneAfrica_Harare ACE_TIME_PROGMEM = {
32811  kZoneNameAfrica_Harare /*name*/,
32812  0x82c39a2d /*zoneId*/,
32813  &kZoneContext /*zoneContext*/,
32814  2 /*numEras*/,
32815  kZoneEraAfrica_Maputo /*eras*/,
32816  &kZoneAfrica_Maputo /*targetInfo*/,
32817 };
32818 
32819 //---------------------------------------------------------------------------
32820 // Link name: Africa/Kampala -> Africa/Nairobi
32821 //---------------------------------------------------------------------------
32822 
32823 static const char kZoneNameAfrica_Kampala[] ACE_TIME_PROGMEM = "\x01" "Kampala";
32824 
32825 const complete::ZoneInfo kZoneAfrica_Kampala ACE_TIME_PROGMEM = {
32826  kZoneNameAfrica_Kampala /*name*/,
32827  0xc1d30e31 /*zoneId*/,
32828  &kZoneContext /*zoneContext*/,
32829  6 /*numEras*/,
32830  kZoneEraAfrica_Nairobi /*eras*/,
32831  &kZoneAfrica_Nairobi /*targetInfo*/,
32832 };
32833 
32834 //---------------------------------------------------------------------------
32835 // Link name: Africa/Kigali -> Africa/Maputo
32836 //---------------------------------------------------------------------------
32837 
32838 static const char kZoneNameAfrica_Kigali[] ACE_TIME_PROGMEM = "\x01" "Kigali";
32839 
32840 const complete::ZoneInfo kZoneAfrica_Kigali ACE_TIME_PROGMEM = {
32841  kZoneNameAfrica_Kigali /*name*/,
32842  0x8a4dcf2b /*zoneId*/,
32843  &kZoneContext /*zoneContext*/,
32844  2 /*numEras*/,
32845  kZoneEraAfrica_Maputo /*eras*/,
32846  &kZoneAfrica_Maputo /*targetInfo*/,
32847 };
32848 
32849 //---------------------------------------------------------------------------
32850 // Link name: Africa/Kinshasa -> Africa/Lagos
32851 //---------------------------------------------------------------------------
32852 
32853 static const char kZoneNameAfrica_Kinshasa[] ACE_TIME_PROGMEM = "\x01" "Kinshasa";
32854 
32855 const complete::ZoneInfo kZoneAfrica_Kinshasa ACE_TIME_PROGMEM = {
32856  kZoneNameAfrica_Kinshasa /*name*/,
32857  0x6695d70c /*zoneId*/,
32858  &kZoneContext /*zoneContext*/,
32859  5 /*numEras*/,
32860  kZoneEraAfrica_Lagos /*eras*/,
32861  &kZoneAfrica_Lagos /*targetInfo*/,
32862 };
32863 
32864 //---------------------------------------------------------------------------
32865 // Link name: Africa/Libreville -> Africa/Lagos
32866 //---------------------------------------------------------------------------
32867 
32868 static const char kZoneNameAfrica_Libreville[] ACE_TIME_PROGMEM = "\x01" "Libreville";
32869 
32870 const complete::ZoneInfo kZoneAfrica_Libreville ACE_TIME_PROGMEM = {
32871  kZoneNameAfrica_Libreville /*name*/,
32872  0x01d96de4 /*zoneId*/,
32873  &kZoneContext /*zoneContext*/,
32874  5 /*numEras*/,
32875  kZoneEraAfrica_Lagos /*eras*/,
32876  &kZoneAfrica_Lagos /*targetInfo*/,
32877 };
32878 
32879 //---------------------------------------------------------------------------
32880 // Link name: Africa/Lome -> Africa/Abidjan
32881 //---------------------------------------------------------------------------
32882 
32883 static const char kZoneNameAfrica_Lome[] ACE_TIME_PROGMEM = "\x01" "Lome";
32884 
32885 const complete::ZoneInfo kZoneAfrica_Lome ACE_TIME_PROGMEM = {
32886  kZoneNameAfrica_Lome /*name*/,
32887  0xd51c3a07 /*zoneId*/,
32888  &kZoneContext /*zoneContext*/,
32889  2 /*numEras*/,
32890  kZoneEraAfrica_Abidjan /*eras*/,
32891  &kZoneAfrica_Abidjan /*targetInfo*/,
32892 };
32893 
32894 //---------------------------------------------------------------------------
32895 // Link name: Africa/Luanda -> Africa/Lagos
32896 //---------------------------------------------------------------------------
32897 
32898 static const char kZoneNameAfrica_Luanda[] ACE_TIME_PROGMEM = "\x01" "Luanda";
32899 
32900 const complete::ZoneInfo kZoneAfrica_Luanda ACE_TIME_PROGMEM = {
32901  kZoneNameAfrica_Luanda /*name*/,
32902  0x8d7909cf /*zoneId*/,
32903  &kZoneContext /*zoneContext*/,
32904  5 /*numEras*/,
32905  kZoneEraAfrica_Lagos /*eras*/,
32906  &kZoneAfrica_Lagos /*targetInfo*/,
32907 };
32908 
32909 //---------------------------------------------------------------------------
32910 // Link name: Africa/Lubumbashi -> Africa/Maputo
32911 //---------------------------------------------------------------------------
32912 
32913 static const char kZoneNameAfrica_Lubumbashi[] ACE_TIME_PROGMEM = "\x01" "Lubumbashi";
32914 
32915 const complete::ZoneInfo kZoneAfrica_Lubumbashi ACE_TIME_PROGMEM = {
32916  kZoneNameAfrica_Lubumbashi /*name*/,
32917  0x6fd88566 /*zoneId*/,
32918  &kZoneContext /*zoneContext*/,
32919  2 /*numEras*/,
32920  kZoneEraAfrica_Maputo /*eras*/,
32921  &kZoneAfrica_Maputo /*targetInfo*/,
32922 };
32923 
32924 //---------------------------------------------------------------------------
32925 // Link name: Africa/Lusaka -> Africa/Maputo
32926 //---------------------------------------------------------------------------
32927 
32928 static const char kZoneNameAfrica_Lusaka[] ACE_TIME_PROGMEM = "\x01" "Lusaka";
32929 
32930 const complete::ZoneInfo kZoneAfrica_Lusaka ACE_TIME_PROGMEM = {
32931  kZoneNameAfrica_Lusaka /*name*/,
32932  0x8d82b23b /*zoneId*/,
32933  &kZoneContext /*zoneContext*/,
32934  2 /*numEras*/,
32935  kZoneEraAfrica_Maputo /*eras*/,
32936  &kZoneAfrica_Maputo /*targetInfo*/,
32937 };
32938 
32939 //---------------------------------------------------------------------------
32940 // Link name: Africa/Malabo -> Africa/Lagos
32941 //---------------------------------------------------------------------------
32942 
32943 static const char kZoneNameAfrica_Malabo[] ACE_TIME_PROGMEM = "\x01" "Malabo";
32944 
32945 const complete::ZoneInfo kZoneAfrica_Malabo ACE_TIME_PROGMEM = {
32946  kZoneNameAfrica_Malabo /*name*/,
32947  0x8e6a1906 /*zoneId*/,
32948  &kZoneContext /*zoneContext*/,
32949  5 /*numEras*/,
32950  kZoneEraAfrica_Lagos /*eras*/,
32951  &kZoneAfrica_Lagos /*targetInfo*/,
32952 };
32953 
32954 //---------------------------------------------------------------------------
32955 // Link name: Africa/Maseru -> Africa/Johannesburg
32956 //---------------------------------------------------------------------------
32957 
32958 static const char kZoneNameAfrica_Maseru[] ACE_TIME_PROGMEM = "\x01" "Maseru";
32959 
32960 const complete::ZoneInfo kZoneAfrica_Maseru ACE_TIME_PROGMEM = {
32961  kZoneNameAfrica_Maseru /*name*/,
32962  0x8e6e02c7 /*zoneId*/,
32963  &kZoneContext /*zoneContext*/,
32964  3 /*numEras*/,
32965  kZoneEraAfrica_Johannesburg /*eras*/,
32966  &kZoneAfrica_Johannesburg /*targetInfo*/,
32967 };
32968 
32969 //---------------------------------------------------------------------------
32970 // Link name: Africa/Mbabane -> Africa/Johannesburg
32971 //---------------------------------------------------------------------------
32972 
32973 static const char kZoneNameAfrica_Mbabane[] ACE_TIME_PROGMEM = "\x01" "Mbabane";
32974 
32975 const complete::ZoneInfo kZoneAfrica_Mbabane ACE_TIME_PROGMEM = {
32976  kZoneNameAfrica_Mbabane /*name*/,
32977  0x5d3bdd40 /*zoneId*/,
32978  &kZoneContext /*zoneContext*/,
32979  3 /*numEras*/,
32980  kZoneEraAfrica_Johannesburg /*eras*/,
32981  &kZoneAfrica_Johannesburg /*targetInfo*/,
32982 };
32983 
32984 //---------------------------------------------------------------------------
32985 // Link name: Africa/Mogadishu -> Africa/Nairobi
32986 //---------------------------------------------------------------------------
32987 
32988 static const char kZoneNameAfrica_Mogadishu[] ACE_TIME_PROGMEM = "\x01" "Mogadishu";
32989 
32990 const complete::ZoneInfo kZoneAfrica_Mogadishu ACE_TIME_PROGMEM = {
32991  kZoneNameAfrica_Mogadishu /*name*/,
32992  0x66bc159b /*zoneId*/,
32993  &kZoneContext /*zoneContext*/,
32994  6 /*numEras*/,
32995  kZoneEraAfrica_Nairobi /*eras*/,
32996  &kZoneAfrica_Nairobi /*targetInfo*/,
32997 };
32998 
32999 //---------------------------------------------------------------------------
33000 // Link name: Africa/Niamey -> Africa/Lagos
33001 //---------------------------------------------------------------------------
33002 
33003 static const char kZoneNameAfrica_Niamey[] ACE_TIME_PROGMEM = "\x01" "Niamey";
33004 
33005 const complete::ZoneInfo kZoneAfrica_Niamey ACE_TIME_PROGMEM = {
33006  kZoneNameAfrica_Niamey /*name*/,
33007  0x914a30fd /*zoneId*/,
33008  &kZoneContext /*zoneContext*/,
33009  5 /*numEras*/,
33010  kZoneEraAfrica_Lagos /*eras*/,
33011  &kZoneAfrica_Lagos /*targetInfo*/,
33012 };
33013 
33014 //---------------------------------------------------------------------------
33015 // Link name: Africa/Nouakchott -> Africa/Abidjan
33016 //---------------------------------------------------------------------------
33017 
33018 static const char kZoneNameAfrica_Nouakchott[] ACE_TIME_PROGMEM = "\x01" "Nouakchott";
33019 
33020 const complete::ZoneInfo kZoneAfrica_Nouakchott ACE_TIME_PROGMEM = {
33021  kZoneNameAfrica_Nouakchott /*name*/,
33022  0x3dc49dba /*zoneId*/,
33023  &kZoneContext /*zoneContext*/,
33024  2 /*numEras*/,
33025  kZoneEraAfrica_Abidjan /*eras*/,
33026  &kZoneAfrica_Abidjan /*targetInfo*/,
33027 };
33028 
33029 //---------------------------------------------------------------------------
33030 // Link name: Africa/Ouagadougou -> Africa/Abidjan
33031 //---------------------------------------------------------------------------
33032 
33033 static const char kZoneNameAfrica_Ouagadougou[] ACE_TIME_PROGMEM = "\x01" "Ouagadougou";
33034 
33035 const complete::ZoneInfo kZoneAfrica_Ouagadougou ACE_TIME_PROGMEM = {
33036  kZoneNameAfrica_Ouagadougou /*name*/,
33037  0x04d7219a /*zoneId*/,
33038  &kZoneContext /*zoneContext*/,
33039  2 /*numEras*/,
33040  kZoneEraAfrica_Abidjan /*eras*/,
33041  &kZoneAfrica_Abidjan /*targetInfo*/,
33042 };
33043 
33044 //---------------------------------------------------------------------------
33045 // Link name: Africa/Porto-Novo -> Africa/Lagos
33046 //---------------------------------------------------------------------------
33047 
33048 static const char kZoneNameAfrica_Porto_Novo[] ACE_TIME_PROGMEM = "\x01" "Porto-Novo";
33049 
33050 const complete::ZoneInfo kZoneAfrica_Porto_Novo ACE_TIME_PROGMEM = {
33051  kZoneNameAfrica_Porto_Novo /*name*/,
33052  0x3d1bf95d /*zoneId*/,
33053  &kZoneContext /*zoneContext*/,
33054  5 /*numEras*/,
33055  kZoneEraAfrica_Lagos /*eras*/,
33056  &kZoneAfrica_Lagos /*targetInfo*/,
33057 };
33058 
33059 //---------------------------------------------------------------------------
33060 // Link name: Africa/Timbuktu -> Africa/Abidjan
33061 //---------------------------------------------------------------------------
33062 
33063 static const char kZoneNameAfrica_Timbuktu[] ACE_TIME_PROGMEM = "\x01" "Timbuktu";
33064 
33065 const complete::ZoneInfo kZoneAfrica_Timbuktu ACE_TIME_PROGMEM = {
33066  kZoneNameAfrica_Timbuktu /*name*/,
33067  0xb164d56f /*zoneId*/,
33068  &kZoneContext /*zoneContext*/,
33069  2 /*numEras*/,
33070  kZoneEraAfrica_Abidjan /*eras*/,
33071  &kZoneAfrica_Abidjan /*targetInfo*/,
33072 };
33073 
33074 //---------------------------------------------------------------------------
33075 // Link name: America/Anguilla -> America/Puerto_Rico
33076 //---------------------------------------------------------------------------
33077 
33078 static const char kZoneNameAmerica_Anguilla[] ACE_TIME_PROGMEM = "\x02" "Anguilla";
33079 
33080 const complete::ZoneInfo kZoneAmerica_Anguilla ACE_TIME_PROGMEM = {
33081  kZoneNameAmerica_Anguilla /*name*/,
33082  0xafe31333 /*zoneId*/,
33083  &kZoneContext /*zoneContext*/,
33084  4 /*numEras*/,
33085  kZoneEraAmerica_Puerto_Rico /*eras*/,
33086  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33087 };
33088 
33089 //---------------------------------------------------------------------------
33090 // Link name: America/Antigua -> America/Puerto_Rico
33091 //---------------------------------------------------------------------------
33092 
33093 static const char kZoneNameAmerica_Antigua[] ACE_TIME_PROGMEM = "\x02" "Antigua";
33094 
33095 const complete::ZoneInfo kZoneAmerica_Antigua ACE_TIME_PROGMEM = {
33096  kZoneNameAmerica_Antigua /*name*/,
33097  0xc067a32f /*zoneId*/,
33098  &kZoneContext /*zoneContext*/,
33099  4 /*numEras*/,
33100  kZoneEraAmerica_Puerto_Rico /*eras*/,
33101  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33102 };
33103 
33104 //---------------------------------------------------------------------------
33105 // Link name: America/Argentina/ComodRivadavia -> America/Argentina/Catamarca
33106 //---------------------------------------------------------------------------
33107 
33108 static const char kZoneNameAmerica_Argentina_ComodRivadavia[] ACE_TIME_PROGMEM = "\x02" "\x04" "ComodRivadavia";
33109 
33110 const complete::ZoneInfo kZoneAmerica_Argentina_ComodRivadavia ACE_TIME_PROGMEM = {
33111  kZoneNameAmerica_Argentina_ComodRivadavia /*name*/,
33112  0x22758877 /*zoneId*/,
33113  &kZoneContext /*zoneContext*/,
33114  12 /*numEras*/,
33115  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
33116  &kZoneAmerica_Argentina_Catamarca /*targetInfo*/,
33117 };
33118 
33119 //---------------------------------------------------------------------------
33120 // Link name: America/Aruba -> America/Puerto_Rico
33121 //---------------------------------------------------------------------------
33122 
33123 static const char kZoneNameAmerica_Aruba[] ACE_TIME_PROGMEM = "\x02" "Aruba";
33124 
33125 const complete::ZoneInfo kZoneAmerica_Aruba ACE_TIME_PROGMEM = {
33126  kZoneNameAmerica_Aruba /*name*/,
33127  0x97cf8651 /*zoneId*/,
33128  &kZoneContext /*zoneContext*/,
33129  4 /*numEras*/,
33130  kZoneEraAmerica_Puerto_Rico /*eras*/,
33131  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33132 };
33133 
33134 //---------------------------------------------------------------------------
33135 // Link name: America/Atikokan -> America/Panama
33136 //---------------------------------------------------------------------------
33137 
33138 static const char kZoneNameAmerica_Atikokan[] ACE_TIME_PROGMEM = "\x02" "Atikokan";
33139 
33140 const complete::ZoneInfo kZoneAmerica_Atikokan ACE_TIME_PROGMEM = {
33141  kZoneNameAmerica_Atikokan /*name*/,
33142  0x81b92098 /*zoneId*/,
33143  &kZoneContext /*zoneContext*/,
33144  3 /*numEras*/,
33145  kZoneEraAmerica_Panama /*eras*/,
33146  &kZoneAmerica_Panama /*targetInfo*/,
33147 };
33148 
33149 //---------------------------------------------------------------------------
33150 // Link name: America/Atka -> America/Adak
33151 //---------------------------------------------------------------------------
33152 
33153 static const char kZoneNameAmerica_Atka[] ACE_TIME_PROGMEM = "\x02" "Atka";
33154 
33155 const complete::ZoneInfo kZoneAmerica_Atka ACE_TIME_PROGMEM = {
33156  kZoneNameAmerica_Atka /*name*/,
33157  0x97fe8f27 /*zoneId*/,
33158  &kZoneContext /*zoneContext*/,
33159  9 /*numEras*/,
33160  kZoneEraAmerica_Adak /*eras*/,
33161  &kZoneAmerica_Adak /*targetInfo*/,
33162 };
33163 
33164 //---------------------------------------------------------------------------
33165 // Link name: America/Blanc-Sablon -> America/Puerto_Rico
33166 //---------------------------------------------------------------------------
33167 
33168 static const char kZoneNameAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = "\x02" "Blanc-Sablon";
33169 
33170 const complete::ZoneInfo kZoneAmerica_Blanc_Sablon ACE_TIME_PROGMEM = {
33171  kZoneNameAmerica_Blanc_Sablon /*name*/,
33172  0x6e299892 /*zoneId*/,
33173  &kZoneContext /*zoneContext*/,
33174  4 /*numEras*/,
33175  kZoneEraAmerica_Puerto_Rico /*eras*/,
33176  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33177 };
33178 
33179 //---------------------------------------------------------------------------
33180 // Link name: America/Buenos_Aires -> America/Argentina/Buenos_Aires
33181 //---------------------------------------------------------------------------
33182 
33183 static const char kZoneNameAmerica_Buenos_Aires[] ACE_TIME_PROGMEM = "\x02" "Buenos_Aires";
33184 
33185 const complete::ZoneInfo kZoneAmerica_Buenos_Aires ACE_TIME_PROGMEM = {
33186  kZoneNameAmerica_Buenos_Aires /*name*/,
33187  0x67d79a05 /*zoneId*/,
33188  &kZoneContext /*zoneContext*/,
33189  7 /*numEras*/,
33190  kZoneEraAmerica_Argentina_Buenos_Aires /*eras*/,
33191  &kZoneAmerica_Argentina_Buenos_Aires /*targetInfo*/,
33192 };
33193 
33194 //---------------------------------------------------------------------------
33195 // Link name: America/Catamarca -> America/Argentina/Catamarca
33196 //---------------------------------------------------------------------------
33197 
33198 static const char kZoneNameAmerica_Catamarca[] ACE_TIME_PROGMEM = "\x02" "Catamarca";
33199 
33200 const complete::ZoneInfo kZoneAmerica_Catamarca ACE_TIME_PROGMEM = {
33201  kZoneNameAmerica_Catamarca /*name*/,
33202  0x5036e963 /*zoneId*/,
33203  &kZoneContext /*zoneContext*/,
33204  12 /*numEras*/,
33205  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
33206  &kZoneAmerica_Argentina_Catamarca /*targetInfo*/,
33207 };
33208 
33209 //---------------------------------------------------------------------------
33210 // Link name: America/Cayman -> America/Panama
33211 //---------------------------------------------------------------------------
33212 
33213 static const char kZoneNameAmerica_Cayman[] ACE_TIME_PROGMEM = "\x02" "Cayman";
33214 
33215 const complete::ZoneInfo kZoneAmerica_Cayman ACE_TIME_PROGMEM = {
33216  kZoneNameAmerica_Cayman /*name*/,
33217  0x953961df /*zoneId*/,
33218  &kZoneContext /*zoneContext*/,
33219  3 /*numEras*/,
33220  kZoneEraAmerica_Panama /*eras*/,
33221  &kZoneAmerica_Panama /*targetInfo*/,
33222 };
33223 
33224 //---------------------------------------------------------------------------
33225 // Link name: America/Coral_Harbour -> America/Panama
33226 //---------------------------------------------------------------------------
33227 
33228 static const char kZoneNameAmerica_Coral_Harbour[] ACE_TIME_PROGMEM = "\x02" "Coral_Harbour";
33229 
33230 const complete::ZoneInfo kZoneAmerica_Coral_Harbour ACE_TIME_PROGMEM = {
33231  kZoneNameAmerica_Coral_Harbour /*name*/,
33232  0xabcb7569 /*zoneId*/,
33233  &kZoneContext /*zoneContext*/,
33234  3 /*numEras*/,
33235  kZoneEraAmerica_Panama /*eras*/,
33236  &kZoneAmerica_Panama /*targetInfo*/,
33237 };
33238 
33239 //---------------------------------------------------------------------------
33240 // Link name: America/Cordoba -> America/Argentina/Cordoba
33241 //---------------------------------------------------------------------------
33242 
33243 static const char kZoneNameAmerica_Cordoba[] ACE_TIME_PROGMEM = "\x02" "Cordoba";
33244 
33245 const complete::ZoneInfo kZoneAmerica_Cordoba ACE_TIME_PROGMEM = {
33246  kZoneNameAmerica_Cordoba /*name*/,
33247  0x5c8a7600 /*zoneId*/,
33248  &kZoneContext /*zoneContext*/,
33249  9 /*numEras*/,
33250  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
33251  &kZoneAmerica_Argentina_Cordoba /*targetInfo*/,
33252 };
33253 
33254 //---------------------------------------------------------------------------
33255 // Link name: America/Creston -> America/Phoenix
33256 //---------------------------------------------------------------------------
33257 
33258 static const char kZoneNameAmerica_Creston[] ACE_TIME_PROGMEM = "\x02" "Creston";
33259 
33260 const complete::ZoneInfo kZoneAmerica_Creston ACE_TIME_PROGMEM = {
33261  kZoneNameAmerica_Creston /*name*/,
33262  0x62a70204 /*zoneId*/,
33263  &kZoneContext /*zoneContext*/,
33264  7 /*numEras*/,
33265  kZoneEraAmerica_Phoenix /*eras*/,
33266  &kZoneAmerica_Phoenix /*targetInfo*/,
33267 };
33268 
33269 //---------------------------------------------------------------------------
33270 // Link name: America/Curacao -> America/Puerto_Rico
33271 //---------------------------------------------------------------------------
33272 
33273 static const char kZoneNameAmerica_Curacao[] ACE_TIME_PROGMEM = "\x02" "Curacao";
33274 
33275 const complete::ZoneInfo kZoneAmerica_Curacao ACE_TIME_PROGMEM = {
33276  kZoneNameAmerica_Curacao /*name*/,
33277  0x6a879184 /*zoneId*/,
33278  &kZoneContext /*zoneContext*/,
33279  4 /*numEras*/,
33280  kZoneEraAmerica_Puerto_Rico /*eras*/,
33281  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33282 };
33283 
33284 //---------------------------------------------------------------------------
33285 // Link name: America/Dominica -> America/Puerto_Rico
33286 //---------------------------------------------------------------------------
33287 
33288 static const char kZoneNameAmerica_Dominica[] ACE_TIME_PROGMEM = "\x02" "Dominica";
33289 
33290 const complete::ZoneInfo kZoneAmerica_Dominica ACE_TIME_PROGMEM = {
33291  kZoneNameAmerica_Dominica /*name*/,
33292  0xcecb4c4a /*zoneId*/,
33293  &kZoneContext /*zoneContext*/,
33294  4 /*numEras*/,
33295  kZoneEraAmerica_Puerto_Rico /*eras*/,
33296  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33297 };
33298 
33299 //---------------------------------------------------------------------------
33300 // Link name: America/Ensenada -> America/Tijuana
33301 //---------------------------------------------------------------------------
33302 
33303 static const char kZoneNameAmerica_Ensenada[] ACE_TIME_PROGMEM = "\x02" "Ensenada";
33304 
33305 const complete::ZoneInfo kZoneAmerica_Ensenada ACE_TIME_PROGMEM = {
33306  kZoneNameAmerica_Ensenada /*name*/,
33307  0x7bc95445 /*zoneId*/,
33308  &kZoneContext /*zoneContext*/,
33309  19 /*numEras*/,
33310  kZoneEraAmerica_Tijuana /*eras*/,
33311  &kZoneAmerica_Tijuana /*targetInfo*/,
33312 };
33313 
33314 //---------------------------------------------------------------------------
33315 // Link name: America/Fort_Wayne -> America/Indiana/Indianapolis
33316 //---------------------------------------------------------------------------
33317 
33318 static const char kZoneNameAmerica_Fort_Wayne[] ACE_TIME_PROGMEM = "\x02" "Fort_Wayne";
33319 
33320 const complete::ZoneInfo kZoneAmerica_Fort_Wayne ACE_TIME_PROGMEM = {
33321  kZoneNameAmerica_Fort_Wayne /*name*/,
33322  0x7eaaaf24 /*zoneId*/,
33323  &kZoneContext /*zoneContext*/,
33324  11 /*numEras*/,
33325  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
33326  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
33327 };
33328 
33329 //---------------------------------------------------------------------------
33330 // Link name: America/Godthab -> America/Nuuk
33331 //---------------------------------------------------------------------------
33332 
33333 static const char kZoneNameAmerica_Godthab[] ACE_TIME_PROGMEM = "\x02" "Godthab";
33334 
33335 const complete::ZoneInfo kZoneAmerica_Godthab ACE_TIME_PROGMEM = {
33336  kZoneNameAmerica_Godthab /*name*/,
33337  0x8f7eba1f /*zoneId*/,
33338  &kZoneContext /*zoneContext*/,
33339  4 /*numEras*/,
33340  kZoneEraAmerica_Nuuk /*eras*/,
33341  &kZoneAmerica_Nuuk /*targetInfo*/,
33342 };
33343 
33344 //---------------------------------------------------------------------------
33345 // Link name: America/Grenada -> America/Puerto_Rico
33346 //---------------------------------------------------------------------------
33347 
33348 static const char kZoneNameAmerica_Grenada[] ACE_TIME_PROGMEM = "\x02" "Grenada";
33349 
33350 const complete::ZoneInfo kZoneAmerica_Grenada ACE_TIME_PROGMEM = {
33351  kZoneNameAmerica_Grenada /*name*/,
33352  0x968ce4d8 /*zoneId*/,
33353  &kZoneContext /*zoneContext*/,
33354  4 /*numEras*/,
33355  kZoneEraAmerica_Puerto_Rico /*eras*/,
33356  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33357 };
33358 
33359 //---------------------------------------------------------------------------
33360 // Link name: America/Guadeloupe -> America/Puerto_Rico
33361 //---------------------------------------------------------------------------
33362 
33363 static const char kZoneNameAmerica_Guadeloupe[] ACE_TIME_PROGMEM = "\x02" "Guadeloupe";
33364 
33365 const complete::ZoneInfo kZoneAmerica_Guadeloupe ACE_TIME_PROGMEM = {
33366  kZoneNameAmerica_Guadeloupe /*name*/,
33367  0xcd1f8a31 /*zoneId*/,
33368  &kZoneContext /*zoneContext*/,
33369  4 /*numEras*/,
33370  kZoneEraAmerica_Puerto_Rico /*eras*/,
33371  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33372 };
33373 
33374 //---------------------------------------------------------------------------
33375 // Link name: America/Indianapolis -> America/Indiana/Indianapolis
33376 //---------------------------------------------------------------------------
33377 
33378 static const char kZoneNameAmerica_Indianapolis[] ACE_TIME_PROGMEM = "\x02" "Indianapolis";
33379 
33380 const complete::ZoneInfo kZoneAmerica_Indianapolis ACE_TIME_PROGMEM = {
33381  kZoneNameAmerica_Indianapolis /*name*/,
33382  0x6a009ae1 /*zoneId*/,
33383  &kZoneContext /*zoneContext*/,
33384  11 /*numEras*/,
33385  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
33386  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
33387 };
33388 
33389 //---------------------------------------------------------------------------
33390 // Link name: America/Jujuy -> America/Argentina/Jujuy
33391 //---------------------------------------------------------------------------
33392 
33393 static const char kZoneNameAmerica_Jujuy[] ACE_TIME_PROGMEM = "\x02" "Jujuy";
33394 
33395 const complete::ZoneInfo kZoneAmerica_Jujuy ACE_TIME_PROGMEM = {
33396  kZoneNameAmerica_Jujuy /*name*/,
33397  0x9873dbbd /*zoneId*/,
33398  &kZoneContext /*zoneContext*/,
33399  13 /*numEras*/,
33400  kZoneEraAmerica_Argentina_Jujuy /*eras*/,
33401  &kZoneAmerica_Argentina_Jujuy /*targetInfo*/,
33402 };
33403 
33404 //---------------------------------------------------------------------------
33405 // Link name: America/Knox_IN -> America/Indiana/Knox
33406 //---------------------------------------------------------------------------
33407 
33408 static const char kZoneNameAmerica_Knox_IN[] ACE_TIME_PROGMEM = "\x02" "Knox_IN";
33409 
33410 const complete::ZoneInfo kZoneAmerica_Knox_IN ACE_TIME_PROGMEM = {
33411  kZoneNameAmerica_Knox_IN /*name*/,
33412  0xc1db9a1c /*zoneId*/,
33413  &kZoneContext /*zoneContext*/,
33414  7 /*numEras*/,
33415  kZoneEraAmerica_Indiana_Knox /*eras*/,
33416  &kZoneAmerica_Indiana_Knox /*targetInfo*/,
33417 };
33418 
33419 //---------------------------------------------------------------------------
33420 // Link name: America/Kralendijk -> America/Puerto_Rico
33421 //---------------------------------------------------------------------------
33422 
33423 static const char kZoneNameAmerica_Kralendijk[] ACE_TIME_PROGMEM = "\x02" "Kralendijk";
33424 
33425 const complete::ZoneInfo kZoneAmerica_Kralendijk ACE_TIME_PROGMEM = {
33426  kZoneNameAmerica_Kralendijk /*name*/,
33427  0xe7c456c5 /*zoneId*/,
33428  &kZoneContext /*zoneContext*/,
33429  4 /*numEras*/,
33430  kZoneEraAmerica_Puerto_Rico /*eras*/,
33431  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33432 };
33433 
33434 //---------------------------------------------------------------------------
33435 // Link name: America/Louisville -> America/Kentucky/Louisville
33436 //---------------------------------------------------------------------------
33437 
33438 static const char kZoneNameAmerica_Louisville[] ACE_TIME_PROGMEM = "\x02" "Louisville";
33439 
33440 const complete::ZoneInfo kZoneAmerica_Louisville ACE_TIME_PROGMEM = {
33441  kZoneNameAmerica_Louisville /*name*/,
33442  0x3dcb47ee /*zoneId*/,
33443  &kZoneContext /*zoneContext*/,
33444  9 /*numEras*/,
33445  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
33446  &kZoneAmerica_Kentucky_Louisville /*targetInfo*/,
33447 };
33448 
33449 //---------------------------------------------------------------------------
33450 // Link name: America/Lower_Princes -> America/Puerto_Rico
33451 //---------------------------------------------------------------------------
33452 
33453 static const char kZoneNameAmerica_Lower_Princes[] ACE_TIME_PROGMEM = "\x02" "Lower_Princes";
33454 
33455 const complete::ZoneInfo kZoneAmerica_Lower_Princes ACE_TIME_PROGMEM = {
33456  kZoneNameAmerica_Lower_Princes /*name*/,
33457  0x6ae45b62 /*zoneId*/,
33458  &kZoneContext /*zoneContext*/,
33459  4 /*numEras*/,
33460  kZoneEraAmerica_Puerto_Rico /*eras*/,
33461  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33462 };
33463 
33464 //---------------------------------------------------------------------------
33465 // Link name: America/Marigot -> America/Puerto_Rico
33466 //---------------------------------------------------------------------------
33467 
33468 static const char kZoneNameAmerica_Marigot[] ACE_TIME_PROGMEM = "\x02" "Marigot";
33469 
33470 const complete::ZoneInfo kZoneAmerica_Marigot ACE_TIME_PROGMEM = {
33471  kZoneNameAmerica_Marigot /*name*/,
33472  0x3dab3a59 /*zoneId*/,
33473  &kZoneContext /*zoneContext*/,
33474  4 /*numEras*/,
33475  kZoneEraAmerica_Puerto_Rico /*eras*/,
33476  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33477 };
33478 
33479 //---------------------------------------------------------------------------
33480 // Link name: America/Mendoza -> America/Argentina/Mendoza
33481 //---------------------------------------------------------------------------
33482 
33483 static const char kZoneNameAmerica_Mendoza[] ACE_TIME_PROGMEM = "\x02" "Mendoza";
33484 
33485 const complete::ZoneInfo kZoneAmerica_Mendoza ACE_TIME_PROGMEM = {
33486  kZoneNameAmerica_Mendoza /*name*/,
33487  0x46b4e054 /*zoneId*/,
33488  &kZoneContext /*zoneContext*/,
33489  16 /*numEras*/,
33490  kZoneEraAmerica_Argentina_Mendoza /*eras*/,
33491  &kZoneAmerica_Argentina_Mendoza /*targetInfo*/,
33492 };
33493 
33494 //---------------------------------------------------------------------------
33495 // Link name: America/Montreal -> America/Toronto
33496 //---------------------------------------------------------------------------
33497 
33498 static const char kZoneNameAmerica_Montreal[] ACE_TIME_PROGMEM = "\x02" "Montreal";
33499 
33500 const complete::ZoneInfo kZoneAmerica_Montreal ACE_TIME_PROGMEM = {
33501  kZoneNameAmerica_Montreal /*name*/,
33502  0x203a1ea8 /*zoneId*/,
33503  &kZoneContext /*zoneContext*/,
33504  6 /*numEras*/,
33505  kZoneEraAmerica_Toronto /*eras*/,
33506  &kZoneAmerica_Toronto /*targetInfo*/,
33507 };
33508 
33509 //---------------------------------------------------------------------------
33510 // Link name: America/Montserrat -> America/Puerto_Rico
33511 //---------------------------------------------------------------------------
33512 
33513 static const char kZoneNameAmerica_Montserrat[] ACE_TIME_PROGMEM = "\x02" "Montserrat";
33514 
33515 const complete::ZoneInfo kZoneAmerica_Montserrat ACE_TIME_PROGMEM = {
33516  kZoneNameAmerica_Montserrat /*name*/,
33517  0x199b0a35 /*zoneId*/,
33518  &kZoneContext /*zoneContext*/,
33519  4 /*numEras*/,
33520  kZoneEraAmerica_Puerto_Rico /*eras*/,
33521  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33522 };
33523 
33524 //---------------------------------------------------------------------------
33525 // Link name: America/Nassau -> America/Toronto
33526 //---------------------------------------------------------------------------
33527 
33528 static const char kZoneNameAmerica_Nassau[] ACE_TIME_PROGMEM = "\x02" "Nassau";
33529 
33530 const complete::ZoneInfo kZoneAmerica_Nassau ACE_TIME_PROGMEM = {
33531  kZoneNameAmerica_Nassau /*name*/,
33532  0xaedef011 /*zoneId*/,
33533  &kZoneContext /*zoneContext*/,
33534  6 /*numEras*/,
33535  kZoneEraAmerica_Toronto /*eras*/,
33536  &kZoneAmerica_Toronto /*targetInfo*/,
33537 };
33538 
33539 //---------------------------------------------------------------------------
33540 // Link name: America/Nipigon -> America/Toronto
33541 //---------------------------------------------------------------------------
33542 
33543 static const char kZoneNameAmerica_Nipigon[] ACE_TIME_PROGMEM = "\x02" "Nipigon";
33544 
33545 const complete::ZoneInfo kZoneAmerica_Nipigon ACE_TIME_PROGMEM = {
33546  kZoneNameAmerica_Nipigon /*name*/,
33547  0x9d2a8b1a /*zoneId*/,
33548  &kZoneContext /*zoneContext*/,
33549  6 /*numEras*/,
33550  kZoneEraAmerica_Toronto /*eras*/,
33551  &kZoneAmerica_Toronto /*targetInfo*/,
33552 };
33553 
33554 //---------------------------------------------------------------------------
33555 // Link name: America/Pangnirtung -> America/Iqaluit
33556 //---------------------------------------------------------------------------
33557 
33558 static const char kZoneNameAmerica_Pangnirtung[] ACE_TIME_PROGMEM = "\x02" "Pangnirtung";
33559 
33560 const complete::ZoneInfo kZoneAmerica_Pangnirtung ACE_TIME_PROGMEM = {
33561  kZoneNameAmerica_Pangnirtung /*name*/,
33562  0x2d999193 /*zoneId*/,
33563  &kZoneContext /*zoneContext*/,
33564  4 /*numEras*/,
33565  kZoneEraAmerica_Iqaluit /*eras*/,
33566  &kZoneAmerica_Iqaluit /*targetInfo*/,
33567 };
33568 
33569 //---------------------------------------------------------------------------
33570 // Link name: America/Port_of_Spain -> America/Puerto_Rico
33571 //---------------------------------------------------------------------------
33572 
33573 static const char kZoneNameAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = "\x02" "Port_of_Spain";
33574 
33575 const complete::ZoneInfo kZoneAmerica_Port_of_Spain ACE_TIME_PROGMEM = {
33576  kZoneNameAmerica_Port_of_Spain /*name*/,
33577  0xd8b28d59 /*zoneId*/,
33578  &kZoneContext /*zoneContext*/,
33579  4 /*numEras*/,
33580  kZoneEraAmerica_Puerto_Rico /*eras*/,
33581  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33582 };
33583 
33584 //---------------------------------------------------------------------------
33585 // Link name: America/Porto_Acre -> America/Rio_Branco
33586 //---------------------------------------------------------------------------
33587 
33588 static const char kZoneNameAmerica_Porto_Acre[] ACE_TIME_PROGMEM = "\x02" "Porto_Acre";
33589 
33590 const complete::ZoneInfo kZoneAmerica_Porto_Acre ACE_TIME_PROGMEM = {
33591  kZoneNameAmerica_Porto_Acre /*name*/,
33592  0xcce5bf54 /*zoneId*/,
33593  &kZoneContext /*zoneContext*/,
33594  5 /*numEras*/,
33595  kZoneEraAmerica_Rio_Branco /*eras*/,
33596  &kZoneAmerica_Rio_Branco /*targetInfo*/,
33597 };
33598 
33599 //---------------------------------------------------------------------------
33600 // Link name: America/Rainy_River -> America/Winnipeg
33601 //---------------------------------------------------------------------------
33602 
33603 static const char kZoneNameAmerica_Rainy_River[] ACE_TIME_PROGMEM = "\x02" "Rainy_River";
33604 
33605 const complete::ZoneInfo kZoneAmerica_Rainy_River ACE_TIME_PROGMEM = {
33606  kZoneNameAmerica_Rainy_River /*name*/,
33607  0x9cd58a10 /*zoneId*/,
33608  &kZoneContext /*zoneContext*/,
33609  3 /*numEras*/,
33610  kZoneEraAmerica_Winnipeg /*eras*/,
33611  &kZoneAmerica_Winnipeg /*targetInfo*/,
33612 };
33613 
33614 //---------------------------------------------------------------------------
33615 // Link name: America/Rosario -> America/Argentina/Cordoba
33616 //---------------------------------------------------------------------------
33617 
33618 static const char kZoneNameAmerica_Rosario[] ACE_TIME_PROGMEM = "\x02" "Rosario";
33619 
33620 const complete::ZoneInfo kZoneAmerica_Rosario ACE_TIME_PROGMEM = {
33621  kZoneNameAmerica_Rosario /*name*/,
33622  0xdf448665 /*zoneId*/,
33623  &kZoneContext /*zoneContext*/,
33624  9 /*numEras*/,
33625  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
33626  &kZoneAmerica_Argentina_Cordoba /*targetInfo*/,
33627 };
33628 
33629 //---------------------------------------------------------------------------
33630 // Link name: America/Santa_Isabel -> America/Tijuana
33631 //---------------------------------------------------------------------------
33632 
33633 static const char kZoneNameAmerica_Santa_Isabel[] ACE_TIME_PROGMEM = "\x02" "Santa_Isabel";
33634 
33635 const complete::ZoneInfo kZoneAmerica_Santa_Isabel ACE_TIME_PROGMEM = {
33636  kZoneNameAmerica_Santa_Isabel /*name*/,
33637  0xfd18a56c /*zoneId*/,
33638  &kZoneContext /*zoneContext*/,
33639  19 /*numEras*/,
33640  kZoneEraAmerica_Tijuana /*eras*/,
33641  &kZoneAmerica_Tijuana /*targetInfo*/,
33642 };
33643 
33644 //---------------------------------------------------------------------------
33645 // Link name: America/Shiprock -> America/Denver
33646 //---------------------------------------------------------------------------
33647 
33648 static const char kZoneNameAmerica_Shiprock[] ACE_TIME_PROGMEM = "\x02" "Shiprock";
33649 
33650 const complete::ZoneInfo kZoneAmerica_Shiprock ACE_TIME_PROGMEM = {
33651  kZoneNameAmerica_Shiprock /*name*/,
33652  0x82fb7049 /*zoneId*/,
33653  &kZoneContext /*zoneContext*/,
33654  6 /*numEras*/,
33655  kZoneEraAmerica_Denver /*eras*/,
33656  &kZoneAmerica_Denver /*targetInfo*/,
33657 };
33658 
33659 //---------------------------------------------------------------------------
33660 // Link name: America/St_Barthelemy -> America/Puerto_Rico
33661 //---------------------------------------------------------------------------
33662 
33663 static const char kZoneNameAmerica_St_Barthelemy[] ACE_TIME_PROGMEM = "\x02" "St_Barthelemy";
33664 
33665 const complete::ZoneInfo kZoneAmerica_St_Barthelemy ACE_TIME_PROGMEM = {
33666  kZoneNameAmerica_St_Barthelemy /*name*/,
33667  0x054e6a79 /*zoneId*/,
33668  &kZoneContext /*zoneContext*/,
33669  4 /*numEras*/,
33670  kZoneEraAmerica_Puerto_Rico /*eras*/,
33671  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33672 };
33673 
33674 //---------------------------------------------------------------------------
33675 // Link name: America/St_Kitts -> America/Puerto_Rico
33676 //---------------------------------------------------------------------------
33677 
33678 static const char kZoneNameAmerica_St_Kitts[] ACE_TIME_PROGMEM = "\x02" "St_Kitts";
33679 
33680 const complete::ZoneInfo kZoneAmerica_St_Kitts ACE_TIME_PROGMEM = {
33681  kZoneNameAmerica_St_Kitts /*name*/,
33682  0x04c0507b /*zoneId*/,
33683  &kZoneContext /*zoneContext*/,
33684  4 /*numEras*/,
33685  kZoneEraAmerica_Puerto_Rico /*eras*/,
33686  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33687 };
33688 
33689 //---------------------------------------------------------------------------
33690 // Link name: America/St_Lucia -> America/Puerto_Rico
33691 //---------------------------------------------------------------------------
33692 
33693 static const char kZoneNameAmerica_St_Lucia[] ACE_TIME_PROGMEM = "\x02" "St_Lucia";
33694 
33695 const complete::ZoneInfo kZoneAmerica_St_Lucia ACE_TIME_PROGMEM = {
33696  kZoneNameAmerica_St_Lucia /*name*/,
33697  0x04d8b3ba /*zoneId*/,
33698  &kZoneContext /*zoneContext*/,
33699  4 /*numEras*/,
33700  kZoneEraAmerica_Puerto_Rico /*eras*/,
33701  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33702 };
33703 
33704 //---------------------------------------------------------------------------
33705 // Link name: America/St_Thomas -> America/Puerto_Rico
33706 //---------------------------------------------------------------------------
33707 
33708 static const char kZoneNameAmerica_St_Thomas[] ACE_TIME_PROGMEM = "\x02" "St_Thomas";
33709 
33710 const complete::ZoneInfo kZoneAmerica_St_Thomas ACE_TIME_PROGMEM = {
33711  kZoneNameAmerica_St_Thomas /*name*/,
33712  0xb1b3d778 /*zoneId*/,
33713  &kZoneContext /*zoneContext*/,
33714  4 /*numEras*/,
33715  kZoneEraAmerica_Puerto_Rico /*eras*/,
33716  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33717 };
33718 
33719 //---------------------------------------------------------------------------
33720 // Link name: America/St_Vincent -> America/Puerto_Rico
33721 //---------------------------------------------------------------------------
33722 
33723 static const char kZoneNameAmerica_St_Vincent[] ACE_TIME_PROGMEM = "\x02" "St_Vincent";
33724 
33725 const complete::ZoneInfo kZoneAmerica_St_Vincent ACE_TIME_PROGMEM = {
33726  kZoneNameAmerica_St_Vincent /*name*/,
33727  0x8460e523 /*zoneId*/,
33728  &kZoneContext /*zoneContext*/,
33729  4 /*numEras*/,
33730  kZoneEraAmerica_Puerto_Rico /*eras*/,
33731  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33732 };
33733 
33734 //---------------------------------------------------------------------------
33735 // Link name: America/Thunder_Bay -> America/Toronto
33736 //---------------------------------------------------------------------------
33737 
33738 static const char kZoneNameAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = "\x02" "Thunder_Bay";
33739 
33740 const complete::ZoneInfo kZoneAmerica_Thunder_Bay ACE_TIME_PROGMEM = {
33741  kZoneNameAmerica_Thunder_Bay /*name*/,
33742  0xf962e71b /*zoneId*/,
33743  &kZoneContext /*zoneContext*/,
33744  6 /*numEras*/,
33745  kZoneEraAmerica_Toronto /*eras*/,
33746  &kZoneAmerica_Toronto /*targetInfo*/,
33747 };
33748 
33749 //---------------------------------------------------------------------------
33750 // Link name: America/Tortola -> America/Puerto_Rico
33751 //---------------------------------------------------------------------------
33752 
33753 static const char kZoneNameAmerica_Tortola[] ACE_TIME_PROGMEM = "\x02" "Tortola";
33754 
33755 const complete::ZoneInfo kZoneAmerica_Tortola ACE_TIME_PROGMEM = {
33756  kZoneNameAmerica_Tortola /*name*/,
33757  0x7931462b /*zoneId*/,
33758  &kZoneContext /*zoneContext*/,
33759  4 /*numEras*/,
33760  kZoneEraAmerica_Puerto_Rico /*eras*/,
33761  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33762 };
33763 
33764 //---------------------------------------------------------------------------
33765 // Link name: America/Virgin -> America/Puerto_Rico
33766 //---------------------------------------------------------------------------
33767 
33768 static const char kZoneNameAmerica_Virgin[] ACE_TIME_PROGMEM = "\x02" "Virgin";
33769 
33770 const complete::ZoneInfo kZoneAmerica_Virgin ACE_TIME_PROGMEM = {
33771  kZoneNameAmerica_Virgin /*name*/,
33772  0xc2183ab5 /*zoneId*/,
33773  &kZoneContext /*zoneContext*/,
33774  4 /*numEras*/,
33775  kZoneEraAmerica_Puerto_Rico /*eras*/,
33776  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33777 };
33778 
33779 //---------------------------------------------------------------------------
33780 // Link name: America/Yellowknife -> America/Edmonton
33781 //---------------------------------------------------------------------------
33782 
33783 static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "\x02" "Yellowknife";
33784 
33785 const complete::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = {
33786  kZoneNameAmerica_Yellowknife /*name*/,
33787  0x0f76c76f /*zoneId*/,
33788  &kZoneContext /*zoneContext*/,
33789  3 /*numEras*/,
33790  kZoneEraAmerica_Edmonton /*eras*/,
33791  &kZoneAmerica_Edmonton /*targetInfo*/,
33792 };
33793 
33794 //---------------------------------------------------------------------------
33795 // Link name: Antarctica/DumontDUrville -> Pacific/Port_Moresby
33796 //---------------------------------------------------------------------------
33797 
33798 static const char kZoneNameAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = "\x03" "DumontDUrville";
33799 
33800 const complete::ZoneInfo kZoneAntarctica_DumontDUrville ACE_TIME_PROGMEM = {
33801  kZoneNameAntarctica_DumontDUrville /*name*/,
33802  0x5a3c656c /*zoneId*/,
33803  &kZoneContext /*zoneContext*/,
33804  3 /*numEras*/,
33805  kZoneEraPacific_Port_Moresby /*eras*/,
33806  &kZonePacific_Port_Moresby /*targetInfo*/,
33807 };
33808 
33809 //---------------------------------------------------------------------------
33810 // Link name: Antarctica/McMurdo -> Pacific/Auckland
33811 //---------------------------------------------------------------------------
33812 
33813 static const char kZoneNameAntarctica_McMurdo[] ACE_TIME_PROGMEM = "\x03" "McMurdo";
33814 
33815 const complete::ZoneInfo kZoneAntarctica_McMurdo ACE_TIME_PROGMEM = {
33816  kZoneNameAntarctica_McMurdo /*name*/,
33817  0x6eeb5585 /*zoneId*/,
33818  &kZoneContext /*zoneContext*/,
33819  3 /*numEras*/,
33820  kZoneEraPacific_Auckland /*eras*/,
33821  &kZonePacific_Auckland /*targetInfo*/,
33822 };
33823 
33824 //---------------------------------------------------------------------------
33825 // Link name: Antarctica/South_Pole -> Pacific/Auckland
33826 //---------------------------------------------------------------------------
33827 
33828 static const char kZoneNameAntarctica_South_Pole[] ACE_TIME_PROGMEM = "\x03" "South_Pole";
33829 
33830 const complete::ZoneInfo kZoneAntarctica_South_Pole ACE_TIME_PROGMEM = {
33831  kZoneNameAntarctica_South_Pole /*name*/,
33832  0xcd96b290 /*zoneId*/,
33833  &kZoneContext /*zoneContext*/,
33834  3 /*numEras*/,
33835  kZoneEraPacific_Auckland /*eras*/,
33836  &kZonePacific_Auckland /*targetInfo*/,
33837 };
33838 
33839 //---------------------------------------------------------------------------
33840 // Link name: Antarctica/Syowa -> Asia/Riyadh
33841 //---------------------------------------------------------------------------
33842 
33843 static const char kZoneNameAntarctica_Syowa[] ACE_TIME_PROGMEM = "\x03" "Syowa";
33844 
33845 const complete::ZoneInfo kZoneAntarctica_Syowa ACE_TIME_PROGMEM = {
33846  kZoneNameAntarctica_Syowa /*name*/,
33847  0xe330c7e1 /*zoneId*/,
33848  &kZoneContext /*zoneContext*/,
33849  2 /*numEras*/,
33850  kZoneEraAsia_Riyadh /*eras*/,
33851  &kZoneAsia_Riyadh /*targetInfo*/,
33852 };
33853 
33854 //---------------------------------------------------------------------------
33855 // Link name: Antarctica/Vostok -> Asia/Urumqi
33856 //---------------------------------------------------------------------------
33857 
33858 static const char kZoneNameAntarctica_Vostok[] ACE_TIME_PROGMEM = "\x03" "Vostok";
33859 
33860 const complete::ZoneInfo kZoneAntarctica_Vostok ACE_TIME_PROGMEM = {
33861  kZoneNameAntarctica_Vostok /*name*/,
33862  0x4f966fd4 /*zoneId*/,
33863  &kZoneContext /*zoneContext*/,
33864  2 /*numEras*/,
33865  kZoneEraAsia_Urumqi /*eras*/,
33866  &kZoneAsia_Urumqi /*targetInfo*/,
33867 };
33868 
33869 //---------------------------------------------------------------------------
33870 // Link name: Arctic/Longyearbyen -> Europe/Berlin
33871 //---------------------------------------------------------------------------
33872 
33873 static const char kZoneNameArctic_Longyearbyen[] ACE_TIME_PROGMEM = "Arctic/Longyearbyen";
33874 
33875 const complete::ZoneInfo kZoneArctic_Longyearbyen ACE_TIME_PROGMEM = {
33876  kZoneNameArctic_Longyearbyen /*name*/,
33877  0xd23e7859 /*zoneId*/,
33878  &kZoneContext /*zoneContext*/,
33879  5 /*numEras*/,
33880  kZoneEraEurope_Berlin /*eras*/,
33881  &kZoneEurope_Berlin /*targetInfo*/,
33882 };
33883 
33884 //---------------------------------------------------------------------------
33885 // Link name: Asia/Aden -> Asia/Riyadh
33886 //---------------------------------------------------------------------------
33887 
33888 static const char kZoneNameAsia_Aden[] ACE_TIME_PROGMEM = "\x05" "Aden";
33889 
33890 const complete::ZoneInfo kZoneAsia_Aden ACE_TIME_PROGMEM = {
33891  kZoneNameAsia_Aden /*name*/,
33892  0x1fa7084a /*zoneId*/,
33893  &kZoneContext /*zoneContext*/,
33894  2 /*numEras*/,
33895  kZoneEraAsia_Riyadh /*eras*/,
33896  &kZoneAsia_Riyadh /*targetInfo*/,
33897 };
33898 
33899 //---------------------------------------------------------------------------
33900 // Link name: Asia/Ashkhabad -> Asia/Ashgabat
33901 //---------------------------------------------------------------------------
33902 
33903 static const char kZoneNameAsia_Ashkhabad[] ACE_TIME_PROGMEM = "\x05" "Ashkhabad";
33904 
33905 const complete::ZoneInfo kZoneAsia_Ashkhabad ACE_TIME_PROGMEM = {
33906  kZoneNameAsia_Ashkhabad /*name*/,
33907  0x15454f09 /*zoneId*/,
33908  &kZoneContext /*zoneContext*/,
33909  5 /*numEras*/,
33910  kZoneEraAsia_Ashgabat /*eras*/,
33911  &kZoneAsia_Ashgabat /*targetInfo*/,
33912 };
33913 
33914 //---------------------------------------------------------------------------
33915 // Link name: Asia/Bahrain -> Asia/Qatar
33916 //---------------------------------------------------------------------------
33917 
33918 static const char kZoneNameAsia_Bahrain[] ACE_TIME_PROGMEM = "\x05" "Bahrain";
33919 
33920 const complete::ZoneInfo kZoneAsia_Bahrain ACE_TIME_PROGMEM = {
33921  kZoneNameAsia_Bahrain /*name*/,
33922  0x9d078487 /*zoneId*/,
33923  &kZoneContext /*zoneContext*/,
33924  3 /*numEras*/,
33925  kZoneEraAsia_Qatar /*eras*/,
33926  &kZoneAsia_Qatar /*targetInfo*/,
33927 };
33928 
33929 //---------------------------------------------------------------------------
33930 // Link name: Asia/Brunei -> Asia/Kuching
33931 //---------------------------------------------------------------------------
33932 
33933 static const char kZoneNameAsia_Brunei[] ACE_TIME_PROGMEM = "\x05" "Brunei";
33934 
33935 const complete::ZoneInfo kZoneAsia_Brunei ACE_TIME_PROGMEM = {
33936  kZoneNameAsia_Brunei /*name*/,
33937  0xa8e595f7 /*zoneId*/,
33938  &kZoneContext /*zoneContext*/,
33939  5 /*numEras*/,
33940  kZoneEraAsia_Kuching /*eras*/,
33941  &kZoneAsia_Kuching /*targetInfo*/,
33942 };
33943 
33944 //---------------------------------------------------------------------------
33945 // Link name: Asia/Calcutta -> Asia/Kolkata
33946 //---------------------------------------------------------------------------
33947 
33948 static const char kZoneNameAsia_Calcutta[] ACE_TIME_PROGMEM = "\x05" "Calcutta";
33949 
33950 const complete::ZoneInfo kZoneAsia_Calcutta ACE_TIME_PROGMEM = {
33951  kZoneNameAsia_Calcutta /*name*/,
33952  0x328a44c3 /*zoneId*/,
33953  &kZoneContext /*zoneContext*/,
33954  8 /*numEras*/,
33955  kZoneEraAsia_Kolkata /*eras*/,
33956  &kZoneAsia_Kolkata /*targetInfo*/,
33957 };
33958 
33959 //---------------------------------------------------------------------------
33960 // Link name: Asia/Chongqing -> Asia/Shanghai
33961 //---------------------------------------------------------------------------
33962 
33963 static const char kZoneNameAsia_Chongqing[] ACE_TIME_PROGMEM = "\x05" "Chongqing";
33964 
33965 const complete::ZoneInfo kZoneAsia_Chongqing ACE_TIME_PROGMEM = {
33966  kZoneNameAsia_Chongqing /*name*/,
33967  0xf937fb90 /*zoneId*/,
33968  &kZoneContext /*zoneContext*/,
33969  3 /*numEras*/,
33970  kZoneEraAsia_Shanghai /*eras*/,
33971  &kZoneAsia_Shanghai /*targetInfo*/,
33972 };
33973 
33974 //---------------------------------------------------------------------------
33975 // Link name: Asia/Chungking -> Asia/Shanghai
33976 //---------------------------------------------------------------------------
33977 
33978 static const char kZoneNameAsia_Chungking[] ACE_TIME_PROGMEM = "\x05" "Chungking";
33979 
33980 const complete::ZoneInfo kZoneAsia_Chungking ACE_TIME_PROGMEM = {
33981  kZoneNameAsia_Chungking /*name*/,
33982  0xc7121dd0 /*zoneId*/,
33983  &kZoneContext /*zoneContext*/,
33984  3 /*numEras*/,
33985  kZoneEraAsia_Shanghai /*eras*/,
33986  &kZoneAsia_Shanghai /*targetInfo*/,
33987 };
33988 
33989 //---------------------------------------------------------------------------
33990 // Link name: Asia/Dacca -> Asia/Dhaka
33991 //---------------------------------------------------------------------------
33992 
33993 static const char kZoneNameAsia_Dacca[] ACE_TIME_PROGMEM = "\x05" "Dacca";
33994 
33995 const complete::ZoneInfo kZoneAsia_Dacca ACE_TIME_PROGMEM = {
33996  kZoneNameAsia_Dacca /*name*/,
33997  0x14bcac5e /*zoneId*/,
33998  &kZoneContext /*zoneContext*/,
33999  7 /*numEras*/,
34000  kZoneEraAsia_Dhaka /*eras*/,
34001  &kZoneAsia_Dhaka /*targetInfo*/,
34002 };
34003 
34004 //---------------------------------------------------------------------------
34005 // Link name: Asia/Harbin -> Asia/Shanghai
34006 //---------------------------------------------------------------------------
34007 
34008 static const char kZoneNameAsia_Harbin[] ACE_TIME_PROGMEM = "\x05" "Harbin";
34009 
34010 const complete::ZoneInfo kZoneAsia_Harbin ACE_TIME_PROGMEM = {
34011  kZoneNameAsia_Harbin /*name*/,
34012  0xb5af1186 /*zoneId*/,
34013  &kZoneContext /*zoneContext*/,
34014  3 /*numEras*/,
34015  kZoneEraAsia_Shanghai /*eras*/,
34016  &kZoneAsia_Shanghai /*targetInfo*/,
34017 };
34018 
34019 //---------------------------------------------------------------------------
34020 // Link name: Asia/Istanbul -> Europe/Istanbul
34021 //---------------------------------------------------------------------------
34022 
34023 static const char kZoneNameAsia_Istanbul[] ACE_TIME_PROGMEM = "\x05" "Istanbul";
34024 
34025 const complete::ZoneInfo kZoneAsia_Istanbul ACE_TIME_PROGMEM = {
34026  kZoneNameAsia_Istanbul /*name*/,
34027  0x382e7894 /*zoneId*/,
34028  &kZoneContext /*zoneContext*/,
34029  13 /*numEras*/,
34030  kZoneEraEurope_Istanbul /*eras*/,
34031  &kZoneEurope_Istanbul /*targetInfo*/,
34032 };
34033 
34034 //---------------------------------------------------------------------------
34035 // Link name: Asia/Kashgar -> Asia/Urumqi
34036 //---------------------------------------------------------------------------
34037 
34038 static const char kZoneNameAsia_Kashgar[] ACE_TIME_PROGMEM = "\x05" "Kashgar";
34039 
34040 const complete::ZoneInfo kZoneAsia_Kashgar ACE_TIME_PROGMEM = {
34041  kZoneNameAsia_Kashgar /*name*/,
34042  0x52955193 /*zoneId*/,
34043  &kZoneContext /*zoneContext*/,
34044  2 /*numEras*/,
34045  kZoneEraAsia_Urumqi /*eras*/,
34046  &kZoneAsia_Urumqi /*targetInfo*/,
34047 };
34048 
34049 //---------------------------------------------------------------------------
34050 // Link name: Asia/Katmandu -> Asia/Kathmandu
34051 //---------------------------------------------------------------------------
34052 
34053 static const char kZoneNameAsia_Katmandu[] ACE_TIME_PROGMEM = "\x05" "Katmandu";
34054 
34055 const complete::ZoneInfo kZoneAsia_Katmandu ACE_TIME_PROGMEM = {
34056  kZoneNameAsia_Katmandu /*name*/,
34057  0xa7ec12c7 /*zoneId*/,
34058  &kZoneContext /*zoneContext*/,
34059  3 /*numEras*/,
34060  kZoneEraAsia_Kathmandu /*eras*/,
34061  &kZoneAsia_Kathmandu /*targetInfo*/,
34062 };
34063 
34064 //---------------------------------------------------------------------------
34065 // Link name: Asia/Kuala_Lumpur -> Asia/Singapore
34066 //---------------------------------------------------------------------------
34067 
34068 static const char kZoneNameAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = "\x05" "Kuala_Lumpur";
34069 
34070 const complete::ZoneInfo kZoneAsia_Kuala_Lumpur ACE_TIME_PROGMEM = {
34071  kZoneNameAsia_Kuala_Lumpur /*name*/,
34072  0x014763c4 /*zoneId*/,
34073  &kZoneContext /*zoneContext*/,
34074  9 /*numEras*/,
34075  kZoneEraAsia_Singapore /*eras*/,
34076  &kZoneAsia_Singapore /*targetInfo*/,
34077 };
34078 
34079 //---------------------------------------------------------------------------
34080 // Link name: Asia/Kuwait -> Asia/Riyadh
34081 //---------------------------------------------------------------------------
34082 
34083 static const char kZoneNameAsia_Kuwait[] ACE_TIME_PROGMEM = "\x05" "Kuwait";
34084 
34085 const complete::ZoneInfo kZoneAsia_Kuwait ACE_TIME_PROGMEM = {
34086  kZoneNameAsia_Kuwait /*name*/,
34087  0xbe1b2f27 /*zoneId*/,
34088  &kZoneContext /*zoneContext*/,
34089  2 /*numEras*/,
34090  kZoneEraAsia_Riyadh /*eras*/,
34091  &kZoneAsia_Riyadh /*targetInfo*/,
34092 };
34093 
34094 //---------------------------------------------------------------------------
34095 // Link name: Asia/Macao -> Asia/Macau
34096 //---------------------------------------------------------------------------
34097 
34098 static const char kZoneNameAsia_Macao[] ACE_TIME_PROGMEM = "\x05" "Macao";
34099 
34100 const complete::ZoneInfo kZoneAsia_Macao ACE_TIME_PROGMEM = {
34101  kZoneNameAsia_Macao /*name*/,
34102  0x155f88b3 /*zoneId*/,
34103  &kZoneContext /*zoneContext*/,
34104  4 /*numEras*/,
34105  kZoneEraAsia_Macau /*eras*/,
34106  &kZoneAsia_Macau /*targetInfo*/,
34107 };
34108 
34109 //---------------------------------------------------------------------------
34110 // Link name: Asia/Muscat -> Asia/Dubai
34111 //---------------------------------------------------------------------------
34112 
34113 static const char kZoneNameAsia_Muscat[] ACE_TIME_PROGMEM = "\x05" "Muscat";
34114 
34115 const complete::ZoneInfo kZoneAsia_Muscat ACE_TIME_PROGMEM = {
34116  kZoneNameAsia_Muscat /*name*/,
34117  0xc2c3565f /*zoneId*/,
34118  &kZoneContext /*zoneContext*/,
34119  2 /*numEras*/,
34120  kZoneEraAsia_Dubai /*eras*/,
34121  &kZoneAsia_Dubai /*targetInfo*/,
34122 };
34123 
34124 //---------------------------------------------------------------------------
34125 // Link name: Asia/Phnom_Penh -> Asia/Bangkok
34126 //---------------------------------------------------------------------------
34127 
34128 static const char kZoneNameAsia_Phnom_Penh[] ACE_TIME_PROGMEM = "\x05" "Phnom_Penh";
34129 
34130 const complete::ZoneInfo kZoneAsia_Phnom_Penh ACE_TIME_PROGMEM = {
34131  kZoneNameAsia_Phnom_Penh /*name*/,
34132  0xc224945e /*zoneId*/,
34133  &kZoneContext /*zoneContext*/,
34134  3 /*numEras*/,
34135  kZoneEraAsia_Bangkok /*eras*/,
34136  &kZoneAsia_Bangkok /*targetInfo*/,
34137 };
34138 
34139 //---------------------------------------------------------------------------
34140 // Link name: Asia/Rangoon -> Asia/Yangon
34141 //---------------------------------------------------------------------------
34142 
34143 static const char kZoneNameAsia_Rangoon[] ACE_TIME_PROGMEM = "\x05" "Rangoon";
34144 
34145 const complete::ZoneInfo kZoneAsia_Rangoon ACE_TIME_PROGMEM = {
34146  kZoneNameAsia_Rangoon /*name*/,
34147  0x6d1217c6 /*zoneId*/,
34148  &kZoneContext /*zoneContext*/,
34149  5 /*numEras*/,
34150  kZoneEraAsia_Yangon /*eras*/,
34151  &kZoneAsia_Yangon /*targetInfo*/,
34152 };
34153 
34154 //---------------------------------------------------------------------------
34155 // Link name: Asia/Saigon -> Asia/Ho_Chi_Minh
34156 //---------------------------------------------------------------------------
34157 
34158 static const char kZoneNameAsia_Saigon[] ACE_TIME_PROGMEM = "\x05" "Saigon";
34159 
34160 const complete::ZoneInfo kZoneAsia_Saigon ACE_TIME_PROGMEM = {
34161  kZoneNameAsia_Saigon /*name*/,
34162  0xcf52f713 /*zoneId*/,
34163  &kZoneContext /*zoneContext*/,
34164  10 /*numEras*/,
34165  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
34166  &kZoneAsia_Ho_Chi_Minh /*targetInfo*/,
34167 };
34168 
34169 //---------------------------------------------------------------------------
34170 // Link name: Asia/Tel_Aviv -> Asia/Jerusalem
34171 //---------------------------------------------------------------------------
34172 
34173 static const char kZoneNameAsia_Tel_Aviv[] ACE_TIME_PROGMEM = "\x05" "Tel_Aviv";
34174 
34175 const complete::ZoneInfo kZoneAsia_Tel_Aviv ACE_TIME_PROGMEM = {
34176  kZoneNameAsia_Tel_Aviv /*name*/,
34177  0x166d7c2c /*zoneId*/,
34178  &kZoneContext /*zoneContext*/,
34179  3 /*numEras*/,
34180  kZoneEraAsia_Jerusalem /*eras*/,
34181  &kZoneAsia_Jerusalem /*targetInfo*/,
34182 };
34183 
34184 //---------------------------------------------------------------------------
34185 // Link name: Asia/Thimbu -> Asia/Thimphu
34186 //---------------------------------------------------------------------------
34187 
34188 static const char kZoneNameAsia_Thimbu[] ACE_TIME_PROGMEM = "\x05" "Thimbu";
34189 
34190 const complete::ZoneInfo kZoneAsia_Thimbu ACE_TIME_PROGMEM = {
34191  kZoneNameAsia_Thimbu /*name*/,
34192  0xd226e31b /*zoneId*/,
34193  &kZoneContext /*zoneContext*/,
34194  3 /*numEras*/,
34195  kZoneEraAsia_Thimphu /*eras*/,
34196  &kZoneAsia_Thimphu /*targetInfo*/,
34197 };
34198 
34199 //---------------------------------------------------------------------------
34200 // Link name: Asia/Ujung_Pandang -> Asia/Makassar
34201 //---------------------------------------------------------------------------
34202 
34203 static const char kZoneNameAsia_Ujung_Pandang[] ACE_TIME_PROGMEM = "\x05" "Ujung_Pandang";
34204 
34205 const complete::ZoneInfo kZoneAsia_Ujung_Pandang ACE_TIME_PROGMEM = {
34206  kZoneNameAsia_Ujung_Pandang /*name*/,
34207  0x5d001eb3 /*zoneId*/,
34208  &kZoneContext /*zoneContext*/,
34209  5 /*numEras*/,
34210  kZoneEraAsia_Makassar /*eras*/,
34211  &kZoneAsia_Makassar /*targetInfo*/,
34212 };
34213 
34214 //---------------------------------------------------------------------------
34215 // Link name: Asia/Ulan_Bator -> Asia/Ulaanbaatar
34216 //---------------------------------------------------------------------------
34217 
34218 static const char kZoneNameAsia_Ulan_Bator[] ACE_TIME_PROGMEM = "\x05" "Ulan_Bator";
34219 
34220 const complete::ZoneInfo kZoneAsia_Ulan_Bator ACE_TIME_PROGMEM = {
34221  kZoneNameAsia_Ulan_Bator /*name*/,
34222  0x394db4d9 /*zoneId*/,
34223  &kZoneContext /*zoneContext*/,
34224  3 /*numEras*/,
34225  kZoneEraAsia_Ulaanbaatar /*eras*/,
34226  &kZoneAsia_Ulaanbaatar /*targetInfo*/,
34227 };
34228 
34229 //---------------------------------------------------------------------------
34230 // Link name: Asia/Vientiane -> Asia/Bangkok
34231 //---------------------------------------------------------------------------
34232 
34233 static const char kZoneNameAsia_Vientiane[] ACE_TIME_PROGMEM = "\x05" "Vientiane";
34234 
34235 const complete::ZoneInfo kZoneAsia_Vientiane ACE_TIME_PROGMEM = {
34236  kZoneNameAsia_Vientiane /*name*/,
34237  0x89d68d75 /*zoneId*/,
34238  &kZoneContext /*zoneContext*/,
34239  3 /*numEras*/,
34240  kZoneEraAsia_Bangkok /*eras*/,
34241  &kZoneAsia_Bangkok /*targetInfo*/,
34242 };
34243 
34244 //---------------------------------------------------------------------------
34245 // Link name: Atlantic/Faeroe -> Atlantic/Faroe
34246 //---------------------------------------------------------------------------
34247 
34248 static const char kZoneNameAtlantic_Faeroe[] ACE_TIME_PROGMEM = "\x06" "Faeroe";
34249 
34250 const complete::ZoneInfo kZoneAtlantic_Faeroe ACE_TIME_PROGMEM = {
34251  kZoneNameAtlantic_Faeroe /*name*/,
34252  0x031ec516 /*zoneId*/,
34253  &kZoneContext /*zoneContext*/,
34254  3 /*numEras*/,
34255  kZoneEraAtlantic_Faroe /*eras*/,
34256  &kZoneAtlantic_Faroe /*targetInfo*/,
34257 };
34258 
34259 //---------------------------------------------------------------------------
34260 // Link name: Atlantic/Jan_Mayen -> Europe/Berlin
34261 //---------------------------------------------------------------------------
34262 
34263 static const char kZoneNameAtlantic_Jan_Mayen[] ACE_TIME_PROGMEM = "\x06" "Jan_Mayen";
34264 
34265 const complete::ZoneInfo kZoneAtlantic_Jan_Mayen ACE_TIME_PROGMEM = {
34266  kZoneNameAtlantic_Jan_Mayen /*name*/,
34267  0x5a7535b6 /*zoneId*/,
34268  &kZoneContext /*zoneContext*/,
34269  5 /*numEras*/,
34270  kZoneEraEurope_Berlin /*eras*/,
34271  &kZoneEurope_Berlin /*targetInfo*/,
34272 };
34273 
34274 //---------------------------------------------------------------------------
34275 // Link name: Atlantic/Reykjavik -> Africa/Abidjan
34276 //---------------------------------------------------------------------------
34277 
34278 static const char kZoneNameAtlantic_Reykjavik[] ACE_TIME_PROGMEM = "\x06" "Reykjavik";
34279 
34280 const complete::ZoneInfo kZoneAtlantic_Reykjavik ACE_TIME_PROGMEM = {
34281  kZoneNameAtlantic_Reykjavik /*name*/,
34282  0x1c2b4f74 /*zoneId*/,
34283  &kZoneContext /*zoneContext*/,
34284  2 /*numEras*/,
34285  kZoneEraAfrica_Abidjan /*eras*/,
34286  &kZoneAfrica_Abidjan /*targetInfo*/,
34287 };
34288 
34289 //---------------------------------------------------------------------------
34290 // Link name: Atlantic/St_Helena -> Africa/Abidjan
34291 //---------------------------------------------------------------------------
34292 
34293 static const char kZoneNameAtlantic_St_Helena[] ACE_TIME_PROGMEM = "\x06" "St_Helena";
34294 
34295 const complete::ZoneInfo kZoneAtlantic_St_Helena ACE_TIME_PROGMEM = {
34296  kZoneNameAtlantic_St_Helena /*name*/,
34297  0x451fc5f7 /*zoneId*/,
34298  &kZoneContext /*zoneContext*/,
34299  2 /*numEras*/,
34300  kZoneEraAfrica_Abidjan /*eras*/,
34301  &kZoneAfrica_Abidjan /*targetInfo*/,
34302 };
34303 
34304 //---------------------------------------------------------------------------
34305 // Link name: Australia/ACT -> Australia/Sydney
34306 //---------------------------------------------------------------------------
34307 
34308 static const char kZoneNameAustralia_ACT[] ACE_TIME_PROGMEM = "\x07" "ACT";
34309 
34310 const complete::ZoneInfo kZoneAustralia_ACT ACE_TIME_PROGMEM = {
34311  kZoneNameAustralia_ACT /*name*/,
34312  0x8a970eb2 /*zoneId*/,
34313  &kZoneContext /*zoneContext*/,
34314  3 /*numEras*/,
34315  kZoneEraAustralia_Sydney /*eras*/,
34316  &kZoneAustralia_Sydney /*targetInfo*/,
34317 };
34318 
34319 //---------------------------------------------------------------------------
34320 // Link name: Australia/Canberra -> Australia/Sydney
34321 //---------------------------------------------------------------------------
34322 
34323 static const char kZoneNameAustralia_Canberra[] ACE_TIME_PROGMEM = "\x07" "Canberra";
34324 
34325 const complete::ZoneInfo kZoneAustralia_Canberra ACE_TIME_PROGMEM = {
34326  kZoneNameAustralia_Canberra /*name*/,
34327  0x2a09ae58 /*zoneId*/,
34328  &kZoneContext /*zoneContext*/,
34329  3 /*numEras*/,
34330  kZoneEraAustralia_Sydney /*eras*/,
34331  &kZoneAustralia_Sydney /*targetInfo*/,
34332 };
34333 
34334 //---------------------------------------------------------------------------
34335 // Link name: Australia/Currie -> Australia/Hobart
34336 //---------------------------------------------------------------------------
34337 
34338 static const char kZoneNameAustralia_Currie[] ACE_TIME_PROGMEM = "\x07" "Currie";
34339 
34340 const complete::ZoneInfo kZoneAustralia_Currie ACE_TIME_PROGMEM = {
34341  kZoneNameAustralia_Currie /*name*/,
34342  0x278b6a24 /*zoneId*/,
34343  &kZoneContext /*zoneContext*/,
34344  4 /*numEras*/,
34345  kZoneEraAustralia_Hobart /*eras*/,
34346  &kZoneAustralia_Hobart /*targetInfo*/,
34347 };
34348 
34349 //---------------------------------------------------------------------------
34350 // Link name: Australia/LHI -> Australia/Lord_Howe
34351 //---------------------------------------------------------------------------
34352 
34353 static const char kZoneNameAustralia_LHI[] ACE_TIME_PROGMEM = "\x07" "LHI";
34354 
34355 const complete::ZoneInfo kZoneAustralia_LHI ACE_TIME_PROGMEM = {
34356  kZoneNameAustralia_LHI /*name*/,
34357  0x8a973e17 /*zoneId*/,
34358  &kZoneContext /*zoneContext*/,
34359  4 /*numEras*/,
34360  kZoneEraAustralia_Lord_Howe /*eras*/,
34361  &kZoneAustralia_Lord_Howe /*targetInfo*/,
34362 };
34363 
34364 //---------------------------------------------------------------------------
34365 // Link name: Australia/NSW -> Australia/Sydney
34366 //---------------------------------------------------------------------------
34367 
34368 static const char kZoneNameAustralia_NSW[] ACE_TIME_PROGMEM = "\x07" "NSW";
34369 
34370 const complete::ZoneInfo kZoneAustralia_NSW ACE_TIME_PROGMEM = {
34371  kZoneNameAustralia_NSW /*name*/,
34372  0x8a974812 /*zoneId*/,
34373  &kZoneContext /*zoneContext*/,
34374  3 /*numEras*/,
34375  kZoneEraAustralia_Sydney /*eras*/,
34376  &kZoneAustralia_Sydney /*targetInfo*/,
34377 };
34378 
34379 //---------------------------------------------------------------------------
34380 // Link name: Australia/North -> Australia/Darwin
34381 //---------------------------------------------------------------------------
34382 
34383 static const char kZoneNameAustralia_North[] ACE_TIME_PROGMEM = "\x07" "North";
34384 
34385 const complete::ZoneInfo kZoneAustralia_North ACE_TIME_PROGMEM = {
34386  kZoneNameAustralia_North /*name*/,
34387  0x8d997165 /*zoneId*/,
34388  &kZoneContext /*zoneContext*/,
34389  3 /*numEras*/,
34390  kZoneEraAustralia_Darwin /*eras*/,
34391  &kZoneAustralia_Darwin /*targetInfo*/,
34392 };
34393 
34394 //---------------------------------------------------------------------------
34395 // Link name: Australia/Queensland -> Australia/Brisbane
34396 //---------------------------------------------------------------------------
34397 
34398 static const char kZoneNameAustralia_Queensland[] ACE_TIME_PROGMEM = "\x07" "Queensland";
34399 
34400 const complete::ZoneInfo kZoneAustralia_Queensland ACE_TIME_PROGMEM = {
34401  kZoneNameAustralia_Queensland /*name*/,
34402  0xd326ed0a /*zoneId*/,
34403  &kZoneContext /*zoneContext*/,
34404  3 /*numEras*/,
34405  kZoneEraAustralia_Brisbane /*eras*/,
34406  &kZoneAustralia_Brisbane /*targetInfo*/,
34407 };
34408 
34409 //---------------------------------------------------------------------------
34410 // Link name: Australia/South -> Australia/Adelaide
34411 //---------------------------------------------------------------------------
34412 
34413 static const char kZoneNameAustralia_South[] ACE_TIME_PROGMEM = "\x07" "South";
34414 
34415 const complete::ZoneInfo kZoneAustralia_South ACE_TIME_PROGMEM = {
34416  kZoneNameAustralia_South /*name*/,
34417  0x8df3f8ad /*zoneId*/,
34418  &kZoneContext /*zoneContext*/,
34419  4 /*numEras*/,
34420  kZoneEraAustralia_Adelaide /*eras*/,
34421  &kZoneAustralia_Adelaide /*targetInfo*/,
34422 };
34423 
34424 //---------------------------------------------------------------------------
34425 // Link name: Australia/Tasmania -> Australia/Hobart
34426 //---------------------------------------------------------------------------
34427 
34428 static const char kZoneNameAustralia_Tasmania[] ACE_TIME_PROGMEM = "\x07" "Tasmania";
34429 
34430 const complete::ZoneInfo kZoneAustralia_Tasmania ACE_TIME_PROGMEM = {
34431  kZoneNameAustralia_Tasmania /*name*/,
34432  0xe6d76648 /*zoneId*/,
34433  &kZoneContext /*zoneContext*/,
34434  4 /*numEras*/,
34435  kZoneEraAustralia_Hobart /*eras*/,
34436  &kZoneAustralia_Hobart /*targetInfo*/,
34437 };
34438 
34439 //---------------------------------------------------------------------------
34440 // Link name: Australia/Victoria -> Australia/Melbourne
34441 //---------------------------------------------------------------------------
34442 
34443 static const char kZoneNameAustralia_Victoria[] ACE_TIME_PROGMEM = "\x07" "Victoria";
34444 
34445 const complete::ZoneInfo kZoneAustralia_Victoria ACE_TIME_PROGMEM = {
34446  kZoneNameAustralia_Victoria /*name*/,
34447  0x0260d5db /*zoneId*/,
34448  &kZoneContext /*zoneContext*/,
34449  3 /*numEras*/,
34450  kZoneEraAustralia_Melbourne /*eras*/,
34451  &kZoneAustralia_Melbourne /*targetInfo*/,
34452 };
34453 
34454 //---------------------------------------------------------------------------
34455 // Link name: Australia/West -> Australia/Perth
34456 //---------------------------------------------------------------------------
34457 
34458 static const char kZoneNameAustralia_West[] ACE_TIME_PROGMEM = "\x07" "West";
34459 
34460 const complete::ZoneInfo kZoneAustralia_West ACE_TIME_PROGMEM = {
34461  kZoneNameAustralia_West /*name*/,
34462  0xdd858a5d /*zoneId*/,
34463  &kZoneContext /*zoneContext*/,
34464  3 /*numEras*/,
34465  kZoneEraAustralia_Perth /*eras*/,
34466  &kZoneAustralia_Perth /*targetInfo*/,
34467 };
34468 
34469 //---------------------------------------------------------------------------
34470 // Link name: Australia/Yancowinna -> Australia/Broken_Hill
34471 //---------------------------------------------------------------------------
34472 
34473 static const char kZoneNameAustralia_Yancowinna[] ACE_TIME_PROGMEM = "\x07" "Yancowinna";
34474 
34475 const complete::ZoneInfo kZoneAustralia_Yancowinna ACE_TIME_PROGMEM = {
34476  kZoneNameAustralia_Yancowinna /*name*/,
34477  0x90bac131 /*zoneId*/,
34478  &kZoneContext /*zoneContext*/,
34479  6 /*numEras*/,
34480  kZoneEraAustralia_Broken_Hill /*eras*/,
34481  &kZoneAustralia_Broken_Hill /*targetInfo*/,
34482 };
34483 
34484 //---------------------------------------------------------------------------
34485 // Link name: Brazil/Acre -> America/Rio_Branco
34486 //---------------------------------------------------------------------------
34487 
34488 static const char kZoneNameBrazil_Acre[] ACE_TIME_PROGMEM = "\x08" "Acre";
34489 
34490 const complete::ZoneInfo kZoneBrazil_Acre ACE_TIME_PROGMEM = {
34491  kZoneNameBrazil_Acre /*name*/,
34492  0x66934f93 /*zoneId*/,
34493  &kZoneContext /*zoneContext*/,
34494  5 /*numEras*/,
34495  kZoneEraAmerica_Rio_Branco /*eras*/,
34496  &kZoneAmerica_Rio_Branco /*targetInfo*/,
34497 };
34498 
34499 //---------------------------------------------------------------------------
34500 // Link name: Brazil/DeNoronha -> America/Noronha
34501 //---------------------------------------------------------------------------
34502 
34503 static const char kZoneNameBrazil_DeNoronha[] ACE_TIME_PROGMEM = "\x08" "DeNoronha";
34504 
34505 const complete::ZoneInfo kZoneBrazil_DeNoronha ACE_TIME_PROGMEM = {
34506  kZoneNameBrazil_DeNoronha /*name*/,
34507  0x9b4cb496 /*zoneId*/,
34508  &kZoneContext /*zoneContext*/,
34509  7 /*numEras*/,
34510  kZoneEraAmerica_Noronha /*eras*/,
34511  &kZoneAmerica_Noronha /*targetInfo*/,
34512 };
34513 
34514 //---------------------------------------------------------------------------
34515 // Link name: Brazil/East -> America/Sao_Paulo
34516 //---------------------------------------------------------------------------
34517 
34518 static const char kZoneNameBrazil_East[] ACE_TIME_PROGMEM = "\x08" "East";
34519 
34520 const complete::ZoneInfo kZoneBrazil_East ACE_TIME_PROGMEM = {
34521  kZoneNameBrazil_East /*name*/,
34522  0x669578c5 /*zoneId*/,
34523  &kZoneContext /*zoneContext*/,
34524  4 /*numEras*/,
34525  kZoneEraAmerica_Sao_Paulo /*eras*/,
34526  &kZoneAmerica_Sao_Paulo /*targetInfo*/,
34527 };
34528 
34529 //---------------------------------------------------------------------------
34530 // Link name: Brazil/West -> America/Manaus
34531 //---------------------------------------------------------------------------
34532 
34533 static const char kZoneNameBrazil_West[] ACE_TIME_PROGMEM = "\x08" "West";
34534 
34535 const complete::ZoneInfo kZoneBrazil_West ACE_TIME_PROGMEM = {
34536  kZoneNameBrazil_West /*name*/,
34537  0x669f689b /*zoneId*/,
34538  &kZoneContext /*zoneContext*/,
34539  5 /*numEras*/,
34540  kZoneEraAmerica_Manaus /*eras*/,
34541  &kZoneAmerica_Manaus /*targetInfo*/,
34542 };
34543 
34544 //---------------------------------------------------------------------------
34545 // Link name: Canada/Atlantic -> America/Halifax
34546 //---------------------------------------------------------------------------
34547 
34548 static const char kZoneNameCanada_Atlantic[] ACE_TIME_PROGMEM = "\x09" "Atlantic";
34549 
34550 const complete::ZoneInfo kZoneCanada_Atlantic ACE_TIME_PROGMEM = {
34551  kZoneNameCanada_Atlantic /*name*/,
34552  0x536b119c /*zoneId*/,
34553  &kZoneContext /*zoneContext*/,
34554  7 /*numEras*/,
34555  kZoneEraAmerica_Halifax /*eras*/,
34556  &kZoneAmerica_Halifax /*targetInfo*/,
34557 };
34558 
34559 //---------------------------------------------------------------------------
34560 // Link name: Canada/Central -> America/Winnipeg
34561 //---------------------------------------------------------------------------
34562 
34563 static const char kZoneNameCanada_Central[] ACE_TIME_PROGMEM = "\x09" "Central";
34564 
34565 const complete::ZoneInfo kZoneCanada_Central ACE_TIME_PROGMEM = {
34566  kZoneNameCanada_Central /*name*/,
34567  0x626710f5 /*zoneId*/,
34568  &kZoneContext /*zoneContext*/,
34569  3 /*numEras*/,
34570  kZoneEraAmerica_Winnipeg /*eras*/,
34571  &kZoneAmerica_Winnipeg /*targetInfo*/,
34572 };
34573 
34574 //---------------------------------------------------------------------------
34575 // Link name: Canada/Eastern -> America/Toronto
34576 //---------------------------------------------------------------------------
34577 
34578 static const char kZoneNameCanada_Eastern[] ACE_TIME_PROGMEM = "\x09" "Eastern";
34579 
34580 const complete::ZoneInfo kZoneCanada_Eastern ACE_TIME_PROGMEM = {
34581  kZoneNameCanada_Eastern /*name*/,
34582  0xf3612d5e /*zoneId*/,
34583  &kZoneContext /*zoneContext*/,
34584  6 /*numEras*/,
34585  kZoneEraAmerica_Toronto /*eras*/,
34586  &kZoneAmerica_Toronto /*targetInfo*/,
34587 };
34588 
34589 //---------------------------------------------------------------------------
34590 // Link name: Canada/Mountain -> America/Edmonton
34591 //---------------------------------------------------------------------------
34592 
34593 static const char kZoneNameCanada_Mountain[] ACE_TIME_PROGMEM = "\x09" "Mountain";
34594 
34595 const complete::ZoneInfo kZoneCanada_Mountain ACE_TIME_PROGMEM = {
34596  kZoneNameCanada_Mountain /*name*/,
34597  0xfb8a8217 /*zoneId*/,
34598  &kZoneContext /*zoneContext*/,
34599  3 /*numEras*/,
34600  kZoneEraAmerica_Edmonton /*eras*/,
34601  &kZoneAmerica_Edmonton /*targetInfo*/,
34602 };
34603 
34604 //---------------------------------------------------------------------------
34605 // Link name: Canada/Newfoundland -> America/St_Johns
34606 //---------------------------------------------------------------------------
34607 
34608 static const char kZoneNameCanada_Newfoundland[] ACE_TIME_PROGMEM = "\x09" "Newfoundland";
34609 
34610 const complete::ZoneInfo kZoneCanada_Newfoundland ACE_TIME_PROGMEM = {
34611  kZoneNameCanada_Newfoundland /*name*/,
34612  0xb396e991 /*zoneId*/,
34613  &kZoneContext /*zoneContext*/,
34614  8 /*numEras*/,
34615  kZoneEraAmerica_St_Johns /*eras*/,
34616  &kZoneAmerica_St_Johns /*targetInfo*/,
34617 };
34618 
34619 //---------------------------------------------------------------------------
34620 // Link name: Canada/Pacific -> America/Vancouver
34621 //---------------------------------------------------------------------------
34622 
34623 static const char kZoneNameCanada_Pacific[] ACE_TIME_PROGMEM = "\x09" "Pacific";
34624 
34625 const complete::ZoneInfo kZoneCanada_Pacific ACE_TIME_PROGMEM = {
34626  kZoneNameCanada_Pacific /*name*/,
34627  0x40fa3c7b /*zoneId*/,
34628  &kZoneContext /*zoneContext*/,
34629  3 /*numEras*/,
34630  kZoneEraAmerica_Vancouver /*eras*/,
34631  &kZoneAmerica_Vancouver /*targetInfo*/,
34632 };
34633 
34634 //---------------------------------------------------------------------------
34635 // Link name: Canada/Saskatchewan -> America/Regina
34636 //---------------------------------------------------------------------------
34637 
34638 static const char kZoneNameCanada_Saskatchewan[] ACE_TIME_PROGMEM = "\x09" "Saskatchewan";
34639 
34640 const complete::ZoneInfo kZoneCanada_Saskatchewan ACE_TIME_PROGMEM = {
34641  kZoneNameCanada_Saskatchewan /*name*/,
34642  0x77311f49 /*zoneId*/,
34643  &kZoneContext /*zoneContext*/,
34644  3 /*numEras*/,
34645  kZoneEraAmerica_Regina /*eras*/,
34646  &kZoneAmerica_Regina /*targetInfo*/,
34647 };
34648 
34649 //---------------------------------------------------------------------------
34650 // Link name: Canada/Yukon -> America/Whitehorse
34651 //---------------------------------------------------------------------------
34652 
34653 static const char kZoneNameCanada_Yukon[] ACE_TIME_PROGMEM = "\x09" "Yukon";
34654 
34655 const complete::ZoneInfo kZoneCanada_Yukon ACE_TIME_PROGMEM = {
34656  kZoneNameCanada_Yukon /*name*/,
34657  0x78dd35c2 /*zoneId*/,
34658  &kZoneContext /*zoneContext*/,
34659  6 /*numEras*/,
34660  kZoneEraAmerica_Whitehorse /*eras*/,
34661  &kZoneAmerica_Whitehorse /*targetInfo*/,
34662 };
34663 
34664 //---------------------------------------------------------------------------
34665 // Link name: Chile/Continental -> America/Santiago
34666 //---------------------------------------------------------------------------
34667 
34668 static const char kZoneNameChile_Continental[] ACE_TIME_PROGMEM = "Chile/Continental";
34669 
34670 const complete::ZoneInfo kZoneChile_Continental ACE_TIME_PROGMEM = {
34671  kZoneNameChile_Continental /*name*/,
34672  0x7e2bdb18 /*zoneId*/,
34673  &kZoneContext /*zoneContext*/,
34674  14 /*numEras*/,
34675  kZoneEraAmerica_Santiago /*eras*/,
34676  &kZoneAmerica_Santiago /*targetInfo*/,
34677 };
34678 
34679 //---------------------------------------------------------------------------
34680 // Link name: Chile/EasterIsland -> Pacific/Easter
34681 //---------------------------------------------------------------------------
34682 
34683 static const char kZoneNameChile_EasterIsland[] ACE_TIME_PROGMEM = "Chile/EasterIsland";
34684 
34685 const complete::ZoneInfo kZoneChile_EasterIsland ACE_TIME_PROGMEM = {
34686  kZoneNameChile_EasterIsland /*name*/,
34687  0xb0982af8 /*zoneId*/,
34688  &kZoneContext /*zoneContext*/,
34689  4 /*numEras*/,
34690  kZoneEraPacific_Easter /*eras*/,
34691  &kZonePacific_Easter /*targetInfo*/,
34692 };
34693 
34694 //---------------------------------------------------------------------------
34695 // Link name: Cuba -> America/Havana
34696 //---------------------------------------------------------------------------
34697 
34698 static const char kZoneNameCuba[] ACE_TIME_PROGMEM = "Cuba";
34699 
34700 const complete::ZoneInfo kZoneCuba ACE_TIME_PROGMEM = {
34701  kZoneNameCuba /*name*/,
34702  0x7c83cba0 /*zoneId*/,
34703  &kZoneContext /*zoneContext*/,
34704  3 /*numEras*/,
34705  kZoneEraAmerica_Havana /*eras*/,
34706  &kZoneAmerica_Havana /*targetInfo*/,
34707 };
34708 
34709 //---------------------------------------------------------------------------
34710 // Link name: Egypt -> Africa/Cairo
34711 //---------------------------------------------------------------------------
34712 
34713 static const char kZoneNameEgypt[] ACE_TIME_PROGMEM = "Egypt";
34714 
34715 const complete::ZoneInfo kZoneEgypt ACE_TIME_PROGMEM = {
34716  kZoneNameEgypt /*name*/,
34717  0x0d1a278e /*zoneId*/,
34718  &kZoneContext /*zoneContext*/,
34719  2 /*numEras*/,
34720  kZoneEraAfrica_Cairo /*eras*/,
34721  &kZoneAfrica_Cairo /*targetInfo*/,
34722 };
34723 
34724 //---------------------------------------------------------------------------
34725 // Link name: Eire -> Europe/Dublin
34726 //---------------------------------------------------------------------------
34727 
34728 static const char kZoneNameEire[] ACE_TIME_PROGMEM = "Eire";
34729 
34730 const complete::ZoneInfo kZoneEire ACE_TIME_PROGMEM = {
34731  kZoneNameEire /*name*/,
34732  0x7c84b36a /*zoneId*/,
34733  &kZoneContext /*zoneContext*/,
34734  11 /*numEras*/,
34735  kZoneEraEurope_Dublin /*eras*/,
34736  &kZoneEurope_Dublin /*targetInfo*/,
34737 };
34738 
34739 //---------------------------------------------------------------------------
34740 // Link name: Etc/GMT+0 -> Etc/GMT
34741 //---------------------------------------------------------------------------
34742 
34743 static const char kZoneNameEtc_GMT_PLUS_0[] ACE_TIME_PROGMEM = "\x0a" "GMT+0";
34744 
34745 const complete::ZoneInfo kZoneEtc_GMT_PLUS_0 ACE_TIME_PROGMEM = {
34746  kZoneNameEtc_GMT_PLUS_0 /*name*/,
34747  0x9d13da13 /*zoneId*/,
34748  &kZoneContext /*zoneContext*/,
34749  1 /*numEras*/,
34750  kZoneEraEtc_GMT /*eras*/,
34751  &kZoneEtc_GMT /*targetInfo*/,
34752 };
34753 
34754 //---------------------------------------------------------------------------
34755 // Link name: Etc/GMT-0 -> Etc/GMT
34756 //---------------------------------------------------------------------------
34757 
34758 static const char kZoneNameEtc_GMT_0[] ACE_TIME_PROGMEM = "\x0a" "GMT-0";
34759 
34760 const complete::ZoneInfo kZoneEtc_GMT_0 ACE_TIME_PROGMEM = {
34761  kZoneNameEtc_GMT_0 /*name*/,
34762  0x9d13da55 /*zoneId*/,
34763  &kZoneContext /*zoneContext*/,
34764  1 /*numEras*/,
34765  kZoneEraEtc_GMT /*eras*/,
34766  &kZoneEtc_GMT /*targetInfo*/,
34767 };
34768 
34769 //---------------------------------------------------------------------------
34770 // Link name: Etc/GMT0 -> Etc/GMT
34771 //---------------------------------------------------------------------------
34772 
34773 static const char kZoneNameEtc_GMT0[] ACE_TIME_PROGMEM = "\x0a" "GMT0";
34774 
34775 const complete::ZoneInfo kZoneEtc_GMT0 ACE_TIME_PROGMEM = {
34776  kZoneNameEtc_GMT0 /*name*/,
34777  0xf53ea988 /*zoneId*/,
34778  &kZoneContext /*zoneContext*/,
34779  1 /*numEras*/,
34780  kZoneEraEtc_GMT /*eras*/,
34781  &kZoneEtc_GMT /*targetInfo*/,
34782 };
34783 
34784 //---------------------------------------------------------------------------
34785 // Link name: Etc/Greenwich -> Etc/GMT
34786 //---------------------------------------------------------------------------
34787 
34788 static const char kZoneNameEtc_Greenwich[] ACE_TIME_PROGMEM = "\x0a" "Greenwich";
34789 
34790 const complete::ZoneInfo kZoneEtc_Greenwich ACE_TIME_PROGMEM = {
34791  kZoneNameEtc_Greenwich /*name*/,
34792  0x26daa98c /*zoneId*/,
34793  &kZoneContext /*zoneContext*/,
34794  1 /*numEras*/,
34795  kZoneEraEtc_GMT /*eras*/,
34796  &kZoneEtc_GMT /*targetInfo*/,
34797 };
34798 
34799 //---------------------------------------------------------------------------
34800 // Link name: Etc/UCT -> Etc/UTC
34801 //---------------------------------------------------------------------------
34802 
34803 static const char kZoneNameEtc_UCT[] ACE_TIME_PROGMEM = "\x0a" "UCT";
34804 
34805 const complete::ZoneInfo kZoneEtc_UCT ACE_TIME_PROGMEM = {
34806  kZoneNameEtc_UCT /*name*/,
34807  0xd8e3189c /*zoneId*/,
34808  &kZoneContext /*zoneContext*/,
34809  1 /*numEras*/,
34810  kZoneEraEtc_UTC /*eras*/,
34811  &kZoneEtc_UTC /*targetInfo*/,
34812 };
34813 
34814 //---------------------------------------------------------------------------
34815 // Link name: Etc/Universal -> Etc/UTC
34816 //---------------------------------------------------------------------------
34817 
34818 static const char kZoneNameEtc_Universal[] ACE_TIME_PROGMEM = "\x0a" "Universal";
34819 
34820 const complete::ZoneInfo kZoneEtc_Universal ACE_TIME_PROGMEM = {
34821  kZoneNameEtc_Universal /*name*/,
34822  0x2f8cb9a9 /*zoneId*/,
34823  &kZoneContext /*zoneContext*/,
34824  1 /*numEras*/,
34825  kZoneEraEtc_UTC /*eras*/,
34826  &kZoneEtc_UTC /*targetInfo*/,
34827 };
34828 
34829 //---------------------------------------------------------------------------
34830 // Link name: Etc/Zulu -> Etc/UTC
34831 //---------------------------------------------------------------------------
34832 
34833 static const char kZoneNameEtc_Zulu[] ACE_TIME_PROGMEM = "\x0a" "Zulu";
34834 
34835 const complete::ZoneInfo kZoneEtc_Zulu ACE_TIME_PROGMEM = {
34836  kZoneNameEtc_Zulu /*name*/,
34837  0xf549c240 /*zoneId*/,
34838  &kZoneContext /*zoneContext*/,
34839  1 /*numEras*/,
34840  kZoneEraEtc_UTC /*eras*/,
34841  &kZoneEtc_UTC /*targetInfo*/,
34842 };
34843 
34844 //---------------------------------------------------------------------------
34845 // Link name: Europe/Amsterdam -> Europe/Brussels
34846 //---------------------------------------------------------------------------
34847 
34848 static const char kZoneNameEurope_Amsterdam[] ACE_TIME_PROGMEM = "\x0b" "Amsterdam";
34849 
34850 const complete::ZoneInfo kZoneEurope_Amsterdam ACE_TIME_PROGMEM = {
34851  kZoneNameEurope_Amsterdam /*name*/,
34852  0x109395c2 /*zoneId*/,
34853  &kZoneContext /*zoneContext*/,
34854  9 /*numEras*/,
34855  kZoneEraEurope_Brussels /*eras*/,
34856  &kZoneEurope_Brussels /*targetInfo*/,
34857 };
34858 
34859 //---------------------------------------------------------------------------
34860 // Link name: Europe/Belfast -> Europe/London
34861 //---------------------------------------------------------------------------
34862 
34863 static const char kZoneNameEurope_Belfast[] ACE_TIME_PROGMEM = "\x0b" "Belfast";
34864 
34865 const complete::ZoneInfo kZoneEurope_Belfast ACE_TIME_PROGMEM = {
34866  kZoneNameEurope_Belfast /*name*/,
34867  0xd07dd1e5 /*zoneId*/,
34868  &kZoneContext /*zoneContext*/,
34869  5 /*numEras*/,
34870  kZoneEraEurope_London /*eras*/,
34871  &kZoneEurope_London /*targetInfo*/,
34872 };
34873 
34874 //---------------------------------------------------------------------------
34875 // Link name: Europe/Bratislava -> Europe/Prague
34876 //---------------------------------------------------------------------------
34877 
34878 static const char kZoneNameEurope_Bratislava[] ACE_TIME_PROGMEM = "\x0b" "Bratislava";
34879 
34880 const complete::ZoneInfo kZoneEurope_Bratislava ACE_TIME_PROGMEM = {
34881  kZoneNameEurope_Bratislava /*name*/,
34882  0xda493bed /*zoneId*/,
34883  &kZoneContext /*zoneContext*/,
34884  7 /*numEras*/,
34885  kZoneEraEurope_Prague /*eras*/,
34886  &kZoneEurope_Prague /*targetInfo*/,
34887 };
34888 
34889 //---------------------------------------------------------------------------
34890 // Link name: Europe/Busingen -> Europe/Zurich
34891 //---------------------------------------------------------------------------
34892 
34893 static const char kZoneNameEurope_Busingen[] ACE_TIME_PROGMEM = "\x0b" "Busingen";
34894 
34895 const complete::ZoneInfo kZoneEurope_Busingen ACE_TIME_PROGMEM = {
34896  kZoneNameEurope_Busingen /*name*/,
34897  0xc06d2cdf /*zoneId*/,
34898  &kZoneContext /*zoneContext*/,
34899  4 /*numEras*/,
34900  kZoneEraEurope_Zurich /*eras*/,
34901  &kZoneEurope_Zurich /*targetInfo*/,
34902 };
34903 
34904 //---------------------------------------------------------------------------
34905 // Link name: Europe/Copenhagen -> Europe/Berlin
34906 //---------------------------------------------------------------------------
34907 
34908 static const char kZoneNameEurope_Copenhagen[] ACE_TIME_PROGMEM = "\x0b" "Copenhagen";
34909 
34910 const complete::ZoneInfo kZoneEurope_Copenhagen ACE_TIME_PROGMEM = {
34911  kZoneNameEurope_Copenhagen /*name*/,
34912  0xe0ed30bc /*zoneId*/,
34913  &kZoneContext /*zoneContext*/,
34914  5 /*numEras*/,
34915  kZoneEraEurope_Berlin /*eras*/,
34916  &kZoneEurope_Berlin /*targetInfo*/,
34917 };
34918 
34919 //---------------------------------------------------------------------------
34920 // Link name: Europe/Guernsey -> Europe/London
34921 //---------------------------------------------------------------------------
34922 
34923 static const char kZoneNameEurope_Guernsey[] ACE_TIME_PROGMEM = "\x0b" "Guernsey";
34924 
34925 const complete::ZoneInfo kZoneEurope_Guernsey ACE_TIME_PROGMEM = {
34926  kZoneNameEurope_Guernsey /*name*/,
34927  0x3db12c16 /*zoneId*/,
34928  &kZoneContext /*zoneContext*/,
34929  5 /*numEras*/,
34930  kZoneEraEurope_London /*eras*/,
34931  &kZoneEurope_London /*targetInfo*/,
34932 };
34933 
34934 //---------------------------------------------------------------------------
34935 // Link name: Europe/Isle_of_Man -> Europe/London
34936 //---------------------------------------------------------------------------
34937 
34938 static const char kZoneNameEurope_Isle_of_Man[] ACE_TIME_PROGMEM = "\x0b" "Isle_of_Man";
34939 
34940 const complete::ZoneInfo kZoneEurope_Isle_of_Man ACE_TIME_PROGMEM = {
34941  kZoneNameEurope_Isle_of_Man /*name*/,
34942  0xeaf84580 /*zoneId*/,
34943  &kZoneContext /*zoneContext*/,
34944  5 /*numEras*/,
34945  kZoneEraEurope_London /*eras*/,
34946  &kZoneEurope_London /*targetInfo*/,
34947 };
34948 
34949 //---------------------------------------------------------------------------
34950 // Link name: Europe/Jersey -> Europe/London
34951 //---------------------------------------------------------------------------
34952 
34953 static const char kZoneNameEurope_Jersey[] ACE_TIME_PROGMEM = "\x0b" "Jersey";
34954 
34955 const complete::ZoneInfo kZoneEurope_Jersey ACE_TIME_PROGMEM = {
34956  kZoneNameEurope_Jersey /*name*/,
34957  0x570dae76 /*zoneId*/,
34958  &kZoneContext /*zoneContext*/,
34959  5 /*numEras*/,
34960  kZoneEraEurope_London /*eras*/,
34961  &kZoneEurope_London /*targetInfo*/,
34962 };
34963 
34964 //---------------------------------------------------------------------------
34965 // Link name: Europe/Kiev -> Europe/Kyiv
34966 //---------------------------------------------------------------------------
34967 
34968 static const char kZoneNameEurope_Kiev[] ACE_TIME_PROGMEM = "\x0b" "Kiev";
34969 
34970 const complete::ZoneInfo kZoneEurope_Kiev ACE_TIME_PROGMEM = {
34971  kZoneNameEurope_Kiev /*name*/,
34972  0xa2c19eb3 /*zoneId*/,
34973  &kZoneContext /*zoneContext*/,
34974  9 /*numEras*/,
34975  kZoneEraEurope_Kyiv /*eras*/,
34976  &kZoneEurope_Kyiv /*targetInfo*/,
34977 };
34978 
34979 //---------------------------------------------------------------------------
34980 // Link name: Europe/Ljubljana -> Europe/Belgrade
34981 //---------------------------------------------------------------------------
34982 
34983 static const char kZoneNameEurope_Ljubljana[] ACE_TIME_PROGMEM = "\x0b" "Ljubljana";
34984 
34985 const complete::ZoneInfo kZoneEurope_Ljubljana ACE_TIME_PROGMEM = {
34986  kZoneNameEurope_Ljubljana /*name*/,
34987  0xbd98cdb7 /*zoneId*/,
34988  &kZoneContext /*zoneContext*/,
34989  7 /*numEras*/,
34990  kZoneEraEurope_Belgrade /*eras*/,
34991  &kZoneEurope_Belgrade /*targetInfo*/,
34992 };
34993 
34994 //---------------------------------------------------------------------------
34995 // Link name: Europe/Luxembourg -> Europe/Brussels
34996 //---------------------------------------------------------------------------
34997 
34998 static const char kZoneNameEurope_Luxembourg[] ACE_TIME_PROGMEM = "\x0b" "Luxembourg";
34999 
35000 const complete::ZoneInfo kZoneEurope_Luxembourg ACE_TIME_PROGMEM = {
35001  kZoneNameEurope_Luxembourg /*name*/,
35002  0x1f8bc6ce /*zoneId*/,
35003  &kZoneContext /*zoneContext*/,
35004  9 /*numEras*/,
35005  kZoneEraEurope_Brussels /*eras*/,
35006  &kZoneEurope_Brussels /*targetInfo*/,
35007 };
35008 
35009 //---------------------------------------------------------------------------
35010 // Link name: Europe/Mariehamn -> Europe/Helsinki
35011 //---------------------------------------------------------------------------
35012 
35013 static const char kZoneNameEurope_Mariehamn[] ACE_TIME_PROGMEM = "\x0b" "Mariehamn";
35014 
35015 const complete::ZoneInfo kZoneEurope_Mariehamn ACE_TIME_PROGMEM = {
35016  kZoneNameEurope_Mariehamn /*name*/,
35017  0x0caa6496 /*zoneId*/,
35018  &kZoneContext /*zoneContext*/,
35019  4 /*numEras*/,
35020  kZoneEraEurope_Helsinki /*eras*/,
35021  &kZoneEurope_Helsinki /*targetInfo*/,
35022 };
35023 
35024 //---------------------------------------------------------------------------
35025 // Link name: Europe/Monaco -> Europe/Paris
35026 //---------------------------------------------------------------------------
35027 
35028 static const char kZoneNameEurope_Monaco[] ACE_TIME_PROGMEM = "\x0b" "Monaco";
35029 
35030 const complete::ZoneInfo kZoneEurope_Monaco ACE_TIME_PROGMEM = {
35031  kZoneNameEurope_Monaco /*name*/,
35032  0x5ebf9f01 /*zoneId*/,
35033  &kZoneContext /*zoneContext*/,
35034  7 /*numEras*/,
35035  kZoneEraEurope_Paris /*eras*/,
35036  &kZoneEurope_Paris /*targetInfo*/,
35037 };
35038 
35039 //---------------------------------------------------------------------------
35040 // Link name: Europe/Nicosia -> Asia/Nicosia
35041 //---------------------------------------------------------------------------
35042 
35043 static const char kZoneNameEurope_Nicosia[] ACE_TIME_PROGMEM = "\x0b" "Nicosia";
35044 
35045 const complete::ZoneInfo kZoneEurope_Nicosia ACE_TIME_PROGMEM = {
35046  kZoneNameEurope_Nicosia /*name*/,
35047  0x74efab8a /*zoneId*/,
35048  &kZoneContext /*zoneContext*/,
35049  3 /*numEras*/,
35050  kZoneEraAsia_Nicosia /*eras*/,
35051  &kZoneAsia_Nicosia /*targetInfo*/,
35052 };
35053 
35054 //---------------------------------------------------------------------------
35055 // Link name: Europe/Oslo -> Europe/Berlin
35056 //---------------------------------------------------------------------------
35057 
35058 static const char kZoneNameEurope_Oslo[] ACE_TIME_PROGMEM = "\x0b" "Oslo";
35059 
35060 const complete::ZoneInfo kZoneEurope_Oslo ACE_TIME_PROGMEM = {
35061  kZoneNameEurope_Oslo /*name*/,
35062  0xa2c3fba1 /*zoneId*/,
35063  &kZoneContext /*zoneContext*/,
35064  5 /*numEras*/,
35065  kZoneEraEurope_Berlin /*eras*/,
35066  &kZoneEurope_Berlin /*targetInfo*/,
35067 };
35068 
35069 //---------------------------------------------------------------------------
35070 // Link name: Europe/Podgorica -> Europe/Belgrade
35071 //---------------------------------------------------------------------------
35072 
35073 static const char kZoneNameEurope_Podgorica[] ACE_TIME_PROGMEM = "\x0b" "Podgorica";
35074 
35075 const complete::ZoneInfo kZoneEurope_Podgorica ACE_TIME_PROGMEM = {
35076  kZoneNameEurope_Podgorica /*name*/,
35077  0x1c1a499c /*zoneId*/,
35078  &kZoneContext /*zoneContext*/,
35079  7 /*numEras*/,
35080  kZoneEraEurope_Belgrade /*eras*/,
35081  &kZoneEurope_Belgrade /*targetInfo*/,
35082 };
35083 
35084 //---------------------------------------------------------------------------
35085 // Link name: Europe/San_Marino -> Europe/Rome
35086 //---------------------------------------------------------------------------
35087 
35088 static const char kZoneNameEurope_San_Marino[] ACE_TIME_PROGMEM = "\x0b" "San_Marino";
35089 
35090 const complete::ZoneInfo kZoneEurope_San_Marino ACE_TIME_PROGMEM = {
35091  kZoneNameEurope_San_Marino /*name*/,
35092  0xcef7724b /*zoneId*/,
35093  &kZoneContext /*zoneContext*/,
35094  6 /*numEras*/,
35095  kZoneEraEurope_Rome /*eras*/,
35096  &kZoneEurope_Rome /*targetInfo*/,
35097 };
35098 
35099 //---------------------------------------------------------------------------
35100 // Link name: Europe/Sarajevo -> Europe/Belgrade
35101 //---------------------------------------------------------------------------
35102 
35103 static const char kZoneNameEurope_Sarajevo[] ACE_TIME_PROGMEM = "\x0b" "Sarajevo";
35104 
35105 const complete::ZoneInfo kZoneEurope_Sarajevo ACE_TIME_PROGMEM = {
35106  kZoneNameEurope_Sarajevo /*name*/,
35107  0x6a576c3f /*zoneId*/,
35108  &kZoneContext /*zoneContext*/,
35109  7 /*numEras*/,
35110  kZoneEraEurope_Belgrade /*eras*/,
35111  &kZoneEurope_Belgrade /*targetInfo*/,
35112 };
35113 
35114 //---------------------------------------------------------------------------
35115 // Link name: Europe/Skopje -> Europe/Belgrade
35116 //---------------------------------------------------------------------------
35117 
35118 static const char kZoneNameEurope_Skopje[] ACE_TIME_PROGMEM = "\x0b" "Skopje";
35119 
35120 const complete::ZoneInfo kZoneEurope_Skopje ACE_TIME_PROGMEM = {
35121  kZoneNameEurope_Skopje /*name*/,
35122  0x6c76fdd0 /*zoneId*/,
35123  &kZoneContext /*zoneContext*/,
35124  7 /*numEras*/,
35125  kZoneEraEurope_Belgrade /*eras*/,
35126  &kZoneEurope_Belgrade /*targetInfo*/,
35127 };
35128 
35129 //---------------------------------------------------------------------------
35130 // Link name: Europe/Stockholm -> Europe/Berlin
35131 //---------------------------------------------------------------------------
35132 
35133 static const char kZoneNameEurope_Stockholm[] ACE_TIME_PROGMEM = "\x0b" "Stockholm";
35134 
35135 const complete::ZoneInfo kZoneEurope_Stockholm ACE_TIME_PROGMEM = {
35136  kZoneNameEurope_Stockholm /*name*/,
35137  0x5bf6fbb8 /*zoneId*/,
35138  &kZoneContext /*zoneContext*/,
35139  5 /*numEras*/,
35140  kZoneEraEurope_Berlin /*eras*/,
35141  &kZoneEurope_Berlin /*targetInfo*/,
35142 };
35143 
35144 //---------------------------------------------------------------------------
35145 // Link name: Europe/Tiraspol -> Europe/Chisinau
35146 //---------------------------------------------------------------------------
35147 
35148 static const char kZoneNameEurope_Tiraspol[] ACE_TIME_PROGMEM = "\x0b" "Tiraspol";
35149 
35150 const complete::ZoneInfo kZoneEurope_Tiraspol ACE_TIME_PROGMEM = {
35151  kZoneNameEurope_Tiraspol /*name*/,
35152  0xbe704472 /*zoneId*/,
35153  &kZoneContext /*zoneContext*/,
35154  10 /*numEras*/,
35155  kZoneEraEurope_Chisinau /*eras*/,
35156  &kZoneEurope_Chisinau /*targetInfo*/,
35157 };
35158 
35159 //---------------------------------------------------------------------------
35160 // Link name: Europe/Uzhgorod -> Europe/Kyiv
35161 //---------------------------------------------------------------------------
35162 
35163 static const char kZoneNameEurope_Uzhgorod[] ACE_TIME_PROGMEM = "\x0b" "Uzhgorod";
35164 
35165 const complete::ZoneInfo kZoneEurope_Uzhgorod ACE_TIME_PROGMEM = {
35166  kZoneNameEurope_Uzhgorod /*name*/,
35167  0xb066f5d6 /*zoneId*/,
35168  &kZoneContext /*zoneContext*/,
35169  9 /*numEras*/,
35170  kZoneEraEurope_Kyiv /*eras*/,
35171  &kZoneEurope_Kyiv /*targetInfo*/,
35172 };
35173 
35174 //---------------------------------------------------------------------------
35175 // Link name: Europe/Vaduz -> Europe/Zurich
35176 //---------------------------------------------------------------------------
35177 
35178 static const char kZoneNameEurope_Vaduz[] ACE_TIME_PROGMEM = "\x0b" "Vaduz";
35179 
35180 const complete::ZoneInfo kZoneEurope_Vaduz ACE_TIME_PROGMEM = {
35181  kZoneNameEurope_Vaduz /*name*/,
35182  0xfbb81bae /*zoneId*/,
35183  &kZoneContext /*zoneContext*/,
35184  4 /*numEras*/,
35185  kZoneEraEurope_Zurich /*eras*/,
35186  &kZoneEurope_Zurich /*targetInfo*/,
35187 };
35188 
35189 //---------------------------------------------------------------------------
35190 // Link name: Europe/Vatican -> Europe/Rome
35191 //---------------------------------------------------------------------------
35192 
35193 static const char kZoneNameEurope_Vatican[] ACE_TIME_PROGMEM = "\x0b" "Vatican";
35194 
35195 const complete::ZoneInfo kZoneEurope_Vatican ACE_TIME_PROGMEM = {
35196  kZoneNameEurope_Vatican /*name*/,
35197  0xcb485dca /*zoneId*/,
35198  &kZoneContext /*zoneContext*/,
35199  6 /*numEras*/,
35200  kZoneEraEurope_Rome /*eras*/,
35201  &kZoneEurope_Rome /*targetInfo*/,
35202 };
35203 
35204 //---------------------------------------------------------------------------
35205 // Link name: Europe/Zagreb -> Europe/Belgrade
35206 //---------------------------------------------------------------------------
35207 
35208 static const char kZoneNameEurope_Zagreb[] ACE_TIME_PROGMEM = "\x0b" "Zagreb";
35209 
35210 const complete::ZoneInfo kZoneEurope_Zagreb ACE_TIME_PROGMEM = {
35211  kZoneNameEurope_Zagreb /*name*/,
35212  0x7c11c9ff /*zoneId*/,
35213  &kZoneContext /*zoneContext*/,
35214  7 /*numEras*/,
35215  kZoneEraEurope_Belgrade /*eras*/,
35216  &kZoneEurope_Belgrade /*targetInfo*/,
35217 };
35218 
35219 //---------------------------------------------------------------------------
35220 // Link name: Europe/Zaporozhye -> Europe/Kyiv
35221 //---------------------------------------------------------------------------
35222 
35223 static const char kZoneNameEurope_Zaporozhye[] ACE_TIME_PROGMEM = "\x0b" "Zaporozhye";
35224 
35225 const complete::ZoneInfo kZoneEurope_Zaporozhye ACE_TIME_PROGMEM = {
35226  kZoneNameEurope_Zaporozhye /*name*/,
35227  0xeab9767f /*zoneId*/,
35228  &kZoneContext /*zoneContext*/,
35229  9 /*numEras*/,
35230  kZoneEraEurope_Kyiv /*eras*/,
35231  &kZoneEurope_Kyiv /*targetInfo*/,
35232 };
35233 
35234 //---------------------------------------------------------------------------
35235 // Link name: GB -> Europe/London
35236 //---------------------------------------------------------------------------
35237 
35238 static const char kZoneNameGB[] ACE_TIME_PROGMEM = "GB";
35239 
35240 const complete::ZoneInfo kZoneGB ACE_TIME_PROGMEM = {
35241  kZoneNameGB /*name*/,
35242  0x005973ae /*zoneId*/,
35243  &kZoneContext /*zoneContext*/,
35244  5 /*numEras*/,
35245  kZoneEraEurope_London /*eras*/,
35246  &kZoneEurope_London /*targetInfo*/,
35247 };
35248 
35249 //---------------------------------------------------------------------------
35250 // Link name: GB-Eire -> Europe/London
35251 //---------------------------------------------------------------------------
35252 
35253 static const char kZoneNameGB_Eire[] ACE_TIME_PROGMEM = "GB-Eire";
35254 
35255 const complete::ZoneInfo kZoneGB_Eire ACE_TIME_PROGMEM = {
35256  kZoneNameGB_Eire /*name*/,
35257  0xfa70e300 /*zoneId*/,
35258  &kZoneContext /*zoneContext*/,
35259  5 /*numEras*/,
35260  kZoneEraEurope_London /*eras*/,
35261  &kZoneEurope_London /*targetInfo*/,
35262 };
35263 
35264 //---------------------------------------------------------------------------
35265 // Link name: GMT -> Etc/GMT
35266 //---------------------------------------------------------------------------
35267 
35268 static const char kZoneNameGMT[] ACE_TIME_PROGMEM = "GMT";
35269 
35270 const complete::ZoneInfo kZoneGMT ACE_TIME_PROGMEM = {
35271  kZoneNameGMT /*name*/,
35272  0x0b87eb2d /*zoneId*/,
35273  &kZoneContext /*zoneContext*/,
35274  1 /*numEras*/,
35275  kZoneEraEtc_GMT /*eras*/,
35276  &kZoneEtc_GMT /*targetInfo*/,
35277 };
35278 
35279 //---------------------------------------------------------------------------
35280 // Link name: GMT+0 -> Etc/GMT
35281 //---------------------------------------------------------------------------
35282 
35283 static const char kZoneNameGMT_PLUS_0[] ACE_TIME_PROGMEM = "GMT+0";
35284 
35285 const complete::ZoneInfo kZoneGMT_PLUS_0 ACE_TIME_PROGMEM = {
35286  kZoneNameGMT_PLUS_0 /*name*/,
35287  0x0d2f7028 /*zoneId*/,
35288  &kZoneContext /*zoneContext*/,
35289  1 /*numEras*/,
35290  kZoneEraEtc_GMT /*eras*/,
35291  &kZoneEtc_GMT /*targetInfo*/,
35292 };
35293 
35294 //---------------------------------------------------------------------------
35295 // Link name: GMT-0 -> Etc/GMT
35296 //---------------------------------------------------------------------------
35297 
35298 static const char kZoneNameGMT_0[] ACE_TIME_PROGMEM = "GMT-0";
35299 
35300 const complete::ZoneInfo kZoneGMT_0 ACE_TIME_PROGMEM = {
35301  kZoneNameGMT_0 /*name*/,
35302  0x0d2f706a /*zoneId*/,
35303  &kZoneContext /*zoneContext*/,
35304  1 /*numEras*/,
35305  kZoneEraEtc_GMT /*eras*/,
35306  &kZoneEtc_GMT /*targetInfo*/,
35307 };
35308 
35309 //---------------------------------------------------------------------------
35310 // Link name: GMT0 -> Etc/GMT
35311 //---------------------------------------------------------------------------
35312 
35313 static const char kZoneNameGMT0[] ACE_TIME_PROGMEM = "GMT0";
35314 
35315 const complete::ZoneInfo kZoneGMT0 ACE_TIME_PROGMEM = {
35316  kZoneNameGMT0 /*name*/,
35317  0x7c8550fd /*zoneId*/,
35318  &kZoneContext /*zoneContext*/,
35319  1 /*numEras*/,
35320  kZoneEraEtc_GMT /*eras*/,
35321  &kZoneEtc_GMT /*targetInfo*/,
35322 };
35323 
35324 //---------------------------------------------------------------------------
35325 // Link name: Greenwich -> Etc/GMT
35326 //---------------------------------------------------------------------------
35327 
35328 static const char kZoneNameGreenwich[] ACE_TIME_PROGMEM = "Greenwich";
35329 
35330 const complete::ZoneInfo kZoneGreenwich ACE_TIME_PROGMEM = {
35331  kZoneNameGreenwich /*name*/,
35332  0xc84d4221 /*zoneId*/,
35333  &kZoneContext /*zoneContext*/,
35334  1 /*numEras*/,
35335  kZoneEraEtc_GMT /*eras*/,
35336  &kZoneEtc_GMT /*targetInfo*/,
35337 };
35338 
35339 //---------------------------------------------------------------------------
35340 // Link name: Hongkong -> Asia/Hong_Kong
35341 //---------------------------------------------------------------------------
35342 
35343 static const char kZoneNameHongkong[] ACE_TIME_PROGMEM = "Hongkong";
35344 
35345 const complete::ZoneInfo kZoneHongkong ACE_TIME_PROGMEM = {
35346  kZoneNameHongkong /*name*/,
35347  0x56d36560 /*zoneId*/,
35348  &kZoneContext /*zoneContext*/,
35349  6 /*numEras*/,
35350  kZoneEraAsia_Hong_Kong /*eras*/,
35351  &kZoneAsia_Hong_Kong /*targetInfo*/,
35352 };
35353 
35354 //---------------------------------------------------------------------------
35355 // Link name: Iceland -> Africa/Abidjan
35356 //---------------------------------------------------------------------------
35357 
35358 static const char kZoneNameIceland[] ACE_TIME_PROGMEM = "Iceland";
35359 
35360 const complete::ZoneInfo kZoneIceland ACE_TIME_PROGMEM = {
35361  kZoneNameIceland /*name*/,
35362  0xe56a35b5 /*zoneId*/,
35363  &kZoneContext /*zoneContext*/,
35364  2 /*numEras*/,
35365  kZoneEraAfrica_Abidjan /*eras*/,
35366  &kZoneAfrica_Abidjan /*targetInfo*/,
35367 };
35368 
35369 //---------------------------------------------------------------------------
35370 // Link name: Indian/Antananarivo -> Africa/Nairobi
35371 //---------------------------------------------------------------------------
35372 
35373 static const char kZoneNameIndian_Antananarivo[] ACE_TIME_PROGMEM = "\x0c" "Antananarivo";
35374 
35375 const complete::ZoneInfo kZoneIndian_Antananarivo ACE_TIME_PROGMEM = {
35376  kZoneNameIndian_Antananarivo /*name*/,
35377  0x9ebf5289 /*zoneId*/,
35378  &kZoneContext /*zoneContext*/,
35379  6 /*numEras*/,
35380  kZoneEraAfrica_Nairobi /*eras*/,
35381  &kZoneAfrica_Nairobi /*targetInfo*/,
35382 };
35383 
35384 //---------------------------------------------------------------------------
35385 // Link name: Indian/Christmas -> Asia/Bangkok
35386 //---------------------------------------------------------------------------
35387 
35388 static const char kZoneNameIndian_Christmas[] ACE_TIME_PROGMEM = "\x0c" "Christmas";
35389 
35390 const complete::ZoneInfo kZoneIndian_Christmas ACE_TIME_PROGMEM = {
35391  kZoneNameIndian_Christmas /*name*/,
35392  0x68c207d5 /*zoneId*/,
35393  &kZoneContext /*zoneContext*/,
35394  3 /*numEras*/,
35395  kZoneEraAsia_Bangkok /*eras*/,
35396  &kZoneAsia_Bangkok /*targetInfo*/,
35397 };
35398 
35399 //---------------------------------------------------------------------------
35400 // Link name: Indian/Cocos -> Asia/Yangon
35401 //---------------------------------------------------------------------------
35402 
35403 static const char kZoneNameIndian_Cocos[] ACE_TIME_PROGMEM = "\x0c" "Cocos";
35404 
35405 const complete::ZoneInfo kZoneIndian_Cocos ACE_TIME_PROGMEM = {
35406  kZoneNameIndian_Cocos /*name*/,
35407  0x021e86de /*zoneId*/,
35408  &kZoneContext /*zoneContext*/,
35409  5 /*numEras*/,
35410  kZoneEraAsia_Yangon /*eras*/,
35411  &kZoneAsia_Yangon /*targetInfo*/,
35412 };
35413 
35414 //---------------------------------------------------------------------------
35415 // Link name: Indian/Comoro -> Africa/Nairobi
35416 //---------------------------------------------------------------------------
35417 
35418 static const char kZoneNameIndian_Comoro[] ACE_TIME_PROGMEM = "\x0c" "Comoro";
35419 
35420 const complete::ZoneInfo kZoneIndian_Comoro ACE_TIME_PROGMEM = {
35421  kZoneNameIndian_Comoro /*name*/,
35422  0x45f4deb6 /*zoneId*/,
35423  &kZoneContext /*zoneContext*/,
35424  6 /*numEras*/,
35425  kZoneEraAfrica_Nairobi /*eras*/,
35426  &kZoneAfrica_Nairobi /*targetInfo*/,
35427 };
35428 
35429 //---------------------------------------------------------------------------
35430 // Link name: Indian/Kerguelen -> Indian/Maldives
35431 //---------------------------------------------------------------------------
35432 
35433 static const char kZoneNameIndian_Kerguelen[] ACE_TIME_PROGMEM = "\x0c" "Kerguelen";
35434 
35435 const complete::ZoneInfo kZoneIndian_Kerguelen ACE_TIME_PROGMEM = {
35436  kZoneNameIndian_Kerguelen /*name*/,
35437  0x4351b389 /*zoneId*/,
35438  &kZoneContext /*zoneContext*/,
35439  3 /*numEras*/,
35440  kZoneEraIndian_Maldives /*eras*/,
35441  &kZoneIndian_Maldives /*targetInfo*/,
35442 };
35443 
35444 //---------------------------------------------------------------------------
35445 // Link name: Indian/Mahe -> Asia/Dubai
35446 //---------------------------------------------------------------------------
35447 
35448 static const char kZoneNameIndian_Mahe[] ACE_TIME_PROGMEM = "\x0c" "Mahe";
35449 
35450 const complete::ZoneInfo kZoneIndian_Mahe ACE_TIME_PROGMEM = {
35451  kZoneNameIndian_Mahe /*name*/,
35452  0x45e725e2 /*zoneId*/,
35453  &kZoneContext /*zoneContext*/,
35454  2 /*numEras*/,
35455  kZoneEraAsia_Dubai /*eras*/,
35456  &kZoneAsia_Dubai /*targetInfo*/,
35457 };
35458 
35459 //---------------------------------------------------------------------------
35460 // Link name: Indian/Mayotte -> Africa/Nairobi
35461 //---------------------------------------------------------------------------
35462 
35463 static const char kZoneNameIndian_Mayotte[] ACE_TIME_PROGMEM = "\x0c" "Mayotte";
35464 
35465 const complete::ZoneInfo kZoneIndian_Mayotte ACE_TIME_PROGMEM = {
35466  kZoneNameIndian_Mayotte /*name*/,
35467  0xe6880bca /*zoneId*/,
35468  &kZoneContext /*zoneContext*/,
35469  6 /*numEras*/,
35470  kZoneEraAfrica_Nairobi /*eras*/,
35471  &kZoneAfrica_Nairobi /*targetInfo*/,
35472 };
35473 
35474 //---------------------------------------------------------------------------
35475 // Link name: Indian/Reunion -> Asia/Dubai
35476 //---------------------------------------------------------------------------
35477 
35478 static const char kZoneNameIndian_Reunion[] ACE_TIME_PROGMEM = "\x0c" "Reunion";
35479 
35480 const complete::ZoneInfo kZoneIndian_Reunion ACE_TIME_PROGMEM = {
35481  kZoneNameIndian_Reunion /*name*/,
35482  0x7076c047 /*zoneId*/,
35483  &kZoneContext /*zoneContext*/,
35484  2 /*numEras*/,
35485  kZoneEraAsia_Dubai /*eras*/,
35486  &kZoneAsia_Dubai /*targetInfo*/,
35487 };
35488 
35489 //---------------------------------------------------------------------------
35490 // Link name: Iran -> Asia/Tehran
35491 //---------------------------------------------------------------------------
35492 
35493 static const char kZoneNameIran[] ACE_TIME_PROGMEM = "Iran";
35494 
35495 const complete::ZoneInfo kZoneIran ACE_TIME_PROGMEM = {
35496  kZoneNameIran /*name*/,
35497  0x7c87090f /*zoneId*/,
35498  &kZoneContext /*zoneContext*/,
35499  5 /*numEras*/,
35500  kZoneEraAsia_Tehran /*eras*/,
35501  &kZoneAsia_Tehran /*targetInfo*/,
35502 };
35503 
35504 //---------------------------------------------------------------------------
35505 // Link name: Israel -> Asia/Jerusalem
35506 //---------------------------------------------------------------------------
35507 
35508 static const char kZoneNameIsrael[] ACE_TIME_PROGMEM = "Israel";
35509 
35510 const complete::ZoneInfo kZoneIsrael ACE_TIME_PROGMEM = {
35511  kZoneNameIsrael /*name*/,
35512  0xba88c9e5 /*zoneId*/,
35513  &kZoneContext /*zoneContext*/,
35514  3 /*numEras*/,
35515  kZoneEraAsia_Jerusalem /*eras*/,
35516  &kZoneAsia_Jerusalem /*targetInfo*/,
35517 };
35518 
35519 //---------------------------------------------------------------------------
35520 // Link name: Jamaica -> America/Jamaica
35521 //---------------------------------------------------------------------------
35522 
35523 static const char kZoneNameJamaica[] ACE_TIME_PROGMEM = "Jamaica";
35524 
35525 const complete::ZoneInfo kZoneJamaica ACE_TIME_PROGMEM = {
35526  kZoneNameJamaica /*name*/,
35527  0x2e44fdab /*zoneId*/,
35528  &kZoneContext /*zoneContext*/,
35529  5 /*numEras*/,
35530  kZoneEraAmerica_Jamaica /*eras*/,
35531  &kZoneAmerica_Jamaica /*targetInfo*/,
35532 };
35533 
35534 //---------------------------------------------------------------------------
35535 // Link name: Japan -> Asia/Tokyo
35536 //---------------------------------------------------------------------------
35537 
35538 static const char kZoneNameJapan[] ACE_TIME_PROGMEM = "Japan";
35539 
35540 const complete::ZoneInfo kZoneJapan ACE_TIME_PROGMEM = {
35541  kZoneNameJapan /*name*/,
35542  0x0d712f8f /*zoneId*/,
35543  &kZoneContext /*zoneContext*/,
35544  2 /*numEras*/,
35545  kZoneEraAsia_Tokyo /*eras*/,
35546  &kZoneAsia_Tokyo /*targetInfo*/,
35547 };
35548 
35549 //---------------------------------------------------------------------------
35550 // Link name: Kwajalein -> Pacific/Kwajalein
35551 //---------------------------------------------------------------------------
35552 
35553 static const char kZoneNameKwajalein[] ACE_TIME_PROGMEM = "Kwajalein";
35554 
35555 const complete::ZoneInfo kZoneKwajalein ACE_TIME_PROGMEM = {
35556  kZoneNameKwajalein /*name*/,
35557  0x0e57afbb /*zoneId*/,
35558  &kZoneContext /*zoneContext*/,
35559  7 /*numEras*/,
35560  kZoneEraPacific_Kwajalein /*eras*/,
35561  &kZonePacific_Kwajalein /*targetInfo*/,
35562 };
35563 
35564 //---------------------------------------------------------------------------
35565 // Link name: Libya -> Africa/Tripoli
35566 //---------------------------------------------------------------------------
35567 
35568 static const char kZoneNameLibya[] ACE_TIME_PROGMEM = "Libya";
35569 
35570 const complete::ZoneInfo kZoneLibya ACE_TIME_PROGMEM = {
35571  kZoneNameLibya /*name*/,
35572  0x0d998b16 /*zoneId*/,
35573  &kZoneContext /*zoneContext*/,
35574  9 /*numEras*/,
35575  kZoneEraAfrica_Tripoli /*eras*/,
35576  &kZoneAfrica_Tripoli /*targetInfo*/,
35577 };
35578 
35579 //---------------------------------------------------------------------------
35580 // Link name: Mexico/BajaNorte -> America/Tijuana
35581 //---------------------------------------------------------------------------
35582 
35583 static const char kZoneNameMexico_BajaNorte[] ACE_TIME_PROGMEM = "Mexico/BajaNorte";
35584 
35585 const complete::ZoneInfo kZoneMexico_BajaNorte ACE_TIME_PROGMEM = {
35586  kZoneNameMexico_BajaNorte /*name*/,
35587  0xfcf7150f /*zoneId*/,
35588  &kZoneContext /*zoneContext*/,
35589  19 /*numEras*/,
35590  kZoneEraAmerica_Tijuana /*eras*/,
35591  &kZoneAmerica_Tijuana /*targetInfo*/,
35592 };
35593 
35594 //---------------------------------------------------------------------------
35595 // Link name: Mexico/BajaSur -> America/Mazatlan
35596 //---------------------------------------------------------------------------
35597 
35598 static const char kZoneNameMexico_BajaSur[] ACE_TIME_PROGMEM = "Mexico/BajaSur";
35599 
35600 const complete::ZoneInfo kZoneMexico_BajaSur ACE_TIME_PROGMEM = {
35601  kZoneNameMexico_BajaSur /*name*/,
35602  0x08ee3641 /*zoneId*/,
35603  &kZoneContext /*zoneContext*/,
35604  8 /*numEras*/,
35605  kZoneEraAmerica_Mazatlan /*eras*/,
35606  &kZoneAmerica_Mazatlan /*targetInfo*/,
35607 };
35608 
35609 //---------------------------------------------------------------------------
35610 // Link name: Mexico/General -> America/Mexico_City
35611 //---------------------------------------------------------------------------
35612 
35613 static const char kZoneNameMexico_General[] ACE_TIME_PROGMEM = "Mexico/General";
35614 
35615 const complete::ZoneInfo kZoneMexico_General ACE_TIME_PROGMEM = {
35616  kZoneNameMexico_General /*name*/,
35617  0x93711d57 /*zoneId*/,
35618  &kZoneContext /*zoneContext*/,
35619  7 /*numEras*/,
35620  kZoneEraAmerica_Mexico_City /*eras*/,
35621  &kZoneAmerica_Mexico_City /*targetInfo*/,
35622 };
35623 
35624 //---------------------------------------------------------------------------
35625 // Link name: NZ -> Pacific/Auckland
35626 //---------------------------------------------------------------------------
35627 
35628 static const char kZoneNameNZ[] ACE_TIME_PROGMEM = "NZ";
35629 
35630 const complete::ZoneInfo kZoneNZ ACE_TIME_PROGMEM = {
35631  kZoneNameNZ /*name*/,
35632  0x005974ad /*zoneId*/,
35633  &kZoneContext /*zoneContext*/,
35634  3 /*numEras*/,
35635  kZoneEraPacific_Auckland /*eras*/,
35636  &kZonePacific_Auckland /*targetInfo*/,
35637 };
35638 
35639 //---------------------------------------------------------------------------
35640 // Link name: NZ-CHAT -> Pacific/Chatham
35641 //---------------------------------------------------------------------------
35642 
35643 static const char kZoneNameNZ_CHAT[] ACE_TIME_PROGMEM = "NZ-CHAT";
35644 
35645 const complete::ZoneInfo kZoneNZ_CHAT ACE_TIME_PROGMEM = {
35646  kZoneNameNZ_CHAT /*name*/,
35647  0x4d42afda /*zoneId*/,
35648  &kZoneContext /*zoneContext*/,
35649  3 /*numEras*/,
35650  kZoneEraPacific_Chatham /*eras*/,
35651  &kZonePacific_Chatham /*targetInfo*/,
35652 };
35653 
35654 //---------------------------------------------------------------------------
35655 // Link name: Navajo -> America/Denver
35656 //---------------------------------------------------------------------------
35657 
35658 static const char kZoneNameNavajo[] ACE_TIME_PROGMEM = "Navajo";
35659 
35660 const complete::ZoneInfo kZoneNavajo ACE_TIME_PROGMEM = {
35661  kZoneNameNavajo /*name*/,
35662  0xc4ef0e24 /*zoneId*/,
35663  &kZoneContext /*zoneContext*/,
35664  6 /*numEras*/,
35665  kZoneEraAmerica_Denver /*eras*/,
35666  &kZoneAmerica_Denver /*targetInfo*/,
35667 };
35668 
35669 //---------------------------------------------------------------------------
35670 // Link name: PRC -> Asia/Shanghai
35671 //---------------------------------------------------------------------------
35672 
35673 static const char kZoneNamePRC[] ACE_TIME_PROGMEM = "PRC";
35674 
35675 const complete::ZoneInfo kZonePRC ACE_TIME_PROGMEM = {
35676  kZoneNamePRC /*name*/,
35677  0x0b88120a /*zoneId*/,
35678  &kZoneContext /*zoneContext*/,
35679  3 /*numEras*/,
35680  kZoneEraAsia_Shanghai /*eras*/,
35681  &kZoneAsia_Shanghai /*targetInfo*/,
35682 };
35683 
35684 //---------------------------------------------------------------------------
35685 // Link name: Pacific/Chuuk -> Pacific/Port_Moresby
35686 //---------------------------------------------------------------------------
35687 
35688 static const char kZoneNamePacific_Chuuk[] ACE_TIME_PROGMEM = "\x0e" "Chuuk";
35689 
35690 const complete::ZoneInfo kZonePacific_Chuuk ACE_TIME_PROGMEM = {
35691  kZoneNamePacific_Chuuk /*name*/,
35692  0x8a090b23 /*zoneId*/,
35693  &kZoneContext /*zoneContext*/,
35694  3 /*numEras*/,
35695  kZoneEraPacific_Port_Moresby /*eras*/,
35696  &kZonePacific_Port_Moresby /*targetInfo*/,
35697 };
35698 
35699 //---------------------------------------------------------------------------
35700 // Link name: Pacific/Enderbury -> Pacific/Kanton
35701 //---------------------------------------------------------------------------
35702 
35703 static const char kZoneNamePacific_Enderbury[] ACE_TIME_PROGMEM = "\x0e" "Enderbury";
35704 
35705 const complete::ZoneInfo kZonePacific_Enderbury ACE_TIME_PROGMEM = {
35706  kZoneNamePacific_Enderbury /*name*/,
35707  0x61599a93 /*zoneId*/,
35708  &kZoneContext /*zoneContext*/,
35709  4 /*numEras*/,
35710  kZoneEraPacific_Kanton /*eras*/,
35711  &kZonePacific_Kanton /*targetInfo*/,
35712 };
35713 
35714 //---------------------------------------------------------------------------
35715 // Link name: Pacific/Funafuti -> Pacific/Tarawa
35716 //---------------------------------------------------------------------------
35717 
35718 static const char kZoneNamePacific_Funafuti[] ACE_TIME_PROGMEM = "\x0e" "Funafuti";
35719 
35720 const complete::ZoneInfo kZonePacific_Funafuti ACE_TIME_PROGMEM = {
35721  kZoneNamePacific_Funafuti /*name*/,
35722  0xdb402d65 /*zoneId*/,
35723  &kZoneContext /*zoneContext*/,
35724  2 /*numEras*/,
35725  kZoneEraPacific_Tarawa /*eras*/,
35726  &kZonePacific_Tarawa /*targetInfo*/,
35727 };
35728 
35729 //---------------------------------------------------------------------------
35730 // Link name: Pacific/Johnston -> Pacific/Honolulu
35731 //---------------------------------------------------------------------------
35732 
35733 static const char kZoneNamePacific_Johnston[] ACE_TIME_PROGMEM = "\x0e" "Johnston";
35734 
35735 const complete::ZoneInfo kZonePacific_Johnston ACE_TIME_PROGMEM = {
35736  kZoneNamePacific_Johnston /*name*/,
35737  0xb15d7b36 /*zoneId*/,
35738  &kZoneContext /*zoneContext*/,
35739  5 /*numEras*/,
35740  kZoneEraPacific_Honolulu /*eras*/,
35741  &kZonePacific_Honolulu /*targetInfo*/,
35742 };
35743 
35744 //---------------------------------------------------------------------------
35745 // Link name: Pacific/Majuro -> Pacific/Tarawa
35746 //---------------------------------------------------------------------------
35747 
35748 static const char kZoneNamePacific_Majuro[] ACE_TIME_PROGMEM = "\x0e" "Majuro";
35749 
35750 const complete::ZoneInfo kZonePacific_Majuro ACE_TIME_PROGMEM = {
35751  kZoneNamePacific_Majuro /*name*/,
35752  0xe1f95371 /*zoneId*/,
35753  &kZoneContext /*zoneContext*/,
35754  2 /*numEras*/,
35755  kZoneEraPacific_Tarawa /*eras*/,
35756  &kZonePacific_Tarawa /*targetInfo*/,
35757 };
35758 
35759 //---------------------------------------------------------------------------
35760 // Link name: Pacific/Midway -> Pacific/Pago_Pago
35761 //---------------------------------------------------------------------------
35762 
35763 static const char kZoneNamePacific_Midway[] ACE_TIME_PROGMEM = "\x0e" "Midway";
35764 
35765 const complete::ZoneInfo kZonePacific_Midway ACE_TIME_PROGMEM = {
35766  kZoneNamePacific_Midway /*name*/,
35767  0xe286d38e /*zoneId*/,
35768  &kZoneContext /*zoneContext*/,
35769  3 /*numEras*/,
35770  kZoneEraPacific_Pago_Pago /*eras*/,
35771  &kZonePacific_Pago_Pago /*targetInfo*/,
35772 };
35773 
35774 //---------------------------------------------------------------------------
35775 // Link name: Pacific/Pohnpei -> Pacific/Guadalcanal
35776 //---------------------------------------------------------------------------
35777 
35778 static const char kZoneNamePacific_Pohnpei[] ACE_TIME_PROGMEM = "\x0e" "Pohnpei";
35779 
35780 const complete::ZoneInfo kZonePacific_Pohnpei ACE_TIME_PROGMEM = {
35781  kZoneNamePacific_Pohnpei /*name*/,
35782  0x28929f96 /*zoneId*/,
35783  &kZoneContext /*zoneContext*/,
35784  2 /*numEras*/,
35785  kZoneEraPacific_Guadalcanal /*eras*/,
35786  &kZonePacific_Guadalcanal /*targetInfo*/,
35787 };
35788 
35789 //---------------------------------------------------------------------------
35790 // Link name: Pacific/Ponape -> Pacific/Guadalcanal
35791 //---------------------------------------------------------------------------
35792 
35793 static const char kZoneNamePacific_Ponape[] ACE_TIME_PROGMEM = "\x0e" "Ponape";
35794 
35795 const complete::ZoneInfo kZonePacific_Ponape ACE_TIME_PROGMEM = {
35796  kZoneNamePacific_Ponape /*name*/,
35797  0xe9f80086 /*zoneId*/,
35798  &kZoneContext /*zoneContext*/,
35799  2 /*numEras*/,
35800  kZoneEraPacific_Guadalcanal /*eras*/,
35801  &kZonePacific_Guadalcanal /*targetInfo*/,
35802 };
35803 
35804 //---------------------------------------------------------------------------
35805 // Link name: Pacific/Saipan -> Pacific/Guam
35806 //---------------------------------------------------------------------------
35807 
35808 static const char kZoneNamePacific_Saipan[] ACE_TIME_PROGMEM = "\x0e" "Saipan";
35809 
35810 const complete::ZoneInfo kZonePacific_Saipan ACE_TIME_PROGMEM = {
35811  kZoneNamePacific_Saipan /*name*/,
35812  0xeff7a35f /*zoneId*/,
35813  &kZoneContext /*zoneContext*/,
35814  6 /*numEras*/,
35815  kZoneEraPacific_Guam /*eras*/,
35816  &kZonePacific_Guam /*targetInfo*/,
35817 };
35818 
35819 //---------------------------------------------------------------------------
35820 // Link name: Pacific/Samoa -> Pacific/Pago_Pago
35821 //---------------------------------------------------------------------------
35822 
35823 static const char kZoneNamePacific_Samoa[] ACE_TIME_PROGMEM = "\x0e" "Samoa";
35824 
35825 const complete::ZoneInfo kZonePacific_Samoa ACE_TIME_PROGMEM = {
35826  kZoneNamePacific_Samoa /*name*/,
35827  0x8b2699b4 /*zoneId*/,
35828  &kZoneContext /*zoneContext*/,
35829  3 /*numEras*/,
35830  kZoneEraPacific_Pago_Pago /*eras*/,
35831  &kZonePacific_Pago_Pago /*targetInfo*/,
35832 };
35833 
35834 //---------------------------------------------------------------------------
35835 // Link name: Pacific/Truk -> Pacific/Port_Moresby
35836 //---------------------------------------------------------------------------
35837 
35838 static const char kZoneNamePacific_Truk[] ACE_TIME_PROGMEM = "\x0e" "Truk";
35839 
35840 const complete::ZoneInfo kZonePacific_Truk ACE_TIME_PROGMEM = {
35841  kZoneNamePacific_Truk /*name*/,
35842  0x234010a9 /*zoneId*/,
35843  &kZoneContext /*zoneContext*/,
35844  3 /*numEras*/,
35845  kZoneEraPacific_Port_Moresby /*eras*/,
35846  &kZonePacific_Port_Moresby /*targetInfo*/,
35847 };
35848 
35849 //---------------------------------------------------------------------------
35850 // Link name: Pacific/Wake -> Pacific/Tarawa
35851 //---------------------------------------------------------------------------
35852 
35853 static const char kZoneNamePacific_Wake[] ACE_TIME_PROGMEM = "\x0e" "Wake";
35854 
35855 const complete::ZoneInfo kZonePacific_Wake ACE_TIME_PROGMEM = {
35856  kZoneNamePacific_Wake /*name*/,
35857  0x23416c2b /*zoneId*/,
35858  &kZoneContext /*zoneContext*/,
35859  2 /*numEras*/,
35860  kZoneEraPacific_Tarawa /*eras*/,
35861  &kZonePacific_Tarawa /*targetInfo*/,
35862 };
35863 
35864 //---------------------------------------------------------------------------
35865 // Link name: Pacific/Wallis -> Pacific/Tarawa
35866 //---------------------------------------------------------------------------
35867 
35868 static const char kZoneNamePacific_Wallis[] ACE_TIME_PROGMEM = "\x0e" "Wallis";
35869 
35870 const complete::ZoneInfo kZonePacific_Wallis ACE_TIME_PROGMEM = {
35871  kZoneNamePacific_Wallis /*name*/,
35872  0xf94ddb0f /*zoneId*/,
35873  &kZoneContext /*zoneContext*/,
35874  2 /*numEras*/,
35875  kZoneEraPacific_Tarawa /*eras*/,
35876  &kZonePacific_Tarawa /*targetInfo*/,
35877 };
35878 
35879 //---------------------------------------------------------------------------
35880 // Link name: Pacific/Yap -> Pacific/Port_Moresby
35881 //---------------------------------------------------------------------------
35882 
35883 static const char kZoneNamePacific_Yap[] ACE_TIME_PROGMEM = "\x0e" "Yap";
35884 
35885 const complete::ZoneInfo kZonePacific_Yap ACE_TIME_PROGMEM = {
35886  kZoneNamePacific_Yap /*name*/,
35887  0xbb40138d /*zoneId*/,
35888  &kZoneContext /*zoneContext*/,
35889  3 /*numEras*/,
35890  kZoneEraPacific_Port_Moresby /*eras*/,
35891  &kZonePacific_Port_Moresby /*targetInfo*/,
35892 };
35893 
35894 //---------------------------------------------------------------------------
35895 // Link name: Poland -> Europe/Warsaw
35896 //---------------------------------------------------------------------------
35897 
35898 static const char kZoneNamePoland[] ACE_TIME_PROGMEM = "Poland";
35899 
35900 const complete::ZoneInfo kZonePoland ACE_TIME_PROGMEM = {
35901  kZoneNamePoland /*name*/,
35902  0xca913b23 /*zoneId*/,
35903  &kZoneContext /*zoneContext*/,
35904  9 /*numEras*/,
35905  kZoneEraEurope_Warsaw /*eras*/,
35906  &kZoneEurope_Warsaw /*targetInfo*/,
35907 };
35908 
35909 //---------------------------------------------------------------------------
35910 // Link name: Portugal -> Europe/Lisbon
35911 //---------------------------------------------------------------------------
35912 
35913 static const char kZoneNamePortugal[] ACE_TIME_PROGMEM = "Portugal";
35914 
35915 const complete::ZoneInfo kZonePortugal ACE_TIME_PROGMEM = {
35916  kZoneNamePortugal /*name*/,
35917  0xc3274593 /*zoneId*/,
35918  &kZoneContext /*zoneContext*/,
35919  8 /*numEras*/,
35920  kZoneEraEurope_Lisbon /*eras*/,
35921  &kZoneEurope_Lisbon /*targetInfo*/,
35922 };
35923 
35924 //---------------------------------------------------------------------------
35925 // Link name: ROC -> Asia/Taipei
35926 //---------------------------------------------------------------------------
35927 
35928 static const char kZoneNameROC[] ACE_TIME_PROGMEM = "ROC";
35929 
35930 const complete::ZoneInfo kZoneROC ACE_TIME_PROGMEM = {
35931  kZoneNameROC /*name*/,
35932  0x0b881a29 /*zoneId*/,
35933  &kZoneContext /*zoneContext*/,
35934  4 /*numEras*/,
35935  kZoneEraAsia_Taipei /*eras*/,
35936  &kZoneAsia_Taipei /*targetInfo*/,
35937 };
35938 
35939 //---------------------------------------------------------------------------
35940 // Link name: ROK -> Asia/Seoul
35941 //---------------------------------------------------------------------------
35942 
35943 static const char kZoneNameROK[] ACE_TIME_PROGMEM = "ROK";
35944 
35945 const complete::ZoneInfo kZoneROK ACE_TIME_PROGMEM = {
35946  kZoneNameROK /*name*/,
35947  0x0b881a31 /*zoneId*/,
35948  &kZoneContext /*zoneContext*/,
35949  6 /*numEras*/,
35950  kZoneEraAsia_Seoul /*eras*/,
35951  &kZoneAsia_Seoul /*targetInfo*/,
35952 };
35953 
35954 //---------------------------------------------------------------------------
35955 // Link name: Singapore -> Asia/Singapore
35956 //---------------------------------------------------------------------------
35957 
35958 static const char kZoneNameSingapore[] ACE_TIME_PROGMEM = "Singapore";
35959 
35960 const complete::ZoneInfo kZoneSingapore ACE_TIME_PROGMEM = {
35961  kZoneNameSingapore /*name*/,
35962  0xa8598c8d /*zoneId*/,
35963  &kZoneContext /*zoneContext*/,
35964  9 /*numEras*/,
35965  kZoneEraAsia_Singapore /*eras*/,
35966  &kZoneAsia_Singapore /*targetInfo*/,
35967 };
35968 
35969 //---------------------------------------------------------------------------
35970 // Link name: Turkey -> Europe/Istanbul
35971 //---------------------------------------------------------------------------
35972 
35973 static const char kZoneNameTurkey[] ACE_TIME_PROGMEM = "Turkey";
35974 
35975 const complete::ZoneInfo kZoneTurkey ACE_TIME_PROGMEM = {
35976  kZoneNameTurkey /*name*/,
35977  0xd455e469 /*zoneId*/,
35978  &kZoneContext /*zoneContext*/,
35979  13 /*numEras*/,
35980  kZoneEraEurope_Istanbul /*eras*/,
35981  &kZoneEurope_Istanbul /*targetInfo*/,
35982 };
35983 
35984 //---------------------------------------------------------------------------
35985 // Link name: UCT -> Etc/UTC
35986 //---------------------------------------------------------------------------
35987 
35988 static const char kZoneNameUCT[] ACE_TIME_PROGMEM = "UCT";
35989 
35990 const complete::ZoneInfo kZoneUCT ACE_TIME_PROGMEM = {
35991  kZoneNameUCT /*name*/,
35992  0x0b882571 /*zoneId*/,
35993  &kZoneContext /*zoneContext*/,
35994  1 /*numEras*/,
35995  kZoneEraEtc_UTC /*eras*/,
35996  &kZoneEtc_UTC /*targetInfo*/,
35997 };
35998 
35999 //---------------------------------------------------------------------------
36000 // Link name: US/Alaska -> America/Anchorage
36001 //---------------------------------------------------------------------------
36002 
36003 static const char kZoneNameUS_Alaska[] ACE_TIME_PROGMEM = "US/Alaska";
36004 
36005 const complete::ZoneInfo kZoneUS_Alaska ACE_TIME_PROGMEM = {
36006  kZoneNameUS_Alaska /*name*/,
36007  0xfa300bc9 /*zoneId*/,
36008  &kZoneContext /*zoneContext*/,
36009  8 /*numEras*/,
36010  kZoneEraAmerica_Anchorage /*eras*/,
36011  &kZoneAmerica_Anchorage /*targetInfo*/,
36012 };
36013 
36014 //---------------------------------------------------------------------------
36015 // Link name: US/Aleutian -> America/Adak
36016 //---------------------------------------------------------------------------
36017 
36018 static const char kZoneNameUS_Aleutian[] ACE_TIME_PROGMEM = "US/Aleutian";
36019 
36020 const complete::ZoneInfo kZoneUS_Aleutian ACE_TIME_PROGMEM = {
36021  kZoneNameUS_Aleutian /*name*/,
36022  0x4fe013ef /*zoneId*/,
36023  &kZoneContext /*zoneContext*/,
36024  9 /*numEras*/,
36025  kZoneEraAmerica_Adak /*eras*/,
36026  &kZoneAmerica_Adak /*targetInfo*/,
36027 };
36028 
36029 //---------------------------------------------------------------------------
36030 // Link name: US/Arizona -> America/Phoenix
36031 //---------------------------------------------------------------------------
36032 
36033 static const char kZoneNameUS_Arizona[] ACE_TIME_PROGMEM = "US/Arizona";
36034 
36035 const complete::ZoneInfo kZoneUS_Arizona ACE_TIME_PROGMEM = {
36036  kZoneNameUS_Arizona /*name*/,
36037  0x4ec52670 /*zoneId*/,
36038  &kZoneContext /*zoneContext*/,
36039  7 /*numEras*/,
36040  kZoneEraAmerica_Phoenix /*eras*/,
36041  &kZoneAmerica_Phoenix /*targetInfo*/,
36042 };
36043 
36044 //---------------------------------------------------------------------------
36045 // Link name: US/Central -> America/Chicago
36046 //---------------------------------------------------------------------------
36047 
36048 static const char kZoneNameUS_Central[] ACE_TIME_PROGMEM = "US/Central";
36049 
36050 const complete::ZoneInfo kZoneUS_Central ACE_TIME_PROGMEM = {
36051  kZoneNameUS_Central /*name*/,
36052  0xcabdcb25 /*zoneId*/,
36053  &kZoneContext /*zoneContext*/,
36054  8 /*numEras*/,
36055  kZoneEraAmerica_Chicago /*eras*/,
36056  &kZoneAmerica_Chicago /*targetInfo*/,
36057 };
36058 
36059 //---------------------------------------------------------------------------
36060 // Link name: US/East-Indiana -> America/Indiana/Indianapolis
36061 //---------------------------------------------------------------------------
36062 
36063 static const char kZoneNameUS_East_Indiana[] ACE_TIME_PROGMEM = "US/East-Indiana";
36064 
36065 const complete::ZoneInfo kZoneUS_East_Indiana ACE_TIME_PROGMEM = {
36066  kZoneNameUS_East_Indiana /*name*/,
36067  0x6dcf558a /*zoneId*/,
36068  &kZoneContext /*zoneContext*/,
36069  11 /*numEras*/,
36070  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
36071  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
36072 };
36073 
36074 //---------------------------------------------------------------------------
36075 // Link name: US/Eastern -> America/New_York
36076 //---------------------------------------------------------------------------
36077 
36078 static const char kZoneNameUS_Eastern[] ACE_TIME_PROGMEM = "US/Eastern";
36079 
36080 const complete::ZoneInfo kZoneUS_Eastern ACE_TIME_PROGMEM = {
36081  kZoneNameUS_Eastern /*name*/,
36082  0x5bb7e78e /*zoneId*/,
36083  &kZoneContext /*zoneContext*/,
36084  6 /*numEras*/,
36085  kZoneEraAmerica_New_York /*eras*/,
36086  &kZoneAmerica_New_York /*targetInfo*/,
36087 };
36088 
36089 //---------------------------------------------------------------------------
36090 // Link name: US/Hawaii -> Pacific/Honolulu
36091 //---------------------------------------------------------------------------
36092 
36093 static const char kZoneNameUS_Hawaii[] ACE_TIME_PROGMEM = "US/Hawaii";
36094 
36095 const complete::ZoneInfo kZoneUS_Hawaii ACE_TIME_PROGMEM = {
36096  kZoneNameUS_Hawaii /*name*/,
36097  0x09c8de2f /*zoneId*/,
36098  &kZoneContext /*zoneContext*/,
36099  5 /*numEras*/,
36100  kZoneEraPacific_Honolulu /*eras*/,
36101  &kZonePacific_Honolulu /*targetInfo*/,
36102 };
36103 
36104 //---------------------------------------------------------------------------
36105 // Link name: US/Indiana-Starke -> America/Indiana/Knox
36106 //---------------------------------------------------------------------------
36107 
36108 static const char kZoneNameUS_Indiana_Starke[] ACE_TIME_PROGMEM = "US/Indiana-Starke";
36109 
36110 const complete::ZoneInfo kZoneUS_Indiana_Starke ACE_TIME_PROGMEM = {
36111  kZoneNameUS_Indiana_Starke /*name*/,
36112  0x67977be7 /*zoneId*/,
36113  &kZoneContext /*zoneContext*/,
36114  7 /*numEras*/,
36115  kZoneEraAmerica_Indiana_Knox /*eras*/,
36116  &kZoneAmerica_Indiana_Knox /*targetInfo*/,
36117 };
36118 
36119 //---------------------------------------------------------------------------
36120 // Link name: US/Michigan -> America/Detroit
36121 //---------------------------------------------------------------------------
36122 
36123 static const char kZoneNameUS_Michigan[] ACE_TIME_PROGMEM = "US/Michigan";
36124 
36125 const complete::ZoneInfo kZoneUS_Michigan ACE_TIME_PROGMEM = {
36126  kZoneNameUS_Michigan /*name*/,
36127  0x766bb7bc /*zoneId*/,
36128  &kZoneContext /*zoneContext*/,
36129  10 /*numEras*/,
36130  kZoneEraAmerica_Detroit /*eras*/,
36131  &kZoneAmerica_Detroit /*targetInfo*/,
36132 };
36133 
36134 //---------------------------------------------------------------------------
36135 // Link name: US/Mountain -> America/Denver
36136 //---------------------------------------------------------------------------
36137 
36138 static const char kZoneNameUS_Mountain[] ACE_TIME_PROGMEM = "US/Mountain";
36139 
36140 const complete::ZoneInfo kZoneUS_Mountain ACE_TIME_PROGMEM = {
36141  kZoneNameUS_Mountain /*name*/,
36142  0x6eb88247 /*zoneId*/,
36143  &kZoneContext /*zoneContext*/,
36144  6 /*numEras*/,
36145  kZoneEraAmerica_Denver /*eras*/,
36146  &kZoneAmerica_Denver /*targetInfo*/,
36147 };
36148 
36149 //---------------------------------------------------------------------------
36150 // Link name: US/Pacific -> America/Los_Angeles
36151 //---------------------------------------------------------------------------
36152 
36153 static const char kZoneNameUS_Pacific[] ACE_TIME_PROGMEM = "US/Pacific";
36154 
36155 const complete::ZoneInfo kZoneUS_Pacific ACE_TIME_PROGMEM = {
36156  kZoneNameUS_Pacific /*name*/,
36157  0xa950f6ab /*zoneId*/,
36158  &kZoneContext /*zoneContext*/,
36159  4 /*numEras*/,
36160  kZoneEraAmerica_Los_Angeles /*eras*/,
36161  &kZoneAmerica_Los_Angeles /*targetInfo*/,
36162 };
36163 
36164 //---------------------------------------------------------------------------
36165 // Link name: US/Samoa -> Pacific/Pago_Pago
36166 //---------------------------------------------------------------------------
36167 
36168 static const char kZoneNameUS_Samoa[] ACE_TIME_PROGMEM = "US/Samoa";
36169 
36170 const complete::ZoneInfo kZoneUS_Samoa ACE_TIME_PROGMEM = {
36171  kZoneNameUS_Samoa /*name*/,
36172  0x566821cd /*zoneId*/,
36173  &kZoneContext /*zoneContext*/,
36174  3 /*numEras*/,
36175  kZoneEraPacific_Pago_Pago /*eras*/,
36176  &kZonePacific_Pago_Pago /*targetInfo*/,
36177 };
36178 
36179 //---------------------------------------------------------------------------
36180 // Link name: UTC -> Etc/UTC
36181 //---------------------------------------------------------------------------
36182 
36183 static const char kZoneNameUTC[] ACE_TIME_PROGMEM = "UTC";
36184 
36185 const complete::ZoneInfo kZoneUTC ACE_TIME_PROGMEM = {
36186  kZoneNameUTC /*name*/,
36187  0x0b882791 /*zoneId*/,
36188  &kZoneContext /*zoneContext*/,
36189  1 /*numEras*/,
36190  kZoneEraEtc_UTC /*eras*/,
36191  &kZoneEtc_UTC /*targetInfo*/,
36192 };
36193 
36194 //---------------------------------------------------------------------------
36195 // Link name: Universal -> Etc/UTC
36196 //---------------------------------------------------------------------------
36197 
36198 static const char kZoneNameUniversal[] ACE_TIME_PROGMEM = "Universal";
36199 
36200 const complete::ZoneInfo kZoneUniversal ACE_TIME_PROGMEM = {
36201  kZoneNameUniversal /*name*/,
36202  0xd0ff523e /*zoneId*/,
36203  &kZoneContext /*zoneContext*/,
36204  1 /*numEras*/,
36205  kZoneEraEtc_UTC /*eras*/,
36206  &kZoneEtc_UTC /*targetInfo*/,
36207 };
36208 
36209 //---------------------------------------------------------------------------
36210 // Link name: W-SU -> Europe/Moscow
36211 //---------------------------------------------------------------------------
36212 
36213 static const char kZoneNameW_SU[] ACE_TIME_PROGMEM = "W-SU";
36214 
36215 const complete::ZoneInfo kZoneW_SU ACE_TIME_PROGMEM = {
36216  kZoneNameW_SU /*name*/,
36217  0x7c8d8ef1 /*zoneId*/,
36218  &kZoneContext /*zoneContext*/,
36219  11 /*numEras*/,
36220  kZoneEraEurope_Moscow /*eras*/,
36221  &kZoneEurope_Moscow /*targetInfo*/,
36222 };
36223 
36224 //---------------------------------------------------------------------------
36225 // Link name: Zulu -> Etc/UTC
36226 //---------------------------------------------------------------------------
36227 
36228 static const char kZoneNameZulu[] ACE_TIME_PROGMEM = "Zulu";
36229 
36230 const complete::ZoneInfo kZoneZulu ACE_TIME_PROGMEM = {
36231  kZoneNameZulu /*name*/,
36232  0x7c9069b5 /*zoneId*/,
36233  &kZoneContext /*zoneContext*/,
36234  1 /*numEras*/,
36235  kZoneEraEtc_UTC /*eras*/,
36236  &kZoneEtc_UTC /*targetInfo*/,
36237 };
36238 
36239 
36240 }
36241 }
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...