'      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred+HM  (_cmdspec :: Lens' CreateProcess CmdSpec  &_ShellCommand :: Prism' CmdSpec String 1_RawCommand :: Prism' CmdSpec (FilePath,[String]) ,_cwd :: Lens' CreateProcess (Maybe FilePath) 5_env :: Lens' CreateProcess (Maybe [(String,String)])A lens for the (std_in,std_out,std_err) triplet. >streams :: Lens' CreateProcess (StdStream,StdStream,StdStream) A Lens for the return value of  that focuses on the handles. thandles :: Lens' (Maybe Handle, Maybe Handle, Maybe Handle,ProcessHandle) (Maybe Handle, Maybe Handle, Maybe Handle) A Prism@ that matches when none of the standard streams have been piped. Anohandles :: Prism' (Maybe Handle, Maybe Handle, Maybe Handle) ()A Prism that matches when only stdin has been piped. Fhandlesi :: Prism' (Maybe Handle, Maybe Handle, Maybe Handle) (Handle)A Prism that matches when all three stdin, stdout and stderr have been piped. Xhandlesioe :: Prism' (Maybe Handle, Maybe Handle, Maybe Handle) (Handle, Handle, Handle)A Prism that matches when only stdout and stderr have been piped. Ohandlesoe :: Prism' (Maybe Handle, Maybe Handle, Maybe Handle) (Handle, Handle)A Prism that matches when only stdout has been piped. Fhandleso :: Prism' (Maybe Handle, Maybe Handle, Maybe Handle) (Handle)A Prism that matches when only stderr has been piped. Fhandlese :: Prism' (Maybe Handle, Maybe Handle, Maybe Handle) (Handle)    None  -24:BHM +An individual stage in a process pipeline. aA configuration parameter used in functions that combine lines of text from multiple streams.%A %7 represents a computation that completely drains a 1, but which may fail early with an error of type e. 'An alternative to -8 for defining what to do with the standard streams. ' is an instance of  , unlike -. With ';, the standard streams are always piped. The values of std_in, std_out and std_err in the  record are ignored.**.s are actions that write data into a process' stdin. -A -I determines what standard streams will be piped and what to do with them.*The user doesn't need to manually set the ,  and  fields of the  record to , this is done automatically. A - is parametrized by the type e8 of errors that can abort the processing of the streams. maps over the encoding error.  is useful to massage errors. creates a %( that does nothing besides draining the . * executes its arguments concurrently. The G is forked so that each argument receives its own copy of the data. creates a ' that writes nothing to stdin and drains stdout and stderr, discarding the data. schedules the writes to stdin& sequentially, and the reads from stdout and stderr concurrently. writes nothing to stdin. sequences the writes to stdin. is useful to massage errors. is useful to massage errors.4 !"#$%&'()*+,-./0123456789:& !"#$%&'()*+,-./0123456789:&-543210/.'()*+,%&78"$#6 !9: !"$#%&'()*+,-543210/.6789:None  +-24:BHM1;DA newtype wrapper with functions for working on the inputs of a %, instead of the outputs. >See the section Non-lens decoding functions in the documentation for the  pipes-text package. ?EException that carries a message and a sample of the leftover data. AA simplified version of B( for when the error type unifies with >. Note however that this function may still throw exceptions.BbExecutes an external process. The standard streams are piped and consumed in a way defined by the - argument. This function re-throws any s it encounters.MBesides exceptions, if the consumption of the standard streams fails with e3, the whole computation is immediately aborted and e is returned. If an exception or an error e, happen, the external process is terminated.C!Do not pipe any standard stream. DPipe stdout.EPipe stderr.FPipe stdout and stderr.GPipe stdout and stderr and consume them combined as . HPipe stdin.IPipe stdin and stdout.JPipe stdin and stderr.KPipe stdin, stdout and stderr.LPipe stdin, stdout and stderr%, consuming the last two combined as .TCollects incoming  values into a lazy .UCollects incoming  values into a lazy .W Builds a %4 out of a computation that does something with a %, but may fail with an error of type e.>Even if the original computation doesn't completely drain the , the constructed % will.X Builds a %$ out of a computation that drains a 0 completely, but may fail with an error of type e.,This functions incurs in less overhead than W.Y\Useful in combination with folds from the pipes prelude, or more specialized folds like   from  pipes-text and  from pipes-bytestring. Z Builds a %# out of a computation that folds a  and drains it completely.\ Builds a % out of a pure fold from the foldl package.] Builds a % out of a monadic fold from the foldl' package that works in the IO monad.^ Builds a % out of a monadic fold from the foldl package.` Builds a % out of a 4 with a polymorphic return type (one example is  from pipes-bytestring).eTurn a  from  pipes-parse into a %.fTurn a  from  pipes-parse into a %.g Constructs a %H that aborts the computation with an explicit error if the underlying  produces anything.hLike gE, but throws an exception instead of using the explicit error type.iThrows ?C if any data comes out of the underlying producer, and returns  otherwise.jLike i$, but doesn't take an error message.k Constructs a %' that works on encoded values out of a % that works on decoded values. lLike encoded, but works on ;s. mBuild a ! out of a function that splits a  while preserving streaming.See the section FreeT Transformations" in the documentation for the  pipes-text- package, and also the documentation for the  pipes-group package.n_Specifies a transformation that will be applied to each individual split, represented as a .o Flattens the , returning a function from  to ' which can be passed to functions like t.q+Process each individual split created by a  using a %.r(Useful to weed out unwanted inputs to a %, by returning [].u[Specifies a transformation that will be applied to each line of text, represented as a .vRSpecifies a prefix that will be calculated and appended for each line of text.w Constructs a  value.xA simplified version of y( for when the error type unifies with @. Note however that this function may still throw exceptions.y Similar to Bi, but instead of a single process it executes a (possibly branching) pipeline of external processes. This function has a limitation compared to the standard UNIX pipelines. If a downstream process terminates early without error, the upstream processes are not notified and keep going. There is no SIGPIPE-like functionality, in other words. z Builds a .{ZApplies a transformation to the stream of bytes flowing into a stage from previous stages.*This function is ignored for first stages.| Converts any  to the left side of an .  builds a ; for a sum out of the ;s for the branches. builds a ; for a composite out of the ;s for the parts. carn turn a ; for bytes into a ; for text.Q;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi Error messagejkA decoding function.A %9 that determines how to handle decoding leftovers. Pass pure id to ignore leftovers. Pass  unwanted idM to abort the computation with an explicit error if leftovers remain. Pass j to throw a ? if leftovers remain.lA decoding function.A %9 that determines how to handle decoding leftovers. Pass pure id to ignore leftovers. Pass  unwanted idM to abort the computation with an explicit error if leftovers remain. Pass j to throw a ? if leftovers remain.mnopqrstuvw&A decoding function for lines of text.A %9 that determines how to handle decoding leftovers. Pass pure id to ignore leftovers. Pass  unwanted idM to abort the computation with an explicit error if leftovers remain. Pass j to throw a ? if leftovers remain.xy2Views the pipeline as a single process for which stdin is the stdin of the first stage and stdout is the stdout5 of the leftmost terminal stage closer to the root. stderr is a combination of the stderr* streams of all the stages. The combined stderr" stream always has UTF-8 encoding.uA (possibly branching) pipeline of processes. Each process' stdin is fed with the stdout of its parent in the tree.z0How to handle lines coming from stderr for this . Does the  for this E represent an error? (Some programs return non-standard exit codes.)A process definition.{|r%*-;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|KBA-CDEFGHIJKL*MNOPQRS%WXYZ[_`abcdef\]^TUVg>k;<=rstlmpnoqwuvh?@ijyxz|{M;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|None -:BHM~Do stuff with stdout.Do stuff with stderr.Do stuff with stdin.Do stuff with stdout and stderr combined as . Pipe stdin to the created process' stdin.Pipe the created process' stdout to stdout.Pipe the created process' stderr to stderr. }~~%'*-;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ '~} }~ None -:BHM    !"##$%&'(()**+,-./0011233456789:;<=>?@ABCCDEFFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ process-streaming-0.7.2.2System.Process.StreamingSystem.Process.Lens!System.Process.Streaming.Internal!System.Process.Streaming.ExtendedBS ByteStringDataText Pipes.TexttoLazyM!System.Process.Streaming.Tutorialpipes-text-0.0.0.16Pipes.Text.EncodingdecodeIso8859_1 decodeAscii decodeUtf8_cmdspec _ShellCommand _RawCommand_cwd_envstreams _close_fds _create_group_delegate_ctlchandles nohandleshandlesi handlesio handlesie handlesioe handlesoehandlesohandleseStage_processDefinition _stderrLines_exitCodePolicy_inboundSplitter getSplitterLinesteardown lineTweakerSiphon_ Nonexhaustive ExhaustiveSiphonPiaprunPiapPumprunPumpPipingPPInputOutputError PPInputError PPInputOutputPPInput PPOutputErrorPPErrorPPOutputPPNone exhaustive runSiphon runSiphonDumbcombined manyCombinedSiphonOp getSiphonOpDecodingFunctionLeftoverExceptionexecuteexecuteFalliblynopipingpipeopipeepipeoepipeoecpipeipipeiopipeiepipeioepipeioec fromProducer fromProducerMfromSafeProducerfromFallibleProducer fromFoldablefromEnumerable fromLazyBytes intoLazyBytes intoLazyTextintoListsiphonsiphon'fromFold fromFold' fromFold'_ fromFoldl fromFoldlIO fromFoldlM fromConsumer fromConsumer' fromConsumerMfromConsumerM'fromSafeConsumerfromFallibleConsumer fromParser fromParserMunwanted unwantedX leftoverX _leftoverXencoded contraencodedsplitter tweakSplitsrejoinsplitIntoLinesnestcontramapFoldablecontramapEnumerable contraproduce tweakLines prefixLinestoLinesexecutePipelineexecutePipelineFalliblystageinboundpipefailtoPipingpiapopiapepiapipiapoesameisameosameesameioepumpFromHandlesiphonToHandleprocess-1.2.0.0System.Process createProcess pipes-4.1.5 Pipes.CoreProducerbaseControl.Applicative ApplicativeSystem.Process.Internals CreateProcessstd_instd_outstd_err CreatePipe$fFunctorLinesGHC.Basefmap$fBifunctorSiphon bifunctors-5Data.Bifunctorfirst$fApplicativeSiphonpure<*>$fApplicativePiap$fApplicativePump$fBifunctorPump$fBifunctorPiping nonexhaustive$fFunctorStage$fMonoidSiphon$fBifunctorSiphon_$fApplicativeSiphon_$fBifunctorPiap $fMonoidPumpvoid-0.7 Data.VoidVoidGHC.IO.Exception IOException text-1.2.1.1Data.Text.Internalbytestring-0.10.4.0Data.ByteString.Lazy.InternalData.Text.Internal.Lazypipes-bytestring-2.1.1Pipes.ByteStringConsumertoHandlepipes-parse-3.0.2 Pipes.ParseParserid ExitFailure Data.EitherEither$fDecidableSiphonOpcontravariant-1.3.1.1$Data.Functor.Contravariant.Divisiblechoose$fDivisibleSiphonOpdivide$fContravariantSiphonOpData.Functor.Contravariant contramapCreatePipelineexecuteInternalterminateCarefullyterminateOnError separatederrorSiphonUTF8muteExitCodeexecutePipelineInternalblende$fShowLeftoverException$fExceptionLeftoverException rawSystemsystemrunInteractiveProcessrunInteractiveCommand runProcess runCommandinterruptProcessGroupOfterminateProcessgetProcessExitCodewaitForProcessshowCommandForUserreadProcessWithExitCode readProcess callCommand callProcess spawnCommand spawnProcessshellproc ProcessHandle delegate_ctlc create_group close_fdsenvcwdcmdspec ShellCommand RawCommandCmdSpecInherit UseHandle StdStream