webengine/osswebengine/DerivedSources/WebCore/CSSPropertyNames.c
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 07 Jan 2010 13:31:38 +0200
changeset 26 cb62a4f66ebe
parent 0 dd21522fd290
child 27 6297cdf66332
permissions -rw-r--r--
Revision: 200951 Kit: 201001

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: 
*
*/
/* ANSI-C code produced by gperf version 2.7.2 */
/* Command-line: gperf -a -L ANSI-C -E -C -c -o -t -k '*' -NfindProp -Hhash_prop -Wwordlist_prop -D -s 2 CSSPropertyNames.gperf  */
/* This file is automatically generated from CSSPropertyNames.in by makeprop, do not edit */
#include "CSSPropertyNames.h"
struct props {
    const char* name;
    int id;
};
/* maximum key range = 1712, duplicates = 0 */

#ifdef __GNUC__
__inline
#else
#ifdef __cplusplus
inline
#endif
#endif
static unsigned int
hash_prop (register const char *str, register unsigned int len)
{
  static const unsigned short asso_values[] =
    {
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715,    0, 1715, 1715, 1715, 1715,
      1715,    0, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715,   30,    0,    0,
       285,    0,  305,   50,  180,    0,    0,  340,    0,  180,
        75,    0,    0,   40,    0,   20,    0,   65,   10,    0,
       245,  315,    5, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
      1715, 1715, 1715, 1715, 1715, 1715
    };
  register int hval = len;

  switch (hval)
    {
      default:
      case 43:
        hval += asso_values[(unsigned char)str[42]];
      case 42:
        hval += asso_values[(unsigned char)str[41]];
      case 41:
        hval += asso_values[(unsigned char)str[40]];
      case 40:
        hval += asso_values[(unsigned char)str[39]];
      case 39:
        hval += asso_values[(unsigned char)str[38]];
      case 38:
        hval += asso_values[(unsigned char)str[37]];
      case 37:
        hval += asso_values[(unsigned char)str[36]];
      case 36:
        hval += asso_values[(unsigned char)str[35]];
      case 35:
        hval += asso_values[(unsigned char)str[34]];
      case 34:
        hval += asso_values[(unsigned char)str[33]];
      case 33:
        hval += asso_values[(unsigned char)str[32]];
      case 32:
        hval += asso_values[(unsigned char)str[31]];
      case 31:
        hval += asso_values[(unsigned char)str[30]];
      case 30:
        hval += asso_values[(unsigned char)str[29]];
      case 29:
        hval += asso_values[(unsigned char)str[28]];
      case 28:
        hval += asso_values[(unsigned char)str[27]];
      case 27:
        hval += asso_values[(unsigned char)str[26]];
      case 26:
        hval += asso_values[(unsigned char)str[25]];
      case 25:
        hval += asso_values[(unsigned char)str[24]];
      case 24:
        hval += asso_values[(unsigned char)str[23]];
      case 23:
        hval += asso_values[(unsigned char)str[22]];
      case 22:
        hval += asso_values[(unsigned char)str[21]];
      case 21:
        hval += asso_values[(unsigned char)str[20]];
      case 20:
        hval += asso_values[(unsigned char)str[19]];
      case 19:
        hval += asso_values[(unsigned char)str[18]];
      case 18:
        hval += asso_values[(unsigned char)str[17]];
      case 17:
        hval += asso_values[(unsigned char)str[16]];
      case 16:
        hval += asso_values[(unsigned char)str[15]];
      case 15:
        hval += asso_values[(unsigned char)str[14]];
      case 14:
        hval += asso_values[(unsigned char)str[13]];
      case 13:
        hval += asso_values[(unsigned char)str[12]];
      case 12:
        hval += asso_values[(unsigned char)str[11]];
      case 11:
        hval += asso_values[(unsigned char)str[10]];
      case 10:
        hval += asso_values[(unsigned char)str[9]];
      case 9:
        hval += asso_values[(unsigned char)str[8]];
      case 8:
        hval += asso_values[(unsigned char)str[7]];
      case 7:
        hval += asso_values[(unsigned char)str[6]];
      case 6:
        hval += asso_values[(unsigned char)str[5]];
      case 5:
        hval += asso_values[(unsigned char)str[4]];
      case 4:
        hval += asso_values[(unsigned char)str[3]];
      case 3:
        hval += asso_values[(unsigned char)str[2]];
      case 2:
        hval += asso_values[(unsigned char)str[1]];
      case 1:
        hval += asso_values[(unsigned char)str[0]];
        break;
    }
  return hval;
}

#ifdef __GNUC__
__inline
#endif
const struct props *
findProp (register const char *str, register unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 202,
      MIN_WORD_LENGTH = 3,
      MAX_WORD_LENGTH = 43,
      MIN_HASH_VALUE = 3,
      MAX_HASH_VALUE = 1714
    };

  static const struct props wordlist_prop[] =
    {
      {"top", CSS_PROP_TOP},
      {"clip", CSS_PROP_CLIP},
      {"color", CSS_PROP_COLOR},
      {"size", CSS_PROP_SIZE},
      {"resize", CSS_PROP_RESIZE},
      {"clear", CSS_PROP_CLEAR},
      {"page", CSS_PROP_PAGE},
      {"cursor", CSS_PROP_CURSOR},
      {"scrollbar-arrow-color", CSS_PROP_SCROLLBAR_ARROW_COLOR},
      {"position", CSS_PROP_POSITION},
      {"quotes", CSS_PROP_QUOTES},
      {"outline", CSS_PROP_OUTLINE},
      {"outline-color", CSS_PROP_OUTLINE_COLOR},
      {"content", CSS_PROP_CONTENT},
      {"counter-reset", CSS_PROP_COUNTER_RESET},
      {"bottom", CSS_PROP_BOTTOM},
      {"letter-spacing", CSS_PROP_LETTER_SPACING},
      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
      {"right", CSS_PROP_RIGHT},
      {"white-space", CSS_PROP_WHITE_SPACE},
      {"border", CSS_PROP_BORDER},
      {"border-top", CSS_PROP_BORDER_TOP},
      {"border-color", CSS_PROP_BORDER_COLOR},
      {"border-top-color", CSS_PROP_BORDER_TOP_COLOR},
      {"left", CSS_PROP_LEFT},
      {"widows", CSS_PROP_WIDOWS},
      {"orphans", CSS_PROP_ORPHANS},
      {"overflow", CSS_PROP_OVERFLOW},
      {"word-wrap", CSS_PROP_WORD_WRAP},
      {"float", CSS_PROP_FLOAT},
      {"margin", CSS_PROP_MARGIN},
      {"text-overline", CSS_PROP_TEXT_OVERLINE},
      {"margin-top", CSS_PROP_MARGIN_TOP},
      {"text-overline-color", CSS_PROP_TEXT_OVERLINE_COLOR},
      {"border-collapse", CSS_PROP_BORDER_COLLAPSE},
      {"opacity", CSS_PROP_OPACITY},
      {"visibility", CSS_PROP_VISIBILITY},
      {"-wap-marquee-loop", CSS_PROP__WAP_MARQUEE_LOOP},
      {"list-style", CSS_PROP_LIST_STYLE},
      {"direction", CSS_PROP_DIRECTION},
      {"font", CSS_PROP_FONT},
      {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
      {"text-align", CSS_PROP_TEXT_ALIGN},
      {"font-size", CSS_PROP_FONT_SIZE},
      {"height", CSS_PROP_HEIGHT},
      {"caption-side", CSS_PROP_CAPTION_SIDE},
      {"scrollbar-track-color", CSS_PROP_SCROLLBAR_TRACK_COLOR},
      {"table-layout", CSS_PROP_TABLE_LAYOUT},
      {"-webkit-user-select", CSS_PROP__WEBKIT_USER_SELECT},
      {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
      {"width", CSS_PROP_WIDTH},
      {"word-spacing", CSS_PROP_WORD_SPACING},
      {"border-spacing", CSS_PROP_BORDER_SPACING},
      {"border-bottom", CSS_PROP_BORDER_BOTTOM},
      {"border-bottom-color", CSS_PROP_BORDER_BOTTOM_COLOR},
      {"counter-increment", CSS_PROP_COUNTER_INCREMENT},
      {"outline-style", CSS_PROP_OUTLINE_STYLE},
      {"line-height", CSS_PROP_LINE_HEIGHT},
      {"-webkit-appearance", CSS_PROP__WEBKIT_APPEARANCE},
      {"empty-cells", CSS_PROP_EMPTY_CELLS},
      {"border-right", CSS_PROP_BORDER_RIGHT},
      {"margin-bottom", CSS_PROP_MARGIN_BOTTOM},
      {"border-right-color", CSS_PROP_BORDER_RIGHT_COLOR},
      {"font-variant", CSS_PROP_FONT_VARIANT},
      {"overflow-x", CSS_PROP_OVERFLOW_X},
      {"text-overflow", CSS_PROP_TEXT_OVERFLOW},
      {"margin-right", CSS_PROP_MARGIN_RIGHT},
      {"-wap-input-required", CSS_PROP__WAP_INPUT_REQUIRED},
      {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
      {"scrollbar-3dlight-color", CSS_PROP_SCROLLBAR_3DLIGHT_COLOR},
      {"font-stretch", CSS_PROP_FONT_STRETCH},
      {"border-left", CSS_PROP_BORDER_LEFT},
      {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR},
      {"z-index", CSS_PROP_Z_INDEX},
      {"outline-width", CSS_PROP_OUTLINE_WIDTH},
      {"font-weight", CSS_PROP_FONT_WEIGHT},
      {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
      {"border-style", CSS_PROP_BORDER_STYLE},
      {"border-top-style", CSS_PROP_BORDER_TOP_STYLE},
      {"overflow-y", CSS_PROP_OVERFLOW_Y},
      {"-webkit-line-clamp", CSS_PROP__WEBKIT_LINE_CLAMP},
      {"-wap-marquee-dir", CSS_PROP__WAP_MARQUEE_DIR},
      {"text-decoration", CSS_PROP_TEXT_DECORATION},
      {"margin-left", CSS_PROP_MARGIN_LEFT},
      {"display", CSS_PROP_DISPLAY},
      {"word-break", CSS_PROP_WORD_BREAK},
      {"-wap-marquee-speed", CSS_PROP__WAP_MARQUEE_SPEED},
      {"-webkit-marquee", CSS_PROP__WEBKIT_MARQUEE},
      {"min-height", CSS_PROP_MIN_HEIGHT},
      {"-webkit-box-orient", CSS_PROP__WEBKIT_BOX_ORIENT},
      {"text-overline-style", CSS_PROP_TEXT_OVERLINE_STYLE},
      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
      {"text-indent", CSS_PROP_TEXT_INDENT},
      {"-webkit-columns", CSS_PROP__WEBKIT_COLUMNS},
      {"-webkit-box-lines", CSS_PROP__WEBKIT_BOX_LINES},
      {"-wap-marquee-style", CSS_PROP__WAP_MARQUEE_STYLE},
      {"-wap-input-format", CSS_PROP__WAP_INPUT_FORMAT},
      {"scrollbar-highlight-color", CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR},
      {"unicode-bidi", CSS_PROP_UNICODE_BIDI},
      {"font-style", CSS_PROP_FONT_STYLE},
      {"min-width", CSS_PROP_MIN_WIDTH},
      {"padding", CSS_PROP_PADDING},
      {"padding-top", CSS_PROP_PADDING_TOP},
      {"-webkit-column-rule", CSS_PROP__WEBKIT_COLUMN_RULE},
      {"-webkit-margin-start", CSS_PROP__WEBKIT_MARGIN_START},
      {"-webkit-margin-collapse", CSS_PROP__WEBKIT_MARGIN_COLLAPSE},
      {"-webkit-column-rule-color", CSS_PROP__WEBKIT_COLUMN_RULE_COLOR},
      {"-webkit-margin-top-collapse", CSS_PROP__WEBKIT_MARGIN_TOP_COLLAPSE},
      {"-webkit-box-sizing", CSS_PROP__WEBKIT_BOX_SIZING},
      {"-webkit-marquee-repetition", CSS_PROP__WEBKIT_MARQUEE_REPETITION},
      {"-webkit-box-align", CSS_PROP__WEBKIT_BOX_ALIGN},
      {"-webkit-column-gap", CSS_PROP__WEBKIT_COLUMN_GAP},
      {"text-underline", CSS_PROP_TEXT_UNDERLINE},
      {"border-width", CSS_PROP_BORDER_WIDTH},
      {"text-underline-color", CSS_PROP_TEXT_UNDERLINE_COLOR},
      {"border-top-width", CSS_PROP_BORDER_TOP_WIDTH},
      {"-webkit-rtl-ordering", CSS_PROP__WEBKIT_RTL_ORDERING},
      {"text-shadow", CSS_PROP_TEXT_SHADOW},
      {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
      {"outline-offset", CSS_PROP_OUTLINE_OFFSET},
      {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
      {"-webkit-line-break", CSS_PROP__WEBKIT_LINE_BREAK},
      {"-webkit-user-drag", CSS_PROP__WEBKIT_USER_DRAG},
      {"text-line-through", CSS_PROP_TEXT_LINE_THROUGH},
      {"text-overline-mode", CSS_PROP_TEXT_OVERLINE_MODE},
      {"text-overline-width", CSS_PROP_TEXT_OVERLINE_WIDTH},
      {"text-line-through-color", CSS_PROP_TEXT_LINE_THROUGH_COLOR},
      {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE},
      {"-webkit-column-count", CSS_PROP__WEBKIT_COLUMN_COUNT},
      {"-webkit-binding", CSS_PROP__WEBKIT_BINDING},
      {"page-break-inside", CSS_PROP_PAGE_BREAK_INSIDE},
      {"background", CSS_PROP_BACKGROUND},
      {"background-color", CSS_PROP_BACKGROUND_COLOR},
      {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE},
      {"text-transform", CSS_PROP_TEXT_TRANSFORM},
      {"-webkit-border-vertical-spacing", CSS_PROP__WEBKIT_BORDER_VERTICAL_SPACING},
      {"max-height", CSS_PROP_MAX_HEIGHT},
      {"background-repeat", CSS_PROP_BACKGROUND_REPEAT},
      {"-webkit-border-image", CSS_PROP__WEBKIT_BORDER_IMAGE},
      {"-webkit-text-fill-color", CSS_PROP__WEBKIT_TEXT_FILL_COLOR},
      {"-webkit-nbsp-mode", CSS_PROP__WEBKIT_NBSP_MODE},
      {"padding-bottom", CSS_PROP_PADDING_BOTTOM},
      {"max-width", CSS_PROP_MAX_WIDTH},
      {"-webkit-margin-bottom-collapse", CSS_PROP__WEBKIT_MARGIN_BOTTOM_COLLAPSE},
      {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
      {"-webkit-border-fit", CSS_PROP__WEBKIT_BORDER_FIT},
      {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
      {"background-position", CSS_PROP_BACKGROUND_POSITION},
      {"-webkit-text-stroke", CSS_PROP__WEBKIT_TEXT_STROKE},
      {"-webkit-box-direction", CSS_PROP__WEBKIT_BOX_DIRECTION},
      {"padding-right", CSS_PROP_PADDING_RIGHT},
      {"-webkit-text-stroke-color", CSS_PROP__WEBKIT_TEXT_STROKE_COLOR},
      {"-webkit-box-pack", CSS_PROP__WEBKIT_BOX_PACK},
      {"-webkit-marquee-speed", CSS_PROP__WEBKIT_MARQUEE_SPEED},
      {"-webkit-highlight", CSS_PROP__WEBKIT_HIGHLIGHT},
      {"border-right-width", CSS_PROP_BORDER_RIGHT_WIDTH},
      {"-webkit-text-security", CSS_PROP__WEBKIT_TEXT_SECURITY},
      {"-webkit-marquee-increment", CSS_PROP__WEBKIT_MARQUEE_INCREMENT},
      {"-webkit-marquee-style", CSS_PROP__WEBKIT_MARQUEE_STYLE},
      {"-webkit-text-size-adjust", CSS_PROP__WEBKIT_TEXT_SIZE_ADJUST},
      {"-webkit-marquee-direction", CSS_PROP__WEBKIT_MARQUEE_DIRECTION},
      {"padding-left", CSS_PROP_PADDING_LEFT},
      {"-webkit-border-radius", CSS_PROP__WEBKIT_BORDER_RADIUS},
      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
      {"-webkit-font-size-delta", CSS_PROP__WEBKIT_FONT_SIZE_DELTA},
      {"-webkit-column-rule-style", CSS_PROP__WEBKIT_COLUMN_RULE_STYLE},
      {"text-underline-style", CSS_PROP_TEXT_UNDERLINE_STYLE},
      {"-webkit-box-ordinal-group", CSS_PROP__WEBKIT_BOX_ORDINAL_GROUP},
      {"-webkit-box-shadow", CSS_PROP__WEBKIT_BOX_SHADOW},
      {"background-image", CSS_PROP_BACKGROUND_IMAGE},
      {"-webkit-border-horizontal-spacing", CSS_PROP__WEBKIT_BORDER_HORIZONTAL_SPACING},
      {"-webkit-padding-start", CSS_PROP__WEBKIT_PADDING_START},
      {"-webkit-column-width", CSS_PROP__WEBKIT_COLUMN_WIDTH},
      {"-webkit-box-flex", CSS_PROP__WEBKIT_BOX_FLEX},
      {"text-line-through-style", CSS_PROP_TEXT_LINE_THROUGH_STYLE},
      {"background-position-x", CSS_PROP_BACKGROUND_POSITION_X},
      {"-webkit-background-clip", CSS_PROP__WEBKIT_BACKGROUND_CLIP},
      {"-webkit-column-rule-width", CSS_PROP__WEBKIT_COLUMN_RULE_WIDTH},
      {"font-family", CSS_PROP_FONT_FAMILY},
      {"text-underline-mode", CSS_PROP_TEXT_UNDERLINE_MODE},
      {"text-underline-width", CSS_PROP_TEXT_UNDERLINE_WIDTH},
      {"-webkit-background-size", CSS_PROP__WEBKIT_BACKGROUND_SIZE},
      {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
      {"-webkit-box-flex-group", CSS_PROP__WEBKIT_BOX_FLEX_GROUP},
      {"background-position-y", CSS_PROP_BACKGROUND_POSITION_Y},
      {"text-line-through-mode", CSS_PROP_TEXT_LINE_THROUGH_MODE},
      {"text-line-through-width", CSS_PROP_TEXT_LINE_THROUGH_WIDTH},
      {"-webkit-border-top-right-radius", CSS_PROP__WEBKIT_BORDER_TOP_RIGHT_RADIUS},
      {"-webkit-dashboard-region", CSS_PROP__WEBKIT_DASHBOARD_REGION},
      {"-webkit-background-origin", CSS_PROP__WEBKIT_BACKGROUND_ORIGIN},
      {"-webkit-border-top-left-radius", CSS_PROP__WEBKIT_BORDER_TOP_LEFT_RADIUS},
      {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT},
      {"-webkit-column-break-before", CSS_PROP__WEBKIT_COLUMN_BREAK_BEFORE},
      {"-webkit-column-break-after", CSS_PROP__WEBKIT_COLUMN_BREAK_AFTER},
      {"-webkit-background-composite", CSS_PROP__WEBKIT_BACKGROUND_COMPOSITE},
      {"-webkit-text-stroke-width", CSS_PROP__WEBKIT_TEXT_STROKE_WIDTH},
      {"-webkit-column-break-inside", CSS_PROP__WEBKIT_COLUMN_BREAK_INSIDE},
      {"-webkit-border-bottom-right-radius", CSS_PROP__WEBKIT_BORDER_BOTTOM_RIGHT_RADIUS},
      {"-webkit-user-modify", CSS_PROP__WEBKIT_USER_MODIFY},
      {"-webkit-border-bottom-left-radius", CSS_PROP__WEBKIT_BORDER_BOTTOM_LEFT_RADIUS},
      {"-webkit-match-nearest-mail-blockquote-color", CSS_PROP__WEBKIT_MATCH_NEAREST_MAIL_BLOCKQUOTE_COLOR},
      {"-webkit-text-decorations-in-effect", CSS_PROP__WEBKIT_TEXT_DECORATIONS_IN_EFFECT}
    };

  static const short lookup[] =
    {
       -1,  -1,  -1,   0,   1,   2,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   3,
       -1,   4,  -1,  -1,  -1,   5,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,   6,  -1,  -1,  -1,  -1,  -1,
       -1,   7,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,   8,  -1,   9,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  10,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  11,  -1,  -1,
       -1,  -1,  -1,  12,  -1,  -1,  -1,  13,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  14,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  15,  -1,  -1,  16,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  17,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  18,  -1,  -1,  -1,  -1,
       -1,  19,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  20,  -1,  -1,  -1,  21,  -1,  22,  -1,  -1,
       -1,  23,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  24,
       -1,  25,  26,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  27,  28,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       29,  30,  -1,  31,  -1,  32,  -1,  -1,  -1,  33,
       34,  -1,  35,  -1,  -1,  36,  -1,  -1,  -1,  -1,
       -1,  -1,  37,  -1,  -1,  38,  -1,  -1,  -1,  39,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  40,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  41,  -1,  -1,  -1,  -1,
       42,  -1,  -1,  -1,  43,  -1,  44,  -1,  -1,  -1,
       -1,  -1,  45,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  46,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  47,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  48,  -1,  -1,  -1,  -1,  49,
       50,  -1,  51,  -1,  52,  -1,  -1,  -1,  53,  -1,
       -1,  -1,  -1,  -1,  54,  -1,  -1,  55,  56,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  57,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  58,  -1,  -1,  59,  60,  61,  -1,
       -1,  -1,  -1,  62,  -1,  -1,  -1,  63,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       64,  -1,  -1,  65,  -1,  -1,  -1,  66,  -1,  67,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  68,  69,  -1,
       -1,  -1,  70,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  71,  -1,  -1,  -1,  -1,  -1,  72,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  73,  74,  -1,
       -1,  75,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  76,  77,  -1,  -1,  -1,  78,  -1,  -1,  -1,
       79,  -1,  -1,  80,  -1,  -1,  81,  -1,  -1,  -1,
       82,  83,  -1,  -1,  -1,  -1,  -1,  84,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  85,  -1,  -1,  86,  -1,
       87,  -1,  -1,  -1,  -1,  88,  -1,  -1,  89,  -1,
       -1,  -1,  -1,  -1,  90,  91,  -1,  -1,  -1,  -1,
       -1,  92,  -1,  -1,  -1,  93,  -1,  94,  95,  -1,
       -1,  -1,  96,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  97,  -1,  -1,  -1,  -1,
       -1,  -1,  98,  -1,  -1,  99,  -1,  -1,  -1, 100,
       -1,  -1, 101,  -1,  -1,  -1, 102,  -1,  -1,  -1,
       -1,  -1,  -1,  -1, 103, 104,  -1,  -1, 105,  -1,
      106,  -1, 107, 108,  -1,  -1, 109, 110, 111, 112,
       -1,  -1, 113,  -1,  -1, 114, 115,  -1,  -1,  -1,
      116, 117, 118,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1, 119,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1, 120,  -1, 121,  -1,  -1,  -1, 122,  -1,  -1,
       -1,  -1, 123, 124, 125,  -1,  -1,  -1, 126, 127,
      128,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
      129,  -1,  -1,  -1,  -1,  -1,  -1, 130,  -1,  -1,
       -1,  -1,  -1,  -1,  -1, 131,  -1,  -1,  -1,  -1,
       -1, 132,  -1,  -1,  -1,  -1,  -1,  -1, 133, 134,
       -1, 135,  -1,  -1,  -1, 136,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1, 137,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1, 138,  -1,  -1,  -1,  -1,
       -1,  -1,  -1, 139,  -1,  -1,  -1, 140,  -1, 141,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 142,
       -1,  -1,  -1,  -1,  -1, 143,  -1,  -1,  -1,  -1,
       -1,  -1, 144,  -1,  -1,  -1,  -1,  -1, 145, 146,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 147,
       -1,  -1,  -1,  -1, 148,  -1, 149,  -1, 150,  -1,
      151, 152,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1, 153,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1, 154, 155,  -1,
       -1,  -1,  -1,  -1,  -1,  -1, 156,  -1,  -1,  -1,
      157, 158,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1, 159,  -1,  -1,  -1,  -1,  -1,
      160,  -1, 161,  -1,  -1,  -1, 162,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1, 163,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1, 164,  -1, 165,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
      166,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1, 167,  -1,  -1, 168,  -1,
       -1, 169,  -1, 170,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1, 171,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1, 172,  -1,  -1,  -1,  -1,
       -1, 173,  -1, 174,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1, 175,  -1, 176,  -1,
       -1,  -1,  -1,  -1,  -1, 177,  -1,  -1,  -1,  -1,
       -1, 178,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 179,
      180,  -1,  -1, 181,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1, 182,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1, 183,  -1,  -1,  -1, 184,  -1,  -1,  -1,
       -1,  -1, 185, 186,  -1,  -1, 187,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 188,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1, 189,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
      190, 191, 192,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1, 193,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1, 194,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1, 195,  -1, 196,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 197,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 198,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1, 199,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1, 200,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
       -1,  -1,  -1,  -1, 201
    };

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

      if (key <= MAX_HASH_VALUE && key >= 0)
        {
          register int index = lookup[key];

          if (index >= 0)
            {
              register const char *s = wordlist_prop[index].name;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
                return &wordlist_prop[index];
            }
        }
    }
  return 0;
}
static const char * const propertyList[] = {
"",
"background", 
"background-attachment", 
"background-color", 
"background-image", 
"background-position", 
"background-position-x", 
"background-position-y", 
"background-repeat", 
"border", 
"border-bottom", 
"border-bottom-color", 
"border-bottom-style", 
"border-bottom-width", 
"border-collapse", 
"border-color", 
"border-left", 
"border-left-color", 
"border-left-style", 
"border-left-width", 
"border-right", 
"border-right-color", 
"border-right-style", 
"border-right-width", 
"border-spacing", 
"border-style", 
"border-top", 
"border-top-color", 
"border-top-style", 
"border-top-width", 
"border-width", 
"bottom", 
"caption-side", 
"clear", 
"clip", 
"color", 
"content", 
"counter-increment", 
"counter-reset", 
"cursor", 
"direction", 
"display", 
"empty-cells", 
"float", 
"font", 
"font-family", 
"font-size", 
"font-stretch", 
"font-style", 
"font-variant", 
"font-weight", 
"height", 
"left", 
"letter-spacing", 
"line-height", 
"list-style", 
"list-style-image", 
"list-style-position", 
"list-style-type", 
"margin", 
"margin-bottom", 
"margin-left", 
"margin-right", 
"margin-top", 
"max-height", 
"max-width", 
"min-height", 
"min-width", 
"opacity", 
"orphans", 
"outline", 
"outline-color", 
"outline-offset", 
"outline-style", 
"outline-width", 
"overflow", 
"overflow-x", 
"overflow-y", 
"padding", 
"padding-bottom", 
"padding-left", 
"padding-right", 
"padding-top", 
"page", 
"page-break-after", 
"page-break-before", 
"page-break-inside", 
"position", 
"quotes", 
"resize", 
"right", 
"scrollbar-3dlight-color", 
"scrollbar-arrow-color", 
"scrollbar-darkshadow-color", 
"scrollbar-face-color", 
"scrollbar-highlight-color", 
"scrollbar-shadow-color", 
"scrollbar-track-color", 
"size", 
"table-layout", 
"text-align", 
"text-decoration", 
"text-indent", 
"text-line-through", 
"text-line-through-color", 
"text-line-through-mode", 
"text-line-through-style", 
"text-line-through-width", 
"text-overflow", 
"text-overline", 
"text-overline-color", 
"text-overline-mode", 
"text-overline-style", 
"text-overline-width", 
"text-shadow", 
"text-transform", 
"text-underline", 
"text-underline-color", 
"text-underline-mode", 
"text-underline-style", 
"text-underline-width", 
"top", 
"unicode-bidi", 
"vertical-align", 
"visibility", 
"white-space", 
"widows", 
"width", 
"word-break", 
"word-spacing", 
"word-wrap", 
"z-index", 
"-webkit-appearance", 
"-webkit-background-clip", 
"-webkit-background-composite", 
"-webkit-background-origin", 
"-webkit-background-size", 
"-webkit-binding", 
"-webkit-border-bottom-left-radius", 
"-webkit-border-bottom-right-radius", 
"-webkit-border-fit", 
"-webkit-border-horizontal-spacing", 
"-webkit-border-image", 
"-webkit-border-radius", 
"-webkit-border-top-left-radius", 
"-webkit-border-top-right-radius", 
"-webkit-border-vertical-spacing", 
"-webkit-box-align", 
"-webkit-box-direction", 
"-webkit-box-flex", 
"-webkit-box-flex-group", 
"-webkit-box-lines", 
"-webkit-box-ordinal-group", 
"-webkit-box-orient", 
"-webkit-box-pack", 
"-webkit-box-shadow", 
"-webkit-box-sizing", 
"-webkit-column-break-after", 
"-webkit-column-break-before", 
"-webkit-column-break-inside", 
"-webkit-column-count", 
"-webkit-column-gap", 
"-webkit-column-rule", 
"-webkit-column-rule-color", 
"-webkit-column-rule-style", 
"-webkit-column-rule-width", 
"-webkit-column-width", 
"-webkit-columns", 
"-webkit-dashboard-region", 
"-webkit-font-size-delta", 
"-webkit-highlight", 
"-webkit-line-break", 
"-webkit-line-clamp", 
"-webkit-margin-bottom-collapse", 
"-webkit-margin-collapse", 
"-webkit-margin-start", 
"-webkit-margin-top-collapse", 
"-webkit-marquee", 
"-webkit-marquee-direction", 
"-webkit-marquee-increment", 
"-webkit-marquee-repetition", 
"-webkit-marquee-speed", 
"-webkit-marquee-style", 
"-webkit-match-nearest-mail-blockquote-color", 
"-webkit-nbsp-mode", 
"-webkit-padding-start", 
"-webkit-rtl-ordering", 
"-webkit-text-decorations-in-effect", 
"-webkit-text-fill-color", 
"-webkit-text-security", 
"-webkit-text-size-adjust", 
"-webkit-text-stroke", 
"-webkit-text-stroke-color", 
"-webkit-text-stroke-width", 
"-webkit-user-drag", 
"-webkit-user-modify", 
"-webkit-user-select", 
"-wap-marquee-style", 
"-wap-marquee-loop", 
"-wap-marquee-dir", 
"-wap-marquee-speed", 
"-wap-input-format", 
"-wap-input-required", 
    0
};
const char* getPropertyName(CSSPropertyID id)
{
    if (id >= numCSSProperties || id <= 0)
        return 0;
    return propertyList[id];
}