View Javadoc
1   /*
2    * Copyright (c) 2002-2017 Gargoyle Software Inc.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * http://www.apache.org/licenses/LICENSE-2.0
8    *
9    * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  package com.gargoylesoftware.htmlunit.javascript.host.css;
16  
17  import static com.gargoylesoftware.htmlunit.javascript.host.css.BrowserConfiguration.chrome;
18  import static com.gargoylesoftware.htmlunit.javascript.host.css.BrowserConfiguration.ff;
19  import static com.gargoylesoftware.htmlunit.javascript.host.css.BrowserConfiguration.ff52up;
20  import static com.gargoylesoftware.htmlunit.javascript.host.css.BrowserConfiguration.ffBelow52;
21  import static com.gargoylesoftware.htmlunit.javascript.host.css.BrowserConfiguration.ie;
22  
23  import java.util.ArrayList;
24  import java.util.HashMap;
25  import java.util.List;
26  import java.util.Map;
27  
28  import com.gargoylesoftware.htmlunit.BrowserVersion;
29  
30  /**
31   * Contains information about the style attribute defined for different browser as well as their default values.
32   *
33   * @author Marc Guillemot
34   * @author Frank Danek
35   * @author Ahmed Ashour
36   */
37  public final class StyleAttributes {
38      private static final Map<String, Definition> styles_ = new HashMap<>();
39  
40      static {
41          for (final Definition definition : Definition.values()) {
42              styles_.put(definition.getPropertyName(), definition);
43          }
44      }
45  
46      private StyleAttributes() {
47          // nothing
48      }
49  
50      /**
51       * Gets the style attributes definition with the given name for the specified browser version.
52       * @param propertyName the name of the property
53       * @param browserVersion the browser version
54       * @return {@code null} if no definition exists for this browser version
55       */
56      public static Definition getDefinition(final String propertyName, final BrowserVersion browserVersion) {
57          if (browserVersion == null) {
58              return null;
59          }
60  
61          final Definition definition = styles_.get(propertyName);
62          if (definition == null) {
63              return null;
64          }
65          if (!definition.isAvailable(browserVersion, false)) {
66              return null;
67          }
68          return definition;
69      }
70  
71      /**
72       * Gets the style attributes definitions for the specified browser version.
73       * @param browserVersion the browser version
74       * @return the list
75       */
76      public static List<Definition> getDefinitions(final BrowserVersion browserVersion) {
77          final List<Definition> list = new ArrayList<>();
78          for (final Definition definition : Definition.values()) {
79              if (definition.isAvailable(browserVersion, true)) {
80                  list.add(definition);
81              }
82          }
83  
84          return list;
85      }
86  
87      /**
88       * Holds information about a style attribute (CSS name, property name, browser availability, default computed value.
89       * TODO: move all (?) style attribute definitions here.
90       */
91      public enum Definition {
92          /** The style property {@code accelerator}. */
93          ACCELERATOR("accelerator", "accelerator", ie("undefined")),
94  
95          /** The style property {@code alignContent}. */
96          ALIGN_CONTENT("alignContent", "align-content", ie("stretch"),
97                  ffBelow52("auto"), ff52up("normal"), chrome("normal")),
98  
99          /** The style property {@code align-content}. */
100         ALIGN_CONTENT_("align-content", "align-content", ffBelow52("auto"), ff52up("normal")),
101 
102         /** The style property {@code alignItems}. */
103         ALIGN_ITEMS("alignItems", "align-items", ffBelow52("start"), ff52up("normal"),
104                 ie("stretch"), chrome("normal")),
105 
106         /** The style property {@code align-items}. */
107         ALIGN_ITEMS_("align-items", "align-items", ffBelow52("start"), ff52up("normal")),
108 
109         /** The style property {@code alignSelf}. */
110         ALIGN_SELF("alignSelf", "align-self", ffBelow52("start"), ff52up("auto"),
111                 ie("auto"), chrome("normal")),
112 
113         /** The style property {@code align-self}. */
114         ALIGN_SELF_("align-self", "align-self", ffBelow52("start"), ff52up("auto")),
115 
116         /** The style property {@code alignmentBaseline}. */
117         ALIGNMENT_BASELINE("alignmentBaseline", "alignment-baseline", ie("auto"), chrome("auto")),
118 
119         /** The style property {@code all}. */
120         ALL("all", "all", ff(""), chrome("")),
121 
122         /** The style property {@code animation}. */
123         ANIMATION("animation", "animation", ff(""), ie(""), chrome("none 0s ease 0s 1 normal none running")),
124 
125         /** The style property {@code animationDelay}. */
126         ANIMATION_DELAY("animationDelay", "animation-delay", ff("0s"), ie("0s"), chrome("0s")),
127 
128         /** The style property {@code animation-delay}. */
129         ANIMATION_DELAY_("animation-delay", "animation-delay", ff("0s")),
130 
131         /** The style property {@code animationDirection}. */
132         ANIMATION_DIRECTION("animationDirection", "animation-direction",
133                 ff("normal"), ie("normal"), chrome("normal")),
134 
135         /** The style property {@code animation-direction}. */
136         ANIMATION_DIRECTION_("animation-direction", "animation-direction", ff("normal")),
137 
138         /** The style property {@code animationDuration}. */
139         ANIMATION_DURATION("animationDuration", "animation-duration", ff("0s"), ie("0s"), chrome("0s")),
140 
141         /** The style property {@code animation-duration}. */
142         ANIMATION_DURATION_("animation-duration", "animation-duration", ff("0s")),
143 
144         /** The style property {@code animationFillMode}. */
145         ANIMATION_FILL_MODE("animationFillMode", "animation-fill-mode", ff("none"), ie("none"), chrome("none")),
146 
147         /** The style property {@code animation-fill-mode}. */
148         ANIMATION_FILL_MODE_("animation-fill-mode", "animation-fill-mode", ff("none")),
149 
150         /** The style property {@code animationIterationCount}. */
151         ANIMATION_ITERATION_COUNT("animationIterationCount", "animation-iteration-count",
152                 ff("1"), ie("1"), chrome("1")),
153 
154         /** The style property {@code animation-iteration-count}. */
155         ANIMATION_ITERATION_COUNT_("animation-iteration-count", "animation-iteration-count", ff("1")),
156 
157         /** The style property {@code animationName}. */
158         ANIMATION_NAME("animationName", "animation-name", ff("none"), ie("none"), chrome("none")),
159 
160         /** The style property {@code animation-name}. */
161         ANIMATION_NAME_("animation-name", "animation-name", ff("none")),
162 
163         /** The style property {@code animationPlayState}. */
164         ANIMATION_PLAY_STATE("animationPlayState", "animation-play-state",
165                 ff("running"), ie("running"), chrome("running")),
166 
167         /** The style property {@code animation-play-state}. */
168         ANIMATION_PLAY_STATE_("animation-play-state", "animation-play-state", ff("running")),
169 
170         /** The style property {@code animationTimingFunction}. */
171         ANIMATION_TIMING_FUNCTION("animationTimingFunction",
172                 "animation-timing-function",
173                 ff("ease"),
174                 ie("cubic-bezier(0.25, 0.1, 0.25, 1)"), chrome("ease")),
175 
176         /** The style property {@code animation-timing-function}. */
177         ANIMATION_TIMING_FUNCTION_("animation-timing-function", "animation-timing-function",
178                 ff("ease")),
179 
180         /** The style property {@code azimuth}. */
181         AZIMUTH("azimuth", "azimuth"),
182 
183         /** The style property {@code backfaceVisibility}. */
184         BACKFACE_VISIBILITY("backfaceVisibility", "backface-visibility",
185                 ff("visible"), ie("visible"), chrome("visible")),
186 
187         /** The style property {@code backface-visibility}. */
188         BACKFACE_VISIBILITY_("backface-visibility", "backface-visibility", ff("visible")),
189 
190         /** The style property {@code background}. */
191         BACKGROUND("background", "background", ff(""), ie(""),
192                 chrome("rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box")),
193 
194         /** The style property {@code backgroundAttachment}. */
195         BACKGROUND_ATTACHMENT("backgroundAttachment", "background-attachment", chrome("scroll"),
196                 ff("scroll"), ie("scroll")),
197 
198         /** The style property {@code background-attachment}. */
199         BACKGROUND_ATTACHMENT_("background-attachment", "background-attachment", ff("scroll")),
200 
201         /** The style property {@code backgroundBlendMode}. */
202         BACKGROUND_BLEND_MODE("backgroundBlendMode", "background-blend-mode", ff("normal"), chrome("normal")),
203 
204         /** The style property {@code background-blend-mode}. */
205         BACKGROUND_BLEND_MODE_("background-blend-mode", "background-blend-mode", ff("normal")),
206 
207         /** The style property {@code backgroundClip}. */
208         BACKGROUND_CLIP("backgroundClip", "background-clip",
209                 ff("border-box"), ie("border-box"), chrome("border-box")),
210 
211         /** The style property {@code background-clip}. */
212         BACKGROUND_CLIP_("background-clip", "background-clip", ff("border-box")),
213 
214         /** The style property {@code backgroundColor}. */
215         BACKGROUND_COLOR("backgroundColor", "background-color", chrome("rgba(0, 0, 0, 0)"), ff("transparent"),
216                 ie("transparent")),
217 
218         /** The style property {@code background-color}. */
219         BACKGROUND_COLOR_("background-color", "background-color", ff("transparent")),
220 
221         /** The style property {@code backgroundImage}. */
222         BACKGROUND_IMAGE("backgroundImage", "background-image", chrome("none"), ff("none"), ie("none")),
223 
224         /** The style property {@code background-image}. */
225         BACKGROUND_IMAGE_("background-image", "background-image", ff("none")),
226 
227         /** The style property {@code backgroundOrigin}. */
228         BACKGROUND_ORIGIN("backgroundOrigin", "background-origin",
229                 ff("padding-box"), ie("padding-box"), chrome("padding-box")),
230 
231         /** The style property {@code background-origin}. */
232         BACKGROUND_ORIGIN_("background-origin", "background-origin", ff("padding-box")),
233 
234         /** The style property {@code backgroundPosition}. */
235         BACKGROUND_POSITION("backgroundPosition", "background-position", chrome("0% 0%"), ff("0% 0%"), ie("0% 0%")),
236 
237         /** The style property {@code background-position}. */
238         BACKGROUND_POSITION_("background-position", "background-position", ff("0% 0%")),
239 
240         /** The style property {@code backgroundPositionX}. */
241         BACKGROUND_POSITION_X("backgroundPositionX", "background-position-x",
242                 ie("undefined"), chrome("0%"), ff52up("0%")),
243 
244         /** The style property {@code background-position-x}. */
245         BACKGROUND_POSITION_X_("background-position-x", "background-position-x", ff52up("0%")),
246 
247         /** The style property {@code backgroundPositionY}. */
248         BACKGROUND_POSITION_Y("backgroundPositionY", "background-position-y",
249                 ie("undefined"), chrome("0%"), ff52up("0%")),
250 
251         /** The style property {@code background-position-y}. */
252         BACKGROUND_POSITION_Y_("background-position-y", "background-position-y", ff52up("0%")),
253 
254         /** The style property {@code backgroundRepeat}. */
255         BACKGROUND_REPEAT("backgroundRepeat", "background-repeat", chrome("repeat"), ff("repeat"), ie("repeat")),
256 
257         /** The style property {@code background-repeat}. */
258         BACKGROUND_REPEAT_("background-repeat", "background-repeat", ff("repeat")),
259 
260         /** The style property {@code backgroundRepeatX}. */
261         BACKGROUND_REPEAT_X("backgroundRepeatX", "background-repeat-x", chrome("")),
262 
263         /** The style property {@code backgroundRepeatY}. */
264         BACKGROUND_REPEAT_Y("backgroundRepeatY", "background-repeat-y", chrome("")),
265 
266         /** The style property {@code backgroundSize}. */
267         BACKGROUND_SIZE("backgroundSize", "background-size", ff("auto auto"), ie("auto"), chrome("auto")),
268 
269         /** The style property {@code background-size}. */
270         BACKGROUND_SIZE_("background-size", "background-size", ff("auto auto")),
271 
272         /** The style property {@code baselineShift}. */
273         BASELINE_SHIFT("baselineShift", "baseline-shift", ie("baseline"), chrome("0px")),
274 
275         /** The style property {@code behavior}. */
276         BEHAVIOR("behavior", "behavior"),
277 
278         /** The style property {@code blockSize}. */
279         BLOCK_SIZE("blockSize", "block-size", ff(""), chrome("0px")),
280 
281         /** The style property {@code block-size}. */
282         BLOCK_SIZE_("block-size", "block-size", ff("")),
283 
284         /** The style property {@code border}. */
285         BORDER("border", "border", chrome("0px none rgb(0, 0, 0)"), ff(""), ie("")),
286 
287         /** The style property {@code borderBlockEnd}. */
288         BORDER_BLOCK_END("borderBlockEnd", "border-block-end", ff("")),
289 
290         /** The style property {@code border-block-end}. */
291         BORDER_BLOCK_END_("border-block-end", "border-block-end", ff("")),
292 
293         /** The style property {@code borderBlockEndColor}. */
294         BORDER_BLOCK_END_COLOR("borderBlockEndColor", "border-block-end-color", ff("")),
295 
296         /** The style property {@code border-block-end-color}. */
297         BORDER_BLOCK_END_COLOR_("border-block-end-color", "border-block-end-color", ff("")),
298 
299         /** The style property {@code borderBlockEndStyle}. */
300         BORDER_BLOCK_END_STYLE("borderBlockEndStyle", "border-block-end-style", ff("")),
301 
302         /** The style property {@code border-block-end-style}. */
303         BORDER_BLOCK_END_STYLE_("border-block-end-style", "border-block-end-style", ff("")),
304 
305         /** The style property {@code borderBlockEndWidth}. */
306         BORDER_BLOCK_END_WIDTH("borderBlockEndWidth", "border-block-end-width", ff("")),
307 
308         /** The style property {@code border-block-end-width}. */
309         BORDER_BLOCK_END_WIDTH_("border-block-end-width", "border-block-end-width", ff("")),
310 
311         /** The style property {@code borderBlockStart}. */
312         BORDER_BLOCK_START("borderBlockStart", "border-block-start", ff("")),
313 
314         /** The style property {@code border-block-start}. */
315         BORDER_BLOCK_START_("border-block-start", "border-block-start", ff("")),
316 
317         /** The style property {@code borderBlockStartColor}. */
318         BORDER_BLOCK_START_COLOR("borderBlockStartColor", "border-block-start-color", ff("")),
319 
320         /** The style property {@code border-block-start-color}. */
321         BORDER_BLOCK_START_COLOR_("border-block-start-color", "border-block-start-color", ff("")),
322 
323         /** The style property {@code borderBlockStartStyle}. */
324         BORDER_BLOCK_START_STYLE("borderBlockStartStyle", "border-block-start-style", ff("")),
325 
326         /** The style property {@code border-block-start-style}. */
327         BORDER_BLOCK_START_STYLE_("border-block-start-style", "border-block-start-style", ff("")),
328 
329         /** The style property {@code borderBlockStartWidth}. */
330         BORDER_BLOCK_START_WIDTH("borderBlockStartWidth", "border-block-start-width", ff("")),
331 
332         /** The style property {@code border-block-start-width}. */
333         BORDER_BLOCK_START_WIDTH_("border-block-start-width", "border-block-start-width", ff("")),
334 
335         /** The style property {@code borderBottom}. */
336         BORDER_BOTTOM("borderBottom", "border-bottom", chrome("0px none rgb(0, 0, 0)"), ff(""), ie("")),
337 
338         /** The style property {@code border-bottom}. */
339         BORDER_BOTTOM_("border-bottom", "border-bottom", ff("")),
340 
341         /** The style property {@code borderBottomColor}. */
342         BORDER_BOTTOM_COLOR("borderBottomColor", "border-bottom-color", chrome("rgb(0, 0, 0)"), ff("rgb(0, 0, 0)"),
343                 ie("rgb(0, 0, 0)")),
344 
345         /** The style property {@code border-bottom-color}. */
346         BORDER_BOTTOM_COLOR_("border-bottom-color", "border-bottom-color", ff("rgb(0, 0, 0)")),
347 
348         /** The style property {@code borderBottomLeftRadius}. */
349         BORDER_BOTTOM_LEFT_RADIUS("borderBottomLeftRadius", "border-bottom-left-radius",
350                 ff("0px"), ie("0px"), chrome("0px")),
351 
352         /** The style property {@code border-bottom-left-radius}. */
353         BORDER_BOTTOM_LEFT_RADIUS_("border-bottom-left-radius", "border-bottom-left-radius", ff("0px")),
354 
355         /** The style property {@code borderBottomRightRadius}. */
356         BORDER_BOTTOM_RIGHT_RADIUS("borderBottomRightRadius", "border-bottom-right-radius",
357                 ff("0px"), ie("0px"), chrome("0px")),
358 
359         /** The style property {@code border-bottom-right-radius}. */
360         BORDER_BOTTOM_RIGHT_RADIUS_("border-bottom-right-radius", "border-bottom-right-radius", ff("0px")),
361 
362         /** The style property {@code borderBottomStyle}. */
363         BORDER_BOTTOM_STYLE("borderBottomStyle", "border-bottom-style", chrome("none"), ff("none"), ie("none")),
364 
365         /** The style property {@code border-bottom-style}. */
366         BORDER_BOTTOM_STYLE_("border-bottom-style", "border-bottom-style", ff("none")),
367 
368         /** The style property {@code borderBottomWidth}. */
369         BORDER_BOTTOM_WIDTH("borderBottomWidth", "border-bottom-width", chrome("0px"), ff("0px"), ie("0px")),
370 
371         /** The style property {@code border-bottom-width}. */
372         BORDER_BOTTOM_WIDTH_("border-bottom-width", "border-bottom-width", ff("0px")),
373 
374         /** The style property {@code borderCollapse}. */
375         BORDER_COLLAPSE("borderCollapse", "border-collapse", chrome("separate"), ff("separate"), ie("separate")),
376 
377         /** The style property {@code border-collapse}. */
378         BORDER_COLLAPSE_("border-collapse", "border-collapse", ff("separate")),
379 
380         /** The style property {@code borderColor}. */
381         BORDER_COLOR("borderColor", "border-color", chrome("rgb(0, 0, 0)"), ff(""), ie("")),
382 
383         /** The style property {@code border-color}. */
384         BORDER_COLOR_("border-color", "border-color", ff("")),
385 
386         /** The style property {@code borderImage}. */
387         BORDER_IMAGE("borderImage", "border-image", ff(""), ie(""), chrome("none")),
388 
389         /** The style property {@code border-image}. */
390         BORDER_IMAGE_("border-image", "border-image", ff("")),
391 
392         /** The style property {@code borderImageOutset}. */
393         BORDER_IMAGE_OUTSET("borderImageOutset", "border-image-outset", ff("0 0 0 0"), ie("0"), chrome("0px")),
394 
395         /** The style property {@code border-image-outset}. */
396         BORDER_IMAGE_OUTSET_("border-image-outset", "border-image-outset", ff("0 0 0 0")),
397 
398         /** The style property {@code borderImageRepeat}. */
399         BORDER_IMAGE_REPEAT("borderImageRepeat", "border-image-repeat",
400                 ff("stretch stretch"), ie("stretch"), chrome("stretch")),
401 
402         /** The style property {@code border-image-repeat}. */
403         BORDER_IMAGE_REPEAT_("border-image-repeat", "border-image-repeat", ff("stretch stretch")),
404 
405         /** The style property {@code borderImageSlice}. */
406         BORDER_IMAGE_SLICE("borderImageSlice", "border-image-slice",
407                 ff("100% 100% 100% 100%"), ie("100%"), chrome("100%")),
408 
409         /** The style property {@code border-image-slice}. */
410         BORDER_IMAGE_SLICE_("border-image-slice", "border-image-slice", ff("100% 100% 100% 100%")),
411 
412         /** The style property {@code borderImageSource}. */
413         BORDER_IMAGE_SOURCE("borderImageSource", "border-image-source", ff("none"), ie("none"), chrome("none")),
414 
415         /** The style property {@code border-image-source}. */
416         BORDER_IMAGE_SOURCE_("border-image-source", "border-image-source", ff("none")),
417 
418         /** The style property {@code borderImageWidth}. */
419         BORDER_IMAGE_WIDTH("borderImageWidth", "border-image-width", ff("1 1 1 1"), ie("1"), chrome("1")),
420 
421         /** The style property {@code border-image-width}. */
422         BORDER_IMAGE_WIDTH_("border-image-width", "border-image-width", ff("1 1 1 1")),
423 
424         /** The style property {@code borderInlineEnd}. */
425         BORDER_INLINE_END("borderInlineEnd", "border-inline-end", ff("")),
426 
427         /** The style property {@code border-inline-end}. */
428         BORDER_INLINE_END_("border-inline-end", "border-inline-end", ff("")),
429 
430         /** The style property {@code borderInlineEndColor}. */
431         BORDER_INLINE_END_COLOR("borderInlineEndColor", "border-inline-end-color", ff("")),
432 
433         /** The style property {@code border-inline-end-color}. */
434         BORDER_INLINE_END_COLOR_("border-inline-end-color", "border-inline-end-color", ff("")),
435 
436         /** The style property {@code borderInlineEndStyle}. */
437         BORDER_INLINE_END_STYLE("borderInlineEndStyle", "border-inline-end-style", ff("")),
438 
439         /** The style property {@code border-inline-end-style}. */
440         BORDER_INLINE_END_STYLE_("border-inline-end-style", "border-inline-end-style", ff("")),
441 
442         /** The style property {@code borderInlineEndWidth}. */
443         BORDER_INLINE_END_WIDTH("borderInlineEndWidth", "border-inline-end-width", ff("")),
444 
445         /** The style property {@code border-inline-end-width}. */
446         BORDER_INLINE_END_WIDTH_("border-inline-end-width", "border-inline-end-width", ff("")),
447 
448         /** The style property {@code borderInlineStart}. */
449         BORDER_INLINE_START("borderInlineStart", "border-inline-start", ff("")),
450 
451         /** The style property {@code border-inline-start}. */
452         BORDER_INLINE_START_("border-inline-start", "border-inline-start", ff("")),
453 
454         /** The style property {@code borderInlineStartColor}. */
455         BORDER_INLINE_START_COLOR("borderInlineStartColor", "border-inline-start-color", ff("")),
456 
457         /** The style property {@code border-inline-start-color}. */
458         BORDER_INLINE_START_COLOR_("border-inline-start-color", "border-inline-start-color", ff("")),
459 
460         /** The style property {@code borderInlineStartStyle}. */
461         BORDER_INLINE_START_STYLE("borderInlineStartStyle", "border-inline-start-style", ff("")),
462 
463         /** The style property {@code border-inline-start-style}. */
464         BORDER_INLINE_START_STYLE_("border-inline-start-style", "border-inline-start-style", ff("")),
465 
466         /** The style property {@code borderInlineStartWidth}. */
467         BORDER_INLINE_START_WIDTH("borderInlineStartWidth", "border-inline-start-width", ff("")),
468 
469         /** The style property {@code border-inline-start-width}. */
470         BORDER_INLINE_START_WIDTH_("border-inline-start-width", "border-inline-start-width", ff("")),
471 
472         /** The style property {@code borderLeft}. */
473         BORDER_LEFT("borderLeft", "border-left", chrome("0px none rgb(0, 0, 0)"), ff(""), ie("")),
474 
475         /** The style property {@code border-left}. */
476         BORDER_LEFT_("border-left", "border-left", ff("")),
477 
478         /** The style property {@code borderLeftColor}. */
479         BORDER_LEFT_COLOR("borderLeftColor", "border-left-color", chrome("rgb(0, 0, 0)"), ff("rgb(0, 0, 0)"),
480                 ie("rgb(0, 0, 0)")),
481 
482         /** The style property {@code border-left-color}. */
483         BORDER_LEFT_COLOR_("border-left-color", "border-left-color", ff("rgb(0, 0, 0)")),
484 
485         /** The style property {@code borderLeftStyle}. */
486         BORDER_LEFT_STYLE("borderLeftStyle", "border-left-style", chrome("none"), ff("none"), ie("none")),
487 
488         /** The style property {@code border-left-style}. */
489         BORDER_LEFT_STYLE_("border-left-style", "border-left-style", ff("none")),
490 
491         /** The style property {@code borderLeftWidth}. */
492         BORDER_LEFT_WIDTH("borderLeftWidth", "border-left-width", chrome("0px"), ff(""), ie("")),
493 
494         /** The style property {@code border-left-width}. */
495         BORDER_LEFT_WIDTH_("border-left-width", "border-left-width", ff("0px")),
496 
497         /** The style property {@code borderRadius}. */
498         BORDER_RADIUS("borderRadius", "border-radius", ff(""), ie(""), chrome("0px")),
499 
500         /** The style property {@code border-radius}. */
501         BORDER_RADIUS_("border-radius", "border-radius", ff("")),
502 
503         /** The style property {@code borderRight}. */
504         BORDER_RIGHT("borderRight", "border-right", chrome("0px none rgb(0, 0, 0)"), ff(""), ie("")),
505 
506         /** The style property {@code border-right}. */
507         BORDER_RIGHT_("border-right", "border-right", ff("")),
508 
509         /** The style property {@code borderRightColor}. */
510         BORDER_RIGHT_COLOR("borderRightColor", "border-right-color", chrome("rgb(0, 0, 0)"), ff(""), ie("")),
511 
512         /** The style property {@code border-right-color}. */
513         BORDER_RIGHT_COLOR_("border-right-color", "border-right-color", ff("rgb(0, 0, 0)")),
514 
515         /** The style property {@code borderRightStyle}. */
516         BORDER_RIGHT_STYLE("borderRightStyle", "border-right-style", chrome("none"), ff(""), ie("")),
517 
518         /** The style property {@code border-right-style}. */
519         BORDER_RIGHT_STYLE_("border-right-style", "border-right-style", ff("none")),
520 
521         /** The style property {@code borderRightWidth}. */
522         BORDER_RIGHT_WIDTH("borderRightWidth", "border-right-width", chrome("0px"), ff(""), ie("")),
523 
524         /** The style property {@code border-right-width}. */
525         BORDER_RIGHT_WIDTH_("border-right-width", "border-right-width", ff("0px")),
526 
527         /** The style property {@code borderSpacing}. */
528         BORDER_SPACING("borderSpacing", "border-spacing", chrome("0px 0px"), ff("0px 0px"), ie("0px 0px")),
529 
530         /** The style property {@code border-spacing}. */
531         BORDER_SPACING_("border-spacing", "border-spacing", ff("0px 0px")),
532 
533         /** The style property {@code borderStyle}. */
534         BORDER_STYLE("borderStyle", "border-style", chrome("none"), ff(""), ie("")),
535 
536         /** The style property {@code border-style}. */
537         BORDER_STYLE_("border-style", "border-style", ff("")),
538 
539         /** The style property {@code borderTop}. */
540         BORDER_TOP("borderTop", "border-top", chrome("0px none rgb(0, 0, 0)"), ff(""), ie("")),
541 
542         /** The style property {@code border-top}. */
543         BORDER_TOP_("border-top", "border-top", ff("")),
544 
545         /** The style property {@code borderTopColor}. */
546         BORDER_TOP_COLOR("borderTopColor", "border-top-color", chrome("rgb(0, 0, 0)"), ff(""), ie("")),
547 
548         /** The style property {@code border-top-color}. */
549         BORDER_TOP_COLOR_("border-top-color", "border-top-color", ff("rgb(0, 0, 0)")),
550 
551         /** The style property {@code borderTopLeftRadius}. */
552         BORDER_TOP_LEFT_RADIUS("borderTopLeftRadius", "border-top-left-radius",
553                 ff("0px"), ie("0px"), chrome("0px")),
554 
555         /** The style property {@code border-top-left-radius}. */
556         BORDER_TOP_LEFT_RADIUS_("border-top-left-radius", "border-top-left-radius", ff("0px")),
557 
558         /** The style property {@code borderTopRightRadius}. */
559         BORDER_TOP_RIGHT_RADIUS("borderTopRightRadius", "border-top-right-radius",
560                 ff("0px"), ie("0px"), chrome("0px")),
561 
562         /** The style property {@code border-top-right-radius}. */
563         BORDER_TOP_RIGHT_RADIUS_("border-top-right-radius", "border-top-right-radius", ff("0px")),
564 
565         /** The style property {@code borderTopStyle}. */
566         BORDER_TOP_STYLE("borderTopStyle", "border-top-style", chrome("none"), ff(""), ie("")),
567 
568         /** The style property {@code border-top-style}. */
569         BORDER_TOP_STYLE_("border-top-style", "border-top-style", ff("none")),
570 
571         /** The style property {@code borderTopWidth}. */
572         BORDER_TOP_WIDTH("borderTopWidth", "border-top-width", chrome("0px"), ff(""), ie("")),
573 
574         /** The style property {@code border-top-width}. */
575         BORDER_TOP_WIDTH_("border-top-width", "border-top-width", ff("0px")),
576 
577         /** The style property {@code borderWidth}. */
578         BORDER_WIDTH("borderWidth", "border-width", chrome("0px"), ff(""), ie("")),
579 
580         /** The style property {@code border-width}. */
581         BORDER_WIDTH_("border-width", "border-width", ff("")),
582 
583         /** The style property {@code bottom}. */
584         BOTTOM("bottom", "bottom", chrome("auto"), ff(""), ie("")),
585 
586         /** The style property {@code boxDecorationBreak}. */
587         BOX_DECORATION_BREAK("boxDecorationBreak", "box-decoration-break", ff("slice")),
588 
589         /** The style property {@code box-decoration-break}. */
590         BOX_DECORATION_BREAK_("box-decoration-break", "box-decoration-break", ff("slice")),
591 
592         /** The style property {@code boxShadow}. */
593         BOX_SHADOW("boxShadow", "box-shadow", ff("none"), ie("none"), chrome("none")),
594 
595         /** The style property {@code box-shadow}. */
596         BOX_SHADOW_("box-shadow", "box-shadow", ff("none")),
597 
598         /** The style property {@code boxSizing}. */
599         BOX_SIZING("boxSizing", "box-sizing", ff("content-box"), ie("content-box"), chrome("content-box")),
600 
601         /** The style property {@code box-sizing}. */
602         BOX_SIZING_("box-sizing", "box-sizing", ff("content-box")),
603 
604         /** The style property {@code breakAfter}. */
605         BREAK_AFTER("breakAfter", "break-after", chrome("auto"), ie("auto")),
606 
607         /** The style property {@code breakBefore}. */
608         BREAK_BEFORE("breakBefore", "break-before", chrome("auto"), ie("auto")),
609 
610         /** The style property {@code breakInside}. */
611         BREAK_INSIDE("breakInside", "break-inside", chrome("auto"), ie("auto")),
612 
613         /** The style property {@code bufferedRendering}. */
614         BUFFERED_RENDERING("bufferedRendering", "buffered-rendering", chrome("auto")),
615 
616         /** The style property {@code captionSide}. */
617         CAPTION_SIDE("captionSide", "caption-side", chrome("top"), ff("top"), ie("top")),
618 
619         /** The style property {@code caption-side}. */
620         CAPTION_SIDE_("caption-side", "caption-side", ff("top")),
621 
622         /** The style property {@code caretColor}. */
623         CARET_COLOR("caretColor", "caret-color", chrome("rgb(0, 0, 0)")),
624 
625         /** The style property {@code clear}. */
626         CLEAR("clear", "clear", chrome("none"), ff("none"), ie("none")),
627 
628         /** The style property {@code clip}. */
629         CLIP("clip", "clip", chrome("auto"), ff("auto"), ie("auto")),
630 
631         /** The style property {@code clipPath}. */
632         CLIP_PATH("clipPath", "clip-path", ff("none"), ie("none"), chrome("none")),
633 
634         /** The style property {@code clip-path}. */
635         CLIP_PATH_("clip-path", "clip-path", ff("none")),
636 
637         /** The style property {@code clipRule}. */
638         CLIP_RULE("clipRule", "clip-rule", ff("nonzero"), ie("nonzero"), chrome("nonzero")),
639 
640         /** The style property {@code clip-rule}. */
641         CLIP_RULE_("clip-rule", "clip-rule", ff("nonzero")),
642 
643         /** The style property {@code color}. */
644         COLOR("color", "color", chrome("rgb(0, 0, 0)"), ff(""), ie("")),
645 
646         /** The style property {@code colorAdjust}. */
647         COLOR_ADJUST("colorAdjust", "color-adjust", ff52up("economy")),
648 
649         /** The style property {@code color-adjust}. */
650         COLOR_ADJUST_("color-adjust", "color-adjust", ff52up("economy")),
651 
652         /** The style property {@code colorInterpolation}. */
653         COLOR_INTERPOLATION("colorInterpolation", "color-interpolation", ff("srgb"), chrome("sRGB")),
654 
655         /** The style property {@code color-interpolation}. */
656         COLOR_INTERPOLATION_("color-interpolation", "color-interpolation", ff("srgb")),
657 
658         /** The style property {@code colorInterpolationFilters}. */
659         COLOR_INTERPOLATION_FILTERS("colorInterpolationFilters",
660                 "color-interpolation-filters", ff("linearrgb"), ie(""), chrome("linearRGB")),
661 
662         /** The style property {@code color-interpolation-filters}. */
663         COLOR_INTERPOLATION_FILTERS_("color-interpolation-filters", "color-interpolation-filters", ff("linearrgb")),
664 
665         /** The style property {@code colorRendering}. */
666         COLOR_RENDERING("colorRendering", "color-rendering", chrome("auto")),
667 
668         /** The style property {@code columnCount}. */
669         COLUMN_COUNT("columnCount", "column-count", chrome("auto"), ff52up("auto"), ie("auto")),
670 
671         /** The style property {@code column-count}. */
672         COLUMN_COUNT_("column-count", "column-count", ff52up("auto")),
673 
674         /** The style property {@code columnFill}. */
675         COLUMN_FILL("columnFill", "column-fill", chrome("balance"), ff52up("balance"), ie("balance")),
676 
677         /** The style property {@code column-fill}. */
678         COLUMN_FILL_("column-fill", "column-fill", ff52up("balance")),
679 
680         /** The style property {@code columnGap}. */
681         COLUMN_GAP("columnGap", "column-gap", chrome("normal"), ff52up("16px"), ie("normal")),
682 
683         /** The style property {@code column-gap}. */
684         COLUMN_GAP_("column-gap", "column-gap", ff52up("16px")),
685 
686         /** The style property {@code columnRule}. */
687         COLUMN_RULE("columnRule", "column-rule", chrome("0px none rgb(0, 0, 0)"), ff52up(""), ie("")),
688 
689         /** The style property {@code column-rule}. */
690         COLUMN_RULE_("column-rule", "column-rule", ff52up("")),
691 
692         /** The style property {@code columnRuleColor}. */
693         COLUMN_RULE_COLOR("columnRuleColor", "column-rule-color",
694                 chrome("rgb(0, 0, 0)"), ff52up("rgb(0, 0, 0)"), ie("rgb(0, 0, 0)")),
695 
696         /** The style property {@code column-rule-color}. */
697         COLUMN_RULE_COLOR_("column-rule-color", "column-rule-color", ff52up("rgb(0, 0, 0)")),
698 
699         /** The style property {@code columnRuleStyle}. */
700         COLUMN_RULE_STYLE("columnRuleStyle", "column-rule-style", chrome("none"), ff52up("none"), ie("none")),
701 
702         /** The style property {@code column-rule-style}. */
703         COLUMN_RULE_STYLE_("column-rule-style", "column-rule-style", ff52up("none")),
704 
705         /** The style property {@code columnRuleWidth}. */
706         COLUMN_RULE_WIDTH("columnRuleWidth", "column-rule-width", chrome("0px"), ff52up("0px"), ie("medium")),
707 
708         /** The style property {@code column-rule-width}. */
709         COLUMN_RULE_WIDTH_("column-rule-width", "column-rule-width", ff52up("0px")),
710 
711         /** The style property {@code columnSpan}. */
712         COLUMN_SPAN("columnSpan", "column-span", chrome("none"), ie("1")),
713 
714         /** The style property {@code columnWidth}. */
715         COLUMN_WIDTH("columnWidth", "column-width", chrome("auto"), ff52up("auto"), ie("auto")),
716 
717         /** The style property {@code column-width}. */
718         COLUMN_WIDTH_("column-width", "column-width", ff52up("auto")),
719 
720         /** The style property {@code columns}. */
721         COLUMNS("columns", "columns", chrome("auto auto"), ff52up(""), ie("")),
722 
723         /** The style property {@code contain}. */
724         CONTAIN("contain", "contain", chrome("none")),
725 
726         /** The style property {@code content}. */
727         CONTENT("content", "content", ie("normal"), chrome(""), ff("none")),
728 
729         /** The style property {@code counterIncrement}. */
730         COUNTER_INCREMENT("counterIncrement", "counter-increment", chrome("none"), ff("none"), ie("none")),
731 
732         /** The style property {@code counter-increment}. */
733         COUNTER_INCREMENT_("counter-increment", "counter-increment", ff("none")),
734 
735         /** The style property {@code counterReset}. */
736         COUNTER_RESET("counterReset", "counter-reset", chrome("none"), ff("none"), ie("none")),
737 
738         /** The style property {@code counter-reset}. */
739         COUNTER_RESET_("counter-reset", "counter-reset", ff("none")),
740 
741         /** The style property {@code cssFloat}. */
742         CSS_FLOAT("cssFloat", "css-float", chrome("none"), ff("none"), ie("none")),
743 
744         //TODO: seems to be a combination of all other properties.
745         /** The style property {@code cssText}. */
746         CSS_TEXT("cssText", "css-text", chrome(""), ff(""), ie("")),
747 
748         /** The style property {@code cue}. */
749         CUE("cue", "cue"),
750 
751         /** The style property {@code cueAfter}. */
752         CUE_AFTER("cueAfter", "cue-after"),
753 
754         /** The style property {@code cueBefore}. */
755         CUE_BEFORE("cueBefore", "cue-before"),
756 
757         /** The style property {@code cursor}. */
758         CURSOR("cursor", "cursor", chrome("auto"), ff("auto"), ie("auto")),
759 
760         /** The style property {@code cx}. */
761         CX("cx", "cx", chrome("0px")),
762 
763         /** The style property {@code cy}. */
764         CY("cy", "cy", chrome("0px")),
765 
766         /** The style property {@code d}. */
767         D("d", "d", chrome("none")),
768 
769         /** The style property {@code direction}. */
770         DIRECTION("direction", "direction", chrome("ltr"), ff("ltr"), ie("ltr")),
771 
772         /** The style property {@code display}. */
773         DISPLAY("display", "display", chrome("block"), ff(""), ie("")),
774 
775         /** The style property {@code dominantBaseline}. */
776         DOMINANT_BASELINE("dominantBaseline", "dominant-baseline", ff("auto"), ie("auto"), chrome("auto")),
777 
778         /** The style property {@code dominant-baseline}. */
779         DOMINANT_BASELINE_("dominant-baseline", "dominant-baseline", ff("auto")),
780 
781         /** The style property {@code elevation}. */
782         ELEVATION("elevation", "elevation"),
783 
784         /** The style property {@code emptyCells}. */
785         EMPTY_CELLS("emptyCells", "empty-cells", ie("show"), ff("show"),
786                 chrome("show")),
787 
788         /** The style property {@code empty-cells}. */
789         EMPTY_CELLS_("empty-cells", "empty-cells", ff("show")),
790 
791         /** The style property {@code enableBackground}. */
792         ENABLE_BACKGROUND("enableBackground", "enable-background", ie("accumulate")),
793 
794         /** The style property {@code fill}. */
795         FILL("fill", "fill", ff("rgb(0, 0, 0)"), ie("black"), chrome("rgb(0, 0, 0)")),
796 
797         /** The style property {@code fillOpacity}. */
798         FILL_OPACITY("fillOpacity", "fill-opacity", ff("1"), ie("1"), chrome("1")),
799 
800         /** The style property {@code fill-opacity}. */
801         FILL_OPACITY_("fill-opacity", "fill-opacity", ff("1")),
802 
803         /** The style property {@code fillRule}. */
804         FILL_RULE("fillRule", "fill-rule", ff("nonzero"), ie("nonzero"), chrome("nonzero")),
805 
806         /** The style property {@code fill-rule}. */
807         FILL_RULE_("fill-rule", "fill-rule", ff("nonzero")),
808 
809         /** The style property {@code filter}. */
810         FILTER("filter", "filter", ff("none"), ie("none"), chrome("none")),
811 
812         /** The style property {@code flex}. */
813         FLEX("flex", "flex", ff(""), ie("0 1 auto"), chrome("0 1 auto")),
814 
815         /** The style property {@code flexBasis}. */
816         FLEX_BASIS("flexBasis", "flex-basis", ff("auto"), ie("auto"), chrome("auto")),
817 
818         /** The style property {@code flex-basis}. */
819         FLEX_BASIS_("flex-basis", "flex-basis", ff("auto")),
820 
821         /** The style property {@code flexDirection}. */
822         FLEX_DIRECTION("flexDirection", "flex-direction", ff("row"), ie("row"), chrome("row")),
823 
824         /** The style property {@code flex-direction}. */
825         FLEX_DIRECTION_("flex-direction", "flex-direction", ff("row")),
826 
827         /** The style property {@code flexFlow}. */
828         FLEX_FLOW("flexFlow", "flex-flow", ff(""), ie("row nowrap"), chrome("row nowrap")),
829 
830         /** The style property {@code flex-flow}. */
831         FLEX_FLOW_("flex-flow", "flex-flow", ff("")),
832 
833         /** The style property {@code flexGrow}. */
834         FLEX_GROW("flexGrow", "flex-grow", ff("0"), ie("0"), chrome("0")),
835 
836         /** The style property {@code flex-grow}. */
837         FLEX_GROW_("flex-grow", "flex-grow", ff("0")),
838 
839         /** The style property {@code flexShrink}. */
840         FLEX_SHRINK("flexShrink", "flex-shrink", ff("1"), ie("1"), chrome("1")),
841 
842         /** The style property {@code flex-shrink}. */
843         FLEX_SHRINK_("flex-shrink", "flex-shrink", ff("1")),
844 
845         /** The style property {@code flexWrap}. */
846         FLEX_WRAP("flexWrap", "flex-wrap", ff("nowrap"), ie("nowrap"), chrome("nowrap")),
847 
848         /** The style property {@code flex-wrap}. */
849         FLEX_WRAP_("flex-wrap", "flex-wrap", ff("nowrap")),
850 
851         /** The style property {@code float}. */
852         FLOAT("float", "float", ff("none"), chrome("none")),
853 
854         /** The style property {@code floodColor}. */
855         FLOOD_COLOR("floodColor", "flood-color", ff("rgb(0, 0, 0)"), ie(""), chrome("rgb(0, 0, 0)")),
856 
857         /** The style property {@code flood-color}. */
858         FLOOD_COLOR_("flood-color", "flood-color", ff("rgb(0, 0, 0)")),
859 
860         /** The style property {@code floodOpacity}. */
861         FLOOD_OPACITY("floodOpacity", "flood-opacity", ff("1"), ie("1"), chrome("1")),
862 
863         /** The style property {@code flood-opacity}. */
864         FLOOD_OPACITY_("flood-opacity", "flood-opacity", ff("1")),
865 
866         /** The style property {@code font}. */
867         FONT("font", "font", chrome("normal normal normal normal 16px / normal \"Times New Roman\""), ff(""), ie("")),
868 
869         /** The style property {@code fontFamily}. */
870         FONT_FAMILY("fontFamily", "font-family", chrome("\"Times New Roman\""), ie("Times New Roman"), ff("serif")),
871 
872         /** The style property {@code font-family}. */
873         FONT_FAMILY_("font-family", "font-family", ff("serif")),
874 
875         /** The style property {@code fontFeatureSettings}. */
876         FONT_FEATURE_SETTINGS("fontFeatureSettings", "font-feature-settings",
877                 ie("normal"), ff("normal"), chrome("normal")),
878 
879         /** The style property {@code font-feature-settings}. */
880         FONT_FEATURE_SETTINGS_("font-feature-settings", "font-feature-settings", ff("normal")),
881 
882         /** The style property {@code fontKerning}. */
883         FONT_KERNING("fontKerning", "font-kerning", ff("auto"), chrome("auto")),
884 
885         /** The style property {@code font-kerning}. */
886         FONT_KERNING_("font-kerning", "font-kerning", ff("auto")),
887 
888         /** The style property {@code fontLanguageOverride}. */
889         FONT_LANGUAGE_OVERRIDE("fontLanguageOverride", "font-language-override", ff("normal")),
890 
891         /** The style property {@code font-language-override}. */
892         FONT_LANGUAGE_OVERRIDE_("font-language-override", "font-language-override", ff("normal")),
893 
894         /** The style property {@code fontSize}. */
895         FONT_SIZE("fontSize", "font-size", chrome("16px"), ff("16px"), ie("16px")),
896 
897         /** The style property {@code font-size}. */
898         FONT_SIZE_("font-size", "font-size", ff("16px")),
899 
900         /** The style property {@code fontSizeAdjust}. */
901         FONT_SIZE_ADJUST("fontSizeAdjust", "font-size-adjust", ff("none"), ie("none")),
902 
903         /** The style property {@code font-size-adjust}. */
904         FONT_SIZE_ADJUST_("font-size-adjust", "font-size-adjust", ff("none")),
905 
906         /** The style property {@code fontStretch}. */
907         FONT_STRETCH("fontStretch", "font-stretch", chrome("normal"), ff("normal"), ie("normal")),
908 
909         /** The style property {@code font-stretch}. */
910         FONT_STRETCH_("font-stretch", "font-stretch", ff("normal")),
911 
912         /** The style property {@code fontStyle}. */
913         FONT_STYLE("fontStyle", "font-style", chrome("normal"), ff("normal"), ie("normal")),
914 
915         /** The style property {@code font-style}. */
916         FONT_STYLE_("font-style", "font-style", ff("normal")),
917 
918         /** The style property {@code fontSynthesis}. */
919         FONT_SYNTHESIS("fontSynthesis", "font-synthesis", ff("weight style")),
920 
921         /** The style property {@code font-synthesis}. */
922         FONT_SYNTHESIS_("font-synthesis", "font-synthesis", ff("weight style")),
923 
924         /** The style property {@code fontVariant}. */
925         FONT_VARIANT("fontVariant", "font-variant", chrome("normal"), ff("normal"), ie("normal")),
926 
927         /** The style property {@code font-variant}. */
928         FONT_VARIANT_("font-variant", "font-variant", ff("normal")),
929 
930         /** The style property {@code fontVariantAlternates}. */
931         FONT_VARIANT_ALTERNATES("fontVariantAlternates", "font-variant-alternates", ff("normal")),
932 
933         /** The style property {@code font-variant-alternates}. */
934         FONT_VARIANT_ALTERNATES_("font-variant-alternates", "font-variant-alternates", ff("normal")),
935 
936         /** The style property {@code fontVariantCaps}. */
937         FONT_VARIANT_CAPS("fontVariantCaps", "font-variant-caps", ff("normal"), chrome("normal")),
938 
939         /** The style property {@code font-variant-caps}. */
940         FONT_VARIANT_CAPS_("font-variant-caps", "font-variant-caps", ff("normal")),
941 
942         /** The style property {@code fontVariantEastAsian}. */
943         FONT_VARIANT_EAST_ASIAN("fontVariantEastAsian", "font-variant-east-asian", ff("normal")),
944 
945         /** The style property {@code font-variant-east-asian}. */
946         FONT_VARIANT_EAST_ASIAN_("font-variant-east-asian", "font-variant-east-asian", ff("normal")),
947 
948         /** The style property {@code fontVariantLigatures}. */
949         FONT_VARIANT_LIGATURES("fontVariantLigatures", "font-variant-ligatures", ff("normal"), chrome("normal")),
950 
951         /** The style property {@code font-variant-ligatures}. */
952         FONT_VARIANT_LIGATURES_("font-variant-ligatures", "font-variant-ligatures", ff("normal")),
953 
954         /** The style property {@code fontVariantNumeric}. */
955         FONT_VARIANT_NUMERIC("fontVariantNumeric", "font-variant-numeric", ff("normal"), chrome("normal")),
956 
957         /** The style property {@code font-variant-numeric}. */
958         FONT_VARIANT_NUMERIC_("font-variant-numeric", "font-variant-numeric", ff("normal")),
959 
960         /** The style property {@code fontVariantPosition}. */
961         FONT_VARIANT_POSITION("fontVariantPosition", "font-variant-position", ff("normal")),
962 
963         /** The style property {@code font-variant-position}. */
964         FONT_VARIANT_POSITION_("font-variant-position", "font-variant-position", ff("normal")),
965 
966         /** The style property {@code fontWeight}. */
967         FONT_WEIGHT("fontWeight", "font-weight", chrome("normal"), ff("400"), ie("400")),
968 
969         /** The style property {@code font-weight}. */
970         FONT_WEIGHT_("font-weight", "font-weight", ff("400")),
971 
972         /** The style property {@code glyphOrientationHorizontal}. */
973         GLYPH_ORIENTATION_HORIZONTAL("glyphOrientationHorizontal", "glyph-orientation-horizontal",
974                 ie("0deg")),
975 
976         /** The style property {@code glyphOrientationVertical}. */
977         GLYPH_ORIENTATION_VERTICAL("glyphOrientationVertical", "glyph-orientation-vertical",
978                 ie("auto")),
979 
980         /** The style property {@code grid}. */
981         GRID("grid", "grid", chrome("none / none / none / row / auto / auto / 0px / 0px"),
982                 ff52up("")),
983 
984         /** The style property {@code gridArea}. */
985         GRID_AREA("gridArea", "grid-area", chrome("auto / auto / auto / auto"), ff52up("")),
986 
987         /** The style property {@code grid-area}. */
988         GRID_AREA_("grid-area", "grid-area", ff52up("")),
989 
990         /** The style property {@code gridAutoColumns}. */
991         GRID_AUTO_COLUMNS("gridAutoColumns", "grid-auto-columns", chrome("auto"), ff52up("auto")),
992 
993         /** The style property {@code grid-auto-columns}. */
994         GRID_AUTO_COLUMNS_("grid-auto-columns", "grid-auto-columns", ff52up("auto")),
995 
996         /** The style property {@code gridAutoFlow}. */
997         GRID_AUTO_FLOW("gridAutoFlow", "grid-auto-flow", chrome("row"), ff52up("row")),
998 
999         /** The style property {@code grid-auto-flow}. */
1000         GRID_AUTO_FLOW_("grid-auto-flow", "grid-auto-flow", ff52up("row")),
1001 
1002         /** The style property {@code gridAutoRows}. */
1003         GRID_AUTO_ROWS("gridAutoRows", "grid-auto-rows", chrome("auto"), ff52up("auto")),
1004 
1005         /** The style property {@code grid-auto-rows}. */
1006         GRID_AUTO_ROWS_("grid-auto-rows", "grid-auto-rows", ff52up("auto")),
1007 
1008         /** The style property {@code gridColumn}. */
1009         GRID_COLUMN("gridColumn", "grid-column", chrome("auto / auto"), ff52up("")),
1010 
1011         /** The style property {@code grid-column}. */
1012         GRID_COLUMN_("grid-column", "grid-column", ff52up("")),
1013 
1014         /** The style property {@code gridColumnEnd}. */
1015         GRID_COLUMN_END("gridColumnEnd", "grid-column-end", chrome("auto"), ff52up("auto")),
1016 
1017         /** The style property {@code grid-column-end}. */
1018         GRID_COLUMN_END_("grid-column-end", "grid-column-end", ff52up("auto")),
1019 
1020         /** The style property {@code gridColumnGap}. */
1021         GRID_COLUMN_GAP("gridColumnGap", "grid-column-gap", chrome("0px"), ff52up("0px")),
1022 
1023         /** The style property {@code grid-column-gap}. */
1024         GRID_COLUMN_GAP_("grid-column-gap", "grid-column-gap", ff52up("0px")),
1025 
1026         /** The style property {@code gridColumnStart}. */
1027         GRID_COLUMN_START("gridColumnStart", "grid-column-start", chrome("auto"), ff52up("auto")),
1028 
1029         /** The style property {@code grid-column-start}. */
1030         GRID_COLUMN_START_("grid-column-start", "grid-column-start", ff52up("auto")),
1031 
1032         /** The style property {@code gridGap}. */
1033         GRID_GAP("gridGap", "grid-gap", chrome("0px 0px"), ff52up("")),
1034 
1035         /** The style property {@code grid-gap}. */
1036         GRID_GAP_("grid-gap", "grid-gap", ff52up("")),
1037 
1038         /** The style property {@code gridRow}. */
1039         GRID_ROW("gridRow", "grid-row", chrome("auto / auto"), ff52up("")),
1040 
1041         /** The style property {@code grid-row}. */
1042         GRID_ROW_("grid-row", "grid-row", ff52up("")),
1043 
1044         /** The style property {@code gridRowEnd}. */
1045         GRID_ROW_END("gridRowEnd", "grid-row-end", chrome("auto"), ff52up("auto")),
1046 
1047         /** The style property {@code grid-row-end}. */
1048         GRID_ROW_END_("grid-row-end", "grid-row-end", ff52up("auto")),
1049 
1050         /** The style property {@code gridRowGap}. */
1051         GRID_ROW_GAP("gridRowGap", "grid-row-gap", chrome("0px"), ff52up("0px")),
1052 
1053         /** The style property {@code grid-row-gap}. */
1054         GRID_ROW_GAP_("grid-row-gap", "grid-row-gap", ff52up("0px")),
1055 
1056         /** The style property {@code gridRowStart}. */
1057         GRID_ROW_START("gridRowStart", "grid-row-start", chrome("auto"), ff52up("auto")),
1058 
1059         /** The style property {@code grid-row-start}. */
1060         GRID_ROW_START_("grid-row-start", "grid-row-start", ff52up("auto")),
1061 
1062         /** The style property {@code gridTemplate}. */
1063         GRID_TEMPLATE("gridTemplate", "grid-template", chrome("none / none / none"), ff52up("")),
1064 
1065         /** The style property {@code grid-template}. */
1066         GRID_TEMPLATE_("grid-template", "grid-template", ff52up("")),
1067 
1068         /** The style property {@code gridTemplateAreas}. */
1069         GRID_TEMPLATE_AREAS("gridTemplateAreas", "grid-template-areas", chrome("none"), ff52up("none")),
1070 
1071         /** The style property {@code grid-template-areas}. */
1072         GRID_TEMPLATE_AREAS_("grid-template-areas", "grid-template-areas", ff52up("none")),
1073 
1074         /** The style property {@code gridTemplateColumns}. */
1075         GRID_TEMPLATE_COLUMNS("gridTemplateColumns", "grid-template-columns", chrome("none"), ff52up("none")),
1076 
1077         /** The style property {@code grid-template-columns}. */
1078         GRID_TEMPLATE_COLUMNS_("grid-template-columns", "grid-template-columns", ff52up("none")),
1079 
1080         /** The style property {@code gridTemplateRows}. */
1081         GRID_TEMPLATE_ROWS("gridTemplateRows", "grid-template-rows", chrome("none"), ff52up("none")),
1082 
1083         /** The style property {@code grid-template-rows}. */
1084         GRID_TEMPLATE_ROWS_("grid-template-rows", "grid-template-rows", ff52up("none")),
1085 
1086         /** The style property {@code height}. */
1087         HEIGHT("height", "height", chrome(""), ff(""), ie("")),
1088 
1089         /** The style property {@code hyphens}. */
1090         HYPHENS("hyphens", "hyphens", ff("manual"), chrome("manual")),
1091 
1092         /** The style property {@code imageOrientation}. */
1093         IMAGE_ORIENTATION("imageOrientation", "image-orientation", ff("0deg")),
1094 
1095         /** The style property {@code image-orientation}. */
1096         IMAGE_ORIENTATION_("image-orientation", "image-orientation", ff("0deg")),
1097 
1098         /** The style property {@code imageRendering}. */
1099         IMAGE_RENDERING("imageRendering", "image-rendering", ff("auto"), chrome("auto")),
1100 
1101         /** The style property {@code image-rendering}. */
1102         IMAGE_RENDERING_("image-rendering", "image-rendering", ff("auto")),
1103 
1104         /** The style property {@code imeMode}. */
1105         IME_MODE("imeMode", "ime-mode", ie("undefined"), ff("auto")),
1106 
1107         /** The style property {@code ime-mode}. */
1108         IME_MODE_("ime-mode", "ime-mode", ff("auto")),
1109 
1110         /** The style property {@code inlineSize}. */
1111         INLINE_SIZE("inlineSize", "inline-size", ff(""), chrome("913px")),
1112 
1113         /** The style property {@code inline-size}. */
1114         INLINE_SIZE_("inline-size", "inline-size", ff("")),
1115 
1116         /** The style property {@code isolation}. */
1117         ISOLATION("isolation", "isolation", ff("auto"), chrome("auto")),
1118 
1119         /** The style property {@code justifyContent}. */
1120         JUSTIFY_CONTENT("justifyContent", "justify-content",
1121                 ffBelow52("auto"), ff52up("normal"),
1122                 ie("flex-start"), chrome("normal")),
1123 
1124         /** The style property {@code justify-content}. */
1125         JUSTIFY_CONTENT_("justify-content", "justify-content", ffBelow52("auto"), ff52up("normal")),
1126 
1127         /** The style property {@code justifyItems}. */
1128         JUSTIFY_ITEMS("justifyItems", "justify-items", ffBelow52("start"), ff52up("normal"), chrome("normal")),
1129 
1130         /** The style property {@code justify-items}. */
1131         JUSTIFY_ITEMS_("justify-items", "justify-items", ffBelow52("start"), ff52up("normal")),
1132 
1133         /** The style property {@code justifySelf}. */
1134         JUSTIFY_SELF("justifySelf", "justify-self", ffBelow52("start"), ff52up("auto"), chrome("normal")),
1135 
1136         /** The style property {@code justify-self}. */
1137         JUSTIFY_SELF_("justify-self", "justify-self", ffBelow52("start"), ff52up("auto")),
1138 
1139         /** The style property {@code kerning}. */
1140         KERNING("kerning", "kerning", ie("auto")),
1141 
1142         /** The style property {@code layoutFlow}. */
1143         LAYOUT_FLOW("layoutFlow", "layout-flow", ie("undefined")),
1144 
1145         /** The style property {@code layoutGrid}. */
1146         LAYOUT_GRID("layoutGrid", "layout-grid", ie("undefined")),
1147 
1148         /** The style property {@code layoutGridChar}. */
1149         LAYOUT_GRID_CHAR("layoutGridChar", "layout-grid-char", ie("undefined")),
1150 
1151         /** The style property {@code layoutGridLine}. */
1152         LAYOUT_GRID_LINE("layoutGridLine", "layout-grid-line", ie("undefined")),
1153 
1154         /** The style property {@code layoutGridMode}. */
1155         LAYOUT_GRID_MODE("layoutGridMode", "layout-grid-mode", ie("undefined")),
1156 
1157         /** The style property {@code layoutGridType}. */
1158         LAYOUT_GRID_TYPE("layoutGridType", "layout-grid-type", ie("undefined")),
1159 
1160         /** The style property {@code left}. */
1161         LEFT("left", "left", chrome("auto"), ff(""), ie("")),
1162 
1163         /** The style property {@code letterSpacing}. */
1164         LETTER_SPACING("letterSpacing", "letter-spacing", chrome("normal"), ff(""), ie("")),
1165 
1166         /** The style property {@code letter-spacing}. */
1167         LETTER_SPACING_("letter-spacing", "letter-spacing", ff("normal")),
1168 
1169         /** The style property {@code lightingColor}. */
1170         LIGHTING_COLOR("lightingColor", "lighting-color",
1171                 ff("rgb(255, 255, 255)"), ie(""), chrome("rgb(255, 255, 255)")),
1172 
1173         /** The style property {@code lighting-color}. */
1174         LIGHTING_COLOR_("lighting-color", "lighting-color", ff("rgb(255, 255, 255)")),
1175 
1176         /** The style property {@code lineBreak}. */
1177         LINE_BREAK("lineBreak", "line-break", ie("undefined")),
1178 
1179         /** The style property {@code lineHeight}. */
1180         LINE_HEIGHT("lineHeight", "line-height", ff("20px"), ie("normal"), chrome("normal")),
1181 
1182         /** The style property {@code line-height}. */
1183         LINE_HEIGHT_("line-height", "line-height", ff("20px")),
1184 
1185         /** The style property {@code listStyle}. */
1186         LIST_STYLE("listStyle", "list-style", chrome("disc outside none"), ff(""), ie("")),
1187 
1188         /** The style property {@code list-style}. */
1189         LIST_STYLE_("list-style", "list-style", ff("")),
1190 
1191         /** The style property {@code listStyleImage}. */
1192         LIST_STYLE_IMAGE("listStyleImage", "list-style-image", chrome("none"), ff("none"), ie("none")),
1193 
1194         /** The style property {@code list-style-image}. */
1195         LIST_STYLE_IMAGE_("list-style-image", "list-style-image", ff("none")),
1196 
1197         /** The style property {@code listStylePosition}. */
1198         LIST_STYLE_POSITION("listStylePosition", "list-style-position",
1199                 chrome("outside"), ff("outside"), ie("outside")),
1200 
1201         /** The style property {@code list-style-position}. */
1202         LIST_STYLE_POSITION_("list-style-position", "list-style-position", ff("outside")),
1203 
1204         /** The style property {@code listStyleType}. */
1205         LIST_STYLE_TYPE("listStyleType", "list-style-type", chrome("disc"), ff("disc"), ie("disc")),
1206 
1207         /** The style property {@code list-style-type}. */
1208         LIST_STYLE_TYPE_("list-style-type", "list-style-type", ff("disc")),
1209 
1210         /** The style property {@code margin}. */
1211         MARGIN("margin", "margin", chrome("0px"), ff(""), ie("")),
1212 
1213         /** The style property {@code marginBlockEnd}. */
1214         MARGIN_BLOCK_END("marginBlockEnd", "margin-block-end", ff("")),
1215 
1216         /** The style property {@code margin-block-end}. */
1217         MARGIN_BLOCK_END_("margin-block-end", "margin-block-end", ff("")),
1218 
1219         /** The style property {@code marginBlockStart}. */
1220         MARGIN_BLOCK_START("marginBlockStart", "margin-block-start", ff("")),
1221 
1222         /** The style property {@code margin-block-start}. */
1223         MARGIN_BLOCK_START_("margin-block-start", "margin-block-start", ff("")),
1224 
1225         /** The style property {@code marginBottom}. */
1226         MARGIN_BOTTOM("marginBottom", "margin-bottom", chrome("0px"), ff(""), ie("")),
1227 
1228         /** The style property {@code margin-bottom}. */
1229         MARGIN_BOTTOM_("margin-bottom", "margin-bottom", ff("0px")),
1230 
1231         /** The style property {@code marginInlineEnd}. */
1232         MARGIN_INLINE_END("marginInlineEnd", "margin-inline-end", ff("")),
1233 
1234         /** The style property {@code margin-inline-end}. */
1235         MARGIN_INLINE_END_("margin-inline-end", "margin-inline-end", ff("")),
1236 
1237         /** The style property {@code marginInlineStart}. */
1238         MARGIN_INLINE_START("marginInlineStart", "margin-inline-start", ff("")),
1239 
1240         /** The style property {@code margin-inline-start}. */
1241         MARGIN_INLINE_START_("margin-inline-start", "margin-inline-start", ff("")),
1242 
1243         /** The style property {@code marginLeft}. */
1244         MARGIN_LEFT("marginLeft", "margin-left", chrome("0px"), ff(""), ie("")),
1245 
1246         /** The style property {@code margin-left}. */
1247         MARGIN_LEFT_("margin-left", "margin-left", ff("0px")),
1248 
1249         /** The style property {@code marginRight}. */
1250         MARGIN_RIGHT("marginRight", "margin-right", chrome("0px"), ff(""), ie("")),
1251 
1252         /** The style property {@code margin-right}. */
1253         MARGIN_RIGHT_("margin-right", "margin-right", ff("0px")),
1254 
1255         /** The style property {@code marginTop}. */
1256         MARGIN_TOP("marginTop", "margin-top", chrome("0px"), ff(""), ie("")),
1257 
1258         /** The style property {@code margin-top}. */
1259         MARGIN_TOP_("margin-top", "margin-top", ff("0px")),
1260 
1261         /** The style property {@code marker}. */
1262         MARKER("marker", "marker", ff(""), ie("none"), chrome("")),
1263 
1264         /** The style property {@code markerEnd}. */
1265         MARKER_END("markerEnd", "marker-end", ff("none"), ie("none"), chrome("none")),
1266 
1267         /** The style property {@code marker-end}. */
1268         MARKER_END_("marker-end", "marker-end", ff("none")),
1269 
1270         /** The style property {@code markerMid}. */
1271         MARKER_MID("markerMid", "marker-mid", ff("none"), ie("none"), chrome("none")),
1272 
1273         /** The style property {@code marker-mid}. */
1274         MARKER_MID_("marker-mid", "marker-mid", ff("none")),
1275 
1276         /** The style property {@code markerOffset}. */
1277         MARKER_OFFSET("markerOffset", "marker-offset", ffBelow52("auto")),
1278 
1279         /** The style property {@code marker-offset}. */
1280         MARKER_OFFSET_("marker-offset", "marker-offset", ffBelow52("auto")),
1281 
1282         /** The style property {@code markerStart}. */
1283         MARKER_START("markerStart", "marker-start", ff("none"), ie("none"), chrome("none")),
1284 
1285         /** The style property {@code marker-start}. */
1286         MARKER_START_("marker-start", "marker-start", ff("none")),
1287 
1288         /** The style property {@code mask}. */
1289         MASK("mask", "mask", ff("none"), ie("none"), chrome("none")),
1290 
1291         /** The style property {@code maskType}. */
1292         MASK_TYPE("maskType", "mask-type", ff("luminance"), chrome("luminance")),
1293 
1294         /** The style property {@code mask-type}. */
1295         MASK_TYPE_("mask-type", "mask-type", ff("luminance")),
1296 
1297         /** The style property {@code maxBlockSize}. */
1298         MAX_BLOCK_SIZE("maxBlockSize", "max-block-size", ff(""), chrome("none")),
1299 
1300         /** The style property {@code max-block-size}. */
1301         MAX_BLOCK_SIZE_("max-block-size", "max-block-size", ff("")),
1302 
1303         /** The style property {@code maxHeight}. */
1304         MAX_HEIGHT("maxHeight", "max-height", chrome("none"), ff(""), ie("")),
1305 
1306         /** The style property {@code max-height}. */
1307         MAX_HEIGHT_("max-height", "max-height", ff("none")),
1308 
1309         /** The style property {@code maxInlineSize}. */
1310         MAX_INLINE_SIZE("maxInlineSize", "max-inline-size", ff(""), chrome("none")),
1311 
1312         /** The style property {@code max-inline-size}. */
1313         MAX_INLINE_SIZE_("max-inline-size", "max-inline-size", ff("")),
1314 
1315         /** The style property {@code maxWidth}. */
1316         MAX_WIDTH("maxWidth", "max-width", chrome("none"), ff(""), ie("")),
1317 
1318         /** The style property {@code max-width}. */
1319         MAX_WIDTH_("max-width", "max-width", ff("none")),
1320 
1321         /** The style property {@code maxZoom}. */
1322         MAX_ZOOM("maxZoom", "max-zoom", chrome("")),
1323 
1324         /** The style property {@code minBlockSize}. */
1325         MIN_BLOCK_SIZE("minBlockSize", "min-block-size", ff(""), chrome("0px")),
1326 
1327         /** The style property {@code min-block-size}. */
1328         MIN_BLOCK_SIZE_("min-block-size", "min-block-size", ff("")),
1329 
1330         /** The style property {@code minHeight}. */
1331         MIN_HEIGHT("minHeight", "min-height", chrome("0px"), ff(""), ie("")),
1332 
1333         /** The style property {@code min-height}. */
1334         MIN_HEIGHT_("min-height", "min-height", ff("0px")),
1335 
1336         /** The style property {@code minInlineSize}. */
1337         MIN_INLINE_SIZE("minInlineSize", "min-inline-size", ff(""), chrome("0px")),
1338 
1339         /** The style property {@code min-inline-size}. */
1340         MIN_INLINE_SIZE_("min-inline-size", "min-inline-size", ff("")),
1341 
1342         /** The style property {@code minWidth}. */
1343         MIN_WIDTH("minWidth", "min-width", chrome("0px"), ff(""), ie("")),
1344 
1345         /** The style property {@code min-width}. */
1346         MIN_WIDTH_("min-width", "min-width", ff("0px")),
1347 
1348         /** The style property {@code minZoom}. */
1349         MIN_ZOOM("minZoom", "min-zoom", chrome("")),
1350 
1351         /** The style property {@code mixBlendMode}. */
1352         MIX_BLEND_MODE("mixBlendMode", "mix-blend-mode", ff("normal"), chrome("normal")),
1353 
1354         /** The style property {@code mix-blend-mode}. */
1355         MIX_BLEND_MODE_("mix-blend-mode", "mix-blend-mode", ff("normal")),
1356 
1357         /** The style property {@code motion}. */
1358         MOTION("motion", "motion", chrome("none 0px auto 0deg")),
1359 
1360         /** The style property {@code MozAnimation}. */
1361         MOZ_ANIMATION("MozAnimation", "-moz-animation", ff("")),
1362 
1363         /** The style property {@code -moz-animation}. */
1364         MOZ_ANIMATION__("-moz-animation", "-moz-animation", ff52up("")),
1365 
1366         /** The style property {@code MozAnimationDelay}. */
1367         MOZ_ANIMATION_DELAY("MozAnimationDelay", "-moz-animation-delay", ff("0s")),
1368 
1369         /** The style property {@code -moz-animation-delay}. */
1370         MOZ_ANIMATION_DELAY__("-moz-animation-delay", "-moz-animation-delay", ff52up("0s")),
1371 
1372         /** The style property {@code MozAnimationDirection}. */
1373         MOZ_ANIMATION_DIRECTION("MozAnimationDirection", "-moz-animation-direction", ff("normal")),
1374 
1375         /** The style property {@code -moz-animation-direction}. */
1376         MOZ_ANIMATION_DIRECTION__("-moz-animation-direction", "-moz-animation-direction", ff52up("normal")),
1377 
1378         /** The style property {@code MozAnimationDuration}. */
1379         MOZ_ANIMATION_DURATION("MozAnimationDuration", "-moz-animation-duration", ff("0s")),
1380 
1381         /** The style property {@code -moz-animation-duration}. */
1382         MOZ_ANIMATION_DURATION__("-moz-animation-duration", "-moz-animation-duration", ff52up("0s")),
1383 
1384         /** The style property {@code MozAnimationFillMode}. */
1385         MOZ_ANIMATION_FILL_MODE("MozAnimationFillMode", "-moz-animation-fill-mode", ff("none")),
1386 
1387         /** The style property {@code -moz-animation-fill-mode}. */
1388         MOZ_ANIMATION_FILL_MODE__("-moz-animation-fill-mode", "-moz-animation-fill-mode", ff52up("none")),
1389 
1390         /** The style property {@code MozAnimationIterationCount}. */
1391         MOZ_ANIMATION_ITERATION_COUNT("MozAnimationIterationCount", "-moz-animation-iteration-count", ff("1")),
1392 
1393         /** The style property {@code -moz-animation-iteration-count}. */
1394         MOZ_ANIMATION_ITERATION_COUNT__("-moz-animation-iteration-count", "-moz-animation-iteration-count",
1395                 ff52up("1")),
1396 
1397         /** The style property {@code MozAnimationName}. */
1398         MOZ_ANIMATION_NAME("MozAnimationName", "-moz-animation-name", ff("none")),
1399 
1400         /** The style property {@code -moz-animation-name}. */
1401         MOZ_ANIMATION_NAME__("-moz-animation-name", "-moz-animation-name", ff52up("none")),
1402 
1403         /** The style property {@code MozAnimationPlayState}. */
1404         MOZ_ANIMATION_PLAY_STATE("MozAnimationPlayState", "-moz-animation-play-state", ff("running")),
1405 
1406         /** The style property {@code -moz-animation-play-state}. */
1407         MOZ_ANIMATION_PLAY_STATE__("-moz-animation-play-state", "-moz-animation-play-state", ff52up("running")),
1408 
1409         /** The style property {@code MozAnimationTimingFunction}. */
1410         MOZ_ANIMATION_TIMING_FUNCTION("MozAnimationTimingFunction", "-moz-animation-timing-function",
1411                 ff("ease")),
1412 
1413         /** The style property {@code -moz-animation-timing-function}. */
1414         MOZ_ANIMATION_TIMING_FUNCTION__("-moz-animation-timing-function", "-moz-animation-timing-function",
1415                 ff52up("ease")),
1416 
1417         /** The style property {@code MozAppearance}. */
1418         MOZ_APPEARANCE("MozAppearance", "-moz-appearance", ff("none")),
1419 
1420         /** The style property {@code -moz-appearance}. */
1421         MOZ_APPEARANCE__("-moz-appearance", "-moz-appearance", ff52up("none")),
1422 
1423         /** The style property {@code MozBackfaceVisibility}. */
1424         MOZ_BACKFACE_VISIBILITY("MozBackfaceVisibility", "-moz-backface-visibility", ff("visible")),
1425 
1426         /** The style property {@code -moz-backface-visibility}. */
1427         MOZ_BACKFACE_VISIBILITY__("-moz-backface-visibility", "-moz-backface-visibility", ff52up("visible")),
1428 
1429         /** The style property {@code MozBackgroundClip}. */
1430         MOZ_BACKGROUND_CLIP("MozBackgroundClip", "-moz-background-clip"),
1431 
1432         /** The style property {@code MozBackgroundOrigin}. */
1433         MOZ_BACKGROUND_ORIGIN("MozBackgroundOrigin", "-moz-background-origin"),
1434 
1435         /** The style property {@code MozBackgroundSize}. */
1436         MOZ_BACKGROUND_SIZE("MozBackgroundSize", "-moz-background-size"),
1437 
1438         /** The style property {@code MozBinding}. */
1439         MOZ_BINDING("MozBinding", "-moz-binding", ff("none")),
1440 
1441         /** The style property {@code -moz-binding}. */
1442         MOZ_BINDING__("-moz-binding", "-moz-binding", ff52up("none")),
1443 
1444         /** The style property {@code MozBorderBottomColors}. */
1445         MOZ_BORDER_BOTTOM_COLORS("MozBorderBottomColors", "-moz-border-bottom-colors", ff("none")),
1446 
1447         /** The style property {@code -moz-border-bottom-colors}. */
1448         MOZ_BORDER_BOTTOM_COLORS__("-moz-border-bottom-colors", "-moz-border-bottom-colors",
1449                 ff52up("none")),
1450 
1451         /** The style property {@code MozBorderEnd}. */
1452         MOZ_BORDER_END("MozBorderEnd", "-moz-border-end", ff("")),
1453 
1454         /** The style property {@code -moz-border-end}. */
1455         MOZ_BORDER_END__("-moz-border-end", "-moz-border-end", ff52up("")),
1456 
1457         /** The style property {@code MozBorderEndColor}. */
1458         MOZ_BORDER_END_COLOR("MozBorderEndColor", "-moz-border-end-color", ff("")),
1459 
1460         /** The style property {@code -moz-border-end-color}. */
1461         MOZ_BORDER_END_COLOR__("-moz-border-end-color", "-moz-border-end-color", ff52up("")),
1462 
1463         /** The style property {@code MozBorderEndStyle}. */
1464         MOZ_BORDER_END_STYLE("MozBorderEndStyle", "-moz-border-end-style", ff("")),
1465 
1466         /** The style property {@code -moz-border-end-style}. */
1467         MOZ_BORDER_END_STYLE__("-moz-border-end-style", "-moz-border-end-style", ff52up("")),
1468 
1469         /** The style property {@code MozBorderEndWidth}. */
1470         MOZ_BORDER_END_WIDTH("MozBorderEndWidth", "-moz-border-end-width", ff("")),
1471 
1472         /** The style property {@code -moz-border-end-width}. */
1473         MOZ_BORDER_END_WIDTH__("-moz-border-end-width", "-moz-border-end-width", ff52up("")),
1474 
1475         /** The style property {@code MozBorderImage}. */
1476         MOZ_BORDER_IMAGE("MozBorderImage", "-moz-border-image", ff("")),
1477 
1478         /** The style property {@code -moz-border-image}. */
1479         MOZ_BORDER_IMAGE__("-moz-border-image", "-moz-border-image", ff52up("")),
1480 
1481         /** The style property {@code MozBorderLeftColors}. */
1482         MOZ_BORDER_LEFT_COLORS("MozBorderLeftColors", "-moz-border-left-colors", ff("none")),
1483 
1484         /** The style property {@code -moz-border-left-colors}. */
1485         MOZ_BORDER_LEFT_COLORS__("-moz-border-left-colors", "-moz-border-left-colors", ff52up("none")),
1486 
1487         /** The style property {@code MozBorderRadius}. */
1488         MOZ_BORDER_RADIUS("MozBorderRadius", "-moz-border-radius"),
1489 
1490         /** The style property {@code MozBorderRadiusBottomleft}. */
1491         MOZ_BORDER_RADIUS_BOTTOMLEFT("MozBorderRadiusBottomleft", "-moz-border-radius-bottomleft"),
1492 
1493         /** The style property {@code MozBorderRadiusBottomright}. */
1494         MOZ_BORDER_RADIUS_BOTTOMRIGHT("MozBorderRadiusBottomright", "-moz-border-radius-bottomright"),
1495 
1496         /** The style property {@code MozBorderRadiusTopleft}. */
1497         MOZ_BORDER_RADIUS_TOPLEFT("MozBorderRadiusTopleft", "-moz-border-radius-topleft"),
1498 
1499         /** The style property {@code MozBorderRadiusTopright}. */
1500         MOZ_BORDER_RADIUS_TOPRIGHT("MozBorderRadiusTopright", "-moz-border-radius-topright"),
1501 
1502         /** The style property {@code MozBorderRightColors}. */
1503         MOZ_BORDER_RIGHT_COLORS("MozBorderRightColors", "-moz-border-right-colors", ff("none")),
1504 
1505         /** The style property {@code -moz-border-right-colors}. */
1506         MOZ_BORDER_RIGHT_COLORS__("-moz-border-right-colors", "-moz-border-right-colors", ff52up("none")),
1507 
1508         /** The style property {@code MozBorderStart}. */
1509         MOZ_BORDER_START("MozBorderStart", "-moz-border-start", ff("")),
1510 
1511         /** The style property {@code -moz-border-start}. */
1512         MOZ_BORDER_START__("-moz-border-start", "-moz-border-start", ff52up("")),
1513 
1514         /** The style property {@code MozBorderStartColor}. */
1515         MOZ_BORDER_START_COLOR("MozBorderStartColor", "-moz-border-start-color", ff("")),
1516 
1517         /** The style property {@code -moz-border-start-color}. */
1518         MOZ_BORDER_START_COLOR__("-moz-border-start-color", "-moz-border-start-color", ff52up("")),
1519 
1520         /** The style property {@code MozBorderStartStyle}. */
1521         MOZ_BORDER_START_STYLE("MozBorderStartStyle", "-moz-border-start-style", ff("")),
1522 
1523         /** The style property {@code -moz-border-start-style}. */
1524         MOZ_BORDER_START_STYLE__("-moz-border-start-style", "-moz-border-start-style", ff52up("")),
1525 
1526         /** The style property {@code MozBorderStartWidth}. */
1527         MOZ_BORDER_START_WIDTH("MozBorderStartWidth", "-moz-border-start-width", ff("")),
1528 
1529         /** The style property {@code -moz-border-start-width}. */
1530         MOZ_BORDER_START_WIDTH__("-moz-border-start-width", "-moz-border-start-width", ff52up("")),
1531 
1532         /** The style property {@code MozBorderTopColors}. */
1533         MOZ_BORDER_TOP_COLORS("MozBorderTopColors", "-moz-border-top-colors", ff("none")),
1534 
1535         /** The style property {@code -moz-border-top-colors}. */
1536         MOZ_BORDER_TOP_COLORS__("-moz-border-top-colors", "-moz-border-top-colors", ff52up("none")),
1537 
1538         /** The style property {@code MozBoxAlign}. */
1539         MOZ_BOX_ALIGN("MozBoxAlign", "-moz-box-align", ff("stretch")),
1540 
1541         /** The style property {@code -moz-box-align}. */
1542         MOZ_BOX_ALIGN__("-moz-box-align", "-moz-box-align", ff52up("stretch")),
1543 
1544         /** The style property {@code MozBoxDirection}. */
1545         MOZ_BOX_DIRECTION("MozBoxDirection", "-moz-box-direction", ff("normal")),
1546 
1547         /** The style property {@code -moz-box-direction}. */
1548         MOZ_BOX_DIRECTION__("-moz-box-direction", "-moz-box-direction", ff52up("normal")),
1549 
1550         /** The style property {@code MozBoxFlex}. */
1551         MOZ_BOX_FLEX("MozBoxFlex", "-moz-box-flex", ff("0")),
1552 
1553         /** The style property {@code -moz-box-flex}. */
1554         MOZ_BOX_FLEX__("-moz-box-flex", "-moz-box-flex", ff52up("0")),
1555 
1556         /** The style property {@code MozBoxOrdinalGroup}. */
1557         MOZ_BOX_ORDINAL_GROUP("MozBoxOrdinalGroup", "-moz-box-ordinal-group", ff("1")),
1558 
1559         /** The style property {@code -moz-box-ordinal-group}. */
1560         MOZ_BOX_ORDINAL_GROUP__("-moz-box-ordinal-group", "-moz-box-ordinal-group", ff52up("1")),
1561 
1562         /** The style property {@code MozBoxOrient}. */
1563         MOZ_BOX_ORIENT("MozBoxOrient", "-moz-box-orient", ff("horizontal")),
1564 
1565         /** The style property {@code -moz-box-orient}. */
1566         MOZ_BOX_ORIENT__("-moz-box-orient", "-moz-box-orient", ff52up("horizontal")),
1567 
1568         /** The style property {@code MozBoxPack}. */
1569         MOZ_BOX_PACK("MozBoxPack", "-moz-box-pack", ff("start")),
1570 
1571         /** The style property {@code -moz-box-pack}. */
1572         MOZ_BOX_PACK__("-moz-box-pack", "-moz-box-pack", ff52up("start")),
1573 
1574         /** The style property {@code MozBoxShadow}. */
1575         MOZ_BOX_SHADOW("MozBoxShadow", "-moz-box-shadow"),
1576 
1577         /** The style property {@code MozBoxSizing}. */
1578         MOZ_BOX_SIZING("MozBoxSizing", "-moz-box-sizing", ff("content-box")),
1579 
1580         /** The style property {@code -moz-box-sizing}. */
1581         MOZ_BOX_SIZING__("-moz-box-sizing", "-moz-box-sizing", ff52up("content-box")),
1582 
1583         /** The style property {@code MozColumnCount}. */
1584         MOZ_COLUMN_COUNT("MozColumnCount", "-moz-column-count", ff("auto")),
1585 
1586         /** The style property {@code -moz-column-count}. */
1587         MOZ_COLUMN_COUNT__("-moz-column-count", "-moz-column-count", ff52up("auto")),
1588 
1589         /** The style property {@code MozColumnFill}. */
1590         MOZ_COLUMN_FILL("MozColumnFill", "-moz-column-fill", ff("balance")),
1591 
1592         /** The style property {@code -moz-column-fill}. */
1593         MOZ_COLUMN_FILL__("-moz-column-fill", "-moz-column-fill", ff52up("balance")),
1594 
1595         /** The style property {@code MozColumnGap}. */
1596         MOZ_COLUMN_GAP("MozColumnGap", "-moz-column-gap", ff("16px")),
1597 
1598         /** The style property {@code -moz-column-gap}. */
1599         MOZ_COLUMN_GAP__("-moz-column-gap", "-moz-column-gap", ff52up("16px")),
1600 
1601         /** The style property {@code MozColumnRule}. */
1602         MOZ_COLUMN_RULE("MozColumnRule", "-moz-column-rule", ff("")),
1603 
1604         /** The style property {@code -moz-column-rule}. */
1605         MOZ_COLUMN_RULE__("-moz-column-rule", "-moz-column-rule", ff52up("")),
1606 
1607         /** The style property {@code MozColumnRuleColor}. */
1608         MOZ_COLUMN_RULE_COLOR("MozColumnRuleColor", "-moz-column-rule-color",
1609                 ff("rgb(0, 0, 0)")),
1610 
1611         /** The style property {@code -moz-column-rule-color}. */
1612         MOZ_COLUMN_RULE_COLOR__("-moz-column-rule-color", "-moz-column-rule-color",
1613                 ff52up("rgb(0, 0, 0)")),
1614 
1615         /** The style property {@code MozColumnRuleStyle}. */
1616         MOZ_COLUMN_RULE_STYLE("MozColumnRuleStyle", "-moz-column-rule-style",
1617                 ff("none")),
1618 
1619         /** The style property {@code -moz-column-rule-style}. */
1620         MOZ_COLUMN_RULE_STYLE__("-moz-column-rule-style", "-moz-column-rule-style",
1621                 ff52up("none")),
1622 
1623         /** The style property {@code MozColumnRuleWidth}. */
1624         MOZ_COLUMN_RULE_WIDTH("MozColumnRuleWidth", "-moz-column-rule-width",
1625                 ff("0px")),
1626 
1627         /** The style property {@code -moz-column-rule-width}. */
1628         MOZ_COLUMN_RULE_WIDTH__("-moz-column-rule-width", "-moz-column-rule-width",
1629                 ff52up("0px")),
1630 
1631         /** The style property {@code MozColumnWidth}. */
1632         MOZ_COLUMN_WIDTH("MozColumnWidth", "-moz-column-width", ff("auto")),
1633 
1634         /** The style property {@code -moz-column-width}. */
1635         MOZ_COLUMN_WIDTH__("-moz-column-width", "-moz-column-width", ff52up("auto")),
1636 
1637         /** The style property {@code MozColumns}. */
1638         MOZ_COLUMNS("MozColumns", "-moz-columns", ff("")),
1639 
1640         /** The style property {@code -moz-columns}. */
1641         MOZ_COLUMNS__("-moz-columns", "-moz-columns", ff52up("")),
1642 
1643         /** The style property {@code MozFloatEdge}. */
1644         MOZ_FLOAT_EDGE("MozFloatEdge", "-moz-float-edge", ff("content-box")),
1645 
1646         /** The style property {@code -moz-float-edge}. */
1647         MOZ_FLOAT_EDGE__("-moz-float-edge", "-moz-float-edge", ff52up("content-box")),
1648 
1649         /** The style property {@code MozFontFeatureSettings}. */
1650         MOZ_FONT_FEATURE_SETTINGS("MozFontFeatureSettings", "-moz-font-feature-settings",
1651                 ff("normal")),
1652 
1653         /** The style property {@code -moz-font-feature-settings}. */
1654         MOZ_FONT_FEATURE_SETTINGS__("-moz-font-feature-settings", "-moz-font-feature-settings",
1655                 ff52up("normal")),
1656 
1657         /** The style property {@code MozFontLanguageOverride}. */
1658         MOZ_FONT_LANGUAGE_OVERRIDE("MozFontLanguageOverride", "-moz-font-language-override",
1659                 ff("normal")),
1660 
1661         /** The style property {@code -moz-font-language-override}. */
1662         MOZ_FONT_LANGUAGE_OVERRIDE__("-moz-font-language-override", "-moz-font-language-override",
1663                 ff52up("normal")),
1664 
1665         /** The style property {@code MozForceBrokenImageIcon}. */
1666         MOZ_FORCE_BROKEN_IMAGE_ICON("MozForceBrokenImageIcon", "-moz-force-broken-image-icon",
1667                 ff("0")),
1668 
1669         /** The style property {@code -moz-force-broken-image-icon}. */
1670         MOZ_FORCE_BROKEN_IMAGE_ICON__("-moz-force-broken-image-icon", "-moz-force-broken-image-icon",
1671                 ff52up("0")),
1672 
1673         /** The style property {@code MozHyphens}. */
1674         MOZ_HYPHENS("MozHyphens", "-moz-hyphens", ff("manual")),
1675 
1676         /** The style property {@code -moz-hyphens}. */
1677         MOZ_HYPHENS__("-moz-hyphens", "-moz-hyphens", ff52up("manual")),
1678 
1679         /** The style property {@code MozImageRegion}. */
1680         MOZ_IMAGE_REGION("MozImageRegion", "-moz-image-region", ff("auto")),
1681 
1682         /** The style property {@code -moz-image-region}. */
1683         MOZ_IMAGE_REGION__("-moz-image-region", "-moz-image-region", ff52up("auto")),
1684 
1685         /** The style property {@code MozMarginEnd}. */
1686         MOZ_MARGIN_END("MozMarginEnd", "-moz-margin-end", ff("")),
1687 
1688         /** The style property {@code -moz-margin-end}. */
1689         MOZ_MARGIN_END__("-moz-margin-end", "-moz-margin-end", ff52up("")),
1690 
1691         /** The style property {@code MozMarginStart}. */
1692         MOZ_MARGIN_START("MozMarginStart", "-moz-margin-start", ff("")),
1693 
1694         /** The style property {@code -moz-margin-start}. */
1695         MOZ_MARGIN_START__("-moz-margin-start", "-moz-margin-start", ff52up("")),
1696 
1697         /** The style property {@code MozOpacity}. */
1698         MOZ_OPACITY("MozOpacity", "-moz-opacity"),
1699 
1700         /** The style property {@code MozOrient}. */
1701         MOZ_ORIENT("MozOrient", "-moz-orient", ff("inline")),
1702 
1703         /** The style property {@code -moz-orient}. */
1704         MOZ_ORIENT__("-moz-orient", "-moz-orient", ff52up("inline")),
1705 
1706         /** The style property {@code MozOutline}. */
1707         MOZ_OUTLINE("MozOutline", "-moz-outline"),
1708 
1709         /** The style property {@code MozOutlineColor}. */
1710         MOZ_OUTLINE_COLOR("MozOutlineColor", "-moz-outline-color"),
1711 
1712         /** The style property {@code MozOutlineOffset}. */
1713         MOZ_OUTLINE_OFFSET("MozOutlineOffset", "-moz-outline-offset"),
1714 
1715         /** The style property {@code MozOutlineRadius}. */
1716         MOZ_OUTLINE_RADIUS("MozOutlineRadius", "-moz-outline-radius", ff("")),
1717 
1718         /** The style property {@code -moz-outline-radius}. */
1719         MOZ_OUTLINE_RADIUS__("-moz-outline-radius", "-moz-outline-radius", ff52up("")),
1720 
1721         /** The style property {@code MozOutlineRadiusBottomleft}. */
1722         MOZ_OUTLINE_RADIUS_BOTTOMLEFT("MozOutlineRadiusBottomleft",
1723                 "-moz-outline-radius-bottomleft", ff("0px")),
1724 
1725         /** The style property {@code -moz-outline-radius-bottomleft}. */
1726         MOZ_OUTLINE_RADIUS_BOTTOMLEFT__("-moz-outline-radius-bottomleft",
1727                 "-moz-outline-radius-bottomleft", ff52up("0px")),
1728 
1729         /** The style property {@code MozOutlineRadiusBottomright}. */
1730         MOZ_OUTLINE_RADIUS_BOTTOMRIGHT("MozOutlineRadiusBottomright",
1731                 "-moz-outline-radius-bottomright", ff("0px")),
1732 
1733         /** The style property {@code -moz-outline-radius-bottomright}. */
1734         MOZ_OUTLINE_RADIUS_BOTTOMRIGHT__("-moz-outline-radius-bottomright",
1735                 "-moz-outline-radius-bottomright", ff52up("0px")),
1736 
1737         /** The style property {@code MozOutlineRadiusTopleft}. */
1738         MOZ_OUTLINE_RADIUS_TOPLEFT("MozOutlineRadiusTopleft",
1739                 "-moz-outline-radius-topleft", ff("0px")),
1740 
1741         /** The style property {@code -moz-outline-radius-topleft}. */
1742         MOZ_OUTLINE_RADIUS_TOPLEFT__("-moz-outline-radius-topleft",
1743                 "-moz-outline-radius-topleft", ff52up("0px")),
1744 
1745         /** The style property {@code MozOutlineRadiusTopright}. */
1746         MOZ_OUTLINE_RADIUS_TOPRIGHT("MozOutlineRadiusTopright",
1747                 "-moz-outline-radius-topright", ff("0px")),
1748 
1749         /** The style property {@code -moz-outline-radius-topright}. */
1750         MOZ_OUTLINE_RADIUS_TOPRIGHT__("-moz-outline-radius-topright",
1751                 "-moz-outline-radius-topright", ff52up("0px")),
1752 
1753         /** The style property {@code MozOutlineStyle}. */
1754         MOZ_OUTLINE_STYLE("MozOutlineStyle", "-moz-outline-style"),
1755 
1756         /** The style property {@code MozOutlineWidth}. */
1757         MOZ_OUTLINE_WIDTH("MozOutlineWidth", "-moz-outline-width"),
1758 
1759         /** The style property {@code MozPaddingEnd}. */
1760         MOZ_PADDING_END("MozPaddingEnd", "-moz-padding-end", ff("")),
1761 
1762         /** The style property {@code -moz-padding-end}. */
1763         MOZ_PADDING_END__("-moz-padding-end", "-moz-padding-end", ff52up("")),
1764 
1765         /** The style property {@code MozPaddingStart}. */
1766         MOZ_PADDING_START("MozPaddingStart", "-moz-padding-start", ff("")),
1767 
1768         /** The style property {@code -moz-padding-start}. */
1769         MOZ_PADDING_START__("-moz-padding-start", "-moz-padding-start", ff52up("")),
1770 
1771         /** The style property {@code MozPerspective}. */
1772         MOZ_PERSPECTIVE("MozPerspective", "-moz-perspective", ff("none")),
1773 
1774         /** The style property {@code -moz-perspective}. */
1775         MOZ_PERSPECTIVE__("-moz-perspective", "-moz-perspective", ff52up("none")),
1776 
1777         /** The style property {@code MozPerspectiveOrigin}. */
1778         MOZ_PERSPECTIVE_ORIGIN("MozPerspectiveOrigin",
1779                 "-moz-perspective-origin", ffBelow52("705px 172.5px"), ff52up("625px 172.5px")),
1780 
1781         /** The style property {@code -moz-perspective-origin}. */
1782         MOZ_PERSPECTIVE_ORIGIN__("-moz-perspective-origin",
1783                 "-moz-perspective-origin", ff52up("625px 172.5px")),
1784 
1785         /** The style property {@code MozStackSizing}. */
1786         MOZ_STACK_SIZING("MozStackSizing", "-moz-stack-sizing", ff("stretch-to-fit")),
1787 
1788         /** The style property {@code -moz-stack-sizing}. */
1789         MOZ_STACK_SIZING__("-moz-stack-sizing", "-moz-stack-sizing", ff52up("stretch-to-fit")),
1790 
1791         /** The style property {@code MozTabSize}. */
1792         MOZ_TAB_SIZE("MozTabSize", "-moz-tab-size", ff("8")),
1793 
1794         /** The style property {@code -moz-tab-size}. */
1795         MOZ_TAB_SIZE__("-moz-tab-size", "-moz-tab-size", ff52up("8")),
1796 
1797         /** The style property {@code MozTextAlignLast}. */
1798         MOZ_TEXT_ALIGN_LAST("MozTextAlignLast", "-moz-text-align-last",
1799                 ff("auto")),
1800 
1801         /** The style property {@code -moz-text-align-last}. */
1802         MOZ_TEXT_ALIGN_LAST__("-moz-text-align-last", "-moz-text-align-last",
1803                 ff52up("auto")),
1804 
1805         /** The style property {@code MozTextSizeAdjust}. */
1806         MOZ_TEXT_SIZE_ADJUST("MozTextSizeAdjust", "-moz-text-size-adjust",
1807                 ff("auto")),
1808 
1809         /** The style property {@code -moz-text-size-adjust}. */
1810         MOZ_TEXT_SIZE_ADJUST__("-moz-text-size-adjust", "-moz-text-size-adjust",
1811                 ff52up("auto")),
1812 
1813         /** The style property {@code MozTransform}. */
1814         MOZ_TRANSFORM("MozTransform", "-moz-transform", ff("none")),
1815 
1816         /** The style property {@code -moz-transform}. */
1817         MOZ_TRANSFORM__("-moz-transform", "-moz-transform", ff52up("none")),
1818 
1819         /** The style property {@code MozTransformOrigin}. */
1820         MOZ_TRANSFORM_ORIGIN("MozTransformOrigin", "-moz-transform-origin",
1821                 ffBelow52("705px 172.5px"), ff52up("625px 172.5px")),
1822 
1823         /** The style property {@code -moz-transform-origin}. */
1824         MOZ_TRANSFORM_ORIGIN__("-moz-transform-origin", "-moz-transform-origin",
1825                 ff52up("625px 172.5px")),
1826 
1827         /** The style property {@code MozTransformStyle}. */
1828         MOZ_TRANSFORM_STYLE("MozTransformStyle", "-moz-transform-style",
1829                 ff("flat")),
1830 
1831         /** The style property {@code -moz-transform-style}. */
1832         MOZ_TRANSFORM_STYLE__("-moz-transform-style", "-moz-transform-style",
1833                 ff52up("flat")),
1834 
1835         /** The style property {@code MozTransition}. */
1836         MOZ_TRANSITION("MozTransition", "-moz-transition", ff("")),
1837 
1838         /** The style property {@code -moz-transition}. */
1839         MOZ_TRANSITION__("-moz-transition", "-moz-transition", ff52up("")),
1840 
1841         /** The style property {@code MozTransitionDelay}. */
1842         MOZ_TRANSITION_DELAY("MozTransitionDelay", "-moz-transition-delay",
1843                 ff("0s")),
1844 
1845         /** The style property {@code -moz-transition-delay}. */
1846         MOZ_TRANSITION_DELAY__("-moz-transition-delay", "-moz-transition-delay",
1847                 ff52up("0s")),
1848 
1849         /** The style property {@code MozTransitionDuration}. */
1850         MOZ_TRANSITION_DURATION("MozTransitionDuration", "-moz-transition-duration",
1851                 ff("0s")),
1852 
1853         /** The style property {@code -moz-transition-duration}. */
1854         MOZ_TRANSITION_DURATION__("-moz-transition-duration", "-moz-transition-duration",
1855                 ff52up("0s")),
1856 
1857         /** The style property {@code MozTransitionProperty}. */
1858         MOZ_TRANSITION_PROPERTY("MozTransitionProperty", "-moz-transition-property",
1859                 ff("all")),
1860 
1861         /** The style property {@code -moz-transition-property}. */
1862         MOZ_TRANSITION_PROPERTY__("-moz-transition-property", "-moz-transition-property",
1863                 ff52up("all")),
1864 
1865         /** The style property {@code MozTransitionTimingFunction}. */
1866         MOZ_TRANSITION_TIMING_FUNCTION("MozTransitionTimingFunction",
1867                 "-moz-transition-timing-function", ff("ease")),
1868 
1869         /** The style property {@code -moz-transition-timing-function}. */
1870         MOZ_TRANSITION_TIMING_FUNCTION__("-moz-transition-timing-function",
1871                 "-moz-transition-timing-function", ff52up("ease")),
1872 
1873         /** The style property {@code MozUserFocus}. */
1874         MOZ_USER_FOCUS("MozUserFocus", "-moz-user-focus", ff("none")),
1875 
1876         /** The style property {@code -moz-user-focus}. */
1877         MOZ_USER_FOCUS__("-moz-user-focus", "-moz-user-focus", ff52up("none")),
1878 
1879         /** The style property {@code MozUserInput}. */
1880         MOZ_USER_INPUT("MozUserInput", "-moz-user-input", ff("auto")),
1881 
1882         /** The style property {@code -moz-user-input}. */
1883         MOZ_USER_INPUT__("-moz-user-input", "-moz-user-input", ff52up("auto")),
1884 
1885         /** The style property {@code MozUserModify}. */
1886         MOZ_USER_MODIFY("MozUserModify", "-moz-user-modify", ff("read-only")),
1887 
1888         /** The style property {@code -moz-user-modify}. */
1889         MOZ_USER_MODIFY__("-moz-user-modify", "-moz-user-modify", ff52up("read-only")),
1890 
1891         /** The style property {@code MozUserSelect}. */
1892         MOZ_USER_SELECT("MozUserSelect", "-moz-user-select", ff("auto")),
1893 
1894         /** The style property {@code -moz-user-select}. */
1895         MOZ_USER_SELECT__("-moz-user-select", "-moz-user-select", ff52up("auto")),
1896 
1897         /** The style property {@code MozWindowDragging}. */
1898         MOZ_WINDOW_DRAGGING("MozWindowDragging", "-moz-window-dragging", ffBelow52("no-drag"), ff52up("default")),
1899 
1900         /** The style property {@code -moz-window-dragging}. */
1901         MOZ_WINDOW_DRAGGING__("-moz-window-dragging", "-moz-window-dragging", ff52up("default")),
1902 
1903         /** The style property {@code msAnimation}. */
1904         MS_ANIMATION("msAnimation", "-ms-animation", ie("")),
1905 
1906         /** The style property {@code msAnimationDelay}. */
1907         MS_ANIMATION_DELAY("msAnimationDelay", "-ms-animation-delay",
1908                 ie("0s")),
1909 
1910         /** The style property {@code msAnimationDirection}. */
1911         MS_ANIMATION_DIRECTION("msAnimationDirection",
1912                 "-ms-animation-direction", ie("normal")),
1913 
1914         /** The style property {@code msAnimationDuration}. */
1915         MS_ANIMATION_DURATION("msAnimationDuration",
1916                 "-ms-animation-duration", ie("0s")),
1917 
1918         /** The style property {@code msAnimationFillMode}. */
1919         MS_ANIMATION_FILL_MODE("msAnimationFillMode",
1920                 "-ms-animation-fill-mode", ie("none")),
1921 
1922         /** The style property {@code msAnimationIterationCount}. */
1923         MS_ANIMATION_ITERATION_COUNT("msAnimationIterationCount",
1924                 "-ms-animation-iteration-count", ie("1")),
1925 
1926         /** The style property {@code msAnimationName}. */
1927         MS_ANIMATION_NAME("msAnimationName", "-ms-annimation-name",
1928                 ie("none")),
1929 
1930         /** The style property {@code msAnimationPlayState}. */
1931         MS_ANIMATION_PLAY_STATE("msAnimationPlayState",
1932                 "-ms-animation-play-state", ie("running")),
1933 
1934         /** The style property {@code msAnimationTimingFunction}. */
1935         MS_ANIMATION_TIMING_FUNCTION("msAnimationTimingFunction",
1936                 "-ms-animation-timing-function",
1937                 ie("cubic-bezier(0.25, 0.1, 0.25, 1)")),
1938 
1939         /** The style property {@code msBackfaceVisibility}. */
1940         MS_BACKFACE_VISIBILITY("msBackfaceVisibility",
1941                 "-ms-backface-visibility", ie("visible")),
1942 
1943         /** The style property {@code msBlockProgression}. */
1944         MS_BLOCK_PROGRESSION("msBlockProgression", "-ms-block-progression",
1945                 ie("undefined")),
1946 
1947         /** The style property {@code msContentZoomChaining}. */
1948         MS_CONTENT_ZOOM_CHAINING("msContentZoomChaining",
1949                 "-ms-content-zoom-chaining", ie("none")),
1950 
1951         /** The style property {@code msContentZoomLimit}. */
1952         MS_CONTENT_ZOOM_LIMIT("msContentZoomLimit", "-ms-content-zoom-limit",
1953                 ie("")),
1954 
1955         /** The style property {@code msContentZoomLimitMax}. */
1956         MS_CONTENT_ZOOM_LIMIT_MAX("msContentZoomLimitMax", "-ms-content-zoom-limit-max",
1957                 ie("400%")),
1958 
1959         /** The style property {@code msContentZoomLimitMin}. */
1960         MS_CONTENT_ZOOM_LIMIT_MIN("msContentZoomLimitMin", "-ms-content-zoom-limit-min",
1961                 ie("100%")),
1962 
1963         /** The style property {@code msContentZoomSnap}. */
1964         MS_CONTENT_ZOOM_SNAP("msContentZoomSnap",
1965                 "-ms-content-zoom-snap", ie("none snapInterval(0%, 100%)")),
1966 
1967         /** The style property {@code msContentZoomSnapPoints}. */
1968         MS_CONTENT_ZOOM_SNAP_POINTS("msContentZoomSnapPoints",
1969                 "-ms-content-zoom-snap-points", ie("snapInterval(0%, 100%)")),
1970 
1971         /** The style property {@code msContentZoomSnapType}. */
1972         MS_CONTENT_ZOOM_SNAP_TYPE("msContentZoomSnapType", "-ms-content-zoom-snap-type", ie("none")),
1973 
1974         /** The style property {@code msContentZooming}. */
1975         MS_CONTENT_ZOOMING("msContentZooming", "-ms-content-zooming", ie("none")),
1976 
1977         /** The style property {@code msFlex}. */
1978         MS_FLEX("msFlex", "-ms-flex", ie("0 1 auto")),
1979 
1980         /** The style property {@code msFlexAlign}. */
1981         MS_FLEX_ALIGN("msFlexAlign", "-ms-flex-align", ie("stretch")),
1982 
1983         /** The style property {@code msFlexDirection}. */
1984         MS_FLEX_DIRECTION("msFlexDirection", "-ms-flex-direction", ie("row")),
1985 
1986         /** The style property {@code msFlexFlow}. */
1987         MS_FLEX_FLOW("msFlexFlow", "-ms-flex-flow", ie("row nowrap")),
1988 
1989         /** The style property {@code msFlexItemAlign}. */
1990         MS_FLEX_ITEM_ALIGN("msFlexItemAlign", "-ms-flex-item-align", ie("auto")),
1991 
1992         /** The style property {@code msFlexLinePack}. */
1993         MS_FLEX_LINE_PACK("msFlexLinePack", "-ms-flex-line-pack", ie("stretch")),
1994 
1995         /** The style property {@code msFlexNegative}. */
1996         MS_FLEX_NEGATIVE("msFlexNegative", "-ms-flex-negative", ie("1")),
1997 
1998         /** The style property {@code msFlexOrder}. */
1999         MS_FLEX_ORDER("msFlexOrder", "-ms-flex-order", ie("0")),
2000 
2001         /** The style property {@code msFlexPack}. */
2002         MS_FLEX_PACK("msFlexPack", "-ms-flex-pack", ie("start")),
2003 
2004         /** The style property {@code msFlexPositive}. */
2005         MS_FLEX_POSITIVE("msFlexPositive", "-ms-flex-positive", ie("0")),
2006 
2007         /** The style property {@code msFlexPreferredSize}. */
2008         MS_FLEX_PREFERRED_SIZE("msFlexPreferredSize", "-ms-flex-preferred-size", ie("auto")),
2009 
2010         /** The style property {@code msFlexWrap}. */
2011         MS_FLEX_WRAP("msFlexWrap", "-ms-flex-wrap", ie("nowrap")),
2012 
2013         /** The style property {@code msFlowFrom}. */
2014         MS_FLOW_FROM("msFlowFrom", "-ms-flow-from", ie("none")),
2015 
2016         /** The style property {@code msFlowInto}. */
2017         MS_FLOW_INTO("msFlowInto", "-ms-flow-into", ie("none")),
2018 
2019         /** The style property {@code msFontFeatureSettings}. */
2020         MS_FONT_FEATURE_SETTINGS("msFontFeatureSettings", "-ms-font-feature-settings", ie("normal")),
2021 
2022         /** The style property {@code msGridColumn}. */
2023         MS_GRID_COLUMN("msGridColumn", "-ms-grid-column", ie("1")),
2024 
2025         /** The style property {@code msGridColumnAlign}. */
2026         MS_GRID_COLUMN_ALIGN("msGridColumnAlign", "-ms-grid-column-align", ie("stretch")),
2027 
2028         /** The style property {@code msGridColumnSpan}. */
2029         MS_GRID_COLUMN_SPAN("msGridColumnSpan", "-ms-grid-column-span", ie("1")),
2030 
2031         /** The style property {@code msGridColumns}. */
2032         MS_GRID_COLUMNS("msGridColumns", "-ms-grid-columns", ie("none")),
2033 
2034         /** The style property {@code msGridRow}. */
2035         MS_GRID_ROW("msGridRow", "-ms-grid-row", ie("1")),
2036 
2037         /** The style property {@code msGridRowAlign}. */
2038         MS_GRID_ROW_ALIGN("msGridRowAlign", "-ms-grid-row-align", ie("stretch")),
2039 
2040         /** The style property {@code msGridRowSpan}. */
2041         MS_GRID_ROW_SPAN("msGridRowSpan", "-ms-grid-row-span", ie("1")),
2042 
2043         /** The style property {@code msGridRows}. */
2044         MS_GRID_ROWS("msGridRows", "-ms-grid-rows", ie("none")),
2045 
2046         /** The style property {@code msHighContrastAdjust}. */
2047         MS_HIGH_CONTRAST_ADJUST("msHighContrastAdjust", "-ms-high-contrast-adjust", ie("auto")),
2048 
2049         /** The style property {@code msHyphenateLimitChars}. */
2050         MS_HYPHENATE_LIMIT_CHARS("msHyphenateLimitChars", "-ms-hyphenate-limit-chars", ie("5 2 2")),
2051 
2052         /** The style property {@code msHyphenateLimitLines}. */
2053         MS_HYPHENATE_LIMIT_LINES("msHyphenateLimitLines", "-ms-hyphenate-limit-lines", ie("no-limit")),
2054 
2055         /** The style property {@code msHyphenateLimitZone}. */
2056         MS_HYPHENATE_LIMIT_ZONE("msHyphenateLimitZone", "-ms-hyphenate-limit-zone", ie("0px")),
2057 
2058         /** The style property {@code msHyphens}. */
2059         MS_HYPHENS("msHyphens", "-ms-hyphens", ie("manual")),
2060 
2061         /** The style property {@code msImeAlign}. */
2062         MS_IME_ALIGN("msImeAlign", "-ms-ime-align", ie("")),
2063 
2064         /** The style property {@code msInterpolationMode}. */
2065         MS_INTERPOLATION_MODE("msInterpolationMode", "-ms-interpolation-mode", ie("undefined")),
2066 
2067         /** The style property {@code msOverflowStyle}. */
2068         MS_OVERFLOW_STYLE("msOverflowStyle", "-ms-overflow-style", ie("scrollbar")),
2069 
2070         /** The style property {@code msPerspective}. */
2071         MS_PERSPECTIVE("msPerspective", "-ms-perspective", ie("none")),
2072 
2073         /** The style property {@code msPerspectiveOrigin}. */
2074         MS_PERSPECTIVE_ORIGIN("msPerspectiveOrigin", "-ms-perspective-origin", ie("620px 163.2px")),
2075 
2076         /** The style property {@code msScrollChaining}. */
2077         MS_SCROLL_CHAINING("msScrollChaining", "-ms-scroll-chaining", ie("chained")),
2078 
2079         /** The style property {@code msScrollLimit}. */
2080         MS_SCROLL_LIMIT("msScrollLimit", "-ms-scroll-limit", ie("")),
2081 
2082         /** The style property {@code msScrollLimitXMax}. */
2083         MS_SCROLL_LIMIT_X_MAX("msScrollLimitXMax", "-ms-scroll-limit-x-max", ie("0px")),
2084 
2085         /** The style property {@code msScrollLimitXMin}. */
2086         MS_SCROLL_LIMIT_X_MIN("msScrollLimitXMin", "-ms-scroll-limit-x-min", ie("0px")),
2087 
2088         /** The style property {@code msScrollLimitYMax}. */
2089         MS_SCROLL_LIMIT_Y_MAX("msScrollLimitYMax", "-ms-scroll-limit-y-max", ie("0px")),
2090 
2091         /** The style property {@code msScrollLimitYMin}. */
2092         MS_SCROLL_LIMIT_Y_MIN("msScrollLimitYMin", "-ms-scroll-limit-y-min", ie("0px")),
2093 
2094         /** The style property {@code msScrollRails}. */
2095         MS_SCROLL_RAILS("msScrollRails", "-ms-scroll-rails", ie("railed")),
2096 
2097         /** The style property {@code msScrollSnapPointsX}. */
2098         MS_SCROLL_SNAP_POINTS_X("msScrollSnapPointsX", "-ms-scroll-snap-points-x", ie("snapInterval(0%, 100%)")),
2099 
2100         /** The style property {@code msScrollSnapPointsY}. */
2101         MS_SCROLL_SNAP_POINTS_Y("msScrollSnapPointsY", "-ms-scroll-snap-points-y", ie("snapInterval(0%, 100%)")),
2102 
2103         /** The style property {@code msScrollSnapType}. */
2104         MS_SCROLL_SNAP_TYPE("msScrollSnapType", "-ms-scroll-snap-type", ie("none")),
2105 
2106         /** The style property {@code msScrollSnapX}. */
2107         MS_SCROLL_SNAP_X("msScrollSnapX", "-ms-scroll-snap-x", ie("none snapInterval(0%, 100%)")),
2108 
2109         /** The style property {@code msScrollSnapY}. */
2110         MS_SCROLL_SNAP_Y("msScrollSnapY", "-ms-scroll-snap-y", ie("none snapInterval(0%, 100%)")),
2111 
2112         /** The style property {@code msScrollTranslation}. */
2113         MS_SCROLL_TRANSLATION("msScrollTranslation", "-ms-scroll-translation", ie("none")),
2114 
2115         /** The style property {@code msTextCombineHorizontal}. */
2116         MS_TEXT_COMBINE_HORIZONTAL("msTextCombineHorizontal", "-ms-text-combine-horizontal", ie("none")),
2117 
2118         /** The style property {@code msTouchAction}. */
2119         MS_TOUCH_ACTION("msTouchAction", "-ms-touch-action", ie("auto")),
2120 
2121         /** The style property {@code msTouchSelect}. */
2122         MS_TOUCH_SELECT("msTouchSelect", "-ms-touch-select", ie("")),
2123 
2124         /** The style property {@code msTransform}. */
2125         MS_TRANSFORM("msTransform", "-ms-transform", ie("none")),
2126 
2127         /** The style property {@code msTransformOrigin}. */
2128         MS_TRANSFORM_ORIGIN("msTransformOrigin", "-ms-transform-origin", ie("620px 163.2px")),
2129 
2130         /** The style property {@code msTransformStyle}. */
2131         MS_TRANSFORM_STYLE("msTransformStyle", "-ms-transform-style", ie("flat")),
2132 
2133         /** The style property {@code msTransition}. */
2134         MS_TRANSITION("msTransition", "-ms-transition", ie("")),
2135 
2136         /** The style property {@code msTransitionDelay}. */
2137         MS_TRANSITION_DELAY("msTransitionDelay", "-ms-transition-delay", ie("0s")),
2138 
2139         /** The style property {@code msTransitionDuration}. */
2140         MS_TRANSITION_DURATION("msTransitionDuration",
2141                 "-ms-transition-duration", ie("0s")),
2142 
2143         /** The style property {@code msTransitionProperty}. */
2144         MS_TRANSITION_PROPERTY("msTransitionProperty",
2145                 "-ms-transition-property", ie("all")),
2146 
2147         /** The style property {@code msTransitionTimingFunction}. */
2148         MS_TRANSITION_TIMING_FUNCTION("msTransitionTimingFunction",
2149                 "-ms-transition-timing-function",
2150                 ie("cubic-bezier(0.25, 0.1, 0.25, 1)")),
2151 
2152         /** The style property {@code msUserSelect}. */
2153         MS_USER_SELECT("msUserSelect", "-ms-user-select", ie("text")),
2154 
2155         /** The style property {@code msWrapFlow}. */
2156         MS_WRAP_FLOW("msWrapFlow", "-ms-wrap-flow", ie("auto")),
2157 
2158         /** The style property {@code msWrapMargin}. */
2159         MS_WRAP_MARGIN("msWrapMargin", "-ms-wrap-margin", ie("auto")),
2160 
2161         /** The style property {@code msWrapThrough}. */
2162         MS_WRAP_THROUGH("msWrapThrough", "-ms-wrap-through", ie("wrap")),
2163 
2164         /** The style property {@code objectFit}. */
2165         OBJECT_FIT("objectFit", "object-fit", ff("fill"), chrome("fill")),
2166 
2167         /** The style property {@code object-fit}. */
2168         OBJECT_FIT_("object-fit", "object-fit", ff("fill")),
2169 
2170         /** The style property {@code objectPosition}. */
2171         OBJECT_POSITION("objectPosition", "object-position", ff("50% 50%"), chrome("50% 50%")),
2172 
2173         /** The style property {@code object-position}. */
2174         OBJECT_POSITION_("object-position", "object-position", ff("50% 50%")),
2175 
2176         /** The style property {@code offset}. */
2177         OFFSET("offset", "offset", chrome("none 0px auto 0deg")),
2178 
2179         /** The style property {@code offsetBlockEnd}. */
2180         OFFSET_BLOCK_END("offsetBlockEnd", "offset-block-end", ff("")),
2181 
2182         /** The style property {@code offset-block-end}. */
2183         OFFSET_BLOCK_END_("offset-block-end", "offset-block-end", ff("")),
2184 
2185         /** The style property {@code offsetBlockStart}. */
2186         OFFSET_BLOCK_START("offsetBlockStart", "offset-block-start", ff("")),
2187 
2188         /** The style property {@code offset-block-start}. */
2189         OFFSET_BLOCK_START_("offset-block-start", "offset-block-start", ff("")),
2190 
2191         /** The style property {@code offsetDistance}. */
2192         OFFSET_DISTANCE("offsetDistance", "offsetDistance", chrome("0px")),
2193 
2194         /** The style property {@code offsetInlineEnd}. */
2195         OFFSET_INLINE_END("offsetInlineEnd", "offset-inline-end", ff("")),
2196 
2197         /** The style property {@code offset-inline-end}. */
2198         OFFSET_INLINE_END_("offset-inline-end", "offset-inline-end", ff("")),
2199 
2200         /** The style property {@code offsetInlineStart}. */
2201         OFFSET_INLINE_START("offsetInlineStart", "offset-inline-start", ff("")),
2202 
2203         /** The style property {@code offset-inline-start}. */
2204         OFFSET_INLINE_START_("offset-inline-start", "offset-inline-start", ff("")),
2205 
2206         /** The style property {@code offsetPath}. */
2207         OFFSET_PATH("offsetPath", "offsetPath", chrome("none")),
2208 
2209         /** The style property {@code offsetRotate}. */
2210         OFFSET_ROTATE("offsetRotate", "offsetRotate", chrome("auto 0deg")),
2211 
2212         /** The style property {@code offsetRotation}. */
2213         OFFSET_ROTATION("offsetRotation", "offsetRotation", chrome("auto 0deg")),
2214 
2215         /** The style property {@code opacity}. */
2216         OPACITY("opacity", "opacity", chrome("1"), ff(""), ie("")),
2217 
2218         /** The style property {@code order}. */
2219         ORDER("order", "order", ff("0"), ie("0"), chrome("0")),
2220 
2221         /** The style property {@code orientation}. */
2222         ORIENTATION("orientation", "orientation", chrome("")),
2223 
2224         /** The style property {@code orphans}. */
2225         ORPHANS("orphans", "orphans", ie("2"), chrome("2")),
2226 
2227         /** The style property {@code outline}. */
2228         OUTLINE("outline", "outline", chrome("rgb(0, 0, 0) none 0px"), ff(""), ie("")),
2229 
2230         /** The style property {@code outlineColor}. */
2231         OUTLINE_COLOR("outlineColor", "outline-color", ie("transparent"), chrome("rgb(0, 0, 0)"),
2232                 ff("rgb(0, 0, 0)")),
2233 
2234         /** The style property {@code outline-color}. */
2235         OUTLINE_COLOR_("outline-color", "outline-color", ff("rgb(0, 0, 0)")),
2236 
2237         /** The style property {@code outlineOffset}. */
2238         OUTLINE_OFFSET("outlineOffset", "outline-offset", chrome("0px"), ff("0px")),
2239 
2240         /** The style property {@code outline-offset}. */
2241         OUTLINE_OFFSET_("outline-offset", "outline-offset", ff("0px")),
2242 
2243         /** The style property {@code outlineStyle}. */
2244         OUTLINE_STYLE("outlineStyle", "outline-style", chrome("none"), ff("none"), ie("none")),
2245 
2246         /** The style property {@code outline-style}. */
2247         OUTLINE_STYLE_("outline-style", "outline-style", ff("none")),
2248 
2249         /** The style property {@code outlineWidth}. */
2250         OUTLINE_WIDTH("outlineWidth", "outline-width", chrome("0px"), ff(""), ie("")),
2251 
2252         /** The style property {@code outline-width}. */
2253         OUTLINE_WIDTH_("outline-width", "outline-width", ff("0px")),
2254 
2255         /** The style property {@code overflow}. */
2256         OVERFLOW("overflow", "overflow", chrome("visible"), ff("visible"), ie("visible")),
2257 
2258         /** The style property {@code overflowAnchor}. */
2259         OVERFLOW_ANCHOR("overflowAnchor", "overflow-anchor", chrome("auto")),
2260 
2261         /** The style property {@code overflowWrap}. */
2262         OVERFLOW_WRAP("overflowWrap", "overflow-wrap", chrome("normal"), ff52up("normal")),
2263 
2264         /** The style property {@code overflow-wrap}. */
2265         OVERFLOW_WRAP_("overflow-wrap", "overflow-wrap", ff52up("normal")),
2266 
2267         /** The style property {@code overflowX}. */
2268         OVERFLOW_X("overflowX", "overflow-x", chrome("visible"), ff("visible"), ie("visible")),
2269 
2270         /** The style property {@code overflow-x}. */
2271         OVERFLOW_X_("overflow-x", "overflow-x", ff("visible")),
2272 
2273         /** The style property {@code overflowY}. */
2274         OVERFLOW_Y("overflowY", "overflow-y", chrome("visible"), ff("visible"), ie("visible")),
2275 
2276         /** The style property {@code overflow-y}. */
2277         OVERFLOW_Y_("overflow-y", "overflow-y", ff("visible")),
2278 
2279         /** The style property {@code padding}. */
2280         PADDING("padding", "padding", chrome("0px"), ff(""), ie("")),
2281 
2282         /** The style property {@code paddingBlockEnd}. */
2283         PADDING_BLOCK_END("paddingBlockEnd", "padding-block-end", ff("")),
2284 
2285         /** The style property {@code padding-block-end}. */
2286         PADDING_BLOCK_END_("padding-block-end", "padding-block-end", ff("")),
2287 
2288         /** The style property {@code paddingBlockStart}. */
2289         PADDING_BLOCK_START("paddingBlockStart", "padding-block-start", ff("")),
2290 
2291         /** The style property {@code padding-block-start}. */
2292         PADDING_BLOCK_START_("padding-block-start", "padding-block-start", ff("")),
2293 
2294         /** The style property {@code paddingBottom}. */
2295         PADDING_BOTTOM("paddingBottom", "padding-bottom", chrome("0px"), ff(""), ie("")),
2296 
2297         /** The style property {@code padding-bottom}. */
2298         PADDING_BOTTOM_("padding-bottom", "padding-bottom", ff("0px")),
2299 
2300         /** The style property {@code paddingInlineEnd}. */
2301         PADDING_INLINE_END("paddingInlineEnd", "padding-inline-end", ff("")),
2302 
2303         /** The style property {@code padding-inline-end}. */
2304         PADDING_INLINE_END_("padding-inline-end", "padding-inline-end", ff("")),
2305 
2306         /** The style property {@code paddingInlineStart}. */
2307         PADDING_INLINE_START("paddingInlineStart", "padding-inline-start", ff("")),
2308 
2309         /** The style property {@code padding-inline-start}. */
2310         PADDING_INLINE_START_("padding-inline-start", "padding-inline-start", ff("")),
2311 
2312         /** The style property {@code paddingLeft}. */
2313         PADDING_LEFT("paddingLeft", "padding-left", chrome("0px"), ff(""), ie("")),
2314 
2315         /** The style property {@code padding-left}. */
2316         PADDING_LEFT_("padding-left", "padding-left", ff("0px")),
2317 
2318         /** The style property {@code paddingRight}. */
2319         PADDING_RIGHT("paddingRight", "padding-right", chrome("0px"), ff(""), ie("")),
2320 
2321         /** The style property {@code padding-right}. */
2322         PADDING_RIGHT_("padding-right", "padding-right", ff("0px")),
2323 
2324         /** The style property {@code paddingTop}. */
2325         PADDING_TOP("paddingTop", "padding-top", chrome("0px"), ff(""), ie("")),
2326 
2327         /** The style property {@code padding-top}. */
2328         PADDING_TOP_("padding-top", "padding-top", ff("0px")),
2329 
2330         /** The style property {@code page}. */
2331         PAGE("page", "page", chrome("")),
2332 
2333         /** The style property {@code pageBreakAfter}. */
2334         PAGE_BREAK_AFTER("pageBreakAfter", "page-break-after", chrome("auto"), ff("auto"), ie("auto")),
2335 
2336         /** The style property {@code page-break-after}. */
2337         PAGE_BREAK_AFTER_("page-break-after", "page-break-after", ff("auto")),
2338 
2339         /** The style property {@code pageBreakBefore}. */
2340         PAGE_BREAK_BEFORE("pageBreakBefore", "page-break-before", chrome("auto"), ff("auto"), ie("auto")),
2341 
2342         /** The style property {@code page-break-before}. */
2343         PAGE_BREAK_BEFORE_("page-break-before", "page-break-before", ff("auto")),
2344 
2345         /** The style property {@code pageBreakInside}. */
2346         PAGE_BREAK_INSIDE("pageBreakInside", "page-break-inside", ff("auto"), ie("auto"), chrome("auto")),
2347 
2348         /** The style property {@code page-break-inside}. */
2349         PAGE_BREAK_INSIDE_("page-break-inside", "page-break-inside", ff("auto")),
2350 
2351         /** The style property {@code paintOrder}. */
2352         PAINT_ORDER("paintOrder", "paint-order", ff("normal"), chrome("fill stroke markers")),
2353 
2354         /** The style property {@code paint-order}. */
2355         PAINT_ORDER_("paint-order", "paint-order", ff("normal")),
2356 
2357         /** The style property {@code pause}. */
2358         PAUSE("pause", "pause"),
2359 
2360         /** The style property {@code pauseAfter}. */
2361         PAUSE_AFTER("pauseAfter", "pause-after"),
2362 
2363         /** The style property {@code pauseBefore}. */
2364         PAUSE_BEFORE("pauseBefore", "pause-before"),
2365 
2366         /** The style property {@code perspective}. */
2367         PERSPECTIVE("perspective", "perspective", ff("none"), ie("none"), chrome("none")),
2368 
2369         /** The style property {@code perspectiveOrigin}. */
2370         PERSPECTIVE_ORIGIN("perspectiveOrigin", "perspective-origin",
2371                 ffBelow52("705px 172.5px"), ff52up("625px 172.5px"), ie("620px 163.2px"), chrome("456.5px 161px")),
2372 
2373         /** The style property {@code perspective-origin}. */
2374         PERSPECTIVE_ORIGIN_("perspective-origin", "perspective-origin",
2375                 ffBelow52("705px 172.5px"), ff52up("625px 172.5px")),
2376 
2377         /** The style property {@code pitch}. */
2378         PITCH("pitch", "pitch"),
2379 
2380         /** The style property {@code pitchRange}. */
2381         PITCH_RANGE("pitchRange", "pitch-range"),
2382 
2383         /** The style property {@code pixelBottom}. */
2384         PIXEL_BOTTOM("pixelBottom", "pixel-bottom", ie("").setIteratable(false)),
2385 
2386         /** The style property {@code pixelHeight}. */
2387         PIXEL_HEIGHT("pixelHeight", "pixel-height", ie("").setIteratable(false)),
2388 
2389         /** The style property {@code pixelLeft}. */
2390         PIXEL_LEFT("pixelLeft", "pixel-left", ie("").setIteratable(false)),
2391 
2392         /** The style property {@code pixelRight}. */
2393         PIXEL_RIGHT("pixelRight", "pixel-right", ie("").setIteratable(false)),
2394 
2395         /** The style property {@code pixelTop}. */
2396         PIXEL_TOP("pixelTop", "pixel-top", ie("").setIteratable(false)),
2397 
2398         /** The style property {@code pixelWidth}. */
2399         PIXEL_WIDTH("pixelWidth", "pixel-width", ie("").setIteratable(false)),
2400 
2401         /** The style property {@code placeContent}. */
2402         PLACE_CONTENT("placeContent", "place-content", ff52up("")),
2403 
2404         /** The style property {@code place-content}. */
2405         PLACE_CONTENT_("place-content", "place-content", ff52up("")),
2406 
2407         /** The style property {@code placeItems}. */
2408         PLACE_ITEMS("placeItems", "place-items", ff52up("")),
2409 
2410         /** The style property {@code place-items}. */
2411         PLACE_ITEMS_("place-items", "place-items", ff52up("")),
2412 
2413         /** The style property {@code placeSelf}. */
2414         PLACE_SELF("placeSelf", "place-self", ff52up("")),
2415 
2416         /** The style property {@code place-self}. */
2417         PLACE_SELF_("place-self", "place-self", ff52up("")),
2418 
2419         /** The style property {@code pointerEvents}. */
2420         POINTER_EVENTS("pointerEvents", "pointer-events", ie("visiblePainted"), chrome("auto"), ff("auto")),
2421 
2422         /** The style property {@code pointer-events}. */
2423         POINTER_EVENTS_("pointer-events", "pointer-events", ff("auto")),
2424 
2425         /** The style property {@code posBottom}. */
2426         POS_BOTTOM("posBottom", "pos-bottom", ie("").setIteratable(false)),
2427 
2428         /** The style property {@code posHeight}. */
2429         POS_HEIGHT("posHeight", "pos-height", ie("").setIteratable(false)),
2430 
2431         /** The style property {@code posLeft}. */
2432         POS_LEFT("posLeft", "pos-left", ie("").setIteratable(false)),
2433 
2434         /** The style property {@code posRight}. */
2435         POS_RIGHT("posRight", "pos-right", ie("").setIteratable(false)),
2436 
2437         /** The style property {@code posTop}. */
2438         POS_TOP("posTop", "pos-top", ie("").setIteratable(false)),
2439 
2440         /** The style property {@code posWidth}. */
2441         POS_WIDTH("posWidth", "pos-width", ie("").setIteratable(false)),
2442 
2443         /** The style property {@code position}. */
2444         POSITION("position", "position", chrome("static"), ff("static"), ie("static")),
2445 
2446         /** The style property {@code quotes}. */
2447         QUOTES("quotes", "quotes", ff("\"“\" \"”\" \"‘\" \"’\""), ie(""), chrome("")),
2448 
2449         /** The style property {@code r}. */
2450         R("r", "r", chrome("0px")),
2451 
2452         /** The style property {@code resize}. */
2453         RESIZE("resize", "resize", ff("none"), chrome("none")),
2454 
2455         /** The style property {@code richness}. */
2456         RICHNESS("richness", "richness"),
2457 
2458         /** The style property {@code right}. */
2459         RIGHT("right", "right", chrome("auto"), ff(""), ie("")),
2460 
2461         /** The style property {@code rubyAlign}. */
2462         RUBY_ALIGN("rubyAlign", "ruby-align", ff("space-around"), ie("")),
2463 
2464         /** The style property {@code ruby-align}. */
2465         RUBY_ALIGN_("ruby-align", "ruby-align", ff("space-around")),
2466 
2467         /** The style property {@code rubyOverhang}. */
2468         RUBY_OVERHANG("rubyOverhang", "ruby-overhang", ie("auto")),
2469 
2470         /** The style property {@code rubyPosition}. */
2471         RUBY_POSITION("rubyPosition", "ruby-position", ie("above"), ff("over")),
2472 
2473         /** The style property {@code ruby-position}. */
2474         RUBY_POSITION_("ruby-position", "ruby-position", ff("over")),
2475 
2476         /** The style property {@code rx}. */
2477         RX("rx", "rx", chrome("auto")),
2478 
2479         /** The style property {@code ry}. */
2480         RY("ry", "ry", chrome("auto")),
2481 
2482         /** The style property {@code scrollBehavior}. */
2483         SCROLL_BEHAVIOR("scrollBehavior", "scroll-behavior", ff("auto")),
2484 
2485         /** The style property {@code scroll-behavior}. */
2486         SCROLL_BEHAVIOR_("scroll-behavior", "scroll-behavior", ff("auto")),
2487 
2488         /** The style property {@code scrollSnapCoordinate}. */
2489         SCROLL_SNAP_COORDINATE("scrollSnapCoordinate", "scroll-snap-coordinate", ff("none")),
2490 
2491         /** The style property {@code scroll-snap-coordinate}. */
2492         SCROLL_SNAP_COORDINATE_("scroll-snap-coordinate", "scroll-snap-coordinate", ff("none")),
2493 
2494         /** The style property {@code scrollSnapDestination}. */
2495         SCROLL_SNAP_DESTINATION("scrollSnapDestination", "scroll-snap-destination", ff("0px 0px")),
2496 
2497         /** The style property {@code scroll-snap-destination}. */
2498         SCROLL_SNAP_DESTINATION_("scroll-snap-destination", "scroll-snap-destination", ff("0px 0px")),
2499 
2500         /** The style property {@code scrollSnapPointsX}. */
2501         SCROLL_SNAP_POINTS_X("scrollSnapPointsX", "scroll-snap-points-x", ff("none")),
2502 
2503         /** The style property {@code scroll-snap-points-x}. */
2504         SCROLL_SNAP_POINTS_X_("scroll-snap-points-x", "scroll-snap-points-x", ff("none")),
2505 
2506         /** The style property {@code scrollSnapPointsY}. */
2507         SCROLL_SNAP_POINTS_Y("scrollSnapPointsY", "scroll-snap-points-y", ff("none")),
2508 
2509         /** The style property {@code scroll-snap-points-y}. */
2510         SCROLL_SNAP_POINTS_Y_("scroll-snap-points-y", "scroll-snap-points-y", ff("none")),
2511 
2512         /** The style property {@code scrollSnapType}. */
2513         SCROLL_SNAP_TYPE("scrollSnapType", "scroll-snap-type", ff("")),
2514 
2515         /** The style property {@code scroll-snap-type}. */
2516         SCROLL_SNAP_TYPE_("scroll-snap-type", "scroll-snap-type", ff("")),
2517 
2518         /** The style property {@code scrollSnapTypeX}. */
2519         SCROLL_SNAP_TYPE_X("scrollSnapTypeX", "scroll-snap-type-x", ff("none")),
2520 
2521         /** The style property {@code scroll-snap-type-x}. */
2522         SCROLL_SNAP_TYPE_X_("scroll-snap-type-x", "scroll-snap-type-x", ff("none")),
2523 
2524         /** The style property {@code scrollSnapTypeY}. */
2525         SCROLL_SNAP_TYPE_Y("scrollSnapTypeY", "scroll-snap-type-y", ff("none")),
2526 
2527         /** The style property {@code scroll-snap-type-y}. */
2528         SCROLL_SNAP_TYPE_Y_("scroll-snap-type-y", "scroll-snap-type-y", ff("none")),
2529 
2530         /** The style property {@code scrollbar3dLightColor}. */
2531         SCROLLBAR_3DLIGHT_COLOR("scrollbar3dLightColor", "scrollbar-3dlight-color", ie("undefined")),
2532 
2533         /** The style property {@code scrollbarArrowColor}. */
2534         SCROLLBAR_ARROW_COLOR("scrollbarArrowColor", "scrollbar-arrow-color", ie("undefined")),
2535 
2536         /** The style property {@code scrollbarBaseColor}. */
2537         SCROLLBAR_BASE_COLOR("scrollbarBaseColor", "scrollbar-base-color", ie("undefined")),
2538 
2539         /** The style property {@code scrollbarDarkShadowColor}. */
2540         SCROLLBAR_DARKSHADOW_COLOR("scrollbarDarkShadowColor", "scrollbar-darkshadow-color", ie("undefined")),
2541 
2542         /** The style property {@code scrollbarFaceColor}. */
2543         SCROLLBAR_FACE_COLOR("scrollbarFaceColor", "scrollbar-face-color", ie("undefined")),
2544 
2545         /** The style property {@code scrollbarHighlightColor}. */
2546         SCROLLBAR_HIGHLIGHT_COLOR("scrollbarHighlightColor", "scrollbar-highlight-color", ie("undefined")),
2547 
2548         /** The style property {@code scrollbarShadowColor}. */
2549         SCROLLBAR_SHADOW_COLOR("scrollbarShadowColor", "scrollbar-shadow-color", ie("undefined")),
2550 
2551         /** The style property {@code scrollbarTrackColor}. */
2552         SCROLLBAR_TRACK_COLOR("scrollbarTrackColor", "scrollbar-track-color", ie("undefined")),
2553 
2554         /** The style property {@code shapeImageThreshold}. */
2555         SHAPE_IMAGE_THRESHOLD("shapeImageThreshold", "shape-image-threshold", chrome("0")),
2556 
2557         /** The style property {@code shapeMargin}. */
2558         SHAPE_MARGIN("shapeMargin", "shape-margin", chrome("0px")),
2559 
2560         /** The style property {@code shapeOutside}. */
2561         SHAPE_OUTSIDE("shapeOutside", "shape-outside", chrome("none")),
2562 
2563         /** The style property {@code shapeRendering}. */
2564         SHAPE_RENDERING("shapeRendering", "shape-rendering", ff("auto"), chrome("auto")),
2565 
2566         /** The style property {@code shape-rendering}. */
2567         SHAPE_RENDERING_("shape-rendering", "shape-rendering", ff("auto")),
2568 
2569         /** The style property {@code size}. */
2570         SIZE("size", "size", chrome("")),
2571 
2572         /** The style property {@code speak}. */
2573         SPEAK("speak", "speak", chrome("normal")),
2574 
2575         /** The style property {@code speakHeader}. */
2576         SPEAK_HEADER("speakHeader", "speak-header"),
2577 
2578         /** The style property {@code speakNumeral}. */
2579         SPEAK_NUMERAL("speakNumeral", "speak-numeral"),
2580 
2581         /** The style property {@code speakPunctuation}. */
2582         SPEAK_PUNCTUATION("speakPunctuation", "speak-punctuation"),
2583 
2584         /** The style property {@code speechRate}. */
2585         SPEECH_RATE("speechRate", "speech-rate"),
2586 
2587         /** The style property {@code src}. */
2588         SRC("src", "src", chrome("")),
2589 
2590         /** The style property {@code stopColor}. */
2591         STOP_COLOR("stopColor", "stop-color", ff("rgb(0, 0, 0)"), ie(""), chrome("rgb(0, 0, 0)")),
2592 
2593         /** The style property {@code stop-color}. */
2594         STOP_COLOR_("stop-color", "stop-color", ff("rgb(0, 0, 0)")),
2595 
2596         /** The style property {@code stopOpacity}. */
2597         STOP_OPACITY("stopOpacity", "stop-opacity", ff("1"), ie("1"), chrome("1")),
2598 
2599         /** The style property {@code stop-opacity}. */
2600         STOP_OPACITY_("stop-opacity", "stop-opacity", ff("1")),
2601 
2602         /** The style property {@code stress}. */
2603         STRESS("stress", "stress"),
2604 
2605         /** The style property {@code stroke}. */
2606         STROKE("stroke", "stroke", ff("none"), ie(""), chrome("none")),
2607 
2608         /** The style property {@code strokeDasharray}. */
2609         STROKE_DASHARRAY("strokeDasharray", "stroke-dasharray", ff("none"), ie("none"), chrome("none")),
2610 
2611         /** The style property {@code stroke-dasharray}. */
2612         STROKE_DASHARRAY_("stroke-dasharray", "stroke-dasharray", ff("none")),
2613 
2614         /** The style property {@code strokeDashoffset}. */
2615         STROKE_DASHOFFSET("strokeDashoffset", "stroke-dashoffset", ff("0px"), ie("0px"), chrome("0px")),
2616 
2617         /** The style property {@code stroke-dashoffset}. */
2618         STROKE_DASHOFFSET_("stroke-dashoffset", "stroke-dashoffset", ff("0px")),
2619 
2620         /** The style property {@code strokeLinecap}. */
2621         STROKE_LINECAP("strokeLinecap", "stroke-linecap", ff("butt"), ie("butt"), chrome("butt")),
2622 
2623         /** The style property {@code stroke-linecap}. */
2624         STROKE_LINECAP_("stroke-linecap", "stroke-linecap", ff("butt")),
2625 
2626         /** The style property {@code strokeLinejoin}. */
2627         STROKE_LINEJOIN("strokeLinejoin", "stroke-linejoin", ff("miter"), ie("miter"), chrome("miter")),
2628 
2629         /** The style property {@code stroke-linejoin}. */
2630         STROKE_LINEJOIN_("stroke-linejoin", "stroke-linejoin", ff("miter")),
2631 
2632         /** The style property {@code strokeMiterlimit}. */
2633         STROKE_MITERLIMIT("strokeMiterlimit", "stroke-miterlimit", ff("4"), ie("4"), chrome("4")),
2634 
2635         /** The style property {@code stroke-miterlimit}. */
2636         STROKE_MITERLIMIT_("stroke-miterlimit", "stroke-miterlimit", ff("4")),
2637 
2638         /** The style property {@code strokeOpacity}. */
2639         STROKE_OPACITY("strokeOpacity", "stroke-opacity", ff("1"), ie("1"), chrome("1")),
2640 
2641         /** The style property {@code stroke-opacity}. */
2642         STROKE_OPACITY_("stroke-opacity", "stroke-opacity", ff("1")),
2643 
2644         /** The style property {@code strokeWidth}. */
2645         STROKE_WIDTH("strokeWidth", "stroke-width", ff("1px"), ie("0.01px"), chrome("1px")),
2646 
2647         /** The style property {@code stroke-width}. */
2648         STROKE_WIDTH_("stroke-width", "stroke-width", ff("1px")),
2649 
2650         /** The style property {@code styleFloat}. */
2651         STYLE_FLOAT("styleFloat", "style-float", ie("undefined")),
2652 
2653         /** The style property {@code tabSize}. */
2654         TAB_SIZE("tabSize", "tab-size", chrome("8")),
2655 
2656         /** The style property {@code tableLayout}. */
2657         TABLE_LAYOUT("tableLayout", "table-layout", chrome("auto"), ff("auto"), ie("auto")),
2658 
2659         /** The style property {@code table-layout}. */
2660         TABLE_LAYOUT_("table-layout", "table-layout", ff("auto")),
2661 
2662         /** The style property {@code textAlign}. */
2663         TEXT_ALIGN("textAlign", "text-align", ie("left"), chrome("start"), ff("start")),
2664 
2665         /** The style property {@code text-align}. */
2666         TEXT_ALIGN_("text-align", "text-align", ff("start")),
2667 
2668         /** The style property {@code textAlignLast}. */
2669         TEXT_ALIGN_LAST("textAlignLast", "text-align-last", ie("auto"), chrome("auto"), ff52up("auto")),
2670 
2671         /** The style property {@code text-align-last}. */
2672         TEXT_ALIGN_LAST_("text-align-last", "text-align-last", ff52up("auto")),
2673 
2674         /** The style property {@code textAnchor}. */
2675         TEXT_ANCHOR("textAnchor", "text-anchor", ff("start"), ie("start"), chrome("start")),
2676 
2677         /** The style property {@code text-anchor}. */
2678         TEXT_ANCHOR_("text-anchor", "text-anchor", ff("start")),
2679 
2680         /** The style property {@code textAutospace}. */
2681         TEXT_AUTOSPACE("textAutospace", "text-autospace", ie("undefined")),
2682 
2683         /** The style property {@code textCombineUpright}. */
2684         TEXT_COMBINE_UPRIGHT("textCombineUpright", "text-combine-upright", chrome("none"), ff52up("none")),
2685 
2686         /** The style property {@code text-combine-upright}. */
2687         TEXT_COMBINE_UPRIGHT_("text-combine-upright", "text-combine-upright", ff52up("none")),
2688 
2689         /** The style property {@code textDecoration}. */
2690         TEXT_DECORATION("textDecoration", "text-decoration", chrome("none solid rgb(0, 0, 0)"), ff("none"), ie("none")),
2691 
2692         /** The style property {@code text-decoration}. */
2693         TEXT_DECORATION_("text-decoration", "text-decoration", ff("none")),
2694 
2695         /** The style property {@code textDecorationBlink}. */
2696         TEXT_DECORATION_BLINK("textDecorationBlink", "text-decoration-blink", ie("false").setIteratable(false)),
2697 
2698         /** The style property {@code textDecorationColor}. */
2699         TEXT_DECORATION_COLOR("textDecorationColor", "text-decoration-color",
2700                 chrome("rgb(0, 0, 0)"), ff("rgb(0, 0, 0)")),
2701 
2702         /** The style property {@code text-decoration-color}. */
2703         TEXT_DECORATION_COLOR_("text-decoration-color", "text-decoration-color", ff("rgb(0, 0, 0)")),
2704 
2705         /** The style property {@code textDecorationLine}. */
2706         TEXT_DECORATION_LINE("textDecorationLine", "text-decoration-line", chrome("none"), ff("none")),
2707 
2708         /** The style property {@code text-decoration-line}. */
2709         TEXT_DECORATION_LINE_("text-decoration-line", "text-decoration-line", ff("none")),
2710 
2711         /** The style property {@code textDecorationLineThrough}. */
2712         TEXT_DECORATION_LINE_THROUGH("textDecorationLineThrough", "text-decoration-line-through",
2713                 ie("false").setIteratable(false)),
2714 
2715         /** The style property {@code textDecorationNone}. */
2716         TEXT_DECORATION_NONE("textDecorationNone", "text-decoration-none", ie("false").setIteratable(false)),
2717 
2718         /** The style property {@code textDecorationOverline}. */
2719         TEXT_DECORATION_OVERLINE("textDecorationOverline", "text-decoration-overline",
2720                 ie("false").setIteratable(false)),
2721 
2722         /** The style property {@code textDecorationSkip}. */
2723         TEXT_DECORATION_SKIP("textDecorationSkip", "text-decoration-sskip", chrome("objects")),
2724 
2725         /** The style property {@code textDecorationStyle}. */
2726         TEXT_DECORATION_STYLE("textDecorationStyle", "text-decoration-style", chrome("solid"), ff("solid")),
2727 
2728         /** The style property {@code text-decoration-style}. */
2729         TEXT_DECORATION_STYLE_("text-decoration-style", "text-decoration-style", ff("solid")),
2730 
2731         /** The style property {@code textDecorationUnderline}. */
2732         TEXT_DECORATION_UNDERLINE("textDecorationUnderline", "text-decoration-underline",
2733                 ie("false").setIteratable(false)),
2734 
2735         /** The style property {@code textEmphasis}. */
2736         TEXT_EMPHASIS("textEmphasis", "text-emphasis", ff52up("")),
2737 
2738         /** The style property {@code text-emphasis}. */
2739         TEXT_EMPHASIS_("text-emphasis", "text-emphasis", ff52up("")),
2740 
2741         /** The style property {@code textEmphasisColor}. */
2742         TEXT_EMPHASIS_COLOR("textEmphasisColor", "text-emphasis-color", ff52up("rgb(0, 0, 0)")),
2743 
2744         /** The style property {@code text-emphasis-color}. */
2745         TEXT_EMPHASIS_COLOR_("text-emphasis-color", "text-emphasis-color", ff52up("rgb(0, 0, 0)")),
2746 
2747         /** The style property {@code textEmphasisPosition}. */
2748         TEXT_EMPHASIS_POSITION("textEmphasisPosition", "text-emphasis-position", ff52up("over right")),
2749 
2750         /** The style property {@code text-emphasis-position}. */
2751         TEXT_EMPHASIS_POSITION_("text-emphasis-position", "text-emphasis-position", ff52up("over right")),
2752 
2753         /** The style property {@code textEmphasisStyle}. */
2754         TEXT_EMPHASIS_STYLE("textEmphasisStyle", "text-emphasis-style", ff52up("none")),
2755 
2756         /** The style property {@code text-emphasis-style}. */
2757         TEXT_EMPHASIS_STYLE_("text-emphasis-style", "text-emphasis-style", ff52up("none")),
2758 
2759         /** The style property {@code textIndent}. */
2760         TEXT_INDENT("textIndent", "text-indent", chrome("0px"), ff(""), ie("")),
2761 
2762         /** The style property {@code text-indent}. */
2763         TEXT_INDENT_("text-indent", "text-indent", ff("0px")),
2764 
2765         /** The style property {@code textJustify}. */
2766         TEXT_JUSTIFY("textJustify", "text-justify", ie("auto")),
2767 
2768         /** The style property {@code textJustifyTrim}. */
2769         TEXT_JUSTIFY_TRIM("textJustifyTrim", "text-justify-trim", ie("undefined")),
2770 
2771         /** The style property {@code textKashida}. */
2772         TEXT_KASHIDA("textKashida", "text-kashida", ie("undefined")),
2773 
2774         /** The style property {@code textKashidaSpace}. */
2775         TEXT_KASHIDA_SPACE("textKashidaSpace", "text-kashida-space", ie("undefined")),
2776 
2777         /** The style property {@code textOrientation}. */
2778         TEXT_ORIENTATION("textOrientation", "text-orientation", chrome("mixed"), ff("mixed")),
2779 
2780         /** The style property {@code text-orientation}. */
2781         TEXT_ORIENTATION_("text-orientation", "text-orientation", ff("mixed")),
2782 
2783         /** The style property {@code textOverflow}. */
2784         TEXT_OVERFLOW("textOverflow", "text-overflow", ff("clip"), ie("clip"), chrome("clip")),
2785 
2786         /** The style property {@code text-overflow}. */
2787         TEXT_OVERFLOW_("text-overflow", "text-overflow", ff("clip")),
2788 
2789         /** The style property {@code textRendering}. */
2790         TEXT_RENDERING("textRendering", "text-rendering", ff("auto"), chrome("auto")),
2791 
2792         /** The style property {@code text-rendering}. */
2793         TEXT_RENDERING_("text-rendering", "text-rendering", ff("auto")),
2794 
2795         /** The style property {@code textShadow}. */
2796         TEXT_SHADOW("textShadow", "text-shadow", chrome("none"), ff("none"), ie("none")),
2797 
2798         /** The style property {@code text-shadow}. */
2799         TEXT_SHADOW_("text-shadow", "text-shadow", ff("none")),
2800 
2801         /** The style property {@code textSizeAdjust}. */
2802         TEXT_SIZE_ADJUST("textSizeAdjust", "text-size-adjust", chrome("auto")),
2803 
2804         /** The style property {@code textTransform}. */
2805         TEXT_TRANSFORM("textTransform", "text-transform", chrome("none"), ff("none"), ie("none")),
2806 
2807         /** The style property {@code text-transform}. */
2808         TEXT_TRANSFORM_("text-transform", "text-transform", ff("none")),
2809 
2810         /** The style property {@code textUnderlinePosition}. */
2811         TEXT_UNDERLINE_POSITION("textUnderlinePosition", "text-underline-position", chrome("auto"), ie("auto")),
2812 
2813         /** The style property {@code top}. */
2814         TOP("top", "top", ff("auto"), ie("auto"), chrome("auto")),
2815 
2816         /** The style property {@code touchAction}. */
2817         TOUCH_ACTION("touchAction", "touch-action", ie("auto"), chrome("auto"), ff52up("auto")),
2818 
2819         /** The style property {@code touch-action}. */
2820         TOUCH_ACTION_("touch-action", "touch-action", ff52up("auto")),
2821 
2822         /** The style property {@code transform}. */
2823         TRANSFORM("transform", "transform", ff("none"), ie("none"), chrome("none")),
2824 
2825         /** The style property {@code transformOrigin}. */
2826         TRANSFORM_ORIGIN("transformOrigin", "transform-origin",
2827                 ffBelow52("705px 172.5px"), ff52up("625px 172.5px"), ie("620px 163.2px"), chrome("456.5px 161px")),
2828 
2829         /** The style property {@code transform-origin}. */
2830         TRANSFORM_ORIGIN_("transform-origin", "transform-origin", ffBelow52("705px 172.5px"), ff52up("625px 172.5px")),
2831 
2832         /** The style property {@code transformStyle}. */
2833         TRANSFORM_STYLE("transformStyle", "transform-style", ff("flat"), ie("flat"), chrome("flat")),
2834 
2835         /** The style property {@code transform-style}. */
2836         TRANSFORM_STYLE_("transform-style", "transform-style", ff("flat")),
2837 
2838         /** The style property {@code transition}. */
2839         TRANSITION("transition", "transition", ff(""), ie(""), chrome("all 0s ease 0s")),
2840 
2841         /** The style property {@code transitionDelay}. */
2842         TRANSITION_DELAY("transitionDelay", "transition-delay", ff("0s"), ie("0s"), chrome("0s")),
2843 
2844         /** The style property {@code transition-delay}. */
2845         TRANSITION_DELAY_("transition-delay", "transition-delay", ff("0s")),
2846 
2847         /** The style property {@code transitionDuration}. */
2848         TRANSITION_DURATION("transitionDuration", "transition-duration", ff("0s"), ie("0s"), chrome("0s")),
2849 
2850         /** The style property {@code transition-duration}. */
2851         TRANSITION_DURATION_("transition-duration", "transition-duration", ff("0s")),
2852 
2853         /** The style property {@code transitionProperty}. */
2854         TRANSITION_PROPERTY("transitionProperty", "transition-property", ff("all"), ie("all"), chrome("all")),
2855 
2856         /** The style property {@code transition-property}. */
2857         TRANSITION_PROPERTY_("transition-property", "transition-property", ff("all")),
2858 
2859         /** The style property {@code transitionTimingFunction}. */
2860         TRANSITION_TIMING_FUNCTION("transitionTimingFunction",
2861                 "transition-timing-function",
2862                 ff("ease"),
2863                 ie("cubic-bezier(0.25, 0.1, 0.25, 1)"),
2864                 chrome("ease")),
2865 
2866         /** The style property {@code transition-timing-function}. */
2867         TRANSITION_TIMING_FUNCTION_("transition-timing-function", "transition-timing-function",
2868                 ff("ease")),
2869 
2870         /** The style property {@code unicodeBidi}. */
2871         UNICODE_BIDI("unicodeBidi", "unicode-bidi",
2872                 ffBelow52("-moz-isolate"), ff52up("isolate"), ie("normal"), chrome("normal")),
2873 
2874         /** The style property {@code unicode-bidi}. */
2875         UNICODE_BIDI_("unicode-bidi", "unicode-bidi", ffBelow52("-moz-isolate"), ff52up("isolate")),
2876 
2877         /** The style property {@code unicodeRange}. */
2878         UNICODE_RANGE("unicodeRange", "unicode-range", chrome("")),
2879 
2880         /** The style property {@code userSelect}. */
2881         USER_SELECT("userSelect", "user-select", chrome("text")),
2882 
2883         /** The style property {@code userZoom}. */
2884         USER_ZOOM("userZoom", "user-zoom", chrome("")),
2885 
2886         /** The style property {@code vectorEffect}. */
2887         VECTOR_EFFECT("vectorEffect", "vector-effect", ff("none"), chrome("none")),
2888 
2889         /** The style property {@code vector-effect}. */
2890         VECTOR_EFFECT_("vector-effect", "vector-effect", ff("none")),
2891 
2892         /** The style property {@code verticalAlign}. */
2893         VERTICAL_ALIGN("verticalAlign", "vertical-align", chrome("baseline"), ff(""), ie("")),
2894 
2895         /** The style property {@code vertical-align}. */
2896         VERTICAL_ALIGN_("vertical-align", "vertical-align", ff("baseline")),
2897 
2898         /** The style property {@code visibility}. */
2899         VISIBILITY("visibility", "visibility", chrome("visible"), ff("visible"), ie("visible")),
2900 
2901         /** The style property {@code voiceFamily}. */
2902         VOICE_FAMILY("voiceFamily", "voice-family"),
2903 
2904         /** The style property {@code volume}. */
2905         VOLUME("volume", "volume"),
2906 
2907         /** The style property {@code webkitAlignContent}. */
2908         WEBKIT_ALIGN_CONTENT("webkitAlignContent", "webkit-align-content", ff52up("normal")),
2909 
2910         /** The style property {@code WebkitAlignContent}. */
2911         WEBKIT_ALIGN_CONTENT_("WebkitAlignContent", "webkit-align-content", ff52up("normal")),
2912 
2913         /** The style property {@code -webkit-align-content}. */
2914         WEBKIT_ALIGN_CONTENT__("-webkit-align-content", "webkit-align-content", ff52up("normal")),
2915 
2916         /** The style property {@code webkitAlignItems}. */
2917         WEBKIT_ALIGN_ITEMS("webkitAlignItems", "webkit-align-items", ff52up("normal")),
2918 
2919         /** The style property {@code WebkitAlignItems}. */
2920         WEBKIT_ALIGN_ITEMS_("WebkitAlignItems", "webkit-align-items", ff52up("normal")),
2921 
2922         /** The style property {@code -webkit-align-items}. */
2923         WEBKIT_ALIGN_ITEMS__("-webkit-align-items", "webkit-align-items", ff52up("normal")),
2924 
2925         /** The style property {@code webkitAlignSelf}. */
2926         WEBKIT_ALIGN_SELF("webkitAlignSelf", "webkit-align-self", ff52up("auto")),
2927 
2928         /** The style property {@code WebkitAlignSelf}. */
2929         WEBKIT_ALIGN_SELF_("WebkitAlignSelf", "webkit-align-self", ff52up("auto")),
2930 
2931         /** The style property {@code -webkit-align-self}. */
2932         WEBKIT_ALIGN_SELF__("-webkit-align-self", "webkit-align-self", ff52up("auto")),
2933 
2934         /** The style property {@code webkitAnimation}. */
2935         WEBKIT_ANIMATION("webkitAnimation", "webkit-animation", ff52up("")),
2936 
2937         /** The style property {@code WebkitAnimation}. */
2938         WEBKIT_ANIMATION_("WebkitAnimation", "webkit-animation", ff52up("")),
2939 
2940         /** The style property {@code -webkit-animation}. */
2941         WEBKIT_ANIMATION__("-webkit-animation", "webkit-animation", ff52up("")),
2942 
2943         /** The style property {@code webkitAnimationDelay}. */
2944         WEBKIT_ANIMATION_DELAY("webkitAnimationDelay", "webkit-animation-delay", ff52up("0s")),
2945 
2946         /** The style property {@code WebkitAnimationDelay}. */
2947         WEBKIT_ANIMATION_DELAY_("WebkitAnimationDelay", "webkit-animation-delay", ff52up("0s")),
2948 
2949         /** The style property {@code -webkit-animation-delay}. */
2950         WEBKIT_ANIMATION_DELAY__("-webkit-animation-delay", "webkit-animation-delay", ff52up("0s")),
2951 
2952         /** The style property {@code webkitAnimationDirection}. */
2953         WEBKIT_ANIMATION_DIRECTION("webkitAnimationDirection", "webkit-animation-direction", ff52up("normal")),
2954 
2955         /** The style property {@code WebkitAnimationDirection}. */
2956         WEBKIT_ANIMATION_DIRECTION_("WebkitAnimationDirection", "webkit-animation-direction", ff52up("normal")),
2957 
2958         /** The style property {@code -webkit-animation-direction}. */
2959         WEBKIT_ANIMATION_DIRECTION__("-webkit-animation-direction", "webkit-animation-direction", ff52up("normal")),
2960 
2961         /** The style property {@code webkitAnimationDuration}. */
2962         WEBKIT_ANIMATION_DURATION("webkitAnimationDuration", "webkit-animation-duration", ff52up("0s")),
2963 
2964         /** The style property {@code WebkitAnimationDuration}. */
2965         WEBKIT_ANIMATION_DURATION_("WebkitAnimationDuration", "webkit-animation-duration", ff52up("0s")),
2966 
2967         /** The style property {@code -webkit-animation-duration}. */
2968         WEBKIT_ANIMATION_DURATION__("-webkit-animation-duration", "webkit-animation-duration", ff52up("0s")),
2969 
2970         /** The style property {@code webkitAnimationFillMode}. */
2971         WEBKIT_ANIMATION_FILL_MODE("webkitAnimationFillMode", "webkit-animation-fill-mode", ff52up("none")),
2972 
2973         /** The style property {@code WebkitAnimationFillMode}. */
2974         WEBKIT_ANIMATION_FILL_MODE_("WebkitAnimationFillMode", "webkit-animation-fill-mode", ff52up("none")),
2975 
2976         /** The style property {@code -webkit-animation-fill-mode}. */
2977         WEBKIT_ANIMATION_FILL_MODE__("-webkit-animation-fill-mode", "webkit-animation-fill-mode", ff52up("none")),
2978 
2979         /** The style property {@code webkitAnimationIterationCount}. */
2980         WEBKIT_ANIMATION_ITERATION_COUNT("webkitAnimationIterationCount", "webkit-animation-iteration-count",
2981                 ff52up("1")),
2982 
2983         /** The style property {@code WebkitAnimationIterationCount}. */
2984         WEBKIT_ANIMATION_ITERATION_COUNT_("WebkitAnimationIterationCount", "webkit-animation-iteration-count",
2985                 ff52up("1")),
2986 
2987         /** The style property {@code -webkit-animation-iteration-count}. */
2988         WEBKIT_ANIMATION_ITERATION_COUNT__("-webkit-animation-iteration-count", "webkit-animation-iteration-count",
2989                 ff52up("1")),
2990 
2991         /** The style property {@code webkitAnimationName}. */
2992         WEBKIT_ANIMATION_NAME("webkitAnimationName", "webkit-animation-name", ff52up("none")),
2993 
2994         /** The style property {@code WebkitAnimationName}. */
2995         WEBKIT_ANIMATION_NAME_("WebkitAnimationName", "webkit-animation-name", ff52up("none")),
2996 
2997         /** The style property {@code -webkit-animation-name}. */
2998         WEBKIT_ANIMATION_NAME__("-webkit-animation-name", "webkit-animation-name", ff52up("none")),
2999 
3000         /** The style property {@code webkitAnimationPlayState}. */
3001         WEBKIT_ANIMATION_PLAY_STATE("webkitAnimationPlayState", "webkit-animation-play-state", ff52up("running")),
3002 
3003         /** The style property {@code WebkitAnimationPlayState}. */
3004         WEBKIT_ANIMATION_PLAY_STATE_("WebkitAnimationPlayState", "webkit-animation-play-state", ff52up("running")),
3005 
3006         /** The style property {@code -webkit-animation-play-state}. */
3007         WEBKIT_ANIMATION_PLAY_STATE__("-webkit-animation-play-state", "webkit-animation-play-state", ff52up("running")),
3008 
3009         /** The style property {@code webkitAnimationTimingFunction}. */
3010         WEBKIT_ANIMATION_TIMING_FUNCTION("webkitAnimationTimingFunction", "webkit-animation-timing-function",
3011                 ff52up("ease")),
3012 
3013         /** The style property {@code WebkitAnimationTimingFunction}. */
3014         WEBKIT_ANIMATION_TIMING_FUNCTION_("WebkitAnimationTimingFunction", "webkit-animation-timing-function",
3015                 ff52up("ease")),
3016 
3017         /** The style property {@code -webkit-animation-timing-function}. */
3018         WEBKIT_ANIMATION_TIMING_FUNCTION__("-webkit-animation-timing-function", "webkit-animation-timing-function",
3019                 ff52up("ease")),
3020 
3021         /** The style property {@code webkitAppRegion}. */
3022         WEBKIT_APP_REGION("webkitAppRegion", "webkit-app-region", chrome("no-drag")),
3023 
3024         /** The style property {@code webkitAppearance}. */
3025         WEBKIT_APPEARANCE("webkitAppearance", "webkit-appearance", chrome("none")),
3026 
3027         /** The style property {@code webkitBackfaceVisibility}. */
3028         WEBKIT_BACKFACE_VISIBILITY("webkitBackfaceVisibility", "webkit-backface-visibility",
3029                 ff52up("visible")),
3030 
3031         /** The style property {@code WebkitBackfaceVisibility}. */
3032         WEBKIT_BACKFACE_VISIBILITY_("WebkitBackfaceVisibility", "webkit-backface-visibility",
3033                 ff52up("visible")),
3034 
3035         /** The style property {@code -webkit-backface-visibility}. */
3036         WEBKIT_BACKFACE_VISIBILITY__("-webkit-backface-visibility", "webkit-backface-visibility",
3037                 ff52up("visible")),
3038 
3039         /** The style property {@code webkitBackgroundClip}. */
3040         WEBKIT_BACKGROUND_CLIP("webkitBackgroundClip", "webkit-background-clip",
3041                 chrome("border-box"), ff52up("border-box")),
3042 
3043         /** The style property {@code WebkitBackgroundClip}. */
3044         WEBKIT_BACKGROUND_CLIP_("WebkitBackgroundClip", "webkit-background-clip",
3045                 ff52up("border-box")),
3046 
3047         /** The style property {@code -webkit-background-clip}. */
3048         WEBKIT_BACKGROUND_CLIP__("-webkit-background-clip", "webkit-background-clip",
3049                 ff52up("border-box")),
3050 
3051         /** The style property {@code webkitBackgroundOrigin}. */
3052         WEBKIT_BACKGROUND_ORIGIN("webkitBackgroundOrigin", "webkit-background-origin",
3053                 chrome("padding-box"), ff52up("padding-box")),
3054 
3055         /** The style property {@code WebkitBackgroundOrigin}. */
3056         WEBKIT_BACKGROUND_ORIGIN_("WebkitBackgroundOrigin", "webkit-background-origin",
3057                 ff52up("padding-box")),
3058 
3059         /** The style property {@code -webkit-background-origin}. */
3060         WEBKIT_BACKGROUND_ORIGIN__("-webkit-background-origin", "webkit-background-origin",
3061                 ff52up("padding-box")),
3062 
3063         /** The style property {@code webkitBackgroundSize}. */
3064         WEBKIT_BACKGROUND_SIZE("webkitBackgroundSize", "webkit-background-size", ff52up("auto auto")),
3065 
3066         /** The style property {@code WebkitBackgroundSize}. */
3067         WEBKIT_BACKGROUND_SIZE_("WebkitBackgroundSize", "webkit-background-size", ff52up("auto auto")),
3068 
3069         /** The style property {@code -webkit-background-size}. */
3070         WEBKIT_BACKGROUND_SIZE__("-webkit-background-size", "webkit-background-size", ff52up("auto auto")),
3071 
3072         /** The style property {@code webkitBorderAfter}. */
3073         WEBKIT_BORDER_AFTER("webkitBorderAfter", "webkit-border-after", chrome("0px none rgb(0, 0, 0)")),
3074 
3075         /** The style property {@code webkitBorderAfterColor}. */
3076         WEBKIT_BORDER_AFTER_COLOR("webkitBorderAfterColor", "webkit-border-after-color", chrome("rgb(0, 0, 0)")),
3077 
3078         /** The style property {@code webkitBorderAfterStyle}. */
3079         WEBKIT_BORDER_AFTER_STYLE("webkitBorderAfterStyle", "webkit-border-after-style", chrome("none")),
3080 
3081         /** The style property {@code webkitBorderAfterWidth}. */
3082         WEBKIT_BORDER_AFTER_WIDTH("webkitBorderAfterWidth", "webkit-border-after-width", chrome("0px")),
3083 
3084         /** The style property {@code webkitBorderBefore}. */
3085         WEBKIT_BORDER_BEFORE("webkitBorderBefore", "webkit-border-before", chrome("0px none rgb(0, 0, 0)")),
3086 
3087         /** The style property {@code webkitBorderBeforeColor}. */
3088         WEBKIT_BORDER_BEFORE_COLOR("webkitBorderBeforeColor", "webkit-border-before-color", chrome("rgb(0, 0, 0)")),
3089 
3090         /** The style property {@code webkitBorderBeforeStyle}. */
3091         WEBKIT_BORDER_BEFORE_STYLE("webkitBorderBeforeStyle", "webkit-border-before-style", chrome("none")),
3092 
3093         /** The style property {@code webkitBorderBeforeWidth}. */
3094         WEBKIT_BORDER_BEFORE_WIDTH("webkitBorderBeforeWidth", "webkit-border-before-width", chrome("0px")),
3095 
3096         /** The style property {@code webkitBorderBottomLeftRadius}. */
3097         WEBKIT_BORDER_BOTTOM_LEFT_RADIUS("webkitBorderBottomLeftRadius", "webkit-border-bottom-left-radius",
3098                 ff52up("0px")),
3099 
3100         /** The style property {@code WebkitBorderBottomLeftRadius}. */
3101         WEBKIT_BORDER_BOTTOM_LEFT_RADIUS_("WebkitBorderBottomLeftRadius", "webkit-border-bottom-left-radius",
3102                 ff52up("0px")),
3103 
3104         /** The style property {@code -webkit-border-bottom-left-radius}. */
3105         WEBKIT_BORDER_BOTTOM_LEFT_RADIUS__("-webkit-border-bottom-left-radius", "webkit-border-bottom-left-radius",
3106                 ff52up("0px")),
3107 
3108         /** The style property {@code webkitBorderBottomRightRadius}. */
3109         WEBKIT_BORDER_BOTTOM_RIGHT_RADIUS("webkitBorderBottomRightRadius", "webkit-border-bottom-right-radius",
3110                 ff52up("0px")),
3111 
3112         /** The style property {@code WebkitBorderBottomRightRadius}. */
3113         WEBKIT_BORDER_BOTTOM_RIGHT_RADIUS_("WebkitBorderBottomRightRadius", "webkit-border-bottom-right-radius",
3114                 ff52up("0px")),
3115 
3116         /** The style property {@code -webkit-border-bottom-right-radius}. */
3117         WEBKIT_BORDER_BOTTOM_RIGHT_RADIUS__("-webkit-border-bottom-right-radius", "webkit-border-bottom-right-radius",
3118                 ff52up("0px")),
3119 
3120         /** The style property {@code webkitBorderEnd}. */
3121         WEBKIT_BORDER_END("webkitBorderEnd", "webkit-border-end", chrome("0px none rgb(0, 0, 0)")),
3122 
3123         /** The style property {@code webkitBorderEndColor}. */
3124         WEBKIT_BORDER_END_COLOR("webkitBorderEndColor", "webkit-border-end-color", chrome("rgb(0, 0, 0)")),
3125 
3126         /** The style property {@code webkitBorderEndStyle}. */
3127         WEBKIT_BORDER_END_STYLE("webkitBorderEndStyle", "webkit-border-end-style", chrome("none")),
3128 
3129         /** The style property {@code webkitBorderEndWidth}. */
3130         WEBKIT_BORDER_END_WIDTH("webkitBorderEndWidth", "webkit-border-end-width", chrome("0px")),
3131 
3132         /** The style property {@code webkitBorderHorizontalSpacing}. */
3133         WEBKIT_BORDER_HORIZONTAL_SPACING("webkitBorderHorizontalSpacing", "webkit-border-horizontal-spacing",
3134                 chrome("0px")),
3135 
3136         /** The style property {@code webkitBorderImage}. */
3137         WEBKIT_BORDER_IMAGE("webkitBorderImage", "webkit-border-image", chrome("none"), ff52up("")),
3138 
3139         /** The style property {@code WebkitBorderImage}. */
3140         WEBKIT_BORDER_IMAGE_("WebkitBorderImage", "webkit-border-image", ff52up("")),
3141 
3142         /** The style property {@code -webkit-border-image}. */
3143         WEBKIT_BORDER_IMAGE__("-webkit-border-image", "webkit-border-image", ff52up("")),
3144 
3145         /** The style property {@code webkitBorderRadius}. */
3146         WEBKIT_BORDER_RADIUS("webkitBorderRadius", "webkit-border-radius", ff52up("")),
3147 
3148         /** The style property {@code WebkitBorderRadius}. */
3149         WEBKIT_BORDER_RADIUS_("WebkitBorderRadius", "webkit-border-radius", ff52up("")),
3150 
3151         /** The style property {@code -webkit-border-radius}. */
3152         WEBKIT_BORDER_RADIUS__("-webkit-border-radius", "webkit-border-radius", ff52up("")),
3153 
3154         /** The style property {@code webkitBorderStart}. */
3155         WEBKIT_BORDER_START("webkitBorderStart", "webkit-border-start", chrome("0px none rgb(0, 0, 0)")),
3156 
3157         /** The style property {@code webkitBorderStartColor}. */
3158         WEBKIT_BORDER_START_COLOR("webkitBorderStartColor", "webkit-border-start-color", chrome("rgb(0, 0, 0)")),
3159 
3160         /** The style property {@code webkitBorderStartStyle}. */
3161         WEBKIT_BORDER_START_STYLE("webkitBorderStartStyle", "webkit-border-start-style", chrome("none")),
3162 
3163         /** The style property {@code webkitBorderStartWidth}. */
3164         WEBKIT_BORDER_START_WIDTH("webkitBorderStartWidth", "webkit-border-start-width", chrome("0px")),
3165 
3166         /** The style property {@code webkitBorderTopLeftRadius}. */
3167         WEBKIT_BORDER_TOP_LEFT_RADIUS("webkitBorderTopLeftRadius", "webkit-border-top-left-radius", ff52up("0px")),
3168 
3169         /** The style property {@code WebkitBorderTopLeftRadius}. */
3170         WEBKIT_BORDER_TOP_LEFT_RADIUS_("WebkitBorderTopLeftRadius", "webkit-border-top-left-radius", ff52up("0px")),
3171 
3172         /** The style property {@code -webkit-border-top-left-radius}. */
3173         WEBKIT_BORDER_TOP_LEFT_RADIUS__("-webkit-border-top-left-radius", "webkit-border-top-left-radius",
3174                 ff52up("0px")),
3175 
3176         /** The style property {@code webkitBorderTopRightRadius}. */
3177         WEBKIT_BORDER_TOP_RIGHT_RADIUS("webkitBorderTopRightRadius", "webkit-border-top-right-radius", ff52up("0px")),
3178 
3179         /** The style property {@code WebkitBorderTopRightRadius}. */
3180         WEBKIT_BORDER_TOP_RIGHT_RADIUS_("WebkitBorderTopRightRadius", "webkit-border-top-right-radius", ff52up("0px")),
3181 
3182         /** The style property {@code -webkit-border-top-right-radius}. */
3183         WEBKIT_BORDER_TOP_RIGHT_RADIUS__("-webkit-border-top-right-radius", "webkit-border-top-right-radius",
3184                 ff52up("0px")),
3185 
3186         /** The style property {@code webkitBorderVerticalSpacing}. */
3187         WEBKIT_BORDER_VERTICAL_SPACING("webkitBorderVerticalSpacing", "webkit-border-vertical-spacing", chrome("0px")),
3188 
3189         /** The style property {@code webkitBoxAlign}. */
3190         WEBKIT_BOX_ALIGN("webkitBoxAlign", "webkit-box-align", chrome("stretch"), ff52up("stretch")),
3191 
3192         /** The style property {@code WebkitBoxAlign}. */
3193         WEBKIT_BOX_ALIGN_("WebkitBoxAlign", "webkit-box-align", ff52up("stretch")),
3194 
3195         /** The style property {@code -webkit-box-align}. */
3196         WEBKIT_BOX_ALIGN__("-webkit-box-align", "webkit-box-align", ff52up("stretch")),
3197 
3198         /** The style property {@code webkitBoxDecorationBreak}. */
3199         WEBKIT_BOX_DECORATION_BREAK("webkitBoxDecorationBreak", "webkit-box-decoration-break", chrome("slice")),
3200 
3201         /** The style property {@code webkitBoxDirection}. */
3202         WEBKIT_BOX_DIRECTION("webkitBoxDirection", "webkit-box-direction", chrome("normal"), ff52up("normal")),
3203 
3204         /** The style property {@code WebkitBoxDirection}. */
3205         WEBKIT_BOX_DIRECTION_("WebkitBoxDirection", "webkit-box-direction", ff52up("normal")),
3206 
3207         /** The style property {@code -webkit-box-direction}. */
3208         WEBKIT_BOX_DIRECTION__("-webkit-box-direction", "webkit-box-direction", ff52up("normal")),
3209 
3210         /** The style property {@code webkitBoxFlex}. */
3211         WEBKIT_BOX_FLEX("webkitBoxFlex", "webkit-box-flex", chrome("0"), ff52up("0")),
3212 
3213         /** The style property {@code WebkitBoxFlex}. */
3214         WEBKIT_BOX_FLEX_("WebkitBoxFlex", "webkit-box-flex", ff52up("0")),
3215 
3216         /** The style property {@code -webkit-box-flex}. */
3217         WEBKIT_BOX_FLEX__("-webkit-box-flex", "webkit-box-flex", ff52up("0")),
3218 
3219         /** The style property {@code webkitBoxFlexGroup}. */
3220         WEBKIT_BOX_FLEX_GROUP("webkitBoxFlexGroup", "webkit-box-flex-group", chrome("1")),
3221 
3222         /** The style property {@code webkitBoxLines}. */
3223         WEBKIT_BOX_LINES("webkitBoxLines", "webkit-box-lines", chrome("single")),
3224 
3225         /** The style property {@code webkitBoxOrdinalGroup}. */
3226         WEBKIT_BOX_ORDINAL_GROUP("webkitBoxOrdinalGroup", "webkit-box-ordinal-group", chrome("1"), ff52up("1")),
3227 
3228         /** The style property {@code WebkitBoxOrdinalGroup}. */
3229         WEBKIT_BOX_ORDINAL_GROUP_("WebkitBoxOrdinalGroup", "webkit-box-ordinal-group", ff52up("1")),
3230 
3231         /** The style property {@code -webkit-box-ordinal-group}. */
3232         WEBKIT_BOX_ORDINAL_GROUP__("-webkit-box-ordinal-group", "webkit-box-ordinal-group", ff52up("1")),
3233 
3234         /** The style property {@code webkitBoxOrient}. */
3235         WEBKIT_BOX_ORIENT("webkitBoxOrient", "webkit-box-orient", chrome("horizontal"), ff52up("horizontal")),
3236 
3237         /** The style property {@code WebkitBoxOrient}. */
3238         WEBKIT_BOX_ORIENT_("WebkitBoxOrient", "webkit-box-orient", ff52up("horizontal")),
3239 
3240         /** The style property {@code -webkit-box-orient}. */
3241         WEBKIT_BOX_ORIENT__("-webkit-box-orient", "webkit-box-orient", ff52up("horizontal")),
3242 
3243         /** The style property {@code webkitBoxPack}. */
3244         WEBKIT_BOX_PACK("webkitBoxPack", "webkit-box-pack", chrome("start"), ff52up("start")),
3245 
3246         /** The style property {@code WebkitBoxPack}. */
3247         WEBKIT_BOX_PACK_("WebkitBoxPack", "webkit-box-pack", ff52up("start")),
3248 
3249         /** The style property {@code -webkit-box-pack}. */
3250         WEBKIT_BOX_PACK__("-webkit-box-pack", "webkit-box-pack", ff52up("start")),
3251 
3252         /** The style property {@code webkitBoxReflect}. */
3253         WEBKIT_BOX_REFLECT("webkitBoxReflect", "webkit-box-reflect", chrome("none")),
3254 
3255         /** The style property {@code webkitBoxShadow}. */
3256         WEBKIT_BOX_SHADOW("webkitBoxShadow", "webkit-box-shadow", ff52up("none")),
3257 
3258         /** The style property {@code WebkitBoxShadow}. */
3259         WEBKIT_BOX_SHADOW_("WebkitBoxShadow", "webkit-box-shadow", ff52up("none")),
3260 
3261         /** The style property {@code -webkit-box-shadow}. */
3262         WEBKIT_BOX_SHADOW__("-webkit-box-shadow", "webkit-box-shadow", ff52up("none")),
3263 
3264         /** The style property {@code webkitBoxSizing}. */
3265         WEBKIT_BOX_SIZING("webkitBoxSizing", "webkit-box-sizing", ff52up("content-box")),
3266 
3267         /** The style property {@code WebkitBoxSizing}. */
3268         WEBKIT_BOX_SIZING_("WebkitBoxSizing", "webkit-box-sizing", ff52up("content-box")),
3269 
3270         /** The style property {@code -webkit-box-sizing}. */
3271         WEBKIT_BOX_SIZING__("-webkit-box-sizing", "webkit-box-sizing", ff52up("content-box")),
3272 
3273         /** The style property {@code webkitColumnBreakAfter}. */
3274         WEBKIT_COLUMN_BREAK_AFTER("webkitColumnBreakAfter", "webkit-column-break-after", chrome("auto")),
3275 
3276         /** The style property {@code webkitColumnBreakBefore}. */
3277         WEBKIT_COLUMN_BREAK_BEFORE("webkitColumnBreakBefore", "webkit-column-break-before", chrome("auto")),
3278 
3279         /** The style property {@code webkitColumnBreakInside}. */
3280         WEBKIT_COLUMN_BREAK_INSIDE("webkitColumnBreakInside", "webkit-column-break-inside", chrome("auto")),
3281 
3282         /** The style property {@code webkitFilter}. */
3283         WEBKIT_FILTER("webkitFilter", "webkit-filter", ff52up("none")),
3284 
3285         /** The style property {@code WebkitFilter}. */
3286         WEBKIT_FILTER_("WebkitFilter", "webkit-filter", ff52up("none")),
3287 
3288         /** The style property {@code -webkit-filter}. */
3289         WEBKIT_FILTER__("-webkit-filter", "webkit-filter", ff52up("none")),
3290 
3291         /** The style property {@code webkitFlex}. */
3292         WEBKIT_FLEX("webkitFlex", "webkit-flex", ff52up("")),
3293 
3294         /** The style property {@code WebkitFlex}. */
3295         WEBKIT_FLEX_("WebkitFlex", "webkit-flex", ff52up("")),
3296 
3297         /** The style property {@code -webkit-flex}. */
3298         WEBKIT_FLEX__("-webkit-flex", "webkit-flex", ff52up("")),
3299 
3300         /** The style property {@code webkitFlexBasis}. */
3301         WEBKIT_FLEX_BASIS("webkitFlexBasis", "webkit-flex-basis", ff52up("auto")),
3302 
3303         /** The style property {@code WebkitFlexBasis}. */
3304         WEBKIT_FLEX_BASIS_("WebkitFlexBasis", "webkit-flex-basis", ff52up("auto")),
3305 
3306         /** The style property {@code -webkit-flex-basis}. */
3307         WEBKIT_FLEX_BASIS__("-webkit-flex-basis", "webkit-flex-basis", ff52up("auto")),
3308 
3309         /** The style property {@code webkitFlexDirection}. */
3310         WEBKIT_FLEX_DIRECTION("webkitFlexDirection", "webkit-flex-direction", ff52up("row")),
3311 
3312         /** The style property {@code WebkitFlexDirection}. */
3313         WEBKIT_FLEX_DIRECTION_("WebkitFlexDirection", "webkit-flex-direction", ff52up("row")),
3314 
3315         /** The style property {@code -webkit-flex-direction}. */
3316         WEBKIT_FLEX_DIRECTION__("-webkit-flex-direction", "webkit-flex-direction", ff52up("row")),
3317 
3318         /** The style property {@code webkitFlexFlow}. */
3319         WEBKIT_FLEX_FLOW("webkitFlexFlow", "webkit-flex-flow", ff52up("")),
3320 
3321         /** The style property {@code WebkitFlexFlow}. */
3322         WEBKIT_FLEX_FLOW_("WebkitFlexFlow", "webkit-flex-flow", ff52up("")),
3323 
3324         /** The style property {@code -webkit-flex-flow}. */
3325         WEBKIT_FLEX_FLOW__("-webkit-flex-flow", "webkit-flex-flow", ff52up("")),
3326 
3327         /** The style property {@code webkitFlexGrow}. */
3328         WEBKIT_FLEX_GROW("webkitFlexGrow", "webkit-flex-grow", ff52up("0")),
3329 
3330         /** The style property {@code WebkitFlexGrow}. */
3331         WEBKIT_FLEX_GROW_("WebkitFlexGrow", "webkit-flex-grow", ff52up("0")),
3332 
3333         /** The style property {@code -webkit-flex-grow}. */
3334         WEBKIT_FLEX_GROW__("-webkit-flex-grow", "webkit-flex-grow", ff52up("0")),
3335 
3336         /** The style property {@code webkitFlexShrink}. */
3337         WEBKIT_FLEX_SHRINK("webkitFlexShrink", "webkit-flex-shrink", ff52up("1")),
3338 
3339         /** The style property {@code WebkitFlexShrink}. */
3340         WEBKIT_FLEX_SHRINK_("WebkitFlexShrink", "webkit-flex-shrink", ff52up("1")),
3341 
3342         /** The style property {@code -webkit-flex-shrink}. */
3343         WEBKIT_FLEX_SHRINK__("-webkit-flex-shrink", "webkit-flex-shrink", ff52up("1")),
3344 
3345         /** The style property {@code webkitFlexWrap}. */
3346         WEBKIT_FLEX_WRAP("webkitFlexWrap", "webkit-flex-wrap", ff52up("nowrap")),
3347 
3348         /** The style property {@code WebkitFlexWrap}. */
3349         WEBKIT_FLEX_WRAP_("WebkitFlexWrap", "webkit-flex-wrap", ff52up("nowrap")),
3350 
3351         /** The style property {@code -webkit-flex-wrap}. */
3352         WEBKIT_FLEX_WRAP__("-webkit-flex-wrap", "webkit-flex-wrap", ff52up("nowrap")),
3353 
3354         /** The style property {@code webkitFontSizeDelta}. */
3355         WEBKIT_FONT_SIZE_DELTA("webkitFontSizeDelta", "webkit-font-size-delta", chrome("")),
3356 
3357         /** The style property {@code webkitFontSmoothing}. */
3358         WEBKIT_FONT_SMOOTHING("webkitFontSmoothing", "webkit-font-smoothing", chrome("auto")),
3359 
3360         /** The style property {@code webkitHighlight}. */
3361         WEBKIT_HIGHLIGHT("webkitHighlight", "webkit-highlight", chrome("none")),
3362 
3363         /** The style property {@code webkitHyphenateCharacter}. */
3364         WEBKIT_HYPHENATE_CHARACTER("webkitHyphenateCharacter", "webkit-hyphenate-character", chrome("auto")),
3365 
3366         /** The style property {@code webkitJustifyContent}. */
3367         WEBKIT_JUSTIFY_CONTENT("webkitJustifyContent", "webkit-justify-content", ff52up("normal")),
3368 
3369         /** The style property {@code WebkitJustifyContent}. */
3370         WEBKIT_JUSTIFY_CONTENT_("WebkitJustifyContent", "webkit-justify-content", ff52up("normal")),
3371 
3372         /** The style property {@code -webkit-justify-content}. */
3373         WEBKIT_JUSTIFY_CONTENT__("-webkit-justify-content", "webkit-justify-content", ff52up("normal")),
3374 
3375         /** The style property {@code webkitLineBreak}. */
3376         WEBKIT_LINE_BREAK("webkitLineBreak", "webkit-line-break", chrome("auto")),
3377 
3378         /** The style property {@code webkitLineClamp}. */
3379         WEBKIT_LINE_CLAMP("webkitLineClamp", "webkit-line-clamp", chrome("none")),
3380 
3381         /** The style property {@code webkitLocale}. */
3382         WEBKIT_LOCALE("webkitLocale", "webkit-locale", chrome("auto")),
3383 
3384         /** The style property {@code webkitLogicalHeight}. */
3385         WEBKIT_LOGICAL_HEIGHT("webkitLogicalHeight", "webkit-logical-height", chrome("322px")),
3386 
3387         /** The style property {@code webkitLogicalWidth}. */
3388         WEBKIT_LOGICAL_WIDTH("webkitLogicalWidth", "webkit-logical-width", chrome("913px")),
3389 
3390         /** The style property {@code webkitMarginAfter}. */
3391         WEBKIT_MARGIN_AFTER("webkitMarginAfter", "webkit-margin-after", chrome("0px")),
3392 
3393         /** The style property {@code webkitMarginAfterCollapse}. */
3394         WEBKIT_MARGIN_AFTER_COLLAPSE("webkitMarginAfterCollapse", "webkit-margin-after-collapse", chrome("collapse")),
3395 
3396         /** The style property {@code webkitMarginBefore}. */
3397         WEBKIT_MARGIN_BEFORE("webkitMarginBefore", "webkit-margin-before", chrome("0px")),
3398 
3399         /** The style property {@code webkitMarginBeforeCollapse}. */
3400         WEBKIT_MARGIN_BEFORE_COLLAPSE("webkitMarginBeforeCollapse", "webkit-margin-before-collapse",
3401                 chrome("collapse")),
3402 
3403         /** The style property {@code webkitMarginBottomCollapse}. */
3404         WEBKIT_MARGIN_BOTTOM_COLLAPSE("webkitMarginBottomCollapse", "webkit-margin-bottom-collapse",
3405                 chrome("collapse")),
3406 
3407         /** The style property {@code webkitMarginCollapse}. */
3408         WEBKIT_MARGIN_COLLAPSE("webkitMarginCollapse", "webkit-margin-collapse", chrome("")),
3409 
3410         /** The style property {@code webkitMarginEnd}. */
3411         WEBKIT_MARGIN_END("webkitMarginEnd", "webkit-margin-end", chrome("0px")),
3412 
3413         /** The style property {@code webkitMarginStart}. */
3414         WEBKIT_MARGIN_START("webkitMarginStart", "webkit-margin-start", chrome("0px")),
3415 
3416         /** The style property {@code webkitMarginTopCollapse}. */
3417         WEBKIT_MARGIN_TOP_COLLAPSE("webkitMarginTopCollapse", "webkit-margin-top-collapse", chrome("collapse")),
3418 
3419         /** The style property {@code webkitMask}. */
3420         WEBKIT_MASK("webkitMask", "webkit-mask", chrome("")),
3421 
3422         /** The style property {@code webkitMaskBoxImage}. */
3423         WEBKIT_MASK_BOX_IMAGE("webkitMaskBoxImage", "webkit-mask-box-image", chrome("none")),
3424 
3425         /** The style property {@code webkitMaskBoxImageOutset}. */
3426         WEBKIT_MASK_BOX_IMAGE_OUTSET("webkitMaskBoxImageOutset", "webkit-mask-box-image-outset", chrome("0px")),
3427 
3428         /** The style property {@code webkitMaskBoxImageRepeat}. */
3429         WEBKIT_MASK_BOX_IMAGE_REPEAT("webkitMaskBoxImageRepeat", "webkit-mask-box-image-repeat", chrome("stretch")),
3430 
3431         /** The style property {@code webkitMaskBoxImageSlice}. */
3432         WEBKIT_MASK_BOX_IMAGE_SLICE("webkitMaskBoxImageSlice", "webkit-mask-box-image-slice", chrome("0 fill")),
3433 
3434         /** The style property {@code webkitMaskBoxImageSource}. */
3435         WEBKIT_MASK_BOX_IMAGE_SOURCE("webkitMaskBoxImageSource", "webkit-mask-box-image-source", chrome("none")),
3436 
3437         /** The style property {@code webkitMaskBoxImageWidth}. */
3438         WEBKIT_MASK_BOX_IMAGE_WIDTH("webkitMaskBoxImageWidth", "webkit-mask-box-image-width", chrome("auto")),
3439 
3440         /** The style property {@code webkitMaskClip}. */
3441         WEBKIT_MASK_CLIP("webkitMaskClip", "webkit-mask-clip", chrome("border-box")),
3442 
3443         /** The style property {@code webkitMaskComposite}. */
3444         WEBKIT_MASK_COMPOSITE("webkitMaskComposite", "webkit-mask-composite", chrome("source-over")),
3445 
3446         /** The style property {@code webkitMaskImage}. */
3447         WEBKIT_MASK_IMAGE("webkitMaskImage", "webkit-mask-image", chrome("none")),
3448 
3449         /** The style property {@code webkitMaskOrigin}. */
3450         WEBKIT_MASK_ORIGIN("webkitMaskOrigin", "webkit-mask-origin", chrome("border-box")),
3451 
3452         /** The style property {@code webkitMaskPosition}. */
3453         WEBKIT_MASK_POSITION("webkitMaskPosition", "webkit-mask-position", chrome("0% 0%")),
3454 
3455         /** The style property {@code webkitMaskPositionX}. */
3456         WEBKIT_MASK_POSITION_X("webkitMaskPositionX", "webkit-mask-position-x", chrome("0%")),
3457 
3458         /** The style property {@code webkitMaskPositionY}. */
3459         WEBKIT_MASK_POSITION_Y("webkitMaskPositionY", "webkit-mask-position-y", chrome("0%")),
3460 
3461         /** The style property {@code webkitMaskRepeat}. */
3462         WEBKIT_MASK_REPEAT("webkitMaskRepeat", "webkit-mask-repeat", chrome("repeat")),
3463 
3464         /** The style property {@code webkitMaskRepeatX}. */
3465         WEBKIT_MASK_REPEAT_X("webkitMaskRepeatX", "webkit-mask-repeat-x", chrome("")),
3466 
3467         /** The style property {@code webkitMaskRepeatY}. */
3468         WEBKIT_MASK_REPEAT_Y("webkitMaskRepeatY", "webkit-mask-repeat-y", chrome("")),
3469 
3470         /** The style property {@code webkitMaskSize}. */
3471         WEBKIT_MASK_SIZE("webkitMaskSize", "webkit-mask-size", chrome("auto")),
3472 
3473         /** The style property {@code webkitMaxLogicalHeight}. */
3474         WEBKIT_MAX_LOGICAL_HEIGHT("webkitMaxLogicalHeight", "webkit-max-logical-height", chrome("none")),
3475 
3476         /** The style property {@code webkitMaxLogicalWidth}. */
3477         WEBKIT_MAX_LOGICAL_WIDTH("webkitMaxLogicalWidth", "webkit-max-logical-width", chrome("none")),
3478 
3479         /** The style property {@code webkitMinLogicalHeight}. */
3480         WEBKIT_MIN_LOGICAL_HEIGHT("webkitMinLogicalHeight", "webkit-min-logical-height", chrome("0px")),
3481 
3482         /** The style property {@code webkitMinLogicalWidth}. */
3483         WEBKIT_MIN_LOGICAL_WIDTH("webkitMinLogicalWidth", "webkit-min-logical-width", chrome("0px")),
3484 
3485         /** The style property {@code webkitOrder}. */
3486         WEBKIT_ORDER("webkitOrder", "webkit-order", ff52up("0")),
3487 
3488         /** The style property {@code WebkitOrder}. */
3489         WEBKIT_ORDER_("WebkitOrder", "webkit-order", ff52up("0")),
3490 
3491         /** The style property {@code -webkit-order}. */
3492         WEBKIT_ORDER__("-webkit-order", "webkit-order", ff52up("0")),
3493 
3494         /** The style property {@code webkitPaddingAfter}. */
3495         WEBKIT_PADDING_AFTER("webkitPaddingAfter", "webkit-padding-after", chrome("0px")),
3496 
3497         /** The style property {@code webkitPaddingBefore}. */
3498         WEBKIT_PADDING_BEFORE("webkitPaddingBefore", "webkit-padding-before", chrome("0px")),
3499 
3500         /** The style property {@code webkitPaddingEnd}. */
3501         WEBKIT_PADDING_END("webkitPaddingEnd", "webkit-padding-end", chrome("0px")),
3502 
3503         /** The style property {@code webkitPaddingStart}. */
3504         WEBKIT_PADDING_START("webkitPaddingStart", "webkit-padding-start", chrome("0px")),
3505 
3506         /** The style property {@code webkitPerspective}. */
3507         WEBKIT_PERSPECTIVE("webkitPerspective", "webkit-perspective", ff52up("none")),
3508 
3509         /** The style property {@code WebkitPerspective}. */
3510         WEBKIT_PERSPECTIVE_("WebkitPerspective", "webkit-perspective", ff52up("none")),
3511 
3512         /** The style property {@code -webkit-perspective}. */
3513         WEBKIT_PERSPECTIVE__("-webkit-perspective", "webkit-perspective", ff52up("none")),
3514 
3515         /** The style property {@code webkitPerspectiveOrigin}. */
3516         WEBKIT_PERSPECTIVE_ORIGIN("webkitPerspectiveOrigin", "webkit-perspective-origin", ff52up("625px 172.5px")),
3517 
3518         /** The style property {@code WebkitPerspectiveOrigin}. */
3519         WEBKIT_PERSPECTIVE_ORIGIN_("WebkitPerspectiveOrigin", "webkit-perspective-origin", ff52up("625px 172.5px")),
3520 
3521         /** The style property {@code -webkit-perspective-origin}. */
3522         WEBKIT_PERSPECTIVE_ORIGIN__("-webkit-perspective-origin", "webkit-perspective-origin", ff52up("625px 172.5px")),
3523 
3524         /** The style property {@code webkitPerspectiveOriginX}. */
3525         WEBKIT_PERSPECTIVE_ORIGIN_X("webkitPerspectiveOriginX", "webkit-perspective-origin-x", chrome("")),
3526 
3527         /** The style property {@code webkitPerspectiveOriginY}. */
3528         WEBKIT_PERSPECTIVE_ORIGIN_Y("webkitPerspectiveOriginY", "webkit-perspective-origin-y", chrome("")),
3529 
3530         /** The style property {@code webkitPrintColorAdjust}. */
3531         WEBKIT_PRINT_COLOR_ADJUST("webkitPrintColorAdjust", "webkit-print-color-adjust", chrome("economy")),
3532 
3533         /** The style property {@code webkitRtlOrdering}. */
3534         WEBKIT_RTL_ORDERING("webkitRtlOrdering", "webkit-rtl-ordering", chrome("logical")),
3535 
3536         /** The style property {@code webkitRubyPosition}. */
3537         WEBKIT_RUBY_POSITION("webkitRubyPosition", "webkit-ruby-position", chrome("before")),
3538 
3539         /** The style property {@code webkitTapHighlightColor}. */
3540         WEBKIT_TAP_HIGHLIGHT_COLOR("webkitTapHighlightColor", "webkit-tap-highlight-color",
3541                 chrome("rgba(0, 0, 0, 0.18)")),
3542 
3543         /** The style property {@code webkitTextCombine}. */
3544         WEBKIT_TEXT_COMBINE("webkitTextCombine", "webkit-text-combine", chrome("none")),
3545 
3546         /** The style property {@code webkitTextDecorationsInEffect}. */
3547         WEBKIT_TEXT_DECORATIONS_IN_EFFECT("webkitTextDecorationsInEffect", "webkit-text-decorations-in-effect",
3548                 chrome("none")),
3549 
3550         /** The style property {@code webkitTextEmphasis}. */
3551         WEBKIT_TEXT_EMPHASIS("webkitTextEmphasis", "webkit-text-emphasis", chrome("")),
3552 
3553         /** The style property {@code webkitTextEmphasisColor}. */
3554         WEBKIT_TEXT_EMPHASIS_COLOR("webkitTextEmphasisColor", "webkit-text-emphasis-color",
3555                 chrome("rgb(0, 0, 0)")),
3556 
3557         /** The style property {@code webkitTextEmphasisPosition}. */
3558         WEBKIT_TEXT_EMPHASIS_POSITION("webkitTextEmphasisPosition", "webkit-text-emphasis-position",
3559                 chrome("over")),
3560 
3561         /** The style property {@code webkitTextEmphasisStyle}. */
3562         WEBKIT_TEXT_EMPHASIS_STYLE("webkitTextEmphasisStyle", "webkit-text-emphasis-style",
3563                 chrome("none")),
3564 
3565         /** The style property {@code webkitTextFillColor}. */
3566         WEBKIT_TEXT_FILL_COLOR("webkitTextFillColor", "webkit-text-fill-color",
3567                 chrome("rgb(0, 0, 0)"), ff52up("rgb(0, 0, 0)")),
3568 
3569         /** The style property {@code WebkitTextFillColor}. */
3570         WEBKIT_TEXT_FILL_COLOR_("WebkitTextFillColor", "webkit-text-fill-color",
3571                 ff52up("rgb(0, 0, 0)")),
3572 
3573         /** The style property {@code -webkit-text-fill-color}. */
3574         WEBKIT_TEXT_FILL_COLOR__("-webkit-text-fill-color", "webkit-text-fill-color",
3575                 ff52up("rgb(0, 0, 0)")),
3576 
3577         /** The style property {@code webkitTextOrientation}. */
3578         WEBKIT_TEXT_ORIENTATION("webkitTextOrientation", "webkit-text-orientation", chrome("vertical-right")),
3579 
3580         /** The style property {@code webkitTextSecurity}. */
3581         WEBKIT_TEXT_SECURITY("webkitTextSecurity", "webkit-text-security", chrome("none")),
3582 
3583         /** The style property {@code webkitTextSizeAdjust}. */
3584         WEBKIT_TEXT_SIZE_ADJUST("webkitTextSizeAdjust", "webkit-text-size-adjust", ff52up("auto")),
3585 
3586         /** The style property {@code WebkitTextSizeAdjust}. */
3587         WEBKIT_TEXT_SIZE_ADJUST_("WebkitTextSizeAdjust", "webkit-text-size-adjust", ff52up("auto")),
3588 
3589         /** The style property {@code -webkit-text-size-adjust}. */
3590         WEBKIT_TEXT_SIZE_ADJUST__("-webkit-text-size-adjust", "webkit-text-size-adjust", ff52up("auto")),
3591 
3592         /** The style property {@code webkitTextStroke}. */
3593         WEBKIT_TEXT_STROKE("webkitTextStroke", "webkit-text-stroke", chrome(""), ff52up("")),
3594 
3595         /** The style property {@code WebkitTextStroke}. */
3596         WEBKIT_TEXT_STROKE_("WebkitTextStroke", "webkit-text-stroke", ff52up("")),
3597 
3598         /** The style property {@code -webkit-text-stroke}. */
3599         WEBKIT_TEXT_STROKE__("-webkit-text-stroke", "webkit-text-stroke", ff52up("")),
3600 
3601         /** The style property {@code webkitTextStrokeColor}. */
3602         WEBKIT_TEXT_STROKE_COLOR("webkitTextStrokeColor", "webkit-text-stroke-color",
3603                 chrome("rgb(0, 0, 0)"), ff52up("rgb(0, 0, 0)")),
3604 
3605         /** The style property {@code WebkitTextStrokeColor}. */
3606         WEBKIT_TEXT_STROKE_COLOR_("WebkitTextStrokeColor", "webkit-text-stroke-color",
3607                 ff52up("rgb(0, 0, 0)")),
3608 
3609         /** The style property {@code -webkit-text-stroke-color}. */
3610         WEBKIT_TEXT_STROKE_COLOR__("-webkit-text-stroke-color", "webkit-text-stroke-color",
3611                 ff52up("rgb(0, 0, 0)")),
3612 
3613         /** The style property {@code webkitTextStrokeWidth}. */
3614         WEBKIT_TEXT_STROKE_WIDTH("webkitTextStrokeWidth", "webkit-text-stroke-width", chrome("0px"), ff52up("0px")),
3615 
3616         /** The style property {@code WebkitTextStrokeWidth}. */
3617         WEBKIT_TEXT_STROKE_WIDTH_("WebkitTextStrokeWidth", "webkit-text-stroke-width", ff52up("0px")),
3618 
3619         /** The style property {@code -webkit-text-stroke-width}. */
3620         WEBKIT_TEXT_STROKE_WIDTH__("-webkit-text-stroke-width", "webkit-text-stroke-width", ff52up("0px")),
3621 
3622         /** The style property {@code webkitTransform}. */
3623         WEBKIT_TRANSFORM("webkitTransform", "webkit-transform", ff52up("none")),
3624 
3625         /** The style property {@code WebkitTransform}. */
3626         WEBKIT_TRANSFORM_("WebkitTransform", "webkit-transform", ff52up("none")),
3627 
3628         /** The style property {@code -webkit-transform}. */
3629         WEBKIT_TRANSFORM__("-webkit-transform", "webkit-transform", ff52up("none")),
3630 
3631         /** The style property {@code webkitTransformOrigin}. */
3632         WEBKIT_TRANSFORM_ORIGIN("webkitTransformOrigin", "webkit-transform-origin", ff52up("625px 172.5px")),
3633 
3634         /** The style property {@code WebkitTransformOrigin}. */
3635         WEBKIT_TRANSFORM_ORIGIN_("WebkitTransformOrigin", "webkit-transform-origin", ff52up("625px 172.5px")),
3636 
3637         /** The style property {@code -webkit-transform-origin}. */
3638         WEBKIT_TRANSFORM_ORIGIN__("-webkit-transform-origin", "webkit-transform-origin", ff52up("625px 172.5px")),
3639 
3640         /** The style property {@code webkitTransformOriginX}. */
3641         WEBKIT_TRANSFORM_ORIGIN_X("webkitTransformOriginX", "webkit-transform-origin-x", chrome("")),
3642 
3643         /** The style property {@code webkitTransformOriginY}. */
3644         WEBKIT_TRANSFORM_ORIGIN_Y("webkitTransformOriginY", "webkit-transform-origin-y", chrome("")),
3645 
3646         /** The style property {@code webkitTransformOriginZ}. */
3647         WEBKIT_TRANSFORM_ORIGIN_Z("webkitTransformOriginZ", "webkit-transform-origin-z", chrome("")),
3648 
3649         /** The style property {@code webkitTransformStyle}. */
3650         WEBKIT_TRANSFORM_STYLE("webkitTransformStyle", "webkit-transform-style", ff52up("flat")),
3651 
3652         /** The style property {@code WebkitTransformStyle}. */
3653         WEBKIT_TRANSFORM_STYLE_("WebkitTransformStyle", "webkit-transform-style", ff52up("flat")),
3654 
3655         /** The style property {@code -webkit-transform-style}. */
3656         WEBKIT_TRANSFORM_STYLE__("-webkit-transform-style", "webkit-transform-style", ff52up("flat")),
3657 
3658         /** The style property {@code webkitTransition}. */
3659         WEBKIT_TRANSITION("webkitTransition", "webkit-transition", ff52up("")),
3660 
3661         /** The style property {@code WebkitTransition}. */
3662         WEBKIT_TRANSITION_("WebkitTransition", "webkit-transition", ff52up("")),
3663 
3664         /** The style property {@code -webkit-transition}. */
3665         WEBKIT_TRANSITION__("-webkit-transition", "webkit-transition", ff52up("")),
3666 
3667         /** The style property {@code webkitTransitionDelay}. */
3668         WEBKIT_TRANSITION_DELAY("webkitTransitionDelay", "webkit-transition-delay", ff52up("0s")),
3669 
3670         /** The style property {@code WebkitTransitionDelay}. */
3671         WEBKIT_TRANSITION_DELAY_("WebkitTransitionDelay", "webkit-transition-delay", ff52up("0s")),
3672 
3673         /** The style property {@code -webkit-transition-delay}. */
3674         WEBKIT_TRANSITION_DELAY__("-webkit-transition-delay", "webkit-transition-delay", ff52up("0s")),
3675 
3676         /** The style property {@code webkitTransitionDuration}. */
3677         WEBKIT_TRANSITION_DURATION("webkitTransitionDuration", "webkit-transition-duration", ff52up("0s")),
3678 
3679         /** The style property {@code WebkitTransitionDuration}. */
3680         WEBKIT_TRANSITION_DURATION_("WebkitTransitionDuration", "webkit-transition-duration", ff52up("0s")),
3681 
3682         /** The style property {@code -webkit-transition-duration}. */
3683         WEBKIT_TRANSITION_DURATION__("-webkit-transition-duration", "webkit-transition-duration", ff52up("0s")),
3684 
3685         /** The style property {@code webkitTransitionProperty}. */
3686         WEBKIT_TRANSITION_PROPERTY("webkitTransitionProperty", "webkit-transition-property", ff52up("all")),
3687 
3688         /** The style property {@code WebkitTransitionProperty}. */
3689         WEBKIT_TRANSITION_PROPERTY_("WebkitTransitionProperty", "webkit-transition-property", ff52up("all")),
3690 
3691         /** The style property {@code -webkit-transition-property}. */
3692         WEBKIT_TRANSITION_PROPERTY__("-webkit-transition-property", "webkit-transition-property", ff52up("all")),
3693 
3694         /** The style property {@code webkitTransitionTimingFunction}. */
3695         WEBKIT_TRANSITION_TIMING_FUNCTION("webkitTransitionTimingFunction", "webkit-transition-timing-function",
3696                 ff52up("ease")),
3697 
3698         /** The style property {@code WebkitTransitionTimingFunction}. */
3699         WEBKIT_TRANSITION_TIMING_FUNCTION_("WebkitTransitionTimingFunction", "webkit-transition-timing-function",
3700                 ff52up("ease")),
3701 
3702         /** The style property {@code -webkit-transition-timing-function}. */
3703         WEBKIT_TRANSITION_TIMING_FUNCTION__("-webkit-transition-timing-function", "webkit-transition-timing-function",
3704                 ff52up("ease")),
3705 
3706         /** The style property {@code webkitUserDrag}. */
3707         WEBKIT_USER_DRAG("webkitUserDrag", "webkit-user-drag", chrome("auto")),
3708 
3709         /** The style property {@code webkitUserModify}. */
3710         WEBKIT_USER_MODIFY("webkitUserModify", "webkit-user-modify", chrome("read-only")),
3711 
3712         /** The style property {@code webkitUserSelect}. */
3713         WEBKIT_USER_SELECT("webkitUserSelect", "webkit-user-select", ff52up("auto")),
3714 
3715         /** The style property {@code WebkitUserSelect}. */
3716         WEBKIT_USER_SELECT_("WebkitUserSelect", "webkit-user-select", ff52up("auto")),
3717 
3718         /** The style property {@code -webkit-user-select}. */
3719         WEBKIT_USER_SELECT__("-webkit-user-select", "webkit-user-select", ff52up("auto")),
3720 
3721         /** The style property {@code webkitWritingMode}. */
3722         WEBKIT_WRITING_MODE("webkitWritingMode", "webkit-writing-mode", chrome("horizontal-tb")),
3723 
3724         /** The style property {@code whiteSpace}. */
3725         WHITE_SPACE("whiteSpace", "white-space", chrome("normal"), ff("normal"), ie("normal")),
3726 
3727         /** The style property {@code white-space}. */
3728         WHITE_SPACE_("white-space", "white-space", ff("normal")),
3729 
3730         /** The style property {@code widows}. */
3731         WIDOWS("widows", "widows", ie("2"), chrome("2")),
3732 
3733         /** The style property {@code width}. */
3734         WIDTH("width", "width", chrome(""), ff(""), ie("")),
3735 
3736         /** The style property {@code willChange}. */
3737         WILL_CHANGE("willChange", "will-change", ff("auto"), chrome("auto")),
3738 
3739         /** The style property {@code will-change}. */
3740         WILL_CHANGE_("will-change", "will-change", ff("auto")),
3741 
3742         /** The style property {@code wordBreak}. */
3743         WORD_BREAK("wordBreak", "word-break", ff("normal"), ie("normal"), chrome("normal")),
3744 
3745         /** The style property {@code word-break}. */
3746         WORD_BREAK_("word-break", "word-break", ff("normal")),
3747 
3748         /** The style property {@code wordSpacing}. */
3749         WORD_SPACING("wordSpacing", "word-spacing", chrome("0px"), ff("0px"), ie("0px")),
3750 
3751         /** The style property {@code word-spacing}. */
3752         WORD_SPACING_("word-spacing", "word-spacing", ff("0px")),
3753 
3754         /** The style property {@code wordWrap}. */
3755         WORD_WRAP("wordWrap", "word-wrap", ie(""), chrome("normal"), ff("normal")),
3756 
3757         /** The style property {@code word-wrap}. */
3758         WORD_WRAP_("word-wrap", "word-wrap", ff("normal")),
3759 
3760         /** The style property {@code writingMode}. */
3761         WRITING_MODE("writingMode", "writing-mode", ie("undefined"), chrome("horizontal-tb"), ff("horizontal-tb")),
3762 
3763         /** The style property {@code writing-mode}. */
3764         WRITING_MODE_("writing-mode", "writing-mode", ff("horizontal-tb")),
3765 
3766         /** The style property {@code x}. */
3767         X("x", "x", chrome("0px")),
3768 
3769         /** The style property {@code y}. */
3770         Y("y", "y", chrome("0px")),
3771 
3772         /** The style property {@code zIndex}. */
3773         Z_INDEX("zIndex", "z-index", ff("auto"), chrome("auto"), ie("auto")),
3774 
3775         /** The style property {@code z-index}. */
3776         Z_INDEX_("z-index", "z-index", ff("auto"), chrome("auto").setIteratable(false),
3777                 ie("auto").setIteratable(false)),
3778 
3779         /** The style property {@code zoom}. */
3780         ZOOM("zoom", "zoom", ie("undefined"), chrome("1"));
3781 
3782         private final String propertyName_;
3783         private final String attributeName_;
3784         private final BrowserConfiguration[] browserConfigurations_;
3785 
3786         Definition(final String propertyName, final String attributeName,
3787                 final BrowserConfiguration... browserConfigurations) {
3788             propertyName_ = propertyName;
3789             attributeName_ = attributeName;
3790             browserConfigurations_ = browserConfigurations;
3791         }
3792 
3793         boolean isAvailable(final BrowserVersion browserVersion, final boolean onlyIfIteratable) {
3794             if (browserConfigurations_ == null) {
3795                 return true; // defined for all browsers
3796             }
3797 
3798             final BrowserConfiguration config
3799                 = BrowserConfiguration.getMatchingConfiguration(browserVersion, browserConfigurations_);
3800             return config != null && (!onlyIfIteratable || config.isIteratable());
3801         }
3802 
3803         /**
3804          * Gets the name of the JavaScript property for this attribute.
3805          * @return the name of the JavaScript property
3806          */
3807         public String getPropertyName() {
3808             return propertyName_;
3809         }
3810 
3811         /**
3812          * Gets the name of the style attribute.
3813          * @return the name of the style attribute
3814          */
3815         public String getAttributeName() {
3816             return attributeName_;
3817         }
3818 
3819         /**
3820          * @param browserVersion the browser version
3821          * @return the default value for this attribute
3822          */
3823         public String getDefaultComputedValue(final BrowserVersion browserVersion) {
3824             final BrowserConfiguration config
3825                 = BrowserConfiguration.getMatchingConfiguration(browserVersion, browserConfigurations_);
3826             if (config == null) {
3827                 return "";
3828             }
3829             return config.getDefaultValue();
3830         }
3831     }
3832 }