j      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe%,-;=>?FQSTVh  "    $#"!   None       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None 7;=CFTV< %KA class of transformers that can run their effects in the underlying monad. The following laws need to hold.  \t -> do st <- ( res <- x (* t st) ) res == + o f :: (forall a. m a -> m a) \m s -> runTransformer (lift (f m)) s == \m s -> f (runTransformer (lift m) s) &DThe type of value that needs to be provided to run this transformer.'=The type of the result you get when you run this transformer.(Get the current state value.)/If given a result, reconstruct the computation.*pGiven the required state value and a computation, run the effects of the transformer in the underlying monad.-+A class of monads that have a run function.The 2 function gives the result inside of IO. The only reason for this is to allow an instance for IO to be written. Other instances do not perform any aditional IO.Instances for ,  and (- m, % t,  (t m)) => - (t m)6 are given so users should only provide additional % instances instead of - ones..>The type of value that needs to be provided to run this monad./7The type of the result you get when you run this monad.0Get the current state value.15If given a result, reconstruct a monadic compitation.2Given the required state value and a computation, run the computation up to the IO effect. This should effectively run each layer in the transformer stack. The .4 should hold all the needed information to do so.TA more formal description of what it means to run a transformer is given for the * function.%*)('&+,-210/. -./0122+,%&'()*543CBA@?>=<;:9876%&'()*+,-./0122None-.07;<=>?FKQSTV>_ DEFGHIJKLMNOJKLMMNNHIPEFGUTSRQODEFGHIJKLMMNNNone&'-6<>?FQTVhPe-Get current value of the state with the type sY. You can use type applications to tell the type checker which type of state you want.  getState @Intf&Set a new value for the state of type s^ You can use type applications to tell the type checker which type of state you're setting. setState @Int 5gTransform the state of type sz using the given function. You can use type applications to tell the type checker which type of state you're modifying. modifyState @Int (+ 1)h`Implement the state effect via the StateT transformer. If you have a function with a type like &f :: MonadEffect (State Int) m => m () you can use h to satisfy the H constraint. 3implementStateViaStateT @Int 0 f :: Monad m => m ()i&Handle the state requirement using an +. If you have a function with a type like &f :: MonadEffect (State Int) m => m () you can use i to replace the H constraint with +. This is convenient if you already have a , constraint and you don't want to use the { transformer for some reason. 4implementStateViaIORef @Int 0 f :: MonadIO m => m ()DEFGHIJKLMNbcdOaefghi alkbcdefgjhilkbcdNone<VQrnopqrnopqrNone&'+-.6;<=>?FQSTVv t5The handle function will return a value of this type.uGive a value to the caller of z and keep going.vLContinue the execution after the handler. The handler will return this value{SThrow a signal with no possible recovery. The handler is forced to only return the v. constructor because it cannot construct a  value.$If this function is used along with handleAsException9, this module behaves like regular checked exceptions.|lHandle signals of a computation. The handler function has the option to provide a value to the caller of zt and continue execution there, or do what regular exception handlers do and continue execution after the handler.}RThis handler can only behave like a regular exception handler. If used along with {8 this module behaves like regular checked exceptions.~See documentation for }. This handler gives you an .Discard all the w and y< effects. If any exception was thrown the result will be .Satisfies all the w and y constraints if they all throw Oable exceptions. The first thrown exception will be shown and returned as a  result.>Use this function to handle exceptions without discarding the w effect. You'll want to use this if you're writing a recursive function. Using the regular handlers in that case will result with infinite types.uSince this function doesn't discard constraints, you still need to handle the exception on the whole computation.$Here's a slightly contrived example. ? data NotFound = NotFound data Tree a = Leaf a | Node (Tree a) (Tree a) data Step = GoLeft | GoRight findIndex :: (Handles NotFound m, Eq a) => a -> Tree a -> m [Step] findIndex x (Leaf a) | x == a = return [] | otherwise = throwSignal NotFound findIndex x (Node l r) = ((GoLeft :)  $I findIndex x l) & handleWithoutDiscarding (NotFound -> (GoRight :)  $ findIndex x r) {Note: When you finally handle the exception effect, the order in which you handle it and other effects determines whether  rolls back other effects if an exception occured or it preserves all of them up to the point of the exception. Handling exceptions last and handling them first will produce the former and latter behaviour respectively.~ that doesn't discard Throws' constraints. See documentation for .3BCDEFGHIJKLMNKOstuvwxyz{|}~tuvy{|w}~sxztuvxNone &'-6<FTV}Read a value of type eL. Use with the TypeApplications extension to help with type inference  readEnv @Int`Use the given action in the underlying monad to provide environment values. You can think of implementReadEnv x m as replacing all  calls in m with x.DEFGHIJKLMNONone &'-<>?FQTV Get a value from the list. The choice of which value to take is non-deterministic in a sense that the rest of the computation will be ran once for each of them.ASignals that this branch of execution failed to produce a result.Execute all the effects and collect the result in a list. Note that this forces all the results, no matter which elements of the result list you end up actually using. For lazyer behavior use the other handlers..Given a function, apply it to all the results.\Given a folding function, fold over every result. If you want to terminate eary, use the  instead.Same as U but the folding function has the ability to terminate early by returning Nothing.@Executes only the effects needed to produce the first n results.<Executes only the effects needed to produce a single result.2Execute all the effects but discard their results.!abdefghijklmnopqrstuv None&'-;<=>?FQTV:Allows you to return early from a function. Make sure you ! to get the actual result out.XGet the result from a computation. Either the early returned one, or the regular result.9Only do the given action and exit early with it's result.$Early return the given value if the  is 4. Otherwise, contnue with the value inside of it.QOnly do the given action and early return with it's result if the given value is 5. Otherwise continue with the value inside of the .If the value is a V, get the value, process it and early return the result. Otherwise just return the  value.If the value is a [, get the value, process it and only do the resulting action. Otherwise just return the  value.DEFGHIJKLMNKO None 3<>?FKQTV|=The type that represents the forked computation in the monad m- that eventually computes a value of type ah. Depending on the monad, the computation may produce zero, one or even multiple values of that type.The name of the effecteFork a new thread to run the given computation. The monadic context is forked into the new thread.For example, if we use state, the current state value will be visible int he forked computation. Depending on how we ultimately implement the state, modifying it may or may not be visible from the main thread. If we use hx then setting the state in the forked thread will just modify the thread-local value. On the other hand, if we use ir then both the main thread and the new thread will use the same reference meaning they can interact through it.^Wait for the thread to finish and return it's result. The monadic context will also be merged.Example:  f @Int 1 th <-  $ do f @Int 2  th print =<< e @Int -- Outputs 2 This will discard the H  m constraint by forcing m to be \. The functions doesn't actually do anything, the real implementation is given by the H  IO instance which uses the async package.The  implementation uses the async library. K  None* NonebNoneNone -<>?FTh" K !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~}}             !"#$%&'()*+,-./012323242456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~          !""#$%%&''()*)*+,+-+-+.+./0/123245657589:9;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZZ[\]\]^_`^_a^_b^_c^_d^_e^_f^_g^_h^_i^_j^_k^_l^_m^_n^_o^_p^_q^_r^_s^_t^_u^_v^_w^_x^_y^_z^_{^_{|}~|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}}|}}]\\\\\\\q\\\\ \ \          !"#$%&'.simple-effects-0.10.0.0-JYzNQJPZcR6HRHgMmvCghQControl.Effects.SignalControl.Effects.GenericControl.Monad.RunnableControl.EffectsControl.Effects.StateControl.Effects.ParallelControl.Effects.ReaderControl.Effects.ListControl.Effects.EarlyControl.Effects.AsyncImportTutorial.T1_IntroductionTutorial.T2_DetailsTutorial.T3_CustomEffects Tutorial.Test+transformers-0.5.5.0-1bbDhu8ypp8LC8lJMFju65Control.Monad.Trans.Maybe runMaybeTMaybeT MonadicMethod mergeMethodProductOfMonadicMethodsmergeMonadicProductsMonadicMethodsmergeMonadicMethodsIndependentOfMFuncRes SimpleMethod LiftedMethod liftMethodProductOfSimpleMethodsLiftedProducts liftProducts SimpleMethods liftSimpleMgenericLiftThroughgenericMergeContext&$fProductOfSimpleMethods(->)kk:*::*:mt$fSimpleMethodskamt$fSimpleMethodkabmt$fSimpleMethodTYPEaMmt*$fProductOfSimpleMethods(->)(->)(->)M1M1mt$fIndependentOfMkam$fIndependentOfM(->)Mm$fIndependentOfMkam0$fSimpleMethodTYPEf(->)mt&$fProductOfMonadicMethodsk(->):*::*:am$fMonadicMethodsam$fMonadicMethodkaffMm$fMonadicMethodTYPEaf(->)m$fMonadicMethodTYPEabMm$$fProductOfMonadicMethodsk(->)M1M1am RunnableTransTransformerStateTransformerResultcurrentTransStaterestoreTransStaterunTransformer PureRunnable runPureMonadRunnable MonadicState MonadicResultcurrentMonadicStaterestoreMonadicStaterunMonad $fRunnableIO$fPureRunnableIdentity$fRunnableIdentity$fRunnableTransListT$fRunnableTransMaybeT$fRunnableTransExceptT$fRunnableTransErrorT$fRunnableTransIdentityT$fRunnableTransRWST$fRunnableTransRWST0$fRunnableTransReaderT$fRunnableTransWriterT$fRunnableTransWriterT0$fRunnableTransStateT$fRunnableTransStateT0$fPureRunnablet $fRunnablet MonadEffectsRuntimeImplementedgetRuntimeImplemented MonadEffecteffectEffect EffMethodsCanLift liftThrough mergeContext implement$fMonadEffectet $fMonadEffecteRuntimeImplemented!$fRunnableTransRuntimeImplemented%$fMonadBaseControlbRuntimeImplemented $fMonadReaderrRuntimeImplemented$fMonadTransRuntimeImplemented$fFunctorRuntimeImplemented$fApplicativeRuntimeImplemented$fMonadRuntimeImplemented$fMonadPlusRuntimeImplemented$fAlternativeRuntimeImplemented$fMonadStateRuntimeImplemented$fMonadIORuntimeImplemented$fMonadCatchRuntimeImplemented$fMonadThrowRuntimeImplemented$fMonadRandomRuntimeImplemented$fMonadBaseRuntimeImplementedState StateMethods _getState _setStategetStatesetState modifyStateimplementStateViaStateTimplementStateViaIORef$fMonadEffectStateStateTD:R:EffMethodsStatem0 $fEffectState$fGenericEffMethods forkThread appendStateparallelWithRestoreparallelWithSequenceparallelHandleException ResumeOrBreakResumeBreakThrow SomeSignalSignalsignal throwSignal handleSignalhandleExceptionhandleToEitherdiscardAllExceptionsshowAllExceptionshandleWithoutDiscardinghandleToEitherRecursive%$fMonadEffectSignalRuntimeImplemented$fMonadEffectSignalMaybeT$fMonadEffectSignalExceptT$fEffectSignal$fMonadEffectSignalExceptT0$fMonadEffectSignalIO#$fMonadEffectHandleExceptionExceptT$fEffectHandleException$fEqSomeSignal$fOrdSomeSignal$fReadSomeSignal$fShowSomeSignalReadEnvReadEnvMethods_readEnvreadEnvimplementReadEnvD:R:EffMethodsReadEnvm0$fEffectReadEnvNonDeterminismNonDeterminismMethods_choosechoosedeadEndevaluateToListtraverseAllResultsfoldAllResultsfoldWithEarlyTerminationevaluateNResultsevaluateOneResult evaluateAll $fMonadEffectNonDeterminismListTD:R:EffMethodsNonDeterminismm0$fEffectNonDeterminismEarly earlyReturn handleEarlyonlyDoifNothingEarlyReturn ifNothingDoifLeftEarlyReturnifLeftDo$fMonadEffectEarlyExceptT $fEffectEarly AsyncThreadAsync AsyncMethods_async _waitAsyncasync waitAsyncimplementAsyncViaIO$fMonadEffectAsyncIOD:R:EffMethodsAsyncm0 $fEffectAsync$fFunctorAsyncThread$fEqAsyncThread$fOrdAsyncThreadbaseGHC.Baseaugmentbuildghc-primGHC.Primseq realWorld#void# unsafeCoerce# nullAddr# GHC.MagiclazyoneShotrunRW# breakpointbreakpointCondinlineGHC.Exts groupWith$ magicDictcoerce Control.MonadguardIsListItem fromListNproxy#joinMonad>>=>>returnfailFunctorfmap<$Control.Monad.FixMonadFixmfix Data.StringIsString fromString Applicativepure<*>*>liftA2<*Data.TraversablemapMsequenceData.Semigroup Semigroup<>sconcatstimesMonoidmemptymappendmconcatAddr#Array# ByteArray#Char# GHC.TypesCharC#Double#DoubleD#Float#FloatF#Int#IntI#Int32#Int64#Weak# MutableArray#MutableByteArray#MVar# RealWorld StablePtr#~~ ArrayArray#MutableArrayArray#State# StableName#~#MutVar#Void#Word#WordW#Word32#Word64# ThreadId#BCO#GHC.PtrPtrFunPtrTVar#Compact# Constraint RuntimeRepVecRepTupleRepSumRep LiftedRep UnliftedRepIntRepWordRepInt64Rep Word64RepAddrRepFloatRep DoubleRepVecCountVec2Vec4Vec8Vec16Vec32Vec64VecElem Int8ElemRep Int16ElemRep Int32ElemRep Int64ElemRep Word8ElemRep Word16ElemRep Word32ElemRep Word64ElemRep FloatElemRep DoubleElemRep CoercibleProxy#Any SmallArray#SmallMutableArray#Int8X16#Int16X8#Int32X4#Int64X2#Int8X32# Int16X16#Int32X8#Int64X4#Int8X64# Int16X32# Int32X16#Int64X8# Word8X16# Word16X8# Word32X4# Word64X2# Word8X32# Word16X16# Word32X8# Word64X4# Word8X64# Word16X32# Word32X16# Word64X8#FloatX4# DoubleX2#FloatX8# DoubleX4# FloatX16# DoubleX8#gtChar#geChar#eqChar#neChar#ltChar#leChar#ord#+#-#*#mulIntMayOflo#quotInt#remInt# quotRemInt#andI#orI#xorI#notI# negateInt#addIntC#subIntC#>#>=#==#/=#<#<=#chr# int2Word# int2Float# int2Double# word2Float# word2Double#uncheckedIShiftL#uncheckedIShiftRA#uncheckedIShiftRL# plusWord# subWordC# plusWord2# minusWord# timesWord# timesWord2# quotWord#remWord# quotRemWord# quotRemWord2#and#or#xor#not#uncheckedShiftL#uncheckedShiftRL# word2Int#gtWord#geWord#eqWord#neWord#ltWord#leWord#popCnt8# popCnt16# popCnt32# popCnt64#popCnt#clz8#clz16#clz32#clz64#clz#ctz8#ctz16#ctz32#ctz64#ctz# byteSwap16# byteSwap32# byteSwap64# byteSwap# narrow8Int# narrow16Int# narrow32Int# narrow8Word# narrow16Word# narrow32Word#>##>=##==##/=##<##<=##+##-##*##/## negateDouble# fabsDouble# double2Int# double2Float# expDouble# logDouble# sqrtDouble# sinDouble# cosDouble# tanDouble# asinDouble# acosDouble# atanDouble# sinhDouble# coshDouble# tanhDouble#**##decodeDouble_2Int#decodeDouble_Int64#gtFloat#geFloat#eqFloat#neFloat#ltFloat#leFloat# plusFloat# minusFloat# timesFloat# divideFloat# negateFloat# fabsFloat# float2Int# expFloat# logFloat# sqrtFloat# sinFloat# cosFloat# tanFloat# asinFloat# acosFloat# atanFloat# sinhFloat# coshFloat# tanhFloat# powerFloat# float2Double#decodeFloat_Int# newArray#sameMutableArray# readArray# writeArray# sizeofArray#sizeofMutableArray# indexArray#unsafeFreezeArray#unsafeThawArray# copyArray#copyMutableArray# cloneArray#cloneMutableArray# freezeArray# thawArray# casArray#newSmallArray#sameSmallMutableArray#readSmallArray#writeSmallArray#sizeofSmallArray#sizeofSmallMutableArray#indexSmallArray#unsafeFreezeSmallArray#unsafeThawSmallArray#copySmallArray#copySmallMutableArray#cloneSmallArray#cloneSmallMutableArray#freezeSmallArray#thawSmallArray#casSmallArray# newByteArray#newPinnedByteArray#newAlignedPinnedByteArray#isMutableByteArrayPinned#isByteArrayPinned#byteArrayContents#sameMutableByteArray#shrinkMutableByteArray#resizeMutableByteArray#unsafeFreezeByteArray#sizeofByteArray#sizeofMutableByteArray#getSizeofMutableByteArray#indexCharArray#indexWideCharArray#indexIntArray#indexWordArray#indexAddrArray#indexFloatArray#indexDoubleArray#indexStablePtrArray#indexInt8Array#indexInt16Array#indexInt32Array#indexInt64Array#indexWord8Array#indexWord16Array#indexWord32Array#indexWord64Array#readCharArray#readWideCharArray# readIntArray#readWordArray#readAddrArray#readFloatArray#readDoubleArray#readStablePtrArray#readInt8Array#readInt16Array#readInt32Array#readInt64Array#readWord8Array#readWord16Array#readWord32Array#readWord64Array#writeCharArray#writeWideCharArray#writeIntArray#writeWordArray#writeAddrArray#writeFloatArray#writeDoubleArray#writeStablePtrArray#writeInt8Array#writeInt16Array#writeInt32Array#writeInt64Array#writeWord8Array#writeWord16Array#writeWord32Array#writeWord64Array#copyByteArray#copyMutableByteArray#copyByteArrayToAddr#copyMutableByteArrayToAddr#copyAddrToByteArray# setByteArray#atomicReadIntArray#atomicWriteIntArray# casIntArray#fetchAddIntArray#fetchSubIntArray#fetchAndIntArray#fetchNandIntArray#fetchOrIntArray#fetchXorIntArray#newArrayArray#sameMutableArrayArray#unsafeFreezeArrayArray#sizeofArrayArray#sizeofMutableArrayArray#indexByteArrayArray#indexArrayArrayArray#readByteArrayArray#readMutableByteArrayArray#readArrayArrayArray#readMutableArrayArrayArray#writeByteArrayArray#writeMutableByteArrayArray#writeArrayArrayArray#writeMutableArrayArrayArray#copyArrayArray#copyMutableArrayArray# plusAddr# minusAddr#remAddr# addr2Int# int2Addr#gtAddr#geAddr#eqAddr#neAddr#ltAddr#leAddr#indexCharOffAddr#indexWideCharOffAddr#indexIntOffAddr#indexWordOffAddr#indexAddrOffAddr#indexFloatOffAddr#indexDoubleOffAddr#indexStablePtrOffAddr#indexInt8OffAddr#indexInt16OffAddr#indexInt32OffAddr#indexInt64OffAddr#indexWord8OffAddr#indexWord16OffAddr#indexWord32OffAddr#indexWord64OffAddr#readCharOffAddr#readWideCharOffAddr#readIntOffAddr#readWordOffAddr#readAddrOffAddr#readFloatOffAddr#readDoubleOffAddr#readStablePtrOffAddr#readInt8OffAddr#readInt16OffAddr#readInt32OffAddr#readInt64OffAddr#readWord8OffAddr#readWord16OffAddr#readWord32OffAddr#readWord64OffAddr#writeCharOffAddr#writeWideCharOffAddr#writeIntOffAddr#writeWordOffAddr#writeAddrOffAddr#writeFloatOffAddr#writeDoubleOffAddr#writeStablePtrOffAddr#writeInt8OffAddr#writeInt16OffAddr#writeInt32OffAddr#writeInt64OffAddr#writeWord8OffAddr#writeWord16OffAddr#writeWord32OffAddr#writeWord64OffAddr# newMutVar# readMutVar# writeMutVar# sameMutVar#atomicModifyMutVar# casMutVar#catch#raise#raiseIO#maskAsyncExceptions#maskUninterruptible#unmaskAsyncExceptions#getMaskingState# atomically#retry# catchRetry# catchSTM#check#newTVar# readTVar# readTVarIO# writeTVar# sameTVar#newMVar# takeMVar# tryTakeMVar#putMVar# tryPutMVar# readMVar# tryReadMVar# sameMVar# isEmptyMVar#delay# waitRead# waitWrite#fork#forkOn# killThread#yield# myThreadId# labelThread#isCurrentThreadBound# noDuplicate# threadStatus#mkWeak#mkWeakNoFinalizer#addCFinalizerToWeak# deRefWeak# finalizeWeak#touch#makeStablePtr#deRefStablePtr# eqStablePtr#makeStableName# eqStableName#stableNameToInt# compactNew#compactResize#compactContains#compactContainsAny#compactGetFirstBlock#compactGetNextBlock#compactAllocateBlock#compactFixupPointers# compactAdd#compactAddWithSharing# compactSize#reallyUnsafePtrEquality#par#spark#seq# getSpark# numSparks# dataToTag# tagToEnum# addrToAny# anyToAddr# mkApUpd0#newBCO#unpackClosure#getApStackVal# getCCSOf#getCurrentCCS# clearCCS# traceEvent# traceMarker#broadcastInt8X16#broadcastInt16X8#broadcastInt32X4#broadcastInt64X2#broadcastInt8X32#broadcastInt16X16#broadcastInt32X8#broadcastInt64X4#broadcastInt8X64#broadcastInt16X32#broadcastInt32X16#broadcastInt64X8#broadcastWord8X16#broadcastWord16X8#broadcastWord32X4#broadcastWord64X2#broadcastWord8X32#broadcastWord16X16#broadcastWord32X8#broadcastWord64X4#broadcastWord8X64#broadcastWord16X32#broadcastWord32X16#broadcastWord64X8#broadcastFloatX4#broadcastDoubleX2#broadcastFloatX8#broadcastDoubleX4#broadcastFloatX16#broadcastDoubleX8# packInt8X16# packInt16X8# packInt32X4# packInt64X2# packInt8X32# packInt16X16# packInt32X8# packInt64X4# packInt8X64# packInt16X32# packInt32X16# packInt64X8# packWord8X16# packWord16X8# packWord32X4# packWord64X2# packWord8X32#packWord16X16# packWord32X8# packWord64X4# packWord8X64#packWord16X32#packWord32X16# packWord64X8# packFloatX4# packDoubleX2# packFloatX8# packDoubleX4# packFloatX16# packDoubleX8#unpackInt8X16#unpackInt16X8#unpackInt32X4#unpackInt64X2#unpackInt8X32#unpackInt16X16#unpackInt32X8#unpackInt64X4#unpackInt8X64#unpackInt16X32#unpackInt32X16#unpackInt64X8#unpackWord8X16#unpackWord16X8#unpackWord32X4#unpackWord64X2#unpackWord8X32#unpackWord16X16#unpackWord32X8#unpackWord64X4#unpackWord8X64#unpackWord16X32#unpackWord32X16#unpackWord64X8#unpackFloatX4#unpackDoubleX2#unpackFloatX8#unpackDoubleX4#unpackFloatX16#unpackDoubleX8#insertInt8X16#insertInt16X8#insertInt32X4#insertInt64X2#insertInt8X32#insertInt16X16#insertInt32X8#insertInt64X4#insertInt8X64#insertInt16X32#insertInt32X16#insertInt64X8#insertWord8X16#insertWord16X8#insertWord32X4#insertWord64X2#insertWord8X32#insertWord16X16#insertWord32X8#insertWord64X4#insertWord8X64#insertWord16X32#insertWord32X16#insertWord64X8#insertFloatX4#insertDoubleX2#insertFloatX8#insertDoubleX4#insertFloatX16#insertDoubleX8# plusInt8X16# plusInt16X8# plusInt32X4# plusInt64X2# plusInt8X32# plusInt16X16# plusInt32X8# plusInt64X4# plusInt8X64# plusInt16X32# plusInt32X16# plusInt64X8# plusWord8X16# plusWord16X8# plusWord32X4# plusWord64X2# plusWord8X32#plusWord16X16# plusWord32X8# plusWord64X4# plusWord8X64#plusWord16X32#plusWord32X16# plusWord64X8# plusFloatX4# plusDoubleX2# plusFloatX8# plusDoubleX4# plusFloatX16# plusDoubleX8# minusInt8X16# minusInt16X8# minusInt32X4# minusInt64X2# minusInt8X32#minusInt16X16# minusInt32X8# minusInt64X4# minusInt8X64#minusInt16X32#minusInt32X16# minusInt64X8#minusWord8X16#minusWord16X8#minusWord32X4#minusWord64X2#minusWord8X32#minusWord16X16#minusWord32X8#minusWord64X4#minusWord8X64#minusWord16X32#minusWord32X16#minusWord64X8# minusFloatX4#minusDoubleX2# minusFloatX8#minusDoubleX4#minusFloatX16#minusDoubleX8# timesInt8X16# timesInt16X8# timesInt32X4# timesInt64X2# timesInt8X32#timesInt16X16# timesInt32X8# timesInt64X4# timesInt8X64#timesInt16X32#timesInt32X16# timesInt64X8#timesWord8X16#timesWord16X8#timesWord32X4#timesWord64X2#timesWord8X32#timesWord16X16#timesWord32X8#timesWord64X4#timesWord8X64#timesWord16X32#timesWord32X16#timesWord64X8# timesFloatX4#timesDoubleX2# timesFloatX8#timesDoubleX4#timesFloatX16#timesDoubleX8#divideFloatX4#divideDoubleX2#divideFloatX8#divideDoubleX4#divideFloatX16#divideDoubleX8# quotInt8X16# quotInt16X8# quotInt32X4# quotInt64X2# quotInt8X32# quotInt16X16# quotInt32X8# quotInt64X4# quotInt8X64# quotInt16X32# quotInt32X16# quotInt64X8# quotWord8X16# quotWord16X8# quotWord32X4# quotWord64X2# quotWord8X32#quotWord16X16# quotWord32X8# quotWord64X4# quotWord8X64#quotWord16X32#quotWord32X16# quotWord64X8# remInt8X16# remInt16X8# remInt32X4# remInt64X2# remInt8X32# remInt16X16# remInt32X8# remInt64X4# remInt8X64# remInt16X32# remInt32X16# remInt64X8# remWord8X16# remWord16X8# remWord32X4# remWord64X2# remWord8X32# remWord16X16# remWord32X8# remWord64X4# remWord8X64# remWord16X32# remWord32X16# remWord64X8#negateInt8X16#negateInt16X8#negateInt32X4#negateInt64X2#negateInt8X32#negateInt16X16#negateInt32X8#negateInt64X4#negateInt8X64#negateInt16X32#negateInt32X16#negateInt64X8#negateFloatX4#negateDoubleX2#negateFloatX8#negateDoubleX4#negateFloatX16#negateDoubleX8#indexInt8X16Array#indexInt16X8Array#indexInt32X4Array#indexInt64X2Array#indexInt8X32Array#indexInt16X16Array#indexInt32X8Array#indexInt64X4Array#indexInt8X64Array#indexInt16X32Array#indexInt32X16Array#indexInt64X8Array#indexWord8X16Array#indexWord16X8Array#indexWord32X4Array#indexWord64X2Array#indexWord8X32Array#indexWord16X16Array#indexWord32X8Array#indexWord64X4Array#indexWord8X64Array#indexWord16X32Array#indexWord32X16Array#indexWord64X8Array#indexFloatX4Array#indexDoubleX2Array#indexFloatX8Array#indexDoubleX4Array#indexFloatX16Array#indexDoubleX8Array#readInt8X16Array#readInt16X8Array#readInt32X4Array#readInt64X2Array#readInt8X32Array#readInt16X16Array#readInt32X8Array#readInt64X4Array#readInt8X64Array#readInt16X32Array#readInt32X16Array#readInt64X8Array#readWord8X16Array#readWord16X8Array#readWord32X4Array#readWord64X2Array#readWord8X32Array#readWord16X16Array#readWord32X8Array#readWord64X4Array#readWord8X64Array#readWord16X32Array#readWord32X16Array#readWord64X8Array#readFloatX4Array#readDoubleX2Array#readFloatX8Array#readDoubleX4Array#readFloatX16Array#readDoubleX8Array#writeInt8X16Array#writeInt16X8Array#writeInt32X4Array#writeInt64X2Array#writeInt8X32Array#writeInt16X16Array#writeInt32X8Array#writeInt64X4Array#writeInt8X64Array#writeInt16X32Array#writeInt32X16Array#writeInt64X8Array#writeWord8X16Array#writeWord16X8Array#writeWord32X4Array#writeWord64X2Array#writeWord8X32Array#writeWord16X16Array#writeWord32X8Array#writeWord64X4Array#writeWord8X64Array#writeWord16X32Array#writeWord32X16Array#writeWord64X8Array#writeFloatX4Array#writeDoubleX2Array#writeFloatX8Array#writeDoubleX4Array#writeFloatX16Array#writeDoubleX8Array#indexInt8X16OffAddr#indexInt16X8OffAddr#indexInt32X4OffAddr#indexInt64X2OffAddr#indexInt8X32OffAddr#indexInt16X16OffAddr#indexInt32X8OffAddr#indexInt64X4OffAddr#indexInt8X64OffAddr#indexInt16X32OffAddr#indexInt32X16OffAddr#indexInt64X8OffAddr#indexWord8X16OffAddr#indexWord16X8OffAddr#indexWord32X4OffAddr#indexWord64X2OffAddr#indexWord8X32OffAddr#indexWord16X16OffAddr#indexWord32X8OffAddr#indexWord64X4OffAddr#indexWord8X64OffAddr#indexWord16X32OffAddr#indexWord32X16OffAddr#indexWord64X8OffAddr#indexFloatX4OffAddr#indexDoubleX2OffAddr#indexFloatX8OffAddr#indexDoubleX4OffAddr#indexFloatX16OffAddr#indexDoubleX8OffAddr#readInt8X16OffAddr#readInt16X8OffAddr#readInt32X4OffAddr#readInt64X2OffAddr#readInt8X32OffAddr#readInt16X16OffAddr#readInt32X8OffAddr#readInt64X4OffAddr#readInt8X64OffAddr#readInt16X32OffAddr#readInt32X16OffAddr#readInt64X8OffAddr#readWord8X16OffAddr#readWord16X8OffAddr#readWord32X4OffAddr#readWord64X2OffAddr#readWord8X32OffAddr#readWord16X16OffAddr#readWord32X8OffAddr#readWord64X4OffAddr#readWord8X64OffAddr#readWord16X32OffAddr#readWord32X16OffAddr#readWord64X8OffAddr#readFloatX4OffAddr#readDoubleX2OffAddr#readFloatX8OffAddr#readDoubleX4OffAddr#readFloatX16OffAddr#readDoubleX8OffAddr#writeInt8X16OffAddr#writeInt16X8OffAddr#writeInt32X4OffAddr#writeInt64X2OffAddr#writeInt8X32OffAddr#writeInt16X16OffAddr#writeInt32X8OffAddr#writeInt64X4OffAddr#writeInt8X64OffAddr#writeInt16X32OffAddr#writeInt32X16OffAddr#writeInt64X8OffAddr#writeWord8X16OffAddr#writeWord16X8OffAddr#writeWord32X4OffAddr#writeWord64X2OffAddr#writeWord8X32OffAddr#writeWord16X16OffAddr#writeWord32X8OffAddr#writeWord64X4OffAddr#writeWord8X64OffAddr#writeWord16X32OffAddr#writeWord32X16OffAddr#writeWord64X8OffAddr#writeFloatX4OffAddr#writeDoubleX2OffAddr#writeFloatX8OffAddr#writeDoubleX4OffAddr#writeFloatX16OffAddr#writeDoubleX8OffAddr#indexInt8ArrayAsInt8X16#indexInt16ArrayAsInt16X8#indexInt32ArrayAsInt32X4#indexInt64ArrayAsInt64X2#indexInt8ArrayAsInt8X32#indexInt16ArrayAsInt16X16#indexInt32ArrayAsInt32X8#indexInt64ArrayAsInt64X4#indexInt8ArrayAsInt8X64#indexInt16ArrayAsInt16X32#indexInt32ArrayAsInt32X16#indexInt64ArrayAsInt64X8#indexWord8ArrayAsWord8X16#indexWord16ArrayAsWord16X8#indexWord32ArrayAsWord32X4#indexWord64ArrayAsWord64X2#indexWord8ArrayAsWord8X32#indexWord16ArrayAsWord16X16#indexWord32ArrayAsWord32X8#indexWord64ArrayAsWord64X4#indexWord8ArrayAsWord8X64#indexWord16ArrayAsWord16X32#indexWord32ArrayAsWord32X16#indexWord64ArrayAsWord64X8#indexFloatArrayAsFloatX4#indexDoubleArrayAsDoubleX2#indexFloatArrayAsFloatX8#indexDoubleArrayAsDoubleX4#indexFloatArrayAsFloatX16#indexDoubleArrayAsDoubleX8#readInt8ArrayAsInt8X16#readInt16ArrayAsInt16X8#readInt32ArrayAsInt32X4#readInt64ArrayAsInt64X2#readInt8ArrayAsInt8X32#readInt16ArrayAsInt16X16#readInt32ArrayAsInt32X8#readInt64ArrayAsInt64X4#readInt8ArrayAsInt8X64#readInt16ArrayAsInt16X32#readInt32ArrayAsInt32X16#readInt64ArrayAsInt64X8#readWord8ArrayAsWord8X16#readWord16ArrayAsWord16X8#readWord32ArrayAsWord32X4#readWord64ArrayAsWord64X2#readWord8ArrayAsWord8X32#readWord16ArrayAsWord16X16#readWord32ArrayAsWord32X8#readWord64ArrayAsWord64X4#readWord8ArrayAsWord8X64#readWord16ArrayAsWord16X32#readWord32ArrayAsWord32X16#readWord64ArrayAsWord64X8#readFloatArrayAsFloatX4#readDoubleArrayAsDoubleX2#readFloatArrayAsFloatX8#readDoubleArrayAsDoubleX4#readFloatArrayAsFloatX16#readDoubleArrayAsDoubleX8#writeInt8ArrayAsInt8X16#writeInt16ArrayAsInt16X8#writeInt32ArrayAsInt32X4#writeInt64ArrayAsInt64X2#writeInt8ArrayAsInt8X32#writeInt16ArrayAsInt16X16#writeInt32ArrayAsInt32X8#writeInt64ArrayAsInt64X4#writeInt8ArrayAsInt8X64#writeInt16ArrayAsInt16X32#writeInt32ArrayAsInt32X16#writeInt64ArrayAsInt64X8#writeWord8ArrayAsWord8X16#writeWord16ArrayAsWord16X8#writeWord32ArrayAsWord32X4#writeWord64ArrayAsWord64X2#writeWord8ArrayAsWord8X32#writeWord16ArrayAsWord16X16#writeWord32ArrayAsWord32X8#writeWord64ArrayAsWord64X4#writeWord8ArrayAsWord8X64#writeWord16ArrayAsWord16X32#writeWord32ArrayAsWord32X16#writeWord64ArrayAsWord64X8#writeFloatArrayAsFloatX4#writeDoubleArrayAsDoubleX2#writeFloatArrayAsFloatX8#writeDoubleArrayAsDoubleX4#writeFloatArrayAsFloatX16#writeDoubleArrayAsDoubleX8#indexInt8OffAddrAsInt8X16#indexInt16OffAddrAsInt16X8#indexInt32OffAddrAsInt32X4#indexInt64OffAddrAsInt64X2#indexInt8OffAddrAsInt8X32#indexInt16OffAddrAsInt16X16#indexInt32OffAddrAsInt32X8#indexInt64OffAddrAsInt64X4#indexInt8OffAddrAsInt8X64#indexInt16OffAddrAsInt16X32#indexInt32OffAddrAsInt32X16#indexInt64OffAddrAsInt64X8#indexWord8OffAddrAsWord8X16#indexWord16OffAddrAsWord16X8#indexWord32OffAddrAsWord32X4#indexWord64OffAddrAsWord64X2#indexWord8OffAddrAsWord8X32#indexWord16OffAddrAsWord16X16#indexWord32OffAddrAsWord32X8#indexWord64OffAddrAsWord64X4#indexWord8OffAddrAsWord8X64#indexWord16OffAddrAsWord16X32#indexWord32OffAddrAsWord32X16#indexWord64OffAddrAsWord64X8#indexFloatOffAddrAsFloatX4#indexDoubleOffAddrAsDoubleX2#indexFloatOffAddrAsFloatX8#indexDoubleOffAddrAsDoubleX4#indexFloatOffAddrAsFloatX16#indexDoubleOffAddrAsDoubleX8#readInt8OffAddrAsInt8X16#readInt16OffAddrAsInt16X8#readInt32OffAddrAsInt32X4#readInt64OffAddrAsInt64X2#readInt8OffAddrAsInt8X32#readInt16OffAddrAsInt16X16#readInt32OffAddrAsInt32X8#readInt64OffAddrAsInt64X4#readInt8OffAddrAsInt8X64#readInt16OffAddrAsInt16X32#readInt32OffAddrAsInt32X16#readInt64OffAddrAsInt64X8#readWord8OffAddrAsWord8X16#readWord16OffAddrAsWord16X8#readWord32OffAddrAsWord32X4#readWord64OffAddrAsWord64X2#readWord8OffAddrAsWord8X32#readWord16OffAddrAsWord16X16#readWord32OffAddrAsWord32X8#readWord64OffAddrAsWord64X4#readWord8OffAddrAsWord8X64#readWord16OffAddrAsWord16X32#readWord32OffAddrAsWord32X16#readWord64OffAddrAsWord64X8#readFloatOffAddrAsFloatX4#readDoubleOffAddrAsDoubleX2#readFloatOffAddrAsFloatX8#readDoubleOffAddrAsDoubleX4#readFloatOffAddrAsFloatX16#readDoubleOffAddrAsDoubleX8#writeInt8OffAddrAsInt8X16#writeInt16OffAddrAsInt16X8#writeInt32OffAddrAsInt32X4#writeInt64OffAddrAsInt64X2#writeInt8OffAddrAsInt8X32#writeInt16OffAddrAsInt16X16#writeInt32OffAddrAsInt32X8#writeInt64OffAddrAsInt64X4#writeInt8OffAddrAsInt8X64#writeInt16OffAddrAsInt16X32#writeInt32OffAddrAsInt32X16#writeInt64OffAddrAsInt64X8#writeWord8OffAddrAsWord8X16#writeWord16OffAddrAsWord16X8#writeWord32OffAddrAsWord32X4#writeWord64OffAddrAsWord64X2#writeWord8OffAddrAsWord8X32#writeWord16OffAddrAsWord16X16#writeWord32OffAddrAsWord32X8#writeWord64OffAddrAsWord64X4#writeWord8OffAddrAsWord8X64#writeWord16OffAddrAsWord16X32#writeWord32OffAddrAsWord32X16#writeWord64OffAddrAsWord64X8#writeFloatOffAddrAsFloatX4#writeDoubleOffAddrAsDoubleX2#writeFloatOffAddrAsFloatX8#writeDoubleOffAddrAsDoubleX4#writeFloatOffAddrAsFloatX16#writeDoubleOffAddrAsDoubleX8#prefetchByteArray3#prefetchMutableByteArray3#prefetchAddr3#prefetchValue3#prefetchByteArray2#prefetchMutableByteArray2#prefetchAddr2#prefetchValue2#prefetchByteArray1#prefetchMutableByteArray1#prefetchAddr1#prefetchValue1#prefetchByteArray0#prefetchMutableByteArray0#prefetchAddr0#prefetchValue0#!random-1.1-LLUGZ7T9DqQ5vN0Jbcd0We System.RandomRandomrandomrandomsrandomRrandomRs randomRIOrandomIOStdGen RandomGensplitnextgenRangemkStdGen setStdGen getStdGen newStdGen getStdRandom&MonadRandom-0.2-EWEoZi8NObiIzl3LGjriRyControl.Monad.RandomuniformfromList evalRandIOrunRandevalRandrunRandT evalRandTliftRand liftRandTRandTRandControl.Monad.Random.Class MonadRandom getRandom getRandoms getRandomR getRandomRs MonadSplitgetSplitdiffoption mtimesDefaultstimesIdempotentstimesIdempotentMonoid stimesMonoidcycle1MingetMinMaxgetMaxArgArgMinArgMaxFirstgetFirstLastgetLast WrappedMonoid WrapMonoid unwrapMonoidOption getOption Data.VoidvacuousabsurdVoid traceEventsortWiththe maxTupleSizeSpecConstrAnnotation NoSpecConstrForceSpecConstrControl.Monad.IO.ClassMonadIOliftIOmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMforMControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipListData.Functor.IdentityIdentity runIdentity GHC.Exception Exception toException fromExceptiondisplayExceptionData.Functor.ConstConstgetConst Data.Foldablemsum sequence_forM_mapM_ Data.MonoidDualgetDualEndoappEndoAllgetAllgetAnySumgetSumProduct getProductData.OrdDown Data.Proxy asProxyTypeOfProxyKProxyGHC.IntuncheckedIShiftRA64#uncheckedIShiftL64#GHC.WorduncheckedShiftRL64#uncheckedShiftL64# Data.Function&onfix Data.Functorvoid<$> GHC.Stack.CCScurrentCallStack iShiftRL# iShiftRA#iShiftL#shiftRL#shiftL#flip.constidapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA<**> Alternativeempty<|>somemany MonadPlusmzeromplus SomeExceptionisTrue#Control.Monad.Trans.ExceptExceptT'exceptions-0.9.0-2S3N1rizzoL8iZyenIlJmhControl.Monad.CatchbracketOnErrorfinallybracket_bracket onExceptioncatchestryJusttry handleJusthandleIf handleAll handleIOErrorhandle catchJustcatchIf catchIOErrorcatchAlluninterruptibleMask_mask_ MonadThrowthrowM MonadCatchcatch MonadMaskmaskuninterruptibleMaskgeneralBracketHandler%list-t-1.0.0.1-5j14fxdG4uTCLnapMrcc0QListTslicedroptaketraverserepeatunfoldMunfoldfromMVar fromFoldableconssplitAt traverse_ toReverseListtoList foldMaybefoldnulltailheadunconsControl.Monad.Trans.Class MonadTranslift.transformers-base-0.4.4-GNTesDMEQS1GbEFD2YgleyControl.Monad.Base MonadBaseliftBaseControl.Monad.Trans.State.LazyStateT runStateTControl.Monad.Trans.ReaderReaderT runReaderTControl.Monad.Trans.ErrorErrorstrMsgnoMsgErrorT runErrorTControl.Monad.Trans.Identity IdentityT runIdentityT+monad-control-1.0.2.3-H5Ofp7Hti3qJD892PpFTOControl.Monad.Trans.ControlliftBaseOpDiscardliftBaseDiscard liftBaseOp_ liftBaseOpcaptureMcaptureTembed_embedcontroldefaultRestoreMdefaultLiftBaseWithdefaultRestoreT2defaultLiftWith2defaultRestoreTdefaultLiftWithMonadTransControlStTliftWithrestoreTRun RunDefault RunDefault2MonadBaseControlStM liftBaseWithrestoreM RunInBase ComposeStRunInBaseDefault mapIdentityT mtl-2.2.2-L9xXSHNcnHK5lB15ncBkleControl.Monad.State.Classgetsmodify'modify MonadStategetputstateControl.Monad.Reader.Classasks MonadReaderasklocalreader mapErrorTExcept runExcept mapExcept withExcept runExceptT mapExceptT withExceptTReader runReader mapReader withReader mapReaderT withReaderTrunState evalState execStatemapState withState evalStateT execStateT mapStateT withStateT#text-1.2.2.2-EakMpasry3jA6OIwSZhq9M Data.TextpackData.Text.ShowunpackData.Text.InternalTextexceptToMaybeTmaybeToExceptT mapMaybeTcatchEthrowEexcept catchError throwError ErrorListlistMsgliftBaseDefaultIO GHC.IORefIORef Data.EitherEitherNothingGHC.ShowShowLeftliftPass liftListen liftCallCC SignalMethodsHandleExceptionMethods_signal_handleWithoutDiscarding getSomeSignalD:R:EffMethodsSignalm0D:R:EffMethodsHandleExceptionm0MaybeRight EarlyMethods _earlyReturn EarlyValue getEarlyValueD:R:EffMethodsEarlym0 ForkMethods_forkForkaddFruitmain1main2main3main4fork testMethodmain5 $fEffectForkD:R:EffMethodsForkm0