date 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of date might be problematic. Click here for more details.

@@ -361,66 +361,90 @@ do { \
361
361
  #include "zonetab.h"
362
362
 
363
363
  static int
364
- str_end_with(const char *s, long l, const char *w)
364
+ str_end_with_word(const char *s, long l, const char *w)
365
365
  {
366
366
  int n = (int)strlen(w);
367
- return (l >= n && strncmp(s - n, w, n) == 0);
367
+ if (l <= n || !isspace(s[l - n - 1])) return 0;
368
+ if (strncasecmp(&s[l - n], w, n)) return 0;
369
+ do ++n; while (l > n && isspace(s[l - n - 1]));
370
+ return n;
368
371
  }
369
372
 
370
- VALUE
371
- date_zone_to_diff(VALUE str)
373
+ static long
374
+ shrunk_size(const char *s, long l)
372
375
  {
373
- VALUE offset = Qnil;
374
- VALUE vbuf = 0;
375
-
376
- long l, i;
377
- char *s, *dest, *d;
378
- int sp = 1;
379
-
380
- l = RSTRING_LEN(str);
381
- s = RSTRING_PTR(str);
382
-
383
- dest = d = ALLOCV_N(char, vbuf, l + 1);
384
-
385
- for (i = 0; i < l; i++) {
386
- if (isspace((unsigned char)s[i]) || s[i] == '\0') {
387
- if (!sp)
388
- *d++ = ' ';
389
- sp = 1;
376
+ long i, ni;
377
+ int sp = 0;
378
+ for (i = ni = 0; i < l; ++i) {
379
+ if (!isspace(s[i])) {
380
+ if (sp) ni++;
381
+ sp = 0;
382
+ ni++;
390
383
  }
391
384
  else {
392
- if (isalpha((unsigned char)s[i]))
393
- *d++ = tolower((unsigned char)s[i]);
394
- else
395
- *d++ = s[i];
396
- sp = 0;
385
+ sp = 1;
397
386
  }
398
387
  }
399
- if (d > dest) {
400
- if (*(d - 1) == ' ')
401
- --d;
402
- *d = '\0';
388
+ return ni < l ? ni : 0;
389
+ }
390
+
391
+ static long
392
+ shrink_space(char *d, const char *s, long l)
393
+ {
394
+ long i, ni;
395
+ int sp = 0;
396
+ for (i = ni = 0; i < l; ++i) {
397
+ if (!isspace(s[i])) {
398
+ if (sp) d[ni++] = ' ';
399
+ sp = 0;
400
+ d[ni++] = s[i];
401
+ }
402
+ else {
403
+ sp = 1;
404
+ }
403
405
  }
404
- l = d - dest;
405
- s = dest;
406
+ return ni;
407
+ }
408
+
409
+ VALUE
410
+ date_zone_to_diff(VALUE str)
411
+ {
412
+ VALUE offset = Qnil;
413
+ VALUE vbuf = 0;
414
+ long l = RSTRING_LEN(str);
415
+ const char *s = RSTRING_PTR(str);
416
+
406
417
  {
407
- static const char STD[] = " standard time";
408
- static const char DST1[] = " daylight time";
409
- static const char DST2[] = " dst";
410
418
  int dst = 0;
419
+ int w;
411
420
 
412
- if (str_end_with(d, l, STD)) {
413
- l -= sizeof(STD) - 1;
414
- }
415
- else if (str_end_with(d, l, DST1)) {
416
- l -= sizeof(DST1) - 1;
417
- dst = 1;
421
+ if ((w = str_end_with_word(s, l, "time")) > 0) {
422
+ int wtime = w;
423
+ l -= w;
424
+ if ((w = str_end_with_word(s, l, "standard")) > 0) {
425
+ l -= w;
426
+ }
427
+ else if ((w = str_end_with_word(s, l, "daylight")) > 0) {
428
+ l -= w;
429
+ dst = 1;
430
+ }
431
+ else {
432
+ l += wtime;
433
+ }
418
434
  }
419
- else if (str_end_with(d, l, DST2)) {
420
- l -= sizeof(DST2) - 1;
435
+ else if ((w = str_end_with_word(s, l, "dst")) > 0) {
436
+ l -= w;
421
437
  dst = 1;
422
438
  }
423
439
  {
440
+ long sl = shrunk_size(s, l);
441
+ if (sl > 0 && sl <= MAX_WORD_LENGTH) {
442
+ char *d = ALLOCV_N(char, vbuf, sl);
443
+ l = shrink_space(d, s, l);
444
+ s = d;
445
+ }
446
+ }
447
+ if (l > 0 && l <= MAX_WORD_LENGTH) {
424
448
  const struct zone *z = zonetab(s, (unsigned int)l);
425
449
  if (z) {
426
450
  int d = z->offset;
@@ -436,8 +460,8 @@ date_zone_to_diff(VALUE str)
436
460
  long hour = 0, min = 0, sec = 0;
437
461
 
438
462
  if (l > 3 &&
439
- (strncmp(s, "gmt", 3) == 0 ||
440
- strncmp(s, "utc", 3) == 0)) {
463
+ (strncasecmp(s, "gmt", 3) == 0 ||
464
+ strncasecmp(s, "utc", 3) == 0)) {
441
465
  s += 3;
442
466
  l -= 3;
443
467
  }
@@ -1212,6 +1236,9 @@ parse_iso2(VALUE str, VALUE hash)
1212
1236
  return 1;
1213
1237
  }
1214
1238
 
1239
+ #define JISX0301_ERA_INITIALS "mtshr"
1240
+ #define JISX0301_DEFAULT_ERA 'H' /* obsolete */
1241
+
1215
1242
  static int
1216
1243
  gengo(int c)
1217
1244
  {
@@ -1222,6 +1249,7 @@ gengo(int c)
1222
1249
  case 'T': case 't': e = 1911; break;
1223
1250
  case 'S': case 's': e = 1925; break;
1224
1251
  case 'H': case 'h': e = 1988; break;
1252
+ case 'R': case 'r': e = 2018; break;
1225
1253
  default: e = 0; break;
1226
1254
  }
1227
1255
  return e;
@@ -1252,11 +1280,11 @@ parse_jis(VALUE str, VALUE hash)
1252
1280
  {
1253
1281
  static const char pat_source[] =
1254
1282
  #ifndef TIGHT_PARSER
1255
- "\\b([mtsh])(\\d+)\\.(\\d+)\\.(\\d+)"
1283
+ "\\b([" JISX0301_ERA_INITIALS "])(\\d+)\\.(\\d+)\\.(\\d+)"
1256
1284
  #else
1257
1285
  BOS
1258
1286
  FPW_COM FPT_COM
1259
- "([mtsh])(\\d+)\\.(\\d+)\\.(\\d+)"
1287
+ "([" JISX0301_ERA_INITIALS "])(\\d+)\\.(\\d+)\\.(\\d+)"
1260
1288
  TEE_FPT COM_FPW
1261
1289
  EOS
1262
1290
  #endif
@@ -1859,30 +1887,26 @@ parse_ddd_cb(VALUE m, VALUE hash)
1859
1887
  set_hash("zone", s5);
1860
1888
 
1861
1889
  if (*cs5 == '[') {
1862
- VALUE vbuf = 0;
1863
- char *buf = ALLOCV_N(char, vbuf, l5 + 1);
1864
- char *s1, *s2, *s3;
1890
+ const char *s1, *s2;
1865
1891
  VALUE zone;
1866
1892
 
1867
- memcpy(buf, cs5, l5);
1868
- buf[l5 - 1] = '\0';
1869
-
1870
- s1 = buf + 1;
1871
- s2 = strchr(buf, ':');
1893
+ l5 -= 2;
1894
+ s1 = cs5 + 1;
1895
+ s2 = memchr(s1, ':', l5);
1872
1896
  if (s2) {
1873
- *s2 = '\0';
1874
1897
  s2++;
1898
+ zone = rb_str_subseq(s5, s2 - cs5, l5 - (s2 - s1));
1899
+ s5 = rb_str_subseq(s5, 1, s2 - s1);
1875
1900
  }
1876
- if (s2)
1877
- s3 = s2;
1878
- else
1879
- s3 = s1;
1880
- zone = rb_str_new2(s3);
1901
+ else {
1902
+ zone = rb_str_subseq(s5, 1, l5);
1903
+ if (isdigit((unsigned char)*s1))
1904
+ s5 = rb_str_append(rb_str_new_cstr("+"), zone);
1905
+ else
1906
+ s5 = zone;
1907
+ }
1881
1908
  set_hash("zone", zone);
1882
- if (isdigit((unsigned char)*s1))
1883
- *--s1 = '+';
1884
- set_hash("offset", date_zone_to_diff(rb_str_new2(s1)));
1885
- ALLOCV_END(vbuf);
1909
+ set_hash("offset", date_zone_to_diff(s5));
1886
1910
  }
1887
1911
  RB_GC_GUARD(s5);
1888
1912
  }
@@ -2175,7 +2199,7 @@ date__parse(VALUE str, VALUE comp)
2175
2199
  #endif
2176
2200
 
2177
2201
  {
2178
- if (RTEST(ref_hash("_bc"))) {
2202
+ if (RTEST(del_hash("_bc"))) {
2179
2203
  VALUE y;
2180
2204
 
2181
2205
  y = ref_hash("cwyear");
@@ -2190,7 +2214,7 @@ date__parse(VALUE str, VALUE comp)
2190
2214
  }
2191
2215
  }
2192
2216
 
2193
- if (RTEST(ref_hash("_comp"))) {
2217
+ if (RTEST(del_hash("_comp"))) {
2194
2218
  VALUE y;
2195
2219
 
2196
2220
  y = ref_hash("cwyear");
@@ -2213,9 +2237,6 @@ date__parse(VALUE str, VALUE comp)
2213
2237
 
2214
2238
  }
2215
2239
 
2216
- del_hash("_bc");
2217
- del_hash("_comp");
2218
-
2219
2240
  {
2220
2241
  VALUE zone = ref_hash("zone");
2221
2242
  if (!NIL_P(zone) && NIL_P(ref_hash("offset")))
@@ -2265,8 +2286,8 @@ iso8601_ext_datetime_cb(VALUE m, VALUE hash)
2265
2286
  s[i] = rb_reg_nth_match(i, m);
2266
2287
  }
2267
2288
 
2268
- if (!NIL_P(s[3])) {
2269
- set_hash("mday", str2num(s[3]));
2289
+ if (!NIL_P(s[1])) {
2290
+ if (!NIL_P(s[3])) set_hash("mday", str2num(s[3]));
2270
2291
  if (strcmp(RSTRING_PTR(s[1]), "-") != 0) {
2271
2292
  y = str2num(s[1]);
2272
2293
  if (RSTRING_LEN(s[1]) < 4)
@@ -2323,7 +2344,7 @@ static int
2323
2344
  iso8601_ext_datetime(VALUE str, VALUE hash)
2324
2345
  {
2325
2346
  static const char pat_source[] =
2326
- "\\A\\s*(?:([-+]?\\d{2,}|-)-(\\d{2})?-(\\d{2})|"
2347
+ "\\A\\s*(?:([-+]?\\d{2,}|-)-(\\d{2})?(?:-(\\d{2}))?|"
2327
2348
  "([-+]?\\d{2,})?-(\\d{3})|"
2328
2349
  "(\\d{4}|\\d{2})?-w(\\d{2})-(\\d)|"
2329
2350
  "-w-(\\d))"
@@ -2954,7 +2975,7 @@ jisx0301_cb(VALUE m, VALUE hash)
2954
2975
  s[i] = rb_reg_nth_match(i, m);
2955
2976
  }
2956
2977
 
2957
- ep = gengo(NIL_P(s[1]) ? 'h' : *RSTRING_PTR(s[1]));
2978
+ ep = gengo(NIL_P(s[1]) ? JISX0301_DEFAULT_ERA : *RSTRING_PTR(s[1]));
2958
2979
  set_hash("year", f_add(str2num(s[2]), INT2FIX(ep)));
2959
2980
  set_hash("mon", str2num(s[3]));
2960
2981
  set_hash("mday", str2num(s[4]));
@@ -2979,7 +3000,7 @@ static int
2979
3000
  jisx0301(VALUE str, VALUE hash)
2980
3001
  {
2981
3002
  static const char pat_source[] =
2982
- "\\A\\s*([mtsh])?(\\d{2})\\.(\\d{2})\\.(\\d{2})"
3003
+ "\\A\\s*([" JISX0301_ERA_INITIALS "])?(\\d{2})\\.(\\d{2})\\.(\\d{2})"
2983
3004
  "(?:t"
2984
3005
  "(?:(\\d{2}):(\\d{2})(?::(\\d{2})(?:[,.](\\d*))?)?"
2985
3006
  "(z|[-+]\\d{2}(?::?\\d{2})?)?)?)?\\s*\\z";
@@ -669,7 +669,7 @@ date__strptime(const char *str, size_t slen,
669
669
  if (fail_p())
670
670
  return Qnil;
671
671
 
672
- cent = ref_hash("_cent");
672
+ cent = del_hash("_cent");
673
673
  if (!NIL_P(cent)) {
674
674
  VALUE year;
675
675
 
@@ -679,10 +679,9 @@ date__strptime(const char *str, size_t slen,
679
679
  year = ref_hash("year");
680
680
  if (!NIL_P(year))
681
681
  set_hash("year", f_add(year, f_mul(cent, INT2FIX(100))));
682
- del_hash("_cent");
683
682
  }
684
683
 
685
- merid = ref_hash("_merid");
684
+ merid = del_hash("_merid");
686
685
  if (!NIL_P(merid)) {
687
686
  VALUE hour;
688
687
 
@@ -691,7 +690,6 @@ date__strptime(const char *str, size_t slen,
691
690
  hour = f_mod(hour, INT2FIX(12));
692
691
  set_hash("hour", f_add(hour, merid));
693
692
  }
694
- del_hash("_merid");
695
693
  }
696
694
 
697
695
  return hash;
@@ -1,8 +1,12 @@
1
1
  .SUFFIXES: .list
2
2
 
3
3
  .list.h:
4
- gperf -E -C -c -P -p -j1 -i 1 -g -o -t -N $(*F) $< \
4
+ gperf --ignore-case -C -c -P -p -j1 -i 1 -g -o -t -N $(*F) $< \
5
5
  | sed -f $(top_srcdir)/tool/gperf.sed \
6
6
  > $(@F)
7
7
 
8
8
  zonetab.h: zonetab.list
9
+
10
+ .PHONY: update-zonetab
11
+ update-zonetab:
12
+ $(RUBY) -C $(srcdir) update-abbr.rb
@@ -1,6 +1,6 @@
1
1
  /* ANSI-C code produced by gperf version 3.1 */
2
- /* Command-line: gperf -E -C -c -P -p -j1 -i 1 -g -o -t -N zonetab zonetab.list */
3
- /* Computed positions: -k'1-4,$' */
2
+ /* Command-line: gperf --ignore-case -C -c -P -p -j1 -i 1 -g -o -t -N zonetab zonetab.list */
3
+ /* Computed positions: -k'1-4,9' */
4
4
 
5
5
  #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
6
6
  && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
@@ -39,7 +39,58 @@ struct zone {
39
39
  static const struct zone *zonetab();
40
40
  #line 9 "zonetab.list"
41
41
  struct zone;
42
- /* maximum key range = 434, duplicates = 0 */
42
+
43
+ #define TOTAL_KEYWORDS 316
44
+ #define MIN_WORD_LENGTH 1
45
+ #define MAX_WORD_LENGTH 17
46
+ #define MIN_HASH_VALUE 2
47
+ #define MAX_HASH_VALUE 619
48
+ /* maximum key range = 618, duplicates = 0 */
49
+
50
+ #ifndef GPERF_DOWNCASE
51
+ #define GPERF_DOWNCASE 1
52
+ static unsigned char gperf_downcase[256] =
53
+ {
54
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
55
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
56
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
57
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
58
+ 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
59
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
60
+ 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
61
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
62
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
63
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
64
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
65
+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
66
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
67
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
68
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
69
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
70
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
71
+ 255
72
+ };
73
+ #endif
74
+
75
+ #ifndef GPERF_CASE_STRNCMP
76
+ #define GPERF_CASE_STRNCMP 1
77
+ static int
78
+ gperf_case_strncmp (register const char *s1, register const char *s2, register size_t n)
79
+ {
80
+ for (; n > 0;)
81
+ {
82
+ unsigned char c1 = gperf_downcase[(unsigned char)*s1++];
83
+ unsigned char c2 = gperf_downcase[(unsigned char)*s2++];
84
+ if (c1 != 0 && c1 == c2)
85
+ {
86
+ n--;
87
+ continue;
88
+ }
89
+ return (int)c1 - (int)c2;
90
+ }
91
+ return 0;
92
+ }
93
+ #endif
43
94
 
44
95
  #ifdef __GNUC__
45
96
  __inline
@@ -53,824 +104,1440 @@ hash (register const char *str, register size_t len)
53
104
  {
54
105
  static const unsigned short asso_values[] =
55
106
  {
56
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
57
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
58
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
59
- 439, 439, 19, 439, 439, 439, 439, 439, 439, 439,
60
- 439, 439, 439, 439, 439, 2, 4, 439, 439, 439,
61
- 439, 439, 8, 6, 3, 439, 439, 439, 439, 439,
62
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
63
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
64
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
65
- 439, 439, 439, 439, 439, 439, 439, 7, 63, 53,
66
- 2, 4, 32, 110, 88, 78, 90, 68, 47, 108,
67
- 10, 73, 81, 124, 3, 1, 4, 77, 116, 88,
68
- 15, 96, 45, 5, 439, 439, 439, 439, 439, 439,
69
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
70
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
71
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
72
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
73
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
74
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
75
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
76
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
77
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
78
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
79
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
80
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
81
- 439, 439, 439, 439, 439, 439, 439
107
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
108
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
109
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
110
+ 620, 620, 17, 620, 620, 620, 620, 620, 620, 620,
111
+ 620, 620, 620, 620, 620, 3, 2, 620, 620, 620,
112
+ 620, 620, 70, 8, 3, 620, 620, 620, 620, 620,
113
+ 620, 620, 620, 620, 620, 39, 176, 207, 70, 168,
114
+ 1, 5, 18, 74, 218, 2, 117, 130, 48, 88,
115
+ 125, 225, 92, 1, 1, 12, 54, 30, 36, 13,
116
+ 48, 168, 263, 59, 114, 166, 109, 39, 176, 207,
117
+ 70, 168, 1, 5, 18, 74, 218, 2, 117, 130,
118
+ 48, 88, 125, 225, 92, 1, 1, 12, 54, 30,
119
+ 36, 13, 48, 168, 263, 59, 114, 166, 109, 27,
120
+ 104, 1, 9, 4, 309, 190, 188, 177, 255, 108,
121
+ 2, 341, 3, 620, 620, 620, 620, 620, 620, 12,
122
+ 54, 30, 36, 13, 48, 168, 263, 59, 114, 166,
123
+ 109, 27, 104, 1, 9, 4, 309, 190, 188, 177,
124
+ 255, 108, 2, 341, 3, 620, 620, 620, 620, 620,
125
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
126
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
127
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
128
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
129
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
130
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
131
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
132
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
133
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
134
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
135
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
136
+ 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
137
+ 620, 620, 620, 620, 620, 620, 620, 620
82
138
  };
83
139
  register unsigned int hval = (unsigned int)len;
84
140
 
85
141
  switch (hval)
86
142
  {
87
143
  default:
144
+ hval += asso_values[(unsigned char)str[8]];
145
+ /*FALLTHROUGH*/
146
+ case 8:
147
+ case 7:
148
+ case 6:
149
+ case 5:
150
+ case 4:
88
151
  hval += asso_values[(unsigned char)str[3]];
89
152
  /*FALLTHROUGH*/
90
153
  case 3:
91
154
  hval += asso_values[(unsigned char)str[2]];
92
155
  /*FALLTHROUGH*/
93
156
  case 2:
94
- hval += asso_values[(unsigned char)str[1]];
157
+ hval += asso_values[(unsigned char)str[1]+6];
95
158
  /*FALLTHROUGH*/
96
159
  case 1:
97
- hval += asso_values[(unsigned char)str[0]+1];
160
+ hval += asso_values[(unsigned char)str[0]+52];
98
161
  break;
99
162
  }
100
- return (unsigned int)hval + asso_values[(unsigned char)str[len - 1]];
163
+ return (unsigned int)hval;
101
164
  }
102
165
 
103
166
  struct stringpool_t
104
167
  {
105
- char stringpool_str5[sizeof("r")];
106
- char stringpool_str6[sizeof("s")];
107
- char stringpool_str7[sizeof("d")];
108
- char stringpool_str14[sizeof("cst")];
109
- char stringpool_str15[sizeof("cdt")];
110
- char stringpool_str16[sizeof("sst")];
111
- char stringpool_str17[sizeof("cet")];
112
- char stringpool_str18[sizeof("msd")];
113
- char stringpool_str19[sizeof("cest")];
114
- char stringpool_str20[sizeof("cat")];
115
- char stringpool_str22[sizeof("mst")];
116
- char stringpool_str23[sizeof("mdt")];
117
- char stringpool_str24[sizeof("sast")];
118
- char stringpool_str25[sizeof("met")];
119
- char stringpool_str27[sizeof("mest")];
120
- char stringpool_str30[sizeof("wet")];
121
- char stringpool_str31[sizeof("dateline")];
122
- char stringpool_str32[sizeof("west")];
123
- char stringpool_str33[sizeof("wat")];
124
- char stringpool_str35[sizeof("wast")];
125
- char stringpool_str36[sizeof("wadt")];
126
- char stringpool_str37[sizeof("e")];
127
- char stringpool_str38[sizeof("central europe")];
128
- char stringpool_str39[sizeof("central asia")];
129
- char stringpool_str40[sizeof("west asia")];
130
- char stringpool_str41[sizeof("cen. australia")];
131
- char stringpool_str42[sizeof("central america")];
132
- char stringpool_str44[sizeof("est")];
133
- char stringpool_str45[sizeof("edt")];
134
- char stringpool_str46[sizeof("central european")];
135
- char stringpool_str47[sizeof("eet")];
136
- char stringpool_str48[sizeof("se asia")];
137
- char stringpool_str49[sizeof("eest")];
138
- char stringpool_str50[sizeof("eat")];
139
- char stringpool_str51[sizeof("z")];
140
- char stringpool_str52[sizeof("east")];
141
- char stringpool_str53[sizeof("eadt")];
142
- char stringpool_str54[sizeof("sa eastern")];
143
- char stringpool_str55[sizeof("w. europe")];
144
- char stringpool_str56[sizeof("c")];
145
- char stringpool_str57[sizeof("yst")];
146
- char stringpool_str58[sizeof("ydt")];
147
- char stringpool_str59[sizeof("kst")];
148
- char stringpool_str60[sizeof("clt")];
149
- char stringpool_str61[sizeof("eastern")];
150
- char stringpool_str62[sizeof("clst")];
151
- char stringpool_str63[sizeof("bt")];
152
- char stringpool_str64[sizeof("w. australia")];
153
- char stringpool_str65[sizeof("bst")];
154
- char stringpool_str66[sizeof("cct")];
155
- char stringpool_str67[sizeof("brt")];
156
- char stringpool_str69[sizeof("brst")];
157
- char stringpool_str71[sizeof("a")];
158
- char stringpool_str72[sizeof("e. europe")];
159
- char stringpool_str73[sizeof("at")];
160
- char stringpool_str74[sizeof("central")];
161
- char stringpool_str75[sizeof("ast")];
162
- char stringpool_str76[sizeof("adt")];
163
- char stringpool_str77[sizeof("art")];
164
- char stringpool_str78[sizeof("e. africa")];
165
- char stringpool_str79[sizeof("e. south america")];
166
- char stringpool_str80[sizeof("jst")];
167
- char stringpool_str81[sizeof("e. australia")];
168
- char stringpool_str82[sizeof("t")];
169
- char stringpool_str83[sizeof("nt")];
170
- char stringpool_str84[sizeof("n")];
171
- char stringpool_str85[sizeof("nst")];
172
- char stringpool_str86[sizeof("ndt")];
173
- char stringpool_str87[sizeof("canada central")];
174
- char stringpool_str88[sizeof("central pacific")];
175
- char stringpool_str89[sizeof("west pacific")];
176
- char stringpool_str90[sizeof("hst")];
177
- char stringpool_str91[sizeof("hdt")];
178
- char stringpool_str93[sizeof("malay peninsula")];
179
- char stringpool_str95[sizeof("zp6")];
180
- char stringpool_str97[sizeof("russian")];
181
- char stringpool_str98[sizeof("hast")];
182
- char stringpool_str99[sizeof("hadt")];
183
- char stringpool_str100[sizeof("gst")];
184
- char stringpool_str101[sizeof("zp5")];
185
- char stringpool_str102[sizeof("ist")];
186
- char stringpool_str103[sizeof("swt")];
187
- char stringpool_str104[sizeof("w")];
188
- char stringpool_str105[sizeof("zp4")];
189
- char stringpool_str107[sizeof("mez")];
190
- char stringpool_str108[sizeof("cape verde")];
191
- char stringpool_str109[sizeof("mesz")];
192
- char stringpool_str110[sizeof("greenland")];
193
- char stringpool_str112[sizeof("x")];
194
- char stringpool_str114[sizeof("mewt")];
195
- char stringpool_str115[sizeof("w. central africa")];
196
- char stringpool_str116[sizeof("k")];
197
- char stringpool_str117[sizeof("b")];
198
- char stringpool_str119[sizeof("m")];
199
- char stringpool_str120[sizeof("sri lanka")];
200
- char stringpool_str122[sizeof("fst")];
201
- char stringpool_str124[sizeof("iran")];
202
- char stringpool_str125[sizeof("sgt")];
203
- char stringpool_str126[sizeof("ut")];
204
- char stringpool_str128[sizeof("q")];
205
- char stringpool_str129[sizeof("nzt")];
206
- char stringpool_str131[sizeof("nzst")];
207
- char stringpool_str132[sizeof("nzdt")];
208
- char stringpool_str133[sizeof("myanmar")];
209
- char stringpool_str135[sizeof("alaskan")];
210
- char stringpool_str136[sizeof("pst")];
211
- char stringpool_str137[sizeof("pdt")];
212
- char stringpool_str138[sizeof("sa western")];
213
- char stringpool_str139[sizeof("korea")];
214
- char stringpool_str142[sizeof("y")];
215
- char stringpool_str143[sizeof("f")];
216
- char stringpool_str144[sizeof("akst")];
217
- char stringpool_str145[sizeof("akdt")];
218
- char stringpool_str148[sizeof("caucasus")];
219
- char stringpool_str150[sizeof("msk")];
220
- char stringpool_str151[sizeof("idle")];
221
- char stringpool_str153[sizeof("arabian")];
222
- char stringpool_str155[sizeof("o")];
223
- char stringpool_str156[sizeof("l")];
224
- char stringpool_str157[sizeof("mid-atlantic")];
225
- char stringpool_str160[sizeof("us eastern")];
226
- char stringpool_str164[sizeof("ahst")];
227
- char stringpool_str167[sizeof("h")];
228
- char stringpool_str168[sizeof("fle")];
229
- char stringpool_str169[sizeof("i")];
230
- char stringpool_str170[sizeof("north asia")];
231
- char stringpool_str171[sizeof("n. central asia")];
232
- char stringpool_str172[sizeof("north asia east")];
233
- char stringpool_str174[sizeof("sa pacific")];
234
- char stringpool_str177[sizeof("south africa")];
235
- char stringpool_str181[sizeof("aus eastern")];
236
- char stringpool_str182[sizeof("atlantic")];
237
- char stringpool_str186[sizeof("mexico")];
238
- char stringpool_str188[sizeof("mountain")];
239
- char stringpool_str190[sizeof("china")];
240
- char stringpool_str191[sizeof("azores")];
241
- char stringpool_str192[sizeof("india")];
242
- char stringpool_str194[sizeof("u")];
243
- char stringpool_str195[sizeof("arabic")];
244
- char stringpool_str196[sizeof("greenwich")];
245
- char stringpool_str197[sizeof("new zealand")];
246
- char stringpool_str198[sizeof("hawaiian")];
247
- char stringpool_str199[sizeof("g")];
248
- char stringpool_str200[sizeof("romance")];
249
- char stringpool_str203[sizeof("arab")];
250
- char stringpool_str204[sizeof("samoa")];
251
- char stringpool_str205[sizeof("v")];
252
- char stringpool_str206[sizeof("p")];
253
- char stringpool_str207[sizeof("gmt")];
254
- char stringpool_str208[sizeof("tasmania")];
255
- char stringpool_str209[sizeof("fwt")];
256
- char stringpool_str211[sizeof("newfoundland")];
257
- char stringpool_str217[sizeof("nepal")];
258
- char stringpool_str218[sizeof("aus central")];
259
- char stringpool_str221[sizeof("gtb")];
260
- char stringpool_str223[sizeof("vladivostok")];
261
- char stringpool_str229[sizeof("utc")];
262
- char stringpool_str233[sizeof("ekaterinburg")];
263
- char stringpool_str265[sizeof("us mountain")];
264
- char stringpool_str269[sizeof("jerusalem")];
265
- char stringpool_str272[sizeof("yakutsk")];
266
- char stringpool_str279[sizeof("pacific sa")];
267
- char stringpool_str282[sizeof("tonga")];
268
- char stringpool_str314[sizeof("afghanistan")];
269
- char stringpool_str319[sizeof("idlw")];
270
- char stringpool_str322[sizeof("pacific")];
271
- char stringpool_str327[sizeof("taipei")];
272
- char stringpool_str328[sizeof("egypt")];
273
- char stringpool_str392[sizeof("tokyo")];
274
- char stringpool_str438[sizeof("fiji")];
168
+ char stringpool_str2[sizeof("o")];
169
+ char stringpool_str3[sizeof("x")];
170
+ char stringpool_str4[sizeof("z")];
171
+ char stringpool_str5[sizeof("q")];
172
+ char stringpool_str8[sizeof("omst")];
173
+ char stringpool_str9[sizeof("omsst")];
174
+ char stringpool_str10[sizeof("p")];
175
+ char stringpool_str13[sizeof("a")];
176
+ char stringpool_str14[sizeof("e")];
177
+ char stringpool_str15[sizeof("pet")];
178
+ char stringpool_str16[sizeof("pmst")];
179
+ char stringpool_str17[sizeof("pett")];
180
+ char stringpool_str18[sizeof("petst")];
181
+ char stringpool_str19[sizeof("eet")];
182
+ char stringpool_str20[sizeof("aest")];
183
+ char stringpool_str21[sizeof("eest")];
184
+ char stringpool_str22[sizeof("eat")];
185
+ char stringpool_str24[sizeof("east")];
186
+ char stringpool_str25[sizeof("easst")];
187
+ char stringpool_str26[sizeof("pst")];
188
+ char stringpool_str27[sizeof("eastern")];
189
+ char stringpool_str28[sizeof("m")];
190
+ char stringpool_str29[sizeof("ast")];
191
+ char stringpool_str30[sizeof("est")];
192
+ char stringpool_str31[sizeof("c")];
193
+ char stringpool_str32[sizeof("mmt")];
194
+ char stringpool_str33[sizeof("met")];
195
+ char stringpool_str35[sizeof("mest")];
196
+ char stringpool_str36[sizeof("cet")];
197
+ char stringpool_str37[sizeof("d")];
198
+ char stringpool_str38[sizeof("cest")];
199
+ char stringpool_str39[sizeof("cat")];
200
+ char stringpool_str41[sizeof("cast")];
201
+ char stringpool_str42[sizeof("magt")];
202
+ char stringpool_str43[sizeof("magst")];
203
+ char stringpool_str44[sizeof("mst")];
204
+ char stringpool_str45[sizeof("msk")];
205
+ char stringpool_str46[sizeof("cot")];
206
+ char stringpool_str47[sizeof("cst")];
207
+ char stringpool_str48[sizeof("aqtt")];
208
+ char stringpool_str49[sizeof("f")];
209
+ char stringpool_str52[sizeof("art")];
210
+ char stringpool_str53[sizeof("fnt")];
211
+ char stringpool_str54[sizeof("fet")];
212
+ char stringpool_str55[sizeof("b")];
213
+ char stringpool_str57[sizeof("anat")];
214
+ char stringpool_str58[sizeof("anast")];
215
+ char stringpool_str59[sizeof("bnt")];
216
+ char stringpool_str60[sizeof("i")];
217
+ char stringpool_str61[sizeof("pht")];
218
+ char stringpool_str62[sizeof("at")];
219
+ char stringpool_str63[sizeof("zp6")];
220
+ char stringpool_str64[sizeof("mewt")];
221
+ char stringpool_str65[sizeof("fst")];
222
+ char stringpool_str66[sizeof("ahst")];
223
+ char stringpool_str67[sizeof("mawt")];
224
+ char stringpool_str68[sizeof("zp5")];
225
+ char stringpool_str70[sizeof("bot")];
226
+ char stringpool_str71[sizeof("bst")];
227
+ char stringpool_str72[sizeof("pwt")];
228
+ char stringpool_str74[sizeof("pont")];
229
+ char stringpool_str75[sizeof("iot")];
230
+ char stringpool_str76[sizeof("ist")];
231
+ char stringpool_str77[sizeof("awst")];
232
+ char stringpool_str79[sizeof("mht")];
233
+ char stringpool_str80[sizeof("mez")];
234
+ char stringpool_str81[sizeof("orat")];
235
+ char stringpool_str82[sizeof("mesz")];
236
+ char stringpool_str84[sizeof("chst")];
237
+ char stringpool_str85[sizeof("pmdt")];
238
+ char stringpool_str88[sizeof("central")];
239
+ char stringpool_str89[sizeof("aedt")];
240
+ char stringpool_str90[sizeof("act")];
241
+ char stringpool_str91[sizeof("ect")];
242
+ char stringpool_str92[sizeof("acst")];
243
+ char stringpool_str93[sizeof("eadt")];
244
+ char stringpool_str94[sizeof("brt")];
245
+ char stringpool_str95[sizeof("chut")];
246
+ char stringpool_str96[sizeof("brst")];
247
+ char stringpool_str97[sizeof("cen. australia")];
248
+ char stringpool_str100[sizeof("davt")];
249
+ char stringpool_str101[sizeof("irst")];
250
+ char stringpool_str102[sizeof("irkt")];
251
+ char stringpool_str103[sizeof("irkst")];
252
+ char stringpool_str104[sizeof("bt")];
253
+ char stringpool_str105[sizeof("n")];
254
+ char stringpool_str106[sizeof("btt")];
255
+ char stringpool_str107[sizeof("mountain")];
256
+ char stringpool_str108[sizeof("cct")];
257
+ char stringpool_str109[sizeof("w")];
258
+ char stringpool_str110[sizeof("l")];
259
+ char stringpool_str111[sizeof("fwt")];
260
+ char stringpool_str113[sizeof("msd")];
261
+ char stringpool_str114[sizeof("wet")];
262
+ char stringpool_str116[sizeof("west")];
263
+ char stringpool_str117[sizeof("wat")];
264
+ char stringpool_str119[sizeof("wast")];
265
+ char stringpool_str120[sizeof("wakt")];
266
+ char stringpool_str121[sizeof("nst")];
267
+ char stringpool_str122[sizeof("acwst")];
268
+ char stringpool_str123[sizeof("chast")];
269
+ char stringpool_str124[sizeof("cist")];
270
+ char stringpool_str125[sizeof("azt")];
271
+ char stringpool_str126[sizeof("clt")];
272
+ char stringpool_str127[sizeof("azst")];
273
+ char stringpool_str128[sizeof("clst")];
274
+ char stringpool_str129[sizeof("mart")];
275
+ char stringpool_str130[sizeof("zp4")];
276
+ char stringpool_str131[sizeof("jst")];
277
+ char stringpool_str132[sizeof("central asia")];
278
+ char stringpool_str133[sizeof("aft")];
279
+ char stringpool_str134[sizeof("e. south america")];
280
+ char stringpool_str135[sizeof("central america")];
281
+ char stringpool_str137[sizeof("ict")];
282
+ char stringpool_str143[sizeof("pgt")];
283
+ char stringpool_str144[sizeof("nrt")];
284
+ char stringpool_str145[sizeof("mexico")];
285
+ char stringpool_str146[sizeof("awdt")];
286
+ char stringpool_str147[sizeof("egt")];
287
+ char stringpool_str148[sizeof("cxt")];
288
+ char stringpool_str149[sizeof("egst")];
289
+ char stringpool_str150[sizeof("phot")];
290
+ char stringpool_str151[sizeof("alaskan")];
291
+ char stringpool_str154[sizeof("nt")];
292
+ char stringpool_str158[sizeof("wt")];
293
+ char stringpool_str160[sizeof("west asia")];
294
+ char stringpool_str161[sizeof("acdt")];
295
+ char stringpool_str162[sizeof("npt")];
296
+ char stringpool_str163[sizeof("lhst")];
297
+ char stringpool_str164[sizeof("afghanistan")];
298
+ char stringpool_str167[sizeof("k")];
299
+ char stringpool_str169[sizeof("g")];
300
+ char stringpool_str170[sizeof("irdt")];
301
+ char stringpool_str171[sizeof("chot")];
302
+ char stringpool_str172[sizeof("chost")];
303
+ char stringpool_str173[sizeof("gmt")];
304
+ char stringpool_str174[sizeof("get")];
305
+ char stringpool_str175[sizeof("novt")];
306
+ char stringpool_str176[sizeof("novst")];
307
+ char stringpool_str177[sizeof("fjt")];
308
+ char stringpool_str178[sizeof("u")];
309
+ char stringpool_str179[sizeof("fjst")];
310
+ char stringpool_str181[sizeof("pyst")];
311
+ char stringpool_str182[sizeof("nct")];
312
+ char stringpool_str183[sizeof("kst")];
313
+ char stringpool_str184[sizeof("kost")];
314
+ char stringpool_str185[sizeof("gst")];
315
+ char stringpool_str186[sizeof("iran")];
316
+ char stringpool_str187[sizeof("e. africa")];
317
+ char stringpool_str188[sizeof("wadt")];
318
+ char stringpool_str189[sizeof("t")];
319
+ char stringpool_str190[sizeof("e. australia")];
320
+ char stringpool_str191[sizeof("s")];
321
+ char stringpool_str192[sizeof("chadt")];
322
+ char stringpool_str193[sizeof("tmt")];
323
+ char stringpool_str194[sizeof("cidst")];
324
+ char stringpool_str195[sizeof("aoe")];
325
+ char stringpool_str197[sizeof("myt")];
326
+ char stringpool_str198[sizeof("west pacific")];
327
+ char stringpool_str199[sizeof("mut")];
328
+ char stringpool_str200[sizeof("wit")];
329
+ char stringpool_str201[sizeof("sast")];
330
+ char stringpool_str202[sizeof("sakt")];
331
+ char stringpool_str203[sizeof("new zealand")];
332
+ char stringpool_str204[sizeof("tot")];
333
+ char stringpool_str205[sizeof("china")];
334
+ char stringpool_str206[sizeof("tost")];
335
+ char stringpool_str207[sizeof("sst")];
336
+ char stringpool_str209[sizeof("india")];
337
+ char stringpool_str211[sizeof("warst")];
338
+ char stringpool_str212[sizeof("sbt")];
339
+ char stringpool_str214[sizeof("azot")];
340
+ char stringpool_str215[sizeof("azost")];
341
+ char stringpool_str216[sizeof("taht")];
342
+ char stringpool_str217[sizeof("nzt")];
343
+ char stringpool_str218[sizeof("dateline")];
344
+ char stringpool_str219[sizeof("nzst")];
345
+ char stringpool_str220[sizeof("tokyo")];
346
+ char stringpool_str221[sizeof("central pacific")];
347
+ char stringpool_str223[sizeof("qyzt")];
348
+ char stringpool_str224[sizeof("atlantic")];
349
+ char stringpool_str225[sizeof("nft")];
350
+ char stringpool_str227[sizeof("ut")];
351
+ char stringpool_str228[sizeof("trt")];
352
+ char stringpool_str229[sizeof("wft")];
353
+ char stringpool_str230[sizeof("srt")];
354
+ char stringpool_str231[sizeof("pdt")];
355
+ char stringpool_str232[sizeof("lhdt")];
356
+ char stringpool_str234[sizeof("adt")];
357
+ char stringpool_str235[sizeof("edt")];
358
+ char stringpool_str238[sizeof("pkt")];
359
+ char stringpool_str239[sizeof("almt")];
360
+ char stringpool_str240[sizeof("wita")];
361
+ char stringpool_str242[sizeof("wgt")];
362
+ char stringpool_str243[sizeof("akst")];
363
+ char stringpool_str244[sizeof("wgst")];
364
+ char stringpool_str246[sizeof("krat")];
365
+ char stringpool_str247[sizeof("krast")];
366
+ char stringpool_str248[sizeof("mid-atlantic")];
367
+ char stringpool_str249[sizeof("mdt")];
368
+ char stringpool_str250[sizeof("lint")];
369
+ char stringpool_str251[sizeof("malay peninsula")];
370
+ char stringpool_str252[sizeof("cdt")];
371
+ char stringpool_str253[sizeof("swt")];
372
+ char stringpool_str255[sizeof("se asia")];
373
+ char stringpool_str256[sizeof("v")];
374
+ char stringpool_str258[sizeof("tonga")];
375
+ char stringpool_str259[sizeof("ckt")];
376
+ char stringpool_str261[sizeof("vet")];
377
+ char stringpool_str262[sizeof("caucasus")];
378
+ char stringpool_str263[sizeof("central europe")];
379
+ char stringpool_str264[sizeof("h")];
380
+ char stringpool_str265[sizeof("central european")];
381
+ char stringpool_str266[sizeof("newfoundland")];
382
+ char stringpool_str267[sizeof("arab")];
383
+ char stringpool_str268[sizeof("sct")];
384
+ char stringpool_str269[sizeof("arabic")];
385
+ char stringpool_str270[sizeof("arabian")];
386
+ char stringpool_str271[sizeof("ddut")];
387
+ char stringpool_str273[sizeof("vost")];
388
+ char stringpool_str274[sizeof("hast")];
389
+ char stringpool_str275[sizeof("nepal")];
390
+ char stringpool_str276[sizeof("nut")];
391
+ char stringpool_str277[sizeof("fkt")];
392
+ char stringpool_str279[sizeof("fkst")];
393
+ char stringpool_str280[sizeof("hst")];
394
+ char stringpool_str281[sizeof("idt")];
395
+ char stringpool_str284[sizeof("tlt")];
396
+ char stringpool_str285[sizeof("w. australia")];
397
+ char stringpool_str286[sizeof("egypt")];
398
+ char stringpool_str287[sizeof("myanmar")];
399
+ char stringpool_str288[sizeof("nzdt")];
400
+ char stringpool_str289[sizeof("gft")];
401
+ char stringpool_str290[sizeof("uzt")];
402
+ char stringpool_str293[sizeof("north asia")];
403
+ char stringpool_str294[sizeof("mvt")];
404
+ char stringpool_str295[sizeof("galt")];
405
+ char stringpool_str296[sizeof("nfdt")];
406
+ char stringpool_str297[sizeof("cvt")];
407
+ char stringpool_str298[sizeof("north asia east")];
408
+ char stringpool_str300[sizeof("kgt")];
409
+ char stringpool_str301[sizeof("aus central")];
410
+ char stringpool_str302[sizeof("pacific")];
411
+ char stringpool_str304[sizeof("canada central")];
412
+ char stringpool_str306[sizeof("pacific sa")];
413
+ char stringpool_str307[sizeof("azores")];
414
+ char stringpool_str308[sizeof("gamt")];
415
+ char stringpool_str309[sizeof("tft")];
416
+ char stringpool_str310[sizeof("r")];
417
+ char stringpool_str311[sizeof("fle")];
418
+ char stringpool_str312[sizeof("akdt")];
419
+ char stringpool_str313[sizeof("ulat")];
420
+ char stringpool_str314[sizeof("ulast")];
421
+ char stringpool_str315[sizeof("ret")];
422
+ char stringpool_str317[sizeof("tjt")];
423
+ char stringpool_str319[sizeof("south africa")];
424
+ char stringpool_str324[sizeof("sgt")];
425
+ char stringpool_str326[sizeof("ndt")];
426
+ char stringpool_str327[sizeof("rott")];
427
+ char stringpool_str330[sizeof("samt")];
428
+ char stringpool_str332[sizeof("tasmania")];
429
+ char stringpool_str334[sizeof("hovt")];
430
+ char stringpool_str335[sizeof("hovst")];
431
+ char stringpool_str338[sizeof("gyt")];
432
+ char stringpool_str342[sizeof("y")];
433
+ char stringpool_str343[sizeof("hadt")];
434
+ char stringpool_str344[sizeof("sa western")];
435
+ char stringpool_str345[sizeof("hawaiian")];
436
+ char stringpool_str347[sizeof("uyt")];
437
+ char stringpool_str349[sizeof("uyst")];
438
+ char stringpool_str350[sizeof("yekt")];
439
+ char stringpool_str351[sizeof("yekst")];
440
+ char stringpool_str352[sizeof("kuyt")];
441
+ char stringpool_str353[sizeof("yakt")];
442
+ char stringpool_str354[sizeof("yakst")];
443
+ char stringpool_str358[sizeof("yst")];
444
+ char stringpool_str359[sizeof("jerusalem")];
445
+ char stringpool_str365[sizeof("sri lanka")];
446
+ char stringpool_str367[sizeof("yakutsk")];
447
+ char stringpool_str375[sizeof("wib")];
448
+ char stringpool_str377[sizeof("aus eastern")];
449
+ char stringpool_str378[sizeof("gilt")];
450
+ char stringpool_str387[sizeof("us mountain")];
451
+ char stringpool_str391[sizeof("vlat")];
452
+ char stringpool_str392[sizeof("vlast")];
453
+ char stringpool_str395[sizeof("gtb")];
454
+ char stringpool_str398[sizeof("taipei")];
455
+ char stringpool_str399[sizeof("sret")];
456
+ char stringpool_str408[sizeof("cape verde")];
457
+ char stringpool_str417[sizeof("tkt")];
458
+ char stringpool_str418[sizeof("samoa")];
459
+ char stringpool_str421[sizeof("sa pacific")];
460
+ char stringpool_str427[sizeof("vut")];
461
+ char stringpool_str428[sizeof("idlw")];
462
+ char stringpool_str432[sizeof("fiji")];
463
+ char stringpool_str435[sizeof("utc")];
464
+ char stringpool_str443[sizeof("korea")];
465
+ char stringpool_str445[sizeof("e. europe")];
466
+ char stringpool_str449[sizeof("syot")];
467
+ char stringpool_str452[sizeof("n. central asia")];
468
+ char stringpool_str455[sizeof("tvt")];
469
+ char stringpool_str458[sizeof("w. central africa")];
470
+ char stringpool_str466[sizeof("ekaterinburg")];
471
+ char stringpool_str468[sizeof("vladivostok")];
472
+ char stringpool_str476[sizeof("yapt")];
473
+ char stringpool_str477[sizeof("us eastern")];
474
+ char stringpool_str482[sizeof("sa eastern")];
475
+ char stringpool_str485[sizeof("hdt")];
476
+ char stringpool_str486[sizeof("russian")];
477
+ char stringpool_str492[sizeof("hkt")];
478
+ char stringpool_str497[sizeof("romance")];
479
+ char stringpool_str540[sizeof("w. europe")];
480
+ char stringpool_str563[sizeof("ydt")];
481
+ char stringpool_str566[sizeof("idle")];
482
+ char stringpool_str567[sizeof("greenwich")];
483
+ char stringpool_str619[sizeof("greenland")];
275
484
  };
276
485
  static const struct stringpool_t stringpool_contents =
277
486
  {
278
- "r",
279
- "s",
280
- "d",
281
- "cst",
282
- "cdt",
283
- "sst",
284
- "cet",
285
- "msd",
286
- "cest",
287
- "cat",
288
- "mst",
289
- "mdt",
290
- "sast",
291
- "met",
292
- "mest",
293
- "wet",
294
- "dateline",
295
- "west",
296
- "wat",
297
- "wast",
298
- "wadt",
487
+ "o",
488
+ "x",
489
+ "z",
490
+ "q",
491
+ "omst",
492
+ "omsst",
493
+ "p",
494
+ "a",
299
495
  "e",
300
- "central europe",
301
- "central asia",
302
- "west asia",
303
- "cen. australia",
304
- "central america",
305
- "est",
306
- "edt",
307
- "central european",
496
+ "pet",
497
+ "pmst",
498
+ "pett",
499
+ "petst",
308
500
  "eet",
309
- "se asia",
501
+ "aest",
310
502
  "eest",
311
503
  "eat",
312
- "z",
313
504
  "east",
314
- "eadt",
315
- "sa eastern",
316
- "w. europe",
317
- "c",
318
- "yst",
319
- "ydt",
320
- "kst",
321
- "clt",
505
+ "easst",
506
+ "pst",
322
507
  "eastern",
323
- "clst",
324
- "bt",
325
- "w. australia",
326
- "bst",
327
- "cct",
328
- "brt",
329
- "brst",
330
- "a",
331
- "e. europe",
332
- "at",
333
- "central",
508
+ "m",
334
509
  "ast",
335
- "adt",
510
+ "est",
511
+ "c",
512
+ "mmt",
513
+ "met",
514
+ "mest",
515
+ "cet",
516
+ "d",
517
+ "cest",
518
+ "cat",
519
+ "cast",
520
+ "magt",
521
+ "magst",
522
+ "mst",
523
+ "msk",
524
+ "cot",
525
+ "cst",
526
+ "aqtt",
527
+ "f",
336
528
  "art",
337
- "e. africa",
338
- "e. south america",
339
- "jst",
340
- "e. australia",
341
- "t",
342
- "nt",
343
- "n",
344
- "nst",
345
- "ndt",
346
- "canada central",
347
- "central pacific",
348
- "west pacific",
349
- "hst",
350
- "hdt",
351
- "malay peninsula",
529
+ "fnt",
530
+ "fet",
531
+ "b",
532
+ "anat",
533
+ "anast",
534
+ "bnt",
535
+ "i",
536
+ "pht",
537
+ "at",
352
538
  "zp6",
353
- "russian",
354
- "hast",
355
- "hadt",
356
- "gst",
539
+ "mewt",
540
+ "fst",
541
+ "ahst",
542
+ "mawt",
357
543
  "zp5",
544
+ "bot",
545
+ "bst",
546
+ "pwt",
547
+ "pont",
548
+ "iot",
358
549
  "ist",
359
- "swt",
360
- "w",
361
- "zp4",
550
+ "awst",
551
+ "mht",
362
552
  "mez",
363
- "cape verde",
553
+ "orat",
364
554
  "mesz",
365
- "greenland",
366
- "x",
367
- "mewt",
368
- "w. central africa",
555
+ "chst",
556
+ "pmdt",
557
+ "central",
558
+ "aedt",
559
+ "act",
560
+ "ect",
561
+ "acst",
562
+ "eadt",
563
+ "brt",
564
+ "chut",
565
+ "brst",
566
+ "cen. australia",
567
+ "davt",
568
+ "irst",
569
+ "irkt",
570
+ "irkst",
571
+ "bt",
572
+ "n",
573
+ "btt",
574
+ "mountain",
575
+ "cct",
576
+ "w",
577
+ "l",
578
+ "fwt",
579
+ "msd",
580
+ "wet",
581
+ "west",
582
+ "wat",
583
+ "wast",
584
+ "wakt",
585
+ "nst",
586
+ "acwst",
587
+ "chast",
588
+ "cist",
589
+ "azt",
590
+ "clt",
591
+ "azst",
592
+ "clst",
593
+ "mart",
594
+ "zp4",
595
+ "jst",
596
+ "central asia",
597
+ "aft",
598
+ "e. south america",
599
+ "central america",
600
+ "ict",
601
+ "pgt",
602
+ "nrt",
603
+ "mexico",
604
+ "awdt",
605
+ "egt",
606
+ "cxt",
607
+ "egst",
608
+ "phot",
609
+ "alaskan",
610
+ "nt",
611
+ "wt",
612
+ "west asia",
613
+ "acdt",
614
+ "npt",
615
+ "lhst",
616
+ "afghanistan",
369
617
  "k",
370
- "b",
371
- "m",
372
- "sri lanka",
373
- "fst",
618
+ "g",
619
+ "irdt",
620
+ "chot",
621
+ "chost",
622
+ "gmt",
623
+ "get",
624
+ "novt",
625
+ "novst",
626
+ "fjt",
627
+ "u",
628
+ "fjst",
629
+ "pyst",
630
+ "nct",
631
+ "kst",
632
+ "kost",
633
+ "gst",
374
634
  "iran",
375
- "sgt",
376
- "ut",
377
- "q",
635
+ "e. africa",
636
+ "wadt",
637
+ "t",
638
+ "e. australia",
639
+ "s",
640
+ "chadt",
641
+ "tmt",
642
+ "cidst",
643
+ "aoe",
644
+ "myt",
645
+ "west pacific",
646
+ "mut",
647
+ "wit",
648
+ "sast",
649
+ "sakt",
650
+ "new zealand",
651
+ "tot",
652
+ "china",
653
+ "tost",
654
+ "sst",
655
+ "india",
656
+ "warst",
657
+ "sbt",
658
+ "azot",
659
+ "azost",
660
+ "taht",
378
661
  "nzt",
662
+ "dateline",
379
663
  "nzst",
380
- "nzdt",
381
- "myanmar",
382
- "alaskan",
383
- "pst",
664
+ "tokyo",
665
+ "central pacific",
666
+ "qyzt",
667
+ "atlantic",
668
+ "nft",
669
+ "ut",
670
+ "trt",
671
+ "wft",
672
+ "srt",
384
673
  "pdt",
385
- "sa western",
386
- "korea",
387
- "y",
388
- "f",
674
+ "lhdt",
675
+ "adt",
676
+ "edt",
677
+ "pkt",
678
+ "almt",
679
+ "wita",
680
+ "wgt",
389
681
  "akst",
390
- "akdt",
391
- "caucasus",
392
- "msk",
393
- "idle",
394
- "arabian",
395
- "o",
396
- "l",
682
+ "wgst",
683
+ "krat",
684
+ "krast",
397
685
  "mid-atlantic",
398
- "us eastern",
399
- "ahst",
686
+ "mdt",
687
+ "lint",
688
+ "malay peninsula",
689
+ "cdt",
690
+ "swt",
691
+ "se asia",
692
+ "v",
693
+ "tonga",
694
+ "ckt",
695
+ "vet",
696
+ "caucasus",
697
+ "central europe",
400
698
  "h",
401
- "fle",
402
- "i",
699
+ "central european",
700
+ "newfoundland",
701
+ "arab",
702
+ "sct",
703
+ "arabic",
704
+ "arabian",
705
+ "ddut",
706
+ "vost",
707
+ "hast",
708
+ "nepal",
709
+ "nut",
710
+ "fkt",
711
+ "fkst",
712
+ "hst",
713
+ "idt",
714
+ "tlt",
715
+ "w. australia",
716
+ "egypt",
717
+ "myanmar",
718
+ "nzdt",
719
+ "gft",
720
+ "uzt",
403
721
  "north asia",
404
- "n. central asia",
722
+ "mvt",
723
+ "galt",
724
+ "nfdt",
725
+ "cvt",
405
726
  "north asia east",
406
- "sa pacific",
407
- "south africa",
408
- "aus eastern",
409
- "atlantic",
410
- "mexico",
411
- "mountain",
412
- "china",
727
+ "kgt",
728
+ "aus central",
729
+ "pacific",
730
+ "canada central",
731
+ "pacific sa",
413
732
  "azores",
414
- "india",
415
- "u",
416
- "arabic",
417
- "greenwich",
418
- "new zealand",
419
- "hawaiian",
420
- "g",
421
- "romance",
422
- "arab",
423
- "samoa",
424
- "v",
425
- "p",
426
- "gmt",
733
+ "gamt",
734
+ "tft",
735
+ "r",
736
+ "fle",
737
+ "akdt",
738
+ "ulat",
739
+ "ulast",
740
+ "ret",
741
+ "tjt",
742
+ "south africa",
743
+ "sgt",
744
+ "ndt",
745
+ "rott",
746
+ "samt",
427
747
  "tasmania",
428
- "fwt",
429
- "newfoundland",
430
- "nepal",
431
- "aus central",
432
- "gtb",
433
- "vladivostok",
434
- "utc",
435
- "ekaterinburg",
436
- "us mountain",
748
+ "hovt",
749
+ "hovst",
750
+ "gyt",
751
+ "y",
752
+ "hadt",
753
+ "sa western",
754
+ "hawaiian",
755
+ "uyt",
756
+ "uyst",
757
+ "yekt",
758
+ "yekst",
759
+ "kuyt",
760
+ "yakt",
761
+ "yakst",
762
+ "yst",
437
763
  "jerusalem",
764
+ "sri lanka",
438
765
  "yakutsk",
439
- "pacific sa",
440
- "tonga",
441
- "afghanistan",
442
- "idlw",
443
- "pacific",
766
+ "wib",
767
+ "aus eastern",
768
+ "gilt",
769
+ "us mountain",
770
+ "vlat",
771
+ "vlast",
772
+ "gtb",
444
773
  "taipei",
445
- "egypt",
446
- "tokyo",
447
- "fiji"
774
+ "sret",
775
+ "cape verde",
776
+ "tkt",
777
+ "samoa",
778
+ "sa pacific",
779
+ "vut",
780
+ "idlw",
781
+ "fiji",
782
+ "utc",
783
+ "korea",
784
+ "e. europe",
785
+ "syot",
786
+ "n. central asia",
787
+ "tvt",
788
+ "w. central africa",
789
+ "ekaterinburg",
790
+ "vladivostok",
791
+ "yapt",
792
+ "us eastern",
793
+ "sa eastern",
794
+ "hdt",
795
+ "russian",
796
+ "hkt",
797
+ "romance",
798
+ "w. europe",
799
+ "ydt",
800
+ "idle",
801
+ "greenwich",
802
+ "greenland"
448
803
  };
449
804
  #define stringpool ((const char *) &stringpool_contents)
450
805
  const struct zone *
451
806
  zonetab (register const char *str, register size_t len)
452
807
  {
453
- enum
454
- {
455
- TOTAL_KEYWORDS = 170,
456
- MIN_WORD_LENGTH = 1,
457
- MAX_WORD_LENGTH = 17,
458
- MIN_HASH_VALUE = 5,
459
- MAX_HASH_VALUE = 438
460
- };
461
-
462
808
  static const struct zone wordlist[] =
463
809
  {
464
- {-1}, {-1}, {-1}, {-1}, {-1},
465
- #line 37 "zonetab.list"
466
- {gperf_offsetof(stringpool, 5), -5*3600},
467
- #line 38 "zonetab.list"
468
- {gperf_offsetof(stringpool, 6), -6*3600},
469
- #line 24 "zonetab.list"
470
- {gperf_offsetof(stringpool, 7), 4*3600},
471
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
472
- #line 15 "zonetab.list"
473
- {gperf_offsetof(stringpool, 14), -6*3600},
474
- #line 16 "zonetab.list"
475
- {gperf_offsetof(stringpool, 15), -5*3600},
476
- #line 85 "zonetab.list"
477
- {gperf_offsetof(stringpool, 16), 2*3600},
478
- #line 71 "zonetab.list"
479
- {gperf_offsetof(stringpool, 17), 1*3600},
480
- #line 90 "zonetab.list"
481
- {gperf_offsetof(stringpool, 18), 4*3600},
482
- #line 79 "zonetab.list"
483
- {gperf_offsetof(stringpool, 19), 2*3600},
484
- #line 65 "zonetab.list"
485
- {gperf_offsetof(stringpool, 20),-10*3600},
486
- {-1},
487
- #line 17 "zonetab.list"
488
- {gperf_offsetof(stringpool, 22), -7*3600},
489
- #line 18 "zonetab.list"
490
- {gperf_offsetof(stringpool, 23), -6*3600},
491
- #line 84 "zonetab.list"
492
- {gperf_offsetof(stringpool, 24), 2*3600},
493
- #line 73 "zonetab.list"
494
- {gperf_offsetof(stringpool, 25), 1*3600},
495
- {-1},
496
- #line 82 "zonetab.list"
497
- {gperf_offsetof(stringpool, 27), 2*3600},
498
810
  {-1}, {-1},
499
- #line 47 "zonetab.list"
500
- {gperf_offsetof(stringpool, 30), 0*3600},
501
- #line 128 "zonetab.list"
502
- {gperf_offsetof(stringpool, 31), -43200},
503
- #line 78 "zonetab.list"
504
- {gperf_offsetof(stringpool, 32), 1*3600},
505
- #line 77 "zonetab.list"
506
- {gperf_offsetof(stringpool, 33), 1*3600},
507
- {-1},
508
- #line 95 "zonetab.list"
509
- {gperf_offsetof(stringpool, 35), 7*3600},
510
- #line 98 "zonetab.list"
511
- {gperf_offsetof(stringpool, 36), 8*3600},
811
+ #line 34 "zonetab.list"
812
+ {gperf_offsetof(stringpool, 2), -2*3600},
813
+ #line 43 "zonetab.list"
814
+ {gperf_offsetof(stringpool, 3), -11*3600},
815
+ #line 45 "zonetab.list"
816
+ {gperf_offsetof(stringpool, 4), 0*3600},
817
+ #line 36 "zonetab.list"
818
+ {gperf_offsetof(stringpool, 5), -4*3600},
819
+ {-1}, {-1},
820
+ #line 269 "zonetab.list"
821
+ {gperf_offsetof(stringpool, 8),21600},
822
+ #line 268 "zonetab.list"
823
+ {gperf_offsetof(stringpool, 9),25200},
824
+ #line 35 "zonetab.list"
825
+ {gperf_offsetof(stringpool, 10), -3*3600},
826
+ {-1}, {-1},
827
+ #line 21 "zonetab.list"
828
+ {gperf_offsetof(stringpool, 13), 1*3600},
512
829
  #line 25 "zonetab.list"
513
- {gperf_offsetof(stringpool, 37), 5*3600},
514
- #line 123 "zonetab.list"
515
- {gperf_offsetof(stringpool, 38), 3600},
516
- #line 122 "zonetab.list"
517
- {gperf_offsetof(stringpool, 39), 21600},
518
- #line 178 "zonetab.list"
519
- {gperf_offsetof(stringpool, 40), 18000},
520
- #line 120 "zonetab.list"
521
- {gperf_offsetof(stringpool, 41), 34200},
522
- #line 121 "zonetab.list"
523
- {gperf_offsetof(stringpool, 42), -21600},
524
- {-1},
525
- #line 13 "zonetab.list"
526
- {gperf_offsetof(stringpool, 44), -5*3600},
527
- #line 14 "zonetab.list"
528
- {gperf_offsetof(stringpool, 45), -4*3600},
529
- #line 124 "zonetab.list"
530
- {gperf_offsetof(stringpool, 46), 3600},
830
+ {gperf_offsetof(stringpool, 14), 5*3600},
831
+ #line 271 "zonetab.list"
832
+ {gperf_offsetof(stringpool, 15),-18000},
833
+ #line 279 "zonetab.list"
834
+ {gperf_offsetof(stringpool, 16),-10800},
835
+ #line 273 "zonetab.list"
836
+ {gperf_offsetof(stringpool, 17),43200},
837
+ #line 272 "zonetab.list"
838
+ {gperf_offsetof(stringpool, 18),43200},
531
839
  #line 80 "zonetab.list"
532
- {gperf_offsetof(stringpool, 47), 2*3600},
533
- #line 164 "zonetab.list"
534
- {gperf_offsetof(stringpool, 48), 25200},
840
+ {gperf_offsetof(stringpool, 19), 2*3600},
841
+ #line 186 "zonetab.list"
842
+ {gperf_offsetof(stringpool, 20),36000},
535
843
  #line 88 "zonetab.list"
536
- {gperf_offsetof(stringpool, 49), 3*3600},
844
+ {gperf_offsetof(stringpool, 21), 3*3600},
537
845
  #line 87 "zonetab.list"
538
- {gperf_offsetof(stringpool, 50), 3*3600},
539
- #line 45 "zonetab.list"
540
- {gperf_offsetof(stringpool, 51), 0*3600},
846
+ {gperf_offsetof(stringpool, 22), 3*3600},
847
+ {-1},
541
848
  #line 101 "zonetab.list"
542
- {gperf_offsetof(stringpool, 52),10*3600},
543
- #line 103 "zonetab.list"
544
- {gperf_offsetof(stringpool, 53),11*3600},
545
- #line 160 "zonetab.list"
546
- {gperf_offsetof(stringpool, 54), -10800},
547
- #line 177 "zonetab.list"
548
- {gperf_offsetof(stringpool, 55), 3600},
549
- #line 23 "zonetab.list"
550
- {gperf_offsetof(stringpool, 56), 3*3600},
551
- #line 63 "zonetab.list"
552
- {gperf_offsetof(stringpool, 57), -9*3600},
553
- #line 59 "zonetab.list"
554
- {gperf_offsetof(stringpool, 58), -8*3600},
555
- #line 100 "zonetab.list"
556
- {gperf_offsetof(stringpool, 59), 9*3600},
557
- #line 57 "zonetab.list"
558
- {gperf_offsetof(stringpool, 60), -4*3600},
849
+ {gperf_offsetof(stringpool, 24),10*3600},
850
+ #line 217 "zonetab.list"
851
+ {gperf_offsetof(stringpool, 25),-18000},
852
+ #line 19 "zonetab.list"
853
+ {gperf_offsetof(stringpool, 26), -8*3600},
559
854
  #line 133 "zonetab.list"
560
- {gperf_offsetof(stringpool, 61), -18000},
561
- #line 54 "zonetab.list"
562
- {gperf_offsetof(stringpool, 62),-3*3600},
563
- #line 86 "zonetab.list"
564
- {gperf_offsetof(stringpool, 63), 3*3600},
565
- #line 175 "zonetab.list"
566
- {gperf_offsetof(stringpool, 64), 28800},
567
- #line 70 "zonetab.list"
568
- {gperf_offsetof(stringpool, 65), 1*3600},
569
- #line 96 "zonetab.list"
570
- {gperf_offsetof(stringpool, 66), 8*3600},
571
- #line 53 "zonetab.list"
572
- {gperf_offsetof(stringpool, 67), -3*3600},
855
+ {gperf_offsetof(stringpool, 27), -18000},
856
+ #line 32 "zonetab.list"
857
+ {gperf_offsetof(stringpool, 28), 12*3600},
858
+ #line 56 "zonetab.list"
859
+ {gperf_offsetof(stringpool, 29), -4*3600},
860
+ #line 13 "zonetab.list"
861
+ {gperf_offsetof(stringpool, 30), -5*3600},
862
+ #line 23 "zonetab.list"
863
+ {gperf_offsetof(stringpool, 31), 3*3600},
864
+ #line 256 "zonetab.list"
865
+ {gperf_offsetof(stringpool, 32),23400},
866
+ #line 73 "zonetab.list"
867
+ {gperf_offsetof(stringpool, 33), 1*3600},
573
868
  {-1},
574
- #line 49 "zonetab.list"
575
- {gperf_offsetof(stringpool, 69),-2*3600},
869
+ #line 82 "zonetab.list"
870
+ {gperf_offsetof(stringpool, 35), 2*3600},
871
+ #line 71 "zonetab.list"
872
+ {gperf_offsetof(stringpool, 36), 1*3600},
873
+ #line 24 "zonetab.list"
874
+ {gperf_offsetof(stringpool, 37), 4*3600},
875
+ #line 79 "zonetab.list"
876
+ {gperf_offsetof(stringpool, 38), 2*3600},
877
+ #line 65 "zonetab.list"
878
+ {gperf_offsetof(stringpool, 39),-10*3600},
576
879
  {-1},
577
- #line 21 "zonetab.list"
578
- {gperf_offsetof(stringpool, 71), 1*3600},
579
- #line 131 "zonetab.list"
580
- {gperf_offsetof(stringpool, 72), 7200},
581
- #line 48 "zonetab.list"
582
- {gperf_offsetof(stringpool, 73), -2*3600},
583
- #line 126 "zonetab.list"
584
- {gperf_offsetof(stringpool, 74), -21600},
585
- #line 56 "zonetab.list"
586
- {gperf_offsetof(stringpool, 75), -4*3600},
587
- #line 52 "zonetab.list"
588
- {gperf_offsetof(stringpool, 76), -3*3600},
880
+ #line 202 "zonetab.list"
881
+ {gperf_offsetof(stringpool, 41),28800},
882
+ #line 252 "zonetab.list"
883
+ {gperf_offsetof(stringpool, 42),39600},
884
+ #line 251 "zonetab.list"
885
+ {gperf_offsetof(stringpool, 43),43200},
886
+ #line 17 "zonetab.list"
887
+ {gperf_offsetof(stringpool, 44), -7*3600},
888
+ #line 89 "zonetab.list"
889
+ {gperf_offsetof(stringpool, 45), 3*3600},
890
+ #line 212 "zonetab.list"
891
+ {gperf_offsetof(stringpool, 46),-18000},
892
+ #line 15 "zonetab.list"
893
+ {gperf_offsetof(stringpool, 47), -6*3600},
894
+ #line 192 "zonetab.list"
895
+ {gperf_offsetof(stringpool, 48),18000},
896
+ #line 26 "zonetab.list"
897
+ {gperf_offsetof(stringpool, 49), 6*3600},
898
+ {-1}, {-1},
589
899
  #line 51 "zonetab.list"
590
- {gperf_offsetof(stringpool, 77), -3*3600},
591
- #line 129 "zonetab.list"
592
- {gperf_offsetof(stringpool, 78), 10800},
593
- #line 132 "zonetab.list"
594
- {gperf_offsetof(stringpool, 79), -10800},
595
- #line 99 "zonetab.list"
596
- {gperf_offsetof(stringpool, 80), 9*3600},
597
- #line 130 "zonetab.list"
598
- {gperf_offsetof(stringpool, 81), 36000},
599
- #line 39 "zonetab.list"
600
- {gperf_offsetof(stringpool, 82), -7*3600},
601
- #line 68 "zonetab.list"
602
- {gperf_offsetof(stringpool, 83), -11*3600},
603
- #line 33 "zonetab.list"
604
- {gperf_offsetof(stringpool, 84), -1*3600},
605
- #line 55 "zonetab.list"
606
- {gperf_offsetof(stringpool, 85), -(3*3600+1800)},
607
- #line 50 "zonetab.list"
608
- {gperf_offsetof(stringpool, 86), -(2*3600+1800)},
609
- #line 117 "zonetab.list"
610
- {gperf_offsetof(stringpool, 87), -21600},
611
- #line 125 "zonetab.list"
612
- {gperf_offsetof(stringpool, 88), 39600},
613
- #line 179 "zonetab.list"
614
- {gperf_offsetof(stringpool, 89), 36000},
615
- #line 67 "zonetab.list"
616
- {gperf_offsetof(stringpool, 90),-10*3600},
617
- #line 62 "zonetab.list"
618
- {gperf_offsetof(stringpool, 91), -9*3600},
619
- {-1},
620
- #line 165 "zonetab.list"
621
- {gperf_offsetof(stringpool, 93), 28800},
900
+ {gperf_offsetof(stringpool, 52), -3*3600},
901
+ #line 226 "zonetab.list"
902
+ {gperf_offsetof(stringpool, 53),-7200},
903
+ #line 221 "zonetab.list"
904
+ {gperf_offsetof(stringpool, 54),10800},
905
+ #line 22 "zonetab.list"
906
+ {gperf_offsetof(stringpool, 55), 2*3600},
622
907
  {-1},
908
+ #line 190 "zonetab.list"
909
+ {gperf_offsetof(stringpool, 57),43200},
910
+ #line 189 "zonetab.list"
911
+ {gperf_offsetof(stringpool, 58),43200},
912
+ #line 199 "zonetab.list"
913
+ {gperf_offsetof(stringpool, 59),28800},
914
+ #line 29 "zonetab.list"
915
+ {gperf_offsetof(stringpool, 60), 9*3600},
916
+ #line 276 "zonetab.list"
917
+ {gperf_offsetof(stringpool, 61),28800},
918
+ #line 48 "zonetab.list"
919
+ {gperf_offsetof(stringpool, 62), -2*3600},
623
920
  #line 94 "zonetab.list"
624
- {gperf_offsetof(stringpool, 95), 6*3600},
625
- {-1},
626
- #line 159 "zonetab.list"
627
- {gperf_offsetof(stringpool, 97), 10800},
628
- #line 66 "zonetab.list"
629
- {gperf_offsetof(stringpool, 98),-10*3600},
630
- #line 61 "zonetab.list"
631
- {gperf_offsetof(stringpool, 99),-9*3600},
632
- #line 102 "zonetab.list"
633
- {gperf_offsetof(stringpool, 100), 10*3600},
921
+ {gperf_offsetof(stringpool, 63), 6*3600},
922
+ #line 74 "zonetab.list"
923
+ {gperf_offsetof(stringpool, 64), 1*3600},
924
+ #line 81 "zonetab.list"
925
+ {gperf_offsetof(stringpool, 65), 2*3600},
926
+ #line 64 "zonetab.list"
927
+ {gperf_offsetof(stringpool, 66),-10*3600},
928
+ #line 254 "zonetab.list"
929
+ {gperf_offsetof(stringpool, 67),18000},
634
930
  #line 92 "zonetab.list"
635
- {gperf_offsetof(stringpool, 101), 5*3600},
931
+ {gperf_offsetof(stringpool, 68), 5*3600},
932
+ {-1},
933
+ #line 200 "zonetab.list"
934
+ {gperf_offsetof(stringpool, 70),-14400},
935
+ #line 70 "zonetab.list"
936
+ {gperf_offsetof(stringpool, 71), 1*3600},
937
+ #line 281 "zonetab.list"
938
+ {gperf_offsetof(stringpool, 72),32400},
939
+ {-1},
940
+ #line 280 "zonetab.list"
941
+ {gperf_offsetof(stringpool, 74),39600},
942
+ #line 238 "zonetab.list"
943
+ {gperf_offsetof(stringpool, 75),21600},
636
944
  #line 93 "zonetab.list"
637
- {gperf_offsetof(stringpool, 102), (5*3600+1800)},
638
- #line 76 "zonetab.list"
639
- {gperf_offsetof(stringpool, 103), 1*3600},
640
- #line 42 "zonetab.list"
641
- {gperf_offsetof(stringpool, 104), -10*3600},
642
- #line 91 "zonetab.list"
643
- {gperf_offsetof(stringpool, 105), 4*3600},
945
+ {gperf_offsetof(stringpool, 76), (5*3600+1800)},
946
+ #line 194 "zonetab.list"
947
+ {gperf_offsetof(stringpool, 77),28800},
644
948
  {-1},
949
+ #line 255 "zonetab.list"
950
+ {gperf_offsetof(stringpool, 79),43200},
645
951
  #line 75 "zonetab.list"
646
- {gperf_offsetof(stringpool, 107), 1*3600},
647
- #line 118 "zonetab.list"
648
- {gperf_offsetof(stringpool, 108), -3600},
952
+ {gperf_offsetof(stringpool, 80), 1*3600},
953
+ #line 270 "zonetab.list"
954
+ {gperf_offsetof(stringpool, 81),18000},
649
955
  #line 83 "zonetab.list"
650
- {gperf_offsetof(stringpool, 109), 2*3600},
651
- #line 138 "zonetab.list"
652
- {gperf_offsetof(stringpool, 110), -10800},
956
+ {gperf_offsetof(stringpool, 82), 2*3600},
653
957
  {-1},
654
- #line 43 "zonetab.list"
655
- {gperf_offsetof(stringpool, 112), -11*3600},
958
+ #line 207 "zonetab.list"
959
+ {gperf_offsetof(stringpool, 84),36000},
960
+ #line 278 "zonetab.list"
961
+ {gperf_offsetof(stringpool, 85),-7200},
962
+ {-1}, {-1},
963
+ #line 126 "zonetab.list"
964
+ {gperf_offsetof(stringpool, 88), -21600},
965
+ #line 185 "zonetab.list"
966
+ {gperf_offsetof(stringpool, 89),39600},
967
+ #line 183 "zonetab.list"
968
+ {gperf_offsetof(stringpool, 90),-18000},
969
+ #line 218 "zonetab.list"
970
+ {gperf_offsetof(stringpool, 91),-18000},
971
+ #line 182 "zonetab.list"
972
+ {gperf_offsetof(stringpool, 92),34200},
973
+ #line 103 "zonetab.list"
974
+ {gperf_offsetof(stringpool, 93),11*3600},
975
+ #line 53 "zonetab.list"
976
+ {gperf_offsetof(stringpool, 94), -3*3600},
977
+ #line 208 "zonetab.list"
978
+ {gperf_offsetof(stringpool, 95),36000},
979
+ #line 49 "zonetab.list"
980
+ {gperf_offsetof(stringpool, 96),-2*3600},
981
+ #line 120 "zonetab.list"
982
+ {gperf_offsetof(stringpool, 97), 34200},
983
+ {-1}, {-1},
984
+ #line 215 "zonetab.list"
985
+ {gperf_offsetof(stringpool, 100),25200},
986
+ #line 242 "zonetab.list"
987
+ {gperf_offsetof(stringpool, 101),12600},
988
+ #line 241 "zonetab.list"
989
+ {gperf_offsetof(stringpool, 102),28800},
990
+ #line 240 "zonetab.list"
991
+ {gperf_offsetof(stringpool, 103),32400},
992
+ #line 86 "zonetab.list"
993
+ {gperf_offsetof(stringpool, 104), 3*3600},
994
+ #line 33 "zonetab.list"
995
+ {gperf_offsetof(stringpool, 105), -1*3600},
996
+ #line 201 "zonetab.list"
997
+ {gperf_offsetof(stringpool, 106),21600},
998
+ #line 148 "zonetab.list"
999
+ {gperf_offsetof(stringpool, 107), -25200},
1000
+ #line 96 "zonetab.list"
1001
+ {gperf_offsetof(stringpool, 108), 8*3600},
1002
+ #line 42 "zonetab.list"
1003
+ {gperf_offsetof(stringpool, 109), -10*3600},
1004
+ #line 31 "zonetab.list"
1005
+ {gperf_offsetof(stringpool, 110), 11*3600},
1006
+ #line 72 "zonetab.list"
1007
+ {gperf_offsetof(stringpool, 111), 1*3600},
656
1008
  {-1},
657
- #line 74 "zonetab.list"
658
- {gperf_offsetof(stringpool, 114), 1*3600},
659
- #line 176 "zonetab.list"
660
- {gperf_offsetof(stringpool, 115), 3600},
661
- #line 30 "zonetab.list"
662
- {gperf_offsetof(stringpool, 116), 10*3600},
663
- #line 22 "zonetab.list"
664
- {gperf_offsetof(stringpool, 117), 2*3600},
1009
+ #line 90 "zonetab.list"
1010
+ {gperf_offsetof(stringpool, 113), 4*3600},
1011
+ #line 47 "zonetab.list"
1012
+ {gperf_offsetof(stringpool, 114), 0*3600},
665
1013
  {-1},
666
- #line 32 "zonetab.list"
667
- {gperf_offsetof(stringpool, 119), 12*3600},
668
- #line 167 "zonetab.list"
669
- {gperf_offsetof(stringpool, 120), 21600},
1014
+ #line 78 "zonetab.list"
1015
+ {gperf_offsetof(stringpool, 116), 1*3600},
1016
+ #line 77 "zonetab.list"
1017
+ {gperf_offsetof(stringpool, 117), 1*3600},
670
1018
  {-1},
671
- #line 81 "zonetab.list"
672
- {gperf_offsetof(stringpool, 122), 2*3600},
1019
+ #line 95 "zonetab.list"
1020
+ {gperf_offsetof(stringpool, 119), 7*3600},
1021
+ #line 313 "zonetab.list"
1022
+ {gperf_offsetof(stringpool, 120),43200},
1023
+ #line 55 "zonetab.list"
1024
+ {gperf_offsetof(stringpool, 121), -(3*3600+1800)},
1025
+ #line 184 "zonetab.list"
1026
+ {gperf_offsetof(stringpool, 122),31500},
1027
+ #line 204 "zonetab.list"
1028
+ {gperf_offsetof(stringpool, 123),45900},
1029
+ #line 210 "zonetab.list"
1030
+ {gperf_offsetof(stringpool, 124),-18000},
1031
+ #line 198 "zonetab.list"
1032
+ {gperf_offsetof(stringpool, 125),14400},
1033
+ #line 57 "zonetab.list"
1034
+ {gperf_offsetof(stringpool, 126), -4*3600},
1035
+ #line 197 "zonetab.list"
1036
+ {gperf_offsetof(stringpool, 127),18000},
1037
+ #line 54 "zonetab.list"
1038
+ {gperf_offsetof(stringpool, 128),-3*3600},
1039
+ #line 253 "zonetab.list"
1040
+ {gperf_offsetof(stringpool, 129),-30600},
1041
+ #line 91 "zonetab.list"
1042
+ {gperf_offsetof(stringpool, 130), 4*3600},
1043
+ #line 99 "zonetab.list"
1044
+ {gperf_offsetof(stringpool, 131), 9*3600},
1045
+ #line 122 "zonetab.list"
1046
+ {gperf_offsetof(stringpool, 132), 21600},
1047
+ #line 187 "zonetab.list"
1048
+ {gperf_offsetof(stringpool, 133),16200},
1049
+ #line 132 "zonetab.list"
1050
+ {gperf_offsetof(stringpool, 134), -10800},
1051
+ #line 121 "zonetab.list"
1052
+ {gperf_offsetof(stringpool, 135), -21600},
1053
+ {-1},
1054
+ #line 236 "zonetab.list"
1055
+ {gperf_offsetof(stringpool, 137),25200},
1056
+ {-1}, {-1}, {-1}, {-1}, {-1},
1057
+ #line 274 "zonetab.list"
1058
+ {gperf_offsetof(stringpool, 143),36000},
1059
+ #line 266 "zonetab.list"
1060
+ {gperf_offsetof(stringpool, 144),43200},
1061
+ #line 146 "zonetab.list"
1062
+ {gperf_offsetof(stringpool, 145), -21600},
1063
+ #line 193 "zonetab.list"
1064
+ {gperf_offsetof(stringpool, 146),32400},
1065
+ #line 220 "zonetab.list"
1066
+ {gperf_offsetof(stringpool, 147),-3600},
1067
+ #line 214 "zonetab.list"
1068
+ {gperf_offsetof(stringpool, 148),25200},
1069
+ #line 219 "zonetab.list"
1070
+ {gperf_offsetof(stringpool, 149),0},
1071
+ #line 275 "zonetab.list"
1072
+ {gperf_offsetof(stringpool, 150),46800},
1073
+ #line 109 "zonetab.list"
1074
+ {gperf_offsetof(stringpool, 151), -32400},
1075
+ {-1}, {-1},
1076
+ #line 68 "zonetab.list"
1077
+ {gperf_offsetof(stringpool, 154), -11*3600},
1078
+ {-1}, {-1}, {-1},
1079
+ #line 321 "zonetab.list"
1080
+ {gperf_offsetof(stringpool, 158),0},
673
1081
  {-1},
1082
+ #line 178 "zonetab.list"
1083
+ {gperf_offsetof(stringpool, 160), 18000},
1084
+ #line 181 "zonetab.list"
1085
+ {gperf_offsetof(stringpool, 161),37800},
1086
+ #line 265 "zonetab.list"
1087
+ {gperf_offsetof(stringpool, 162),20700},
1088
+ #line 249 "zonetab.list"
1089
+ {gperf_offsetof(stringpool, 163),37800},
1090
+ #line 108 "zonetab.list"
1091
+ {gperf_offsetof(stringpool, 164), 16200},
1092
+ {-1}, {-1},
1093
+ #line 30 "zonetab.list"
1094
+ {gperf_offsetof(stringpool, 167), 10*3600},
1095
+ {-1},
1096
+ #line 27 "zonetab.list"
1097
+ {gperf_offsetof(stringpool, 169), 7*3600},
1098
+ #line 239 "zonetab.list"
1099
+ {gperf_offsetof(stringpool, 170),16200},
1100
+ #line 206 "zonetab.list"
1101
+ {gperf_offsetof(stringpool, 171),28800},
1102
+ #line 205 "zonetab.list"
1103
+ {gperf_offsetof(stringpool, 172),32400},
1104
+ #line 12 "zonetab.list"
1105
+ {gperf_offsetof(stringpool, 173), 0*3600},
1106
+ #line 229 "zonetab.list"
1107
+ {gperf_offsetof(stringpool, 174),14400},
1108
+ #line 264 "zonetab.list"
1109
+ {gperf_offsetof(stringpool, 175),25200},
1110
+ #line 263 "zonetab.list"
1111
+ {gperf_offsetof(stringpool, 176),25200},
1112
+ #line 223 "zonetab.list"
1113
+ {gperf_offsetof(stringpool, 177),43200},
1114
+ #line 40 "zonetab.list"
1115
+ {gperf_offsetof(stringpool, 178), -8*3600},
1116
+ #line 222 "zonetab.list"
1117
+ {gperf_offsetof(stringpool, 179),46800},
1118
+ {-1},
1119
+ #line 282 "zonetab.list"
1120
+ {gperf_offsetof(stringpool, 181),-10800},
1121
+ #line 260 "zonetab.list"
1122
+ {gperf_offsetof(stringpool, 182),39600},
1123
+ #line 100 "zonetab.list"
1124
+ {gperf_offsetof(stringpool, 183), 9*3600},
1125
+ #line 244 "zonetab.list"
1126
+ {gperf_offsetof(stringpool, 184),39600},
1127
+ #line 102 "zonetab.list"
1128
+ {gperf_offsetof(stringpool, 185), 10*3600},
674
1129
  #line 143 "zonetab.list"
675
- {gperf_offsetof(stringpool, 124), 12600},
676
- #line 97 "zonetab.list"
677
- {gperf_offsetof(stringpool, 125), 8*3600},
678
- #line 11 "zonetab.list"
679
- {gperf_offsetof(stringpool, 126), 0*3600},
1130
+ {gperf_offsetof(stringpool, 186), 12600},
1131
+ #line 129 "zonetab.list"
1132
+ {gperf_offsetof(stringpool, 187), 10800},
1133
+ #line 98 "zonetab.list"
1134
+ {gperf_offsetof(stringpool, 188), 8*3600},
1135
+ #line 39 "zonetab.list"
1136
+ {gperf_offsetof(stringpool, 189), -7*3600},
1137
+ #line 130 "zonetab.list"
1138
+ {gperf_offsetof(stringpool, 190), 36000},
1139
+ #line 38 "zonetab.list"
1140
+ {gperf_offsetof(stringpool, 191), -6*3600},
1141
+ #line 203 "zonetab.list"
1142
+ {gperf_offsetof(stringpool, 192),49500},
1143
+ #line 298 "zonetab.list"
1144
+ {gperf_offsetof(stringpool, 193),18000},
1145
+ #line 209 "zonetab.list"
1146
+ {gperf_offsetof(stringpool, 194),-14400},
1147
+ #line 191 "zonetab.list"
1148
+ {gperf_offsetof(stringpool, 195),-43200},
680
1149
  {-1},
681
- #line 36 "zonetab.list"
682
- {gperf_offsetof(stringpool, 128), -4*3600},
683
- #line 106 "zonetab.list"
684
- {gperf_offsetof(stringpool, 129), 12*3600},
1150
+ #line 259 "zonetab.list"
1151
+ {gperf_offsetof(stringpool, 197),28800},
1152
+ #line 179 "zonetab.list"
1153
+ {gperf_offsetof(stringpool, 198), 36000},
1154
+ #line 257 "zonetab.list"
1155
+ {gperf_offsetof(stringpool, 199),14400},
1156
+ #line 319 "zonetab.list"
1157
+ {gperf_offsetof(stringpool, 200),32400},
1158
+ #line 84 "zonetab.list"
1159
+ {gperf_offsetof(stringpool, 201), 2*3600},
1160
+ #line 286 "zonetab.list"
1161
+ {gperf_offsetof(stringpool, 202),39600},
1162
+ #line 152 "zonetab.list"
1163
+ {gperf_offsetof(stringpool, 203), 43200},
1164
+ #line 300 "zonetab.list"
1165
+ {gperf_offsetof(stringpool, 204),46800},
1166
+ #line 127 "zonetab.list"
1167
+ {gperf_offsetof(stringpool, 205), 28800},
1168
+ #line 299 "zonetab.list"
1169
+ {gperf_offsetof(stringpool, 206),50400},
1170
+ #line 85 "zonetab.list"
1171
+ {gperf_offsetof(stringpool, 207), 2*3600},
1172
+ {-1},
1173
+ #line 142 "zonetab.list"
1174
+ {gperf_offsetof(stringpool, 209), 19800},
685
1175
  {-1},
1176
+ #line 314 "zonetab.list"
1177
+ {gperf_offsetof(stringpool, 211),-10800},
1178
+ #line 288 "zonetab.list"
1179
+ {gperf_offsetof(stringpool, 212),39600},
1180
+ {-1},
1181
+ #line 196 "zonetab.list"
1182
+ {gperf_offsetof(stringpool, 214),-3600},
1183
+ #line 195 "zonetab.list"
1184
+ {gperf_offsetof(stringpool, 215),0},
1185
+ #line 293 "zonetab.list"
1186
+ {gperf_offsetof(stringpool, 216),-36000},
1187
+ #line 106 "zonetab.list"
1188
+ {gperf_offsetof(stringpool, 217), 12*3600},
1189
+ #line 128 "zonetab.list"
1190
+ {gperf_offsetof(stringpool, 218), -43200},
686
1191
  #line 105 "zonetab.list"
687
- {gperf_offsetof(stringpool, 131),12*3600},
688
- #line 107 "zonetab.list"
689
- {gperf_offsetof(stringpool, 132),13*3600},
690
- #line 149 "zonetab.list"
691
- {gperf_offsetof(stringpool, 133), 23400},
1192
+ {gperf_offsetof(stringpool, 219),12*3600},
1193
+ #line 170 "zonetab.list"
1194
+ {gperf_offsetof(stringpool, 220), 32400},
1195
+ #line 125 "zonetab.list"
1196
+ {gperf_offsetof(stringpool, 221), 39600},
692
1197
  {-1},
693
- #line 109 "zonetab.list"
694
- {gperf_offsetof(stringpool, 135), -32400},
695
- #line 19 "zonetab.list"
696
- {gperf_offsetof(stringpool, 136), -8*3600},
1198
+ #line 283 "zonetab.list"
1199
+ {gperf_offsetof(stringpool, 223),21600},
1200
+ #line 113 "zonetab.list"
1201
+ {gperf_offsetof(stringpool, 224), -14400},
1202
+ #line 262 "zonetab.list"
1203
+ {gperf_offsetof(stringpool, 225),39600},
1204
+ {-1},
1205
+ #line 11 "zonetab.list"
1206
+ {gperf_offsetof(stringpool, 227), 0*3600},
1207
+ #line 301 "zonetab.list"
1208
+ {gperf_offsetof(stringpool, 228),10800},
1209
+ #line 315 "zonetab.list"
1210
+ {gperf_offsetof(stringpool, 229),43200},
1211
+ #line 291 "zonetab.list"
1212
+ {gperf_offsetof(stringpool, 230),-10800},
697
1213
  #line 20 "zonetab.list"
698
- {gperf_offsetof(stringpool, 137), -7*3600},
699
- #line 162 "zonetab.list"
700
- {gperf_offsetof(stringpool, 138), -14400},
701
- #line 145 "zonetab.list"
702
- {gperf_offsetof(stringpool, 139), 32400},
1214
+ {gperf_offsetof(stringpool, 231), -7*3600},
1215
+ #line 248 "zonetab.list"
1216
+ {gperf_offsetof(stringpool, 232),39600},
1217
+ {-1},
1218
+ #line 52 "zonetab.list"
1219
+ {gperf_offsetof(stringpool, 234), -3*3600},
1220
+ #line 14 "zonetab.list"
1221
+ {gperf_offsetof(stringpool, 235), -4*3600},
703
1222
  {-1}, {-1},
704
- #line 44 "zonetab.list"
705
- {gperf_offsetof(stringpool, 142), -12*3600},
706
- #line 26 "zonetab.list"
707
- {gperf_offsetof(stringpool, 143), 6*3600},
1223
+ #line 277 "zonetab.list"
1224
+ {gperf_offsetof(stringpool, 238),18000},
1225
+ #line 188 "zonetab.list"
1226
+ {gperf_offsetof(stringpool, 239),21600},
1227
+ #line 320 "zonetab.list"
1228
+ {gperf_offsetof(stringpool, 240),28800},
1229
+ {-1},
1230
+ #line 317 "zonetab.list"
1231
+ {gperf_offsetof(stringpool, 242),-10800},
708
1232
  #line 60 "zonetab.list"
709
- {gperf_offsetof(stringpool, 144),-9*3600},
710
- #line 58 "zonetab.list"
711
- {gperf_offsetof(stringpool, 145),-8*3600},
712
- {-1}, {-1},
713
- #line 119 "zonetab.list"
714
- {gperf_offsetof(stringpool, 148), 14400},
1233
+ {gperf_offsetof(stringpool, 243),-9*3600},
1234
+ #line 316 "zonetab.list"
1235
+ {gperf_offsetof(stringpool, 244),-7200},
715
1236
  {-1},
716
- #line 89 "zonetab.list"
717
- {gperf_offsetof(stringpool, 150), 3*3600},
718
- #line 104 "zonetab.list"
719
- {gperf_offsetof(stringpool, 151),12*3600},
1237
+ #line 246 "zonetab.list"
1238
+ {gperf_offsetof(stringpool, 246),25200},
1239
+ #line 245 "zonetab.list"
1240
+ {gperf_offsetof(stringpool, 247),28800},
1241
+ #line 147 "zonetab.list"
1242
+ {gperf_offsetof(stringpool, 248), -7200},
1243
+ #line 18 "zonetab.list"
1244
+ {gperf_offsetof(stringpool, 249), -6*3600},
1245
+ #line 250 "zonetab.list"
1246
+ {gperf_offsetof(stringpool, 250),50400},
1247
+ #line 165 "zonetab.list"
1248
+ {gperf_offsetof(stringpool, 251), 28800},
1249
+ #line 16 "zonetab.list"
1250
+ {gperf_offsetof(stringpool, 252), -5*3600},
1251
+ #line 76 "zonetab.list"
1252
+ {gperf_offsetof(stringpool, 253), 1*3600},
1253
+ {-1},
1254
+ #line 164 "zonetab.list"
1255
+ {gperf_offsetof(stringpool, 255), 25200},
1256
+ #line 41 "zonetab.list"
1257
+ {gperf_offsetof(stringpool, 256), -9*3600},
1258
+ {-1},
1259
+ #line 171 "zonetab.list"
1260
+ {gperf_offsetof(stringpool, 258), 46800},
1261
+ #line 211 "zonetab.list"
1262
+ {gperf_offsetof(stringpool, 259),-36000},
720
1263
  {-1},
1264
+ #line 308 "zonetab.list"
1265
+ {gperf_offsetof(stringpool, 261),-14400},
1266
+ #line 119 "zonetab.list"
1267
+ {gperf_offsetof(stringpool, 262), 14400},
1268
+ #line 123 "zonetab.list"
1269
+ {gperf_offsetof(stringpool, 263), 3600},
1270
+ #line 28 "zonetab.list"
1271
+ {gperf_offsetof(stringpool, 264), 8*3600},
1272
+ #line 124 "zonetab.list"
1273
+ {gperf_offsetof(stringpool, 265), 3600},
1274
+ #line 153 "zonetab.list"
1275
+ {gperf_offsetof(stringpool, 266), -12600},
1276
+ #line 110 "zonetab.list"
1277
+ {gperf_offsetof(stringpool, 267), 10800},
1278
+ #line 289 "zonetab.list"
1279
+ {gperf_offsetof(stringpool, 268),14400},
1280
+ #line 112 "zonetab.list"
1281
+ {gperf_offsetof(stringpool, 269), 10800},
721
1282
  #line 111 "zonetab.list"
722
- {gperf_offsetof(stringpool, 153), 14400},
1283
+ {gperf_offsetof(stringpool, 270), 14400},
1284
+ #line 216 "zonetab.list"
1285
+ {gperf_offsetof(stringpool, 271),36000},
723
1286
  {-1},
724
- #line 34 "zonetab.list"
725
- {gperf_offsetof(stringpool, 155), -2*3600},
726
- #line 31 "zonetab.list"
727
- {gperf_offsetof(stringpool, 156), 11*3600},
728
- #line 147 "zonetab.list"
729
- {gperf_offsetof(stringpool, 157), -7200},
1287
+ #line 311 "zonetab.list"
1288
+ {gperf_offsetof(stringpool, 273),21600},
1289
+ #line 66 "zonetab.list"
1290
+ {gperf_offsetof(stringpool, 274),-10*3600},
1291
+ #line 151 "zonetab.list"
1292
+ {gperf_offsetof(stringpool, 275), 20700},
1293
+ #line 267 "zonetab.list"
1294
+ {gperf_offsetof(stringpool, 276),-39600},
1295
+ #line 225 "zonetab.list"
1296
+ {gperf_offsetof(stringpool, 277),-14400},
1297
+ {-1},
1298
+ #line 224 "zonetab.list"
1299
+ {gperf_offsetof(stringpool, 279),-10800},
1300
+ #line 67 "zonetab.list"
1301
+ {gperf_offsetof(stringpool, 280),-10*3600},
1302
+ #line 237 "zonetab.list"
1303
+ {gperf_offsetof(stringpool, 281),10800},
730
1304
  {-1}, {-1},
731
- #line 172 "zonetab.list"
732
- {gperf_offsetof(stringpool, 160), -18000},
733
- {-1}, {-1}, {-1},
734
- #line 64 "zonetab.list"
735
- {gperf_offsetof(stringpool, 164),-10*3600},
1305
+ #line 297 "zonetab.list"
1306
+ {gperf_offsetof(stringpool, 284),32400},
1307
+ #line 175 "zonetab.list"
1308
+ {gperf_offsetof(stringpool, 285), 28800},
1309
+ #line 134 "zonetab.list"
1310
+ {gperf_offsetof(stringpool, 286), 7200},
1311
+ #line 149 "zonetab.list"
1312
+ {gperf_offsetof(stringpool, 287), 23400},
1313
+ #line 107 "zonetab.list"
1314
+ {gperf_offsetof(stringpool, 288),13*3600},
1315
+ #line 230 "zonetab.list"
1316
+ {gperf_offsetof(stringpool, 289),-10800},
1317
+ #line 307 "zonetab.list"
1318
+ {gperf_offsetof(stringpool, 290),18000},
736
1319
  {-1}, {-1},
737
- #line 28 "zonetab.list"
738
- {gperf_offsetof(stringpool, 167), 8*3600},
739
- #line 137 "zonetab.list"
740
- {gperf_offsetof(stringpool, 168), 7200},
741
- #line 29 "zonetab.list"
742
- {gperf_offsetof(stringpool, 169), 9*3600},
743
1320
  #line 155 "zonetab.list"
744
- {gperf_offsetof(stringpool, 170), 25200},
745
- #line 150 "zonetab.list"
746
- {gperf_offsetof(stringpool, 171), 21600},
1321
+ {gperf_offsetof(stringpool, 293), 25200},
1322
+ #line 258 "zonetab.list"
1323
+ {gperf_offsetof(stringpool, 294),18000},
1324
+ #line 227 "zonetab.list"
1325
+ {gperf_offsetof(stringpool, 295),-21600},
1326
+ #line 261 "zonetab.list"
1327
+ {gperf_offsetof(stringpool, 296),43200},
1328
+ #line 213 "zonetab.list"
1329
+ {gperf_offsetof(stringpool, 297),-3600},
747
1330
  #line 154 "zonetab.list"
748
- {gperf_offsetof(stringpool, 172), 28800},
1331
+ {gperf_offsetof(stringpool, 298), 28800},
749
1332
  {-1},
750
- #line 161 "zonetab.list"
751
- {gperf_offsetof(stringpool, 174), -18000},
752
- {-1}, {-1},
753
- #line 166 "zonetab.list"
754
- {gperf_offsetof(stringpool, 177), 7200},
755
- {-1}, {-1}, {-1},
756
- #line 115 "zonetab.list"
757
- {gperf_offsetof(stringpool, 181), 36000},
758
- #line 113 "zonetab.list"
759
- {gperf_offsetof(stringpool, 182), -14400},
760
- {-1}, {-1}, {-1},
761
- #line 146 "zonetab.list"
762
- {gperf_offsetof(stringpool, 186), -21600},
1333
+ #line 243 "zonetab.list"
1334
+ {gperf_offsetof(stringpool, 300),21600},
1335
+ #line 114 "zonetab.list"
1336
+ {gperf_offsetof(stringpool, 301), 34200},
1337
+ #line 157 "zonetab.list"
1338
+ {gperf_offsetof(stringpool, 302), -28800},
763
1339
  {-1},
764
- #line 148 "zonetab.list"
765
- {gperf_offsetof(stringpool, 188), -25200},
1340
+ #line 117 "zonetab.list"
1341
+ {gperf_offsetof(stringpool, 304), -21600},
766
1342
  {-1},
767
- #line 127 "zonetab.list"
768
- {gperf_offsetof(stringpool, 190), 28800},
1343
+ #line 156 "zonetab.list"
1344
+ {gperf_offsetof(stringpool, 306), -14400},
769
1345
  #line 116 "zonetab.list"
770
- {gperf_offsetof(stringpool, 191), -3600},
771
- #line 142 "zonetab.list"
772
- {gperf_offsetof(stringpool, 192), 19800},
1346
+ {gperf_offsetof(stringpool, 307), -3600},
1347
+ #line 228 "zonetab.list"
1348
+ {gperf_offsetof(stringpool, 308),-32400},
1349
+ #line 294 "zonetab.list"
1350
+ {gperf_offsetof(stringpool, 309),18000},
1351
+ #line 37 "zonetab.list"
1352
+ {gperf_offsetof(stringpool, 310), -5*3600},
1353
+ #line 137 "zonetab.list"
1354
+ {gperf_offsetof(stringpool, 311), 7200},
1355
+ #line 58 "zonetab.list"
1356
+ {gperf_offsetof(stringpool, 312),-8*3600},
1357
+ #line 304 "zonetab.list"
1358
+ {gperf_offsetof(stringpool, 313),28800},
1359
+ #line 303 "zonetab.list"
1360
+ {gperf_offsetof(stringpool, 314),32400},
1361
+ #line 284 "zonetab.list"
1362
+ {gperf_offsetof(stringpool, 315),14400},
773
1363
  {-1},
774
- #line 40 "zonetab.list"
775
- {gperf_offsetof(stringpool, 194), -8*3600},
776
- #line 112 "zonetab.list"
777
- {gperf_offsetof(stringpool, 195), 10800},
778
- #line 139 "zonetab.list"
779
- {gperf_offsetof(stringpool, 196), 0},
780
- #line 152 "zonetab.list"
781
- {gperf_offsetof(stringpool, 197), 43200},
782
- #line 141 "zonetab.list"
783
- {gperf_offsetof(stringpool, 198), -36000},
784
- #line 27 "zonetab.list"
785
- {gperf_offsetof(stringpool, 199), 7*3600},
786
- #line 158 "zonetab.list"
787
- {gperf_offsetof(stringpool, 200), 3600},
1364
+ #line 295 "zonetab.list"
1365
+ {gperf_offsetof(stringpool, 317),18000},
1366
+ {-1},
1367
+ #line 166 "zonetab.list"
1368
+ {gperf_offsetof(stringpool, 319), 7200},
1369
+ {-1}, {-1}, {-1}, {-1},
1370
+ #line 97 "zonetab.list"
1371
+ {gperf_offsetof(stringpool, 324), 8*3600},
1372
+ {-1},
1373
+ #line 50 "zonetab.list"
1374
+ {gperf_offsetof(stringpool, 326), -(2*3600+1800)},
1375
+ #line 285 "zonetab.list"
1376
+ {gperf_offsetof(stringpool, 327),-10800},
788
1377
  {-1}, {-1},
789
- #line 110 "zonetab.list"
790
- {gperf_offsetof(stringpool, 203), 10800},
791
- #line 163 "zonetab.list"
792
- {gperf_offsetof(stringpool, 204), -39600},
793
- #line 41 "zonetab.list"
794
- {gperf_offsetof(stringpool, 205), -9*3600},
795
- #line 35 "zonetab.list"
796
- {gperf_offsetof(stringpool, 206), -3*3600},
797
- #line 12 "zonetab.list"
798
- {gperf_offsetof(stringpool, 207), 0*3600},
1378
+ #line 287 "zonetab.list"
1379
+ {gperf_offsetof(stringpool, 330),14400},
1380
+ {-1},
799
1381
  #line 169 "zonetab.list"
800
- {gperf_offsetof(stringpool, 208), 36000},
801
- #line 72 "zonetab.list"
802
- {gperf_offsetof(stringpool, 209), 1*3600},
1382
+ {gperf_offsetof(stringpool, 332), 36000},
803
1383
  {-1},
804
- #line 153 "zonetab.list"
805
- {gperf_offsetof(stringpool, 211), -12600},
1384
+ #line 235 "zonetab.list"
1385
+ {gperf_offsetof(stringpool, 334),25200},
1386
+ #line 234 "zonetab.list"
1387
+ {gperf_offsetof(stringpool, 335),28800},
1388
+ {-1}, {-1},
1389
+ #line 232 "zonetab.list"
1390
+ {gperf_offsetof(stringpool, 338),-14400},
1391
+ {-1}, {-1}, {-1},
1392
+ #line 44 "zonetab.list"
1393
+ {gperf_offsetof(stringpool, 342), -12*3600},
1394
+ #line 61 "zonetab.list"
1395
+ {gperf_offsetof(stringpool, 343),-9*3600},
1396
+ #line 162 "zonetab.list"
1397
+ {gperf_offsetof(stringpool, 344), -14400},
1398
+ #line 141 "zonetab.list"
1399
+ {gperf_offsetof(stringpool, 345), -36000},
1400
+ {-1},
1401
+ #line 306 "zonetab.list"
1402
+ {gperf_offsetof(stringpool, 347),-10800},
1403
+ {-1},
1404
+ #line 305 "zonetab.list"
1405
+ {gperf_offsetof(stringpool, 349),-7200},
1406
+ #line 326 "zonetab.list"
1407
+ {gperf_offsetof(stringpool, 350),18000},
1408
+ #line 325 "zonetab.list"
1409
+ {gperf_offsetof(stringpool, 351),21600},
1410
+ #line 247 "zonetab.list"
1411
+ {gperf_offsetof(stringpool, 352),14400},
1412
+ #line 323 "zonetab.list"
1413
+ {gperf_offsetof(stringpool, 353),32400},
1414
+ #line 322 "zonetab.list"
1415
+ {gperf_offsetof(stringpool, 354),36000},
1416
+ {-1}, {-1}, {-1},
1417
+ #line 63 "zonetab.list"
1418
+ {gperf_offsetof(stringpool, 358), -9*3600},
1419
+ #line 144 "zonetab.list"
1420
+ {gperf_offsetof(stringpool, 359), 7200},
806
1421
  {-1}, {-1}, {-1}, {-1}, {-1},
807
- #line 151 "zonetab.list"
808
- {gperf_offsetof(stringpool, 217), 20700},
809
- #line 114 "zonetab.list"
810
- {gperf_offsetof(stringpool, 218), 34200},
1422
+ #line 167 "zonetab.list"
1423
+ {gperf_offsetof(stringpool, 365), 21600},
1424
+ {-1},
1425
+ #line 180 "zonetab.list"
1426
+ {gperf_offsetof(stringpool, 367), 32400},
1427
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1428
+ #line 318 "zonetab.list"
1429
+ {gperf_offsetof(stringpool, 375),25200},
1430
+ {-1},
1431
+ #line 115 "zonetab.list"
1432
+ {gperf_offsetof(stringpool, 377), 36000},
1433
+ #line 231 "zonetab.list"
1434
+ {gperf_offsetof(stringpool, 378),43200},
1435
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1436
+ #line 173 "zonetab.list"
1437
+ {gperf_offsetof(stringpool, 387), -25200},
1438
+ {-1}, {-1}, {-1},
1439
+ #line 310 "zonetab.list"
1440
+ {gperf_offsetof(stringpool, 391),36000},
1441
+ #line 309 "zonetab.list"
1442
+ {gperf_offsetof(stringpool, 392),39600},
811
1443
  {-1}, {-1},
812
1444
  #line 140 "zonetab.list"
813
- {gperf_offsetof(stringpool, 221), 7200},
814
- {-1},
815
- #line 174 "zonetab.list"
816
- {gperf_offsetof(stringpool, 223), 36000},
1445
+ {gperf_offsetof(stringpool, 395), 7200},
1446
+ {-1}, {-1},
1447
+ #line 168 "zonetab.list"
1448
+ {gperf_offsetof(stringpool, 398), 28800},
1449
+ #line 290 "zonetab.list"
1450
+ {gperf_offsetof(stringpool, 399),39600},
1451
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1452
+ #line 118 "zonetab.list"
1453
+ {gperf_offsetof(stringpool, 408), -3600},
1454
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1455
+ #line 296 "zonetab.list"
1456
+ {gperf_offsetof(stringpool, 417),46800},
1457
+ #line 163 "zonetab.list"
1458
+ {gperf_offsetof(stringpool, 418), -39600},
1459
+ {-1}, {-1},
1460
+ #line 161 "zonetab.list"
1461
+ {gperf_offsetof(stringpool, 421), -18000},
817
1462
  {-1}, {-1}, {-1}, {-1}, {-1},
818
- #line 46 "zonetab.list"
819
- {gperf_offsetof(stringpool, 229), 0*3600},
1463
+ #line 312 "zonetab.list"
1464
+ {gperf_offsetof(stringpool, 427),39600},
1465
+ #line 69 "zonetab.list"
1466
+ {gperf_offsetof(stringpool, 428),-12*3600},
820
1467
  {-1}, {-1}, {-1},
821
- #line 135 "zonetab.list"
822
- {gperf_offsetof(stringpool, 233), 18000},
823
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
824
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
825
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
826
- {-1}, {-1}, {-1}, {-1},
827
- #line 173 "zonetab.list"
828
- {gperf_offsetof(stringpool, 265), -25200},
1468
+ #line 136 "zonetab.list"
1469
+ {gperf_offsetof(stringpool, 432), 43200},
1470
+ {-1}, {-1},
1471
+ #line 46 "zonetab.list"
1472
+ {gperf_offsetof(stringpool, 435), 0*3600},
1473
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1474
+ #line 145 "zonetab.list"
1475
+ {gperf_offsetof(stringpool, 443), 32400},
1476
+ {-1},
1477
+ #line 131 "zonetab.list"
1478
+ {gperf_offsetof(stringpool, 445), 7200},
829
1479
  {-1}, {-1}, {-1},
830
- #line 144 "zonetab.list"
831
- {gperf_offsetof(stringpool, 269), 7200},
1480
+ #line 292 "zonetab.list"
1481
+ {gperf_offsetof(stringpool, 449),10800},
832
1482
  {-1}, {-1},
833
- #line 180 "zonetab.list"
834
- {gperf_offsetof(stringpool, 272), 32400},
835
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
836
- #line 156 "zonetab.list"
837
- {gperf_offsetof(stringpool, 279), -14400},
1483
+ #line 150 "zonetab.list"
1484
+ {gperf_offsetof(stringpool, 452), 21600},
838
1485
  {-1}, {-1},
839
- #line 171 "zonetab.list"
840
- {gperf_offsetof(stringpool, 282), 46800},
841
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
842
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
843
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
844
- {-1}, {-1}, {-1}, {-1},
845
- #line 108 "zonetab.list"
846
- {gperf_offsetof(stringpool, 314), 16200},
1486
+ #line 302 "zonetab.list"
1487
+ {gperf_offsetof(stringpool, 455),43200},
1488
+ {-1}, {-1},
1489
+ #line 176 "zonetab.list"
1490
+ {gperf_offsetof(stringpool, 458), 3600},
1491
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1492
+ #line 135 "zonetab.list"
1493
+ {gperf_offsetof(stringpool, 466), 18000},
1494
+ {-1},
1495
+ #line 174 "zonetab.list"
1496
+ {gperf_offsetof(stringpool, 468), 36000},
1497
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1498
+ #line 324 "zonetab.list"
1499
+ {gperf_offsetof(stringpool, 476),36000},
1500
+ #line 172 "zonetab.list"
1501
+ {gperf_offsetof(stringpool, 477), -18000},
847
1502
  {-1}, {-1}, {-1}, {-1},
848
- #line 69 "zonetab.list"
849
- {gperf_offsetof(stringpool, 319),-12*3600},
1503
+ #line 160 "zonetab.list"
1504
+ {gperf_offsetof(stringpool, 482), -10800},
850
1505
  {-1}, {-1},
851
- #line 157 "zonetab.list"
852
- {gperf_offsetof(stringpool, 322), -28800},
1506
+ #line 62 "zonetab.list"
1507
+ {gperf_offsetof(stringpool, 485), -9*3600},
1508
+ #line 159 "zonetab.list"
1509
+ {gperf_offsetof(stringpool, 486), 10800},
1510
+ {-1}, {-1}, {-1}, {-1}, {-1},
1511
+ #line 233 "zonetab.list"
1512
+ {gperf_offsetof(stringpool, 492),28800},
853
1513
  {-1}, {-1}, {-1}, {-1},
854
- #line 168 "zonetab.list"
855
- {gperf_offsetof(stringpool, 327), 28800},
856
- #line 134 "zonetab.list"
857
- {gperf_offsetof(stringpool, 328), 7200},
858
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1514
+ #line 158 "zonetab.list"
1515
+ {gperf_offsetof(stringpool, 497), 3600},
859
1516
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
860
1517
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
861
1518
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
862
1519
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1520
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1521
+ #line 177 "zonetab.list"
1522
+ {gperf_offsetof(stringpool, 540), 3600},
863
1523
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
864
1524
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
865
- #line 170 "zonetab.list"
866
- {gperf_offsetof(stringpool, 392), 32400},
1525
+ {-1}, {-1}, {-1}, {-1},
1526
+ #line 59 "zonetab.list"
1527
+ {gperf_offsetof(stringpool, 563), -8*3600},
1528
+ {-1}, {-1},
1529
+ #line 104 "zonetab.list"
1530
+ {gperf_offsetof(stringpool, 566),12*3600},
1531
+ #line 139 "zonetab.list"
1532
+ {gperf_offsetof(stringpool, 567), 0},
867
1533
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
868
1534
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
869
1535
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
870
1536
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
871
1537
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
872
- #line 136 "zonetab.list"
873
- {gperf_offsetof(stringpool, 438), 43200}
1538
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1539
+ #line 138 "zonetab.list"
1540
+ {gperf_offsetof(stringpool, 619), -10800}
874
1541
  };
875
1542
 
876
1543
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -884,12 +1551,12 @@ zonetab (register const char *str, register size_t len)
884
1551
  {
885
1552
  register const char *s = o + stringpool;
886
1553
 
887
- if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
1554
+ if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0 && !gperf_case_strncmp (str, s, len) && s[len] == '\0')
888
1555
  return &wordlist[key];
889
1556
  }
890
1557
  }
891
1558
  }
892
1559
  return 0;
893
1560
  }
894
- #line 181 "zonetab.list"
1561
+ #line 327 "zonetab.list"
895
1562