zpq0      !"#$%&'()*+,-./#Builders for linear data structures(c) Ivan Lazar Miljenovic3-Clause BSD-styleIvan.Miljenovic@gmail.comNone &2346=BKJ$Encode a textual value using UTF-32.Needs to be used with either  or .$Encode a textual value using UTF-16.Needs to be used with either  or .#Encode a textual value using UTF-8. Unicode codepoints are truncated to 8 bits. For the codepoints 0-255 this corresponds to the ISO/IEC 8859-1 (aka Latin-1) encoding. Unicode codepoints are truncated to 7 bits and prefixed with a leading 0. For the codepoints 0-127 this corresponds to the ASCII encoding.Encode a number as its hexadecimal representation with ASCII-encoded (lower-case) characters using a fixed number of hexadecimal digits. For shortest-width encoding use  instead.Encode a number as its hexadecimal representation with ASCII-encoded (lower-case) characters using the shortest possible representation. For fixed-width encoding use  instead.OEncode a number as its decimal representation with ASCII-encoded characters.LExplicitly state that a number should be encoded in little-endian format.IExplicitly state that a number should be encoded in big-endian format.TYou probably won't actually need to use this type; it's defined solely to be the + for !.!ZAn explicit chunkified representation of a Builder. If we have a polymorphic expression  buildValue. that can be used to build something of type b$, then the following are equivalent: :'build' buildValue == mconcat . unChunk $ build buildValue$,Which values can be built from other values?Minimal complete definition:  fromValue%'Create a builder from an initial value.&Add a value to the front.'Add a value to the end.(CanBuildFrom b a* states that we can build a value of type b with values of type a.)A linear data structure a is buildable if we can prepend and append both values of the data structure in question and its constituent elements to the builder.*The individual elements., Build the actual data structure.. An alias for &.,Mnemonic: the arrow points to the new value./ An alias for '.,Mnemonic: the arrow points to the new value.0BFor lazy ByteStrings; goes via a lazy Text. Equivalent to the LittleEndian (Utf32 ByteString) instance.1BFor lazy ByteStrings; goes via a lazy Text. Equivalent to the Utf32 (LittleEndian ByteString) instance.2BFor lazy ByteStrings; goes via a lazy Text. Equivalent to the BigEndian (Utf32 ByteString) instance.3BFor lazy ByteStrings; goes via a lazy Text. Equivalent to the Utf32 (BigEndian ByteString) instance.4BFor lazy ByteStrings; goes via a lazy Text. Equivalent to the LittleEndian (Utf16 ByteString) instance.5BFor lazy ByteStrings; goes via a lazy Text. Equivalent to the Utf16 (LittleEndian ByteString) instance.6BFor lazy ByteStrings; goes via a lazy Text. Equivalent to the BigEndian (Utf16 ByteString) instance.7BFor lazy ByteStrings; goes via a lazy Text. Equivalent to the Utf16 (BigEndian ByteString) instance.8+For lazy ByteStrings; goes via a lazy Text.9+For lazy ByteStrings; goes via a lazy Text.:FFor strict ByteStrings; goes via a strict Text. Equivalent to the LittleEndian (Utf32 ByteString) instance.;FFor strict ByteStrings; goes via a strict Text. Equivalent to the Utf32 (LittleEndian ByteString) instance.<FFor strict ByteStrings; goes via a strict Text. Equivalent to the BigEndian (Utf32 ByteString) instance.=FFor strict ByteStrings; goes via a strict Text. Equivalent to the Utf32 (BigEndian ByteString) instance.>FFor strict ByteStrings; goes via a strict Text. Equivalent to the LittleEndian (Utf16 ByteString) instance.?FFor strict ByteStrings; goes via a strict Text. Equivalent to the Utf16 (LittleEndian ByteString) instance.@FFor strict ByteStrings; goes via a strict Text. Equivalent to the BigEndian (Utf16 ByteString) instance.AFFor strict ByteStrings; goes via a strict Text. Equivalent to the Utf16 (BigEndian ByteString) instance.B/For strict ByteStrings; goes via a strict Text.C/For strict ByteStrings; goes via a strict Text.DHFor lazy Text values; goes via a lazy ByteString. Equivalent to the LittleEndian (Utf32 Text) instance.EHFor lazy Text values; goes via a lazy ByteString. Equivalent to the Utf32 (LittleEndian Text) instance.FHFor lazy Text values; goes via a lazy ByteString. Equivalent to the BigEndian (Utf32 Text) instance.GHFor lazy Text values; goes via a lazy ByteString. Equivalent to the Utf32 (BigEndian Text) instance.HHFor lazy Text values; goes via a lazy ByteString. Equivalent to the LittleEndian (Utf16 Text) instance.IHFor lazy Text values; goes via a lazy ByteString. Equivalent to the Utf16 (LittleEndian Text) instance.JHFor lazy Text values; goes via a lazy ByteString. Equivalent to the BigEndian (Utf16 Text) instance.KHFor lazy Text values; goes via a lazy ByteString. Equivalent to the Utf16 (BigEndian Text) instance.L1For lazy Text values; goes via a lazy ByteString.MLFor strict Text values; goes via a strict ByteString. Equivalent to the LittleEndian (Utf32 Text) instance.NLFor strict Text values; goes via a strict ByteString. Equivalent to the Utf32 (LittleEndian Text) instance.OLFor strict Text values; goes via a strict ByteString. Equivalent to the BigEndian (Utf32 Text) instance.PLFor strict Text values; goes via a strict ByteString. Equivalent to the Utf32 (BigEndian Text) instance.QLFor strict Text values; goes via a strict ByteString. Equivalent to the LittleEndian (Utf16 Text) instance.RLFor strict Text values; goes via a strict ByteString. Equivalent to the Utf16 (LittleEndian Text) instance.SLFor strict Text values; goes via a strict ByteString. Equivalent to the BigEndian (Utf16 Text) instance.TLFor strict Text values; goes via a strict ByteString. Equivalent to the Utf16 (BigEndian Text) instance.U5For strict Text values; goes via a strict ByteString.V#Uses 16 nibbles/hexadecimal digits.W"Uses 8 nibbles/hexadecimal digits.X"Uses 4 nibbles/hexadecimal digits.Y#Uses 16 nibbles/hexadecimal digits.Z"Uses 8 nibbles/hexadecimal digits.["Uses 4 nibbles/hexadecimal digits.\"Uses 8 nibbles/hexadecimal digits.]Currently slow.^#Uses 16 nibbles/hexadecimal digits._Currently slow.`"Uses 2 nibbles/hexadecimal digits.a"Uses 2 nibbles/hexadecimal digits.b\Lazy ByteStrings. This instance should be preferred over the one for strict ByteStrings.cfStrict ByteStrings. This instance goes via lazy ByteStrings, and as such they should be preferred.  !"#$%&'()*+,-./defg0123456789:;<=>?@ABChijklmDEFGHIJKLMNOPQRSTUnopqrstuvwxyzV{|}~WXYZ[\]^_`abc0  !"#$%&'()*+,-./0)*+,$%&'(-./!"#       !"#$%&'()*+,-./defg0123456789:;<=>?@ABChijklmDEFGHIJKLMNOPQRSTUnopqrstuvwxyzV{|}~WXYZ[\]^_`abc./        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~buildable-0.1.0.3Data.BuildableUtf32unUtf32Utf16unUtf16Utf8unUtf8Char8unChar8Char7unChar7HexFixed unHexFixedHexunHexDecunDec LittleEndianLEunLE BigEndianBEunBEChunkedBuilderCBunCBChunkedChunksunChunk BuildFrom fromValueprependappend CanBuildFrom BuildableUnitBuilderbuild singleton<||>$fBuildFromBuilderUtf32$fBuildFromBuilderLittleEndian$fBuildFromBuilderUtf320$fBuildFromBuilderBigEndian$fBuildFromBuilderUtf16$fBuildFromBuilderLittleEndian0$fBuildFromBuilderUtf160$fBuildFromBuilderBigEndian0$fBuildFromBuilderUtf8$fBuildFromBuilderChar8$fBuildFromBuilderUtf321$fBuildFromBuilderLittleEndian1$fBuildFromBuilderUtf322$fBuildFromBuilderBigEndian1$fBuildFromBuilderUtf161$fBuildFromBuilderLittleEndian2$fBuildFromBuilderUtf162$fBuildFromBuilderBigEndian2$fBuildFromBuilderUtf80$fBuildFromBuilderChar80$fBuildFromBuilderUtf323$fBuildFromBuilderLittleEndian3$fBuildFromBuilderUtf324$fBuildFromBuilderBigEndian3$fBuildFromBuilderUtf163$fBuildFromBuilderLittleEndian4$fBuildFromBuilderUtf164$fBuildFromBuilderBigEndian4$fBuildFromBuilderUtf81$fBuildFromBuilderUtf325$fBuildFromBuilderLittleEndian5$fBuildFromBuilderUtf326$fBuildFromBuilderBigEndian5$fBuildFromBuilderUtf165$fBuildFromBuilderLittleEndian6$fBuildFromBuilderUtf166$fBuildFromBuilderBigEndian6$fBuildFromBuilderUtf82$fBuildFromBuilderHexFixed$fBuildFromBuilderHexFixed0$fBuildFromBuilderHexFixed1$fBuildFromBuilderHexFixed2$fBuildFromBuilderHexFixed3$fBuildFromBuilderHexFixed4$fBuildFromBuilderHexFixed5$fBuildFromBuilderDec8$fBuildFromBuilderHexFixed6$fBuildFromBuilderDec9$fBuildFromBuilderHexFixed7$fBuildFromBuilderHexFixed8$fBuildableByteString$fBuildableByteString0$fBuildFromSeq[]$fBuildFromSeqa$fBuildFromSeqSeq$fBuildableSeq$fBuildFromBuilder[]$fBuildFromBuilderChar$fBuildFromBuilderText$fBuildFromBuilderText0$fBuildableText$fBuildableText0$fBuildFromBuilderUtf83$fBuildFromBuilderChar81$fBuildFromBuilderChar7$fBuildFromBuilderUtf84$fBuildFromBuilderChar82$fBuildFromBuilderChar70$fIsStringUtf32$fIsStringUtf16$fIsStringUtf8$fIsStringChar8$fIsStringChar7$fBuildFromBuilderHex$fBuildFromBuilderDec$fBuildFromBuilderHex0$fBuildFromBuilderDec0$fBuildFromBuilderLittleEndian7$fBuildFromBuilderBigEndian7$fBuildFromBuilderHex1$fBuildFromBuilderDec1$fBuildFromBuilderLittleEndian8$fBuildFromBuilderBigEndian8$fBuildFromBuilderHex2$fBuildFromBuilderDec2$fBuildFromBuilderLittleEndian9$fBuildFromBuilderBigEndian9$fBuildFromBuilderDec3$fBuildFromBuilderDec4$fBuildFromBuilderDec5 $fBuildFromBuilderLittleEndian10$fBuildFromBuilderBigEndian10$fBuildFromBuilderDec6 $fBuildFromBuilderLittleEndian11$fBuildFromBuilderBigEndian11$fBuildFromBuilderDec7 $fBuildFromBuilderLittleEndian12$fBuildFromBuilderBigEndian12 $fBuildFromBuilderLittleEndian13$fBuildFromBuilderBigEndian13 $fBuildFromBuilderLittleEndian14$fBuildFromBuilderBigEndian14$fBuildFromBuilderDec10$fBuildFromBuilderInt8$fBuildFromBuilderHex3$fBuildFromBuilderDec11$fBuildFromBuilderWord8$fBuildFromBuilderHexFixed9$fBuildFromBuilderByteString$fBuildFromBuilderHexFixed10$fBuildFromBuilderByteString0$fBuildFromChunkedBuildera $fBuildFromChunkedBuilderChunked$fBuildableChunked$fBuildFromDLista$fBuildFromDLista0$fBuildFromDList[]$fBuildFrom[]a $fBuildable[]