Advertisement
ooshbin

R20 inline style sanitizer

Mar 17th, 2022
1,722
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  *  NOTES:
  3.  *
  4.  *  nb - all CSS tokens are .toLowerCase() before they're processed
  5.  *  
  6.  *  property: the CSS property name
  7.  *  values: array of string values allowed for the property
  8.  *  regexp: additional regular expression match allowed, mostly used for rgb(a) color values
  9.  *  propertyBits: bitwise switches which enable the following categories:
  10.  *      CSS_PROP_BIT_
  11.  *          QUANTITY: any positive number, float or integer. Must start with a digit, but can be followed by word characters e.g. px/pt/rem
  12.  *          HASH_VALUE: for hex colors - '#' followed by 3 or 6 hexadecimal characters, 0-9, a-f
  13.  *          NEGATIVE_QUANTITY: same as QUANTITY, but negative
  14.  *          QSTRING_CONTENT: will return most string values, wrapped in double quotes if it wasn't already. Still subject to sanitization of control characters e.g. < > ;
  15.  *          QSTRING_URL: accepts an http:// or https:// url, but runs it through imgsrv.roll20.net
  16.  *          HISTORY_INSENSITIVE: doesn't appear to interact with inline CSS
  17.  *          Z_INDEX: accepts an integer with 1-7 digits
  18.  *          ALLOWED_IN_LINK: doesn't appear to interact with inline CSS
  19.  */
  20.  
  21. const textArray = [
  22.   {
  23.     property: "-moz-border-radius",
  24.     values: ["/"],
  25.     regexp: null,
  26.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  27.   },
  28.   {
  29.     property: "-moz-border-radius-bottomleft",
  30.     values: null,
  31.     regexp: null,
  32.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  33.   },
  34.   {
  35.     property: "-moz-border-radius-bottomright",
  36.     values: null,
  37.     regexp: null,
  38.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  39.   },
  40.   {
  41.     property: "-moz-border-radius-topleft",
  42.     values: null,
  43.     regexp: null,
  44.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  45.   },
  46.   {
  47.     property: "-moz-border-radius-topright",
  48.     values: null,
  49.     regexp: null,
  50.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  51.   },
  52.   {
  53.     property: "-moz-box-shadow",
  54.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", ",", "inset", "none"],
  55.     regexp: "/^ *(?:\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\)|(?:\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\))?)+ *$/i",
  56.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  57.   },
  58.   {
  59.     property: "-moz-opacity",
  60.     values: ["inherit"],
  61.     regexp: undefined,
  62.     propertyBits: ["CSS_PROP_BIT_QUANTITY"],
  63.   },
  64.   {
  65.     property: "-moz-outline",
  66.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "thick", "thin", "hidden", "inherit", "inset", "invert", "medium", "none"],
  67.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  68.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  69.   },
  70.   {
  71.     property: "-moz-outline-color",
  72.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "inherit", "invert"],
  73.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  74.     propertyBits: ["CSS_PROP_BIT_HASH_VALUE"],
  75.   },
  76.   {
  77.     property: "-moz-outline-style",
  78.     values: ["dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "hidden", "inherit", "inset", "none"],
  79.     regexp: undefined,
  80.     propertyBits: [
  81.     ],
  82.   },
  83.   {
  84.     property: "-moz-outline-width",
  85.     values: ["thick", "thin", "inherit", "medium"],
  86.     regexp: undefined,
  87.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  88.   },
  89.   {
  90.     property: "-o-text-overflow",
  91.     values: ["clip", "ellipsis"],
  92.     regexp: undefined,
  93.     propertyBits: [
  94.     ],
  95.   },
  96.   {
  97.     property: "-webkit-border-bottom-left-radius",
  98.     values: null,
  99.     regexp: null,
  100.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  101.   },
  102.   {
  103.     property: "-webkit-border-bottom-right-radius",
  104.     values: null,
  105.     regexp: null,
  106.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  107.   },
  108.   {
  109.     property: "-webkit-border-radius",
  110.     values: ["/"],
  111.     regexp: null,
  112.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  113.   },
  114.   {
  115.     property: "-webkit-border-radius-bottom-left",
  116.     values: null,
  117.     regexp: null,
  118.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  119.   },
  120.   {
  121.     property: "-webkit-border-radius-bottom-right",
  122.     values: null,
  123.     regexp: null,
  124.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  125.   },
  126.   {
  127.     property: "-webkit-border-radius-top-left",
  128.     values: null,
  129.     regexp: null,
  130.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  131.   },
  132.   {
  133.     property: "-webkit-border-radius-top-right",
  134.     values: null,
  135.     regexp: null,
  136.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  137.   },
  138.   {
  139.     property: "-webkit-border-top-left-radius",
  140.     values: null,
  141.     regexp: null,
  142.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  143.   },
  144.   {
  145.     property: "-webkit-border-top-right-radius",
  146.     values: null,
  147.     regexp: null,
  148.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  149.   },
  150.   {
  151.     property: "-webkit-box-shadow",
  152.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", ",", "inset", "none"],
  153.     regexp: "/^ *(?:\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\)|(?:\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\))?)+ *$/i",
  154.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  155.   },
  156.   {
  157.     property: "azimuth",
  158.     values: ["behind", "center-left", "center-right", "far-left", "far-right", "left-side", "leftwards", "right-side", "rightwards", "left", "right", "center", "inherit"],
  159.     regexp: undefined,
  160.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  161.   },
  162.   {
  163.     property: "background",
  164.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "border-box", "contain", "content-box", "cover", "padding-box", "no-repeat", "repeat-x", "repeat-y", "round", "space", "bottom", "top", "left", "right", ",", "/", "auto", "center", "fixed", "inherit", "local", "none", "repeat", "scroll", "transparent"],
  165.     regexp: "/^ *(?:\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\)){0,2} *$/i",
  166.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_NEGATIVE_QUANTITY", "CSS_PROP_BIT_QSTRING_URL"],
  167.   },
  168.   {
  169.     property: "background-size",
  170.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "border-box", "contain", "content-box", "cover", "padding-box", "no-repeat", "repeat-x", "repeat-y", "round", "space", "bottom", "top", "left", "right", ",", "/", "auto", "center", "fixed", "inherit", "local", "none", "repeat", "scroll", "transparent"],
  171.     regexp: "/^ *(?:\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\)){0,2} *$/i",
  172.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_NEGATIVE_QUANTITY", "CSS_PROP_BIT_QSTRING_URL"],
  173.   },
  174.   {
  175.     property: "background-attachment",
  176.     values: [",", "fixed", "local", "scroll"],
  177.     regexp: null,
  178.     propertyBits: [
  179.     ],
  180.   },
  181.   {
  182.     property: "background-color",
  183.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "inherit", "transparent"],
  184.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  185.     propertyBits: ["CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_ALLOWED_IN_LINK"],
  186.   },
  187.   {
  188.     property: "background-image",
  189.     values: [",", "none"],
  190.     regexp: "/.*/i",
  191.     propertyBits: ["CSS_PROP_BIT_QSTRING_URL"],
  192.   },
  193.   {
  194.     property: "background-position",
  195.     values: ["bottom", "top", "left", "right", ",", "center"],
  196.     regexp: null,
  197.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  198.   },
  199.   {
  200.     property: "background-repeat",
  201.     values: ["no-repeat", "repeat-x", "repeat-y", "round", "space", ",", "repeat"],
  202.     regexp: null,
  203.     propertyBits: [
  204.     ],
  205.   },
  206.   {
  207.     property: "border",
  208.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "thick", "thin", "hidden", "inherit", "inset", "medium", "none", "transparent"],
  209.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  210.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  211.   },
  212.   {
  213.     property: "border-bottom",
  214.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "thick", "thin", "hidden", "inherit", "inset", "medium", "none", "transparent"],
  215.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  216.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  217.   },
  218.   {
  219.     property: "border-bottom-color",
  220.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "inherit", "transparent"],
  221.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  222.     propertyBits: ["CSS_PROP_BIT_HASH_VALUE"],
  223.   },
  224.   {
  225.     property: "border-bottom-left-radius",
  226.     values: null,
  227.     regexp: null,
  228.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  229.   },
  230.   {
  231.     property: "border-bottom-right-radius",
  232.     values: null,
  233.     regexp: null,
  234.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  235.   },
  236.   {
  237.     property: "border-bottom-style",
  238.     values: ["dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "hidden", "inherit", "inset", "none"],
  239.     regexp: undefined,
  240.     propertyBits: [
  241.     ],
  242.   },
  243.   {
  244.     property: "border-bottom-width",
  245.     values: ["thick", "thin", "inherit", "medium"],
  246.     regexp: undefined,
  247.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  248.   },
  249.   {
  250.     property: "border-collapse",
  251.     values: ["collapse", "inherit", "separate"],
  252.     regexp: undefined,
  253.     propertyBits: [
  254.     ],
  255.   },
  256.   {
  257.     property: "border-color",
  258.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "inherit", "transparent"],
  259.     regexp: "/^ *(?:\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\)){1,4} *$/i",
  260.     propertyBits: ["CSS_PROP_BIT_HASH_VALUE"],
  261.   },
  262.   {
  263.     property: "border-left",
  264.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "thick", "thin", "hidden", "inherit", "inset", "medium", "none", "transparent"],
  265.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  266.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  267.   },
  268.   {
  269.     property: "border-left-color",
  270.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "inherit", "transparent"],
  271.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  272.     propertyBits: ["CSS_PROP_BIT_HASH_VALUE"],
  273.   },
  274.   {
  275.     property: "border-left-style",
  276.     values: ["dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "hidden", "inherit", "inset", "none"],
  277.     regexp: undefined,
  278.     propertyBits: [
  279.     ],
  280.   },
  281.   {
  282.     property: "border-left-width",
  283.     values: ["thick", "thin", "inherit", "medium"],
  284.     regexp: undefined,
  285.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  286.   },
  287.   {
  288.     property: "border-radius",
  289.     values: ["/"],
  290.     regexp: null,
  291.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  292.   },
  293.   {
  294.     property: "border-right",
  295.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "thick", "thin", "hidden", "inherit", "inset", "medium", "none", "transparent"],
  296.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  297.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  298.   },
  299.   {
  300.     property: "border-right-color",
  301.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "inherit", "transparent"],
  302.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  303.     propertyBits: ["CSS_PROP_BIT_HASH_VALUE"],
  304.   },
  305.   {
  306.     property: "border-right-style",
  307.     values: ["dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "hidden", "inherit", "inset", "none"],
  308.     regexp: undefined,
  309.     propertyBits: [
  310.     ],
  311.   },
  312.   {
  313.     property: "border-right-width",
  314.     values: ["thick", "thin", "inherit", "medium"],
  315.     regexp: undefined,
  316.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  317.   },
  318.   {
  319.     property: "border-spacing",
  320.     values: ["inherit"],
  321.     regexp: null,
  322.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  323.   },
  324.   {
  325.     property: "border-style",
  326.     values: ["dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "hidden", "inherit", "inset", "none"],
  327.     regexp: undefined,
  328.     propertyBits: [
  329.     ],
  330.   },
  331.   {
  332.     property: "border-top",
  333.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "thick", "thin", "hidden", "inherit", "inset", "medium", "none", "transparent"],
  334.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  335.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  336.   },
  337.   {
  338.     property: "border-top-color",
  339.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "inherit", "transparent"],
  340.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  341.     propertyBits: ["CSS_PROP_BIT_HASH_VALUE"],
  342.   },
  343.   {
  344.     property: "border-top-left-radius",
  345.     values: null,
  346.     regexp: null,
  347.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  348.   },
  349.   {
  350.     property: "border-top-right-radius",
  351.     values: null,
  352.     regexp: null,
  353.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  354.   },
  355.   {
  356.     property: "border-top-style",
  357.     values: ["dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "hidden", "inherit", "inset", "none"],
  358.     regexp: undefined,
  359.     propertyBits: [
  360.     ],
  361.   },
  362.   {
  363.     property: "border-top-width",
  364.     values: ["thick", "thin", "inherit", "medium"],
  365.     regexp: undefined,
  366.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  367.   },
  368.   {
  369.     property: "border-width",
  370.     values: ["thick", "thin", "inherit", "medium"],
  371.     regexp: undefined,
  372.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  373.   },
  374.   {
  375.     property: "bottom",
  376.     values: ["auto", "inherit"],
  377.     regexp: undefined,
  378.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  379.   },
  380.   {
  381.     property: "box-shadow",
  382.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", ",", "inset", "none"],
  383.     regexp: "/^ *(?:\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\)|(?:\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\))?)+ *$/i",
  384.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  385.   },
  386.   {
  387.     property: "caption-side",
  388.     values: ["bottom", "top", "inherit"],
  389.     regexp: undefined,
  390.     propertyBits: [
  391.     ],
  392.   },
  393.   {
  394.     property: "clear",
  395.     values: ["left", "right", "both", "inherit", "none"],
  396.     regexp: undefined,
  397.     propertyBits: [
  398.     ],
  399.   },
  400.   {
  401.     property: "clip",
  402.     values: ["auto", "inherit"],
  403.     regexp: "/^ *\\s*rect\\(\\s*(?:0|[+-]?\\d+(?:\\.\\d+)?(?:[cem]m|ex|in|p[ctx])|auto)\\s*,\\s*(?:0|[+-]?\\d+(?:\\.\\d+)?(?:[cem]m|ex|in|p[ctx])|auto)\\s*,\\s*(?:0|[+-]?\\d+(?:\\.\\d+)?(?:[cem]m|ex|in|p[ctx])|auto)\\s*,\\s*(?:0|[+-]?\\d+(?:\\.\\d+)?(?:[cem]m|ex|in|p[ctx])|auto) *\\) *$/i",
  404.     propertyBits: [
  405.     ],
  406.   },
  407.   {
  408.     property: "color",
  409.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "inherit"],
  410.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  411.     propertyBits: ["CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_ALLOWED_IN_LINK"],
  412.   },
  413.   {
  414.     property: "content",
  415.     values: ["none", "normal"],
  416.     regexp: undefined,
  417.     propertyBits: ["CSS_PROP_BIT_QSTRING_CONTENT"],
  418.   },
  419.   {
  420.     property: "counter-increment",
  421.     values: ["inherit", "none"],
  422.     regexp: null,
  423.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  424.   },
  425.   {
  426.     property: "counter-reset",
  427.     values: ["inherit", "none"],
  428.     regexp: null,
  429.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  430.   },
  431.   {
  432.     property: "cue",
  433.     values: ["inherit", "none"],
  434.     regexp: undefined,
  435.     propertyBits: ["CSS_PROP_BIT_QSTRING_URL"],
  436.   },
  437.   {
  438.     property: "cue-after",
  439.     values: ["inherit", "none"],
  440.     regexp: undefined,
  441.     propertyBits: ["CSS_PROP_BIT_QSTRING_URL"],
  442.   },
  443.   {
  444.     property: "cue-before",
  445.     values: ["inherit", "none"],
  446.     regexp: undefined,
  447.     propertyBits: ["CSS_PROP_BIT_QSTRING_URL"],
  448.   },
  449.   {
  450.     property: "cursor",
  451.     values: ["all-scroll", "col-resize", "crosshair", "default", "e-resize", "hand", "help", "move", "n-resize", "ne-resize", "no-drop", "not-allowed", "nw-resize", "pointer", "progress", "row-resize", "s-resize", "se-resize", "sw-resize", "text", "vertical-text", "w-resize", "wait", ",", "auto", "inherit"],
  452.     regexp: null,
  453.     propertyBits: ["CSS_PROP_BIT_QSTRING_URL", "CSS_PROP_BIT_ALLOWED_IN_LINK"],
  454.   },
  455.   {
  456.     property: "direction",
  457.     values: ["ltr", "rtl", "inherit"],
  458.     regexp: undefined,
  459.     propertyBits: [
  460.     ],
  461.   },
  462.   {
  463.     property: "display",
  464.     values: ["-moz-inline-box", "-moz-inline-stack", "block", "inline", "inline-block", "inline-table", "list-item", "run-in", "table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row", "table-row-group", "inherit", "none"],
  465.     regexp: undefined,
  466.     propertyBits: ["CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  467.   },
  468.   {
  469.     property: "elevation",
  470.     values: ["above", "below", "higher", "level", "lower", "inherit"],
  471.     regexp: undefined,
  472.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  473.   },
  474.   {
  475.     property: "empty-cells",
  476.     values: ["hide", "show", "inherit"],
  477.     regexp: undefined,
  478.     propertyBits: [
  479.     ],
  480.   },
  481.   {
  482.     property: "filter",
  483.     values: null,
  484.     regexp: "/^ *(?:\\s*alpha\\(\\s*opacity\\s*=\\s*(?:0|\\d+(?:\\.\\d+)?%|[+-]?\\d+(?:\\.\\d+)?) *\\))+ *$/i",
  485.     propertyBits: ["CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  486.   },
  487.   {
  488.     property: "float",
  489.     values: ["left", "right", "inherit", "none"],
  490.     regexp: undefined,
  491.     propertyBits: ["CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  492.   },
  493.   {
  494.     property: "font",
  495.     values: ["100", "200", "300", "400", "500", "600", "700", "800", "900", "bold", "bolder", "lighter", "large", "larger", "small", "smaller", "x-large", "x-small", "xx-large", "xx-small", "caption", "icon", "menu", "message-box", "small-caption", "status-bar", "cursive", "fantasy", "monospace", "sans-serif", "serif", "italic", "oblique", ",", "/", "inherit", "medium", "normal", "small-caps"],
  496.     regexp: null,
  497.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_QSTRING_CONTENT"],
  498.   },
  499.   {
  500.     property: "font-family",
  501.     values: ["cursive", "fantasy", "monospace", "sans-serif", "serif", ",", "inherit"],
  502.     regexp: null,
  503.     propertyBits: ["CSS_PROP_BIT_QSTRING_CONTENT"],
  504.   },
  505.   {
  506.     property: "font-size",
  507.     values: ["large", "larger", "small", "smaller", "x-large", "x-small", "xx-large", "xx-small", "inherit", "medium"],
  508.     regexp: undefined,
  509.     propertyBits: ["CSS_PROP_BIT_QUANTITY"],
  510.   },
  511.   {
  512.     property: "font-stretch",
  513.     values: ["condensed", "expanded", "extra-condensed", "extra-expanded", "narrower", "semi-condensed", "semi-expanded", "ultra-condensed", "ultra-expanded", "wider", "normal"],
  514.     regexp: undefined,
  515.     propertyBits: [
  516.     ],
  517.   },
  518.   {
  519.     property: "font-style",
  520.     values: ["italic", "oblique", "inherit", "normal"],
  521.     regexp: undefined,
  522.     propertyBits: [
  523.     ],
  524.   },
  525.   {
  526.     property: "font-variant",
  527.     values: ["inherit", "normal", "small-caps"],
  528.     regexp: undefined,
  529.     propertyBits: [
  530.     ],
  531.   },
  532.   {
  533.     property: "font-weight",
  534.     values: ["100", "200", "300", "400", "500", "600", "700", "800", "900", "bold", "bolder", "lighter", "inherit", "normal"],
  535.     regexp: undefined,
  536.     propertyBits: [
  537.     ],
  538.   },
  539.   {
  540.     property: "height",
  541.     values: ["auto", "inherit"],
  542.     regexp: undefined,
  543.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY", "CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  544.   },
  545.   {
  546.     property: "left",
  547.     values: ["auto", "inherit"],
  548.     regexp: undefined,
  549.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY", "CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  550.   },
  551.   {
  552.     property: "letter-spacing",
  553.     values: ["inherit", "normal"],
  554.     regexp: undefined,
  555.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  556.   },
  557.   {
  558.     property: "line-height",
  559.     values: ["inherit", "normal"],
  560.     regexp: undefined,
  561.     propertyBits: ["CSS_PROP_BIT_QUANTITY"],
  562.   },
  563.   {
  564.     property: "list-style",
  565.     values: ["armenian", "circle", "decimal", "decimal-leading-zero", "disc", "georgian", "lower-alpha", "lower-greek", "lower-latin", "lower-roman", "square", "upper-alpha", "upper-latin", "upper-roman", "inside", "outside", "inherit", "none"],
  566.     regexp: undefined,
  567.     propertyBits: ["CSS_PROP_BIT_QSTRING_URL"],
  568.   },
  569.   {
  570.     property: "list-style-image",
  571.     values: ["inherit", "none"],
  572.     regexp: undefined,
  573.     propertyBits: ["CSS_PROP_BIT_QSTRING_URL"],
  574.   },
  575.   {
  576.     property: "list-style-position",
  577.     values: ["inside", "outside", "inherit"],
  578.     regexp: undefined,
  579.     propertyBits: [
  580.     ],
  581.   },
  582.   {
  583.     property: "list-style-type",
  584.     values: ["armenian", "circle", "decimal", "decimal-leading-zero", "disc", "georgian", "lower-alpha", "lower-greek", "lower-latin", "lower-roman", "square", "upper-alpha", "upper-latin", "upper-roman", "inherit", "none"],
  585.     regexp: undefined,
  586.     propertyBits: [
  587.     ],
  588.   },
  589.   {
  590.     property: "margin",
  591.     values: ["auto", "inherit"],
  592.     regexp: undefined,
  593.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  594.   },
  595.   {
  596.     property: "margin-bottom",
  597.     values: ["auto", "inherit"],
  598.     regexp: undefined,
  599.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  600.   },
  601.   {
  602.     property: "margin-left",
  603.     values: ["auto", "inherit"],
  604.     regexp: undefined,
  605.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  606.   },
  607.   {
  608.     property: "margin-right",
  609.     values: ["auto", "inherit"],
  610.     regexp: undefined,
  611.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  612.   },
  613.   {
  614.     property: "margin-top",
  615.     values: ["auto", "inherit"],
  616.     regexp: undefined,
  617.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  618.   },
  619.   {
  620.     property: "max-height",
  621.     values: ["auto", "inherit", "none"],
  622.     regexp: undefined,
  623.     propertyBits: ["CSS_PROP_BIT_QUANTITY"],
  624.   },
  625.   {
  626.     property: "max-width",
  627.     values: ["auto", "inherit", "none"],
  628.     regexp: undefined,
  629.     propertyBits: ["CSS_PROP_BIT_QUANTITY"],
  630.   },
  631.   {
  632.     property: "min-height",
  633.     values: ["auto", "inherit"],
  634.     regexp: undefined,
  635.     propertyBits: ["CSS_PROP_BIT_QUANTITY"],
  636.   },
  637.   {
  638.     property: "min-width",
  639.     values: ["auto", "inherit"],
  640.     regexp: undefined,
  641.     propertyBits: ["CSS_PROP_BIT_QUANTITY"],
  642.   },
  643.   {
  644.     property: "opacity",
  645.     values: ["inherit"],
  646.     regexp: undefined,
  647.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  648.   },
  649.   {
  650.     property: "outline",
  651.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "thick", "thin", "hidden", "inherit", "inset", "invert", "medium", "none"],
  652.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  653.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  654.   },
  655.   {
  656.     property: "outline-color",
  657.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", "inherit", "invert"],
  658.     regexp: "/^ *\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\) *$/i",
  659.     propertyBits: ["CSS_PROP_BIT_HASH_VALUE"],
  660.   },
  661.   {
  662.     property: "outline-style",
  663.     values: ["dashed", "dotted", "double", "groove", "outset", "ridge", "solid", "hidden", "inherit", "inset", "none"],
  664.     regexp: undefined,
  665.     propertyBits: [
  666.     ],
  667.   },
  668.   {
  669.     property: "outline-width",
  670.     values: ["thick", "thin", "inherit", "medium"],
  671.     regexp: undefined,
  672.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  673.   },
  674.   {
  675.     property: "overflow",
  676.     values: ["auto", "hidden", "inherit", "scroll", "visible"],
  677.     regexp: undefined,
  678.     propertyBits: ["CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  679.   },
  680.   {
  681.     property: "overflow-x",
  682.     values: ["no-content", "no-display", "auto", "hidden", "scroll", "visible"],
  683.     regexp: undefined,
  684.     propertyBits: [
  685.     ],
  686.   },
  687.   {
  688.     property: "overflow-y",
  689.     values: ["no-content", "no-display", "auto", "hidden", "scroll", "visible"],
  690.     regexp: undefined,
  691.     propertyBits: [
  692.     ],
  693.   },
  694.   {
  695.     property: "padding",
  696.     values: ["inherit"],
  697.     regexp: undefined,
  698.     propertyBits: ["CSS_PROP_BIT_QUANTITY"],
  699.   },
  700.   {
  701.     property: "padding-bottom",
  702.     values: ["inherit"],
  703.     regexp: undefined,
  704.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  705.   },
  706.   {
  707.     property: "padding-left",
  708.     values: ["inherit"],
  709.     regexp: undefined,
  710.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  711.   },
  712.   {
  713.     property: "padding-right",
  714.     values: ["inherit"],
  715.     regexp: undefined,
  716.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  717.   },
  718.   {
  719.     property: "padding-top",
  720.     values: ["inherit"],
  721.     regexp: undefined,
  722.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  723.   },
  724.   {
  725.     property: "page-break-after",
  726.     values: ["left", "right", "always", "auto", "avoid", "inherit"],
  727.     regexp: undefined,
  728.     propertyBits: [
  729.     ],
  730.   },
  731.   {
  732.     property: "page-break-before",
  733.     values: ["left", "right", "always", "auto", "avoid", "inherit"],
  734.     regexp: undefined,
  735.     propertyBits: [
  736.     ],
  737.   },
  738.   {
  739.     property: "page-break-inside",
  740.     values: ["auto", "avoid", "inherit"],
  741.     regexp: undefined,
  742.     propertyBits: [
  743.     ],
  744.   },
  745.   {
  746.     property: "pause",
  747.     values: ["inherit"],
  748.     regexp: undefined,
  749.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  750.   },
  751.   {
  752.     property: "pause-after",
  753.     values: ["inherit"],
  754.     regexp: undefined,
  755.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  756.   },
  757.   {
  758.     property: "pause-before",
  759.     values: ["inherit"],
  760.     regexp: undefined,
  761.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  762.   },
  763.   {
  764.     property: "pitch",
  765.     values: ["high", "low", "x-high", "x-low", "inherit", "medium"],
  766.     regexp: undefined,
  767.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  768.   },
  769.   {
  770.     property: "pitch-range",
  771.     values: ["inherit"],
  772.     regexp: undefined,
  773.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  774.   },
  775.   {
  776.     property: "play-during",
  777.     values: ["auto", "inherit", "mix", "none", "repeat"],
  778.     regexp: null,
  779.     propertyBits: ["CSS_PROP_BIT_QSTRING_URL"],
  780.   },
  781.   {
  782.     property: "position",
  783.     values: ["absolute", "relative", "static", "inherit"],
  784.     regexp: undefined,
  785.     propertyBits: ["CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  786.   },
  787.   {
  788.     property: "quotes",
  789.     values: ["inherit", "none"],
  790.     regexp: null,
  791.     propertyBits: ["CSS_PROP_BIT_QSTRING_CONTENT"],
  792.   },
  793.   {
  794.     property: "richness",
  795.     values: ["inherit"],
  796.     regexp: undefined,
  797.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  798.   },
  799.   {
  800.     property: "right",
  801.     values: ["auto", "inherit"],
  802.     regexp: undefined,
  803.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY", "CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  804.   },
  805.   {
  806.     property: "speak",
  807.     values: ["inherit", "none", "normal", "spell-out"],
  808.     regexp: undefined,
  809.     propertyBits: [
  810.     ],
  811.   },
  812.   {
  813.     property: "speak-header",
  814.     values: ["always", "inherit", "once"],
  815.     regexp: undefined,
  816.     propertyBits: [
  817.     ],
  818.   },
  819.   {
  820.     property: "speak-numeral",
  821.     values: ["continuous", "digits", "inherit"],
  822.     regexp: undefined,
  823.     propertyBits: [
  824.     ],
  825.   },
  826.   {
  827.     property: "speak-punctuation",
  828.     values: ["code", "inherit", "none"],
  829.     regexp: undefined,
  830.     propertyBits: [
  831.     ],
  832.   },
  833.   {
  834.     property: "speech-rate",
  835.     values: ["fast", "faster", "slow", "slower", "x-fast", "x-slow", "inherit", "medium"],
  836.     regexp: undefined,
  837.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  838.   },
  839.   {
  840.     property: "stress",
  841.     values: ["inherit"],
  842.     regexp: undefined,
  843.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  844.   },
  845.   {
  846.     property: "table-layout",
  847.     values: ["auto", "fixed", "inherit"],
  848.     regexp: undefined,
  849.     propertyBits: [
  850.     ],
  851.   },
  852.   {
  853.     property: "text-align",
  854.     values: ["left", "right", "center", "inherit", "justify"],
  855.     regexp: undefined,
  856.     propertyBits: [
  857.     ],
  858.   },
  859.   {
  860.     property: "text-decoration",
  861.     values: ["blink", "line-through", "overline", "underline", "inherit", "none"],
  862.     regexp: undefined,
  863.     propertyBits: [
  864.     ],
  865.   },
  866.   {
  867.     property: "text-indent",
  868.     values: ["inherit"],
  869.     regexp: undefined,
  870.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  871.   },
  872.   {
  873.     property: "text-overflow",
  874.     values: ["clip", "ellipsis"],
  875.     regexp: undefined,
  876.     propertyBits: [
  877.     ],
  878.   },
  879.   {
  880.     property: "text-shadow",
  881.     values: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen", ",", "inset", "none"],
  882.     regexp: "/^ *(?:\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\)|(?:\\s*rgb(?:\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)|a\\(\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0|\\d+(?:\\.\\d+)?%)\\s*,\\s*(?:\\d+|0(?:\\.\\d+)?|\\.\\d+|1(?:\\.0+)?|0|\\d+(?:\\.\\d+)?%)) *\\))?)+ *$/i",
  883.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HASH_VALUE", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  884.   },
  885.   {
  886.     property: "text-transform",
  887.     values: ["capitalize", "lowercase", "uppercase", "inherit", "none"],
  888.     regexp: undefined,
  889.     propertyBits: [
  890.     ],
  891.   },
  892.   {
  893.     property: "text-wrap",
  894.     values: ["suppress", "unrestricted", "none", "normal"],
  895.     regexp: undefined,
  896.     propertyBits: [
  897.     ],
  898.   },
  899.   {
  900.     property: "top",
  901.     values: ["auto", "inherit"],
  902.     regexp: undefined,
  903.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY", "CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  904.   },
  905.   {
  906.     property: "unicode-bidi",
  907.     values: ["bidi-override", "embed", "inherit", "normal"],
  908.     regexp: undefined,
  909.     propertyBits: [
  910.     ],
  911.   },
  912.   {
  913.     property: "vertical-align",
  914.     values: ["baseline", "middle", "sub", "super", "text-bottom", "text-top", "bottom", "top", "inherit"],
  915.     regexp: undefined,
  916.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  917.   },
  918.   {
  919.     property: "visibility",
  920.     values: ["collapse", "hidden", "inherit", "visible"],
  921.     regexp: undefined,
  922.     propertyBits: ["CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  923.   },
  924.   {
  925.     property: "voice-family",
  926.     values: ["child", "female", "male", ",", "inherit"],
  927.     regexp: null,
  928.     propertyBits: ["CSS_PROP_BIT_QSTRING_CONTENT"],
  929.   },
  930.   {
  931.     property: "volume",
  932.     values: ["loud", "silent", "soft", "x-loud", "x-soft", "inherit", "medium"],
  933.     regexp: undefined,
  934.     propertyBits: ["CSS_PROP_BIT_QUANTITY"],
  935.   },
  936.   {
  937.     property: "white-space",
  938.     values: ["-moz-pre-wrap", "-o-pre-wrap", "-pre-wrap", "nowrap", "pre", "pre-line", "pre-wrap", "inherit", "normal"],
  939.     regexp: undefined,
  940.     propertyBits: [
  941.     ],
  942.   },
  943.   {
  944.     property: "width",
  945.     values: ["auto", "inherit"],
  946.     regexp: undefined,
  947.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_HISTORY_INSENSITIVE"],
  948.   },
  949.   {
  950.     property: "word-spacing",
  951.     values: ["inherit", "normal"],
  952.     regexp: undefined,
  953.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY"],
  954.   },
  955.   {
  956.     property: "word-wrap",
  957.     values: ["break-word", "normal"],
  958.     regexp: undefined,
  959.     propertyBits: [
  960.     ],
  961.   },
  962.   {
  963.     property: "z-index",
  964.     values: ["auto", "inherit"],
  965.     regexp: undefined,
  966.     propertyBits: ["CSS_PROP_BIT_QUANTITY", "CSS_PROP_BIT_NEGATIVE_QUANTITY", "CSS_PROP_BIT_Z_INDEX"],
  967.   },
  968.   {
  969.     property: "zoom",
  970.     values: ["normal"],
  971.     regexp: undefined,
  972.     propertyBits: ["CSS_PROP_BIT_QUANTITY"],
  973.   }]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement