z}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None&'+-.6;<=>?AFKNQSTV]^ @Class of traversable functors which may be constructed from list`If method return Nothing this means we can not build traversable from given list. In this case inFilteredTrav should fail traversing.None&'+-.6;<=>?AFKNQSTV]^-Arbitrary element matcher  Field for $ instance and bulding usefull errors |Arbitrary name matcher. Match name any way you want, but considered to be used as comparator with some name with some rules Name matching function, usually should be simple comparsion function takin in account only local name or other components of   Field for $ instance and bulding usefull errorsMatch element by nameMatch over elementsInstance using instance of  DOM parser error description.Tag not found which should be. Expected attribute but not foundCould not parse attribute/Node should have text content, but it does not.=Tag contents has wrong format, (could not read text to value)Some other error Path of element error occured inPath some element should be found at. Path starts from the root element of the document. Errors are much more usefull with path.#yMakes matcher which matches only local part of name igoring namespace and prefix. Local name matching is case sensitive.$Makes matcher which matches only local part of name igoring namespace and prefix. Local name matching is case insensitive. This is the most common case.%"Makes matcher which match name by  with given' Instance use $O as most general and liberal matching strategy (while XML is often malformed).: Parser scope.Functor argument is usually Identity or [].If functor is Identity then parser expects exactly ONE current element. This is common behavior for content parsers, or parsers expecting strict XML structure.If functor is []a then parser expects arbitrary current elements count. This is the case when you use combinators divePath or diveElem (posible other variants of similar combinators). This kind of combinators performs search for elements somewhere in descendants and result have arbitrary length in common case.<5Current element(s). Functor is intended to be either Identity or []=Path for error reportingD'Run parser on root element of Document.0  !"#$%/01234:;<=>@ABCDEF8  !"%#$ 432/01>:;<=BCA@DEF   /01:;<=None&'+-.6;<=>?AFKNQSTV]^=GcParses content inside current tag. It expects current element set consists of exactly ONE element.H Returns name of current element.I:If name of current tag differs from first argument throws c with tag name replaced in last path's segment. Useful for checking root document's element name.JiGet current content. If current element contains no content or have inner elements then Nothing returnedKIf reader returns : then resulting function returns 'Left "error message"'. / is used for generating usefull error message.L(Tries to read given text to value using . Useful to use with G and parseAttribute&. Content is stripped before reading.MN#Expects text to be single characterG7Content parser, return error msg if value is not parsedKContent or attribute readerContent or attribute valueGHIJKLMNGHJIKLMNNone&'+-.6;<=>?AFKNQSTV]^DzOHClass of types which can be parsed from single XML element. The method P# is convenient default to use with inElemR&Always successfully parses any DOM to ()S&Never parses successfully. It is just \Expects content to be y, yes, t, true or 1 for True Values n, no, f, false or 0 for False. Case is not significant, blank characters are striped.OPQRSTUVWXYZ[\]OPQ]TUVWXYZ\RS[OPNone&'+-.6;<=>?AFKNQSTV]^Ij>Class of types which can be get from attribute value. Method k( is a convenient default parameter for parseAttributekAttribute contents to parseEither error message or resultjklmnopqrstuvwjklopqrstuvmnwjkNone&'+-.6;<=>?AFKNQSTV]^p6Generic function to traverse arbitrary inner elements.@Traverses elements located in same path using filtering function*Runs parser arbitrary times, depending on  instance of f. For example if f becomes  then  finds  one or more elements matched by given 5 and run parser in each found element, then returns  NonEmpty a of results.;Runs parser inside first children element matched by macher>Dive given parser's current tags set into the given path. The divePath ["a", "b"] differs from inElem "a" $ inElem "b". Namely the first variant will not fail if occured tag "a" which does not contains tag "b". This behaviour is desireable when you dont want to parse whole XML and just want to pull tags located in some path. The other difference is in traversing inner elements. Consider this code 0inElem "a" $ inElem "b" $ inElemAll "c" fromDom +which translates to pseudo-CSS query like: !a:nth(1) > b:nth(1) > c > fromDom ,divePath ["a", "b"] $ inElemAll "c" fromDom which translates like: a > b > c > fromDomgAs you can see, inElem always takes first element and runs inner parser in this single element, unlike  which runs inner parser in all descendants in given path.Note also that  takes parser parameterized by [] not by r. This because when you dive using some path you will get a list of found elements and all these elements will be current for parser.=Ignore arbitrary current element if it conforms to predicate.If current element has no children nodes does not run parser and returns Nothing. Otherwise runs parser inside current element. Useful when you got XML with strange empty elements which must be just ignored, but C runs parser inside of this elements which causes to parser error.uIf all current elements contains blank content, or contains nothing at all , then returns Nothing, else runs parser.Takes list of current elements and returns container with pairs of subpath (relatively to current elements) and element to run parser in4Parser to run for each element found in traversable fTakes list of current elements and returns some descendants subset and path this descendants located at. Path is should be same for all descendants and required for error messageTag(s) matcher to traverse inEPredicate checking that we must ignore some current tag. If returns D then parser will not be runned and combinator just returns Nothing. None&'+-.6;<=>?AFKNQSTV]^wIParses attribute with given name, throws error if attribute is not found.MParses attribute with given name. Returns Nothing if attribute is not found.+Retuns map of attributes of current element#Returns element with given name or Attribute nameAttribute content parserAttribute nameAttribute content parserNone&'+-.6;<=>?AFKNQSTV]^xg  !"#$%/01234:;<=>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]jklmnopqrstuvw      !"#$%%&'()*+,-./01234556789:;<=>??@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'dom-parser-3.1.0-Ln5nn9jzxg177fvcJNTKRvText.XML.DOM.Parser.BuildableText.XML.DOM.Parser.TypesText.XML.DOM.Parser.ContentText.XML.DOM.Parser.FromDom!Text.XML.DOM.Parser.FromAttributeText.XML.DOM.Parser.CombinatorsText.XML.DOM.Parser.AttributesText.XML.DOM.Parser Buildablebuild$fBuildableNonEmpty$fBuildableMaybe $fBuildable[]$fBuildableIdentity ElemMatcher_emMatch_emShow NameMatcher_nmMatch_nmShowemMatchemShow matchElemNameelMatch$fShowElemMatcher$fIsStringElemMatcher ParserError PENotFoundPEAttributeNotFoundPEAttributeWrongFormatPEContentNotFoundPEContentWrongFormatPEOther_pePath_peAttributeName _peDetailsDomPath unDomPathnmMatchnmShowmatchLocalNamematchCILocalName matchName$fShowNameMatcher$fIsStringNameMatcher $fEqDomPath $fOrdDomPath $fShowDomPath$fSemigroupDomPath$fMonoidDomPath$fShowParserError$fGenericParserError ParserErrorsunParserErrorspeAttributeName peDetailspePath$fExceptionParserError$fShowParserErrors$fSemigroupParserErrors$fMonoidParserErrors$fGenericParserErrors ParserData _pdElements_pdPath _ParserErrors$fExceptionParserErrors DomParser DomParserT pdElementspdPath runDomParserT runDomParserthrowParserError parseContentgetCurrentNamecheckCurrentNamegetCurrentContentmaybeReadContent readContentreadBoolreadCharFromDomfromDom proxyFromDom unitFromDom voidFromDom textFromDom stringFromDom charFromDom intFromDomintegerFromDom doubleFromDom fixedFromDomscientificFromDom boolFromDomelementFromDom$fFromDomElement $fFromDomBool$fFromDomScientific$fFromDomFixed$fFromDomDouble$fFromDomInteger $fFromDomInt $fFromDomChar $fFromDom[] $fFromDomText $fFromDomVoid $fFromDom() FromAttribute fromAttributeproxyFromAttributeunitFromAttributevoidFromAttributetextFromAttributestringFromAttributecharFromAttributeintFromAttributeintegerFromAttributedoubleFromAttributefixedFromAttributeboolFromAttributescientificFromAttribute$fFromAttributeScientific$fFromAttributeBool$fFromAttributeFixed$fFromAttributeDouble$fFromAttributeInteger$fFromAttributeInt$fFromAttributeChar$fFromAttribute[]$fFromAttributeText$fFromAttributeVoid$fFromAttribute() traverseElemsinFilteredTrav inElemTravinElem inElemAll inElemMayinElemNedivePathdiveElem ignoreElem ignoreEmpty ignoreBlankparseAttributeparseAttributeMaybegetCurrentAttributesgetCurrentAttributebaseGHC.ShowShow&xml-types-0.3.6-CKzjJ7E7A7yFdH5rbi5C7xData.XML.TypesNameghc-prim GHC.ClassesEqGHC.BaseNothingData.Typeable.InternalTypeableGHC.ReadReademptyData.List.NonEmptyNonEmptyData.Functor.IdentityIdentity GHC.TypesTrue