x3       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None)!"%&*,/0234569:;<=?BDFILNOQRT[\ k      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      None)!"%&*,/0234569:;<=?BDFILNOQRT[\Local statement key.None)!"%&*,/0234569:;<=?BDFILNOQRT[\<All settings encoded in a single byte-string according to  Mhttp://www.postgresql.org/docs/9.4/static/libpq-connect.html#LIBPQ-CONNSTRINGthe PostgreSQL format.bEncode a host, a port, a user, a password and a database into the PostgreSQL settings byte-string. None)!"%&*,/0234569:;<=?BDFILNOQRT[\-A Word32 and a LibPQ representation of an OIDA Postgresql type infoO !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklO !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklI !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl None)!"%&*,/0234569:;<=?BDFILNOQRT[\mnopqmnopmnopq None)!"%&*,/0234569:;<=?BDFILNOQRT[\r7Encoder of some representation of a parameters product.rstuvwxyrstuvwxrstuvwxy None)!"%&*,/0234569:;<=?BDFILNOQRT[\z{|}~z{|}~z{|}~ None)!"%&*,/0234569:;<=?BDFILNOQRT[\None)!"%&*,/0234569:;<=?BDFILNOQRT[\5Next value, decoded using the provided value decoder.5Next value, decoded using the provided value decoder.  None)!"%&*,/0234569:;<=?BDFILNOQRT[\:An error reported by the DB. Code, message, details, hint.gThe SQLSTATE code for the error. The SQLSTATE code identifies the type of error that has occurred; it can be used by front-end applications to perform specific operations (such as error handling) in response to a particular database error. For a list of the possible SQLSTATE codes, see Appendix A. This field is not localizable, and is always present.NThe primary human-readable error message (typically one line). Always present.rDetail: an optional secondary error message carrying more detail about the problem. Might run to multiple lines.Hint: an optional suggestion what to do about the problem. This is intended to differ from detail in that it offers advice (potentially inappropriate) rather than hard facts. Might run to multiple lines.bThe database returned an unexpected result. Indicates an improper statement or a schema mismatch.=An error of the row reader, preceded by the index of the row.An unexpected amount of rows. None)!"%&*,/0234569:;<=?BDFILNOQRT[\An error on the client-side, with a message generated by the "libpq" library. Usually indicates problems with the connection.Parse a single result.Fetch a single result.Fetch a single result.  None)!"%&*,/0234569:;<=?BDFILNOQRT[\None)!"%&*,/0234569:;<=?BDFILNOQRT[\None)!"%&*,/0234569:;<=?BDFILNOQRT[\None)!"%&*,/0234569:;<=?BDFILNOQRT[\None)!"%&*,/0234569:;<=?BDFILNOQRT[\4Possible details of the connection acquistion error.$A single connection to the database.\Acquire a connection using the provided settings encoded according to the PostgreSQL format.Release the connection. Execute an operation on the raw libpq .*The access to the connection is exclusive.None)!"%&*,/0234569:;<=?BDFILNOQRT[\'An abstraction over parametric queries.It is composable using the standard interfaces of the category theory, which it has instances of. E.g., here's how you can compose queries using the Arrow notation: =-- | -- Given an Update query, -- which uses the @fmap (> 0) @ decoder -- to detect, whether it had any effect, -- and an Insert query, -- produces a query which performs Upsert. composeUpsert :: Query a Bool -> Query a () -> Query a () composeUpsert update insert = proc params -> do updated <- update -< params if updated then # -< () else insert -< params None)!"%&*,/0234569:;<=?BDFILNOQRT[\/An error during the decoding of a specific row. JAppears on the attempt to parse more columns than there are in the result. "Appears on the attempt to parse a NULL as some value. IAppears when a wrong value parser is used. Comes with the error details. An error with a command result. VAn error reported by the DB. Consists of the following: Code, message, details, hint.Code>. The SQLSTATE code for the error. It's recommended to use  9http://hackage.haskell.org/package/postgresql-error-codes$the "postgresql-error-codes" package to work with those.MessageQ. The primary human-readable error message (typically one line). Always present.Detailsm. An optional secondary error message carrying more detail about the problem. Might run to multiple lines.Hint. An optional suggestion on what to do about the problem. This is intended to differ from detail in that it offers advice (potentially inappropriate) rather than hard facts. Might run to multiple lines.bThe database returned an unexpected result. Indicates an improper statement or a schema mismatch.=An error of the row reader, preceded by the index of the row.An unexpected amount of rows.(An error of some command in the session.{An error on the client-side, with a message generated by the "libpq" library. Usually indicates problems with connection.!Some error with a command result.JA batch of actions to be executed in the context of a database connection.8Executes a bunch of commands on the provided connection.~Possibly a multi-statement query, which however cannot be parameterized or prepared, nor can any results of it be collected.HParameters and a specification of the parametric query to apply them to.     None)!"%&*,/0234569:;<=?BDFILNOQRT[\    None)!"%&*,/0234569:;<=?BDFILNOQRT[\5A generic array encoder.Here's an example of its usage: bx :: Value [[Int64]] x = array (arrayDimension foldl' (arrayDimension foldl' (arrayValue int8))) Please note that the PostgreSQL IN keyword does not "accept" an array, but rather a syntactical list of values, thus this encoder is not suited for that. Use a **field** = ANY($1) query instead.RAn individual value encoder. Will be mapped to a single placeholder in the query.9Encoder of some representation of the parameters product.Has instances of ,  and mD, which you can use to compose multiple parameters together. E.g., someParamsEncoder :: + (Int64, Maybe Text) someParamsEncoder =   ( !) j   ( &) :As a general solution for tuples of any arity, instead of  and !, consider the functions of the  contrazipj family from the "contravariant-extras" package. E.g., here's how you can achieve the same as the above: someParamsEncoder :: + (Int64, Maybe Text) someParamsEncoder =  ( !) ( &) AHere's how you can implement encoders for custom composite types: vdata Person = Person { name :: Text, gender :: Gender, age :: Int } data Gender = Male | Female personParams ::  Person personParams =  name ( &) j  gender ( genderValue) j  (fromIntegral . age) ( !) genderValue ::  Gender genderValue =  genderText &h where genderText gender = case gender of Male -> "male" Female -> "female" Encode no parameters.9Lift an individual value encoder to a parameters encoder.BLift an individual nullable value encoder to a parameters encoder. Encoder of BOOL values. Encoder of INT2 values.  Encoder of INT4 values.! Encoder of INT8 values." Encoder of FLOAT4 values.# Encoder of FLOAT8 values.$ Encoder of NUMERIC values.% Encoder of CHARN values. Note that it supports UTF-8 values and identifies itself under the TEXT OID because of that.& Encoder of TEXT values.' Encoder of BYTEA values.( Encoder of DATE values.) Encoder of  TIMESTAMP values.* Encoder of  TIMESTAMPTZ values.+ Encoder of TIME values., Encoder of TIMETZ values.- Encoder of INTERVAL values.. Encoder of UUID values./ Encoder of INET values.0 Encoder of JSON values from JSON AST.1 Encoder of JSON values from raw JSON.2 Encoder of JSONB values from JSON AST.3 Encoder of JSONB values from raw JSON.4 Unlifts the  encoder to the plain  encoder.5xGiven a function, which maps the value into the textual enum label from the DB side, produces a encoder of that value.6Identifies the value with the PostgreSQL's "unknown" type, thus leaving it up to Postgres to infer the actual type of the value.dThe bytestring needs to be encoded according to the Postgres' binary format of the type it expects.VEssentially this is a low-level hook for encoding of values with custom codecs. The  4http://hackage.haskell.org/package/postgresql-binary"postgresql-binary". library will provide you with the toolchain.7 Lifts the  encoder into the ! encoder of a non-nullable value.8 Lifts the  encoder into the  encoder of a nullable value.9[An encoder of an array dimension, which thus provides support for multidimensional arrays.Accepts:7An implementation of the left-fold operation, such as Data.Foldable.Y$, which determines the input value.1A component encoder, which can be either another 9, 7 or 8.:Maps to 0.;Maps to ..<Maps to -.=Maps to ,.>Maps to +.?Maps to *.@Maps to ).AMaps to (.BMaps to '.CMaps to &.DMaps to %.EMaps to $.FMaps to #.GMaps to ".HMaps to !.IMaps to  .JMaps to .KMaps to .QMaps to .= !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ" !"#$%&'()*+,-./0123456789" !"#$%&'()*+,-./0123456789: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQNone)!"%&*,/0234569:;<=?BDFILNOQRT[\GX7Composable decoder of composite values (rows, records).YA generic array decoder.DHere's how you can use it to produce a specific array value decoder: 0x :: Value [[Text]] x = array (arrayDimension  (arrayDimension  (arrayValue text))) ZDecoder of an individual value.[LDecoder of an individual row, which gets composed of column value decoders.E.g.: gx :: Row (Maybe Int64, Text, TimeOfDay) x = (,,) <$> nullableValue int8 <*> value text <*> value time\Decoder of a query result.] Decode no value from the result.Useful for statements like INSERT or CREATE.^7Get the amount of rows affected by such statements as UPDATE or DELETE._!Exactly one row. Will raise the  error if it's any other.`Foldl multiple rows.aFoldr multiple rows.bMaybe one row or none.c)Zero or more rows packed into the vector.,It's recommended to prefer this function to d$, since it performs notably better.d'Zero or more rows packed into the list.eJLift an individual non-nullable value decoder to a composable row decoder.fFLift an individual nullable value decoder to a composable row decoder.gDecoder of the BOOL values.hDecoder of the INT2 values.iDecoder of the INT4 values.jDecoder of the INT8 values.kDecoder of the FLOAT4 values.lDecoder of the FLOAT8 values.mDecoder of the NUMERIC values.nDecoder of the CHAR- values. Note that it supports UTF-8 values.oDecoder of the TEXT values.pDecoder of the BYTEA values.qDecoder of the DATE values.rDecoder of the  TIMESTAMP values.sDecoder of the  TIMESTAMPTZ values.NOTICE4Postgres does not store the timezone information of  TIMESTAMPTZ. Instead it stores a UTC value and performs silent conversions to the currently set timezone, when dealt with in the text format. However this library bypasses the silent conversions and communicates with Postgres using the UTC values directly.tDecoder of the TIME values.uDecoder of the TIMETZ values.Unlike in case of  TIMESTAMPTZ5, Postgres does store the timezone information for TIMETZv. However the Haskell's "time" library does not contain any composite type, that fits the task, so we use a pair of  TimeOfDay and TimeZone- to represent a value on the Haskell's side.vDecoder of the INTERVAL values.wDecoder of the UUID values.xDecoder of the INET values.yDecoder of the JSON values into a JSON AST.zDecoder of the JSON values into a raw JSON .{Decoder of the JSONB values into a JSON AST.|Decoder of the JSONB values into a raw JSON .}+Lifts a custom value decoder function to a Z decoder.~ Lifts the Y decoder to the Z decoder. Lifts the X decoder to the Z decoder.A generic decoder of HSTORE values.8Here's how you can use it to construct a specific value: -x :: Value [(Text, Maybe Text)] x = hstore  NGiven a partial mapping from text to value, produces a decoder of that value._A function for parsing a dimension of an array. Provides support for multi-dimensional arrays.Accepts:An implementation of the  replicateM function (Control.Monad.,  Data.Vector.&), which determines the output value.9A decoder of its components, which can be either another ,  or .Lift a Z decoder into an Y1 decoder for parsing of non-nullable leaf values.Lift a Z decoder into an Y- decoder for parsing of nullable leaf values.Lift a Z decoder into a X1 decoder for parsing of non-nullable leaf values.Lift a Z decoder into a X- decoder for parsing of nullable leaf values.Maps to y.Maps to w.Maps to v.Maps to u.Maps to t.Maps to s.Maps to r.Maps to q.Maps to p.Maps to o.Maps to n.Maps to m.Maps to l.Maps to k.Maps to j.Maps to i.Maps to h.Maps to g.Maps to (fmap Identity (_ def).Maps to (d def).Maps to (c def).Maps to (b def).Maps to ^.Maps to ].OXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~/XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~/\]^_bcd`a[efZghijklmnopqrstuvwxyz{|~}YXJXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None)!"%&*,/0234569:;<=?BDFILNOQRT[\^A specification of a strictly single-statement query, which can be parameterized and prepared.Consists of the following: SQL template,params encoder,result decoder,2a flag, determining whether it should be prepared.The SQL template must be formatted according to Postgres' standard, with any non-ASCII characters of the template encoded using UTF-8. According to the format, parameters must be referred to using the positional notation, as in the following: $1, $2, $3G and etc. Those references must be used to refer to the values of the  encoder.^Following is an example of the declaration of a prepared statement with its associated codecs. selectSum :: Hasql.Query.0 (Int64, Int64) Int64 selectSum = Hasql.Query.Y sql encoder decoder True where sql = "select ($1 + $2)" encoder =   (Hasql.Encoders. Hasql.Encoders.) j   (Hasql.Encoders. Hasql.Encoders.%) decoder = Hasql.Decoders.  (Hasql.Decoders. Hasql.Decoders.) @The statement above accepts a product of two parameters of type {' and produces a single result of type {.None)!"%&*,/0234569:;<=?BDFILNOQRT[\!"#$%&'()*+,-./)01-23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst67uv9 wxyz{:;<=>?@ABCDEFGHIJKLMNO|P}~QUSTVWXYZ[\]^_`abcdefg             !"#$%&'()*+,-./0123456789:;<;=;>;?@A@B@C@D@EFGHGIJKJLMNOPQRSRTRURVRWRXRYRZR[R\R]R^R_R`RaRbRcdedfdgdhdijklmlnlolpqrstuvuwuxuyuzu{u|}~}}}uuuuuuuRRRRdlllllllllllllllllllllllllllll       !"#$%&%'%(%)%*%+%,%-%.%/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_^`^a^b^b^c^defghgigjgklmlnlopqprpsptuvuwuxuyuzu{u|u}u~ddddd      !"#$%&'()*+,-./0123456789:;<=>?>@>A>B>C>D>E>F>G>H>I>J>K>K>L>L>M>M>N>N>O>O>P>P>Q>Q>R>RSTUVWVXVYVZV[V\V]V^V_V`VaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzV{V|V}V~VVVVVVVVVVVVVVVVVVVVRRRRRRRRRRRRRRRR           !"#$%&'()*+,&-./012343536373839393:3;3<3=3>3?3@3ABCBDBEBFBGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghihjhkhlhmhnhohphqhrhshthuhvhwxyz{|}~;      !"#$%&'()*+,-./.0.1.23456789:;<=>?@;A;B;C;D;E;F;GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgfhfifjfkflfmfnfopqr stutvtwtxtytzt{t|t}t~33                                    ! " # $ % & ' ( ) *+,-+,.+,/+,0+,1+,2+,3+,456756856956:56;56;<=>?@ABCDEFGHIJKIJLIJMIJNIJOIJPQQRRSTU V W V X Y W Z [ \ ] ^ _  ; ` a C A b c d e D f > ? g K < h = i  j I L N k l m n o @ p q r s t u v w x y z { | } ~   B  G E F H       R J      7 7 3  s 8 8 3    : r 6 6 3  :  7 7 3  0*+,uu3./)0vv39oYU10-3tt3663$$(2678t67uvhasql-1-ACEhBkLoJ2xAoCzNnkhD2HHasql.Connection Hasql.Query Hasql.SessionHasql.EncodersHasql.DecodersHasql.Private.Prelude'Hasql.Private.PreparedStatementRegistryHasql.Private.SettingsHasql.Private.PTIHasql.Private.Encoders.ValueHasql.Private.Encoders.ParamsHasql.Private.Encoders.ArrayHasql.Private.Decoders.ValueHasql.Private.Decoders.RowHasql.Private.Decoders.ResultHasql.Private.Decoders.Results Hasql.Private.Decoders.CompositeHasql.Private.Decoders.ArrayHasql.Private.CommandsHasql.Private.IOHasql.Private.ConnectionHasql.Private.QueryDecoders.Results rowsAffectedHasql.Private.SessionUnexpectedAmountOfRows Control.Monad replicateM Data.Vectorvalueint8 singleRowSettingssettingsConnectionError ConnectionacquirereleasewithLibPQConnectionQueryRowError EndOfInputUnexpectedNull ValueError ResultError ServerErrorUnexpectedResultError ClientErrorSessionrunsqlqueryArrayValueParamsunit nullableValueboolint2int4float4float8numericchartextbyteadate timestamp timestamptztimetimetzintervaluuidinetjson jsonBytesjsonb jsonbBytesarrayenumunknown arrayValuearrayNullableValuearrayDimension$fDefaultValue$fDefaultValue0$fDefaultValue1$fDefaultValue2$fDefaultValue3$fDefaultValue4$fDefaultValue5$fDefaultValue6$fDefaultValue7$fDefaultValue8$fDefaultValue9$fDefaultValue10$fDefaultValue11$fDefaultValue12$fDefaultValue13$fDefaultValue14$fDefaultValue15$fDefaultValue16$fDefaultParams$fDefaultParams0$fDefaultParams1$fDefaultParams2$fDefaultParams3$fDefaultParams4$fContravariantParams$fDivisibleParams$fDecidableParams$fMonoidParams$fSemigroupParams$fContravariantValue CompositeRowResult foldlRows foldrRowsmaybeRow rowsVectorrowsListcustom compositehstorecompositeValuecompositeNullableValue $fDefaultRow $fDefaultRow0 $fDefaultRow1$fDefaultResult$fDefaultResult0$fDefaultResult1$fDefaultResult2$fDefaultResult3$fDefaultResult4$fFunctorResult $fFunctorRow$fApplicativeRow $fMonadRow$fFunctorValue$fFunctorArray$fFunctorComposite$fApplicativeComposite$fMonadComposite statement TextBuilderLazyTextByteStringBuilderLazyByteStringbugbottom forMToZero_ forMFromZero_ strictConsbaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip GHC.Stable newStablePtr System.IOprint Data.Tuplefstsnd otherwise GHC.MagiclazyGHC.IO.Exception assertErrorinlinemapGHC.Exts groupWith$GHC.Real fromIntegral realToFracguardData.Typeable.InternalmkAppTy Data.DynamictoDynjoinGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpred GHC.ClassesEq==/= GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1pexplog1mexp Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModMonadfailreturn>>=>> Data.DataDatagfoldlgunfoldtoConstr dataTypeOf dataCast1 dataCast2gmapTgmapQlgmapQrgmapQgmapQigmapMgmapMpgmapMoFunctorfmap<$GHC.NumNum*+-negate fromIntegerabssignumOrd>=minmax><<=compareGHC.ReadReadreadList readsPrecreadPrec readListPrecReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorGHC.ShowShow showsPrecshowshowListGHC.ArrIxrangeindexinRange rangeSizeTypeableControl.Monad.FixMonadFixmfix Data.StringIsString fromString Applicativepure<*>*><* Data.FoldableFoldabletoListfoldrlengthfoldMapnullfoldlfoldl'foldl1sumproductfoldr1maximumminimumelemfoldfoldr'Data.Traversable TraversablemapMsequencetraverse sequenceA GHC.GenericsGenericData.Semigroup Semigroup<>sconcatstimesMonoidmemptymappendmconcat GHC.TypesBoolFalseTrueCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerMaybeNothingJustOrderingLTEQGTRatioRational RealWorld StablePtrIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherLeftRightTypeRepTyContransformers-0.5.2.0Control.Monad.Trans.Class MonadTranslift MonadPlusmzeromplus=<<whenliftMliftM2liftM3liftM4liftM5ap Data.Functorvoid Data.FunctionfixmapM_forM_ sequence_msumforMfilterM>=><=<forever mapAndUnzipMzipWithM zipWithM_foldMfoldM_ replicateM_unless<$!>mfilterControl.Monad.IO.ClassMonadIOliftIObytestring-0.10.8.1Data.ByteString.Internal ByteString<$>String'hashable-1.2.6.1-BImGDn7vOUG6aLx2AeaDaoData.Hashable.ClassHashablehash hashWithSalt#text-1.2.2.2-KC7dWoG09dA1F6jKj5GSqhData.Text.InternalText Unsafe.Coerce unsafeCoerceGHC.ForeignPtr ForeignPtrGHC.IO.Handle.TypesHandleGHC.STST GHC.UnicodeisSpaceisAlphaisDigit Text.Readread Alternativeemptymany<|>someuntangle ioException heapOverflow stackOverflowallocationLimitExceededblockedIndefinitelyOnSTMblockedIndefinitelyOnMVarunsupportedOperationData.Functor.IdentityIdentity runIdentitydiffoption mtimesDefaultstimesIdempotentstimesIdempotentMonoid stimesMonoidcycle1MingetMinMaxgetMaxArgArgMinArgMaxFirstgetFirstLastgetLast WrappedMonoid WrapMonoid unwrapMonoidOption getOptionsortWith Text.PrintfhPrintfprintf Data.Fixed showFixedmod'divMod'div'FixedMkFixed HasResolution resolutionE0UniE1DeciE2CentiE3MilliE6MicroE9NanoE12Pico Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+ tyconModule tyconUQname isNorepType mkNoRepType mkCharConstr mkRealConstrmkIntegralConstr mkCharType mkFloatType mkIntTypemaxConstrIndex constrIndex indexConstr isAlgType readConstr showConstr constrFixity constrFieldsdataTypeConstrsmkConstr mkDataType repConstr constrRep constrType dataTypeRep dataTypeName fromConstrM fromConstrB fromConstrDataTypeConstrDataRepIntRepFloatRepAlgRepCharRepNoRep ConstrRep AlgConstr IntConstr FloatConstr CharConstrConIndexFixityPrefixInfix Data.Version makeVersion parseVersion showVersionVersion versionBranch versionTagsSystem.TimeouttimeoutSystem.Mem.StableName eqStableNamehashStableNamemakeStableName StableName System.Mem performGCperformMajorGCperformMinorGC System.Exitdie exitSuccess exitFailureexitWithSystem.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePath Data.Unique hashUnique newUniqueUnique Data.STRef modifySTRef' modifySTRef Data.RatioapproxRationalData.Bifunctor BifunctorfirstsecondbimapControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmaskforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.ChanwriteList2ChangetChanContents isEmptyChan unGetChandupChanreadChan writeChannewChanChan Debug.Trace traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowMtraceM traceShowId traceShowtraceIdtrace putTraceMsgtraceIO Data.ListisSubsequenceOffoldMapDefault fmapDefault mapAccumR mapAccumLforControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipList Control.ArrowleftApp^<<<<^>>^^>>returnAArrowarr***&&&Kleisli runKleisli ArrowZero zeroArrow ArrowPlus<+> ArrowChoice|||+++ ArrowApplyapp ArrowMonad ArrowLooploopControl.Category>>><<<Categoryid.readIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputChar GHC.IO.HandlehClose GHC.Conc.IO registerDelay threadDelay closeFdWithioManagerCapabilitiesChangedensureIOManagerIsRunningGHC.Conc.Signal runHandlers setHandlerSignal HandlerFunControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVarSystem.IO.Unsafe unsafeFixIOControl.ExceptionallowInterruptcatchesHandlerSystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustcatchPatternMatchFail RecSelError RecConError RecUpdError NoMethodError TypeErrorNonTerminationNestedAtomically readMaybe readEitherreads GHC.Conc.SyncgetUncaughtExceptionHandlersetUncaughtExceptionHandler reportErrorreportStackOverflow writeTVarreadTVar readTVarIO newTVarIOnewTVaralwaysalwaysSucceedscatchSTMthrowSTMorElseretry atomically unsafeIOToSTMmkWeakThreadIdthreadCapability threadStatus runSparksparpseq labelThreadyield myThreadIdthrowTo killThread childHandler numSparksgetNumProcessorssetNumCapabilitiesgetNumCapabilitiesnumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOdisableAllocationLimitenableAllocationLimitgetAllocationCountersetAllocationCounterThreadId BlockReason BlockedOnMVarBlockedOnBlackHoleBlockedOnException BlockedOnSTMBlockedOnForeignCallBlockedOnOther ThreadStatus ThreadRunningThreadFinished ThreadBlocked ThreadDiedSTMTVarioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededAssertionFailedSomeAsyncExceptionAsyncException StackOverflow HeapOverflow ThreadKilled UserInterruptArrayExceptionIndexOutOfBoundsUndefinedElementExitCode ExitSuccess ExitFailure IOErrorTypeEOF AlreadyExists NoSuchThing ResourceBusyResourceExhaustedIllegalOperationPermissionDenied UserErrorUnsatisfiedConstraints SystemError ProtocolError OtherErrorInvalidArgumentInappropriateType HardwareFaultUnsupportedOperation TimeExpiredResourceVanished InterruptedForeign.ForeignPtr.ImpmallocForeignPtrArray0mallocForeignPtrArraynewForeignPtrEnvwithForeignPtr newForeignPtrfinalizeForeignPtrcastForeignPtrtouchForeignPtrnewForeignPtr_addForeignPtrFinalizerEnvaddForeignPtrFinalizermallocForeignPtrBytesmallocForeignPtr FinalizerPtrFinalizerEnvPtr Foreign.Ptr intPtrToPtr ptrToIntPtr wordPtrToPtr ptrToWordPtrfreeHaskellFunPtrWordPtrIntPtrData.Functor.ConstConstgetConstForeign.StorableStorablesizeOf alignment peekElemOff pokeElemOff peekByteOff pokeByteOffpeekpokecastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr freeStablePtrfindnotElem minimumBy maximumByallanyorand concatMapconcatasum sequenceA_for_ traverse_foldlMfoldrM Data.MonoidDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductAltgetAltcastPtrToFunPtrcastFunPtrToPtr castFunPtr nullFunPtrminusPtralignPtrplusPtrcastPtrnullPtr Data.IORefatomicWriteIORefatomicModifyIORef'atomicModifyIORef modifyIORef' modifyIORef mkWeakIORef GHC.IORef writeIORef readIORefnewIORefIORefGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingState interruptiblethrowIOstToIOFilePath MaskingStateUnmaskedMaskedInterruptibleMaskedUninterruptible userError IOExceptionIOError ioe_handleioe_type ioe_locationioe_description ioe_errno ioe_filename dynTypeRepdynAppdynApply fromDynamicfromDynDynamic GHC.Exceptionthrow Exception toException fromExceptiondisplayException ErrorCallErrorCallWithLocationArithExceptionOverflow UnderflowLossOfPrecision DivideByZeroDenormalRatioZeroDenominator Data.Typeablegcast2gcast1gcasteqTcast rnfTypeRep showsTypeReptypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1typeOftypeRep typeRepArgs typeRepTyCon funResultTy splitTyConAppmkFunTy mkTyConApptypeRepFingerprintrnfTyConmkTyCon3tyConFingerprint tyConString tyConName tyConModule tyConPackage Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7NumericshowOctshowHex showIntAtBase showGFloatAlt showFFloatAlt showGFloat showFFloat showEFloatshowInt readSigned readFloatreadHexreadDecreadOctreadInt byteSwap64 byteSwap32 byteSwap16partitionEithersrightsleftseitherData.Type.Equality:~:Refl Data.ProxyProxy Data.OldListunwordswordsunlineslinesunfoldrsortOnsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEndData.Ord comparingDown Data.Char isSeparatorisNumberisMarkisLetter digitToInt lexDigits readLitChar lexLitCharlex readParenText.ParserCombinators.ReadPrec readS_to_Prec readPrec_to_S readP_to_Prec readPrec_to_PReadPrecText.ParserCombinators.ReadP readS_to_P readP_to_SReadSReadPfromRat floatToDigits showFloat Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBitsshiftRshiftL.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSigned unsafeShiftL unsafeShiftRrotateLrotateRpopCount FiniteBits finiteBitSizecountLeadingZeroscountTrailingZeros Data.Bool&on$>toTitletoUppertoLowerisLowerisUpperisPrint isControl isAlphaNumisSymbol isPunctuation isHexDigit isOctDigit isAsciiUpper isAsciiLowerisLatin1isAsciigeneralCategoryGeneralCategoryFormatControlUppercaseLetterLowercaseLetterTitlecaseLetterModifierLetter OtherLetterNonSpacingMarkSpacingCombiningMark EnclosingMark DecimalNumber LetterNumber OtherNumberConnectorPunctuationDashPunctuationOpenPunctuationClosePunctuation InitialQuote FinalQuoteOtherPunctuation MathSymbolCurrencySymbolModifierSymbol OtherSymbolSpace LineSeparatorParagraphSeparator Surrogate PrivateUse NotAssigned GHC.STRef writeSTRef readSTRefnewSTRefSTRefrunSTfixSTlcmgcd^^^oddeven showSigned denominator numerator%GHC.Charchr intToDigit showLitChar showParen showStringshowCharshowsShowSunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailunconshead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeswapuncurrycurrysubtractGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVar GHC.IO.UnsafeunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOasTypeOfuntil$!flipconstordliftA3liftA2liftA<**>GHC.Err undefinederrorWithoutStackTrace SomeException&&||notControl.Monad.Trans.MaybeMaybeT runMaybeT mapMaybeTmaybeToExceptTexceptToMaybeT liftCallCC liftCatch Control.Monad.Trans.State.Strict withStateT mapStateT execStateT evalStateT withStatemapState execState evalStaterunStateStateStateT runStateTControl.Monad.Trans.Reader withReaderT mapReaderT withReader mapReader runReaderReaderReaderT runReaderT mtl-2.2.1-BLKBelFsPB3BoFeSWSOYj6Control.Monad.Error.Class MonadError throwError catchError(contravariant-1.4-2ZEIQcIYz4Q4N5hzlLOWcg$Data.Functor.Contravariant.DivisiblechosenlostliftD conquereddivided Divisibledivideconquer DecidablechooseloseData.Functor.ContravariantcomparisonEquivalencedefaultEquivalencedefaultComparison>$$<>$<$<phantom Contravariant contramap>$ Predicate getPredicate Comparison getComparison EquivalencegetEquivalenceOpgetOp2contravariant-extras-0.3.3.1-CPFKCiiI8lFkICv5YdGlSContravariant.Extras contramanySuppliedContravariant.Extras.Contrazip contrazip2 contrazip3 contrazip4 contrazip5 contrazip6 contrazip7 contrazip8 contrazip9 contrazip10 contrazip11 contrazip12 contrazip13 contrazip14 contrazip15 contrazip16 contrazip17 contrazip18 contrazip19 contrazip20 contrazip21 contrazip22 contrazip23 contrazip24 contrazip25 contrazip26 contrazip27 contrazip28 contrazip29 contrazip30 contrazip31 contrazip32 contrazip33 contrazip34 contrazip35 contrazip36 contrazip37 contrazip38 contrazip39 contrazip40 contrazip41 contrazip420data-default-class-0.1.2.0-GsXqKN6o1X9jr0fF5qCVDData.Default.ClassDefaultdef$dlist-0.8.0.3-BHFBNaw8k6n9WiaUNzoXpk Data.DListDList%either-4.4.1.1-6xNrdcYaRi85G7z99dJ1jpControl.Monad.Trans.Either swapEitherTbracketEitherT_bracketEitherT hoistEither mapEitherT bimapEitherTrightlefteitherTEitherT runEitherTData.Either.Combinators swapEither eitherToError rightToMaybe leftToMaybe fromRightfromLeft unlessRight unlessLeft whenRightwhenLeftmapRightmapLeftmapBoth fromRight' fromLeft'isRightisLeft#loch-th-0.2.1-AlfMozdtyUtfKeBsBrgZJDebug.Trace.LocationTH checkTraceIO checkTracecheckIOcheckundeffailureassert __LOCATION__'placeholders-0.1-LDJrwU9ZofA2sH3wxupcG1Development.PlaceholdersplaceholderNoWarning placeholdertodonotImplementedPlaceholderException&vector-0.12.0.1-BtK5bVORdhu8bC6gqUfFYiVectorreaderasklocalasksstategetputmodifymodify'gets liftCallCC'(profunctors-5.2.1-CFr6KqqtvUeJo7vNQHItUIData.Profunctor.Unsafe Profunctor#.dimaplmaprmap.#LocalKeyPreparedStatementRegistrynewupdate$fHashableLocalKeyOIDPTI oidWord32oidPQptiOID ptiArrayOIDmkOIDmkPTIabstimeaclitemboxbpcharcidcidrcirclecstring daterange gtsvector int2vector int4range int8rangelinelsegmacaddrmoneynamenumrangeoid oidvectorpathpointpolygonrecord refcursorregclass regconfig regdictionaryregoper regoperatorregproc regprocedureregtypereltimetid tintervaltsquerytsrange tstzrangetsvector txid_snapshotvarbitvarcharxidxml unsafePTIrun'run'' dimensiondecoder decoderFn nonNullValueEnverrorcheckExecStatus serverErrorsinglevector getResultgetResultMaybeResults clientErrordropRemaindersCommandsasBytessetEncodersToUTF8setMinClientMessagesToWarning$fSemigroupCommandsacquireConnection acquirePreparedStatementRegistryreleaseConnectioncheckConnectionStatuscheckServerVersiongetIntegerDatetimesinitConnection getResultsgetPreparedStatementKey checkedSendsendPreparedParametricQuerysendUnpreparedParametricQuerysendParametricQuerysendNonparametricQuery/postgresql-libpq-0.9.3.1-2uyCt1bjp2BBNrJ77pyQ3o"Database.PostgreSQL.LibPQ.Internal$fProfunctorQuery$fFunctorQuery