!nfD      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789 : ; < = > ? @ A B C D E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!"""""""""##(!(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableSafe&hasmin%The configuration used for minifying."hasminLeave letter casing as is.#hasmin8Lowercase whatever possible to improve gzip compression.-hasmingA default config with most settings enabled. Used by the minify function, mainly for testing purposes..  !"#$%&'()*+,-. *+,'()$%&!"# -!(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableSafe+O=hasminWClass for types that can be converted to Text. Used for printing the minified results.@hasmin$Class for types that can be minified=>?@A=>?@A!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownSafe/Khasmin<integer> data type parser, but into a String instead of an Int, for other parsers to use (e.g.: see the parsers int, or rational)Lhasmin!Parser for <integer>: [+|-][0-9]+MhasminParser one or more digits.FGHIJKLMHFGIJLKM$!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownSafe7hasmin1Skip whatever comments and whitespaces are found.hasminFParse a comment, i.e. a string starting with "/*" and ending with "*/"hasminDGiven a parser, makes it optional, defaulting to whatever value its  instance defines for .hasminAssumes the identifier and the left parenthesis have been parsed Parses p, ignoring surrounding whitespace and comments, and consumes the final right parenthesis.HJM!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownSafe;ShasminCSS  @https://drafts.csswg.org/css-backgrounds-3/#typedef-repeat-style<repeat-style>$ data type, used in the properties background-repeat and  background. NORPQSTUVW STUVWNORPQ!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownSafe=?CoahasminThe  .https://drafts.csswg.org/css-values-3/#strings<string>x data type. It represents a string, formed by Unicode characters, delimited by either double (") or single (') quotes.hhasmin=Parse and convert any escaped unicode to its underlying Char.hasmin+Parse a URL without enclosing quotes. See :https://drafts.csswg.org/css-syntax-3/#consume-a-url-token4.3.6. Consume a url tokenabcdefghefghdabc!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownSafeDhmhm!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownSafeE nopqrstuvw tusrponqvw%!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownSafe=?g9hasmin'='hasmin'~='hasmin'|='hasmin'^='hasmin'$='hasmin'*='hasminThe  3https://drafts.csswg.org/css-syntax-3/#the-anb-type<an+b> microsyntax type.hasminData type representing the '+' and '-' signs, used by .hasminA simple selector is either a type selector, universal selector, attribute selector, class selector, ID selector, or pseudo-class. The first selector must be a type or universal selector. When none is specified, the universal selector is implied, i.e.: myId is the same as *1myId mempty is used to denote an empty namespacehasmine.g.: *, ns|*, h1, em, bodyhasminhasminCertain selectors support namespace prefixes. Namespace prefixes are declared with the @namespace rule. A type selector containing a namespace prefix that has not been previously declared for namespaced selectors is an invalid selector.hasminCalled  -https://www.w3.org/TR/css3-selectors/#grammarsimple_sequence_selector in CSS2.1, but < ?https://drafts.csswg.org/selectors-4/#typedef-compound-selector2 compound-selector> in CSS Syntax Module Level 3.hasmin=Data type representing a CSS selector. Technically, it is a  -https://drafts.csswg.org/selectors-4/#complexcomplex selector!, which consists of one or more  .https://drafts.csswg.org/selectors-4/#compoundcompound selectors, separated by  9https://drafts.csswg.org/selectors-4/#selector-combinatorselector combinators.hasminA  9https://drafts.csswg.org/selectors-4/#selector-combinatorselector combinatorr, which can either: whitespace, "greater-than sign" (U+003E, >), "plus sign" (U+002B, +) or "tilde" (U+007E, ~).hasmin' 'hasminhasminhasminhasmin'~'hasminGiven a selector, calculate it's specificity. Technically, specificity is a 4-tuple, where the first and most important value is defined by whether the rule is inline or not, but that doesn't matter when only analyzing a CSS file.hasminuList of pseudo-elements that support the old syntax of a single semicolon, as well as the new one of two semicolons.)!(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableNoneMxhasminThe <percentage> data type. Many CSS properties can take percentage values, often to define sizes in terms of parent objects. Percentages are formed by a <number> immediately followed by the percentage sign %. There is no space between the % and the number. Specification: < 2https://drafts.csswg.org/css-values-3/#percentages* CSS Value and Units Module Level 3 (4.3)< 8https://www.w3.org/TR/CSS2/syndata.html#percentage-units CSS2.1 (4.3.3)< ,https://www.w3.org/TR/CSS1/#percentage-units CSS1 (6.2)zhasminThe <alphavalue> data type. Syntactically a <number>. It is the uniform opacity setting to be applied across an entire object. Any values outside the range 0.0 (fully transparent) to 1.0 (fully opaque) are clamped to this range. Specification: < .https://www.w3.org/TR/css3-color/#transparency CSS Color Module Level 3 (3.2)|hasminThe <number> data type. Real numbers, possibly with a fractional component. When written literally, a number is either an integer, or zero or more decimal digits followed by a dot (.) followed by one or more decimal digits and optionally an exponent composed of "e" or E and an integer. It corresponds to the <number-token> production in the CSS Syntax Module [CSS3SYN]. As with integers, the first character of a number may be immediately preceded by - or + to indicate the number s sign. Specifications:  .https://drafts.csswg.org/css-values-3/#numbers*CSS Values and Units Module Level 3 (4.2) /https://www.w3.org/TR/CSS2/syndata.html#numbersCSS2.1 (4.3.1) !https://www.w3.org/TR/CSS1/#unitsCSS1 (6 Units)hasmin}Show a Rational in decimal notation, removing leading zeros, and not displaying fractional part if the number is an integer. xyz{|}~ xy|}~z{  2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneKhasmin!A step position, as used by the  <https://drafts.csswg.org/css-timing-1/#step-timing-functionsstep timing function.hasminCSS  Ehttps://drafts.csswg.org/css-timing-1/#typedef-single-timing-function#<single-transition-timing-function> data type. !(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneWhasmin Parser for  +https://www.w3.org/TR/css-values-3/#numbers<number>.hasmin Parser for  2https://drafts.csswg.org/css-values-3/#percentages <percentage>.hasminReal number parser. <number>:  'int'integer | [0-9]*.[0-9]+LL !(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNonehasmin Parser for  Hhttps://drafts.csswg.org/css-timing-1/#single-timing-function-production<single-timing-function>.hasminCParses what's between parenthesis in the "cubic-bezier()" function.hasmin<Parses what's between parenthesis in the "steps()" function. !(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone hasminThe <resolution> CSS data typehasminThe <frequency> CSS data typehasminThe <time> CSS data typehasminThe <angle> CSS data typehasminThe <length> CSS data typehasminGiven a constructor, a number, and a unit, returns the shortest equivalent representation. If there is more than one, returns the latest found to "normalize" values, hopefully improving gzip compression.22 !(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableNone=?hasminCSS  length-percentage data type, i.e.: [length | percentage] Though because of the name it would be more intuitive to define: type LengthPercentage = Either Length Percentage, they are inverted here to make use of Either's Functor instance, because it makes no sense to minify a Percentage. !! !(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableNone "hasminCSS  Chttps://drafts.csswg.org/css-transforms/#typedef-transform-function<transform-function> data type.hasminYConvert a matrix to all the other possible equivalent transformation functions (if any).:hasminSimplifies a <transform-function> without converting it to a 4x4 matrix, by doing some simple conversions between the different functions, or minifying the dimension arguments (<length> and <angle> values);hasminCombines consecutive <transform-functions> whenever possible, leaving translate functions that can't be converted to a matrix (because they use percentages or relative units) as they are, in the position they are in the list (since matrix multiplication isn't commutative) Example:import Control.Monad.Reader2let t10 = Translate (Right (Length 10 PX)) Nothing%let s45 = Skew (Angle 45 Deg) Nothinglet sx5 = ScaleX 5-let f x = runReader (combine x) defaultConfigfmap toText $ f [t10, s45, sx5]["matrix(5,0,1,1,10,0)"]3let tp = Translate (Left (Percentage 100)) Nothing$fmap toText $ f [s45,tp,sx5,sx5,sx5].["skew(45deg)","translate(100%)","scale(125)"]"#$%&'()*+,-./0123456789:;"#$%&'()*+,-./0123456789;:!(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableNone@ABCDEFGHIJKLMNO@ABCDEFGHIJKLNMO!(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableNoneYhasminCSS  ;https://drafts.csswg.org/css-backgrounds-3/#typedef-bg-size <bg-size> data type, used by the background-size and  background properties.^hasminThe CSS auto keyword.ahasmin Minifying a  <bg-size>J value entails, apart from minifying the individual values, removing any auto, value in the second position (if present).YZ[\]^_YZ[\]^_!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNonegghijklmghijklm!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNonenn!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNonerhasminDParser of scale() function. Assumes "scale(" has been already parseduhasmin,Assumes "translate(" has been already parsedopqrstuvopqrstuv!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneƇwhasmin Parser for  /https://drafts.csswg.org/css-values-3/#position <position>.ww!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNonexhasminCSS  .https://drafts.csswg.org/css-color/#colorunits<color> data type.hasminCA map with hex values as keys, and their minimal colorname as valuehasmin*Mapping between color names and hex valueshasmin@Pairs of color keywords, and their equivalent hexadecimal value.hasmin|Equality is slightly relaxed, since percentages and real numbers are mapped to the [0,255] integer range, and then comparedxyz{|}~xy{}|~z&!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneѲhasminCSS  :https://drafts.csswg.org/css-backgrounds-3/#typedef-shadow<shadow> data type, used by the  box-shadow property.'!(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableNoneٓhasminCSS  Jhttps://drafts.csswg.org/css-images-3/#valdef-radial-gradient-ending-shape<ending-shape> data type, used by radial-gradient().hasminCSS  3https://drafts.csswg.org/css-images-3/#typedef-size<size> data type, used by radial-gradient().hasminCSS  7https://drafts.csswg.org/css-images-3/#typedef-gradient <gradient> data type.hasminCSS  color-stop data typehasminCSS  side-or-corner data type!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneܼhasminCSS  ?https://drafts.fxtf.org/filter-effects/#typedef-filter-function<filter-function> data type.  !(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNonethasmin Parser for  0https://drafts.csswg.org/css-color-3/#colorunits<color>.  !(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone1456=>?hasminCSS  :https://drafts.csswg.org/css-shapes/#basic-shape-functions <basic-shape> data type.!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone=?MfhasminA value separator.hasminiRedefines equality to be case-insensitive, since CSS literal values such as "auto", "none", etc. are so.hasminA CSS  .https://www.w3.org/TR/css-values-3/#value-defsvalue.hasminUnrecognized text>   >   !(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownSafe! hasmin&Parser for CSS complex selectors (see  for more details).hasmin9Parser for selector combinators, i.e. ">>" (descendant),  (child),  (adjacent sibling), '~'5 (general sibling), and ' ' (descendant) combinators.hasminiParses a "number sign" (U+0023, #) immediately followed by the ID value, which must be a CSS identifier.!hasminMParse a list of comma-separated selectors, ignoring whitespace and comments. !! !(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneP#hasminUAssumes "linear-gradient(", or one of its prefixed equivalents, has been parsed. : [ angle|to  side-or-corner ,]?  color-stop [,  color-stop]+"#$%&"#$%&!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone'()*+'()*+!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNonePb,hasminvGiven a propery name, it returns a specific parser of values for that property. Fails if no specific parser is found.-hasmin Parser for  8https://drafts.csswg.org/css-fonts-3/#propdef-font-style <font-style>, used in the  font-style and font properties.hasminsParses until the end of the declaration, i.e. ';' or '}'. Used to deal with invalid input, or an IE specific hack.1hasmin Parser for  =https://www.w3.org/TR/css-backgrounds-3/#typedef-repeat-style<repeat-style> , used in background-repeat and  background.2hasmin Parser for  :https://drafts.csswg.org/css-backgrounds-3/#typedef-shadow<shadow> values, used in the  box-shadow property.hasmin'Assumes "rect(" has been already parsed3hasmin Parser for  +https://drafts.csswg.org/css-values-3/#urls<url> . Assumes "url(" has already been parsed.4hasmin)For cases when CSS hacks are used, e.g.: margin-top: 1px \9;.mw,-./0123456,45/03m.21w-6(!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone >hasminBMap relating property names to information regarding the property.  !(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone9hasminA CSS  /https://www.w3.org/TR/css-syntax-3/#declaration <declaration>.;hasmin!Property name of the declaration.<hasminValues used in the declaration.=hasmin<Whether the declaration is "!important" (i.e. ends with it).>hasmin3Whether the declaration ends with the "\9" IE hack.hasminGConverts the keywords "normal" and "bold" to 400 and 700, respectively.hasminMinifies a declaration, based on the property's specific traits (i.e. if it inherits or not, and what its initial value is), and the chosen configurations.?hasminRemoves longhand rules overwritten by their shorthand further down in the declaration list, and merges shorthand declarations with longhand properties later declared.hasminA margin declarationhasmin.Any of the margin longhands (e.g.: margin-top)hasmin&If successful, the combination of both9:;<=>?9:;<=>?!!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone=?#$MhasminNA CSS rule, either a normal style rule, or one of the many possible at-rules.`hasmin2Data type for media queries. For the syntax, see  /https://www.w3.org/TR/css3-mediaqueries/#syntaxmedia query syntax.ahasmin First possibility in the grammarbhasmin!Second possibility in the grammarchasminGiven a list of declarations, gathers the longhands, and if every longhand of a given shorthand is present, "collapses" them into the shorthand (i.e. replaces all the declarations for an equivalent shorthand).!EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde!]^_`abMNOPQRSTUVYZ[\WXHIJKLEFGdce"!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone>2 hasmin8Parser for a declaration, starting by the property name.hasmin$Parser for property names. Usually, Hp would be enough, but this parser adds support for IE hacks (e.g. *width), which deviate from the CSS grammar.hasmincUsed to parse the "!important" at the end of declarations, ignoring spaces and comments after the !.hasmin`Parser for a list of declarations, ignoring spaces, comments, and empty declarations (e.g. ; ;)hasmin1Parser for CSS at-rules (e.g. @keyframes, @media)hasmin Parser for a  >https://drafts.csswg.org/css-conditional-3/#supports_conditionsupports_condition , needed by  @supports rules.hasminParses a CSS style rule, e.g. body { padding: 0; }hasminXParser for a CSS rule, which can be either an at-rule (e.g. @charset), or a style rule.hasminiParser for CSS rules (both style rules, and at-rules), which can be separated by whitespace or comments.hasminParse a stylesheet, starting by the @charset, @import and @namespace rules, followed by the list of rules, and ignoring any unneeded whitespace and comments.hasminMedia Feature values. Per the  /https://www.w3.org/TR/css3-mediaqueries/#valuesoriginal spec (6.1), <resolution> only accepts dpi and dpcm units, dppx was added later. However, the w3c validator considers it valid, so we make no exceptions.Specs: /https://drafts.csswg.org/mediaqueries-3/#syntax  (https://www.w3.org/TR/css3-mediaqueries/ (https://www.w3.org/TR/CSS21/grammar.html/Implementation based on mozilla's pseudo BNF: Rhttps://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries    #!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneCLhasminMinify Text, based on a 5. To just use a default set of configurations (i.e. -), use .hasminMinify Z CSS, using a default set of configurations (with most minification techniques enabled).  is equivalent to  -.0  !"#$%&'()*+,-))*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                     ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_``abcdefghijklmnopqrstuvwxyz{|}}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR S S T U V W X Y Z [ \ ]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!p!q!r!s!t!u!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""##$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% &&&&&&&&'''''''''''''''''''''''  ( ( ( ( ((((((   """#hasmin-1.0.3-GpEYGW1k19P3B3A9lffJ0g Hasmin.Config Hasmin.ClassHasmin.Parser.PrimitivesHasmin.Types.RepeatStyleHasmin.Types.StringHasmin.Parser.String Hasmin.UtilsHasmin.Types.NumericHasmin.Types.TimingFunctionHasmin.Parser.NumericHasmin.Parser.TimingFunctionHasmin.Types.DimensionHasmin.Types.PercentageLengthHasmin.Types.TransformFunctionHasmin.Types.PositionHasmin.Types.BgSizeHasmin.Parser.DimensionHasmin.Parser.PercentageLengthHasmin.Parser.TransformFunctionHasmin.Parser.PositionHasmin.Types.ColorHasmin.Types.FilterFunctionHasmin.Parser.ColorHasmin.Types.BorderRadiusHasmin.Parser.BorderRadiusHasmin.Types.BasicShapeHasmin.Types.ValueHasmin.Parser.SelectorHasmin.Parser.GradientHasmin.Parser.BasicShapeHasmin.Parser.ValueHasmin.Types.DeclarationHasmin.Types.StylesheetHasmin.Parser.InternalHasminHasmin.Parser.UtilsHasmin.Types.SelectorHasmin.Types.ShadowHasmin.Types.GradientHasmin.PropertiesConfig colorSettingsdimensionSettingsgradientSettingsshouldUsePropertyTraitsshouldCleanRulesshouldMinifyTimingFunctionsshouldMinifyFilterFunctionsshouldRemoveQuotesfontweightSettingsshouldMinifyTransformOriginshouldMinifyMicrosyntaxshouldMinifyKeyframeSelectorsshouldMinifyTransformFunctionshouldConvertEscapedshouldConvertNullPercentagesshouldRemoveEmptyBlocksshouldRemoveDuplicateSelectorsshouldNormalizeQuotes letterCaseselectorSortingdeclarationSortingrulesMergeSettingsRulesMergeSettings MergeRulesOn MergeRulesOffFontWeightSettingsFontWeightMinOffFontWeightMinOn SortingMethod NoSortingLexicographical LetterCaseOriginal LowercaseGradientSettingsGradientMinOff GradientMinOnDimensionSettings DimMinOffDimMinOn ColorSettings ColorMinOff ColorMinOn defaultConfig$fShowColorSettings$fEqColorSettings$fShowDimensionSettings$fEqDimensionSettings$fShowGradientSettings$fEqGradientSettings$fShowLetterCase$fEqLetterCase$fShowSortingMethod$fEqSortingMethod$fShowFontWeightSettings$fEqFontWeightSettings$fShowRulesMergeSettings$fEqRulesMergeSettings $fShowConfigToTexttoText toBuilder Minifiableminify$fToTextEither $fToTextText $fToTextInt $fToTextWord8escapeunicodeidentnmstartnmcharint'intdigits RSKeywordRsRepeatRsSpaceRsRound RsNoRepeat RepeatStyleRepeatXRepeatY RepeatStyle1 RepeatStyle2$fToTextRSKeyword$fEqRepeatStyle$fMinifiableRepeatStyle$fToTextRepeatStyle$fShowRSKeyword $fEqRSKeyword$fEnumRSKeyword$fBoundedRSKeyword$fShowRepeatStyle StringType DoubleQuotes SingleQuotes mapString removeQuotes unquoteUrlunquoteFontFamilyconvertEscaped$fMinifiableStringType$fToTextStringType$fShowStringType$fEqStringType stringtype textualLengthrestrictmconcatIntersperse replaceAt fromRight' fromLeft'epsilonepsmzip reduceTRBL Percentage AlphavalueNumber getRationaltoNumber fromNumber toAlphavalue mkAlphavalue toPercentage$fToTextNumber$fFractionalAlphavalue$fBoundedAlphavalue$fToTextAlphavalue$fNumAlphavalue$fToTextPercentage $fEqNumber $fShowNumber $fOrdNumber $fNumNumber$fFractionalNumber $fRealNumber$fRealFracNumber$fEqAlphavalue$fShowAlphavalue$fOrdAlphavalue$fRealAlphavalue$fRealFracAlphavalue$fEqPercentage$fShowPercentage$fOrdPercentage$fNumPercentage$fFractionalPercentage$fRealPercentage$fRealFracPercentage StepPositionStartEndTimingFunction CubicBezierStepsEaseEaseIn EaseInOutEaseOutLinearStepEnd StepStart$fToTextStepPosition$fMinifiableTimingFunction$fToTextTimingFunction$fEqTimingFunction$fShowStepPosition$fEqStepPosition$fEnumStepPosition$fBoundedStepPosition$fShowTimingFunctionnumber percentage alphavaluerationaltimingFunction cubicbezierstepsResolutionUnitDpcmDppxDpi FrequencyUnitHzKhzTimeUnitSMs AngleUnitTurnGradRadDeg LengthUnitINCMMMPCPTPXQEMEXCHVHVWVMINVMAXREM Resolution FrequencyTimeAngle NullAngleLength NullLength isRelativeisRelativeLength isZeroLen isZeroAngletoInchestoPixels toRadians$fUnitLengthUnit$fToTextLengthUnit$fToTextLength$fMinifiableLength $fEqLength$fUnitAngleUnit$fToTextAngleUnit $fToTextAngle$fMinifiableAngle $fEqAngle$fUnitTimeUnit$fToTextTimeUnit $fToTextTime$fMinifiableTime$fEqTime$fUnitFrequencyUnit$fToTextFrequencyUnit$fToTextFrequency$fMinifiableFrequency $fEqFrequency$fUnitResolutionUnit$fToTextResolutionUnit$fToTextResolution$fMinifiableResolution$fEqResolution$fShowLengthUnit$fEqLengthUnit$fEnumLengthUnit$fBoundedLengthUnit $fShowLength$fShowAngleUnit $fEqAngleUnit$fEnumAngleUnit$fBoundedAngleUnit $fShowAngle$fShowTimeUnit $fEqTimeUnit$fEnumTimeUnit$fBoundedTimeUnit $fShowTime$fShowFrequencyUnit$fEqFrequencyUnit$fEnumFrequencyUnit$fBoundedFrequencyUnit$fShowFrequency$fShowResolutionUnit$fEqResolutionUnit$fEnumResolutionUnit$fBoundedResolutionUnit$fShowResolutionPercentageLengthminifyPLisNonZeroPercentageisZeroTransformFunctionMatMat3d PerspectiveRotateRotateXRotateYRotateZRotate3dScaleScaleXScaleYScaleZScale3dSkewSkewXSkewY Translate TranslateX TranslateY TranslateZ Translate3dmkMatmkMat3dsimplifycombine$fToTextTransformFunction$fMinifiableTransformFunction$fEqTransformFunction$fShowTransformFunctionPositionorigin1offset1origin2offset2 PosKeyword PosCenterPosLeftPosRightPosTop PosBottomminifyPositionl0p50 centerpos$fToTextPosKeyword $fEqPosition$fToTextPosition$fMinifiablePosition$fShowPosKeyword$fEqPosKeyword$fEnumPosKeyword$fBoundedPosKeyword$fShowPositionBgSizeCoverContainBgSize1BgSize2Auto $fToTextAuto$fMinifiableBgSize$fToTextBgSize $fEqBgSize$fEqAuto $fShowAuto $fShowBgSizedistanceangletimetimeConstructorsListangleConstructorsListdistanceConstructorsListdimensionParserpercentageLengthmatrixmatrix3drotate3dscalescale3dskew translate translate3dpositionColorNamed minifyColormkHex3mkHex6mkHex4mkHex8mkNamedmkHSLmkHSLAmkRGBIntmkRGBPer mkRGBAInt mkRGBAPer keywordColors $fToTextColor$fMinifiableColor $fOrdColor $fEqColor $fShowColorFilterFunctionBlur BrightnessContrast GrayscaleInvertOpacitySaturateSepia HueRotate DropShadowminifyPseudoShadow$fMinifiableFilterFunction$fToTextFilterFunction$fEqFilterFunction$fShowFilterFunctionhexrgbrgbahslhslacolornamedColorsParsersMapcolorFunctionsParsers functionParcolorFunctionParser BorderRadiusisZeroBR$fToTextBorderRadius$fMinifiableBorderRadius$fEqBorderRadius$fShowBorderRadius borderRadiusAtMost2NoneOneTwoFillRuleNonZeroEvenOdd ShapeRadiusSRLength SRPercentage SRClosestSideSRFarthestSide BasicShapeInsetCircleEllipsePolygon$fToTextShapeRadius$fToTextFillRule$fToTextBasicShape$fMinifiableBasicShape$fEqBasicShape$fShowShapeRadius$fEqShapeRadius$fShowFillRule $fEqFillRule$fFunctorAtMost2$fFoldableAtMost2$fTraversableAtMost2$fShowBasicShape $fEqAtMost2 $fShowAtMost2 SeparatorSpaceSlashCommaValuesUrlTextVgetTextValueInheritInitialUnsetNumberV PercentageVLengthVAngleVTimeV FrequencyV ResolutionVColorV GradientV GenericFunc TransformV TimingFuncVFilterVShadowV ShadowText PositionV RepeatStyleV BorderRadiusV BasicShapeVBgSizeVBgLayer FinalBgLayerSingleTransitionSingleAnimationFontVStringVUrlVFormatLocalRectOther_bgimage _bgposition_bgsize _bgrepeat _bgattachment_bgbox1_bgbox2_transitionproperty_time1_transitiontimingfunction_time2mkOther valuesToList lowercaseTextmkValuesoptimizeFontFamily $fToTextTextV $fEqTextV$fMinifiableUrl $fToTextUrl$fToTextSeparator$fMinifiableValues$fToTextValues$fMinifiableValue $fToTextValue $fShowTextV $fOrdTextV$fIsStringTextV$fEqUrl $fShowUrl$fShowSeparator $fEqSeparator $fShowValues $fEqValues $fEqValue $fShowValueselector selectorsradialgradientlineargradient sideOrCorner colorStopList colorStopinsetcircleellipsepolygon shapeRadius valuesFor fontStyle stringvaluevaluesInParens stringOrUrl repeatStyle shadowListurlvaluesFallbackvalue textualvalue$fEqFontProperty$fShowFontProperty Declaration propertyName valueList isImportant hasIEhackclean$fMinifiableDeclaration$fOrdDeclaration$fToTextDeclaration$fEqDeclaration$fShowDeclarationSupportsCondInParens ParensCond ParensDecSupportsConditionNotAndOrParensRule AtCharsetAtImport AtNamespaceAtMedia AtKeyframes AtSupportsAtBlockWithRulesAtBlockWithDec StyleRule KeyframeBlockKeyframeSelectorFromTo KFPercentage ExpressionInvalidExpression MediaQuery MediaQuery1 MediaQuery2collapse minifyRules mergeRules$fToTextExpression$fMinifiableExpression$fMinifiable[]$fToTextMediaQuery$fMinifiableMediaQuery$fMinifiableKeyframeSelector$fToTextKeyframeSelector$fMinifiableKeyframeBlock$fToTextKeyframeBlock $fMinifiableSupportsCondInParens$fToTextSupportsCondInParens$fMinifiableSupportsCondition$fToTextSupportsCondition$fMinifiable[]0$fMinifiableRule $fToTextRule$fShowExpression$fEqExpression$fShowMediaQuery$fEqMediaQuery$fEqKeyframeSelector$fShowKeyframeSelector$fEqKeyframeBlock$fShowKeyframeBlock$fEqSupportsCondInParens$fShowSupportsCondInParens$fEqSupportsCondition$fShowSupportsCondition$fEqRule $fShowRule declaration declarationsatRuleatMediasupportsCondition styleRulerulerules stylesheet minifyCSSWith minifyCSS skipCommentscommentoptbaseGHC.BaseMonoidmemptyfunctionParsercommacolonslashlexeme hexadecimalword8parserFromPairsatMost unquotedURL:=::~=::|=::^=::$=::*=:AnPlusBSignSimpleSelectorType UniversalGHC.Num* NamespaceCompoundSelectorSelector CombinatorDescendantSpaceDescendantBrackets>>Childghc-prim GHC.Classes>AdjacentSibling+GeneralSibling specificityspecialPseudoElementsAtt AttributeABEvenOddABPlusMinus PseudoElem AttributeSelClassSel PseudoClassLangFunctionalPseudoClassFunctionalPseudoClass1FunctionalPseudoClass2FunctionalPseudoClass3IdSelshowRatminDimpossibleRepresentationsminimalColorMapcolorMapShadow_inset _sOffsetX _sOffsetY _blurRadius _spreadRadius_sColorShapeSizeGradient ColorStopSide ClosestCorner ClosestSideFarthestCorner FarthestSideSLPLOldLinearGradientLinearGradientRadialGradientcsColor colorHintLeftSide RightSideTopSide BottomSide combinatoridSel invalidvaluerectpropertiesTraits PropertyInfo initialValues inheritance overwrittenBy subproperties Inheritance Inherited NonInheritedfontWeightOptimizer minifyDec mergeIntoTRBLproperty importantmediaQueryList text-1.2.3.1Data.Text.InternalText