xa      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl m n o p q r s t u v w x y z { | } ~          Safe.  SafeRemove new line escapes and join escaped lines together on one line to simplify parsing later on. Escapes are replaced with line breaks to not alter the line numbers.None"FKTamP with additional location information required for creating good check messages%All commands available in DockerfilesVType of the Dockerfile AST_+*)&%$#"! '(,-./3201456879:=<;>?CBA@DEFGHIJLKMONPQRSTUVWZYX[\]^_`abedcfhgijklmonelmnopjkifghbcde_`aq^[\]WXYZVSTUPQRMNOrJKLsGHIDEF>?@ABC9:;<=67845ut-./0123, !"#$%&'()*+ !"#$%&'()*+-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUWXYZ[\]_`abcdefghjklmnoNone"#$*a +Pretty print a V to a Pretty print a  to a None"# G     G     None3#"! #&%$#$%&' !" !"#$%&None  "<>?aV."The type of free monad EDSL blocks/ The type of Identity based EDSL blocksJ'Runs the Dockerfile EDSL and returns a  Dockerfile$ you can pretty print or manipulateK'runs the Dockerfile EDSL and returns a  using  import Language.Docker main :: IO () main = writeFile "something.dockerfile" $ toDockerfileStr $ do from (tagged "fpco/stack-build" "lts-6.9") add ["."] "applanguage-docker" workdir "appWlanguage-docker" run "stack build --test --only-dependencies" cmd "stack test" L6Use a docker image in a FROM instruction without a tag)The following two examples are equivalent #from $ untagged "fpco/stack-build" 0Is equivalent to, when having OverloadedStrings: from "fpco/stack-build" M_Use a specific tag for a docker image. This function is meant to be used as an infix operator. from $ "fpco/stack-build" M "lts-10.3" OnAlias a FROM instruction to be used as a build stage. This function is meant to be used as an infix operator. from $ "fpco/stack-build" O "builder" P2Create a RUN instruction with the given arguments. run "apt-get install wget" Q:Create an ENTRYPOINT instruction with the given arguments.  entrypoint "usrlocalbinprogram --some-flag" R2Create a CMD instruction with the given arguments. cmd "my-program --some-flag" SSCreate a COPY instruction. This function is meant to be used with the compinators Z, X and Y copy $ ["foo.js", "bar.js"] Z "." copy $ ["some_file"] Z "somepath" X "builder" TZCreate a COPY instruction from a given build stage. This is a shorthand version of using S with combinators. 1copyFromStage "builder" ["foo.js", "bar.js"] "." UCreate an ADD instruction. This is often used as a shorthand version of copy when no extra options are needed. Currently there is no way to pass extra options to ADD, so you are encouraged to use S instead. add ["foo.js", "bar.js"] "." V:Converts a NonEmpty list of strings to a NonEmpty list of SThis is a convenience function when you need to pass a non-static list of strings that you build somewhere as an argument for S or U 6someFiles <- glob "*.js" copy $ (toSources someFiles) Z "." WConverts a String into a P[This is a convenience function when you need to pass a string variable as an argument for S or U Jlet destination = buildSomePath pwd add ["foo.js"] (toTarget destination) X.Adds the --from= option to a COPY instruction.7This function is meant to be used as an infix operator: copy $ ["foo.js"] Z "." X "builder" Y/Adds the --chown= option to a COPY instruction.7This function is meant to be used as an infix operator: copy $ ["foo.js"] Z "." Y "www-data:www-data" Z?Usedto join source paths with atarget path as an arguments for S7This function is meant to be used as an infix operator: copy $ ["foo.js"] Z "." Y gONBUILD Dockerfile instruction3Each nested instruction gets emitted as a separate ONBUILD block Jv $ do from "node" run "apt-get update" onBuild $ do run "echo more-stuff" run "echo here" h A version of J which allows IO actionsi A version of K which allows IO actionsj!Just runs the EDSL's writer monadk9Runs the EDSL's writer monad and pretty-prints the result@,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk@/.-,CBA@?>=<;:9876543210DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk NoneY)lmnopqrstuvwxyz{|}~ None\1Quasiquoter for embedding dockerfiles on the EDSL  putStr $ Jy $ do from "node" run "apt-get update" [edockerfile| RUN apt-get update CMD node something.js |] None](' !"#$%&)*+,-.1023/46789:;<=>?@ABCJKLMNOPQRSTUVWXYZ[\]^_ijklmno  #$%&./0234679:;<=>?@ABCIJKLMNOPQRSTUVWXYZ[\]^_`abcdeghijkV  KJihjk0MLNOU234STZXYVWP6R7Aabcde9:[\]^_`;Q<=>?@gBC/.#$%& !"#$%&'()*+WXYZSTUPQRMNOJKL>?@ABC9:;<=678-./0123lmnojk[\]i_^4,I Safea  !""#$%&'()*+,-./0123456789:;<==>?@ABCCDDEFFGHIJJKLMNOOPQQRSSTUUVWWXYYZ[\]^_``abccdeefghijkllmmnopqrstuvwxyz{|}~     )F+,J1234678:9 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d  efgh ij k l m n o p q rs,language-docker-5.0.0-F1UUGusUWbPApS4pe5BtPXLanguage.DockerLanguage.Docker.LexerLanguage.Docker.NormalizeLanguage.Docker.SyntaxLanguage.Docker.PrettyPrintLanguage.Docker.ParserLanguage.Docker.EDSL.TypesLanguage.Docker.EDSLLanguage.Docker.Syntax.LiftLanguage.Docker.EDSL.Quasi PrettyPrintPaths_language_dockerbaseControl.Monad.IO.ClassliftIO$parsec-3.1.11-Jx0X6lpzdHgC5NMoYR1Rc5Text.Parsec.Error ParseErrorreservednaturalcommaSep stringLiteralbrackets whiteSpacespacespaces1spacessymbolcaseInsensitiveCharcaseInsensitiveStringcharsWithEscapedSpaceslexemenormalizeEscapedLinesInstructionPos$sel:instruction:InstructionPos$sel:sourcename:InstructionPos$sel:lineNumber:InstructionPos LinenumberFilename InstructionFromAddUserLabel StopsignalCopyRunCmdShellWorkdirExposeVolume Entrypoint MaintainerEnvArg HealthcheckCommentOnBuildPairs CheckArgs$sel:checkCommand:CheckArgs$sel:interval:CheckArgs$sel:timeout:CheckArgs$sel:startPeriod:CheckArgs$sel:retries:CheckArgs ArgumentsCheckNoCheckAddArgs$sel:sourcePaths:AddArgs$sel:targetPath:AddArgs$sel:chownFlag:AddArgsCopyArgs$sel:sourcePaths:CopyArgs$sel:targetPath:CopyArgs$sel:chownFlag:CopyArgs$sel:sourceFlag:CopyArgsRetries$sel:times:RetriesDuration$sel:durationTime:Duration CopySourceNoSourceChownNoChown TargetPath$sel:unTargetPath:TargetPath SourcePath$sel:unSourcePath:SourcePath Dockerfile BaseImage UntaggedImage TaggedImage DigestedImage ImageAlias$sel:unImageAlias:ImageAlias DirectoryPorts$sel:unPorts:PortsPortPortStr PortRangeProtocolTCPUDPTagRegistryImage$sel:registryName:Image$sel:imageName:Image$fIsStringImage $fIsListPorts$fIsStringChown$fIsStringCopySource$fIsListArguments$fIsStringArguments$fShowRegistry $fEqRegistry $fOrdRegistry$fIsStringRegistry $fShowImage $fEqImage $fOrdImage$fShowProtocol $fEqProtocol $fOrdProtocol $fShowPort$fEqPort $fOrdPort $fShowPorts $fEqPorts $fOrdPorts$fShowImageAlias$fEqImageAlias$fOrdImageAlias$fIsStringImageAlias $fEqBaseImage$fOrdBaseImage$fShowBaseImage$fShowSourcePath$fEqSourcePath$fOrdSourcePath$fIsStringSourcePath$fShowTargetPath$fEqTargetPath$fOrdTargetPath$fIsStringTargetPath $fShowChown $fEqChown $fOrdChown$fShowCopySource$fEqCopySource$fOrdCopySource$fShowDuration $fEqDuration $fOrdDuration $fNumDuration $fShowRetries $fEqRetries $fOrdRetries $fNumRetries$fShowCopyArgs $fEqCopyArgs $fOrdCopyArgs $fShowAddArgs $fEqAddArgs $fOrdAddArgs$fShowArguments $fEqArguments$fOrdArguments$fShowCheckArgs $fEqCheckArgs$fOrdCheckArgs $fShowCheck $fEqCheck $fOrdCheck$fEqInstruction$fOrdInstruction$fShowInstruction$fEqInstructionPos$fOrdInstructionPos$fShowInstructionPos prettyPrintprettyPrintInstructionPosprettyPrintImageprettyPrintBaseImageprettyPrintPairsprettyPrintPairprettyPrintArgumentsprettyPrintJSONprettyPrintPortprettyPrintFileListprettyPrintChownprettyPrintCopySourceprettyPrintDurationprettyPrintRetriesprettyPrintInstruction CheckFlag FlagInterval FlagTimeoutFlagStartPeriod FlagRetries CFlagInvalidCopyFlag FlagChown FlagSource FlagInvalidcommentregistry taggedImage digestedImage untaggedImagemaybeImageAlias imageAlias baseImagefromcmdcopycopyFlagchown copySourceanyFlagfileListunexpectedFlagshell stopsignaldoubleQuotedValuesingleQuotedValueunquotedString singleValuepair pairsListlabelargenvpairs singlePairuseraddexposeportports portRangeprotocolportIntportWithProtocol portVariablerununtilEoluntilOccurrenceworkdirvolume maintainer argumentsExecargumentsShell arguments entrypointonbuild healthcheck checkFlag durationFlag retriesFlagparseInstructioncontentseol dockerfile parseString parseFile EInstruction StopSignalRunArgsCmdArgsEntrypointArgs OnBuildRawEmbed EBaseImageEUntaggedImage ETaggedImageEDigestedImage$fIsStringEBaseImage$fShowEBaseImage$fEqEBaseImage$fOrdEBaseImage$fFunctorEInstructionEInstructionTM EInstructionM EDockerfileTM EDockerfileMaddArgs stopSignalcopyArgsrunArgscmdArgsentrypointArgs onBuildRawembedrunDockerWriterrunDockerWriterIOrunDefrunDef2runDinstructionPos toDockerfiletoDockerfileStruntaggedtaggeddigestedaliased copyFromStage toSourcestoTarget fromStageownedBytotcpPortudpPort variablePort udpPortRangecheckintervaltimeout startPeriodretriesnoCheckonBuildtoDockerfileIOtoDockerfileStrIOrunDockerfileIOrunDockerfileStrIO$fLiftByteString$fLiftNonEmpty $fLiftFixed$fLiftDiffTime$fLiftProtocol $fLiftPort $fLiftPorts$fLiftRegistry $fLiftImage$fLiftImageAlias$fLiftBaseImage$fLiftArguments$fLiftInstruction$fLiftInstructionPos$fLiftSourcePath$fLiftTargetPath $fLiftChown$fLiftCopySource$fLiftCopyArgs $fLiftAddArgs$fLiftDuration $fLiftRetries$fLiftCheckArgs $fLiftCheck edockerfile edockerfileE dockerfileENormalizedLineContinueJoinedGHC.BaseStringversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName