!iY,      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                        ! " # $ % & ' ( ) * + None<DghciAn efficient serialiser of ,.ghciAn efficient deserialiser of ,.SafeD.Safe68  NoneDV %ghcieConvert a pointer to an StgConInfo into an info pointer that can be used in the header of a closure.  !"#$% $ !"#%None0K'ghciAn HValueRef with a finalizer)ghciIA reference to a remote value. These are allocated and freed explicitly.2ghciMake a reference to a local value that we can send remotely. This reference will keep the value that it refers to alive until 4 is called.3ghcibConvert an HValueRef to an HValue. Should only be used if the HValue originated in this process.4ghci4Release an HValueRef that originated in this process5ghci Create a ' from a )). The finalizer should arrange to call  freeHValueRef on the (M. (since this function needs to be called in the process that created the (3, it cannot be called directly from the finalizer).6ghciUse a &&'()*+,-./012345678,-./0*+)234(1'56&78NoneN!@ghciCUsed by GHCi to add an SPT entry for a set of interactive bindings.@@Safe &',;=FV!None "#&'06CKVJp#|ghciThe server-side Template Haskell state. This is created by the StartTH message. A new one is created per module that GHC typechecks.~ghci+persistent data between splices in a moduleghci#location for current splice, if anyghcipipe to communicate with GHCghci!We can pass simple expressions to EvalStmt, consisting of values and application. This allows us to wrap the statement to be executed in another function, which is used by GHCi to implement :set args and :set prog. It might be worthwhile to extend this little language in the future.ghciEMessages sent back to GHC from GHCi.TH, to implement the methods of Quasid. For an overview of how TH works with Remote GHCi, see Note [Remote Template Haskell] in GHCi.TH.ghcieIndicates that this RunTH is finished, and the next message will be the result of RunTH (a QResult).ghciTemplate Haskell return valuesghci1RunTH finished successfully; return value followsghciRunTH threw an exceptionghci RunTH called -ghciA  Message a+ is a message that returns a value of type a2. These are requests sent from GHC to the server.ghciExit the iserv processghciCreate a set of BCO objects, and return HValueRefs to them Note: Each ByteString contains a Binary-encoded [ResolvedBCO], not a ResolvedBCO. The list is to allow us to serialise the ResolvedBCOs in parallel. See  createBCOs in compilerghci GHCi.hsc.ghciRelease (sghci'Add entries to the Static Pointer TableghciMalloc some data and return a , to itghciCalls  ghci Free data previously created by ghci&Create an info table for a constructorghciEvaluate a statementghci3Resume evaluation of a statement after a breakpointghci4Abandon evaluation of a statement after a breakpointghciEvaluate something of type  IO StringghciEvaluate something of type String -> IO StringghciEvaluate something of type IO ()ghci5Create a set of CostCentres with the same module nameghciShow a . as a [String]ghci&Create a new array of breakpoint flagsghciEnable a breakpointghci'Query the status of a breakpoint (True  = enabled)ghci2Get a reference to a free variable at a breakpointghci:Start a new TH module, return a state token that should beghciEvaluate a TH computation.Returns a ByteString, because we have to force the result before returning it to ensure there are no errors lurking in it. The TH types don't have NFData instances, and even if they did, we have to serialize the value anyway, so we might as well serialize it to force it.ghciRun the given mod finalizers.wuvwxyz{|}~wz{|}~uvwxy Safe06Nn           None"#6KXghci+reference to the Nth BCO in the current setghci%reference to a previously created BCOghcireference to a static ptrghci a nested BCOghci3Resolves to the MutableArray# inside the BreakArrayghciA  is one in which all the Name7 references have been resolved to actual addresses or  RemoteHValues.RNote, all arrays are zero-indexed (we assume this when serializing/deserializing)'ghci%The Binary instance for ResolvedBCOs.Note, that we do encode the endianness, however there is no support for mixed endianness setups. This is primarily to ensure that ghc and iserv share the same endianness. !"#$% !"#$%/   !"#$%&'(()*+,-./012345566789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~                            ! " # $ % & ' ( ) *+,-./0.123ghci-8.4.2-inplaceGHCi.BinaryArrayGHCi.BreakArrayGHCi.FFIGHCi.InfoTableGHCi.RemoteTypesGHCi.StaticPtrTableGHCi.TH.Binary GHCi.MessageSizedSeqGHCi.ResolvedBCOprepareForeignCallputArraygetArray BreakArray C_ffi_cifFFIConvFFICCall FFIStdCallFFITypeFFIVoid FFIPointerFFIFloat FFIDoubleFFISInt8 FFISInt16 FFISInt32 FFISInt64FFIUInt8 FFIUInt16 FFIUInt32 FFIUInt64prepForeignCallfreeForeignCallInfo $fShowFFIType$fGenericFFIType$fBinaryFFIType $fShowFFIConv$fGenericFFIConv$fBinaryFFIConv StgInfoTableentryptrsnptrstipesrtlencodepeekItbl conInfoPtr ForeignHValue ForeignRef HValueRef RemoteRefHValue RemotePtr toRemotePtr fromRemotePtr castRemotePtr toHValueRef mkRemoteReflocalRef freeRemoteRef mkForeignRefwithForeignRefunsafeForeignRefToRemoteReffinalizeForeignRef $fShowHValue$fNFDataForeignRef$fShowRemoteRef$fBinaryRemoteRef$fNFDataRemotePtr$fBinaryRemotePtr$fShowRemotePtr sptAddEntry$fBinarySerialized$fBinaryPatSynArgs$fBinaryPatSynDir$fBinaryTypeFamilyHead$fBinaryFamilyResultSig$fBinaryInjectivityAnn$fBinaryClause$fBinaryModuleInfo$fBinaryAnnLookup $fBinaryCon$fBinaryOccName$fBinaryFixityDirection$fBinaryDecidedStrictness$fBinarySourceStrictness$fBinarySourceUnpackedness $fBinaryBang$fBinaryForeign$fBinaryCallconv$fBinarySafety$fBinaryPragma$fBinaryInline$fBinaryRuleMatch$fBinaryPhases$fBinaryRuleBndr$fBinaryAnnTarget$fBinaryFunDep$fBinaryTySynEqn$fBinaryFixity $fBinaryMatch $fBinaryBody $fBinaryGuard$fBinaryDerivStrategy$fBinaryDerivClause$fBinaryOverlap $fBinaryDec $fBinaryExp $fBinaryPat $fBinaryStmt $fBinaryRange $fBinaryLit $fBinaryRole$fBinaryTyVarBndr $fBinaryTyLit $fBinaryType $fBinaryInfo$fBinaryModule$fBinaryNameSpace$fBinaryPkgName$fBinaryNameFlavour$fBinaryModName $fBinaryName $fBinaryLocPipepipeRead pipeWrite pipeLeftoversMsgQStateqsMap qsLocationqsPipe THResultTypeTHExpTHPatTHTypeTHDec THAnnWrapperTHResult THException THCompleteSerializableExceptionEUserInterrupt EExitCodeEOtherException EvalResult EvalException EvalSuccess EvalStatus_ EvalComplete EvalBreak EvalStatusEvalExprEvalThisEvalApp ResumeContextresumeBreakMVarresumeStatusMVarresumeThreadIdEvalOptsuseSandboxThread singleStepbreakOnException breakOnErrorTHMsg THMessageNewNameReport LookupNameReify ReifyFixityReifyInstances ReifyRolesReifyAnnotations ReifyModuleReifyConStrictnessAddDependentFileAddModFinalizer AddCorePlugin AddTopDeclsAddForeignFile IsExtEnabled ExtsEnabled StartRecover EndRecover RunTHDoneQResultQDone QExceptionQFailMessageShutdown InitLinker LookupSymbol LookupClosureLoadDLL LoadArchiveLoadObj UnloadObjAddLibrarySearchPathRemoveLibrarySearchPath ResolveObjsFindSystemLibrary CreateBCOsFreeHValueRefs AddSptEntry MallocData MallocStringsPrepFFIFreeFFIMkConInfoTableEvalStmt ResumeStmt AbandonStmt EvalStringEvalStringToStringEvalIO MkCostCentresCostCentreStackInfo NewBreakArrayEnableBreakpointBreakpointStatusGetBreakpointVarStartTHRunTHRunModFinalizers getTHMessage putTHMessagetoSerializableExceptionfromSerializableException getMessage putMessage remoteCall remoteTHCall writePipereadPipe$fBinaryExitCode$fBinaryQResult$fBinaryEvalOpts$fBinaryEvalExpr$fBinarySerializableException$fBinaryEvalResult$fBinaryEvalStatus_$fBinaryTHResult$fBinaryTHResultType $fShowQState$fGenericQResult $fShowQResult$fGenericEvalOpts$fShowEvalOpts$fGenericEvalExpr$fShowEvalExpr$fGenericSerializableException$fShowSerializableException$fGenericEvalResult$fShowEvalResult$fGenericEvalStatus_$fShowEvalStatus_$fGenericTHResult$fShowTHResult$fEnumTHResultType$fShowTHResultType$fGenericTHResultType$fShowTHMessage $fShowMessageemptySSaddToSS addListToSSssEltssizeSS$fNFDataSizedSeq$fBinarySizedSeq$fTraversableSizedSeq$fFoldableSizedSeq$fFunctorSizedSeq$fGenericSizedSeq$fShowSizedSeqResolvedBCOPtrResolvedBCORefResolvedBCOStaticPtrResolvedBCOPtrBCOResolvedBCOPtrBreakArray ResolvedBCOresolvedBCOIsLEresolvedBCOArityresolvedBCOInstrsresolvedBCOBitmapresolvedBCOLitsresolvedBCOPtrsisLittleEndian$fBinaryResolvedBCOPtr$fBinaryResolvedBCO$fGenericResolvedBCOPtr$fShowResolvedBCOPtr$fGenericResolvedBCO$fShowResolvedBCO array-0.5.2.0Data.Array.BaseUArraybaseGHC.Basefail GHC.Stack.CCSCostCentreStack