MNDR      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQSafe#$hRSTURSTURSTUNone*DhVWXVWXVWXNone #$BTch YaThe next free index in the mutable store The MVector is in a MutVar because grow is not in-placeZThe mutable store[2Yields the number of elements stored in the buffer\*Yields the number of elements in the stack]%Ensure that there is sufficient space^PInserts an element at the next free position in the vector and returns the index_TPush an element into a stack-like temporary storage. Returns the index from the back`Peek into the temporary stackaYield a short lived reference to the underlying foreign vector. Note that Insert and Push may allocate a new underlying vector.bGPop elements out of the temporary stack and append into the main buffercPExtracts an immutable vector. The VectorBuilder can no longer be used after thisdeYZfghijk[\]^_`lmabcno d[\^_`lmabcndeYZfghijk[\]^_`lmabcnoNone!"#$9;<=BTbh,An incompletely defined set of parse detailsbytestring slicebytestring slicebytestring sliceParseDetailsAttribute sliceParseDetails slice of childrenA parsed XML attribute!A parsed XML node#"All the attributes in the document$All the nodes in the document%The document bytes&Details for this node1 Inclusive2 Non inclusive3Returns a list of indexes4JApply a slice to a foreign ptr of word characters and wrap as a bytestring5Apply a slice to a bytestring6Apply a slice to a vector:0Assumes that a name can never be the empty slice=  !"#$%&'()*p+,-./0123456789:;7  !"#$%&'(*)+,-./01234569!"#$%& '()*,-4+12/0.653        !"#$%&'()*p+,-./0123456789:;None!#$*9:;<=BDLORThqlA Reader Env, State Slice, ST monad, the cursor Slice is deconstructed to its component in the STS monad.r*The mutable environment of the ParseMonad.s0The input bytestring containing the XML documentt1A pointer to the raw bits of the above bytestringu All the attributes parsed so farvAll the nodes parsed so farw+Render a BS slice in the source bytestring.x4Get the rest of the document from the current cursoryLLook ahead. Peek at the current cursor (CPS to avoid unnecesary allocations)zArbitrary look-ahead (CPS){>Look-ahead a pair of positions, optimizing a common case (CPS)|isPrefix at the current cursor}"elem index from the current cursor~"drop while from the current cursorPMove the cursor ahead while the predicate is true, and return the dropped slice."Return the current cursor location&Throw with the current cursor location$Push a node into the temporary stack5Pop the topmost n elements from the node buffer stack$Insert a node into permanent storage!Update a node in the stack buffer/qrstuvwxyz{|}~*qrtsuvwxyz{|}~(qrstuvwxyz{|}~None!#*9:;<=T[chAssumes cursor is on a '='(Parses a sequence of zero or more nodes.None!"#h FParse an XML bytestring, returning a root node with name "" and the content AST, or an error. Note that the returned AST references the input bytestring and will therefore keep it alive.G The tag nameH0The content of the tag, excluding the tag itselfI1The contents of the tag, including the tag itselfJ"The attributes in the tag, if any.KAGet the slices of a node, including both the content strings (as 1, never blank) and the direct child nodes (as ,). If you only want the child nodes, use L.L(Get the direct child nodes of this node.M@Get the direct children of this node which have a specific name.NPGet the first attribute of this node which has a specific name, if there is one.O)Get the (line, col) coordinates of a nodeP[Returns the XML bytestring reconstructed from the parsed AST. For the original XML, use I FGHIJKLMNOPQ  !FGHIJKLMNOP!GHIKO FLMJN   P FGHIJKLMNOPQ      !!"#$$%&'())*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_``abcdefghijklm'nopqr\stuvwxyz{|}~m^G&tinyXml-0.1.0.1-KRZA1wdLoZaJ00jKkE9TfwText.Xml.Tiny.Internal Text.Xml.TinyText.Xml.Tiny.Internal.ChecksConfigData.VectorBuilder.StorableText.Xml.Tiny.Internal.MonadText.Xml.Tiny.Internal.Parser ErrorTypeUnterminatedCommentUnterminatedTagClosingTagMismatch JunkAtTheEndUnexpectedEndOfStreamBadAttributeForm BadTagFormUnfinishedCommentGarbageInvalidNullNameErrorSrcLocAttributeParseDetailsnameAvalue ParseDetailsProtoParseDetailsnameinnerouter attributes nodeContents innerStart outerStart Attribute attributeNameattributeValueNode attributesVnodesVsourceslicesSliceoffsetlengthemptyfromOpen fromOpenClosenulltakedropstartendtoList fromIndexPtrrendervector $fShowError$fExceptionError$fStorableAttributeParseDetails$fStorableParseDetails$fStorableSlice $fEqSlice $fOrdSlice $fShowSlice $fEqAttribute$fShowAttribute$fShowParseDetails$fEqAttributeParseDetails$fShowAttributeParseDetails $fShowSrcLoc$fShowErrorTypeparsecontentschildren childrenBy attributeBylocationrerender $fShowNode doStackChecksdoCursorChecksdoParseTableChecks checkBSaccess HasCallStacktracenextstoregetCount getStackCountrequestinsertpushpeekunsafeToMVectorpopfinalize VectorBuilderreadUwriteUwriteMreadMcopyMsliceMupdateStackElt indexFromEndnewnewVectorAllocatedExternallysInt ParseMonadEnvptrattributeBuffer nodeBufferreadStrgetBSpeekAtbsIndex2 bsIsPrefix bsElemIndex bsDropWhilebsSpanlocthrowLocpushNodepopNodes insertNode updateNodePMunPM ParseState MonadParseliftST unsafeLiftIOrunPMunsafeIO withCursorpeekAtUnsafePOfindIndexOrEndthrowgetEnvpeekNodeinsertAttributegetNodeBufferCountgetAttributeBufferCountgetNodeStackCount checkCursorcheckConsistency$fPrimMonadParseMonad$fMonadStateSliceParseMonad$fMonadParseMonad$fApplicativeParseMonad$fFunctorParseMonad parseAttrVal parseContents ParseTableskip findAndPoptrim expectLoc parseName parseAttr parseAttrs parseNode commentEnd dropComments spaceTable nameTable nameTable1indexUbase Data.EitherLeftRight