úί¶ªYa      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`portable experimentalemertens@galois.comEncode a string using  and store the result in a a. Decode a string using  using a a as input. > | This is not safe but it is necessary if UTF-8 encoded text  | has been loaded into a a prior to being decoded. bCEncode a Haskell String to a list of Word8 values, in UTF8 format. LDecode a UTF8 string packed into a list of Word8 values, directly to String  :Converts a Haskell string into a UTF8 encoded bytestring. 9Convert a UTF8 encoded bytestring into a Haskell string. & Invalid characters are replaced with '\xFFFD'. @This character is used to mark errors in a UTF8 encoded string. /Try to extract a character from a byte string.  Returns c0 if there are no more bytes in the byte string. = Otherwise, it returns a decoded character and the number of # bytes used in its representation. " Errors are replaced by character  '\0xFFFD'. *Split after a given number of characters. / Negative values are treated as if they are 0. take n s returns the first n characters of s.  If s has less then n) characters, then we return the whole of s. drop n s returns the s without its first n characters.  If s has less then n1 characters, then we return the an empty string. @Split a string into two parts: the first is the longest prefix F that contains only characters that satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. @Split a string into two parts: the first is the longest prefix M that contains only characters that do not satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. 2Get the first character of a byte string, if any. & Malformed characters are replaced by  '\0xFFFD'. &Traverse a bytestring (right biased). %Traverse a bytestring (left biased). + This fuction is strict in the acumulator. ;Counts the number of characters encoded in the bytestring. 0 Note that this includes replacment characters. %Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string.  See also  'lines\''. %Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string. * This function preserves the terminators.  See also .     BThe type of strngs that are represented using tthe UTF8 encoding. E The parameters is the type of the container for the representation. d !6Converts a Haskell string into a UTF8 encoded string.  Complexity: linear. "5Convert a UTF8 encoded string into a Haskell string. $ Invalid characters are replaced by replacement_char.  Complexity: linear. #DChecks if there are no more bytes in the underlying representation. $*Split after a given number of characters. / Negative values are treated as if they are 0.  See also  bytesSplitAt. %FSplit after a given number of bytes in the underlying representation.  See also $. &HTake only the given number of bytes from the underlying representation.  See also (. 'CDrop the given number of bytes from the underlying representation.  See also ). (take n s returns the first n characters of s.  If s has less then n) characters, then we return the whole of s. )drop n s returns the s without its first n characters.  If s has less then n1 characters, then we return the an empty string. *@Split a string into two parts: the first is the longest prefix F that contains only characters that satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. +@Split a string into two parts: the first is the longest prefix M that contains only characters that do not satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as replacement_char to the predicate. ,2Get the first character of a byte string, if any. $ Invalid characters are replaced by replacement_char. -?Extract the first character for the underlying representation, @ if one is avaialble. It also returns the number of bytes used ) in the representation of the character.  See also ,,  dropBytes. .&Traverse a bytestring (right biased). /%Traverse a bytestring (left biased). , This fuction is strict in the accumulator. 0;Counts the number of characters encoded in the bytestring. 0 Note that this includes replacment characters. F The function is linear in the number of bytes in the representation. 1%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string.  See also  'lines\''. 2%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string. * This function preserves the terminators.  See also 1.  !"#$%&'()*+,-./012!" ,$()*+/.012#-%&' !"#$%&'()*+,-./012portable experimentalemertens@galois.comeEncode a string in UTF8 form. fDecode a string from UTF8 g$Convert a list of bytes to a String hString to list of bytes. 3The 37 function outputs a value of any printable type to the 8 standard output device. This function differs from the L System.IO.print in that it preserves any UTF8 encoding of the shown value. 42Write a UTF8 string to the standard output device 5 The same as 4 , but adds a newline character. 60Read a UTF8 line from the standard input device 7The 7 function combines 6 and readIO, preserving UTF8 89:The : function reads a file and 4 returns the contents of the file as a UTF8 string. - The file is read lazily, on demand, as with A. ;The computation ; file str! function writes the UTF8 string str,  to the file file. <The computation < file str" function appends the UTF8 string str,  to the file file. =Read a UTF8 line from a Handle >(Lazily read a UTF8 string from a Handle ?!Write a UTF8 string to a Handle. @6Write a UTF8 string to a Handle, appending a newline. A$Lazily read stdin as a UTF8 string. B3456789:;<=>?@AB3456789:;<BA=>?@3456789:;<=>?@ABC:Converts a Haskell string into a UTF8 encoded bytestring. D9Convert a UTF8 encoded bytestring into a Haskell string. & Invalid characters are replaced with '\xFFFD'. E@This character is used to mark errors in a UTF8 encoded string. F/Try to extract a character from a byte string.  Returns c0 if there are no more bytes in the byte string. = Otherwise, it returns a decoded character and the number of # bytes used in its representation. " Errors are replaced by character  '\0xFFFD'. G*Split after a given number of characters. / Negative values are treated as if they are 0. Htake n s returns the first n characters of s.  If s has less then n) characters, then we return the whole of s. Idrop n s returns the s without its first n characters.  If s has less then n1 characters, then we return the an empty string. J@Split a string into two parts: the first is the longest prefix F that contains only characters that satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. K@Split a string into two parts: the first is the longest prefix M that contains only characters that do not satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. L2Get the first character of a byte string, if any. & Malformed characters are replaced by  '\0xFFFD'. M&Traverse a bytestring (right biased). N%Traverse a bytestring (left biased). + This fuction is strict in the acumulator. O;Counts the number of characters encoded in the bytestring. 0 Note that this includes replacment characters. P%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string.  See also  'lines\''. Q%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string. * This function preserves the terminators.  See also P. CDEFGHIJKLMNOPQFELGHIJKCDNMOPQCDEFGHIJKLMNOPQR:Converts a Haskell string into a UTF8 encoded bytestring. S9Convert a UTF8 encoded bytestring into a Haskell string. & Invalid characters are replaced with '\xFFFD'. T@This character is used to mark errors in a UTF8 encoded string. U/Try to extract a character from a byte string.  Returns c0 if there are no more bytes in the byte string. = Otherwise, it returns a decoded character and the number of # bytes used in its representation. " Errors are replaced by character  '\0xFFFD'. V*Split after a given number of characters. / Negative values are treated as if they are 0. Wtake n s returns the first n characters of s.  If s has less then n) characters, then we return the whole of s. Xdrop n s returns the s without its first n characters.  If s has less then n1 characters, then we return the an empty string. Y@Split a string into two parts: the first is the longest prefix F that contains only characters that satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. Z@Split a string into two parts: the first is the longest prefix M that contains only characters that do not satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. [2Get the first character of a byte string, if any. & Malformed characters are replaced by  '\0xFFFD'. \&Traverse a bytestring (right biased). ]%Traverse a bytestring (left biased). + This fuction is strict in the acumulator. ^;Counts the number of characters encoded in the bytestring. 0 Note that this includes replacment characters. _%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string.  See also  'lines\''. `%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string. * This function preserves the terminators.  See also _. RSTUVWXYZ[\]^_`UT[VWXYZRS]\^_`RSTUVWXYZ[\]^_`i       !"#$%&'()*+ !"#$%,-./0123456789:; !"#$% !"#$%<=>?<@AB  CDEutf8-string-0.3.3Data.ByteString.Lazy.UTF8Data.ByteString.UTF8Codec.Binary.UTF8.StringCodec.Binary.UTF8.GenericData.String.UTF8System.IO.UTF8bytestring-0.9.1.7Data.ByteString.Lazy.Internal ByteStringData.ByteString.Internal encodeString decodeStringencodedecode UTF8Bytesbsplitbdropbuncons elemIndexemptynullpacktail fromStringtoStringreplacement_charsplitAttakedropspanbreakunconsfoldrfoldllengthlineslines'UTF8fromReptoRep byteSplitAtbyteTakebyteDropprintputStrputStrLngetLinereadLnopenBinaryFilewithBinaryFilereadFile writeFile appendFilehGetLine hGetContentshPutStr hPutStrLn getContentsinteractbaseGHC.BaseStringreplacement_character Data.MaybeNothingStr bytesToString stringToBytes