var gLonghandProperties = [
	{ name: "align-content", prop: "alignContent" },
	{ name: "align-items", prop: "alignItems" },
	{ name: "align-self", prop: "alignSelf" },
	{ name: "aspect-ratio", prop: "aspectRatio" },
	{ name: "backface-visibility", prop: "backfaceVisibility" },
	{ name: "baseline-source", prop: "baselineSource" },
	{ name: "border-collapse", prop: "borderCollapse" },
	{ name: "border-image-repeat", prop: "borderImageRepeat" },
	{ name: "box-decoration-break", prop: "boxDecorationBreak" },
	{ name: "box-sizing", prop: "boxSizing" },
	{ name: "break-inside", prop: "breakInside" },
	{ name: "caption-side", prop: "captionSide" },
	{ name: "clear", prop: "clear" },
	{ name: "color-interpolation", prop: "colorInterpolation" },
	{ name: "color-interpolation-filters", prop: "colorInterpolationFilters" },
	{ name: "column-count", prop: "columnCount" },
	{ name: "column-fill", prop: "columnFill" },
	{ name: "column-span", prop: "columnSpan" },
	{ name: "contain", prop: "contain" },
	{ name: "container-type", prop: "containerType" },
	{ name: "content-visibility", prop: "contentVisibility", pref: "layout.css.content-visibility.enabled" },
	{ name: "direction", prop: "direction" },
	{ name: "display", prop: "display" },
	{ name: "dominant-baseline", prop: "dominantBaseline" },
	{ name: "empty-cells", prop: "emptyCells" },
	{ name: "flex-direction", prop: "flexDirection" },
	{ name: "flex-wrap", prop: "flexWrap" },
	{ name: "float", prop: "cssFloat" },
	{ name: "font-kerning", prop: "fontKerning" },
	{ name: "font-language-override", prop: "fontLanguageOverride" },
	{ name: "font-optical-sizing", prop: "fontOpticalSizing", pref: "layout.css.font-variations.enabled" },
	{ name: "font-size-adjust", prop: "fontSizeAdjust" },
	{ name: "font-stretch", prop: "fontStretch" },
	{ name: "font-style", prop: "fontStyle" },
	{ name: "font-variant-caps", prop: "fontVariantCaps" },
	{ name: "font-variant-east-asian", prop: "fontVariantEastAsian" },
	{ name: "font-variant-emoji", prop: "fontVariantEmoji", pref: "layout.css.font-variant-emoji.enabled" },
	{ name: "font-variant-ligatures", prop: "fontVariantLigatures" },
	{ name: "font-variant-numeric", prop: "fontVariantNumeric" },
	{ name: "font-variant-position", prop: "fontVariantPosition" },
	{ name: "font-weight", prop: "fontWeight" },
	{ name: "forced-color-adjust", prop: "forcedColorAdjust", pref: "layout.css.forced-color-adjust.enabled" },
	{ name: "grid-auto-flow", prop: "gridAutoFlow" },
	{ name: "hyphens", prop: "hyphens" },
	{ name: "image-orientation", prop: "imageOrientation" },
	{ name: "image-rendering", prop: "imageRendering" },
	{ name: "ime-mode", prop: "imeMode" },
	{ name: "initial-letter", prop: "initialLetter", pref: "layout.css.initial-letter.enabled" },
	{ name: "inset-area", prop: "insetArea", pref: "layout.css.anchor-positioning.enabled" },
	{ name: "isolation", prop: "isolation" },
	{ name: "justify-content", prop: "justifyContent" },
	{ name: "justify-items", prop: "justifyItems" },
	{ name: "justify-self", prop: "justifySelf" },
	{ name: "line-break", prop: "lineBreak" },
	{ name: "list-style-position", prop: "listStylePosition" },
	{ name: "mask-type", prop: "maskType" },
	{ name: "masonry-auto-flow", prop: "masonryAutoFlow", pref: "layout.css.grid-template-masonry-value.enabled" },
	{ name: "math-depth", prop: "mathDepth" },
	{ name: "math-style", prop: "mathStyle" },
	{ name: "mix-blend-mode", prop: "mixBlendMode" },
	{ name: "-moz-box-align", prop: "MozBoxAlign" },
	{ name: "-moz-box-direction", prop: "MozBoxDirection" },
	{ name: "-moz-box-orient", prop: "MozBoxOrient" },
	{ name: "-moz-box-pack", prop: "MozBoxPack" },
	{ name: "-moz-control-character-visibility", prop: "MozControlCharacterVisibility", pref: "layout.css.moz-control-character-visibility.enabled" },
	{ name: "-moz-float-edge", prop: "MozFloatEdge" },
	{ name: "-moz-orient", prop: "MozOrient" },
	{ name: "-moz-osx-font-smoothing", prop: "MozOsxFontSmoothing", pref: "layout.css.osx-font-smoothing.enabled" },
	{ name: "-moz-text-size-adjust", prop: "MozTextSizeAdjust" },
	{ name: "-moz-user-input", prop: "MozUserInput" },
	{ name: "-moz-user-modify", prop: "MozUserModify" },
	{ name: "-moz-window-dragging", prop: "MozWindowDragging" },
	{ name: "object-fit", prop: "objectFit" },
	{ name: "offset-rotate", prop: "offsetRotate" },
	{ name: "outline-style", prop: "outlineStyle" },
	{ name: "overflow-anchor", prop: "overflowAnchor", pref: "layout.css.scroll-anchoring.enabled" },
	{ name: "overflow-wrap", prop: "overflowWrap" },
	{ name: "paint-order", prop: "paintOrder" },
	{ name: "pointer-events", prop: "pointerEvents" },
	{ name: "position", prop: "position" },
	{ name: "position-try-order", prop: "positionTryOrder", pref: "layout.css.anchor-positioning.enabled" },
	{ name: "position-visibility", prop: "positionVisibility", pref: "layout.css.anchor-positioning.enabled" },
	{ name: "print-color-adjust", prop: "printColorAdjust" },
	{ name: "resize", prop: "resize" },
	{ name: "ruby-align", prop: "rubyAlign" },
	{ name: "ruby-position", prop: "rubyPosition" },
	{ name: "scroll-behavior", prop: "scrollBehavior" },
	{ name: "scroll-snap-align", prop: "scrollSnapAlign" },
	{ name: "scroll-snap-stop", prop: "scrollSnapStop" },
	{ name: "scroll-snap-type", prop: "scrollSnapType" },
	{ name: "scrollbar-gutter", prop: "scrollbarGutter" },
	{ name: "scrollbar-width", prop: "scrollbarWidth" },
	{ name: "shape-rendering", prop: "shapeRendering" },
	{ name: "stroke-linecap", prop: "strokeLinecap" },
	{ name: "stroke-linejoin", prop: "strokeLinejoin" },
	{ name: "table-layout", prop: "tableLayout" },
	{ name: "text-align", prop: "textAlign" },
	{ name: "text-align-last", prop: "textAlignLast" },
	{ name: "text-anchor", prop: "textAnchor" },
	{ name: "text-combine-upright", prop: "textCombineUpright" },
	{ name: "text-decoration-line", prop: "textDecorationLine" },
	{ name: "text-decoration-skip-ink", prop: "textDecorationSkipInk" },
	{ name: "text-decoration-style", prop: "textDecorationStyle" },
	{ name: "text-emphasis-position", prop: "textEmphasisPosition" },
	{ name: "text-justify", prop: "textJustify" },
	{ name: "text-orientation", prop: "textOrientation" },
	{ name: "text-rendering", prop: "textRendering" },
	{ name: "text-transform", prop: "textTransform" },
	{ name: "text-underline-position", prop: "textUnderlinePosition" },
	{ name: "text-wrap-mode", prop: "textWrapMode" },
	{ name: "text-wrap-style", prop: "textWrapStyle", pref: "layout.css.text-wrap-balance.enabled" },
	{ name: "touch-action", prop: "touchAction" },
	{ name: "transform-box", prop: "transformBox" },
	{ name: "transform-style", prop: "transformStyle" },
	{ name: "unicode-bidi", prop: "unicodeBidi" },
	{ name: "user-select", prop: "userSelect" },
	{ name: "vector-effect", prop: "vectorEffect" },
	{ name: "visibility", prop: "visibility" },
	{ name: "-webkit-line-clamp", prop: "webkitLineClamp" },
	{ name: "-webkit-text-security", prop: "webkitTextSecurity" },
	{ name: "white-space-collapse", prop: "whiteSpaceCollapse" },
	{ name: "word-break", prop: "wordBreak" },
	{ name: "writing-mode", prop: "writingMode" },
	{ name: "z-index", prop: "zIndex" },
	{ name: "zoom", prop: "zoom", pref: "layout.css.zoom.enabled" },
	{ name: "appearance", prop: "appearance" },
	{ name: "-moz-force-broken-image-icon", prop: "MozForceBrokenImageIcon" },
	{ name: "break-after", prop: "breakAfter" },
	{ name: "break-before", prop: "breakBefore" },
	{ name: "clip-rule", prop: "clipRule" },
	{ name: "fill-rule", prop: "fillRule" },
	{ name: "overflow-clip-box-block", prop: "overflowClipBoxBlock", pref: "layout.css.overflow-clip-box.enabled" },
	{ name: "overflow-clip-box-inline", prop: "overflowClipBoxInline", pref: "layout.css.overflow-clip-box.enabled" },
	{ name: "fill-opacity", prop: "fillOpacity" },
	{ name: "stroke-opacity", prop: "strokeOpacity" },
	{ name: "-moz-box-ordinal-group", prop: "MozBoxOrdinalGroup" },
	{ name: "order", prop: "order" },
	{ name: "font-synthesis-position", prop: "fontSynthesisPosition" },
	{ name: "font-synthesis-small-caps", prop: "fontSynthesisSmallCaps" },
	{ name: "font-synthesis-style", prop: "fontSynthesisStyle" },
	{ name: "font-synthesis-weight", prop: "fontSynthesisWeight" },
	{ name: "flex-grow", prop: "flexGrow" },
	{ name: "flex-shrink", prop: "flexShrink" },
	{ name: "-moz-box-flex", prop: "MozBoxFlex" },
	{ name: "stroke-miterlimit", prop: "strokeMiterlimit" },
	{ name: "overflow-block", prop: "overflowBlock" },
	{ name: "overflow-inline", prop: "overflowInline" },
	{ name: "overflow-x", prop: "overflowX" },
	{ name: "overflow-y", prop: "overflowY" },
	{ name: "overscroll-behavior-block", prop: "overscrollBehaviorBlock", pref: "layout.css.overscroll-behavior.enabled" },
	{ name: "overscroll-behavior-inline", prop: "overscrollBehaviorInline", pref: "layout.css.overscroll-behavior.enabled" },
	{ name: "overscroll-behavior-x", prop: "overscrollBehaviorX", pref: "layout.css.overscroll-behavior.enabled" },
	{ name: "overscroll-behavior-y", prop: "overscrollBehaviorY", pref: "layout.css.overscroll-behavior.enabled" },
	{ name: "flood-opacity", prop: "floodOpacity" },
	{ name: "opacity", prop: "opacity" },
	{ name: "shape-image-threshold", prop: "shapeImageThreshold" },
	{ name: "stop-opacity", prop: "stopOpacity" },
	{ name: "border-block-end-style", prop: "borderBlockEndStyle" },
	{ name: "border-block-start-style", prop: "borderBlockStartStyle" },
	{ name: "border-bottom-style", prop: "borderBottomStyle" },
	{ name: "border-inline-end-style", prop: "borderInlineEndStyle" },
	{ name: "border-inline-start-style", prop: "borderInlineStartStyle" },
	{ name: "border-left-style", prop: "borderLeftStyle" },
	{ name: "border-right-style", prop: "borderRightStyle" },
	{ name: "border-top-style", prop: "borderTopStyle" },
	{ name: "column-rule-style", prop: "columnRuleStyle" },
	{ name: "accent-color", prop: "accentColor" },
	{ name: "anchor-name", prop: "anchorName", pref: "layout.css.anchor-positioning.enabled" },
	{ name: "anchor-scope", prop: "anchorScope", pref: "layout.css.anchor-positioning.enabled" },
	{ name: "animation-composition", prop: "animationComposition", pref: "layout.css.animation-composition.enabled" },
	{ name: "animation-delay", prop: "animationDelay" },
	{ name: "animation-direction", prop: "animationDirection" },
	{ name: "animation-duration", prop: "animationDuration" },
	{ name: "animation-fill-mode", prop: "animationFillMode" },
	{ name: "animation-iteration-count", prop: "animationIterationCount" },
	{ name: "animation-name", prop: "animationName" },
	{ name: "animation-play-state", prop: "animationPlayState" },
	{ name: "animation-timeline", prop: "animationTimeline", pref: "layout.css.scroll-driven-animations.enabled" },
	{ name: "animation-timing-function", prop: "animationTimingFunction" },
	{ name: "backdrop-filter", prop: "backdropFilter", pref: "layout.css.backdrop-filter.enabled" },
	{ name: "background-attachment", prop: "backgroundAttachment" },
	{ name: "background-blend-mode", prop: "backgroundBlendMode" },
	{ name: "background-clip", prop: "backgroundClip" },
	{ name: "background-image", prop: "backgroundImage" },
	{ name: "background-origin", prop: "backgroundOrigin" },
	{ name: "background-position-x", prop: "backgroundPositionX" },
	{ name: "background-position-y", prop: "backgroundPositionY" },
	{ name: "background-repeat", prop: "backgroundRepeat" },
	{ name: "background-size", prop: "backgroundSize" },
	{ name: "border-image-outset", prop: "borderImageOutset" },
	{ name: "border-image-slice", prop: "borderImageSlice" },
	{ name: "border-image-width", prop: "borderImageWidth" },
	{ name: "border-spacing", prop: "borderSpacing" },
	{ name: "box-shadow", prop: "boxShadow" },
	{ name: "caret-color", prop: "caretColor" },
	{ name: "clip", prop: "clip" },
	{ name: "clip-path", prop: "clipPath" },
	{ name: "color", prop: "color" },
	{ name: "color-scheme", prop: "colorScheme" },
	{ name: "column-width", prop: "columnWidth" },
	{ name: "container-name", prop: "containerName" },
	{ name: "content", prop: "content" },
	{ name: "counter-increment", prop: "counterIncrement" },
	{ name: "counter-reset", prop: "counterReset" },
	{ name: "counter-set", prop: "counterSet" },
	{ name: "cursor", prop: "cursor" },
	{ name: "d", prop: "d" },
	{ name: "filter", prop: "filter" },
	{ name: "flex-basis", prop: "flexBasis" },
	{ name: "font-family", prop: "fontFamily" },
	{ name: "font-feature-settings", prop: "fontFeatureSettings" },
	{ name: "font-palette", prop: "fontPalette", pref: "layout.css.font-palette.enabled" },
	{ name: "font-size", prop: "fontSize" },
	{ name: "font-variant-alternates", prop: "fontVariantAlternates" },
	{ name: "font-variation-settings", prop: "fontVariationSettings", pref: "layout.css.font-variations.enabled" },
	{ name: "grid-template-areas", prop: "gridTemplateAreas" },
	{ name: "hyphenate-character", prop: "hyphenateCharacter" },
	{ name: "letter-spacing", prop: "letterSpacing" },
	{ name: "line-height", prop: "lineHeight" },
	{ name: "list-style-type", prop: "listStyleType" },
	{ name: "mask-clip", prop: "maskClip" },
	{ name: "mask-composite", prop: "maskComposite" },
	{ name: "mask-image", prop: "maskImage" },
	{ name: "mask-mode", prop: "maskMode" },
	{ name: "mask-origin", prop: "maskOrigin" },
	{ name: "mask-position-x", prop: "maskPositionX" },
	{ name: "mask-position-y", prop: "maskPositionY" },
	{ name: "mask-repeat", prop: "maskRepeat" },
	{ name: "mask-size", prop: "maskSize" },
	{ name: "-moz-context-properties", prop: "MozContextProperties", pref: "svg.context-properties.content.enabled" },
	{ name: "offset-anchor", prop: "offsetAnchor" },
	{ name: "offset-path", prop: "offsetPath" },
	{ name: "offset-position", prop: "offsetPosition" },
	{ name: "page", prop: "page" },
	{ name: "perspective", prop: "perspective" },
	{ name: "position-anchor", prop: "positionAnchor", pref: "layout.css.anchor-positioning.enabled" },
	{ name: "position-try-options", prop: "positionTryOptions", pref: "layout.css.anchor-positioning.enabled" },
	{ name: "quotes", prop: "quotes" },
	{ name: "rotate", prop: "rotate" },
	{ name: "scale", prop: "scale" },
	{ name: "scroll-timeline-axis", prop: "scrollTimelineAxis", pref: "layout.css.scroll-driven-animations.enabled" },
	{ name: "scroll-timeline-name", prop: "scrollTimelineName", pref: "layout.css.scroll-driven-animations.enabled" },
	{ name: "scrollbar-color", prop: "scrollbarColor" },
	{ name: "shape-outside", prop: "shapeOutside" },
	{ name: "stroke-dasharray", prop: "strokeDasharray" },
	{ name: "stroke-dashoffset", prop: "strokeDashoffset" },
	{ name: "stroke-width", prop: "strokeWidth" },
	{ name: "tab-size", prop: "tabSize" },
	{ name: "text-decoration-thickness", prop: "textDecorationThickness" },
	{ name: "text-emphasis-style", prop: "textEmphasisStyle" },
	{ name: "text-indent", prop: "textIndent" },
	{ name: "text-overflow", prop: "textOverflow" },
	{ name: "text-shadow", prop: "textShadow" },
	{ name: "transition-behavior", prop: "transitionBehavior", pref: "layout.css.transition-behavior.enabled" },
	{ name: "transition-delay", prop: "transitionDelay" },
	{ name: "transition-duration", prop: "transitionDuration" },
	{ name: "transition-property", prop: "transitionProperty" },
	{ name: "transition-timing-function", prop: "transitionTimingFunction" },
	{ name: "translate", prop: "translate" },
	{ name: "vertical-align", prop: "verticalAlign" },
	{ name: "view-timeline-axis", prop: "viewTimelineAxis", pref: "layout.css.scroll-driven-animations.enabled" },
	{ name: "view-timeline-inset", prop: "viewTimelineInset", pref: "layout.css.scroll-driven-animations.enabled" },
	{ name: "view-timeline-name", prop: "viewTimelineName", pref: "layout.css.scroll-driven-animations.enabled" },
	{ name: "-webkit-text-stroke-width", prop: "webkitTextStrokeWidth" },
	{ name: "will-change", prop: "willChange" },
	{ name: "word-spacing", prop: "wordSpacing" },
	{ name: "object-position", prop: "objectPosition" },
	{ name: "perspective-origin", prop: "perspectiveOrigin" },
	{ name: "fill", prop: "fill" },
	{ name: "stroke", prop: "stroke" },
	{ name: "transform-origin", prop: "transformOrigin" },
	{ name: "grid-template-columns", prop: "gridTemplateColumns" },
	{ name: "grid-template-rows", prop: "gridTemplateRows" },
	{ name: "border-image-source", prop: "borderImageSource" },
	{ name: "list-style-image", prop: "listStyleImage" },
	{ name: "grid-auto-columns", prop: "gridAutoColumns" },
	{ name: "grid-auto-rows", prop: "gridAutoRows" },
	{ name: "transform", prop: "transform" },
	{ name: "column-gap", prop: "columnGap" },
	{ name: "row-gap", prop: "rowGap" },
	{ name: "marker-end", prop: "markerEnd" },
	{ name: "marker-mid", prop: "markerMid" },
	{ name: "marker-start", prop: "markerStart" },
	{ name: "contain-intrinsic-block-size", prop: "containIntrinsicBlockSize", pref: "layout.css.contain-intrinsic-size.enabled" },
	{ name: "contain-intrinsic-height", prop: "containIntrinsicHeight", pref: "layout.css.contain-intrinsic-size.enabled" },
	{ name: "contain-intrinsic-inline-size", prop: "containIntrinsicInlineSize", pref: "layout.css.contain-intrinsic-size.enabled" },
	{ name: "contain-intrinsic-width", prop: "containIntrinsicWidth", pref: "layout.css.contain-intrinsic-size.enabled" },
	{ name: "grid-column-end", prop: "gridColumnEnd" },
	{ name: "grid-column-start", prop: "gridColumnStart" },
	{ name: "grid-row-end", prop: "gridRowEnd" },
	{ name: "grid-row-start", prop: "gridRowStart" },
	{ name: "max-block-size", prop: "maxBlockSize" },
	{ name: "max-height", prop: "maxHeight" },
	{ name: "max-inline-size", prop: "maxInlineSize" },
	{ name: "max-width", prop: "maxWidth" },
	{ name: "cx", prop: "cx" },
	{ name: "cy", prop: "cy" },
	{ name: "offset-distance", prop: "offsetDistance" },
	{ name: "x", prop: "x" },
	{ name: "y", prop: "y" },
	{ name: "border-bottom-left-radius", prop: "borderBottomLeftRadius" },
	{ name: "border-bottom-right-radius", prop: "borderBottomRightRadius" },
	{ name: "border-end-end-radius", prop: "borderEndEndRadius" },
	{ name: "border-end-start-radius", prop: "borderEndStartRadius" },
	{ name: "border-start-end-radius", prop: "borderStartEndRadius" },
	{ name: "border-start-start-radius", prop: "borderStartStartRadius" },
	{ name: "border-top-left-radius", prop: "borderTopLeftRadius" },
	{ name: "border-top-right-radius", prop: "borderTopRightRadius" },
	{ name: "block-size", prop: "blockSize" },
	{ name: "height", prop: "height" },
	{ name: "inline-size", prop: "inlineSize" },
	{ name: "min-block-size", prop: "minBlockSize" },
	{ name: "min-height", prop: "minHeight" },
	{ name: "min-inline-size", prop: "minInlineSize" },
	{ name: "min-width", prop: "minWidth" },
	{ name: "width", prop: "width" },
	{ name: "border-block-end-width", prop: "borderBlockEndWidth" },
	{ name: "border-block-start-width", prop: "borderBlockStartWidth" },
	{ name: "border-bottom-width", prop: "borderBottomWidth" },
	{ name: "border-inline-end-width", prop: "borderInlineEndWidth" },
	{ name: "border-inline-start-width", prop: "borderInlineStartWidth" },
	{ name: "border-left-width", prop: "borderLeftWidth" },
	{ name: "border-right-width", prop: "borderRightWidth" },
	{ name: "border-top-width", prop: "borderTopWidth" },
	{ name: "column-rule-width", prop: "columnRuleWidth" },
	{ name: "outline-width", prop: "outlineWidth" },
	{ name: "padding-block-end", prop: "paddingBlockEnd" },
	{ name: "padding-block-start", prop: "paddingBlockStart" },
	{ name: "padding-bottom", prop: "paddingBottom" },
	{ name: "padding-inline-end", prop: "paddingInlineEnd" },
	{ name: "padding-inline-start", prop: "paddingInlineStart" },
	{ name: "padding-left", prop: "paddingLeft" },
	{ name: "padding-right", prop: "paddingRight" },
	{ name: "padding-top", prop: "paddingTop" },
	{ name: "r", prop: "r" },
	{ name: "shape-margin", prop: "shapeMargin" },
	{ name: "rx", prop: "rx" },
	{ name: "ry", prop: "ry" },
	{ name: "scroll-padding-block-end", prop: "scrollPaddingBlockEnd" },
	{ name: "scroll-padding-block-start", prop: "scrollPaddingBlockStart" },
	{ name: "scroll-padding-bottom", prop: "scrollPaddingBottom" },
	{ name: "scroll-padding-inline-end", prop: "scrollPaddingInlineEnd" },
	{ name: "scroll-padding-inline-start", prop: "scrollPaddingInlineStart" },
	{ name: "scroll-padding-left", prop: "scrollPaddingLeft" },
	{ name: "scroll-padding-right", prop: "scrollPaddingRight" },
	{ name: "scroll-padding-top", prop: "scrollPaddingTop" },
	{ name: "outline-offset", prop: "outlineOffset" },
	{ name: "overflow-clip-margin", prop: "overflowClipMargin" },
	{ name: "scroll-margin-block-end", prop: "scrollMarginBlockEnd" },
	{ name: "scroll-margin-block-start", prop: "scrollMarginBlockStart" },
	{ name: "scroll-margin-bottom", prop: "scrollMarginBottom" },
	{ name: "scroll-margin-inline-end", prop: "scrollMarginInlineEnd" },
	{ name: "scroll-margin-inline-start", prop: "scrollMarginInlineStart" },
	{ name: "scroll-margin-left", prop: "scrollMarginLeft" },
	{ name: "scroll-margin-right", prop: "scrollMarginRight" },
	{ name: "scroll-margin-top", prop: "scrollMarginTop" },
	{ name: "bottom", prop: "bottom" },
	{ name: "inset-block-end", prop: "insetBlockEnd" },
	{ name: "inset-block-start", prop: "insetBlockStart" },
	{ name: "inset-inline-end", prop: "insetInlineEnd" },
	{ name: "inset-inline-start", prop: "insetInlineStart" },
	{ name: "left", prop: "left" },
	{ name: "margin-block-end", prop: "marginBlockEnd" },
	{ name: "margin-block-start", prop: "marginBlockStart" },
	{ name: "margin-bottom", prop: "marginBottom" },
	{ name: "margin-inline-end", prop: "marginInlineEnd" },
	{ name: "margin-inline-start", prop: "marginInlineStart" },
	{ name: "margin-left", prop: "marginLeft" },
	{ name: "margin-right", prop: "marginRight" },
	{ name: "margin-top", prop: "marginTop" },
	{ name: "right", prop: "right" },
	{ name: "text-underline-offset", prop: "textUnderlineOffset" },
	{ name: "top", prop: "top" },
	{ name: "background-color", prop: "backgroundColor" },
	{ name: "border-block-end-color", prop: "borderBlockEndColor" },
	{ name: "border-block-start-color", prop: "borderBlockStartColor" },
	{ name: "border-bottom-color", prop: "borderBottomColor" },
	{ name: "border-inline-end-color", prop: "borderInlineEndColor" },
	{ name: "border-inline-start-color", prop: "borderInlineStartColor" },
	{ name: "border-left-color", prop: "borderLeftColor" },
	{ name: "border-right-color", prop: "borderRightColor" },
	{ name: "border-top-color", prop: "borderTopColor" },
	{ name: "column-rule-color", prop: "columnRuleColor" },
	{ name: "flood-color", prop: "floodColor" },
	{ name: "lighting-color", prop: "lightingColor" },
	{ name: "outline-color", prop: "outlineColor" },
	{ name: "stop-color", prop: "stopColor" },
	{ name: "text-decoration-color", prop: "textDecorationColor" },
	{ name: "text-emphasis-color", prop: "textEmphasisColor" },
	{ name: "-webkit-text-fill-color", prop: "webkitTextFillColor" },
	{ name: "-webkit-text-stroke-color", prop: "webkitTextStrokeColor" }
];

var gShorthandProperties = [
	{ name: "background", prop: "background" },
	{ name: "background-position", prop: "backgroundPosition" },
	{ name: "border-color", prop: "borderColor" },
	{ name: "border-style", prop: "borderStyle" },
	{ name: "border-width", prop: "borderWidth" },
	{ name: "border-top", prop: "borderTop" },
	{ name: "border-right", prop: "borderRight" },
	{ name: "border-bottom", prop: "borderBottom" },
	{ name: "border-left", prop: "borderLeft" },
	{ name: "border-block-start", prop: "borderBlockStart" },
	{ name: "border-block-end", prop: "borderBlockEnd" },
	{ name: "border-inline-start", prop: "borderInlineStart" },
	{ name: "border-inline-end", prop: "borderInlineEnd" },
	{ name: "border", prop: "border" },
	{ name: "border-radius", prop: "borderRadius" },
	{ name: "border-image", prop: "borderImage" },
	{ name: "border-block-width", prop: "borderBlockWidth" },
	{ name: "border-block-style", prop: "borderBlockStyle" },
	{ name: "border-block-color", prop: "borderBlockColor" },
	{ name: "border-inline-width", prop: "borderInlineWidth" },
	{ name: "border-inline-style", prop: "borderInlineStyle" },
	{ name: "border-inline-color", prop: "borderInlineColor" },
	{ name: "border-block", prop: "borderBlock" },
	{ name: "border-inline", prop: "borderInline" },
	{ name: "overflow", prop: "overflow" },
	{ name: "overflow-clip-box", prop: "overflowClipBox", pref: "layout.css.overflow-clip-box.enabled" },
	{ name: "overscroll-behavior", prop: "overscrollBehavior", pref: "layout.css.overscroll-behavior.enabled" },
	{ name: "container", prop: "container" },
	{ name: "page-break-before", prop: "pageBreakBefore" },
	{ name: "page-break-after", prop: "pageBreakAfter" },
	{ name: "page-break-inside", prop: "pageBreakInside" },
	{ name: "offset", prop: "offset" },
	{ name: "columns", prop: "columns" },
	{ name: "column-rule", prop: "columnRule" },
	{ name: "font", prop: "font" },
	{ name: "font-variant", prop: "fontVariant" },
	{ name: "font-synthesis", prop: "fontSynthesis" },
	{ name: "marker", prop: "marker" },
	{ name: "text-emphasis", prop: "textEmphasis" },
	{ name: "text-wrap", prop: "textWrap" },
	{ name: "white-space", prop: "whiteSpace" },
	{ name: "-webkit-text-stroke", prop: "webkitTextStroke" },
	{ name: "list-style", prop: "listStyle" },
	{ name: "margin", prop: "margin" },
	{ name: "margin-block", prop: "marginBlock" },
	{ name: "margin-inline", prop: "marginInline" },
	{ name: "scroll-margin", prop: "scrollMargin" },
	{ name: "scroll-margin-block", prop: "scrollMarginBlock" },
	{ name: "scroll-margin-inline", prop: "scrollMarginInline" },
	{ name: "outline", prop: "outline" },
	{ name: "padding", prop: "padding" },
	{ name: "padding-block", prop: "paddingBlock" },
	{ name: "padding-inline", prop: "paddingInline" },
	{ name: "scroll-padding", prop: "scrollPadding" },
	{ name: "scroll-padding-block", prop: "scrollPaddingBlock" },
	{ name: "scroll-padding-inline", prop: "scrollPaddingInline" },
	{ name: "flex-flow", prop: "flexFlow" },
	{ name: "flex", prop: "flex" },
	{ name: "gap", prop: "gap" },
	{ name: "grid-row", prop: "gridRow" },
	{ name: "grid-column", prop: "gridColumn" },
	{ name: "grid-area", prop: "gridArea" },
	{ name: "grid-template", prop: "gridTemplate" },
	{ name: "grid", prop: "grid" },
	{ name: "place-content", prop: "placeContent" },
	{ name: "place-self", prop: "placeSelf" },
	{ name: "place-items", prop: "placeItems" },
	{ name: "inset", prop: "inset" },
	{ name: "inset-block", prop: "insetBlock" },
	{ name: "inset-inline", prop: "insetInline" },
	{ name: "contain-intrinsic-size", prop: "containIntrinsicSize", pref: "layout.css.contain-intrinsic-size.enabled" },
	{ name: "mask", prop: "mask" },
	{ name: "mask-position", prop: "maskPosition" },
	{ name: "text-decoration", prop: "textDecoration" },
	{ name: "transition", prop: "transition" },
	{ name: "animation", prop: "animation" },
	{ name: "scroll-timeline", prop: "scrollTimeline", pref: "layout.css.scroll-driven-animations.enabled" },
	{ name: "view-timeline", prop: "viewTimeline", pref: "layout.css.scroll-driven-animations.enabled" },
	{ name: "all", prop: "all" },
	{ name: "-webkit-background-clip", prop: "webkitBackgroundClip" },
	{ name: "-webkit-background-origin", prop: "webkitBackgroundOrigin" },
	{ name: "-webkit-background-size", prop: "webkitBackgroundSize" },
	{ name: "-moz-border-start-color", prop: "MozBorderStartColor" },
	{ name: "-moz-border-start-style", prop: "MozBorderStartStyle" },
	{ name: "-moz-border-start-width", prop: "MozBorderStartWidth" },
	{ name: "-moz-border-end-color", prop: "MozBorderEndColor" },
	{ name: "-moz-border-end-style", prop: "MozBorderEndStyle" },
	{ name: "-moz-border-end-width", prop: "MozBorderEndWidth" },
	{ name: "-webkit-border-top-left-radius", prop: "webkitBorderTopLeftRadius" },
	{ name: "-webkit-border-top-right-radius", prop: "webkitBorderTopRightRadius" },
	{ name: "-webkit-border-bottom-right-radius", prop: "webkitBorderBottomRightRadius" },
	{ name: "-webkit-border-bottom-left-radius", prop: "webkitBorderBottomLeftRadius" },
	{ name: "-moz-transform", prop: "MozTransform", pref: "layout.css.prefixes.transforms" },
	{ name: "-webkit-transform", prop: "webkitTransform" },
	{ name: "-moz-perspective", prop: "MozPerspective", pref: "layout.css.prefixes.transforms" },
	{ name: "-webkit-perspective", prop: "webkitPerspective" },
	{ name: "-moz-perspective-origin", prop: "MozPerspectiveOrigin", pref: "layout.css.prefixes.transforms" },
	{ name: "-webkit-perspective-origin", prop: "webkitPerspectiveOrigin" },
	{ name: "-moz-backface-visibility", prop: "MozBackfaceVisibility", pref: "layout.css.prefixes.transforms" },
	{ name: "-webkit-backface-visibility", prop: "webkitBackfaceVisibility" },
	{ name: "-moz-transform-style", prop: "MozTransformStyle", pref: "layout.css.prefixes.transforms" },
	{ name: "-webkit-transform-style", prop: "webkitTransformStyle" },
	{ name: "-moz-transform-origin", prop: "MozTransformOrigin", pref: "layout.css.prefixes.transforms" },
	{ name: "-webkit-transform-origin", prop: "webkitTransformOrigin" },
	{ name: "-moz-appearance", prop: "MozAppearance" },
	{ name: "-webkit-appearance", prop: "webkitAppearance" },
	{ name: "-webkit-box-shadow", prop: "webkitBoxShadow" },
	{ name: "-webkit-filter", prop: "webkitFilter" },
	{ name: "-moz-font-feature-settings", prop: "MozFontFeatureSettings", pref: "layout.css.prefixes.font-features" },
	{ name: "-moz-font-language-override", prop: "MozFontLanguageOverride", pref: "layout.css.prefixes.font-features" },
	{ name: "-webkit-font-smoothing", prop: "webkitFontSmoothing", pref: "layout.css.osx-font-smoothing.enabled" },
	{ name: "color-adjust", prop: "colorAdjust" },
	{ name: "-moz-hyphens", prop: "MozHyphens" },
	{ name: "-webkit-text-size-adjust", prop: "webkitTextSizeAdjust" },
	{ name: "word-wrap", prop: "wordWrap" },
	{ name: "-moz-tab-size", prop: "MozTabSize" },
	{ name: "-moz-margin-start", prop: "MozMarginStart" },
	{ name: "-moz-margin-end", prop: "MozMarginEnd" },
	{ name: "-moz-padding-start", prop: "MozPaddingStart" },
	{ name: "-moz-padding-end", prop: "MozPaddingEnd" },
	{ name: "-webkit-flex-direction", prop: "webkitFlexDirection" },
	{ name: "-webkit-flex-wrap", prop: "webkitFlexWrap" },
	{ name: "-webkit-justify-content", prop: "webkitJustifyContent" },
	{ name: "-webkit-align-content", prop: "webkitAlignContent" },
	{ name: "-webkit-align-items", prop: "webkitAlignItems" },
	{ name: "-webkit-flex-grow", prop: "webkitFlexGrow" },
	{ name: "-webkit-flex-shrink", prop: "webkitFlexShrink" },
	{ name: "-webkit-align-self", prop: "webkitAlignSelf" },
	{ name: "-webkit-order", prop: "webkitOrder" },
	{ name: "-webkit-flex-basis", prop: "webkitFlexBasis" },
	{ name: "-moz-box-sizing", prop: "MozBoxSizing", pref: "layout.css.prefixes.box-sizing" },
	{ name: "-webkit-box-sizing", prop: "webkitBoxSizing" },
	{ name: "grid-column-gap", prop: "gridColumnGap" },
	{ name: "grid-row-gap", prop: "gridRowGap" },
	{ name: "-webkit-clip-path", prop: "webkitClipPath" },
	{ name: "-webkit-mask-repeat", prop: "webkitMaskRepeat" },
	{ name: "-webkit-mask-position-x", prop: "webkitMaskPositionX" },
	{ name: "-webkit-mask-position-y", prop: "webkitMaskPositionY" },
	{ name: "-webkit-mask-clip", prop: "webkitMaskClip" },
	{ name: "-webkit-mask-origin", prop: "webkitMaskOrigin" },
	{ name: "-webkit-mask-size", prop: "webkitMaskSize" },
	{ name: "-webkit-mask-composite", prop: "webkitMaskComposite" },
	{ name: "-webkit-mask-image", prop: "webkitMaskImage" },
	{ name: "-moz-user-select", prop: "MozUserSelect" },
	{ name: "-webkit-user-select", prop: "webkitUserSelect" },
	{ name: "-moz-transition-duration", prop: "MozTransitionDuration", pref: "layout.css.prefixes.transitions" },
	{ name: "-webkit-transition-duration", prop: "webkitTransitionDuration" },
	{ name: "-moz-transition-timing-function", prop: "MozTransitionTimingFunction", pref: "layout.css.prefixes.transitions" },
	{ name: "-webkit-transition-timing-function", prop: "webkitTransitionTimingFunction" },
	{ name: "-moz-transition-property", prop: "MozTransitionProperty", pref: "layout.css.prefixes.transitions" },
	{ name: "-webkit-transition-property", prop: "webkitTransitionProperty" },
	{ name: "-moz-transition-delay", prop: "MozTransitionDelay", pref: "layout.css.prefixes.transitions" },
	{ name: "-webkit-transition-delay", prop: "webkitTransitionDelay" },
	{ name: "-moz-animation-name", prop: "MozAnimationName", pref: "layout.css.prefixes.animations" },
	{ name: "-webkit-animation-name", prop: "webkitAnimationName" },
	{ name: "-moz-animation-duration", prop: "MozAnimationDuration", pref: "layout.css.prefixes.animations" },
	{ name: "-webkit-animation-duration", prop: "webkitAnimationDuration" },
	{ name: "-moz-animation-timing-function", prop: "MozAnimationTimingFunction", pref: "layout.css.prefixes.animations" },
	{ name: "-webkit-animation-timing-function", prop: "webkitAnimationTimingFunction" },
	{ name: "-moz-animation-iteration-count", prop: "MozAnimationIterationCount", pref: "layout.css.prefixes.animations" },
	{ name: "-webkit-animation-iteration-count", prop: "webkitAnimationIterationCount" },
	{ name: "-moz-animation-direction", prop: "MozAnimationDirection", pref: "layout.css.prefixes.animations" },
	{ name: "-webkit-animation-direction", prop: "webkitAnimationDirection" },
	{ name: "-moz-animation-play-state", prop: "MozAnimationPlayState", pref: "layout.css.prefixes.animations" },
	{ name: "-webkit-animation-play-state", prop: "webkitAnimationPlayState" },
	{ name: "-moz-animation-fill-mode", prop: "MozAnimationFillMode", pref: "layout.css.prefixes.animations" },
	{ name: "-webkit-animation-fill-mode", prop: "webkitAnimationFillMode" },
	{ name: "-moz-animation-delay", prop: "MozAnimationDelay", pref: "layout.css.prefixes.animations" },
	{ name: "-webkit-animation-delay", prop: "webkitAnimationDelay" },
	{ name: "-webkit-box-align", prop: "webkitBoxAlign" },
	{ name: "-webkit-box-direction", prop: "webkitBoxDirection" },
	{ name: "-webkit-box-flex", prop: "webkitBoxFlex" },
	{ name: "-webkit-box-orient", prop: "webkitBoxOrient" },
	{ name: "-webkit-box-pack", prop: "webkitBoxPack" },
	{ name: "-webkit-box-ordinal-group", prop: "webkitBoxOrdinalGroup" },
	{ name: "-moz-border-start", prop: "MozBorderStart" },
	{ name: "-moz-border-end", prop: "MozBorderEnd" },
	{ name: "-webkit-border-radius", prop: "webkitBorderRadius" },
	{ name: "-moz-border-image", prop: "MozBorderImage", pref: "layout.css.prefixes.border-image" },
	{ name: "-webkit-border-image", prop: "webkitBorderImage" },
	{ name: "-webkit-flex-flow", prop: "webkitFlexFlow" },
	{ name: "-webkit-flex", prop: "webkitFlex" },
	{ name: "grid-gap", prop: "gridGap" },
	{ name: "-webkit-mask", prop: "webkitMask" },
	{ name: "-webkit-mask-position", prop: "webkitMaskPosition" },
	{ name: "-moz-transition", prop: "MozTransition", pref: "layout.css.prefixes.transitions" },
	{ name: "-webkit-transition", prop: "webkitTransition" },
	{ name: "-moz-animation", prop: "MozAnimation", pref: "layout.css.prefixes.animations" },
	{ name: "-webkit-animation", prop: "webkitAnimation" }
];

var gShorthandPropertiesLikeLonghand = [{ name: "overflow", prop: "overflow" }];
