//
// Generated file. Do not edit manually.
//

using System.Collections.Generic;
using Alba.CsCss.Internal.Extensions;

using uint32_t = System.Int32;

namespace Alba.CsCss.Style
{
    internal partial class nsCSSProps
    {
        private static readonly string[] kCSSRawProperties = {
            "-moz-appearance",
            "-moz-outline-radius-topleft",
            "-moz-outline-radius-topright",
            "-moz-outline-radius-bottomright",
            "-moz-outline-radius-bottomleft",
            "-moz-tab-size",
            "-x-system-font",
            "animation-delay",
            "animation-direction",
            "animation-duration",
            "animation-fill-mode",
            "animation-iteration-count",
            "animation-name",
            "animation-play-state",
            "animation-timing-function",
            "background-attachment",
            "background-clip",
            "background-color",
            "background-image",
            "-moz-background-inline-policy",
            "background-origin",
            "background-position",
            "background-repeat",
            "background-size",
            "-moz-binding",
            "border-bottom-color",
            "-moz-border-bottom-colors",
            "border-bottom-style",
            "border-bottom-width",
            "border-collapse",
            "border-end-color-value",
            "border-end-style-value",
            "border-end-width-value",
            "border-image-source",
            "border-image-slice",
            "border-image-width",
            "border-image-outset",
            "border-image-repeat",
            "border-left-color-value",
            "border-left-color-ltr-source",
            "border-left-color-rtl-source",
            "-moz-border-left-colors",
            "border-left-style-value",
            "border-left-style-ltr-source",
            "border-left-style-rtl-source",
            "border-left-width-value",
            "border-left-width-ltr-source",
            "border-left-width-rtl-source",
            "border-right-color-value",
            "border-right-color-ltr-source",
            "border-right-color-rtl-source",
            "-moz-border-right-colors",
            "border-right-style-value",
            "border-right-style-ltr-source",
            "border-right-style-rtl-source",
            "border-right-width-value",
            "border-right-width-ltr-source",
            "border-right-width-rtl-source",
            "border-spacing",
            "border-start-color-value",
            "border-start-style-value",
            "border-start-width-value",
            "border-top-color",
            "-moz-border-top-colors",
            "border-top-style",
            "border-top-width",
            "border-top-left-radius",
            "border-top-right-radius",
            "border-bottom-right-radius",
            "border-bottom-left-radius",
            "bottom",
            "box-shadow",
            "-moz-box-sizing",
            "caption-side",
            "clear",
            "clip",
            "color",
            "-moz-column-count",
            "-moz-column-fill",
            "-moz-column-width",
            "-moz-column-gap",
            "-moz-column-rule-color",
            "-moz-column-rule-style",
            "-moz-column-rule-width",
            "content",
            "counter-increment",
            "counter-reset",
            "cursor",
            "direction",
            "display",
            "empty-cells",
            "align-items",
            "align-self",
            "flex-basis",
            "flex-direction",
            "flex-grow",
            "flex-shrink",
            "order",
            "justify-content",
            "float",
            "-moz-float-edge",
            "font-family",
            "-moz-font-feature-settings",
            "-moz-font-language-override",
            "font-size",
            "font-size-adjust",
            "font-stretch",
            "font-style",
            "font-variant",
            "font-weight",
            "-moz-force-broken-image-icon",
            "height",
            "-moz-image-region",
            "ime-mode",
            "left",
            "letter-spacing",
            "line-height",
            "list-style-image",
            "list-style-position",
            "list-style-type",
            "margin-bottom",
            "margin-end-value",
            "margin-left-value",
            "margin-left-ltr-source",
            "margin-left-rtl-source",
            "margin-right-value",
            "margin-right-ltr-source",
            "margin-right-rtl-source",
            "margin-start-value",
            "margin-top",
            "marker-offset",
            "marks",
            "max-height",
            "max-width",
            "min-height",
            "min-width",
            "opacity",
            "-moz-orient",
            "orphans",
            "outline-color",
            "outline-style",
            "outline-width",
            "outline-offset",
            "overflow-x",
            "overflow-y",
            "padding-bottom",
            "padding-end-value",
            "padding-left-value",
            "padding-left-ltr-source",
            "padding-left-rtl-source",
            "padding-right-value",
            "padding-right-ltr-source",
            "padding-right-rtl-source",
            "padding-start-value",
            "padding-top",
            "page",
            "page-break-after",
            "page-break-before",
            "page-break-inside",
            "paint-order",
            "pointer-events",
            "position",
            "quotes",
            "resize",
            "right",
            "size",
            "table-layout",
            "text-align",
            "-moz-text-align-last",
            "-moz-text-blink",
            "-moz-text-decoration-color",
            "-moz-text-decoration-line",
            "-moz-text-decoration-style",
            "text-indent",
            "text-overflow",
            "text-shadow",
            "-moz-text-size-adjust",
            "text-transform",
            "transform",
            "transform-origin",
            "perspective-origin",
            "perspective",
            "transform-style",
            "backface-visibility",
            "top",
            "transition-delay",
            "transition-duration",
            "transition-property",
            "transition-timing-function",
            "unicode-bidi",
            "-moz-user-focus",
            "-moz-user-input",
            "-moz-user-modify",
            "-moz-user-select",
            "vertical-align",
            "visibility",
            "white-space",
            "widows",
            "width",
            "-moz-window-shadow",
            "word-break",
            "word-spacing",
            "word-wrap",
            "-moz-hyphens",
            "z-index",
            "-moz-box-align",
            "-moz-box-direction",
            "-moz-box-flex",
            "-moz-box-orient",
            "-moz-box-pack",
            "-moz-box-ordinal-group",
            "-moz-stack-sizing",
            "-moz-script-level",
            "-moz-script-size-multiplier",
            "-moz-script-min-size",
            "clip-path",
            "clip-rule",
            "color-interpolation",
            "color-interpolation-filters",
            "dominant-baseline",
            "fill",
            "fill-opacity",
            "fill-rule",
            "filter",
            "flood-color",
            "flood-opacity",
            "image-rendering",
            "lighting-color",
            "marker-end",
            "marker-mid",
            "marker-start",
            "mask",
            "mask-type",
            "shape-rendering",
            "stop-color",
            "stop-opacity",
            "stroke",
            "stroke-dasharray",
            "stroke-dashoffset",
            "stroke-linecap",
            "stroke-linejoin",
            "stroke-miterlimit",
            "stroke-opacity",
            "stroke-width",
            "text-anchor",
            "text-rendering",
            "vector-effect",
            "-x-lang",
            "-x-span",
            "-moz-outline-radius",
            "animation",
            "background",
            "border",
            "border-bottom",
            "border-color",
            "-moz-border-end",
            "-moz-border-end-color",
            "-moz-border-end-style",
            "-moz-border-end-width",
            "border-image",
            "border-left",
            "border-left-color",
            "border-left-style",
            "border-left-width",
            "border-right",
            "border-right-color",
            "border-right-style",
            "border-right-width",
            "-moz-border-start",
            "-moz-border-start-color",
            "-moz-border-start-style",
            "-moz-border-start-width",
            "border-style",
            "border-top",
            "border-width",
            "border-radius",
            "-moz-columns",
            "-moz-column-rule",
            "flex",
            "font",
            "list-style",
            "margin",
            "-moz-margin-end",
            "margin-left",
            "margin-right",
            "-moz-margin-start",
            "outline",
            "overflow",
            "padding",
            "-moz-padding-end",
            "padding-left",
            "padding-right",
            "-moz-padding-start",
            "text-decoration",
            "transition",
            "marker",
            "-moz-transform",
            "-moz-transform-origin",
            "-moz-perspective-origin",
            "-moz-perspective",
            "-moz-transform-style",
            "-moz-backface-visibility",
            "-moz-border-image",
            "-moz-transition",
            "-moz-transition-delay",
            "-moz-transition-duration",
            "-moz-transition-property",
            "-moz-transition-timing-function",
            "-moz-animation",
            "-moz-animation-delay",
            "-moz-animation-direction",
            "-moz-animation-duration",
            "-moz-animation-fill-mode",
            "-moz-animation-iteration-count",
            "-moz-animation-name",
            "-moz-animation-play-state",
            "-moz-animation-timing-function",
        };

        public static readonly nsStyleStructID[] kSIDTable = {
            nsStyleStructID.Display,
            nsStyleStructID.Outline,
            nsStyleStructID.Outline,
            nsStyleStructID.Outline,
            nsStyleStructID.Outline,
            nsStyleStructID.Text,
            nsStyleStructID.Font,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Background,
            nsStyleStructID.Background,
            nsStyleStructID.Background,
            nsStyleStructID.Background,
            nsStyleStructID.Background,
            nsStyleStructID.Background,
            nsStyleStructID.Background,
            nsStyleStructID.Background,
            nsStyleStructID.Background,
            nsStyleStructID.Display,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.TableBorder,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.TableBorder,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Border,
            nsStyleStructID.Position,
            nsStyleStructID.Border,
            nsStyleStructID.Position,
            nsStyleStructID.TableBorder,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Color,
            nsStyleStructID.Column,
            nsStyleStructID.Column,
            nsStyleStructID.Column,
            nsStyleStructID.Column,
            nsStyleStructID.Column,
            nsStyleStructID.Column,
            nsStyleStructID.Column,
            nsStyleStructID.Content,
            nsStyleStructID.Content,
            nsStyleStructID.Content,
            nsStyleStructID.UserInterface,
            nsStyleStructID.Visibility,
            nsStyleStructID.Display,
            nsStyleStructID.TableBorder,
            nsStyleStructID.Position,
            nsStyleStructID.Position,
            nsStyleStructID.Position,
            nsStyleStructID.Position,
            nsStyleStructID.Position,
            nsStyleStructID.Position,
            nsStyleStructID.Position,
            nsStyleStructID.Position,
            nsStyleStructID.Display,
            nsStyleStructID.Border,
            nsStyleStructID.Font,
            nsStyleStructID.Font,
            nsStyleStructID.Font,
            nsStyleStructID.Font,
            nsStyleStructID.Font,
            nsStyleStructID.Font,
            nsStyleStructID.Font,
            nsStyleStructID.Font,
            nsStyleStructID.Font,
            nsStyleStructID.UIReset,
            nsStyleStructID.Position,
            nsStyleStructID.List,
            nsStyleStructID.UIReset,
            nsStyleStructID.Position,
            nsStyleStructID.Text,
            nsStyleStructID.Text,
            nsStyleStructID.List,
            nsStyleStructID.List,
            nsStyleStructID.List,
            nsStyleStructID.Margin,
            nsStyleStructID.Margin,
            nsStyleStructID.Margin,
            nsStyleStructID.Margin,
            nsStyleStructID.Margin,
            nsStyleStructID.Margin,
            nsStyleStructID.Margin,
            nsStyleStructID.Margin,
            nsStyleStructID.Margin,
            nsStyleStructID.Margin,
            nsStyleStructID.Content,
            nsStyleStructID.BackendOnly,
            nsStyleStructID.Position,
            nsStyleStructID.Position,
            nsStyleStructID.Position,
            nsStyleStructID.Position,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.BackendOnly,
            nsStyleStructID.Outline,
            nsStyleStructID.Outline,
            nsStyleStructID.Outline,
            nsStyleStructID.Outline,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Padding,
            nsStyleStructID.Padding,
            nsStyleStructID.Padding,
            nsStyleStructID.Padding,
            nsStyleStructID.Padding,
            nsStyleStructID.Padding,
            nsStyleStructID.Padding,
            nsStyleStructID.Padding,
            nsStyleStructID.Padding,
            nsStyleStructID.Padding,
            nsStyleStructID.BackendOnly,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.SVG,
            nsStyleStructID.Visibility,
            nsStyleStructID.Display,
            nsStyleStructID.Quotes,
            nsStyleStructID.Display,
            nsStyleStructID.Position,
            nsStyleStructID.BackendOnly,
            nsStyleStructID.Table,
            nsStyleStructID.Text,
            nsStyleStructID.Text,
            nsStyleStructID.TextReset,
            nsStyleStructID.TextReset,
            nsStyleStructID.TextReset,
            nsStyleStructID.TextReset,
            nsStyleStructID.Text,
            nsStyleStructID.TextReset,
            nsStyleStructID.Text,
            nsStyleStructID.Text,
            nsStyleStructID.Text,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Position,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.Display,
            nsStyleStructID.TextReset,
            nsStyleStructID.UserInterface,
            nsStyleStructID.UserInterface,
            nsStyleStructID.UserInterface,
            nsStyleStructID.UIReset,
            nsStyleStructID.TextReset,
            nsStyleStructID.Visibility,
            nsStyleStructID.Text,
            nsStyleStructID.BackendOnly,
            nsStyleStructID.Position,
            nsStyleStructID.UIReset,
            nsStyleStructID.Text,
            nsStyleStructID.Text,
            nsStyleStructID.Text,
            nsStyleStructID.Text,
            nsStyleStructID.Position,
            nsStyleStructID.XUL,
            nsStyleStructID.XUL,
            nsStyleStructID.XUL,
            nsStyleStructID.XUL,
            nsStyleStructID.XUL,
            nsStyleStructID.XUL,
            nsStyleStructID.XUL,
            nsStyleStructID.Font,
            nsStyleStructID.Font,
            nsStyleStructID.Font,
            nsStyleStructID.SVGReset,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVGReset,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVGReset,
            nsStyleStructID.SVGReset,
            nsStyleStructID.SVGReset,
            nsStyleStructID.SVG,
            nsStyleStructID.SVGReset,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVGReset,
            nsStyleStructID.SVGReset,
            nsStyleStructID.SVG,
            nsStyleStructID.SVGReset,
            nsStyleStructID.SVGReset,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVG,
            nsStyleStructID.SVGReset,
            nsStyleStructID.Font,
            nsStyleStructID.Table,
        };

        public static readonly uint32_t[] kFlagsTable = {
            PARSE_VALUE,
            PARSE_FUNCTION | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_FUNCTION | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_FUNCTION | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_FUNCTION | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_VALUE | VALUE_NONNEGATIVE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE_LIST | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE_LIST | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE_LIST | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE_LIST | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE_LIST | VALUE_NONNEGATIVE | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE_LIST | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE_LIST | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE_LIST | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE_LIST | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE_LIST | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | IGNORED_WHEN_COLORS_DISABLED | HASHLESS_COLOR_QUIRK,
            PARSE_VALUE_LIST | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | VALUE_LIST_USES_COMMAS | IGNORED_WHEN_COLORS_DISABLED | START_IMAGE_LOADS,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE_LIST | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | VALUE_LIST_USES_COMMAS,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | VALUE_LIST_USES_COMMAS | STORES_CALC,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | VALUE_LIST_USES_COMMAS,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | VALUE_LIST_USES_COMMAS | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_VALUE,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER | IGNORED_WHEN_COLORS_DISABLED | HASHLESS_COLOR_QUIRK,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER | IGNORED_WHEN_COLORS_DISABLED,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER,
            PARSE_VALUE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER | UNITLESS_LENGTH_QUIRK,
            PARSE_VALUE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER,
            PARSE_INACCESSIBLE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER | START_IMAGE_LOADS,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | IGNORED_WHEN_COLORS_DISABLED | REPORT_OTHER_NAME,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE | IGNORED_WHEN_COLORS_DISABLED,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE | IGNORED_WHEN_COLORS_DISABLED,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER | IGNORED_WHEN_COLORS_DISABLED,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | REPORT_OTHER_NAME,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE,
            PARSE_INACCESSIBLE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER | REPORT_OTHER_NAME,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | IGNORED_WHEN_COLORS_DISABLED | REPORT_OTHER_NAME,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE | IGNORED_WHEN_COLORS_DISABLED,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE | IGNORED_WHEN_COLORS_DISABLED,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER | IGNORED_WHEN_COLORS_DISABLED,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | REPORT_OTHER_NAME,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE,
            PARSE_INACCESSIBLE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER | REPORT_OTHER_NAME,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE,
            PARSE_FUNCTION | VALUE_NONNEGATIVE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER,
            PARSE_INACCESSIBLE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER | IGNORED_WHEN_COLORS_DISABLED | HASHLESS_COLOR_QUIRK,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER | IGNORED_WHEN_COLORS_DISABLED,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER,
            PARSE_VALUE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER | UNITLESS_LENGTH_QUIRK,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_VALUE | STORES_CALC | UNITLESS_LENGTH_QUIRK,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER | VALUE_LIST_USES_COMMAS | IGNORED_WHEN_COLORS_DISABLED,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_FUNCTION | UNITLESS_LENGTH_QUIRK,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | IGNORED_WHEN_COLORS_DISABLED | HASHLESS_COLOR_QUIRK,
            PARSE_VALUE | VALUE_AT_LEAST_ONE,
            PARSE_VALUE,
            PARSE_VALUE | VALUE_NONNEGATIVE,
            PARSE_VALUE | VALUE_NONNEGATIVE,
            PARSE_VALUE | IGNORED_WHEN_COLORS_DISABLED,
            PARSE_VALUE,
            PARSE_VALUE | VALUE_NONNEGATIVE,
            PARSE_FUNCTION | START_IMAGE_LOADS,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION | VALUE_LIST_USES_COMMAS | START_IMAGE_LOADS | IMAGE_IS_IN_ARRAY_0,
            PARSE_VALUE,
            PARSE_VALUE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_VALUE,
            PARSE_VALUE | VALUE_NONNEGATIVE,
            PARSE_VALUE | VALUE_NONNEGATIVE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER,
            PARSE_VALUE,
            PARSE_VALUE | VALUE_PARSER_FUNCTION | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | VALUE_PARSER_FUNCTION | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | UNITLESS_LENGTH_QUIRK,
            PARSE_VALUE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | VALUE_PARSER_FUNCTION | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | VALUE_NONNEGATIVE,
            PARSE_VALUE | VALUE_NONNEGATIVE | STORES_CALC | UNITLESS_LENGTH_QUIRK,
            PARSE_FUNCTION,
            PARSE_VALUE,
            PARSE_VALUE | STORES_CALC | UNITLESS_LENGTH_QUIRK,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | UNITLESS_LENGTH_QUIRK,
            PARSE_VALUE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | START_IMAGE_LOADS,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER | STORES_CALC | UNITLESS_LENGTH_QUIRK | APPLIES_TO_PAGE_RULE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | STORES_CALC | APPLIES_TO_PAGE_RULE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | REPORT_OTHER_NAME | STORES_CALC | APPLIES_TO_PAGE_RULE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE | APPLIES_TO_PAGE_RULE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE | APPLIES_TO_PAGE_RULE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | REPORT_OTHER_NAME | STORES_CALC | APPLIES_TO_PAGE_RULE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE | APPLIES_TO_PAGE_RULE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE | APPLIES_TO_PAGE_RULE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | STORES_CALC | APPLIES_TO_PAGE_RULE,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER | STORES_CALC | UNITLESS_LENGTH_QUIRK | APPLIES_TO_PAGE_RULE,
            PARSE_VALUE,
            PARSE_VALUE | VALUE_PARSER_FUNCTION,
            PARSE_VALUE | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_VALUE | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_VALUE | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_VALUE | VALUE_NONNEGATIVE | STORES_CALC,
            PARSE_VALUE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE,
            PARSE_VALUE | VALUE_AT_LEAST_ONE,
            PARSE_VALUE | IGNORED_WHEN_COLORS_DISABLED,
            PARSE_VALUE,
            PARSE_VALUE | VALUE_NONNEGATIVE,
            PARSE_VALUE,
            PARSE_VALUE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER | APPLIES_TO_PLACEHOLDER | STORES_CALC | UNITLESS_LENGTH_QUIRK,
            PARSE_INACCESSIBLE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER | APPLIES_TO_PLACEHOLDER | STORES_CALC,
            PARSE_INACCESSIBLE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER | APPLIES_TO_PLACEHOLDER | REPORT_OTHER_NAME | STORES_CALC,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | APPLIES_TO_PLACEHOLDER | DIRECTIONAL_SOURCE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | APPLIES_TO_PLACEHOLDER | DIRECTIONAL_SOURCE,
            PARSE_INACCESSIBLE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER | APPLIES_TO_PLACEHOLDER | REPORT_OTHER_NAME | STORES_CALC,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | APPLIES_TO_PLACEHOLDER | DIRECTIONAL_SOURCE,
            PARSE_INACCESSIBLE | APPLIES_TO_FIRST_LETTER | DIRECTIONAL_SOURCE,
            PARSE_INACCESSIBLE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER | APPLIES_TO_PLACEHOLDER | STORES_CALC,
            PARSE_VALUE | VALUE_NONNEGATIVE | APPLIES_TO_FIRST_LETTER | APPLIES_TO_PLACEHOLDER | STORES_CALC | UNITLESS_LENGTH_QUIRK,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_FUNCTION,
            PARSE_VALUE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE,
            PARSE_FUNCTION,
            PARSE_VALUE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | STORES_CALC | UNITLESS_LENGTH_QUIRK,
            PARSE_FUNCTION,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | IGNORED_WHEN_COLORS_DISABLED,
            PARSE_VALUE | VALUE_PARSER_FUNCTION | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | STORES_CALC,
            PARSE_VALUE | VALUE_PARSER_FUNCTION | APPLIES_TO_PLACEHOLDER,
            PARSE_FUNCTION | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | VALUE_LIST_USES_COMMAS | IGNORED_WHEN_COLORS_DISABLED,
            PARSE_VALUE,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER,
            PARSE_FUNCTION,
            PARSE_FUNCTION | STORES_CALC,
            PARSE_FUNCTION | STORES_CALC,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE | STORES_CALC | UNITLESS_LENGTH_QUIRK,
            PARSE_VALUE_LIST | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE_LIST | VALUE_LIST_USES_COMMAS,
            PARSE_FUNCTION | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE_LIST | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | STORES_CALC,
            PARSE_VALUE,
            PARSE_VALUE | APPLIES_TO_PLACEHOLDER,
            PARSE_VALUE | VALUE_AT_LEAST_ONE,
            PARSE_VALUE | VALUE_NONNEGATIVE | STORES_CALC | UNITLESS_LENGTH_QUIRK,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE | APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE | APPLIES_TO_PLACEHOLDER | UNITLESS_LENGTH_QUIRK,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE | VALUE_NONNEGATIVE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE | VALUE_NONNEGATIVE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_INACCESSIBLE,
            PARSE_INACCESSIBLE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_FUNCTION,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_FUNCTION,
            PARSE_FUNCTION | VALUE_LIST_USES_COMMAS,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE | VALUE_AT_LEAST_ONE,
            PARSE_VALUE,
            PARSE_VALUE | VALUE_NONNEGATIVE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_VALUE,
            PARSE_INACCESSIBLE,
            PARSE_INACCESSIBLE,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION | HASHLESS_COLOR_QUIRK,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION | HASHLESS_COLOR_QUIRK,
            PARSE_FUNCTION,
            PARSE_FUNCTION | UNITLESS_LENGTH_QUIRK,
            PARSE_FUNCTION,
            PARSE_FUNCTION | HASHLESS_COLOR_QUIRK,
            PARSE_FUNCTION,
            PARSE_FUNCTION | UNITLESS_LENGTH_QUIRK,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION | UNITLESS_LENGTH_QUIRK,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION | UNITLESS_LENGTH_QUIRK | APPLIES_TO_PAGE_RULE,
            PARSE_FUNCTION | APPLIES_TO_PAGE_RULE,
            PARSE_FUNCTION | UNITLESS_LENGTH_QUIRK | APPLIES_TO_PAGE_RULE,
            PARSE_FUNCTION | UNITLESS_LENGTH_QUIRK | APPLIES_TO_PAGE_RULE,
            PARSE_FUNCTION | APPLIES_TO_PAGE_RULE,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION | UNITLESS_LENGTH_QUIRK,
            PARSE_FUNCTION,
            PARSE_FUNCTION | UNITLESS_LENGTH_QUIRK,
            PARSE_FUNCTION | UNITLESS_LENGTH_QUIRK,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION,
            PARSE_FUNCTION | IS_ALIAS,
        };

        public static readonly int[] kParserVariantTable = {
            CssParser.VARIANT_HK,
            0,
            0,
            0,
            0,
            CssParser.VARIANT_HI,
            0,
            CssParser.VARIANT_TIME,
            CssParser.VARIANT_KEYWORD,
            CssParser.VARIANT_TIME | CssParser.VARIANT_NONNEGATIVE_DIMENSION,
            CssParser.VARIANT_KEYWORD,
            CssParser.VARIANT_KEYWORD | CssParser.VARIANT_NUMBER,
            CssParser.VARIANT_NONE | CssParser.VARIANT_IDENTIFIER_NO_INHERIT,
            CssParser.VARIANT_KEYWORD,
            CssParser.VARIANT_KEYWORD | CssParser.VARIANT_TIMING_FUNCTION,
            CssParser.VARIANT_KEYWORD,
            CssParser.VARIANT_KEYWORD,
            CssParser.VARIANT_HC,
            CssParser.VARIANT_IMAGE,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_KEYWORD,
            0,
            CssParser.VARIANT_KEYWORD,
            0,
            CssParser.VARIANT_HUO,
            CssParser.VARIANT_HCK,
            0,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HKL | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HCK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HKL | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HUO,
            0,
            0,
            0,
            0,
            CssParser.VARIANT_HCK,
            0,
            0,
            0,
            CssParser.VARIANT_HK,
            0,
            0,
            CssParser.VARIANT_HKL | CssParser.VARIANT_CALC,
            0,
            0,
            CssParser.VARIANT_HCK,
            0,
            0,
            0,
            CssParser.VARIANT_HK,
            0,
            0,
            CssParser.VARIANT_HKL | CssParser.VARIANT_CALC,
            0,
            0,
            0,
            CssParser.VARIANT_HCK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HKL | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HCK,
            0,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HKL | CssParser.VARIANT_CALC,
            0,
            0,
            0,
            0,
            CssParser.VARIANT_AHLP | CssParser.VARIANT_CALC,
            0,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            0,
            CssParser.VARIANT_HC,
            CssParser.VARIANT_AHI,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_AHL | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HL | CssParser.VARIANT_NORMAL | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HCK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HKL | CssParser.VARIANT_CALC,
            0,
            0,
            0,
            0,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_AHKLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HN,
            CssParser.VARIANT_HN,
            CssParser.VARIANT_HI,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            0,
            0,
            CssParser.VARIANT_NORMAL | CssParser.VARIANT_INHERIT | CssParser.VARIANT_STRING,
            CssParser.VARIANT_HKLP | CssParser.VARIANT_SYSFONT | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HON | CssParser.VARIANT_SYSFONT,
            CssParser.VARIANT_HK | CssParser.VARIANT_SYSFONT,
            CssParser.VARIANT_HK | CssParser.VARIANT_SYSFONT,
            CssParser.VARIANT_HK | CssParser.VARIANT_SYSFONT,
            0,
            CssParser.VARIANT_HI,
            CssParser.VARIANT_AHLP | CssParser.VARIANT_CALC,
            0,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_AHLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HL | CssParser.VARIANT_NORMAL | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HLPN | CssParser.VARIANT_KEYWORD | CssParser.VARIANT_NORMAL | CssParser.VARIANT_SYSFONT,
            CssParser.VARIANT_HUO,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_AHLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_AHLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_AHLP | CssParser.VARIANT_CALC,
            0,
            0,
            CssParser.VARIANT_AHLP | CssParser.VARIANT_CALC,
            0,
            0,
            CssParser.VARIANT_AHLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_AHLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_AHL | CssParser.VARIANT_CALC,
            0,
            CssParser.VARIANT_HLPO | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HKLPO | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HKLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HN,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HI,
            CssParser.VARIANT_HCK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HKL | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HL | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HLP | CssParser.VARIANT_CALC,
            0,
            0,
            CssParser.VARIANT_HLP | CssParser.VARIANT_CALC,
            0,
            0,
            CssParser.VARIANT_HLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_AUTO | CssParser.VARIANT_IDENTIFIER,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            0,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            0,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_AHLP | CssParser.VARIANT_CALC,
            0,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HCK,
            0,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HLP | CssParser.VARIANT_CALC,
            0,
            0,
            CssParser.VARIANT_AUTO | CssParser.VARIANT_NONE | CssParser.VARIANT_INHERIT,
            CssParser.VARIANT_HK,
            0,
            0,
            0,
            CssParser.VARIANT_NONE | CssParser.VARIANT_INHERIT | CssParser.VARIANT_LENGTH | CssParser.VARIANT_POSITIVE_DIMENSION,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_AHLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_TIME,
            CssParser.VARIANT_TIME | CssParser.VARIANT_NONNEGATIVE_DIMENSION,
            CssParser.VARIANT_IDENTIFIER | CssParser.VARIANT_NONE | CssParser.VARIANT_ALL,
            CssParser.VARIANT_KEYWORD | CssParser.VARIANT_TIMING_FUNCTION,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HKLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HI,
            CssParser.VARIANT_AHKLP | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HL | CssParser.VARIANT_NORMAL | CssParser.VARIANT_CALC,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_AHI,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HN,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HI,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HI,
            0,
            0,
            CssParser.VARIANT_HUO,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            0,
            CssParser.VARIANT_HN | CssParser.VARIANT_KEYWORD,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HUO,
            CssParser.VARIANT_HC,
            CssParser.VARIANT_HN,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HC,
            CssParser.VARIANT_HUO,
            CssParser.VARIANT_HUO,
            CssParser.VARIANT_HUO,
            CssParser.VARIANT_HUO,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HC,
            CssParser.VARIANT_HN,
            0,
            0,
            CssParser.VARIANT_HLPN | CssParser.VARIANT_KEYWORD,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HN,
            CssParser.VARIANT_HN | CssParser.VARIANT_KEYWORD,
            CssParser.VARIANT_HLPN | CssParser.VARIANT_KEYWORD,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            CssParser.VARIANT_HK,
            0,
            0,
        };

        private static readonly Dictionary<string, int> gPropertyTable = kCSSRawProperties.ToCaseInsensitiveNameTable();

        // We need static ctor, because these arrays depend on fields from other parts.
        public static readonly int[][] kKeywordTableTable;
        public static readonly CssProperty[][] kSubpropertyTable;

        static nsCSSProps ()
        {
            kKeywordTableTable = new[] {
                kAppearanceKTable,
                null,
                null,
                null,
                null,
                null,
                kFontKTable,
                null,
                kAnimationDirectionKTable,
                null,
                kAnimationFillModeKTable,
                kAnimationIterationCountKTable,
                null,
                kAnimationPlayStateKTable,
                kTransitionTimingFunctionKTable,
                kBackgroundAttachmentKTable,
                kBackgroundOriginKTable,
                null,
                null,
                kBackgroundInlinePolicyKTable,
                kBackgroundOriginKTable,
                kBackgroundPositionKTable,
                kBackgroundRepeatKTable,
                kBackgroundSizeKTable,
                null,
                kBorderColorKTable,
                null,
                kBorderStyleKTable,
                kBorderWidthKTable,
                kBorderCollapseKTable,
                kBorderColorKTable,
                kBorderStyleKTable,
                kBorderWidthKTable,
                null,
                kBorderImageSliceKTable,
                null,
                null,
                kBorderImageRepeatKTable,
                kBorderColorKTable,
                kBoxPropSourceKTable,
                kBoxPropSourceKTable,
                null,
                kBorderStyleKTable,
                kBoxPropSourceKTable,
                kBoxPropSourceKTable,
                kBorderWidthKTable,
                kBoxPropSourceKTable,
                kBoxPropSourceKTable,
                kBorderColorKTable,
                kBoxPropSourceKTable,
                kBoxPropSourceKTable,
                null,
                kBorderStyleKTable,
                kBoxPropSourceKTable,
                kBoxPropSourceKTable,
                kBorderWidthKTable,
                kBoxPropSourceKTable,
                kBoxPropSourceKTable,
                null,
                kBorderColorKTable,
                kBorderStyleKTable,
                kBorderWidthKTable,
                kBorderColorKTable,
                null,
                kBorderStyleKTable,
                kBorderWidthKTable,
                null,
                null,
                null,
                null,
                null,
                kBoxShadowTypeKTable,
                kBoxSizingKTable,
                kCaptionSideKTable,
                kClearKTable,
                null,
                null,
                null,
                kColumnFillKTable,
                null,
                null,
                kBorderColorKTable,
                kBorderStyleKTable,
                kBorderWidthKTable,
                kContentKTable,
                null,
                null,
                kCursorKTable,
                kDirectionKTable,
                kDisplayKTable,
                kEmptyCellsKTable,
                kAlignItemsKTable,
                kAlignSelfKTable,
                kWidthKTable,
                kFlexDirectionKTable,
                null,
                null,
                null,
                kJustifyContentKTable,
                kFloatKTable,
                kFloatEdgeKTable,
                null,
                null,
                null,
                kFontSizeKTable,
                null,
                kFontStretchKTable,
                kFontStyleKTable,
                kFontVariantKTable,
                kFontWeightKTable,
                null,
                null,
                null,
                kIMEModeKTable,
                null,
                null,
                kLineHeightKTable,
                null,
                kListStylePositionKTable,
                kListStyleKTable,
                null,
                null,
                null,
                kBoxPropSourceKTable,
                kBoxPropSourceKTable,
                null,
                kBoxPropSourceKTable,
                kBoxPropSourceKTable,
                null,
                null,
                null,
                kPageMarksKTable,
                null,
                kWidthKTable,
                null,
                kWidthKTable,
                null,
                kOrientKTable,
                null,
                kOutlineColorKTable,
                kOutlineStyleKTable,
                kBorderWidthKTable,
                null,
                kOverflowSubKTable,
                kOverflowSubKTable,
                null,
                null,
                null,
                kBoxPropSourceKTable,
                kBoxPropSourceKTable,
                null,
                kBoxPropSourceKTable,
                kBoxPropSourceKTable,
                null,
                null,
                null,
                kPageBreakKTable,
                kPageBreakKTable,
                kPageBreakInsideKTable,
                null,
                kPointerEventsKTable,
                kPositionKTable,
                null,
                kResizeKTable,
                null,
                kPageSizeKTable,
                kTableLayoutKTable,
                kTextAlignKTable,
                kTextAlignLastKTable,
                kTextBlinkKTable,
                kBorderColorKTable,
                kTextDecorationLineKTable,
                kTextDecorationStyleKTable,
                null,
                kTextOverflowKTable,
                null,
                null,
                kTextTransformKTable,
                kDisplayKTable,
                kBackgroundPositionKTable,
                kBackgroundPositionKTable,
                null,
                kTransformStyleKTable,
                kBackfaceVisibilityKTable,
                null,
                null,
                null,
                null,
                kTransitionTimingFunctionKTable,
                kUnicodeBidiKTable,
                kUserFocusKTable,
                kUserInputKTable,
                kUserModifyKTable,
                kUserSelectKTable,
                kVerticalAlignKTable,
                kVisibilityKTable,
                kWhitespaceKTable,
                null,
                kWidthKTable,
                kWindowShadowKTable,
                kWordBreakKTable,
                null,
                kWordWrapKTable,
                kHyphensKTable,
                null,
                kBoxAlignKTable,
                kBoxDirectionKTable,
                null,
                kBoxOrientKTable,
                kBoxPackKTable,
                null,
                kStackSizingKTable,
                null,
                null,
                null,
                null,
                kFillRuleKTable,
                kColorInterpolationKTable,
                kColorInterpolationKTable,
                kDominantBaselineKTable,
                kObjectPatternKTable,
                kObjectOpacityKTable,
                kFillRuleKTable,
                null,
                null,
                null,
                kImageRenderingKTable,
                null,
                null,
                null,
                null,
                null,
                kMaskTypeKTable,
                kShapeRenderingKTable,
                null,
                null,
                kObjectPatternKTable,
                kStrokeObjectValueKTable,
                kStrokeObjectValueKTable,
                kStrokeLinecapKTable,
                kStrokeLinejoinKTable,
                null,
                kObjectOpacityKTable,
                kStrokeObjectValueKTable,
                kTextAnchorKTable,
                kTextRenderingKTable,
                kVectorEffectKTable,
                null,
                null,
            };
            kSubpropertyTable = new[] {
                gOutlineRadiusSubpropTable,
                gAnimationSubpropTable,
                gBackgroundSubpropTable,
                gBorderSubpropTable,
                gBorderBottomSubpropTable,
                gBorderColorSubpropTable,
                gBorderEndSubpropTable,
                gBorderEndColorSubpropTable,
                gBorderEndStyleSubpropTable,
                gBorderEndWidthSubpropTable,
                gBorderImageSubpropTable,
                gBorderLeftSubpropTable,
                gBorderLeftColorSubpropTable,
                gBorderLeftStyleSubpropTable,
                gBorderLeftWidthSubpropTable,
                gBorderRightSubpropTable,
                gBorderRightColorSubpropTable,
                gBorderRightStyleSubpropTable,
                gBorderRightWidthSubpropTable,
                gBorderStartSubpropTable,
                gBorderStartColorSubpropTable,
                gBorderStartStyleSubpropTable,
                gBorderStartWidthSubpropTable,
                gBorderStyleSubpropTable,
                gBorderTopSubpropTable,
                gBorderWidthSubpropTable,
                gBorderRadiusSubpropTable,
                gColumnsSubpropTable,
                gColumnRuleSubpropTable,
                gFlexSubpropTable,
                gFontSubpropTable,
                gListStyleSubpropTable,
                gMarginSubpropTable,
                gMarginEndSubpropTable,
                gMarginLeftSubpropTable,
                gMarginRightSubpropTable,
                gMarginStartSubpropTable,
                gOutlineSubpropTable,
                gOverflowSubpropTable,
                gPaddingSubpropTable,
                gPaddingEndSubpropTable,
                gPaddingLeftSubpropTable,
                gPaddingRightSubpropTable,
                gPaddingStartSubpropTable,
                gTextDecorationSubpropTable,
                gTransitionSubpropTable,
                gMarkerSubpropTable,
                gMozTransformSubpropTable,
            };
        }
    }
}
