Fix for 3678031, implement better flexing for Emerson headers. This involved adding...
[WebKit-https.git] / WebCore / khtml / css / cssproperties.c
1 /* ANSI-C code produced by gperf version 2.7.2 */
2 /* Command-line: gperf -a -L ANSI-C -E -C -c -o -t -k '*' -NfindProp -Hhash_prop -Wwordlist_prop -D -s 2 cssproperties.gperf  */
3 /* This file is automatically generated from cssproperties.in by makeprop, do not edit */
4 /* Copyright 1999 W. Bastian */
5 #include "cssproperties.h"
6 struct props {
7     const char *name;
8     int id;
9 };
10 /* maximum key range = 1432, duplicates = 0 */
11
12 #ifdef __GNUC__
13 __inline
14 #else
15 #ifdef __cplusplus
16 inline
17 #endif
18 #endif
19 static unsigned int
20 hash_prop (register const char *str, register unsigned int len)
21 {
22   static const unsigned short asso_values[] =
23     {
24       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
25       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
26       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
27       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
28       1437, 1437, 1437, 1437, 1437,    0, 1437, 1437, 1437, 1437,
29       1437,    0, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
30       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
31       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
32       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
33       1437, 1437, 1437, 1437, 1437, 1437, 1437,   15,   10,    0,
34          0,    0,   15,  170,    0,    0,    0,   10,    0,   85,
35        390,    0,   60,   25,    0,   65,    0,   10,   10,  205,
36         80,  295,   10, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
37       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
38       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
39       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
40       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
41       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
42       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
43       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
44       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
45       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
46       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
47       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
48       1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
49       1437, 1437, 1437, 1437, 1437, 1437
50     };
51   register int hval = len;
52
53   switch (hval)
54     {
55       default:
56       case 32:
57         hval += asso_values[(unsigned char)str[31]];
58       case 31:
59         hval += asso_values[(unsigned char)str[30]];
60       case 30:
61         hval += asso_values[(unsigned char)str[29]];
62       case 29:
63         hval += asso_values[(unsigned char)str[28]];
64       case 28:
65         hval += asso_values[(unsigned char)str[27]];
66       case 27:
67         hval += asso_values[(unsigned char)str[26]];
68       case 26:
69         hval += asso_values[(unsigned char)str[25]];
70       case 25:
71         hval += asso_values[(unsigned char)str[24]];
72       case 24:
73         hval += asso_values[(unsigned char)str[23]];
74       case 23:
75         hval += asso_values[(unsigned char)str[22]];
76       case 22:
77         hval += asso_values[(unsigned char)str[21]];
78       case 21:
79         hval += asso_values[(unsigned char)str[20]];
80       case 20:
81         hval += asso_values[(unsigned char)str[19]];
82       case 19:
83         hval += asso_values[(unsigned char)str[18]];
84       case 18:
85         hval += asso_values[(unsigned char)str[17]];
86       case 17:
87         hval += asso_values[(unsigned char)str[16]];
88       case 16:
89         hval += asso_values[(unsigned char)str[15]];
90       case 15:
91         hval += asso_values[(unsigned char)str[14]];
92       case 14:
93         hval += asso_values[(unsigned char)str[13]];
94       case 13:
95         hval += asso_values[(unsigned char)str[12]];
96       case 12:
97         hval += asso_values[(unsigned char)str[11]];
98       case 11:
99         hval += asso_values[(unsigned char)str[10]];
100       case 10:
101         hval += asso_values[(unsigned char)str[9]];
102       case 9:
103         hval += asso_values[(unsigned char)str[8]];
104       case 8:
105         hval += asso_values[(unsigned char)str[7]];
106       case 7:
107         hval += asso_values[(unsigned char)str[6]];
108       case 6:
109         hval += asso_values[(unsigned char)str[5]];
110       case 5:
111         hval += asso_values[(unsigned char)str[4]];
112       case 4:
113         hval += asso_values[(unsigned char)str[3]];
114       case 3:
115         hval += asso_values[(unsigned char)str[2]];
116       case 2:
117         hval += asso_values[(unsigned char)str[1]];
118       case 1:
119         hval += asso_values[(unsigned char)str[0]];
120         break;
121     }
122   return hval;
123 }
124
125 #ifdef __GNUC__
126 __inline
127 #endif
128 const struct props *
129 findProp (register const char *str, register unsigned int len)
130 {
131   enum
132     {
133       TOTAL_KEYWORDS = 134,
134       MIN_WORD_LENGTH = 3,
135       MAX_WORD_LENGTH = 32,
136       MIN_HASH_VALUE = 5,
137       MAX_HASH_VALUE = 1436
138     };
139
140   static const struct props wordlist_prop[] =
141     {
142       {"color", CSS_PROP_COLOR},
143       {"border", CSS_PROP_BORDER},
144       {"left", CSS_PROP_LEFT},
145       {"clear", CSS_PROP_CLEAR},
146       {"border-color", CSS_PROP_BORDER_COLOR},
147       {"float", CSS_PROP_FLOAT},
148       {"border-left", CSS_PROP_BORDER_LEFT},
149       {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR},
150       {"top", CSS_PROP_TOP},
151       {"clip", CSS_PROP_CLIP},
152       {"size", CSS_PROP_SIZE},
153       {"border-top", CSS_PROP_BORDER_TOP},
154       {"cursor", CSS_PROP_CURSOR},
155       {"border-top-color", CSS_PROP_BORDER_TOP_COLOR},
156       {"bottom", CSS_PROP_BOTTOM},
157       {"quotes", CSS_PROP_QUOTES},
158       {"border-bottom", CSS_PROP_BORDER_BOTTOM},
159       {"border-bottom-color", CSS_PROP_BORDER_BOTTOM_COLOR},
160       {"scrollbar-track-color", CSS_PROP_SCROLLBAR_TRACK_COLOR},
161       {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
162       {"border-collapse", CSS_PROP_BORDER_COLLAPSE},
163       {"right", CSS_PROP_RIGHT},
164       {"height", CSS_PROP_HEIGHT},
165       {"border-right", CSS_PROP_BORDER_RIGHT},
166       {"border-right-color", CSS_PROP_BORDER_RIGHT_COLOR},
167       {"width", CSS_PROP_WIDTH},
168       {"border-width", CSS_PROP_BORDER_WIDTH},
169       {"overflow", CSS_PROP_OVERFLOW},
170       {"-khtml-marquee", CSS_PROP__KHTML_MARQUEE},
171       {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
172       {"page", CSS_PROP_PAGE},
173       {"-khtml-user-select", CSS_PROP__KHTML_USER_SELECT},
174       {"scrollbar-3dlight-color", CSS_PROP_SCROLLBAR_3DLIGHT_COLOR},
175       {"-khtml-box-pack", CSS_PROP__KHTML_BOX_PACK},
176       {"border-top-width", CSS_PROP_BORDER_TOP_WIDTH},
177       {"-khtml-box-flex", CSS_PROP__KHTML_BOX_FLEX},
178       {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
179       {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
180       {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
181       {"scrollbar-arrow-color", CSS_PROP_SCROLLBAR_ARROW_COLOR},
182       {"white-space", CSS_PROP_WHITE_SPACE},
183       {"table-layout", CSS_PROP_TABLE_LAYOUT},
184       {"max-height", CSS_PROP_MAX_HEIGHT},
185       {"-khtml-user-drag", CSS_PROP__KHTML_USER_DRAG},
186       {"-khtml-marquee-speed", CSS_PROP__KHTML_MARQUEE_SPEED},
187       {"text-shadow", CSS_PROP_TEXT_SHADOW},
188       {"opacity", CSS_PROP_OPACITY},
189       {"border-style", CSS_PROP_BORDER_STYLE},
190       {"visibility", CSS_PROP_VISIBILITY},
191       {"max-width", CSS_PROP_MAX_WIDTH},
192       {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
193       {"direction", CSS_PROP_DIRECTION},
194       {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
195       {"border-right-width", CSS_PROP_BORDER_RIGHT_WIDTH},
196       {"outline", CSS_PROP_OUTLINE},
197       {"font", CSS_PROP_FONT},
198       {"outline-color", CSS_PROP_OUTLINE_COLOR},
199       {"-khtml-flow-mode", CSS_PROP__KHTML_FLOW_MODE},
200       {"unicode-bidi", CSS_PROP_UNICODE_BIDI},
201       {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
202       {"list-style", CSS_PROP_LIST_STYLE},
203       {"display", CSS_PROP_DISPLAY},
204       {"border-top-style", CSS_PROP_BORDER_TOP_STYLE},
205       {"scrollbar-highlight-color", CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR},
206       {"counter-reset", CSS_PROP_COUNTER_RESET},
207       {"widows", CSS_PROP_WIDOWS},
208       {"font-stretch", CSS_PROP_FONT_STRETCH},
209       {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE},
210       {"z-index", CSS_PROP_Z_INDEX},
211       {"font-size", CSS_PROP_FONT_SIZE},
212       {"text-decoration", CSS_PROP_TEXT_DECORATION},
213       {"text-decoration-color", CSS_PROP_TEXT_DECORATION_COLOR},
214       {"outline-offset", CSS_PROP_OUTLINE_OFFSET},
215       {"empty-cells", CSS_PROP_EMPTY_CELLS},
216       {"position", CSS_PROP_POSITION},
217       {"orphans", CSS_PROP_ORPHANS},
218       {"-khtml-box-flex-group", CSS_PROP__KHTML_BOX_FLEX_GROUP},
219       {"caption-side", CSS_PROP_CAPTION_SIDE},
220       {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE},
221       {"line-height", CSS_PROP_LINE_HEIGHT},
222       {"-khtml-user-modify", CSS_PROP__KHTML_USER_MODIFY},
223       {"font-size-adjust", CSS_PROP_FONT_SIZE_ADJUST},
224       {"-khtml-box-orient", CSS_PROP__KHTML_BOX_ORIENT},
225       {"-khtml-box-direction", CSS_PROP__KHTML_BOX_DIRECTION},
226       {"-khtml-marquee-style", CSS_PROP__KHTML_MARQUEE_STYLE},
227       {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
228       {"background", CSS_PROP_BACKGROUND},
229       {"outline-width", CSS_PROP_OUTLINE_WIDTH},
230       {"background-color", CSS_PROP_BACKGROUND_COLOR},
231       {"padding", CSS_PROP_PADDING},
232       {"-khtml-marquee-direction", CSS_PROP__KHTML_MARQUEE_DIRECTION},
233       {"min-height", CSS_PROP_MIN_HEIGHT},
234       {"-khtml-box-lines", CSS_PROP__KHTML_BOX_LINES},
235       {"padding-left", CSS_PROP_PADDING_LEFT},
236       {"text-transform", CSS_PROP_TEXT_TRANSFORM},
237       {"text-align", CSS_PROP_TEXT_ALIGN},
238       {"margin", CSS_PROP_MARGIN},
239       {"margin-left", CSS_PROP_MARGIN_LEFT},
240       {"min-width", CSS_PROP_MIN_WIDTH},
241       {"background-repeat", CSS_PROP_BACKGROUND_REPEAT},
242       {"-apple-line-clamp", CSS_PROP__APPLE_LINE_CLAMP},
243       {"-khtml-marquee-repetition", CSS_PROP__KHTML_MARQUEE_REPETITION},
244       {"padding-top", CSS_PROP_PADDING_TOP},
245       {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
246       {"letter-spacing", CSS_PROP_LETTER_SPACING},
247       {"border-spacing", CSS_PROP_BORDER_SPACING},
248       {"margin-top", CSS_PROP_MARGIN_TOP},
249       {"padding-bottom", CSS_PROP_PADDING_BOTTOM},
250       {"page-break-inside", CSS_PROP_PAGE_BREAK_INSIDE},
251       {"margin-bottom", CSS_PROP_MARGIN_BOTTOM},
252       {"outline-style", CSS_PROP_OUTLINE_STYLE},
253       {"font-style", CSS_PROP_FONT_STYLE},
254       {"-khtml-box-align", CSS_PROP__KHTML_BOX_ALIGN},
255       {"content", CSS_PROP_CONTENT},
256       {"font-weight", CSS_PROP_FONT_WEIGHT},
257       {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
258       {"padding-right", CSS_PROP_PADDING_RIGHT},
259       {"font-family", CSS_PROP_FONT_FAMILY},
260       {"margin-right", CSS_PROP_MARGIN_RIGHT},
261       {"font-variant", CSS_PROP_FONT_VARIANT},
262       {"-khtml-box-ordinal-group", CSS_PROP__KHTML_BOX_ORDINAL_GROUP},
263       {"-khtml-border-vertical-spacing", CSS_PROP__KHTML_BORDER_VERTICAL_SPACING},
264       {"text-indent", CSS_PROP_TEXT_INDENT},
265       {"background-image", CSS_PROP_BACKGROUND_IMAGE},
266       {"word-spacing", CSS_PROP_WORD_SPACING},
267       {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
268       {"-khtml-binding", CSS_PROP__KHTML_BINDING},
269       {"-khtml-marquee-increment", CSS_PROP__KHTML_MARQUEE_INCREMENT},
270       {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT},
271       {"background-position", CSS_PROP_BACKGROUND_POSITION},
272       {"background-position-x", CSS_PROP_BACKGROUND_POSITION_X},
273       {"-khtml-border-horizontal-spacing", CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING},
274       {"counter-increment", CSS_PROP_COUNTER_INCREMENT},
275       {"background-position-y", CSS_PROP_BACKGROUND_POSITION_Y}
276     };
277
278   static const short lookup[] =
279     {
280        -1,  -1,  -1,  -1,  -1,   0,  -1,  -1,  -1,  -1,
281        -1,  -1,  -1,  -1,  -1,  -1,   1,  -1,  -1,   2,
282         3,  -1,   4,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
283        -1,  -1,  -1,  -1,  -1,   5,   6,  -1,  -1,  -1,
284        -1,  -1,   7,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
285        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
286        -1,  -1,  -1,   8,   9,  -1,  -1,  -1,  -1,  -1,
287        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  10,
288        11,  12,  -1,  -1,  -1,  -1,  13,  -1,  -1,  -1,
289        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
290        -1,  14,  -1,  -1,  -1,  -1,  15,  -1,  -1,  -1,
291        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  16,  -1,
292        -1,  -1,  -1,  -1,  17,  -1,  -1,  -1,  -1,  -1,
293        -1,  -1,  -1,  -1,  -1,  -1,  18,  -1,  -1,  -1,
294        19,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
295        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
296        -1,  -1,  -1,  -1,  -1,  20,  -1,  -1,  -1,  -1,
297        -1,  -1,  -1,  -1,  -1,  21,  22,  -1,  -1,  -1,
298        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
299        -1,  -1,  23,  -1,  -1,  -1,  -1,  -1,  24,  -1,
300        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
301        25,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
302        -1,  -1,  -1,  -1,  -1,  -1,  -1,  26,  -1,  -1,
303        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  27,  -1,
304        -1,  -1,  -1,  -1,  28,  -1,  -1,  29,  -1,  30,
305        -1,  -1,  -1,  31,  -1,  -1,  -1,  -1,  -1,  -1,
306        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
307        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
308        -1,  -1,  -1,  32,  -1,  33,  -1,  -1,  -1,  -1,
309        -1,  34,  -1,  -1,  -1,  35,  -1,  -1,  -1,  -1,
310        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
311        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
312        -1,  -1,  36,  -1,  -1,  -1,  37,  -1,  -1,  38,
313        -1,  39,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
314        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
315        -1,  -1,  -1,  -1,  -1,  -1,  40,  41,  -1,  -1,
316        42,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
317        -1,  43,  -1,  -1,  -1,  44,  45,  46,  -1,  -1,
318        -1,  -1,  47,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
319        48,  -1,  -1,  -1,  49,  -1,  -1,  50,  -1,  51,
320        -1,  -1,  52,  53,  -1,  -1,  -1,  54,  -1,  55,
321        -1,  -1,  -1,  56,  -1,  -1,  57,  -1,  -1,  -1,
322        -1,  -1,  58,  -1,  -1,  -1,  59,  -1,  -1,  -1,
323        -1,  -1,  -1,  -1,  -1,  60,  -1,  -1,  -1,  -1,
324        -1,  -1,  61,  -1,  -1,  -1,  62,  -1,  -1,  -1,
325        -1,  -1,  -1,  -1,  -1,  63,  -1,  -1,  -1,  -1,
326        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
327        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  64,  -1,
328        -1,  65,  66,  -1,  67,  -1,  -1,  68,  -1,  69,
329        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
330        70,  -1,  -1,  -1,  -1,  -1,  71,  -1,  -1,  72,
331        -1,  -1,  -1,  -1,  -1,  -1,  73,  -1,  -1,  -1,
332        -1,  -1,  -1,  74,  -1,  -1,  -1,  -1,  -1,  -1,
333        -1,  -1,  -1,  -1,  -1,  -1,  -1,  75,  -1,  -1,
334        -1,  76,  77,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
335        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  78,  -1,
336        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
337        -1,  79,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
338        -1,  -1,  -1,  80,  -1,  -1,  81,  -1,  -1,  -1,
339        -1,  -1,  82,  -1,  -1,  83,  -1,  -1,  -1,  -1,
340        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
341        84,  -1,  -1,  -1,  85,  86,  -1,  -1,  87,  -1,
342        -1,  88,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
343        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
344        -1,  -1,  89,  -1,  90,  -1,  -1,  -1,  -1,  -1,
345        -1,  -1,  -1,  -1,  -1,  91,  92,  -1,  -1,  -1,
346        -1,  -1,  93,  -1,  94,  95,  96,  -1,  -1,  -1,
347        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
348        -1,  -1,  -1,  -1,  -1,  -1,  97,  -1,  -1,  98,
349        -1,  -1,  -1,  -1,  -1,  -1,  -1,  99,  -1,  -1,
350        -1,  -1, 100,  -1,  -1, 101, 102,  -1,  -1,  -1,
351        -1, 103,  -1,  -1, 104,  -1,  -1,  -1,  -1,  -1,
352        -1,  -1,  -1,  -1, 105,  -1,  -1,  -1,  -1,  -1,
353       106,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
354        -1,  -1,  -1,  -1, 107,  -1,  -1,  -1,  -1,  -1,
355        -1,  -1, 108,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
356        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 109,  -1,
357        -1,  -1,  -1, 110,  -1, 111, 112,  -1,  -1,  -1,
358        -1,  -1,  -1,  -1,  -1,  -1,  -1, 113,  -1,  -1,
359        -1, 114,  -1,  -1,  -1, 115,  -1,  -1,  -1,  -1,
360        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
361        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 116,  -1,
362        -1,  -1,  -1,  -1,  -1,  -1, 117,  -1,  -1,  -1,
363        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
364        -1,  -1, 118,  -1,  -1,  -1,  -1, 119,  -1,  -1,
365        -1,  -1,  -1,  -1, 120,  -1,  -1,  -1,  -1,  -1,
366       121,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
367        -1, 122,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
368        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
369        -1, 123,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
370        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
371        -1,  -1,  -1,  -1,  -1,  -1,  -1, 124,  -1,  -1,
372        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
373        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
374        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
375        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 125,
376        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
377        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
378        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
379        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
380        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
381        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
382        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
383        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
384        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
385        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
386        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 126,
387        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
388        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
389        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
390        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
391        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 127,
392        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
393        -1, 128,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 129,
394        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
395        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
396        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
397        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
398        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
399        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
400        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
401        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
402        -1, 130,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
403        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
404        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
405        -1,  -1, 131,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
406        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
407        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
408        -1,  -1, 132,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
409        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
410        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
411        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
412        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
413        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
414        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
415        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
416        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
417        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
418        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
419        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
420        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
421        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
422        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
423        -1,  -1,  -1,  -1,  -1,  -1, 133
424     };
425
426   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
427     {
428       register int key = hash_prop (str, len);
429
430       if (key <= MAX_HASH_VALUE && key >= 0)
431         {
432           register int index = lookup[key];
433
434           if (index >= 0)
435             {
436               register const char *s = wordlist_prop[index].name;
437
438               if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
439                 return &wordlist_prop[index];
440             }
441         }
442     }
443   return 0;
444 }
445 static const char * const propertyList[] = {
446 "",
447 "background-color", 
448 "background-image", 
449 "background-repeat", 
450 "background-attachment", 
451 "background-position", 
452 "background-position-x", 
453 "background-position-y", 
454 "-khtml-binding", 
455 "border-collapse", 
456 "border-spacing", 
457 "-khtml-border-horizontal-spacing", 
458 "-khtml-border-vertical-spacing", 
459 "border-top-color", 
460 "border-right-color", 
461 "border-bottom-color", 
462 "border-left-color", 
463 "border-top-style", 
464 "border-right-style", 
465 "border-bottom-style", 
466 "border-left-style", 
467 "border-top-width", 
468 "border-right-width", 
469 "border-bottom-width", 
470 "border-left-width", 
471 "bottom", 
472 "-khtml-box-align", 
473 "-khtml-box-direction", 
474 "-khtml-box-flex", 
475 "-khtml-box-flex-group", 
476 "-khtml-box-lines", 
477 "-khtml-box-ordinal-group", 
478 "-khtml-box-orient", 
479 "-khtml-box-pack", 
480 "caption-side", 
481 "clear", 
482 "clip", 
483 "color", 
484 "content", 
485 "counter-increment", 
486 "counter-reset", 
487 "cursor", 
488 "direction", 
489 "display", 
490 "empty-cells", 
491 "float", 
492 "font-family", 
493 "font-size", 
494 "font-size-adjust", 
495 "font-stretch", 
496 "font-style", 
497 "font-variant", 
498 "font-weight", 
499 "height", 
500 "left", 
501 "letter-spacing", 
502 "-apple-line-clamp", 
503 "line-height", 
504 "list-style-image", 
505 "list-style-position", 
506 "list-style-type", 
507 "margin-top", 
508 "margin-right", 
509 "margin-bottom", 
510 "margin-left", 
511 "-khtml-marquee", 
512 "-khtml-marquee-direction", 
513 "-khtml-marquee-increment", 
514 "-khtml-marquee-repetition", 
515 "-khtml-marquee-speed", 
516 "-khtml-marquee-style", 
517 "max-height", 
518 "max-width", 
519 "min-height", 
520 "min-width", 
521 "opacity", 
522 "orphans", 
523 "outline-color", 
524 "outline-offset", 
525 "outline-style", 
526 "outline-width", 
527 "overflow", 
528 "padding-top", 
529 "padding-right", 
530 "padding-bottom", 
531 "padding-left", 
532 "page", 
533 "page-break-after", 
534 "page-break-before", 
535 "page-break-inside", 
536 "position", 
537 "quotes", 
538 "right", 
539 "size", 
540 "table-layout", 
541 "text-align", 
542 "text-decoration", 
543 "text-decoration-color", 
544 "text-indent", 
545 "text-shadow", 
546 "text-transform", 
547 "top", 
548 "unicode-bidi", 
549 "-khtml-user-drag", 
550 "-khtml-user-modify", 
551 "-khtml-user-select", 
552 "vertical-align", 
553 "visibility", 
554 "white-space", 
555 "widows", 
556 "width", 
557 "word-spacing", 
558 "z-index", 
559 "background", 
560 "border", 
561 "border-color", 
562 "border-style", 
563 "border-top", 
564 "border-right", 
565 "border-bottom", 
566 "border-left", 
567 "border-width", 
568 "font", 
569 "list-style", 
570 "margin", 
571 "outline", 
572 "padding", 
573 "scrollbar-face-color", 
574 "scrollbar-shadow-color", 
575 "scrollbar-highlight-color", 
576 "scrollbar-3dlight-color", 
577 "scrollbar-darkshadow-color", 
578 "scrollbar-track-color", 
579 "scrollbar-arrow-color", 
580 "-khtml-flow-mode", 
581     0
582 };
583 DOMString getPropertyName(unsigned short id)
584 {
585     if(id >= CSS_PROP_TOTAL || id == 0)
586       return DOMString();
587     else
588       return DOMString(propertyList[id]);
589 };
590