úÎ!9?2}x      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwSafe %&'.1:H_³PyFAll the Formatters PyF2This formatter formats an integral or a fractionalPyF)This formatter support Upper case versionPyF(This formatter support alternate versionPyFExistential version of PyF AlignementPyF Left paddingPyF Right paddingPyF5Padding will be added between the sign and the numberPyF)Padding will be added around the valueberPyF Sign handling PyFDisplay x sign and y sign!PyF Only display x sign"PyFDisplay x& sign and a space for positive numbers$PyFFormat an integral number%PyFFormat a fractional number&PyFFormat a string$PyFPaddingPyFGrouping%PyFPaddingPyFGroupingPyF Precision&PyFPaddingPyF(Precision (will truncate before padding)'  "! #$%&'&$%   "! #None &'.1:Hg-•1PyF'If the formatter use its alternate form4PyFAll formating type5PyF6Default, depends on the infered type of the expression6PyFBinary, such as `0b0121`7PyFBCharacter, will convert an integer to its character representation8PyF#Decimal, base 10 integer formatting9PyF)Exponential notation for floatting points:PyF&Exponential notation with capitalised e;PyF%Fixed number of digits floating point<PyF#Capitalized version of the previous=PyFGeneral formatting: ; or 9" depending on the number magnitude>PyFSame as = but with upper case E and infinite / NaN?PyFOctal, such as 00245@PyF Simple stringAPyFHexadecimal, such as 0xaf3eBPyF4Hexadecimal with capitalized letters, such as 0XAF3ECPyFPercent representationDPyFFloating point precisionGPyFOPadding, containing the padding width, the padding char and the alignement modeJPyF:A Formatter, listing padding, format and and grouping charLPyFGA format string is composed of many chunks of raw string or replacementMPyF A raw stringNPyFcA replacement string, composed of an arbitrary Haskell expression followed by an optional formatterOPyFTDefault formating mode, no padding, default precision, no grouping, no sign handlingPPyFBParse a string, returns a list of raw string or replacement fieldsimport Text.Megaparsec5parse parsePythonFormatString "" "hello {1+1:>10.2f}"Right [ Raw "hello ", Replacement "1+1" ( Just (FormatModeG (Padding 10 (Just (Nothing,AnyAlign AlignRight)))= (FixedF (Precision 2) NormalForm Minus)! Nothing))]zPyFJReplace escape chars with their value >>> escapeChars "hello \n" "hello n"!123456789:;<=>?@ABCDFEGIHJKLMNOPQ!PQLMNJKGIHDFE456789:;<=>?@ABC123ONone&'.=>?@AHPX0![PyF,Parse a string and return a formatter for it[\[\None=?k2iqPyFqGeneric formatter, can format an expression to (lazy) Text, String, Builder and IO () depending on type inferenceqrqr{      !"#$%&'()*+,-./01234556789:;<=>?@ABCDEFGHGIJIKKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzxy{|}"PyF-0.7.0.0-J1JnGpd9EWQJFii8akUWGmPyF.FormattersPyF.Internal.PythonSyntaxPyF.Internal.QQPyFFormatDecimal CharacterBinaryHexaOctalFixedExponentGenericPercent AlternateUpper FormatType FractionalIntegral UpperStatusCanUpperNoUpper AltStatusCanAltNoAltAnyAlign AlignMode AlignLeft AlignRight AlignInside AlignCenterAlignForStringAlignAll AlignNumberSignModePlusMinusSpacegetAlignForStringformatIntegralformatFractional formatString$fShowSignMode$fShowAlignForString $fShowSign $fShowRepr $fLiftFormat$fLiftSignMode$fLiftAlignMode$fLiftAnyAlign$fShowAnyAlign$fShowAlignMode AlternateForm NormalForm TypeFormatDefaultFBinaryF CharacterFDecimalF ExponentialFExponentialCapsFFixedF FixedCapsFGeneralF GeneralCapsFOctalFStringFHexFHexCapsFPercentF PrecisionPrecisionDefaultPaddingPaddingDefault FormatModeItemRaw ReplacementDefaultFormatModeparsePythonFormatStringparseGenericFormatString $fShowPadding$fShowPrecision$fShowTypeFlag$fShowAlternateForm$fShowTypeFormat$fShowFormatMode $fShowItem $fLiftPadding$fLiftPrecisiontoExp toExpPython$fCategorisekDouble$fCategorisekFloat$fCategorisekWord64$fCategorisekWord32$fCategorisekWord16$fCategorisekWord8$fCategorisekWord$fCategorisekNatural$fCategorisekInt64$fCategorisekInt32$fCategorisekInt16$fCategorisekInt8$fCategorisekInt$fCategorisekInteger$fCategoriseEnableForString[]$fCategoriseEnableForStringText $fCategoriseEnableForStringText0$fCategoriseDisableForString[] $fCategoriseDisableForStringText!$fCategoriseDisableForStringText0ffWithDelimiters$fMagicFormatBuilder$fMagicFormatText$fMagicFormatText0$fMagicFormat[]$fMagicFormatIObaseGHC.Num-+ escapeChars