uV٩      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None)!"%&*,/0234569:;<=?BDFILNOQRT[\       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE None)!"%&*,/0234569:;<=?BDFILNOQRT[\FGHIJFGHIJFGHIJNone)!"%&*,/0234569:;<=?BDFILNOQRT[\K5Next value, decoded using the provided value decoder.L5Next value, decoded using the provided value decoder. MNOPQRSTUVKL MNOPQRSTUVKLMNOPQRSTUVKL None)!"%&*,/0234569:;<=?BDFILNOQRT[\W: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.XbThe database returned an unexpected result. Indicates an improper statement or a schema mismatch.Y=An error of the row reader, preceded by the index of the row.ZAn unexpected amount of rows.[WXYZ\]^_`abcdefg[YWXZ\]^_`abcdefg [WXYZ\]^_`abcdefg None)!"%&*,/0234569:;<=?BDFILNOQRT[\hAn error on the client-side, with a message generated by the "libpq" library. Usually indicates problems with the connection.iParse a single result.jFetch a single result.kFetch a single result. lhmnopqijkr lmhnopqijkrlhmnopqijkr None)!"%&*,/0234569:;<=?BDFILNOQRT[\stuvwxstuvwxstuvwx None)!"%&*,/0234569:;<=?BDFILNOQRT[\yz{|}yz{|}yz{|} None)!"%&*,/0234569:;<=?BDFILNOQRT[\~-A Word32 and a LibPQ representation of an OIDA Postgresql type infoO~O~I~None)!"%&*,/0234569:;<=?BDFILNOQRT[\None)!"%&*,/0234569:;<=?BDFILNOQRT[\7Encoder of some representation of a parameters product.None)!"%&*,/0234569:;<=?BDFILNOQRT[\None)!"%&*,/0234569:;<=?BDFILNOQRT[\4A generic array encoder.Here's an example of its usage: bx :: Value [[Int64]] x = array (arrayDimension foldl' (arrayDimension foldl' (arrayValue int8)))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 k, ^ and iD, which you can use to compose multiple parameters together. E.g., someParamsEncoder :: + (Int64, Maybe Text) someParamsEncoder = l  (  ) f l  ( ) :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 = l name ( ) f l gender ( genderValue) f l (fromIntegral . age) (  ) genderValue ::  Gender genderValue = l 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 JSON values from JSON AST. Encoder of JSON values from raw JSON. Encoder of JSONB values from JSON AST. Encoder of JSONB values from raw JSON. Unlifts the  encoder to the plain  encoder.xGiven a function, which maps the value into the textual enum label from the DB side, produces a encoder of that value.Identifies 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. Lifts the  encoder into the ! encoder of a non-nullable value. Lifts the  encoder into the  encoder of a nullable value. [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.U$, which determines the input value.1A component encoder, which can be either another  ,  or .!Maps to ."Maps to .#Maps to .$Maps to .%Maps to .&Maps to .'Maps to .(Maps to .)Maps to .*Maps to .+Maps to  .,Maps to  .-Maps to  ..Maps to  ./Maps to  .0Maps to .1Maps to .2Maps to .8Maps to .<  !"#$%&'()*+,-./012345678!  !  9  !"#$%&'()*+,-./012345678None)!"%&*,/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[\None)!"%&*,/0234569:;<=?BDFILNOQRT[\Local statement key.None)!"%&*,/0234569:;<=?BDFILNOQRT[\None)!"%&*,/0234569:;<=?BDFILNOQRT[\A4Possible details of the connection acquistion error.B$A single connection to the database.C\Acquire a connection using the provided settings encoded according to the PostgreSQL format.DRelease the connection.ABCDABCDABCDNone)!"%&*,/0234569:;<=?BDFILNOQRT[\?@ABCDBACD?@None)!"%&*,/0234569:;<=?BDFILNOQRT[\E'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 EEENone)!"%&*,/0234569:;<=?BDFILNOQRT[\F/An error during the decoding of a specific row.GJAppears on the attempt to parse more columns than there are in the result.H"Appears on the attempt to parse a NULL as some value.IIAppears when a wrong value parser is used. Comes with the error details.JAn error with a command result.KVAn 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.LbThe database returned an unexpected result. Indicates an improper statement or a schema mismatch.M=An error of the row reader, preceded by the index of the row.NAn unexpected amount of rows.O(An error of some command in the session.P{An error on the client-side, with a message generated by the "libpq" library. Usually indicates problems with connection.Q!Some error with a command result.RJA batch of actions to be executed in the context of a database connection.S8Executes a bunch of commands on the provided connection.T~Possibly a multi-statement query, which however cannot be parameterized or prepared, nor can any results of it be collected.UHParameters and a specification of the parametric query to apply them to.FGHIJKLMNOPQRSTUFGHIJMKLNOQPRSTUFGHIJKLMNOPQRSTUNone)!"%&*,/0234569:;<=?BDFILNOQRT[\FGHIJMKLNOQPRSTURTUOPQJKLMNFGHISNone)!"%&*,/0234569:;<=?BDFILNOQRT[\FV7Composable decoder of composite values (rows, records).WA generic array decoder.DHere's how you can use it to produce a specific array value decoder: 0x :: Value [[Text]] x = array (arrayDimension q (arrayDimension q (arrayValue text))) XDecoder of an individual value.YLDecoder 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 timeZDecoder 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._Foldr multiple rows.`Maybe one row or none.a)Zero or more rows packed into the vector.,It's recommended to prefer this function to b$, since it performs notably better.b'Zero or more rows packed into the list.cJLift an individual non-nullable value decoder to a composable row decoder.dFLift an individual nullable value decoder to a composable row decoder.eDecoder of the BOOL values.fDecoder of the INT2 values.gDecoder of the INT4 values.hDecoder of the INT8 values.iDecoder of the FLOAT4 values.jDecoder of the FLOAT8 values.kDecoder of the NUMERIC values.lDecoder of the CHAR- values. Note that it supports UTF-8 values.mDecoder of the TEXT values.nDecoder of the BYTEA values.oDecoder of the DATE values.pDecoder of the  TIMESTAMP values.qDecoder 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.rDecoder of the TIME values.sDecoder 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  and - to represent a value on the Haskell's side.tDecoder of the INTERVAL values.uDecoder of the UUID values.vDecoder of the JSON values into a JSON AST.wDecoder of the JSON values into a raw JSON .xDecoder of the JSONB values into a JSON AST.yDecoder of the JSONB values into a raw JSON .z+Lifts a custom value decoder function to a X decoder.{ Lifts the W decoder to the X decoder.| Lifts the V decoder to the X 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 q ~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 X decoder into an W1 decoder for parsing of non-nullable leaf values.Lift a X decoder into an W- decoder for parsing of nullable leaf values.Lift a X decoder into a V1 decoder for parsing of non-nullable leaf values.Lift a X decoder into a V- decoder for parsing of nullable leaf values.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 f.Maps to e.Maps to (fmap Identity (] def).Maps to (b def).Maps to (a def).Maps to (` def).Maps to \.Maps to [.NVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.Z[\]`ab^_YcdXefghijklmnopqrstuvwxy{|}~zWVIVWXYZ[\]^_`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.E0 (Int64, Int64) Int64 selectSum = Hasql.Query.Y sql encoder decoder True where sql = "select ($1 + $2)" encoder = l  (Hasql.Encoders. Hasql.Encoders.) f l  (Hasql.Encoders. Hasql.Encoders.%) decoder = Hasql.Decoders.  (Hasql.Decoders. Hasql.Decoders.) @The statement above accepts a product of two parameters of type w' and produces a single result of type w.EE !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkelminopqr!"st$ uvwxy%&'()*+,-./0123456789z:{|;?=>}~@ABCDEFGHIJKLMNOPQ             !"#$%&'()*+,-./012345678797:7;<=<><?<@<ABCDCEFGFHIJKLMNONPNQNRNSNTNUNVNWNXNYNZN[N\N]N^N_`a`b`c`d`efghihjhkhlmnopqrqsqtquqvqwqxyzy{y|y}~qqqqqqqhhhhhhhhhhhhhhhhhhhhhhhhhhhhh      !"#$%&'()*+,-./012131415151617898:8;8<8=8>8?8@8ABCDEFGFHFIFJKLKMKNOPOQOROSTUTVTWXYXZ[\]^]_]`]abcbdefegeheiejekelemeneoepqrqsqtquvwvxvyvz{|{}{~{{{{{{``````      !"#$%&'()**++,,--..//0011234565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5`5a5b5c5d5e5f5g5h5i5j5k5l5m5m5n5nopqrrssttuuvvwwxyz{|}~NNNNNNNNNNNNNNNNNNNN      !"#$%&'()*+,-./0123456578989:;:<:=:>:?:@: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:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:rstsusuvwvxvyvzv{|}~7777777      !"#$%& '()(*(+(,(-(.(/(0(1(2343536789:;<=>?@ABCDEFGHIJIKLLMNOPQRSTRSURSVRSWRSXRSYRSZRS[RS&\]^\]_\]`\]a\bc\bd\be\bf\bg\bh\bi\bj\bk\bl\bm\bn\bo\bp\bq\br\bs\bt\bt\bu\]v\]w\]x\]y\]z\]{\]|\]|\]}\~\~           !"#$%&'(')*+*+*,*-*.*/*0*1*2*3*4*5676768696:6;6<6=6>6?6@6A6B6CDEDEDFDGDHDIDJDKDLDMDNDODPQRSTSUSVSWSXSYSZS[S\]^]^]_]`]a]a]b]c]d]e]f]g]h]i]j]klmlnlolplqlrlsltluvwvxvyz{|z{}z{~z{z{z{\\\\\\\\""olfghsso j k e  l t t o $    #   P R m    l i   o   ! ! o    r r o                &   . ,     /  ) *   '  (    4 6 8      +                  -  2 0 1 3       < 5     ""o]##o%\!!o%!"#adnr!"st$hasql-0.19.13-4Cyqo7WNYTvIdfJETbmHwOHasql.EncodersHasql.Connection Hasql.Query Hasql.SessionHasql.Decoders Hasql.PreludeHasql.Decoders.ValueHasql.Decoders.RowHasql.Decoders.ResultHasql.Decoders.ResultsHasql.Decoders.ArrayHasql.Decoders.Composite Hasql.PTIHasql.Encoders.ValueHasql.Encoders.ParamsHasql.Encoders.ArrayHasql.SettingsHasql.Commands'Hasql.Private.PreparedStatementRegistryHasql.Private.IOHasql.Private.ConnectionHasql.Private.QueryDecoders.Results rowsAffectedHasql.Private.SessionUnexpectedAmountOfRows Control.Monad replicateM Data.Vectorvalueint8 singleRowArrayValueParamsunit nullableValueboolint2int4float4float8numericchartextbyteadate timestamp timestamptztimetimetzintervaluuidjson 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$fContravariantValueSettingssettingsConnectionError ConnectionacquirereleaseQueryRowError EndOfInputUnexpectedNull ValueError ResultError ServerErrorUnexpectedResultError ClientErrorSessionrunsqlquery 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 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 toIntegerquotremdivmodquotRemdivModMonadfail>>=>>return Data.DataDatagfoldlgunfoldtoConstr dataTypeOf dataCast1 dataCast2gmapTgmapQlgmapQrgmapQgmapQigmapMgmapMpgmapMoFunctorfmap<$GHC.NumNum*+-negate fromIntegerabssignumOrd>=minmax><<=compareGHC.ReadRead readsPrecreadListreadPrec readListPrecReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorGHC.ShowShow showsPrecshowshowListGHC.ArrIxrangeindexinRange rangeSizeTypeableControl.Monad.FixMonadFixmfix Data.StringIsString fromString Applicativepure<*>*><* Data.FoldableFoldablefoldltoListfoldrlengthfoldMapnullfoldl'foldl1sumproductfoldr1maximumminimumelemfoldfoldr'Data.Traversable TraversabletraversemapM sequenceAsequence GHC.GenericsGenericData.Semigroup Semigroup<>sconcatstimesMonoidmemptymappendmconcat GHC.TypesBoolFalseTrueCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerMaybeNothingJustOrderingLTEQGTRatioRational RealWorldIOWordGHC.WordWord8Word16Word32Word64 Data.EitherEitherLeftRightTypeRepTyConbytestring-0.10.8.1Data.ByteString.Internal ByteString)scientific-0.3.4.9-JxsEP2U97KeHjUTI8Fv24jData.Scientific Scientific Data.Functor<$>#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.Text.InternalText time-1.6.0.1Data.Time.Clock.UTCUTCTimeutctDay utctDayTimeGHC.IO.Handle.TypesHandleGHC.STST GHC.UnicodeisSpaceisAlphaisDigit Text.ReadreadString Alternativemanyempty<|>some MonadPlusmzeromplusuntangle 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.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePathSystem.TimeouttimeoutSystem.Mem.StableName eqStableNamehashStableNamemakeStableName StableName System.Mem performGCperformMajorGCperformMinorGC System.Exitdie exitSuccess exitFailureexitWith Data.Unique hashUnique newUniqueUnique Data.STRef modifySTRef' modifySTRef Data.RatioapproxRationalData.Bifunctor BifunctorfirstsecondbimapControl.Monad.IO.ClassMonadIOliftIOControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmaskforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.ChanwriteList2ChangetChanContents isEmptyChan unGetChandupChanreadChan writeChannewChanChan Debug.Trace traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowtraceIdtrace putTraceMsgtraceIOmfilter<$!>unless replicateM_foldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMfoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.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 InterruptedData.Functor.ConstConstgetConstForeign.StorableStorablefindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrM Data.MonoidDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductAltgetAlt 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.OldListunwordswordsunlineslinesunfoldrsortBysort 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.FunctiononfixvoidtoTitletoUppertoLowerisLowerisUpperisPrint 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'initlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeswapuncurrycurrysubtractGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVar GHC.IO.UnsafeunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOasTypeOfuntil$!flipconstordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA2liftA<**>GHC.Err undefinederrorWithoutStackTrace SomeException Unsafe.Coerce unsafeCoerce&&||not+base-prelude-1.0.1.1-50PByGWQp6O3J1SglYyZmP BasePreludesortOnunconsisSubsequenceOf&$> traceShowMtraceM traceShowIdtransformers-0.5.2.0Control.Monad.Trans.Readerreaderasklocalasks Control.Monad.Trans.State.Strictstategetputmodifymodify'gets liftCallCC' withStateT mapStateT execStateT evalStateT withStatemapState execState evalStaterunStateStateStateT runStateT withReaderT mapReaderT withReader mapReader runReaderReaderReaderT runReaderTControl.Monad.Trans.Class MonadTranslift(contravariant-1.4-DzaLxukcYo81MHO5zSdeeP$Data.Functor.Contravariant.DivisiblechosenlostliftD conquereddivided Divisibledivideconquer DecidablechooseloseData.Functor.ContravariantcomparisonEquivalencedefaultEquivalencedefaultComparison>$$<>$<$<phantom Contravariant contramap>$ Predicate getPredicate Comparison getComparison EquivalencegetEquivalenceOpgetOp1contravariant-extras-0.3.2-EvT0XZwUis3E5KHdDYejzAContravariant.Extras contramanyContravariant.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 contrazip421data-default-class-0.1.2.0-FYQpjIylblBDctdkHAFeXAData.Default.ClassDefaultdef dlist-0.8-IY6Gi27F7jk42Of820imHH Data.DListDList%either-4.4.1.1-4AnQwcGbz6MEY7avZ4GNMxControl.Monad.Trans.Either swapEitherTbracketEitherT_bracketEitherT hoistEither mapEitherT bimapEitherTrightlefteitherTEitherT runEitherTData.Either.Combinators swapEither eitherToError rightToMaybe leftToMaybe fromRightfromLeft unlessRight unlessLeft whenRightwhenLeftmapRightmapLeftmapBoth fromRight' fromLeft'isRightisLeft'hashable-1.2.4.0-Ctl752zbguF6QanxurLOm2Data.Hashable.ClassHashablehash hashWithSalt$loch-th-0.2.1-HeAYtId6vjrGaOk8hiaVQfDebug.Trace.LocationTH checkTraceIO checkTracecheckIOcheckundeffailureassert __LOCATION__ mtl-2.2.1-6qsR1PHUy5lL47Hpoa4jCMControl.Monad.Error.Class MonadError throwError catchError'placeholders-0.1-Jaw2KlzCEKg3F0WJS0H8eoDevelopment.PlaceholdersplaceholderNoWarning placeholdertodonotImplementedPlaceholderException&vector-0.11.0.0-6uB77qGCxR6GPLxI2sqsX3Vector'uuid-types-1.0.3-GqEQc4tvP0z5VPPkSZJlrZData.UUID.Types.InternalUUIDData.Time.Clock.ScaleDiffTime UniversalTime ModJulianDategetModJulianDatesecondsToDiffTimepicosecondsToDiffTimediffTimeToPicosecondsData.Time.Calendar.DaysDayModifiedJulianDaytoModifiedJulianDayaddDaysdiffDaysNominalDiffTimeData.Time.Calendar.PrivateNumericPadOptionData.Time.Clock.POSIXgetCurrentTimeData.Time.Clock.UTCDiff addUTCTime diffUTCTimeData.Time.LocalTime.TimeZoneTimeZonetimeZoneMinutestimeZoneSummerOnly timeZoneNameminutesToTimeZonehoursToTimeZonetimeZoneOffsetString'timeZoneOffsetStringutc getTimeZonegetCurrentTimeZoneData.Time.LocalTime.TimeOfDay TimeOfDaytodHourtodMintodSecmidnightmiddaymakeTimeOfDayValidutcToLocalTimeOfDaylocalToUTCTimeOfDaytimeToTimeOfDaytimeOfDayToTimedayFractionToTimeOfDaytimeOfDayToDayFractionData.Time.Format.Locale TimeLocalewDaysmonthsamPm dateTimeFmtdateFmttimeFmt time12FmtknownTimeZonesdefaultTimeLocaleiso8601DateFormatrfc822DateFormatData.Time.Calendar.OrdinalDate isLeapYearData.Time.Calendar.Gregorian toGregorian fromGregorianfromGregorianValid showGregoriangregorianMonthLengthaddGregorianMonthsClipaddGregorianMonthsRollOveraddGregorianYearsClipaddGregorianYearsRollOverData.Time.LocalTime.LocalTime ZonedTimezonedTimeToLocalTime zonedTimeZone LocalTimelocalDaylocalTimeOfDayutcToLocalTimelocalTimeToUTCut1ToLocalTimelocalTimeToUT1utcToZonedTimezonedTimeToUTC getZonedTimeutcToLocalZonedTimeData.Time.Format.Parse ParseTime buildTime parseTimeMparseTimeOrError readSTime readPTime parseTimereadTime readsTimeData.Time.Format FormatTimeformatCharacter formatTime&profunctors-5.2-LKNUVgHZrZeF6OSV63bAZXData.Profunctor.Unsafe Profunctor#.dimaplmaprmap.#Control.Monad.Trans.Maybe liftCatch liftCallCCexceptToMaybeTmaybeToExceptT mapMaybeTMaybeT runMaybeTdecoder decoderFn nonNullValueEnverrorcheckExecStatus serverErrorsinglevector getResultgetResultMaybeResults clientErrordropRemainders dimensionOIDPTI oidWord32oidPQptiOID ptiArrayOIDmkOIDmkPTIabstimeaclitemboxbpcharcidcidrcirclecstring daterange gtsvectorinet int2vector int4range int8rangelinelsegmacaddrmoneynamenumrangeoid oidvectorpathpointpolygonrecord refcursorregclass regconfig regdictionaryregoper regoperatorregproc regprocedureregtypereltimetid tintervaltsquerytsrange tstzrangetsvector txid_snapshotvarbitvarcharxidxml unsafePTIrun'run''CommandsasBytessetEncodersToUTF8setMinClientMessagesToWarning$fSemigroupCommandsLocalKeyPreparedStatementRegistrynewupdate$fHashableLocalKeyacquireConnection acquirePreparedStatementRegistryreleaseConnectioncheckConnectionStatuscheckServerVersiongetIntegerDatetimesinitConnection getResultsgetPreparedStatementKey checkedSendsendPreparedParametricQuerysendUnpreparedParametricQuerysendParametricQuerysendNonparametricQuery$fProfunctorQuery$fFunctorQuery