úÎ\9Y.      !"#$%&'()*+,- Safe-InferredfA binary list is a list containing a power of two elements. Note that a binary list is never empty..O(n)t. This function builds a binary list from a linked list, assuming the length of the input list is a power of two./0. Input listLength index of the input list/0.0/.NoneO(1)%. Build a list with a single element.O(1). Given a binary list l with length 2^k: lengthIndex l = kO(1)!. Number of elements in the list.O(log n)a. Lookup an element in the list by its index (starting from 0). If the index is out of range, 1 is returned.O(1)z. Append two binary lists. This is only possible if both lists have the same length. If this condition is not hold, 1 is returned.O(1)˜. Split a binary list into two sublists of half the length, unless the list only contains one element. In that case, it just returns that element.O(log n) . Calling  replicate n x builds a binary list with 2^n occurences of x.%Fold a binary list using an operator. O(log n)). Get the first element of a binary list. O(log n)(. Get the last element of a binary list. O(n). Reverse a binary list. O(n)1. Retrieves the minimum element of a binary list. O(n)1. Retrieves the maximum element of a binary list.O(n)w. Transform a list of pairs into a flat list. The resulting list will have twice more elements than the original.O(n). Opposite transformation of ‡. It halves the number of elements of the input. As a result, when applied to a binary list with a single element, it returns 1.O(n)). Zip two binary lists using an operator.O(n) . Zip two binary lists in pairs.O(n). Unzip a binary list of pairs.2O(log n)U. Calculate the exponent of a positive integer number expressed as a power of two.O(n)t. Build a binary list from a linked list. If the input list has length different from a power of two, it returns 1.3O(1)F. This is the last exponent that has power of two defined in the type 4.5Note: This value is system dependent, since the type 4 varies in size from system to system.5O(1)u. Calculate the next power of two exponent, if there is any. It is possible to not find a next one since the type 4P is finite. If the input is already a power of two, its exponent is returned.O(n)¡. Build a binary list from a linked list. If the input list has length different from a power of two, fill to the next power of two with a default element.JWarning: this function crashes if the input list length is larger than any power of two in the type 4!. However, this is very unlikely.6O(n)Â. Build a binary list from any linked list, providing a default element to use when in need of completing elements to the next power of two, and the length index of the output binary list.O(n)). Build a linked list from a binary list. 72356Default element Input listLenght of the input list=Length index of the list expanded to the next power of two89    7235689None»The result of decoding a binary list, which produces a list of binary lists of increasing size, ending in either a decoding error or a final binary list. When this is the result of decodeBinListIncrementalú, it contains sublists of order 1, 2, 4, 8, ... up to the order of the total list (unless an error has been encountered first). This sublists are either a section starting at the left, or a section starting at the right, depending on the $ of encoding.@A decoding error, with an error message and the remaining input.%Full binary list and remaining input./Partial binary list, and rest of decoded input.æA binary list decoded, from where you can extract a binary list. If the decoding process fails in some point, you still will be able to retrieve the binary list of elements that were decoded successfully before the error.Direction of encoding.Length index (see ) of the binary list. Decoded data.yA binary list encoded, ready to be written in a file or be sent over a network. It can be directly translated to a : using ,, or restored using -.!Direction of encoding."Length index (see ) of the binary list.# Encoded data.$+Direction of encoding. If the direction is &P, the binary list will be encoded from left to right. If the direction is %ÿ=, the binary list will be encoded in the opposite way. Choose a direction according to the part of the list you want to have access earlier. If you foresee reading only a part of the list, either at its beginning or end, an appropiate choice of direction will allow you to avoid decoding the full list.'Encode a binary list using the ; instance of its elements.(Decode a binary list using the ;+ instance of its elements. It returns a < in case of decoding failure.)fEncode a binary list, using a custom serialization for its elements and an user-supplied direction.*vGet the final result of a decoding process, unless it returned an error, in which case this error is returned as a <.+;Decode an encoded binary list. The result is given as a < value, which can then be queried to get partial results.,1Translate an encoded binary list to a bytestring.-ŠTranslate a bytestring to an encoded binary list, in case this is possible. Otherwise, it returns a string with a human-readable error. !"#$%&'()*+,- !"#$%&'()*+,-'($&% !"#)*+,-  !"#$&%'()*+,-=      !""#$%&'()*+,-./0123456789:;<=>?@ABCDE3FGHbinary-list-0.2.0.0Data.BinaryListData.BinaryList.SerializeData.BinaryList.InternalBinList singleton lengthIndexlengthlookupappendsplit replicatefoldheadlastreverseminimummaximum joinPairs disjoinPairszipWithzipunzipfromListfromListWithDefaulttoListDecoded DecodingError FinalResult PartialResultDecodedBinList decDirection decLengthdecDataEncodedBinList encDirection encLengthencData Direction FromRightFromLeftencodedecode encodeBinList fromDecoded decodeBinListencodedToByteStringencodedFromByteStringfromListBuilderListNodeListEndbase Data.MaybeNothingexponentInBasisTwolastExponentOfTwoghc-prim GHC.TypesIntnextExponentOfTwofromListBuilderWithDefaultdisjoinPairsNodes$fFunctorBinList $fShowBinListbytestring-0.10.4.0Data.ByteString.Lazy.Internal ByteStringbinary-0.7.1.0Data.Binary.ClassBinaryGHC.BaseString