(= T      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS Safe-Inferred TUVWXYZ[\]^UZ[\]^ TUVWXYZ[\]^None 7Instantiate this typeclass on 'Handler b YourAppState' so this snaplet L can find the connection source. If you need to have multiple instances of 3 the postgres snaplet in your application, then don't provide this instance , and leverage the default instance by using " with dbLens" in front of calls ) to snaplet-postgresql-simple functions. 9CThe state for the postgresql-simple snaplet. To use it in your app J include this in your application state and use pgsInit to initialize it. ;,Function for retrieving the connection pool _EConvenience function allowing easy collection of config file errors. <Initialize the snaplet `DConvenience function for executing a function that needs a database  connection. =See a >See b ?See c dFA convenience instance to make it easier to use functions written for ' this snaplet in non-snaplet contexts. eDA convenience instance to make it easier to use this snaplet in the  Initializer monad like this: " d <- nestSnaplet "db" db pgsInit > count <- liftIO $ runReaderT (execute "INSERT ..." params) d fDefault instance !789:;_<`=>?@ABCDEFGHIJKLMNOPQRdefS  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRY9:;78<=>@ABCDEFGH?IJKLMNOPQR*)('&%$-21430/. #"!   65,+789:;_<`=>?@ABCDEFGHIJKLMNOPQRdefNonegKDatatype containing the names of the columns for the authentication table. S:Initializer for the postgres backend to the auth snaplet. h!Create the user table if it doesn' t exist. i$Default authentication table layout jList of deconstructors so it')s easier to extract column names from an  g. )gklmnopqrstuvwxyz{|}~SLens to the session snaplet The postgres snaplet hijSSgklmnopqrstuvwxyz{|}~Shij      !"#"$"%"&"'"'"(")"*"+","-"."/"0"0121345464747484849494:4:;<==>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc@ABdefghijgklmnopqrstuvwxyz{|}~!snaplet-postgresql-simple-0.3.0.1Snap.Snaplet.PostgresqlSimple+Snap.Snaplet.Auth.Backends.PostgresqlSimplePaths_snaplet_postgresql_simplepostgresql-simple-0.2.4.1Database.PostgreSQL.SimpledefaultReadWriteModedefaultIsolationLeveldefaultTransactionMode fmtParamsfmtQuery fmtMessage FormatErrorDefaultIsolationLevel ReadCommittedRepeatableRead SerializableIsolationLevelDefaultReadWriteMode ReadWriteReadOnly ReadWriteMode readWriteModeisolationLevelTransactionMode"Database.PostgreSQL.Simple.FromRowfieldfromRowFromRow$Database.PostgreSQL.Simple.FromField errMessageerrHaskellType errSQLType ResultError#Database.PostgreSQL.Simple.InternaldefaultConnectInfo sqlErrorMsgsqlNativeErrorsqlStateSqlErrorqeQuery qeMessage QueryErrorconnectDatabaseconnectPassword connectUser connectPort connectHost ConnectInfo Database.PostgreSQL.Simple.ToRowtoRowToRow Database.PostgreSQL.Simple.TypesQueryfromOnlyOnlyInBinary:. HasPostgresgetPostgresStatePostgrespgPoolpgsInitqueryquery_ returningfoldfoldWithOptionsfold_foldWithOptions_forEachforEach_executeexecute_ executeManybegin beginLevel beginModerollbackcommitwithTransactionwithTransactionLevelwithTransactionMode formatMany formatQueryinitPostgresAuthcatchIOversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileNamelogErrwithPG$fHasPostgresReaderT$fHasPostgresReaderT0$fHasPostgresHandler AuthTablecreateTableIfMissing defAuthTablecolDeftblNamecolIdcolLogincolEmail colPasswordcolActivatedAtcolSuspendedAtcolRememberToken colLoginCountcolFailedLoginCountcolLockedOutUntilcolCurrentLoginAtcolLastLoginAtcolCurrentLoginIpcolLastLoginIp colCreatedAt colUpdatedAt colResetTokencolResetRequestedAt rolesTablePostgresAuthManagerpamTable pamConnPoolbuildUid querySingle authExecutefDesc saveQuery onFailure!$fIAuthBackendPostgresAuthManager$fToFieldPassword$fFromRowAuthUser$fFromFieldPassword$fFromFieldUserId