ú΃p{äH      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG© 2016 2017 Stack Buliders BSD 3 clause$Mark Karpov <markkarpov92@gmail.com> experimentalportableNone05I4Warning that may be generated during rendering of a .bThe template contained a variable for which there was no data counterpart in the current context.A complex value such as an Object or Array* was directly rendered into the template.aException that is thrown when parsing of a template fails or referenced values are not provided.:Template parser has failed. This contains the parse error.#Before version 0.2.0 it was called .The H" field was added in version 1.0.0.,Identifier for partials. Note that with the OverloadedStringsK extension you can use just string literals to create values of this type.%Identifier for values to interpolate.$The representation is the following:[]% empty list means implicit iterators;[text]# single key is a normal identifier;[text1, text2]& multiple keys represent dotted names. Structural element of template. !Plain text contained between tags HTML-escaped variableUnescaped variableMustache sectionInverted section Partial with indentation level (I means it was inlined)jMustache template as name of top-level  template and a collection of all available templates (partials). is a J". This means that you can combine  s (and their caches) using the (K) operator, the resulting g will have the same currently selected template as the left one. Union of caches is also left-biased.6Name of currently selected  template (top-level one).¯Collection of all templates that are available for interpolation (as partials). The top-level one is also contained here and the focus  can be switched easily by modifying .[Pretty-print a key, this is helpful, for example, if you want to display an error message.Pretty-print a .        © 2016 2017 Stack Builders BSD 3 clause$Mark Karpov <markkarpov92@gmail.com> experimentalportableNoneLThe render monad context.MActual indentation levelNThe context stackO'Prefix accumulated by entering sectionsPThe template to renderQ"Is this last node in this partial?ReSynonym for the monad we use for rendering. It allows to share context and accumulate the result as S( data which is then turned into a lazy T.9Render a Mustache  using Aeson's U) to get actual values for interpolation.:Like 9,, but also returns a collection of warnings.VRender a single  .WRun R& monad given template to render and a U to take values from.XOutput a piece of strict H.Y>Output indentation consisting of appropriate number of spaces.ZOutput piece of strict H with added indentation.[Render a partial.\Get collection of  s for actual template.]Render many nodes.^ Lookup a U by its ._ Lookup a U by traversing another U using given  as path .`"Enter the section by adding given  prefix to current prefix.aeAdd new value on the top of context. The new value has the highest priority when lookup takes place.bRegister a warning.cRegister a piece of output.dAdd two e f values together.gGBuild indentation of specified length by repeating the space character.hSelect invisible values.iRender Aeson's U without HTML escaping.j"Escape HTML represented as strict H.LkMNOPQlmR9:VWXYZ[Name of partial to renderIndentation level to use#How to render nodes in that partial\]How to render a node!The collection of nodes to render^_ôAt least one part of the path matched, in this case we are committed  to this lookup and cannot say there is nothing, try other level . This is necessary to pass the Dotted Names Context Precedence  test from the interpolation.yml  spec.The key to lookup Source valueLooked-up value`abcdghij9:9:LkMNOPQlmR9:VWXYZ[\]^_`abcdghij© 2016 2017 Stack Builders BSD 3 clause$Mark Karpov <markkarpov92@gmail.com> experimentalportableNonenYState used in Mustache parser. It includes currently set opening and closing delimiters.o$Type of Mustache parser monad stack.; Parse a given Mustache template.npqro;Location of the file to parse!File contents (Mustache template)Parsed nodes or parse errorstuvwxyz{|}~€‚ƒ„…†‡;;npqro;stuvwxyz{|}~€‚ƒ„…†‡© 2016 2017 Stack Builders BSD 3 clause$Mark Karpov <markkarpov92@gmail.com> experimentalportableNone <gCompile all templates in specified directory and select one. Template files should have the extension mustache, (e.g.  foo.mustache#) to be recognized. This function does not scan the directory recursively.,The action can throw the same exceptions as ˆ, and ‰. 7compileMustacheDir = complieMustacheDir' isMustacheFile= The same as <>, but allows using a custom predicate for template selection.>VReturn a list of templates found in given directory. The returned paths are absolute.?fReturn a list of templates found via a predicate in given directory. The returned paths are absolute.@$The default Mustache file predicate.A1Compile a single Mustache template and select it.,The action can throw the same exceptions as ‰.B&Compile Mustache template from a lazy HL value. The cache will contain only this template named according to given .ŠBuild a  from given ‹.ŒThrow  if argument is  or return the result inside Ž. <(Which template to select after compilingDirectory with templatesThe resulting template=Template selection predicate(Which template to select after compilingDirectory with templatesThe resulting template>Directory with templates?!Mustache file selection predicateDirectory with templates@ALocation of the fileBHow to name the template?The template to compile The resultŠŒOriginal inputValue to process The result<=>?@AB<=>?@AB <=>?@ABŠŒ© 2016 2017 Stack Builders BSD 3 clause$Mark Karpov <markkarpov92@gmail.com> experimentalportableNoneOTCgCompile all templates in specified directory and select one. Template files should have the extension mustache, (e.g.  foo.mustache#) to be recognized. This function does not scan the directory recursively.4This version compiles the templates at compile time. 7compileMustacheDir = compileMustacheDir' isMustacheFileD The same as C>, but allows using a custom predicate for template selection.4This version compiles the templates at compile time.E/Compile single Mustache template and select it.3This version compiles the template at compile time.FCompile Mustache template from HL value. The cache will contain only this template named according to given .3This version compiles the template at compile time.G*Compile Mustache using QuasiQuoter. Usage: Œ{-# LANGUAGE QuasiQuotes #-} import Text.Mustache.Compile.TH (mustache) foo :: Template foo = [mustache|This is my inline {{ template }}.|]"Name of created partial is set to "quasi-quoted". You can extend cache of  created this way using ()% and so work with partials as usual. Given an  result return Ž/ and signal pretty-printed error if we have a .‘ Lift strict H to ’ “.C(Which template to select after compilingDirectory with templatesThe resulting templateDTemplate selection predicate(Which template to select after compilingDirectory with templatesThe resulting templateELocation of the fileFHow to name the template?The template to compileG‘CDEFGCDEFGCDEFG‘© 2016 2017 Stack Builders BSD 3 clause$Mark Karpov <markkarpov92@gmail.com> experimentalportableNone  9:<=AB  <=AB9:”      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHBCGHIJKLMNOMPMQRSTUVWJXYJZL[\]^_`abcdefghijklMNmnopqrstQuuvwvxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘J’“”M•–—M˜™M˜š›M˜œžŸ žŸ¡¢#stache-1.2.1-30XewqJXbbnCJjz4Q5VOkPText.Mustache.TypeText.Mustache.RenderText.Mustache.ParserText.Mustache.CompileText.Mustache.Compile.THData.Semigroup<> Text.MustacheMustacheWarningMustacheVariableNotFoundMustacheDirectlyRenderedValueMustacheExceptionMustacheParserExceptionPNameunPNameKeyunKeyNode TextBlock EscapedVar UnescapedVarSectionInvertedSectionPartialTemplatetemplateActual templateCacheshowKeydisplayMustacheWarning$fExceptionMustacheException $fNFDataPName$fIsStringPName $fNFDataKey$fSemigroupTemplate$fEqKey$fOrdKey $fShowKey$fSemigroupKey $fMonoidKey $fDataKey $fGenericKey $fEqPName $fOrdPName $fShowPName $fDataPName$fGenericPName$fEqNode $fOrdNode $fShowNode $fDataNode $fGenericNode $fEqTemplate $fOrdTemplate$fShowTemplate$fDataTemplate$fGenericTemplate$fEqMustacheException$fShowMustacheException$fGenericMustacheException$fEqMustacheWarning$fShowMustacheWarning$fGenericMustacheWarningrenderMustacherenderMustacheW parseMustachecompileMustacheDircompileMustacheDir'getMustacheFilesInDirgetMustacheFilesInDir'isMustacheFilecompileMustacheFilecompileMustacheTextmustache#text-1.2.2.2-KC7dWoG09dA1F6jKj5GSqhData.Text.InternalTextbaseGHC.BaseNothing Semigroup RenderContextrcIndent rcContextrcPrefix rcTemplate rcLastNodeRenderData.Text.Internal.BuilderBuilderData.Text.Internal.Lazy$aeson-1.2.2.0-2bLcBHToPdp7otNanEmSs2Data.Aeson.Types.InternalValue renderNode runRender outputRaw outputIndentoutputIndented renderPartialgetNodes renderMany lookupKey simpleLookup enterSectionaddToLocalContext tellWarning tellBuilder addIndentsMaybe&megaparsec-6.2.0-pWtGle4bFH9yv4IfTZKBAText.Megaparsec.PosPos buildIndentisBlank renderValue escapeHtmlS DelimitersParser openingDel closingDel pMustache pTextBlockpUnescapedVariablepUnescapedSpecialpSectionpPartialpCommentpSetDelimiterspEscapedVariablewithStandalone pStandalonepTag pClosingTagpKey pDelimiterpBolscnsclexemesymbol keyToTextdirectory-1.3.0.0System.DirectorygetDirectoryContents Data.Text.IOreadFile pathToPNameGHC.IOFilePath withException Data.EitherLeftRight handleEitherEitherliftTexttemplate-haskellLanguage.Haskell.TH.SyntaxQExp