/* ANSI-C code produced by gperf version 3.0.2 */
/* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N locfile_hash locfile-kw.gperf  */

#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
/* The character set is not based on ISO-646.  */
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
#endif

#line 1 "locfile-kw.gperf"

/* Copyright (C) 1996-2000,2005,2007 Free Software Foundation, Inc.
   This file is part of the GNU C Library.
   Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published
   by the Free Software Foundation; version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */

#include <string.h>

#include "locfile-token.h"
#line 24 "locfile-kw.gperf"
struct keyword_t ;

#define TOTAL_KEYWORDS 176
#define MIN_WORD_LENGTH 3
#define MAX_WORD_LENGTH 22
#define MIN_HASH_VALUE 3
#define MAX_HASH_VALUE 630
/* maximum key range = 628, duplicates = 0 */

#ifdef __GNUC__
__inline
#else
#ifdef __cplusplus
inline
#endif
#endif
static unsigned int
hash (register const char *str, register unsigned int len)
{
  static const unsigned short asso_values[] =
    {
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
        5,   0, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631,   5, 631,   0,   0,   0,
        0,   0,  10,   0, 631, 631,   0, 631,   0,   5,
      631, 631,   0,   0,   0,  10, 631, 631, 631,   0,
      631, 631, 631, 631, 631,   0, 631, 145,  80,  25,
       15,   0, 180, 105,  10,  35, 631,  50,  80, 160,
        5, 130,  40,  45,   5,   0,  10,  35,  40,  35,
        5,  10,   0, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
      631, 631, 631, 631, 631, 631
    };
  register int hval = len;

  switch (hval)
    {
      default:
        hval += asso_values[(unsigned char)str[8]];
      /*FALLTHROUGH*/
      case 8:
      case 7:
      case 6:
      case 5:
        hval += asso_values[(unsigned char)str[4]];
      /*FALLTHROUGH*/
      case 4:
      case 3:
      case 2:
        hval += asso_values[(unsigned char)str[1]];
      /*FALLTHROUGH*/
      case 1:
        hval += asso_values[(unsigned char)str[0]];
        break;
    }
  return hval + asso_values[(unsigned char)str[len - 1]];
}

#ifdef __GNUC__
__inline
#endif
const struct keyword_t *
locfile_hash (register const char *str, register unsigned int len)
{
  static const struct keyword_t wordlist[] =
    {
      {""}, {""}, {""},
#line 31 "locfile-kw.gperf"
      {"END",                    tok_end,                    0},
      {""}, {""},
#line 70 "locfile-kw.gperf"
      {"IGNORE",                 tok_ignore,                 0},
#line 129 "locfile-kw.gperf"
      {"LC_TIME",                tok_lc_time,                0},
#line 30 "locfile-kw.gperf"
      {"LC_CTYPE",               tok_lc_ctype,               0},
      {""},
#line 166 "locfile-kw.gperf"
      {"LC_ADDRESS",             tok_lc_address,             0},
#line 151 "locfile-kw.gperf"
      {"LC_MESSAGES",            tok_lc_messages,            0},
#line 159 "locfile-kw.gperf"
      {"LC_NAME",                tok_lc_name,                0},
#line 156 "locfile-kw.gperf"
      {"LC_PAPER",               tok_lc_paper,               0},
#line 184 "locfile-kw.gperf"
      {"LC_MEASUREMENT",         tok_lc_measurement,         0},
#line 56 "locfile-kw.gperf"
      {"LC_COLLATE",             tok_lc_collate,             0},
      {""},
#line 186 "locfile-kw.gperf"
      {"LC_IDENTIFICATION",      tok_lc_identification,      0},
#line 199 "locfile-kw.gperf"
      {"revision",               tok_revision,               0},
#line 69 "locfile-kw.gperf"
      {"UNDEFINED",              tok_undefined,              0},
#line 125 "locfile-kw.gperf"
      {"LC_NUMERIC",             tok_lc_numeric,             0},
#line 82 "locfile-kw.gperf"
      {"LC_MONETARY",            tok_lc_monetary,            0},
#line 179 "locfile-kw.gperf"
      {"LC_TELEPHONE",           tok_lc_telephone,           0},
      {""}, {""}, {""},
#line 75 "locfile-kw.gperf"
      {"define",                 tok_define,                 0},
#line 152 "locfile-kw.gperf"
      {"yesexpr",                tok_yesexpr,                0},
#line 141 "locfile-kw.gperf"
      {"era_year",               tok_era_year,               0},
      {""},
#line 54 "locfile-kw.gperf"
      {"translit_ignore",        tok_translit_ignore,        0},
#line 154 "locfile-kw.gperf"
      {"yesstr",                 tok_yesstr,                 0},
      {""},
#line 89 "locfile-kw.gperf"
      {"negative_sign",          tok_negative_sign,          0},
      {""},
#line 137 "locfile-kw.gperf"
      {"t_fmt",                  tok_t_fmt,                  0},
#line 157 "locfile-kw.gperf"
      {"height",                 tok_height,                 0},
      {""}, {""},
#line 52 "locfile-kw.gperf"
      {"translit_start",         tok_translit_start,         0},
#line 136 "locfile-kw.gperf"
      {"d_fmt",                  tok_d_fmt,                  0},
      {""},
#line 53 "locfile-kw.gperf"
      {"translit_end",           tok_translit_end,           0},
#line 94 "locfile-kw.gperf"
      {"n_cs_precedes",          tok_n_cs_precedes,          0},
#line 144 "locfile-kw.gperf"
      {"era_t_fmt",              tok_era_t_fmt,              0},
#line 39 "locfile-kw.gperf"
      {"space",                  tok_space,                  0},
#line 72 "locfile-kw.gperf"
      {"reorder-end",            tok_reorder_end,            0},
#line 73 "locfile-kw.gperf"
      {"reorder-sections-after", tok_reorder_sections_after, 0},
      {""},
#line 142 "locfile-kw.gperf"
      {"era_d_fmt",              tok_era_d_fmt,              0},
#line 187 "locfile-kw.gperf"
      {"title",                  tok_title,                  0},
      {""}, {""},
#line 149 "locfile-kw.gperf"
      {"timezone",               tok_timezone,               0},
      {""},
#line 74 "locfile-kw.gperf"
      {"reorder-sections-end",   tok_reorder_sections_end,   0},
      {""}, {""}, {""},
#line 95 "locfile-kw.gperf"
      {"n_sep_by_space",         tok_n_sep_by_space,         0},
      {""}, {""},
#line 100 "locfile-kw.gperf"
      {"int_n_cs_precedes",      tok_int_n_cs_precedes,      0},
      {""}, {""}, {""},
#line 26 "locfile-kw.gperf"
      {"escape_char",            tok_escape_char,            0},
      {""},
#line 28 "locfile-kw.gperf"
      {"repertoiremap",          tok_repertoiremap,          0},
#line 46 "locfile-kw.gperf"
      {"charclass",              tok_charclass,              0},
#line 43 "locfile-kw.gperf"
      {"print",                  tok_print,                  0},
#line 44 "locfile-kw.gperf"
      {"xdigit",                 tok_xdigit,                 0},
#line 110 "locfile-kw.gperf"
      {"duo_n_cs_precedes",      tok_duo_n_cs_precedes,      0},
#line 127 "locfile-kw.gperf"
      {"thousands_sep",          tok_thousands_sep,          0},
#line 195 "locfile-kw.gperf"
      {"territory",              tok_territory,              0},
#line 36 "locfile-kw.gperf"
      {"digit",                  tok_digit,                  0},
      {""}, {""},
#line 92 "locfile-kw.gperf"
      {"p_cs_precedes",          tok_p_cs_precedes,          0},
      {""}, {""},
#line 62 "locfile-kw.gperf"
      {"script",                 tok_script,                 0},
#line 29 "locfile-kw.gperf"
      {"include",                tok_include,                0},
      {""},
#line 78 "locfile-kw.gperf"
      {"else",                   tok_else,                   0},
#line 182 "locfile-kw.gperf"
      {"int_select",             tok_int_select,             0},
      {""}, {""}, {""},
#line 132 "locfile-kw.gperf"
      {"week",                   tok_week,                   0},
#line 33 "locfile-kw.gperf"
      {"upper",                  tok_upper,                  0},
      {""}, {""},
#line 192 "locfile-kw.gperf"
      {"tel",                    tok_tel,                    0},
#line 93 "locfile-kw.gperf"
      {"p_sep_by_space",         tok_p_sep_by_space,         0},
#line 158 "locfile-kw.gperf"
      {"width",                  tok_width,                  0},
      {""},
#line 98 "locfile-kw.gperf"
      {"int_p_cs_precedes",      tok_int_p_cs_precedes,      0},
      {""}, {""},
#line 41 "locfile-kw.gperf"
      {"punct",                  tok_punct,                  0},
      {""}, {""},
#line 101 "locfile-kw.gperf"
      {"int_n_sep_by_space",     tok_int_n_sep_by_space,     0},
      {""}, {""}, {""},
#line 108 "locfile-kw.gperf"
      {"duo_p_cs_precedes",      tok_duo_p_cs_precedes,      0},
#line 48 "locfile-kw.gperf"
      {"charconv",               tok_charconv,               0},
      {""},
#line 47 "locfile-kw.gperf"
      {"class",                  tok_class,                  0},
#line 114 "locfile-kw.gperf"
      {"duo_int_n_cs_precedes",  tok_duo_int_n_cs_precedes,  0},
#line 115 "locfile-kw.gperf"
      {"duo_int_n_sep_by_space", tok_duo_int_n_sep_by_space, 0},
#line 111 "locfile-kw.gperf"
      {"duo_n_sep_by_space",     tok_duo_n_sep_by_space,     0},
#line 119 "locfile-kw.gperf"
      {"duo_int_n_sign_posn",    tok_duo_int_n_sign_posn,    0},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""},
#line 58 "locfile-kw.gperf"
      {"section-symbol",         tok_section_symbol,         0},
#line 183 "locfile-kw.gperf"
      {"int_prefix",             tok_int_prefix,             0},
      {""}, {""}, {""}, {""},
#line 42 "locfile-kw.gperf"
      {"graph",                  tok_graph,                  0},
      {""}, {""},
#line 99 "locfile-kw.gperf"
      {"int_p_sep_by_space",     tok_int_p_sep_by_space,     0},
      {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 112 "locfile-kw.gperf"
      {"duo_int_p_cs_precedes",  tok_duo_int_p_cs_precedes,  0},
#line 113 "locfile-kw.gperf"
      {"duo_int_p_sep_by_space", tok_duo_int_p_sep_by_space, 0},
#line 109 "locfile-kw.gperf"
      {"duo_p_sep_by_space",     tok_duo_p_sep_by_space,     0},
#line 118 "locfile-kw.gperf"
      {"duo_int_p_sign_posn",    tok_duo_int_p_sign_posn,    0},
#line 155 "locfile-kw.gperf"
      {"nostr",                  tok_nostr,                  0},
      {""}, {""},
#line 140 "locfile-kw.gperf"
      {"era",                    tok_era,                    0},
      {""},
#line 84 "locfile-kw.gperf"
      {"currency_symbol",        tok_currency_symbol,        0},
      {""},
#line 165 "locfile-kw.gperf"
      {"name_ms",                tok_name_ms,                0},
#line 163 "locfile-kw.gperf"
      {"name_mrs",               tok_name_mrs,               0},
#line 164 "locfile-kw.gperf"
      {"name_miss",              tok_name_miss,              0},
#line 83 "locfile-kw.gperf"
      {"int_curr_symbol",        tok_int_curr_symbol,        0},
#line 188 "locfile-kw.gperf"
      {"source",                 tok_source,                 0},
#line 162 "locfile-kw.gperf"
      {"name_mr",                tok_name_mr,                0},
#line 161 "locfile-kw.gperf"
      {"name_gen",               tok_name_gen,               0},
#line 200 "locfile-kw.gperf"
      {"date",                   tok_date,                   0},
      {""}, {""},
#line 189 "locfile-kw.gperf"
      {"address",                tok_address,                0},
#line 160 "locfile-kw.gperf"
      {"name_fmt",               tok_name_fmt,               0},
#line 32 "locfile-kw.gperf"
      {"copy",                   tok_copy,                   0},
#line 103 "locfile-kw.gperf"
      {"int_n_sign_posn",        tok_int_n_sign_posn,        0},
      {""}, {""},
#line 131 "locfile-kw.gperf"
      {"day",                    tok_day,                    0},
#line 105 "locfile-kw.gperf"
      {"duo_currency_symbol",    tok_duo_currency_symbol,    0},
      {""}, {""}, {""},
#line 150 "locfile-kw.gperf"
      {"date_fmt",               tok_date_fmt,               0},
#line 64 "locfile-kw.gperf"
      {"order_end",              tok_order_end,              0},
#line 117 "locfile-kw.gperf"
      {"duo_n_sign_posn",        tok_duo_n_sign_posn,        0},
      {""},
#line 168 "locfile-kw.gperf"
      {"country_name",           tok_country_name,           0},
#line 71 "locfile-kw.gperf"
      {"reorder-after",          tok_reorder_after,          0},
      {""}, {""},
#line 153 "locfile-kw.gperf"
      {"noexpr",                 tok_noexpr,                 0},
#line 50 "locfile-kw.gperf"
      {"tolower",                tok_tolower,                0},
#line 196 "locfile-kw.gperf"
      {"audience",               tok_audience,               0},
      {""}, {""}, {""},
#line 49 "locfile-kw.gperf"
      {"toupper",                tok_toupper,                0},
#line 68 "locfile-kw.gperf"
      {"position",               tok_position,               0},
      {""},
#line 40 "locfile-kw.gperf"
      {"cntrl",                  tok_cntrl,                  0},
      {""},
#line 27 "locfile-kw.gperf"
      {"comment_char",           tok_comment_char,           0},
#line 88 "locfile-kw.gperf"
      {"positive_sign",          tok_positive_sign,          0},
      {""}, {""}, {""}, {""},
#line 61 "locfile-kw.gperf"
      {"symbol-equivalence",     tok_symbol_equivalence,     0},
      {""},
#line 102 "locfile-kw.gperf"
      {"int_p_sign_posn",        tok_int_p_sign_posn,        0},
#line 173 "locfile-kw.gperf"
      {"country_car",            tok_country_car,            0},
      {""}, {""},
#line 104 "locfile-kw.gperf"
      {"duo_int_curr_symbol",    tok_duo_int_curr_symbol,    0},
      {""}, {""},
#line 135 "locfile-kw.gperf"
      {"d_t_fmt",                tok_d_t_fmt,                0},
      {""}, {""},
#line 116 "locfile-kw.gperf"
      {"duo_p_sign_posn",        tok_duo_p_sign_posn,        0},
#line 185 "locfile-kw.gperf"
      {"measurement",            tok_measurement,            0},
#line 174 "locfile-kw.gperf"
      {"country_isbn",           tok_country_isbn,           0},
#line 37 "locfile-kw.gperf"
      {"outdigit",               tok_outdigit,               0},
      {""}, {""},
#line 143 "locfile-kw.gperf"
      {"era_d_t_fmt",            tok_era_d_t_fmt,            0},
      {""}, {""}, {""},
#line 34 "locfile-kw.gperf"
      {"lower",                  tok_lower,                  0},
#line 181 "locfile-kw.gperf"
      {"tel_dom_fmt",            tok_tel_dom_fmt,            0},
#line 169 "locfile-kw.gperf"
      {"country_post",           tok_country_post,           0},
#line 148 "locfile-kw.gperf"
      {"cal_direction",          tok_cal_direction,          0},
      {""},
#line 139 "locfile-kw.gperf"
      {"t_fmt_ampm",             tok_t_fmt_ampm,             0},
#line 91 "locfile-kw.gperf"
      {"frac_digits",            tok_frac_digits,            0},
      {""}, {""},
#line 175 "locfile-kw.gperf"
      {"lang_name",              tok_lang_name,              0},
#line 90 "locfile-kw.gperf"
      {"int_frac_digits",        tok_int_frac_digits,        0},
      {""},
#line 121 "locfile-kw.gperf"
      {"uno_valid_to",           tok_uno_valid_to,           0},
#line 126 "locfile-kw.gperf"
      {"decimal_point",          tok_decimal_point,          0},
      {""},
#line 133 "locfile-kw.gperf"
      {"abmon",                  tok_abmon,                  0},
      {""}, {""}, {""}, {""},
#line 107 "locfile-kw.gperf"
      {"duo_frac_digits",        tok_duo_frac_digits,        0},
#line 180 "locfile-kw.gperf"
      {"tel_int_fmt",            tok_tel_int_fmt,            0},
#line 123 "locfile-kw.gperf"
      {"duo_valid_to",           tok_duo_valid_to,           0},
#line 146 "locfile-kw.gperf"
      {"first_weekday",          tok_first_weekday,          0},
      {""},
#line 130 "locfile-kw.gperf"
      {"abday",                  tok_abday,                  0},
      {""},
#line 198 "locfile-kw.gperf"
      {"abbreviation",           tok_abbreviation,           0},
#line 147 "locfile-kw.gperf"
      {"first_workday",          tok_first_workday,          0},
      {""}, {""},
#line 97 "locfile-kw.gperf"
      {"n_sign_posn",            tok_n_sign_posn,            0},
      {""}, {""}, {""},
#line 145 "locfile-kw.gperf"
      {"alt_digits",             tok_alt_digits,             0},
      {""}, {""},
#line 128 "locfile-kw.gperf"
      {"grouping",               tok_grouping,               0},
      {""},
#line 45 "locfile-kw.gperf"
      {"blank",                  tok_blank,                  0},
      {""}, {""},
#line 194 "locfile-kw.gperf"
      {"language",               tok_language,               0},
#line 120 "locfile-kw.gperf"
      {"uno_valid_from",         tok_uno_valid_from,         0},
      {""},
#line 197 "locfile-kw.gperf"
      {"application",            tok_application,            0},
      {""},
#line 80 "locfile-kw.gperf"
      {"elifndef",               tok_elifndef,               0},
      {""}, {""}, {""}, {""}, {""},
#line 122 "locfile-kw.gperf"
      {"duo_valid_from",         tok_duo_valid_from,         0},
#line 57 "locfile-kw.gperf"
      {"coll_weight_max",        tok_coll_weight_max,        0},
      {""},
#line 79 "locfile-kw.gperf"
      {"elifdef",                tok_elifdef,                0},
#line 67 "locfile-kw.gperf"
      {"backward",               tok_backward,               0},
#line 106 "locfile-kw.gperf"
      {"duo_int_frac_digits",    tok_duo_int_frac_digits,    0},
      {""}, {""}, {""}, {""}, {""}, {""},
#line 96 "locfile-kw.gperf"
      {"p_sign_posn",            tok_p_sign_posn,            0},
      {""},
#line 201 "locfile-kw.gperf"
      {"category",               tok_category,               0},
      {""}, {""}, {""}, {""},
#line 134 "locfile-kw.gperf"
      {"mon",                    tok_mon,                    0},
      {""},
#line 124 "locfile-kw.gperf"
      {"conversion_rate",        tok_conversion_rate,        0},
      {""}, {""}, {""}, {""}, {""},
#line 63 "locfile-kw.gperf"
      {"order_start",            tok_order_start,            0},
      {""}, {""}, {""}, {""}, {""},
#line 176 "locfile-kw.gperf"
      {"lang_ab",                tok_lang_ab,                0},
#line 178 "locfile-kw.gperf"
      {"lang_lib",               tok_lang_lib,               0},
      {""}, {""}, {""},
#line 190 "locfile-kw.gperf"
      {"contact",                tok_contact,                0},
      {""}, {""}, {""},
#line 171 "locfile-kw.gperf"
      {"country_ab3",            tok_country_ab3,            0},
      {""}, {""}, {""},
#line 191 "locfile-kw.gperf"
      {"email",                  tok_email,                  0},
#line 170 "locfile-kw.gperf"
      {"country_ab2",            tok_country_ab2,            0},
      {""}, {""}, {""},
#line 55 "locfile-kw.gperf"
      {"default_missing",        tok_default_missing,        0},
      {""}, {""},
#line 193 "locfile-kw.gperf"
      {"fax",                    tok_fax,                    0},
      {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 172 "locfile-kw.gperf"
      {"country_num",            tok_country_num,            0},
      {""}, {""}, {""}, {""}, {""}, {""},
#line 51 "locfile-kw.gperf"
      {"map",                    tok_map,                    0},
#line 65 "locfile-kw.gperf"
      {"from",                   tok_from,                   0},
      {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 86 "locfile-kw.gperf"
      {"mon_thousands_sep",      tok_mon_thousands_sep,      0},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""},
#line 81 "locfile-kw.gperf"
      {"endif",                  tok_endif,                  0},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 76 "locfile-kw.gperf"
      {"undef",                  tok_undef,                  0},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 59 "locfile-kw.gperf"
      {"collating-element",      tok_collating_element,      0},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 66 "locfile-kw.gperf"
      {"forward",                tok_forward,                0},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""},
#line 85 "locfile-kw.gperf"
      {"mon_decimal_point",      tok_mon_decimal_point,      0},
      {""}, {""},
#line 167 "locfile-kw.gperf"
      {"postal_fmt",             tok_postal_fmt,             0},
      {""}, {""}, {""}, {""}, {""},
#line 60 "locfile-kw.gperf"
      {"collating-symbol",       tok_collating_symbol,       0},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 35 "locfile-kw.gperf"
      {"alpha",                  tok_alpha,                  0},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""},
#line 38 "locfile-kw.gperf"
      {"alnum",                  tok_alnum,                  0},
      {""},
#line 87 "locfile-kw.gperf"
      {"mon_grouping",           tok_mon_grouping,           0},
      {""},
#line 177 "locfile-kw.gperf"
      {"lang_term",              tok_lang_term,              0},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 77 "locfile-kw.gperf"
      {"ifdef",                  tok_ifdef,                  0},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
      {""}, {""}, {""}, {""},
#line 138 "locfile-kw.gperf"
      {"am_pm",                  tok_am_pm,                  0}
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      register int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= 0)
        {
          register const char *s = wordlist[key].name;

          if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
            return &wordlist[key];
        }
    }
  return 0;
}
