9 1\      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ Safe-Inferred \]^_`abcdefgh]cdefgh \]^_`abcdefghNone  234M 77Data type holding all the snaplet's config information.9A libpq connection string.:RThe number of distinct sub-pools to maintain. The smallest acceptable value is 1.;hAmount of time for which an unused resource is kept open. The smallest acceptable value is 0.5 seconds.<YMaximum number of resources to keep open per stripe. The smallest acceptable value is 1.= Instantiate this typeclass on 'Handler b YourAppState' so this snaplet can find the connection source. If you need to have multiple instances of 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.@The state for the postgresql-simple snaplet. To use it in your app include this in your application state and use pgsInit to initialize it.CQReturns a config object with default values and the specified connection string.DSFunction that reserves a single connection for the duration of the given action.EPConvenience function for executing a function that needs a database connection.iPConvenience function for executing a function that needs a database connection.789:;<=>?@ABCCA connection string such as "host=localhost port=5432 dbname=mydb"DEi789:;<=>?@ABCDEi789:;<=>?@BACDEiNone  234M F)Produce a connection string from a configGInitialize the snapletH6Initialize the snaplet using a specific configuration.IBuilds a PGSConfig object from a configurator Config object. This function uses getConnectionString to construct the connection string. The rest of the PGSConfig fields are obtained from "numStripes", "idleTime", and "maxResourcesPerStripe".JSee jKSee kLSee lmlA convenience instance to make it easier to use functions written for this snaplet in non-snaplet contexts.naA 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) doDefault instancepFqrGHIsJKLMNOPQRSTUVWXYZmno[  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZa@BA=>?789:;<CIGHFDEJKMNOPQRSTULVWXYZ-21430/.'&%$#"!*)(   65,+ pFqrGHIsJKLMNOPQRSTUVWXYZmnopNonetJDatatype containing the names of the columns for the authentication table.[9Initializer for the postgres backend to the auth snaplet.u*Create the user table if it doesn't exist.v#Default authentication table layoutwGList of deconstructors so it's easier to extract column names from an t.)txyz{|}~[Lens to the session snapletThe postgres snapletuvw[[txyz{|}~[uvw     !"#$%&'' ()*)+),)-).)/)0)0)1)2)3454678797:7:7;7;7<7<7=7=>>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoPQRpqrstfuvwxyvz{|}~snaplet-postgresql-simple-0.6Snap.Snaplet.PostgresqlSimple+Snap.Snaplet.Auth.Backends.PostgresqlSimplePaths_snaplet_postgresql_simple&Snap.Snaplet.PostgresqlSimple.Internalpostgresql-simple-0.3.8.0Database.PostgreSQL.Simple fmtParamsfmtQuery fmtMessage FormatError"Database.PostgreSQL.Simple.FromRowfieldfromRow$Database.PostgreSQL.Simple.FromField errMessageerrHaskellType errSQLType ResultError&Database.PostgreSQL.Simple.Transaction beginMode beginLevelbegincommitrollbackdefaultReadWriteModedefaultIsolationLeveldefaultTransactionModeDefaultIsolationLevel ReadCommittedRepeatableRead SerializableIsolationLevelDefaultReadWriteMode ReadWriteReadOnly ReadWriteMode readWriteModeisolationLevelTransactionModeFromRow#Database.PostgreSQL.Simple.InternaldefaultConnectInfo sqlErrorHintsqlErrorDetail sqlErrorMsg sqlExecStatussqlStateSqlErrorqeQuery qeMessage QueryError Database.PostgreSQL.Simple.ToRowtoRowToRow Database.PostgreSQL.Simple.TypesQueryfromOnlyOnlyInBinary:. PGSConfig pgsConnStr pgsNumStripes pgsIdleTime pgsResources HasPostgresgetPostgresStatesetLocalPostgresStatePostgres PostgresConn PostgresPoolpgsDefaultConfigwithPGliftPGgetConnectionStringpgsInitpgsInit' mkPGSConfigqueryquery_ returningfoldfoldWithOptionsfold_foldWithOptions_forEachforEach_executeexecute_ executeManywithTransactionwithTransactionLevelwithTransactionMode formatMany formatQueryinitPostgresAuthcatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameliftPG'$fHasPostgresReaderT$fHasPostgresReaderT0$fHasPostgresHandler++ description initHelper AuthTablecreateTableIfMissing defAuthTablecolDeftblNamecolIdcolLogincolEmail colPasswordcolActivatedAtcolSuspendedAtcolRememberToken colLoginCountcolFailedLoginCountcolLockedOutUntilcolCurrentLoginAtcolLastLoginAtcolCurrentLoginIpcolLastLoginIp colCreatedAt colUpdatedAt colResetTokencolResetRequestedAt rolesTablePostgresAuthManagerpamTablepamConnbuildUid querySingle authExecutefDesc saveQuery onFailure!$fIAuthBackendPostgresAuthManager$fToFieldPassword$fFromRowAuthUser$fFromFieldPassword$fFromFieldUserId