|jg      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       Just to avoid a dependency.    A saver that bunches writes.   Monad for ACID event handlers. <ACID computations that work with any state and event types.    Enable queueing. KA saver that operates on files. The parameter is the prefix for the files. !A saver that discards all output 4Dispatches over the Saver type provided to return a  for the inferred  type. IDispatches over the Saver type provided to return a WriterStream for the  inferred type.     GSubHandlers is used to build up the set of components corresponding to  the instance type. !*In order to be used as a part of Happstack's MACID state, a data type C needs to be an instance of Component. The minimal definition is H an initialValue and the type corresponding to the set of Dependencies. F Note that the SubHandlers condition will be automatically met if the  Dependencies is built from 32 and 10 with other instances of  Component and Methods "#$%State type -> all versions &State type -> method map '()KClass for enumerating the set of defined methods by the type of the state. 5 Instances should not be defined directly, but using  mkMethods *+AMethod is the actual type that all Updates and Querys eventually  get lifted into via  mkMethods. ,-./0AType level Cons for enumerating type dependencies of a Component 12Equivalent of []9 for type level lists. Used for Components that have no  dependencies 34Displays the type of a Method 5678+An error is thrown when this is evaluated. KThis is the instance that completes the definition of :+: and End as being J the constructors of a type level list in SubHandlers. Note that since b S needs to be an instance of SubHandlers, the list needs to be terminated with End. $In correspondence with its role as [] in the type level list, > the instance for End does not add any components to the set.  !"#$%&'()*+,-./0123456782301/.+-,4)*'(&%!"#$ 5678 !"#$"#$%&'(()**+-,,-./01123345678(9GThis function will derive, for the provided type name and the provided L list of methods, an instance of Methods for the given type and necessary Q instance of UpdateEvent and QueryEvent to make the provided list of functions  into Methods. M This TH splice needs to be executed for any MACID state type in order to 9 have the necessary code for event handling generated.  Ex:  $(mkMethods ''Foo [' fooUpdate,fooQuery]) @Ignoring EqualP predicates, returns all names associated with a  context predicate      999 :;<3Use a proxy to force the type of an update action. =1Forces the type of the proxy and update to match >1Use a proxy to force the type of a query action. ?,Forces the type of proxy and query to match @Currying version of <. ACurrying version of >. BSpecialized version of  CSpecialized version of  DSpecialized version of . ELift an STM action into Ev. F"Select a part of the environment. GQRun a computation with local state. Changes to state will be visible to outside. H$Run a computation with local state. I,Execute a Query action in the Update monad. :;<=>?@ABCDEFGHI:;;<=>?@ABCDEFGHI JGet a random number. K&Get a random number inside the range. LAInfer updating functions for a record. Given a data declaration  of *data Foo = Foo {bar :: String, baz :: Int} then $(inferRecordUpdaters ''Foo)  will define functions a_bar :: String -> Foo -> Foo, *withBar :: Update String a -> Update Foo a, 2 etc. that can be used as convenience updaters. 3Create a list of selection functions for a record. 0Create a list of update functions for a record. Return field names Simple definition JKLJKL^MNOPQRSTUVWXYZSaver given by the user. [\Types of each component used. ](Map listing all versions of a component ^_9Stores exclusive prefix lock (implemented in filesystem) `abcdefghijklmnopqrstuvwxyz{|}~OSchedule an update and wait for it to complete. When this function returns, you're + guaranteed the update will be persistent. ,Emit a state query and wait for the result. ^MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~^MNOPQRSTU}~yz{|wxuvtsqropmnlikjhgcdefbaXYZ[\]^_`VW^MNOPQRSSTUUVWWXYZ[\]^_`YZ[\]^_`abcdefdefghikjjklmnnoppqrrstuvvwxxyz{|z{|}~~5Load state from disk and re-run any needed events to : fully restore the state. The returned function enables  event logging.  !"#$%6Load a map from component types to serialized states. &'3Creates a checkpoint using the provided TxControl. M This checkpoint may be used as a safe state with which to start the system, N e.g. one may delete all the serialized events that took place after the last A checkpoint and start the application fresh from the checkpoint. H Calling this function manually is the only way to create checkpoints. ''()*1Given a Saver and a Proxy, createTxControl will ; initialize a TxControl. This does not actually start the  state system. +-Saves the state and closes the serialization KRun the MACID system without multimaster support and with the given Saver. , Shuts down a transaction system ,,-./012345PStarts the MACID system without replication support. Uses the default behavior 0 of saving the state into the _local directory. DReturns the default Saver. It will save the application state into  the _local directory. Wait for a signal. B On unix, a signal is sigINT or sigTERM. On windows, the signal  is entering e. 6789r:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLOPQXyz{|-X <=>?@ABCDE:;FGHIQOPyz{|JKL\       !"#$%&'()*++,-./01234456789::;;<=>?@A B C D E F G H I J K L M N O P Q R S TUVWXYZZ[[\\]]^_`abcdefgghijklmnoppqqrrstuuvvwwxyzz{|}~K                  7        !"#$%&'()*+,-.,-/,01,02,03,04,05,06,07,08,09,0:,0;,0<,0=,0>,0?,0@,0A,0B,0C,0D,0E,0F,0G,HI,HJ,HK,HL,HL,MN,MO,HP,HQRhappstack-state-0.5.0.3Happstack.State.SaverHappstack.StateHappstack.State.ComponentSystemHappstack.State.ComponentTHHappstack.State.TransactionHappstack.State.ControlHappstack.State.Saver.TypesHappstack.State.Saver.Impl.File!Happstack.State.Saver.Impl.Memory Happstack.State.Saver.Impl.QueueHappstack.State.TypesHappstack.State.MonadHappstack.State.UtilHappstack.State.CheckpointHappstack.State.TxControl WriterStream writerClose writerAddwriterAtomicReplace writerCut ReaderStream readerClose readerGetreaderGetUncut PrefixLockUpdateQueryEvAnyEv EpochMilliTxId unsafeIOToEvSaverMemoryQueue FileSaver NullSaver createReader createWriter obtainLock releaseLockCollect Collection SubHandlers subHandlers Component Dependencies initialValueonLoadComponentVersions ComponentTree MethodMapMethodsmethodsMethod QueryEvent UpdateEvent:+:End methodTypeaddItemcollectHandlerscollectHandlers'dup mkMethodsCatchEvcatchEv setUpdateType proxyUpdate setQueryType proxyQueryasUpdateasQueryaskStategetStateputStateliftSTMsel localStatelocalStateReaderrunQuery getRandom getRandomRinferRecordUpdaters ExceptionTlogMTgetTimegetEventClockTime getEventIdGetCheckpointStateSetCheckpointState EventLogEntry TxControlctlSaver ctlEventSaverctlAllComponentsctlComponentVersions ctlChildren ctlPrefixLockctlCreateCheckpoint EvLoaders EvLoaders'TxRuntxProcessQueuetxLastTxContext ProcessQueue EventQueueResErrorOk RunHandlerHRIHREventEHRunnerGetState SetNewState EventItem eventContext eventData EmitInternalEventMap EventHandler QueryHandler UpdateHandler TypeStringemitRefemitFunc emitEvent' emitEventsetNewEventMapeventStreamRefinitEventStream pushEventItemgetEventStreamcreateEventMap extraEvents allStateTypescomponentVersions componentIOcreateNewTxRunsetNewStateType getStateType setNewState setNewState'updatequery quickQuery'setEvLoadersQueuerunObjectEventrunObjectEventFunc runColdEventrunColdEventFunclookupEventHandler eventTString handleEvent handleQuery handleUpdate checkDiff getEpochMilli newTxContextaddTxIdglobalRandomGen runTxLoop runTxSystemcreateCheckpointshutdownSystemstartSystemStatestartSystemStateAmazonstdSaverwaitForTerminationprocessLoggingFlagstryEcatchEcatchIOlogMFformatFilePath fileReaderparseAll fileWriter getAllFilesatomicWriteFileobtainPrefixLockreleasePrefixLockStorenewMemoryStore memoryReader memoryWriter addToStoresetStoreChEncodedItemAddClose queueReader queueWriternewChwriteChgetChsUsingXmlunXmlShadowunShadowunEv TxContexttxIdtxRandtxTimetxStdGenEnv evRandoms evContextintegralRandomR unsafeSTMToEv unsafeIOToSTM$fSubHandlers:+:$fSubHandlersEnd MethodInfo methodName methodKeys methodContext methodArgs methodClassmethodEv methodResultCtxElemCtxElemQnubCxtmkKeyConstraintsmkMethodConstraintssubstMethodContextmkTypegenSerializeInstancesgenComponentHandlersgenEventInstancesgenEventInstancemkCtxtgenMethodStructsgenMethodStruct upperName upperFirstgetMethodInfos getMethodInfoshowInfogetTypes getTypes' getStateKeys getPredKeys isMonadState isMonadReaderisMonadX isRelevantisAcceptableContextrequireSimpleConconv mtl-1.1.1.0Control.Monad.Reader.ClassaskControl.Monad.State.ClassgetputdecToSimpleRecord nameToDecselFunsupdFuns fieldNamessdefState stateVersion stateCutofflogMC restoreState loadState loadEvents withReader withWriter readState writeStateloadCheckpointssaveCheckpointsApplicationNamelogMMcreateTxControlcloseTxControlrunTxSystemAmazonFlag LogTargetLogLevelTargetSysLogStdOutFile NullLoggersetLoggingSettingsoptions readTarget castOptionshappstack-data-0.5.0.3Happstack.Data.SerializeTHderiveSerializeForderiveSerializeHappstack.Data.SerializemkObject parseObjectdeserializeObjectcollectVersions deserialize serializesafeGetsafePut getSafePut getSafeGet extensioncontain Contained Primitive VersionedModemodeVersionputCopygetCopy Serialize objectTypeObjectHappstack.Data.Proxy asProxyTypeunProxyproxyProxyHappstack.Data.MigratemigrateMigrate constr[anaO]dataType[anaN]