úÎ<›9F3      !"#$%&'()*+,-./012+Class of JSON escapable text. The solidus (/) is always escaped, as are K all ASCII control characters. Non-ASCII control characters and Unicode 5 printable characters above ASCII are left as is. @Escapes an individual character for embedding in a JSON string. )A monomorphic JSON datatype, backed with 3 , strict 4  and 4 5.        Interpret a 4 as any JSON literal. ESplit out the first parseable JSON literal from the input, returning K the result of the attempt along with the remainder of the input or the 5 whole input if no parseable item was discovered. !Tries to parse any JSON literal. "Parse a JSON object (dictionary). Parse a JSON array. 0Parses a string literal, unescaping as it goes. Parses a numeric literal to a Rational. Parse a JSON Boolean literal. Parse a JSON null literal. Per RFC 4627, section 2  JSON Grammar#, only a limited set of whitespace < characters actually count as insignificant whitespace. 3Parse a JSON string literal and unescape it but don't wrap it in a string : constructor (we might wrap it as a dict key instead). 6  GStyle of serialization. Compact is the only one that is implemented at  present. Encode  as a strict 4$. All strings are treated as UTF-8; L ASCII control characters are escaped and UTF-8 multi-char sequences are  simply passed through.  Escape a 41 representing a JSON string and wrap it in quote  marks. BA well-ordered semigroup has a minimal element and an associative M operation. These are used to provide measures for schema. At present, we M allow three measures: whether there is one or more of a schema (measured  with '()'C), whether there is one or more than one of an item (measured with  .) and positive counts of items (measured with 7).  !"#$KThe type of JSON schemas. We treat the atomic types simply whereas objects & and arrays are treated specially. KObjects are treated as maps of keys to sets of schema types. Say a certain O type of object sometimes has a string at a certain key and sometimes has a O null at that key; we should merge them and say the schema of that key is a  union of string and null. FArrays admit measure in the sense of how many elements there are of a M certain kind. We support three measures at present: any, one or more and % individual counts. We expect the any% measure to prevail practice. Arrays O are also ordered; so one can distinguish an array that interleaves strings = and ints from one that is all strings and then all ints. %&'()*++Determine a schema for one JSON data item. ,-IDevelop a schema for a list of JSON data, collating schemas according to , the measure, a well-ordered semigroup. .KCollate a list of counted schemas. Alike counted schemas that are adjacent G are replaced by a counted schema with an incremented counter. This ) operation is mutually recursive with /, in order to merge comaptible ) object definitions before collating. /GMerge two property sets. This operation is mutually recursive with our  .' and relies on polymorphic recusion in .. 0 !"#$%&'()*+,-./0$*)('&%+,-."#/0 ! !!"##$*)('&%%&'()*+,-./012Provide a formatted 8 for the displayable. 9*Warning -- does not work on empty tries. 12:;<=>?@12122 $+-12  $+-12A      !"#$%&'(())*+, -./0123456789:;<=>?@A8BC;D=EFGHIJKLM JSONb-1.0.0Text.JSON.Escape Text.JSONbText.JSONb.SimpleText.JSONb.DecodeText.JSONb.EncodeText.JSONb.SchemaText.JSONb.Schema.DisplayEscapeescapeescescapedJSONNullBooleanNumberStringArrayObjectdecodebreakjsonobjectarraystringnumberbooleannull whitespacestring_literalStyleCompactencode stringifyCounterbottomplusOneManyManyOneElementsPropsSchemaArrObjBoolStrNumschemapropsschemascollatemergematchDisplaybytesbaseGHC.RealRationalbytestring-0.9.1.7Data.ByteString.Internal ByteStringbytestring-trie-0.2.2Data.Trie.InternalTries_as_bGHC.WordWordData.ByteString.Lazy.Internal $fDisplay()lenmust_be_multilinebrokentoo_longdentspacelongest_key_len