Fix for 3678031, implement better flexing for Emerson headers. This involved adding...
[WebKit-https.git] / WebCore / khtml / css / cssvalues.c
1 /* ANSI-C code produced by gperf version 2.7.2 */
2 /* Command-line: gperf -L ANSI-C -E -C -n -o -t -k '*' -NfindValue -Hhash_val -Wwordlist_value -D cssvalues.gperf  */
3 /* This file is automatically generated from cssvalues.in by makevalues, do not edit */
4 /* Copyright 1999 W. Bastian */
5 #include "cssvalues.h"
6 struct css_value {
7     const char *name;
8     int id;
9 };
10 /* maximum key range = 2829, duplicates = 1 */
11
12 #ifdef __GNUC__
13 __inline
14 #else
15 #ifdef __cplusplus
16 inline
17 #endif
18 #endif
19 static unsigned int
20 hash_val (register const char *str, register unsigned int len)
21 {
22   static const unsigned short asso_values[] =
23     {
24       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
25       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
26       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
27       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
28       2829, 2829, 2829, 2829, 2829,   15, 2829, 2829,    0,    5,
29         10,   15,   20,   25,   30,   35,   40,    0, 2829, 2829,
30       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
31       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
32       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
33       2829, 2829, 2829, 2829, 2829, 2829, 2829,    0,   58,    3,
34        211,  225,   13,  390,   95,   35,    5,  480,    0,  165,
35         55,   50,   53,   10,  290,   10,    0,   65,  153,  435,
36        278,   45,  195, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
37       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
38       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
39       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
40       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
41       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
42       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
43       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
44       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
45       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
46       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
47       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
48       2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
49       2829, 2829, 2829, 2829, 2829, 2829
50     };
51   register int hval = 0;
52
53   switch (len)
54     {
55       default:
56       case 22:
57         hval += asso_values[(unsigned char)str[21]];
58       case 21:
59         hval += asso_values[(unsigned char)str[20]];
60       case 20:
61         hval += asso_values[(unsigned char)str[19]];
62       case 19:
63         hval += asso_values[(unsigned char)str[18]];
64       case 18:
65         hval += asso_values[(unsigned char)str[17]];
66       case 17:
67         hval += asso_values[(unsigned char)str[16]];
68       case 16:
69         hval += asso_values[(unsigned char)str[15]];
70       case 15:
71         hval += asso_values[(unsigned char)str[14]];
72       case 14:
73         hval += asso_values[(unsigned char)str[13]];
74       case 13:
75         hval += asso_values[(unsigned char)str[12]];
76       case 12:
77         hval += asso_values[(unsigned char)str[11]];
78       case 11:
79         hval += asso_values[(unsigned char)str[10]];
80       case 10:
81         hval += asso_values[(unsigned char)str[9]];
82       case 9:
83         hval += asso_values[(unsigned char)str[8]];
84       case 8:
85         hval += asso_values[(unsigned char)str[7]];
86       case 7:
87         hval += asso_values[(unsigned char)str[6]];
88       case 6:
89         hval += asso_values[(unsigned char)str[5]];
90       case 5:
91         hval += asso_values[(unsigned char)str[4]];
92       case 4:
93         hval += asso_values[(unsigned char)str[3]];
94       case 3:
95         hval += asso_values[(unsigned char)str[2]];
96       case 2:
97         hval += asso_values[(unsigned char)str[1]];
98       case 1:
99         hval += asso_values[(unsigned char)str[0]];
100         break;
101     }
102   return hval;
103 }
104
105 #ifdef __GNUC__
106 __inline
107 #endif
108 const struct css_value *
109 findValue (register const char *str, register unsigned int len)
110 {
111   enum
112     {
113       TOTAL_KEYWORDS = 260,
114       MIN_WORD_LENGTH = 2,
115       MAX_WORD_LENGTH = 22,
116       MIN_HASH_VALUE = 0,
117       MAX_HASH_VALUE = 2828
118     };
119
120   static const struct css_value wordlist_value[] =
121     {
122       {"900", CSS_VAL_900},
123       {"100", CSS_VAL_100},
124       {"200", CSS_VAL_200},
125       {"300", CSS_VAL_300},
126       {"400", CSS_VAL_400},
127       {"fast", CSS_VAL_FAST},
128       {"500", CSS_VAL_500},
129       {"600", CSS_VAL_600},
130       {"700", CSS_VAL_700},
131       {"800", CSS_VAL_800},
132       {"static", CSS_VAL_STATIC},
133       {"italic", CSS_VAL_ITALIC},
134       {"aqua", CSS_VAL_AQUA},
135       {"top", CSS_VAL_TOP},
136       {"auto", CSS_VAL_AUTO},
137       {"up", CSS_VAL_UP},
138       {"fantasy", CSS_VAL_FANTASY},
139       {"sub", CSS_VAL_SUB},
140       {"icon", CSS_VAL_ICON},
141       {"initial", CSS_VAL_INITIAL},
142       {"justify", CSS_VAL_JUSTIFY},
143       {"small", CSS_VAL_SMALL},
144       {"thin", CSS_VAL_THIN},
145       {"caption", CSS_VAL_CAPTION},
146       {"both", CSS_VAL_BOTH},
147       {"fuchsia", CSS_VAL_FUCHSIA},
148       {"teal", CSS_VAL_TEAL},
149       {"left", CSS_VAL_LEFT},
150       {"navy", CSS_VAL_NAVY},
151       {"small-caps", CSS_VAL_SMALL_CAPS},
152       {"disc", CSS_VAL_DISC},
153       {"compact", CSS_VAL_COMPACT},
154       {"table", CSS_VAL_TABLE},
155       {"ltr", CSS_VAL_LTR},
156       {"rtl", CSS_VAL_RTL},
157       {"start", CSS_VAL_START},
158       {"solid", CSS_VAL_SOLID},
159       {"bold", CSS_VAL_BOLD},
160       {"bottom", CSS_VAL_BOTTOM},
161       {"inset", CSS_VAL_INSET},
162       {"loud", CSS_VAL_LOUD},
163       {"collapse", CSS_VAL_COLLAPSE},
164       {"blue", CSS_VAL_BLUE},
165       {"outset", CSS_VAL_OUTSET},
166       {"scroll", CSS_VAL_SCROLL},
167       {"hand", CSS_VAL_HAND},
168       {"cross", CSS_VAL_CROSS},
169       {"help", CSS_VAL_HELP},
170       {"none", CSS_VAL_NONE},
171       {"small-caption", CSS_VAL_SMALL_CAPTION},
172       {"crop", CSS_VAL_CROP},
173       {"inline", CSS_VAL_INLINE},
174       {"absolute", CSS_VAL_ABSOLUTE},
175       {"lime", CSS_VAL_LIME},
176       {"oblique", CSS_VAL_OBLIQUE},
177       {"status-bar", CSS_VAL_STATUS_BAR},
178       {"avoid", CSS_VAL_AVOID},
179       {"infinite", CSS_VAL_INFINITE},
180       {"olive", CSS_VAL_OLIVE},
181       {"x-small", CSS_VAL_X_SMALL},
182       {"buttonface", CSS_VAL_BUTTONFACE},
183       {"wait", CSS_VAL_WAIT},
184       {"mix", CSS_VAL_MIX},
185       {"slide", CSS_VAL_SLIDE},
186       {"list-item", CSS_VAL_LIST_ITEM},
187       {"above", CSS_VAL_ABOVE},
188       {"unfurl", CSS_VAL_UNFURL},
189       {"always", CSS_VAL_ALWAYS},
190       {"end", CSS_VAL_END},
191       {"table-caption", CSS_VAL_TABLE_CAPTION},
192       {"slow", CSS_VAL_SLOW},
193       {"text", CSS_VAL_TEXT},
194       {"menu", CSS_VAL_MENU},
195       {"default", CSS_VAL_DEFAULT},
196       {"run-in", CSS_VAL_RUN_IN},
197       {"visible", CSS_VAL_VISIBLE},
198       {"intrinsic", CSS_VAL_INTRINSIC},
199       {"table-cell", CSS_VAL_TABLE_CELL},
200       {"ahead", CSS_VAL_AHEAD},
201       {"black", CSS_VAL_BLACK},
202       {"multiple", CSS_VAL_MULTIPLE},
203       {"capitalize", CSS_VAL_CAPITALIZE},
204       {"circle", CSS_VAL_CIRCLE},
205       {"landscape", CSS_VAL_LANDSCAPE},
206       {"normal", CSS_VAL_NORMAL},
207       {"hide", CSS_VAL_HIDE},
208       {"pre", CSS_VAL_PRE},
209       {"inside", CSS_VAL_INSIDE},
210       {"serif", CSS_VAL_SERIF},
211       {"show", CSS_VAL_SHOW},
212       {"block", CSS_VAL_BLOCK},
213       {"move", CSS_VAL_MOVE},
214       {"outside", CSS_VAL_OUTSIDE},
215       {"square", CSS_VAL_SQUARE},
216       {"level", CSS_VAL_LEVEL},
217       {"baseline", CSS_VAL_BASELINE},
218       {"double", CSS_VAL_DOUBLE},
219       {"maroon", CSS_VAL_MAROON},
220       {"monospace", CSS_VAL_MONOSPACE},
221       {"activecaption", CSS_VAL_ACTIVECAPTION},
222       {"thick", CSS_VAL_THICK},
223       {"text-top", CSS_VAL_TEXT_TOP},
224       {"stretch", CSS_VAL_STRETCH},
225       {"blink", CSS_VAL_BLINK},
226       {"table-column", CSS_VAL_TABLE_COLUMN},
227       {"decimal", CSS_VAL_DECIMAL},
228       {"super", CSS_VAL_SUPER},
229       {"close-quote", CSS_VAL_CLOSE_QUOTE},
230       {"infotext", CSS_VAL_INFOTEXT},
231       {"sans-serif", CSS_VAL_SANS_SERIF},
232       {"purple", CSS_VAL_PURPLE},
233       {"smaller", CSS_VAL_SMALLER},
234       {"dotted", CSS_VAL_DOTTED},
235       {"captiontext", CSS_VAL_CAPTIONTEXT},
236       {"scrollbar", CSS_VAL_SCROLLBAR},
237       {"inactivecaption", CSS_VAL_INACTIVECAPTION},
238       {"inline-table", CSS_VAL_INLINE_TABLE},
239       {"vertical", CSS_VAL_VERTICAL},
240       {"pointer", CSS_VAL_POINTER},
241       {"silver", CSS_VAL_SILVER},
242       {"single", CSS_VAL_SINGLE},
243       {"portrait", CSS_VAL_PORTRAIT},
244       {"gray", CSS_VAL_GRAY},
245       {"red", CSS_VAL_RED},
246       {"buttontext", CSS_VAL_BUTTONTEXT},
247       {"inherit", CSS_VAL_INHERIT},
248       {"inline-axis", CSS_VAL_INLINE_AXIS},
249       {"xx-small", CSS_VAL_XX_SMALL},
250       {"open-quote", CSS_VAL_OPEN_QUOTE},
251       {"down", CSS_VAL_DOWN},
252       {"dashed", CSS_VAL_DASHED},
253       {"yellow", CSS_VAL_YELLOW},
254       {"invert", CSS_VAL_INVERT},
255       {"fixed", CSS_VAL_FIXED},
256       {"overlay", CSS_VAL_OVERLAY},
257       {"below", CSS_VAL_BELOW},
258       {"horizontal", CSS_VAL_HORIZONTAL},
259       {"no-close-quote", CSS_VAL_NO_CLOSE_QUOTE},
260       {"cursive", CSS_VAL_CURSIVE},
261       {"crosshair", CSS_VAL_CROSSHAIR},
262       {"min-intrinsic", CSS_VAL_MIN_INTRINSIC},
263       {"white", CSS_VAL_WHITE},
264       {"upper-latin", CSS_VAL_UPPER_LATIN},
265       {"repeat", CSS_VAL_REPEAT},
266       {"alternate", CSS_VAL_ALTERNATE},
267       {"center", CSS_VAL_CENTER},
268       {"separate", CSS_VAL_SEPARATE},
269       {"right", CSS_VAL_RIGHT},
270       {"armenian", CSS_VAL_ARMENIAN},
271       {"hidden", CSS_VAL_HIDDEN},
272       {"bolder", CSS_VAL_BOLDER},
273       {"text-bottom", CSS_VAL_TEXT_BOTTOM},
274       {"middle", CSS_VAL_MIDDLE},
275       {"upper-alpha", CSS_VAL_UPPER_ALPHA},
276       {"repeat-y", CSS_VAL_REPEAT_Y},
277       {"hiragana", CSS_VAL_HIRAGANA},
278       {"medium", CSS_VAL_MEDIUM},
279       {"no-open-quote", CSS_VAL_NO_OPEN_QUOTE},
280       {"nowrap", CSS_VAL_NOWRAP},
281       {"embed", CSS_VAL_EMBED},
282       {"-khtml-auto", CSS_VAL__KHTML_AUTO},
283       {"read-only", CSS_VAL_READ_ONLY},
284       {"element", CSS_VAL_ELEMENT},
285       {"large", CSS_VAL_LARGE},
286       {"no-repeat", CSS_VAL_NO_REPEAT},
287       {"uppercase", CSS_VAL_UPPERCASE},
288       {"relative", CSS_VAL_RELATIVE},
289       {"block-axis", CSS_VAL_BLOCK_AXIS},
290       {"grey", CSS_VAL_GREY},
291       {"transparent", CSS_VAL_TRANSPARENT},
292       {"marquee", CSS_VAL_MARQUEE},
293       {"lower", CSS_VAL_LOWER},
294       {"s-resize", CSS_VAL_S_RESIZE},
295       {"-khtml-left", CSS_VAL__KHTML_LEFT},
296       {"orange", CSS_VAL_ORANGE},
297       {"inline-block", CSS_VAL_INLINE_BLOCK},
298       {"menutext", CSS_VAL_MENUTEXT},
299       {"katakana", CSS_VAL_KATAKANA},
300       {"buttonshadow", CSS_VAL_BUTTONSHADOW},
301       {"overline", CSS_VAL_OVERLINE},
302       {"lighter", CSS_VAL_LIGHTER},
303       {"condensed", CSS_VAL_CONDENSED},
304       {"n-resize", CSS_VAL_N_RESIZE},
305       {"table-row", CSS_VAL_TABLE_ROW},
306       {"repeat-x", CSS_VAL_REPEAT_X},
307       {"lower-latin", CSS_VAL_LOWER_LATIN},
308       {"higher", CSS_VAL_HIGHER},
309       {"-khtml-body", CSS_VAL__KHTML_BODY},
310       {"highlight", CSS_VAL_HIGHLIGHT},
311       {"ridge", CSS_VAL_RIDGE},
312       {"-khtml-box", CSS_VAL__KHTML_BOX},
313       {"groove", CSS_VAL_GROOVE},
314       {"underline", CSS_VAL_UNDERLINE},
315       {"lower-alpha", CSS_VAL_LOWER_ALPHA},
316       {"green", CSS_VAL_GREEN},
317       {"larger", CSS_VAL_LARGER},
318       {"wider", CSS_VAL_WIDER},
319       {"x-large", CSS_VAL_X_LARGE},
320       {"inactivecaptiontext", CSS_VAL_INACTIVECAPTIONTEXT},
321       {"e-resize", CSS_VAL_E_RESIZE},
322       {"window", CSS_VAL_WINDOW},
323       {"graytext", CSS_VAL_GRAYTEXT},
324       {"se-resize", CSS_VAL_SE_RESIZE},
325       {"lowercase", CSS_VAL_LOWERCASE},
326       {"expanded", CSS_VAL_EXPANDED},
327       {"upper-roman", CSS_VAL_UPPER_ROMAN},
328       {"-khtml-text", CSS_VAL__KHTML_TEXT},
329       {"ne-resize", CSS_VAL_NE_RESIZE},
330       {"threedface", CSS_VAL_THREEDFACE},
331       {"forwards", CSS_VAL_FORWARDS},
332       {"line-through", CSS_VAL_LINE_THROUGH},
333       {"hebrew", CSS_VAL_HEBREW},
334       {"-khtml-link", CSS_VAL__KHTML_LINK},
335       {"hiragana-iroha", CSS_VAL_HIRAGANA_IROHA},
336       {"buttonhighlight", CSS_VAL_BUTTONHIGHLIGHT},
337       {"ultra-condensed", CSS_VAL_ULTRA_CONDENSED},
338       {"reverse", CSS_VAL_REVERSE},
339       {"message-box", CSS_VAL_MESSAGE_BOX},
340       {"w-resize", CSS_VAL_W_RESIZE},
341       {"georgian", CSS_VAL_GEORGIAN},
342       {"sw-resize", CSS_VAL_SW_RESIZE},
343       {"xx-large", CSS_VAL_XX_LARGE},
344       {"nw-resize", CSS_VAL_NW_RESIZE},
345       {"backwards", CSS_VAL_BACKWARDS},
346       {"semi-condensed", CSS_VAL_SEMI_CONDENSED},
347       {"table-column-group", CSS_VAL_TABLE_COLUMN_GROUP},
348       {"katakana-iroha", CSS_VAL_KATAKANA_IROHA},
349       {"activeborder", CSS_VAL_ACTIVEBORDER},
350       {"-khtml-center", CSS_VAL__KHTML_CENTER},
351       {"lower-roman", CSS_VAL_LOWER_ROMAN},
352       {"-khtml-inline-box", CSS_VAL__KHTML_INLINE_BOX},
353       {"-khtml-right", CSS_VAL__KHTML_RIGHT},
354       {"background", CSS_VAL_BACKGROUND},
355       {"ultra-expanded", CSS_VAL_ULTRA_EXPANDED},
356       {"inactiveborder", CSS_VAL_INACTIVEBORDER},
357       {"narrower", CSS_VAL_NARROWER},
358       {"highlighttext", CSS_VAL_HIGHLIGHTTEXT},
359       {"appworkspace", CSS_VAL_APPWORKSPACE},
360       {"-khtml-nowrap", CSS_VAL__KHTML_NOWRAP},
361       {"semi-expanded", CSS_VAL_SEMI_EXPANDED},
362       {"windowtext", CSS_VAL_WINDOWTEXT},
363       {"read-write", CSS_VAL_READ_WRITE},
364       {"infobackground", CSS_VAL_INFOBACKGROUND},
365       {"-khtml-activelink", CSS_VAL__KHTML_ACTIVELINK},
366       {"table-footer-group", CSS_VAL_TABLE_FOOTER_GROUP},
367       {"bidi-override", CSS_VAL_BIDI_OVERRIDE},
368       {"threedshadow", CSS_VAL_THREEDSHADOW},
369       {"extra-condensed", CSS_VAL_EXTRA_CONDENSED},
370       {"cjk-ideographic", CSS_VAL_CJK_IDEOGRAPHIC},
371       {"windowframe", CSS_VAL_WINDOWFRAME},
372       {"table-row-group", CSS_VAL_TABLE_ROW_GROUP},
373       {"extra-expanded", CSS_VAL_EXTRA_EXPANDED},
374       {"threedhighlight", CSS_VAL_THREEDHIGHLIGHT},
375       {"table-header-group", CSS_VAL_TABLE_HEADER_GROUP},
376       {"-khtml-baseline-middle", CSS_VAL__KHTML_BASELINE_MIDDLE},
377       {"decimal-leading-zero", CSS_VAL_DECIMAL_LEADING_ZERO},
378       {"threedlightshadow", CSS_VAL_THREEDLIGHTSHADOW},
379       {"-khtml-xxx-large", CSS_VAL__KHTML_XXX_LARGE},
380       {"lower-greek", CSS_VAL_LOWER_GREEK},
381       {"threeddarkshadow", CSS_VAL_THREEDDARKSHADOW}
382     };
383
384   static const short lookup[] =
385     {
386          0,   -1,   -1,   -1,   -1,    1,   -1,   -1,
387         -1,   -1,    2,   -1,   -1,   -1,   -1,    3,
388         -1,   -1,   -1,   -1,    4,   -1,   -1,    5,
389         -1,    6,   -1,   -1,   -1,   -1,    7,   -1,
390         -1,   -1,   -1,    8,   -1,   -1,   -1,   -1,
391          9,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
392         10,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
393         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
394         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
395         -1,   11,   -1,   12,   -1,   -1,   -1,   -1,
396         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
397         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
398         -1,   -1,   -1,   -1,   -1,   -1,   -1,   13,
399         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
400         -1,   -1,   -1,   14,   -1,   -1,   15,   -1,
401         -1,   -1,   -1,   16,   -1,   -1,   -1,   -1,
402         -1,   -1,   -1,   -1,   -1,   17,   -1,   -1,
403         -1,   -1,   -1,   -1,   -1,   -1,   -1,   18,
404         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
405         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
406         19,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
407         -1,   -1,   -1,   -1,   -1,   20,   -1,   21,
408         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
409         -1,   22,   -1,   -1,   -1,   -1,   -1,   -1,
410         -1,   -1,   -1,   -1,   23,   -1,   -1,   -1,
411         -1,   -1,   -1,   24,   -1,   -1,   -1,   -1,
412         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
413         -1,   -1,   -1,   -1,   -1,   25,   -1,   -1,
414         -1,   26,   -1,   -1,   -1,   -1,   -1,   -1,
415         -1,   -1,   -1,   -1,   -1,   -1,   27,   -1,
416         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
417         -1,   -1,   -1,   -1,   -1,   28,   -1,   -1,
418         29,   -1,   -1,   30,   -1,   -1,   -1,   -1,
419         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
420         -1,   -1,   31,   -1,   -1,   -1,   -1,   -1,
421         -1,   -1,   -1,   32,   -1,   -1,   -1,   -1,
422         -1,   -1, -552, -227,   -2,   -1,   -1,   -1,
423         -1,   -1,   -1,   -1,   35,   -1,   -1,   -1,
424         -1,   -1,   36,   -1,   -1,   -1,   -1,   -1,
425         -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,
426         -1,   -1,   -1,   38,   -1,   39,   40,   -1,
427         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
428         -1,   -1,   -1,   -1,   -1,   41,   -1,   -1,
429         -1,   -1,   -1,   -1,   42,   -1,   43,   -1,
430         -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,
431         -1,   45,   -1,   46,   -1,   -1,   -1,   -1,
432         -1,   -1,   -1,   -1,   -1,   47,   -1,   -1,
433         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
434         -1,   48,   49,   -1,   -1,   -1,   -1,   -1,
435         -1,   -1,   -1,   -1,   50,   -1,   -1,   -1,
436         -1,   -1,   -1,   -1,   -1,   51,   -1,   -1,
437         52,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
438         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
439         -1,   53,   -1,   -1,   -1,   -1,   -1,   -1,
440         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
441         -1,   -1,   -1,   54,   -1,   -1,   -1,   -1,
442         55,   56,   -1,   -1,   -1,   57,   -1,   -1,
443         -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,
444         -1,   -1,   -1,   -1,   59,   60,   61,   -1,
445         -1,   -1,   -1,   -1,   -1,   -1,   62,   -1,
446         -1,   63,   -1,   -1,   -1,   64,   65,   -1,
447         66,   -1,   67,   68,   -1,   -1,   69,   70,
448         -1,   -1,   -1,   -1,   -1,   -1,   -1,   71,
449         -1,   -1,   -1,   -1,   -1,   -1,   72,   -1,
450         -1,   -1,   73,   74,   75,   -1,   76,   -1,
451         -1,   -1,   -1,   -1,   -1,   -1,   77,   -1,
452         -1,   -1,   -1,   78,   -1,   -1,   -1,   -1,
453         -1,   -1,   -1,   -1,   -1,   79,   -1,   80,
454         -1,   -1,   81,   -1,   -1,   -1,   -1,   -1,
455         -1,   -1,   -1,   -1,   82,   83,   -1,   -1,
456         84,   -1,   -1,   -1,   -1,   -1,   85,   -1,
457         86,   -1,   -1,   87,   -1,   88,   -1,   -1,
458         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
459         -1,   -1,   -1,   -1,   -1,   -1,   89,   90,
460         -1,   91,   -1,   -1,   92,   -1,   -1,   -1,
461         93,   -1,   -1,   94,   -1,   -1,   -1,   -1,
462         95,   96,   97,   98,   99,  100,   -1,   -1,
463         -1,   -1,   -1,   -1,   -1,  101,   -1,  102,
464         -1,   -1,   -1,   -1,  103,   -1,   -1,   -1,
465         -1,   -1,   -1,   -1,  104,   -1,   -1,  105,
466         -1,   -1,   -1,  106,   -1,   -1,   -1,   -1,
467         -1,   -1,   -1,   -1,   -1,  107,   -1,   -1,
468        108,   -1,   -1,   -1,   -1,   -1,   -1,  109,
469         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
470         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
471         -1,   -1,   -1,   -1,   -1,   -1,  110,   -1,
472         -1,   -1,  111,   -1,   -1,   -1,   -1,   -1,
473         -1,  112,   -1,  113,   -1,  114,  115,  116,
474         -1,   -1,  117,   -1,  118,   -1,   -1,   -1,
475         -1,  119,   -1,  120,   -1,   -1,  121,   -1,
476         -1,   -1,   -1,   -1,   -1,  122,  123,   -1,
477         -1,   -1,   -1,  124,   -1,   -1,   -1,  125,
478         -1,   -1,   -1,   -1,   -1,   -1,   -1,  126,
479         -1,   -1,  127,   -1,  128,   -1,   -1,  129,
480        130,   -1,   -1,  131,   -1,   -1,  132,   -1,
481         -1,   -1,  133,  134,   -1,   -1,   -1,   -1,
482        135,   -1,  136,   -1,   -1,  137,   -1,   -1,
483         -1,   -1,   -1,   -1,   -1,  138,   -1,  139,
484         -1,   -1,   -1,   -1,  140,   -1,  141,  142,
485         -1,  143,   -1,  144,   -1,   -1,  145,   -1,
486         -1,   -1,   -1,  146,   -1,   -1,   -1,   -1,
487         -1,   -1,  147,   -1,   -1,   -1,   -1,   -1,
488         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
489         -1,  148,   -1,   -1,   -1,   -1,   -1,   -1,
490        149,   -1,  150,   -1,   -1,   -1,   -1,   -1,
491         -1,  151,   -1,   -1,   -1,   -1,   -1,  152,
492         -1,  153,   -1,   -1,   -1,  154,   -1,   -1,
493         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
494         -1,  155,  156,   -1,  157,   -1,   -1,   -1,
495         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
496         -1,   -1,   -1,  158,  159,  160,   -1,   -1,
497         -1,   -1,   -1,  161,   -1,   -1,   -1,  162,
498         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
499         -1,  163,   -1,   -1,   -1,   -1,   -1,   -1,
500         -1,  164,   -1,   -1,   -1,   -1,   -1,   -1,
501         -1,   -1,   -1,   -1,  165,   -1,   -1,   -1,
502        166,  167,   -1,   -1,   -1,   -1,   -1,   -1,
503         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
504         -1,   -1,   -1,   -1,   -1,   -1,  168,   -1,
505         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
506         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
507         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
508         -1,   -1,  169,   -1,  170,   -1,   -1,   -1,
509         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
510         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
511        171,   -1,   -1,   -1,   -1,  172,   -1,   -1,
512        173,   -1,  174,  175,   -1,  176,   -1,  177,
513         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
514         -1,   -1,   -1,   -1,   -1,  178,   -1,   -1,
515         -1,  179,   -1,  180,   -1,   -1,   -1,   -1,
516         -1,   -1,   -1,   -1,   -1,  181,   -1,   -1,
517         -1,   -1,  182,   -1,   -1,   -1,   -1,   -1,
518         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
519         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
520         -1,  183,   -1,   -1,   -1,   -1,   -1,   -1,
521         -1,   -1,   -1,   -1,   -1,   -1,  184,   -1,
522         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
523         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
524         -1,  185,   -1,   -1,   -1,   -1,   -1,   -1,
525         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
526         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
527         -1,   -1,  186,   -1,   -1,   -1,  187,  188,
528         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
529         -1,   -1,   -1,   -1,   -1,   -1,   -1,  189,
530         -1,   -1,   -1,   -1,  190,   -1,  191,   -1,
531         -1,  192,   -1,  193,   -1,   -1,   -1,   -1,
532         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
533         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
534         -1,  194,   -1,   -1,   -1,   -1,   -1,   -1,
535         -1,   -1,   -1,  195,  196,   -1,  197,   -1,
536         -1,   -1,   -1,   -1,   -1,  198,   -1,   -1,
537         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
538         -1,   -1,   -1,   -1,  199,  200,   -1,   -1,
539         -1,   -1,   -1,   -1,  201,   -1,  202,   -1,
540         -1,   -1,   -1,   -1,   -1,   -1,  203,   -1,
541         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
542         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
543         -1,   -1,  204,   -1,   -1,  205,   -1,   -1,
544         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
545         -1,  206,   -1,  207,   -1,   -1,   -1,   -1,
546         -1,   -1,   -1,   -1,   -1,   -1,   -1,  208,
547         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
548         -1,   -1,   -1,  209,   -1,   -1,   -1,   -1,
549         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
550         -1,   -1,   -1,  210,   -1,   -1,   -1,   -1,
551         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
552        211,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
553         -1,   -1,   -1,   -1,  212,   -1,   -1,   -1,
554         -1,   -1,   -1,   -1,   -1,   -1,  213,   -1,
555         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
556         -1,   -1,   -1,  214,   -1,   -1,   -1,   -1,
557         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
558         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
559         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
560         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
561         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
562         -1,   -1,   -1,   -1,   -1,   -1,   -1,  215,
563         -1,   -1,  216,   -1,   -1,   -1,   -1,   -1,
564         -1,   -1,  217,   -1,   -1,   -1,  218,   -1,
565         -1,   -1,   -1,  219,   -1,   -1,   -1,   -1,
566        220,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
567         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
568         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
569         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
570         -1,   -1,   -1,   -1,  221,   -1,   -1,   -1,
571         -1,   -1,   -1,   -1,   -1,  222,   -1,  223,
572         -1,   -1,   -1,   -1,   -1,   -1,   -1,  224,
573         -1,   -1,   -1,  225,  226,   -1,   -1,   -1,
574         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
575         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
576         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
577         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
578         -1,   -1,   -1,   -1,  227,   -1,   -1,   -1,
579         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
580         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
581         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
582        228,   -1,   -1,   -1,   -1,   -1,   -1,  229,
583        230,   -1,   -1,   -1,  231,   -1,   -1,   -1,
584         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
585         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
586         -1,   -1,  232,   -1,   -1,   -1,   -1,   -1,
587         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
588         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
589         -1,   -1,   -1,   -1,  233,   -1,  234,   -1,
590         -1,   -1,   -1,  235,   -1,   -1,  236,   -1,
591         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
592         -1,   -1,   -1,   -1,  237,  238,   -1,   -1,
593         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
594         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
595         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
596         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
597         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
598         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
599         -1,   -1,   -1,   -1,  239,   -1,   -1,   -1,
600         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
601         -1,   -1,   -1,   -1,  240,   -1,  241,   -1,
602         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
603         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
604         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
605         -1,   -1,   -1,  242,  243,   -1,   -1,   -1,
606         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
607         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
608         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
609         -1,   -1,   -1,   -1,   -1,  244,   -1,   -1,
610         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
611         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
612         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
613         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
614         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
615         -1,  245,   -1,   -1,   -1,   -1,   -1,   -1,
616         -1,   -1,   -1,   -1,   -1,   -1,   -1,  246,
617         -1,   -1,   -1,   -1,   -1,  247,   -1,   -1,
618         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
619         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
620         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
621         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
622         -1,   -1,  248,   -1,   -1,   -1,   -1,   -1,
623         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
624         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
625         -1,   -1,  249,   -1,   -1,   -1,   -1,   -1,
626         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
627         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
628        250,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
629         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
630         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
631         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
632         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
633         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
634         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
635         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
636         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
637         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
638         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
639         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
640         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
641         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
642         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
643         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
644         -1,   -1,  251,   -1,   -1,   -1,   -1,   -1,
645         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
646         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
647         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
648         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
649         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
650         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
651         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
652         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
653         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
654         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
655         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
656         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
657         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
658         -1,   -1,   -1,   -1,   -1,  252,   -1,   -1,
659         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
660         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
661         -1,   -1,   -1,   -1,   -1,   -1,   -1,  253,
662         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
663         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
664         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
665         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
666        254,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
667         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
668         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
669         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
670         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
671         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
672         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
673         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
674         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
675         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
676         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
677         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
678         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
679         -1,  255,   -1,   -1,   -1,   -1,   -1,   -1,
680         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
681         -1,   -1,   -1,   -1,   -1,   -1,   -1,  256,
682         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
683         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
684         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
685         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
686         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
687         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
688         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
689         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
690         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
691         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
692         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
693         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
694         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
695         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
696         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
697         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
698         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
699         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
700         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
701         -1,   -1,   -1,   -1,  257,   -1,   -1,   -1,
702         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
703         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
704         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
705         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
706         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
707         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
708         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
709         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
710         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
711         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
712         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
713         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
714         -1,  258,   -1,   -1,   -1,   -1,   -1,   -1,
715         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
716         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
717         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
718         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
719         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
720         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
721         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
722         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
723         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
724         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
725         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
726         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
727         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
728         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
729         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
730         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
731         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
732         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
733         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
734         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
735         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
736         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
737         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
738         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
739         -1,   -1,   -1,   -1,  259
740     };
741
742   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
743     {
744       register int key = hash_val (str, len);
745
746       if (key <= MAX_HASH_VALUE && key >= 0)
747         {
748           register int index = lookup[key];
749
750           if (index >= 0)
751             {
752               register const char *s = wordlist_value[index].name;
753
754               if (*str == *s && !strcmp (str + 1, s + 1))
755                 return &wordlist_value[index];
756             }
757           else if (index < -TOTAL_KEYWORDS)
758             {
759               register int offset = - 1 - TOTAL_KEYWORDS - index;
760               register const struct css_value *wordptr = &wordlist_value[TOTAL_KEYWORDS + lookup[offset]];
761               register const struct css_value *wordendptr = wordptr + -lookup[offset + 1];
762
763               while (wordptr < wordendptr)
764                 {
765                   register const char *s = wordptr->name;
766
767                   if (*str == *s && !strcmp (str + 1, s + 1))
768                     return wordptr;
769                   wordptr++;
770                 }
771             }
772         }
773     }
774   return 0;
775 }
776 static const char * const valueList[] = {
777 "",
778 "inherit", 
779 "initial", 
780 "none", 
781 "hidden", 
782 "inset", 
783 "groove", 
784 "ridge", 
785 "outset", 
786 "dotted", 
787 "dashed", 
788 "solid", 
789 "double", 
790 "caption", 
791 "icon", 
792 "menu", 
793 "message-box", 
794 "small-caption", 
795 "status-bar", 
796 "italic", 
797 "oblique", 
798 "small-caps", 
799 "normal", 
800 "bold", 
801 "bolder", 
802 "lighter", 
803 "100", 
804 "200", 
805 "300", 
806 "400", 
807 "500", 
808 "600", 
809 "700", 
810 "800", 
811 "900", 
812 "xx-small", 
813 "x-small", 
814 "small", 
815 "medium", 
816 "large", 
817 "x-large", 
818 "xx-large", 
819 "-khtml-xxx-large", 
820 "smaller", 
821 "larger", 
822 "wider", 
823 "narrower", 
824 "ultra-condensed", 
825 "extra-condensed", 
826 "condensed", 
827 "semi-condensed", 
828 "semi-expanded", 
829 "expanded", 
830 "extra-expanded", 
831 "ultra-expanded", 
832 "serif", 
833 "sans-serif", 
834 "cursive", 
835 "fantasy", 
836 "monospace", 
837 "-khtml-body", 
838 "aqua", 
839 "black", 
840 "blue", 
841 "fuchsia", 
842 "gray", 
843 "green", 
844 "lime", 
845 "maroon", 
846 "navy", 
847 "olive", 
848 "orange", 
849 "purple", 
850 "red", 
851 "silver", 
852 "teal", 
853 "white", 
854 "yellow", 
855 "transparent", 
856 "-khtml-link", 
857 "-khtml-activelink", 
858 "activeborder", 
859 "activecaption", 
860 "appworkspace", 
861 "background", 
862 "buttonface", 
863 "buttonhighlight", 
864 "buttonshadow", 
865 "buttontext", 
866 "captiontext", 
867 "graytext", 
868 "highlight", 
869 "highlighttext", 
870 "inactiveborder", 
871 "inactivecaption", 
872 "inactivecaptiontext", 
873 "infobackground", 
874 "infotext", 
875 "menutext", 
876 "scrollbar", 
877 "threeddarkshadow", 
878 "threedface", 
879 "threedhighlight", 
880 "threedlightshadow", 
881 "threedshadow", 
882 "window", 
883 "windowframe", 
884 "windowtext", 
885 "grey", 
886 "-khtml-text", 
887 "repeat", 
888 "repeat-x", 
889 "repeat-y", 
890 "no-repeat", 
891 "baseline", 
892 "middle", 
893 "sub", 
894 "super", 
895 "text-top", 
896 "text-bottom", 
897 "top", 
898 "bottom", 
899 "-khtml-baseline-middle", 
900 "-khtml-auto", 
901 "left", 
902 "right", 
903 "center", 
904 "justify", 
905 "-khtml-left", 
906 "-khtml-right", 
907 "-khtml-center", 
908 "outside", 
909 "inside", 
910 "disc", 
911 "circle", 
912 "square", 
913 "decimal", 
914 "decimal-leading-zero", 
915 "lower-roman", 
916 "upper-roman", 
917 "lower-greek", 
918 "lower-alpha", 
919 "lower-latin", 
920 "upper-alpha", 
921 "upper-latin", 
922 "hebrew", 
923 "armenian", 
924 "georgian", 
925 "cjk-ideographic", 
926 "hiragana", 
927 "katakana", 
928 "hiragana-iroha", 
929 "katakana-iroha", 
930 "inline", 
931 "block", 
932 "list-item", 
933 "run-in", 
934 "compact", 
935 "inline-block", 
936 "table", 
937 "inline-table", 
938 "table-row-group", 
939 "table-header-group", 
940 "table-footer-group", 
941 "table-row", 
942 "table-column-group", 
943 "table-column", 
944 "table-cell", 
945 "table-caption", 
946 "-khtml-box", 
947 "-khtml-inline-box", 
948 "auto", 
949 "crosshair", 
950 "default", 
951 "pointer", 
952 "move", 
953 "e-resize", 
954 "ne-resize", 
955 "nw-resize", 
956 "n-resize", 
957 "se-resize", 
958 "sw-resize", 
959 "s-resize", 
960 "w-resize", 
961 "text", 
962 "wait", 
963 "help", 
964 "ltr", 
965 "rtl", 
966 "capitalize", 
967 "uppercase", 
968 "lowercase", 
969 "visible", 
970 "collapse", 
971 "above", 
972 "absolute", 
973 "always", 
974 "avoid", 
975 "below", 
976 "bidi-override", 
977 "blink", 
978 "both", 
979 "close-quote", 
980 "crop", 
981 "cross", 
982 "embed", 
983 "fixed", 
984 "hand", 
985 "hide", 
986 "higher", 
987 "invert", 
988 "landscape", 
989 "level", 
990 "line-through", 
991 "loud", 
992 "lower", 
993 "marquee", 
994 "mix", 
995 "no-close-quote", 
996 "no-open-quote", 
997 "nowrap", 
998 "open-quote", 
999 "overlay", 
1000 "overline", 
1001 "portrait", 
1002 "pre", 
1003 "relative", 
1004 "scroll", 
1005 "separate", 
1006 "show", 
1007 "static", 
1008 "thick", 
1009 "thin", 
1010 "underline", 
1011 "-khtml-nowrap", 
1012 "stretch", 
1013 "start", 
1014 "end", 
1015 "reverse", 
1016 "horizontal", 
1017 "vertical", 
1018 "inline-axis", 
1019 "block-axis", 
1020 "single", 
1021 "multiple", 
1022 "forwards", 
1023 "backwards", 
1024 "ahead", 
1025 "up", 
1026 "down", 
1027 "slow", 
1028 "fast", 
1029 "infinite", 
1030 "slide", 
1031 "alternate", 
1032 "unfurl", 
1033 "read-only", 
1034 "read-write", 
1035 "element", 
1036 "intrinsic", 
1037 "min-intrinsic", 
1038     0
1039 };
1040 DOMString getValueName(unsigned short id)
1041 {
1042     if(id >= CSS_VAL_TOTAL || id == 0)
1043       return DOMString();
1044     else
1045       return DOMString(valueList[id]);
1046 };
1047