h&J,      !"#$%&'()*+None  #$(8< foreignCreate an one element primitive array and use it as a pointer to the primitive element.1Don't pass a forever loop to this function, see  -https://ghc.haskell.org/trac/ghc/ticket/14346#14346.foreignlike  , but don't write initial value. foreignCreate an one element primitive array and use it as a pointer to the primitive element..Return the element and the computation result.1USE THIS FUNCTION WITH UNSAFE SYNC FFI CALL ONLY. foreignlike   , but don't write initial value.1USE THIS FUNCTION WITH UNSAFE SYNC FFI CALL ONLY. foreign,Pass primitive array to safe FFI as pointer.Use proper pointer type and HsInt to marshall Ptr a and Int arguments on C side. The memory pointed by 'Ptr a' will not moved during call. After call returned, pointer is no longer valid. The second ,2 arguement is the element size not the bytes size.1Don't pass a forever loop to this function, see  -https://ghc.haskell.org/trac/ghc/ticket/14346#14346. foreignAllocate a prim array and pass to FFI as pointer, freeze result into a  PrimVector.foreign.Pass primitive array to unsafe FFI as pointer.Enable UnliftedFFITypes> extension in your haskell code, use proper pointer type and HsInt to marshall  ByteArray# and Int arguments on C side. The second ,2 arguement is the element size not the bytes size.1USE THIS FUNCTION WITH UNSAFE SYNC FFI CALL ONLY.foreignAllocate some bytes and pass to FFI as pointer, freeze result into a -.1USE THIS FUNCTION WITH UNSAFE SYNC FFI CALL ONLY.foreign1Pass primitive array list to safe FFI as pointer.Use proper pointer type and HsInt to marshall  Ptr (Ptr a) and Int arguments on C side. The memory pointed by 'Ptr a' will not moved during call. After call returned, pointer is no longer valid. The second , arguement is the list size.1Don't pass a forever loop to this function, see  -https://ghc.haskell.org/trac/ghc/ticket/14346#14346.foreign+Pass primitive array list to unsafe FFI as  StgArrBytes**.Enable UnliftedFFITypes& extension in your haskell code, use  StgArrBytes** (>=8.10) or StgMutArrPtrs*(<8.10) pointer type and HsInt to marshall BAArray# and Int arguments on C side. The second , arguement is the list size.,USE THIS FUNCTION WITH UNSAFE FFI CALL ONLY.foreignObtain the pointer to the content of an mutable array, and the pointer should only be used during the IO action.This operation is only safe on pinned( primitive arrays (Arrays allocated by . or /).1Don't pass a forever loop to this function, see  -https://ghc.haskell.org/trac/ghc/ticket/14346#14346.foreignObtain the pointer to the content of an array, and the pointer should only be used during the IO action.This operation is only safe on pinned( primitive arrays (Arrays allocated by . or /).1Don't pass a forever loop to this function, see  -https://ghc.haskell.org/trac/ghc/ticket/14346#14346. foreign in elements0123456789:;/.<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn-opqrstuvwxyz{|}~  None  #$(8<foreignSize of callback dataforeignPeek callback dataforeign5Normal async foreign function: sp -> cap -> ptr -> ()foreign7A list of extra Bytes we will touch, usually it's emptyforeignSize of callback dataforeignPeek callback dataforeign5Normal async foreign function: sp -> cap -> ptr -> ()None  #$(8<2foreign+Copies the content of the given ByteString.The memory may be deallocated using free or finalizerFree when no longer required.foreign Pass list of ByteStrings to FFI.foreign Pass list of ByteStrings to FFI.foreigncstring*, len*, list_lenforeign!cstring*, offset*, len*, list_len  None  #$(8<(foreign/New a c++ std::string from proviced bytestring.The memory should be deallocated using delete when no longer required. !"#$%&'()* "()'&%$#*!None  #$(8<@++None  #$(8<r0123456789:;/.<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn-opqrstuvwxyz{|}~  +         !"#$%&'()*+,-./01234564574589:;9:<=>?9@A9@A45B45C45D45E45F45G45H45I45J45K45L45M45N45O45P45Q45R45S45T45U45V45W45X45Y45Z45[45\45]45^45_45`45a45b45c45d45e45f45g45h45i45j45k45l45m45n45o45p45q45r45s45t45u45v45w45x45y45645z45z4{|4{}4{~4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4{4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444foreign-0.2.0.0-inplaceHsForeign.PrimitiveHsForeign.AsyncFFIHsForeign.StringHsForeign.CppStdHsForeign.Utils HsForeignghc-primGHC.PrimbyteArrayContents#BAArray#MBA#BA#withPrim allocPrimwithPrimUnsafeallocPrimUnsafe withPrimArray withPrimListallocPrimArraywithPrimArrayUnsafeallocPrimArrayUnsafewithPrimArrayListwithForeignPtrListwithPrimArrayListUnsafemutableByteArrayContents#withMutablePrimArrayContentswithPrimArrayContents withAsyncFFIwithPrimAsyncFFI withAsyncFFI'mallocFromByteStringmallocFromMaybeByteStringnewStablePtrByteStringwithByteStringwithMaybeByteStringwithByteStringListwithByteStringswithShortByteString StdVector StdStringhs_delete_std_stringhs_std_string_cstrhs_std_string_sizehs_new_std_string_defhs_new_std_string newStdStringmaybeNewStdStringunsafePeekStdString withMaybePtr GHC.TypesIntprimitive-0.7.4.0-3831b74bbd8da677fb5c864de7f5d810c5256eaf1bfeefaf358fad5c322362afData.Primitive.PrimArray PrimArraynewPinnedPrimArraynewAlignedPinnedPrimArraybaseGHC.ExtsfromList fromListN ByteArray#MutableByteArray# RealWorldGHC.PtrPtr runPrimArraycloneMutablePrimArrayclonePrimArraymutablePrimArrayContentsprimArrayContentsitraversePrimArray_traversePrimArray_replicatePrimArrayAgeneratePrimArrayAreplicatePrimArraygeneratePrimArrayitraversePrimArrayPitraversePrimArraytraversePrimArraymapMaybePrimArraymapMaybePrimArrayAfilterPrimArrayAfilterPrimArray imapPrimArray mapPrimArrayreplicatePrimArrayPgeneratePrimArrayPmapMaybePrimArrayPfilterPrimArrayPtraversePrimArrayPfoldlPrimArrayM'foldlPrimArray'foldlPrimArrayfoldrPrimArray'foldrPrimArrayisMutablePrimArrayPinnedisPrimArrayPinnedsizeofPrimArrayindexPrimArrayunsafeThawPrimArrayunsafeFreezePrimArray thawPrimArrayfreezePrimArraysameMutablePrimArraysizeofMutablePrimArraygetSizeofMutablePrimArray setPrimArraycopyPtrToMutablePrimArraycopyMutablePrimArrayToPtrcopyPrimArrayToPtr copyPrimArraycopyMutablePrimArraywritePrimArray readPrimArrayshrinkMutablePrimArrayresizeMutablePrimArray newPrimArrayemptyPrimArrayprimArrayToListprimArrayFromListNprimArrayFromListMutablePrimArrayData.Primitive.ByteArray runByteArraycloneMutableByteArraycloneByteArrayemptyByteArraycompareByteArrays fillByteArray setByteArray moveByteArraycopyMutableByteArrayToAddrcopyByteArrayToAddrcopyMutableByteArrayToPtrcopyPtrToMutableByteArraycopyByteArrayToPtrcopyMutableByteArray copyByteArraybyteArrayFromListNbyteArrayFromListfoldrByteArraywriteByteArray readByteArrayindexByteArrayisMutableByteArrayPinnedisByteArrayPinnedshrinkMutableByteArraysizeofMutableByteArraysizeofByteArrayunsafeThawByteArrayunsafeFreezeByteArray thawByteArrayfreezeByteArraygetSizeofMutableByteArrayresizeMutableByteArraysameMutableByteArraymutableByteArrayContentsbyteArrayContentsnewAlignedPinnedByteArraynewPinnedByteArray newByteArray ByteArrayMutableByteArrayData.Primitive.TypesdefaultSetOffAddr#defaultSetByteArray# alignmentsizeOfPrim setOffAddr# writeOffAddr# readOffAddr# indexOffAddr#writeByteArray#readByteArray#indexByteArray# alignment# setByteArray#sizeOf# PrimStorablegetPrimStorableData.Primitive.SmallArrayshrinkSmallMutableArraysmallArrayFromListsmallArrayFromListNemptySmallArraycreateSmallArray runSmallArraymapSmallArray'traverseSmallArrayPsizeofSmallMutableArraysizeofSmallArraycopySmallMutableArraycopySmallArrayunsafeThawSmallArraythawSmallArrayunsafeFreezeSmallArrayfreezeSmallArraycloneSmallMutableArraycloneSmallArrayindexSmallArray##indexSmallArrayindexSmallArrayMwriteSmallArrayreadSmallArray newSmallArray SmallArraySmallMutableArrayData.Primitive.MutVar modifyMutVar' modifyMutVaratomicModifyMutVar'atomicModifyMutVar writeMutVar readMutVar newMutVarMutVarData.Primitive.Array arrayFromListarrayFromListN mapArray'traverseArrayP createArrayrunArray emptyArraycloneMutableArray cloneArraycopyMutableArray copyArraysameMutableArrayunsafeThawArray thawArrayunsafeFreezeArray freezeArray indexArrayM indexArray## indexArray writeArray readArraynewArraysizeofMutableArray sizeofArrayArrayarray# MutableArraymarray#Control.Monad.PrimitiveunsafeDupableInterleaveunsafeInterleave noDuplicateevalPrimtouchunsafeInlineSTunsafeInlineIOunsafeInlinePrimunsafeIOToPrimunsafeSTToPrimunsafePrimToIOunsafePrimToSTunsafePrimToPrimstToPrimioToPrimprimToSTprimToIO primToPrimliftPrim primitive_ PrimState PrimMonad primitivePrimBaseinternal MonadPrim MonadPrimBase