!:x(8      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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 r s t u v w x y z { | } ~                                          !"#$%&'()*+,-./01234567Safem&89:;<=>?None,EXm@ronInstancelABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@0None_m$ronData block descriptorron"Does the descriptor refer to an op  Nonem(ron adapter to ron Variant of  with a more debuggable message.ronFApply parser and check it is applied successfully. Kinda opposite to E.>3None$m)q4 !"#$%&'()*+,-./0123456789:;<=>?A@BCDEFGHIJKLMN4+,$%&'()* !"BCDEF#-./012345GHI;<=>?A@6789:KJMNLNone@AMagkm1 lronb& smart constructor dropping upper bits}rona& smart constructor dropping upper bits~ron_& smart constructor dropping upper bitsron~ specialized for ron^& smart constructor dropping upper bitsron specialized for ron]& smart constructor dropping upper bitsron specialized for ron\& smart constructor dropping upper bitsron specialized for ron\" smart constructor checking domain2Z[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2bhijkgfedlamnopqrstuvwxyz{|c}_`~^]\Z[None_am@]ronBase64 alphabetron/Check if a character is in the Base64 alphabet.ron*Convert a Base64 letter to a number [0-63]ron;Convert a subset [0-F] of Base64 letters to a number [0-15]ron"Decode a blob from a Base64 stringron+Decode a 60-bit number from a Base64 stringron+Decode a 60-bit number from a Base32 stringron+Decode a 64-bit number from a Base64 stringron+Decode a 64-bit number from a Base32 stringron Encode a blob to a Base64 stringron0Convert a number from [0..63] to a single letterron0Convert a number from [0..15] to a single letterron)Encode a 60-bit number to a Base64 stringronCEncode a 60-bit number to a Base64 string, dropping trailing zeroesronCEncode a 64-bit number to a Base32 string, dropping trailing zeroesron)Encode a 64-bit number to a Base64 stringNone "#$%279XgmLDronUUID split in partsron)Universally unique identifier of anythingronUUID with all zero fieldsronSplit UUID into partsronBuild UUID from partsron'Build former 64 bits of UUID from partsron'Build latter 64 bits of UUID from partsron#Make an unscoped (unqualified) nameronMake a scoped (qualified) nameronConvert UUID to a nameronUUID with all zero fieldsronIncrement field  of a UUIDron Encode a UUID to a Base32 stringron"Decode a UUID from a Base32 stringronRON-Text-encodingronname, max 10 Base64 lettersronscope, max 10 Base64 lettersron!local name, max 10 Base64 lettersron (scope, name) for a scoped name;  (name, "") for a global nameNone$279_mVron8Specific field or item in an object, identified by UUID.ron&Reference to an object inside a frame.ron"Frame containing only state chunksronCReduced chunk representing an object state (i. e. high-level value)ronA pair of (type, object)ron Op terminatorron Common frameron Common chunkronCommon reduced chunkron$ Reduced  op (op from reduced chunk)ronevent id (usually timestamp)ron;reference to other op; actual semantics depends on the typeronpayloadronRaw oprontyperon object idron7other keys and payload, that are common with reduced opronAtom  a payload element..None"#$_`m]Q %ronSerialize a frameronSerialize a chunkronSerialize a raw opronSerialize a reduced opron Serialize a ronEncode descriptorron(Prepend serialized bytes with descriptor&ron Serialize an ronSerialize a float atomronSerialize a reduced chunk'ronSerialize a string atomronbody%&'%&' None "#PX_`amkron for descriptorron for extended length field(ron Parse frameron for frameron for chunk sequenceronClear upper bit of ron for a chunkronAssert that is such as expectedron for a sequence of reduced opsron< for raw op, returning the op's terminator along with the opron@ for reduced op, returning the op's terminator along with the opron for raw op without terminatorron" for reduced op without terminatorron2 for an op key (type, object, event, or reference)ron for UUIDron" for a payload (sequence of atoms)ron for an atom)ron Parse an ron for a float atomron for an integer atomron for an string*ronParse a string atomronexpected input lengthronexpected input lengthronexpected input lengthronexpected input lengthronexpected input length()*()*Nonemk^%((% None"#$_agm,ronGet current replica id-ronGet sequential timestamps.Laws:  ) t <- getEvents n (t !! i) == head t + i  t1 <- N t2 <- N t2 >= t1 + 1 getEvents 0 == getEvents 1.ron"Make local time not less than this/ron1Epoch-based Lamport time event, specific case of 3.1ron4Calendar-based Lamport time event, specific case of 3.3ron'Generic Lamport time event. Cannot be b because we can't compare different types of clocks. If you want comparable events, use specific /.5ronReplica identifier7ronReplica id assignment style<ronEClock type is encoded in 2 higher bits of variety, value in uuidValue>ron +https://en.wikipedia.org/wiki/Logical_clockAronMRFC 4122 epoch, hundreds of nanoseconds since 1582. Year range is 1582 5235.BronCalendar format. See  (https://github.com/gritzko/ron/issues/191. Year range is 2010 2350. Precision is 100 ns.Mron. variant for any UUIDNronGet a single eventOronGet a single event as UUIDPronGet event sequence as UUIDsSron%Make a calendar timestamp from a dateTron4Make a calendar timestamp from a date and a day timeUronHMake a calendar timestamp from a date, a day time, and a second fractionVronMake an ;! replica id from arbitrary number-ronnumber of needed timestampsSron(date as (year, month [1..12], day [1..])Tron(date as (year, month [1..12], day [1..])ron%day time as (hours, minutes, seconds)Uron(date as (year, month [1..12], day [1..])ron%day time as (hours, minutes, seconds)ron/fraction of a second in hundreds of nanosecond,+,.-/0123456789:;<?=>@ABCHDEFGIJKLMNOPQRSTUV,BCHDEFGI12/0A34<?=>@789:;+,.-56MVRQJKNOPSTUL NoneM_moron+ReplicaSim inside Lamport clock simulation.qron!Lamport clock simulation. Key is 53. Non-present value is equivalent to (0, initial).rronExecute network simulationUsage: runNetworkSim $ do t r1 $ do actions... t r2 $ do actions... t r1 $ ... Each rX starts its own networks. One shouldn't use in one network events generated in another.nopqrstupqnorstu NoneMm#ronNReal epoch clock. Uses kind of global variable to ensure strict monotonicity.ronRun $ action with explicit time variable.ronLike 6, but initialize time variable with current wall time.ronGet current time in AB format (with 100 ns resolution). Monotonicity is not guaranteed.ron?Convert unix time in hundreds of milliseconds to RFC 4122 time.ron?Convert unix time in hundreds of milliseconds to RFC 4122 time.ron.Decode date and time from UUID epoch timestampNone "#SX_gkmrontInstances of this class are encoded as objects. An enclosing object's payload will be filled with this object's id.ronUUID of the typeron Encode dataron Decode dataron4Instances of this class are encoded as payload only.ron Encode dataron Decode dataronBase class for typed encodingronInstances SHOULD implement  either as  or as ron~Untyped-reducible types. Untyped means if this type is a container then the types of data contained in it is not considered.ronUUID of the typeronLoad a state from a state chunkronStore a state to a state chunkron&Merge a state with patches and raw opsronCMerge patches and raw ops into bigger patches or throw obsolete opsronUnapplied patches and raw opsron:Reduce all chunks of specific type and object in the frameron=Encode typed data to a payload with possible addition objectsronoDecode typed data from a payload. The implementation may use other objects in the frame to resolve references.ronStandard implementation of  for  types.ronStandard implementation of  for  types.ronEHelper to build an object frame using arbitrarily nested serializers.5      !"#None"#mronDVersion Vector type. May be used both in typed and untyped contexts.$ron/Name-UUID to use as Version Vector type marker.None "#$>M_gm ronSpeciaization of  to %1. This is the recommended way to store a string.ron Typed RGA&ron@the key is the parent event, the value is a non-empty VertexList'ron=the key is the target event, the value is the tombstone eventron Untyped RGA(ronopEvent = vertex id opRef: 0 = value is alive, _ = tombstone event, value is backup for undo opPayload: the valueron$Name-UUID to use as RGA type marker.ronCReplace content of the RGA throug introducing changes detected by ).ronSpeciaization of  for <ronCreate an RGA from a listron Create an  from a textronRead elements from RGAronRead characters from   None"#>XgmI ron2Type-directing wrapper for typed OR-Set of objectsron8Type-directing wrapper for typed OR-Set of atomic valuesrongUntyped OR-Set. Implementation: a map from the last change (creation or deletion) to the original op.*ron'Name-UUID to use as OR-Set type marker.+ron'XXX Internal. Common implementation of  and .ronAdd atomic value to the OR-Setron+Add a reference to the object to the OR-Setron8Encode an object and add a reference to it to the OR-Setron&Remove an atomic value from the OR-Setron*Remove an object reference from the OR-Set  None "#>MXkmron(Untyped LWW. Implementation: a map from  to the original op.,ron/Last-Write-Wins: select an op with latter eventron$Name-UUID to use as LWW type marker.ron.Create LWW object from a list of named fields.ronDecode field valueronDecode field valueronAssign a value to a fieldron/Anti-lens to an object inside a specified fieldron Field nameronLWW object chunkron Field nameron Field nameronValue (from untyped world)ron Field nameronNested object modifier None "#$X_`gkmronAReduce object with frame from another version of the same object.None_m8ronRON-Schema type for None$_mɞ-None"#$_m5ron&Generate Haskell types from RON-Schema.ronType-directing newtype6 !"#$%&'()*+,-./0123456789:;<=>?A@BCDEFGHIJKLMNNone "#%X_gmron.Serialize UUID without context (used for test)ron Serialize UUID in op key contextron)Serialize UUID in op value (atom) contextron(same key in the previous op (default is )ron(previous key of the same op (default is )ronthisronpreviousronthisNone"#$_agm* ronSerialize a common frameron%Serialize a sequence of common frames/ronSerialize a common chunk0ronSerialize a reduced chunkronSerialize a context-free raw op1ron5Serialize a raw op with compression in stream context2ron9Serialize a reduced op with compression in stream contextronSerialize a context-free atom3ron=Serialize an atom with compression for UUID in stream contextronSerialize a string atom4ron%Serialize a payload in stream contextronSerialize a state frameronESerialize an object. Return object id that must be stored separately.2ronenclosing object4ronprevious UUID (default is )None"#$_`amronParse a common frame5ron%Returns a chunk and the last op in it6ron8Returns a chunk and the last op (converted to raw) in itron!Parse a sequence of common framesronParse a single context-free opron Parse a single context-free UUIDronParse a UUID in key positionron%Parse a UUID in value (atom) positionron Parse an atomronParse a string atom7ronReturn  and  chunkIsQueryronParse a state frameron Parse a state frame as an object8ron)Extract object states from a common frameron(same key in the previous op (default is )ron(previous key of the same op (default is )ronprevious  NonemNone $>PX_kmronIResult of DB reading, loaded document with information about its versionsron Merged value.9ronrA thing (e.g. document) was fixed during loading. It it was fixed during loading it must be saved to the storage.ronStorage backend interface ron Must return [] for non-existent collection ron Must return [] for non-existent document ron0Must create collection and document if not existron[A type that intended to be put in a separate collection must define a Collection instance.ronCalled when RON parser fails.ronCollection (directory name)ronODocument identifier (directory name), should be a RON-Base32-encoded RON-UUID.ron'Document version identifier (file name)ron Try decode UUID from a file nameron"Load document version as an objectronLoad all versions of a document:ronValidation-like version of sconcat.ron7Load document, apply changes and put it back to storage;ronaCreate new version of an object/document. If the document doesn't exist yet, it will be created.ron.Create document assuming it doesn't exist yet.ron+Bool = is document id a valid UUID encoding;ron, if document exists already;  otherwise.          None$/MX_kmE"#"#None $/=?@AMSXkm*ronThe handler is called as onDocumentChanged docid , where docid is the changed document id.,ron+Storage handle (uses the Handle pattern ).-ronEnvironment is the dataDir.ronRun a - action/ronCreate new storage handle!     *+,-./0,*+/0-.< !" !# !$ !%&'()*+,-./0123456789:;<=>??@ABCCDEFGHIJJKLMNNOPQQRSTUVWXYZ[\]^_Z`a^Ubacdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789: ; < = > ? @ A B B C C D D E E F G H I J K L M N O P Q 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 r s t u v w x y z { | } ~                           9:<=      !"#$%&'()*++,-./0123456789:;<=>?@ AB AC DEFGH IJ DK DL DM DN DO DP DQ DR DS DT DU DV DW DX DY Z[ Z\ Z] Z^ Z_ Z` Za Zb Zc Zd Ze Zf Zg Zh Zi Zj Zk lm ln lo lp lq rs rt ru rv rw rx ry rz r{ r| r} r~ r r r r r r r r r r   D D           r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r rFF           F   D D D D D D D D  I I I I I I I I I I I I I I l l l l l l                    Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z! Z" Z# Z$ Z% r& r' r( r) r* r+ r, r- r. r/ r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r: r; r< r= r> r? r@ A B C D E F G H H I  J K L M N N O PQ PR PS PT U V W X Y Z [ \ ]^ ]_ ]_ ]` ]` ab ac ad e f g hi hj hk hl hm hn ho hp hq Ar As At Du Dv Dw Dx Dy Dz D{ D| D} D~ D D D D D D D@;                   F   !"##$%&''()*+,-./01234567F89:;<=>?@ABCDEFGHIJKLMNOron-0.4-BmjBfyPI95M8UjBLdTbv8P RON.Util.Word RON.Data.TimeRON.Binary.Types RON.Schema RON.Base64RON.UUID RON.TypesRON.Binary.SerializeRON.Binary.Parse RON.EventRON.Event.Simulation RON.EpochRON.DataRON.Data.VersionVector RON.Data.RGARON.Data.ORSet RON.Data.LWW RON.Schema.THRON.Text.Serialize.UUIDRON.Text.SerializeRON.Text.Parse RON.StorageRON.Storage.TestRON.Storage.IO Data.ZigZagRON.Internal.PreludeAttoparsec.Extra RON.BinaryRON.Data.InternalRON.Schema.EDNRON.TextbaseGHC.WordWord8Word16Word32Word64 time-1.8.0.2Data.Time.Calendar.DaysDayDescDOpRaw DOpReduced DOpHeaderDOpQueryHeader DUuidType DUuidObject DUuidEventDUuidRef DAtomUuidZipDUuidZipObject DUuidZipEvent DUuidZipRef DAtomUuid DAtomInteger DAtomString DAtomFloatSizedescIsOp $fEnumDesc$fEqDesc $fShowDescOpaqueopaqueIsObject opaqueNameopaqueAnnotationsOpaqueAnnotations oaHaskellTypeSchema DeclarationDEnumDOpaque DStructLwwField fieldType CaseTransform TitleCaseStructAnnotationssaHaskellFieldPrefixsaHaskellFieldCaseTransform StructLww structName structFieldsstructAnnotationsTObjectTORSetTRga TStructLwwTVersionVectorTEnumEnumenumName enumItems TCompositeTOptionRonTypeTAtomTOpaque TAIntegerTAStringdefaultStructAnnotationsdefaultOpaqueAnnotations opaqueObject opaqueAtoms opaqueAtoms_ $fShowTAtom $fShowTEnum$fShowCaseTransform$fShowStructAnnotations$fShowOpaqueAnnotations $fShowOpaque $fShowRonType $fShowTObject$fShowStructLww $fShowField$fShowTCompositeSafeCastsafeCastWord60Word24Word12Word6W6Word4Word2B0000B11B10B01B00b00b01b10b11leastSignificant2b0000b0001b0010b0011b0100b0101b0110b0111b1000b1001b1010b1011b1100b1101b1110b1111leastSignificant4leastSignificant6ls6leastSignificant12ls12leastSignificant24ls24leastSignificant60ls60toWord60 word60add$fHashableWord60$fBoundedWord60$fSafeCastWord64Fixed$fSafeCastWord64Integer$fSafeCastWord60Word64$fSafeCastWord24Word32$fSafeCastWord24Word64$fSafeCastWord12Word64$fSafeCastWord8Word64$fSafeCastWord8Word32$fSafeCastWord6Word64$fSafeCastWord6Word60$fSafeCastWord6Word8$fSafeCastWord6Int$fSafeCastWord4Word8$fSafeCastWord4Word64$fSafeCastWord4Int$fSafeCastWord2Word64$fSafeCastWord2Word8$fSafeCastWord2Word4$fSafeCastWord2Int $fEqWord2 $fOrdWord2 $fShowWord2 $fEqWord4 $fOrdWord4 $fShowWord4 $fEqWord6 $fOrdWord6 $fShowWord6 $fEqWord12 $fOrdWord12 $fShowWord12 $fEqWord24 $fOrdWord24 $fShowWord24 $fEnumWord60 $fEqWord60 $fOrdWord60 $fShowWord60alphabetisLetter decodeLetter decodeLetter4decodedecode60decode60base32decode64decode64base32encode encodeLetter encodeLetter4encode60 encode60shortencode64base32shortencode64 UuidFields uuidVariety uuidValue uuidVariant uuidVersion uuidOriginUUIDZerosplitbuildbuildXbuildYmkName mkScopedNamegetNamezero succValue encodeBase32 decodeBase32 $fShowUUID $fDataUUID$fEqUUID $fGenericUUID$fHashableUUID $fOrdUUID$fEqUuidFields$fShowUuidFields ObjectPart partObject partLocation partFrameObjectobjectId objectFrame StateFrame StateChunk stateVersion stateBodyObjectIdOpTermTRawTReducedTHeaderTQuery WireFrame WireChunkRawValueQueryWireReducedChunk wrcHeaderwrcBodyOpopEventopRef opPayloadRawOpopTypeopObjectopAtomAFloatAIntegerAStringAUuid $fShowRawOp $fDataAtom$fEqAtom $fGenericAtom$fHashableAtom $fShowAtom$fDataOp$fEqOp $fGenericOp $fHashableOp$fShowOp $fDataRawOp $fEqRawOp$fGenericRawOp$fDataWireReducedChunk$fEqWireReducedChunk$fGenericWireReducedChunk$fShowWireReducedChunk$fDataWireChunk $fEqWireChunk$fGenericWireChunk$fShowWireChunk $fEqOpTerm $fShowOpTerm$fEqStateChunk$fShowStateChunk $fEqObject $fShowObject serialize serializeAtomserializeStringparse parseAtom parseString ReplicaClockgetPid getEventsadvance EpochEvent CalendarEventEvent ReplicaIdNaming TrieForked CryptoForked RecordForkedApplicationSpecific LocalTime TCalendarTLogicalTEpochTUnknown EpochTime CalendarTimemonthsdayshoursminutessecondsnanosecHundredsfromCalendarEventfromEpochEvent toEpochEvent advanceToUuidgetEvent getEventUuid getEventUuids encodeEvent decodeEventmkCalendarDatemkCalendarDateTimemkCalendarDateTimeNanoapplicationSpecific$fHashableNaming$fHashableReplicaId$fOrdCalendarEvent$fOrdEpochEvent$fReplicaClockStateT$fReplicaClockExceptT$fEqCalendarTime$fOrdCalendarTime$fShowCalendarTime $fEqLocalTime$fShowLocalTime$fBoundedNaming $fEnumNaming $fEqNaming $fShowNaming $fEqReplicaId$fShowReplicaId $fEqEvent $fShowEvent$fEqCalendarEvent$fShowCalendarEvent$fEqEpochEvent$fShowEpochEvent ReplicaSim ReplicaSimT NetworkSim NetworkSimT runNetworkSimrunNetworkSimT runReplicaSimrunReplicaSimT$fMonadTransNetworkSimT$fReplicaClockReplicaSimT$fMonadTransReplicaSimT$fApplicativeNetworkSimT$fFunctorNetworkSimT$fMonadNetworkSimT$fApplicativeReplicaSimT$fFunctorReplicaSimT$fMonadReplicaSimT EpochClock runEpochClockrunEpochClockFromCurrentTimegetCurrentEpochTimelocalEpochTimeFromUnix$fReplicaClockEpochClock$fApplicativeEpochClock$fFunctorEpochClock$fMonadEpochClock$fMonadIOEpochClockReplicatedAsObject objectOpType newObject getObjectReplicatedAsPayload toPayload fromPayload Replicatedencoding ReduciblereducibleOpTypestateFromChunk stateToChunk applyPatchesreduceUnappliedPatches mkStateChunknewRonfromRonobjectEncodingpayloadEncoding VersionVector!$fReplicatedAsObjectVersionVector$fReplicatedVersionVector$fReducibleVersionVector$fMonoidVersionVector$fSemigroupVersionVector$fHashableVersionVector$fEqVersionVector$fShowVersionVector RgaStringRGARgaRawrgaTypeediteditText newFromList newFromTextgetListgetText$fSemigroupVertexList$fReducibleRgaRaw$fMonoidPatchSet$fSemigroupPatchSet$fReplicatedAsObjectRGA$fReplicatedRGA$fEqVertexListItem$fShowVertexListItem$fEqVertexList$fShowVertexList $fEqRgaRaw$fMonoidRgaRaw$fSemigroupRgaRaw $fShowRgaRaw $fEqPatchSet$fShowPatchSet$fEqRGA ObjectORSetORSetORSetRawaddValueaddRef addNewRef removeValue removeRef$fSemigroupSetItem$fReducibleORSetRaw$fMonoidORSetRaw$fSemigroupORSetRaw$fReplicatedAsObjectORSet$fReplicatedORSet$fReplicatedAsObjectObjectORSet$fReplicatedObjectORSet $fEqSetItem $fShowSetItem $fEqORSetRaw$fShowORSetRaw LwwPerFieldlwwType viewField readField assignField zoomField$fReducibleLwwPerField$fSemigroupLwwPerField$fEqLwwPerField$fMonoidLwwPerField$fShowLwwPerFieldreduceWireFramereduceStateFrame reduceObjectday$fReplicatedAsPayloadDay$fReplicatedDay mkReplicated mkReplicated' serializeUuidserializeUuidKeyserializeUuidAtomserializeWireFrameserializeWireFramesserializeRawOpserializeStateFrameserializeObjectparseWireFrameparseWireFramesparseOp parseUuid parseUuidKey parseUuidAtomparseStateFrame parseObjectDocumentvalueversions isTouched MonadStoragegetCollections getDocumentsgetDocumentVersionssaveVersionContentloadVersionContent deleteVersion changeDocId CollectioncollectionName fallbackParseCollectionNameDocId DocVersion decodeDocId readVersion loadDocumentmodifycreateDocument docIdFromUuid $fShowDocId $fEqDocId $fOrdDocId$fShowIsTouched$fShowDocumentTestDB runStorageSim$fMonadStorageStorageSim$fApplicativeStorageSim$fFunctorStorageSim$fMonadStorageSim$fMonadErrorStorageSim$fReplicaClockStorageSimOnDocumentChangedHandleStorage runStorage newHandlesetOnDocumentChanged$fMonadStorageStorage$fReplicaClockStorage$fApplicativeStorage$fFunctorStorage$fMonadStorage$fMonadErrorStorage$fMonadIOStoragezzEncodezzEncodeIntegerzzDecode zzDecode8 zzDecode16 zzDecode32 zzDecode64zzDecodeIntegerI Data.TuplefstsndGHC.Base$ghc-primGHC.Primcoerce Control.MonadguardjoinMonad>>=>>returnfailFunctorfmap<$ Applicativepure<*>*><*liftA2 Data.FoldableFoldabletoListfoldrlengthfoldMapnullfoldlfoldl'foldl1sumproductfoldr1maximumminimumelemfoldfoldr'Data.Traversable TraversabletraversemapM sequenceAsequence GHC.GenericsGenericRepfromtoGeneric1Rep1from1to1Datatype datatypeName moduleName packageName isNewtype ConstructorconName conFixity conIsRecordSelectorselNameselSourceUnpackednessselSourceStrictnessselDecidedStrictness GHC.TypeNatsKnownNat GHC.TypeLits KnownSymbol<>sconcatGHC.IntInt8Int16Int32Int64 GHC.MaybeMaybeNothingJust Data.EitherEitherLeftRightV1U1Par1unPar1Rec1unRec1K1unK1M1unM1:+:L1R1:*::.:Comp1unComp1RDCSRec0D1C1S1URecUAddrUCharUDoubleUFloatUIntUWorduWord#uInt#uFloat#uDouble#uChar#uAddr# GHC.TypesNatSymbol+*^<=?- CmpSymbolCmpNatDivModLog2 TypeError Coercible AppendSymbolbytestring-0.10.8.2Data.ByteString.Internal ByteString Data.Functor<$>'hashable-1.2.7.0-2SI038axTEd7AEZJ275kpiData.Hashable.ClassHashable hashWithSalt text-1.2.3.1Data.Text.InternalText2unordered-containers-0.2.9.0-I6OVG4HR3i6hFXdo933HbData.HashMap.BaseHashMapcontainers-0.6.0.1Data.Map.InternalMap Alternativeemptymany<|>some MonadPlusmzeromplusData.List.NonEmptynonEmptymfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMfoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipListData.Functor.IdentityIdentity runIdentityData.Functor.ConstConstgetConstfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMprecFixityPrefixInfixFixityIPrefixIInfixI AssociativityLeftAssociativeRightAssociativeNotAssociativeSourceUnpackedness SourceUnpackSourceNoUnpackNoSourceUnpackednessSourceStrictness SourceLazy SourceStrictNoSourceStrictnessDecidedStrictness DecidedLazy DecidedStrict DecidedUnpackMetaMetaDataMetaConsMetaSel sameSymbol someSymbolVal someNatVal symbolVal'natVal' symbolValnatVal SomeSymbol ErrorMessage:<>::$$:ShowTypesameNatSomeNat<= Data.OldListsortOnsortBysort partition fromRightfromLeftisRightisLeftpartitionEithersrightsleftseither Data.Proxy asProxyTypeOfProxyKProxy Data.Function&onfixvoid$><&> Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeswapuncurrycurryflip.constidapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA<**>NonEmpty:|Data.Set.InternalSet#extra-1.6.14-IBsj3L83KrNIF8k2eHkqe9Data.Tuple.Extrauncurry3curry3thd3snd3fst3bothdupe&&&***secondfirst mtl-2.2.2Control.Monad.Error.Class throwError"safe-0.3.17-43oyx4B630gDZMbTh3Ttji Safe.Foldable findJustSafe foldr1Safe foldl1Safe findJustNote findJustDeffindJust maximumByNote minimumByNote maximumByDef minimumByDef maximumByMay minimumByMay maximumNote minimumNote maximumDef minimumDef maximumMay minimumMay foldr1Def foldl1Def foldr1Note foldl1Note foldr1May foldl1May Data.HashSetHashSet&vector-0.12.0.2-H1Eu1OCXL0L9y980iV8EwU Data.VectorVectorMaxOnFst ByteStringLmaxOnminOn listSingleton-:takeL*attoparsec-0.13.2.2-7cR7so94jW75HlSyRFdGuR#Data.Attoparsec.ByteString.Internaltake endOfInputExData.Attoparsec.Internal endOfInput isSuccessfulData.Attoparsec.ByteString.Lazy eitherResult maybeResult parseTestResultFailDonematch parseOnly peekWord8' peekWord8notWord8word8anyWord8 notInClassinClass takeWhile1 runScannerscantakeLazyByteStringtakeByteString takeWhiletakeTill skipWhilestring satisfyWithskipsatisfyParserData.Attoparsec.CombinatorfeedeitherPcount skipMany1skipMany manyTill'manyTillsepBy1'sepBy1sepBy'sepBymany1'many1many'optionchoicetryatEndcompareResults parseOnlyLgetPos withInputSizelabellabel'??char<+>serializeChunkserializeReducedOp encodeDescserializeWithDescserializeFloatserializeReducedChunk parseDescextendedLength parseFrame parseChunksleastSignificant31 parseChunk assertSizeparseReducedOpsparseDescAndRawOpparseDescAndReducedOp parseRawOpparseReducedOp parseOpKeyuuid parsePayloadatomfloatinteger GHC.ClassesOrdepochTimeFromUnix Unapplied WireReducer collectFrameEncodingencodingFromRonencodingNewRonPatchpatchRef patchValue ReducedChunkrcBodyrcRef rcVersionReducer stateReducer wireReducerAFalseATrueSomeNonemkChunkVersionmkRCpatchFromRawOppatchFromChunk patchToChunk objectFromRongetObjectStateChunkeqRef eqPayloadvvTypeChar psPatches psRemovalsVertex!Diff-0.3.4-C6Bl1un4oiiBWGaHLlh5buData.Algorithm.DiffgetGroupedDiffBysetTypeaddlww parseSchema fieldWrapperCserializeRawOpZipserializeReducedOpZipserializeAtomZipserializePayloadpChunkwireStateChunkheader findObjects IsTouchedvsconcat createVersion