Tm      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI J K L M N O P Q R S T U V W X YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~               NoneA repository of absolute typesRun an IO action on a RepoNoneReturns a new repositoryNone:DRS! !,-./012345678 !!  !,-./012345678None9)Directory to store the repo (e.g. "/tmp")A new repository999None T:Setup the global logging level<Log a message at DEBUG level=$Log multiple messages at DEBUG level>#Log multiple messages at INFO level?&Log multiple messages at WARNING level@$Log multiple messages at ERROR levelAforceE == either error idBLike & but with returned exception fixed to C Strict try, s the returned valueDRun an IO op with a timeoutEConvert an Either to a MaybeF$Convert minutes to microseconds (s)G$Convert seconds to microseconds (s)H)Convert milliseconds to microseconds (s):;<=>?@ABCDTimeout (in seconds) Op to executeSRight if op completed correctly, Left otherwise withTimeout secs op = maybe (Left Timeout) Right  $ timeout (seconds secs) opEFGH9 !"#$%&'()*+,-./0123456789:;<=:;<=>?@ABCDEFGHCBAHGFD=?>@<:;E:;<=>?@ABCDEFGH NoneIJKLMNOPQRSTUVWXIJKLMNOPQRSTUVWXIJKLMNOPQRSTUVWXIJKLMNOPQRSTUVWXNone 234579;LYLiterals and variables`3Pattern representation used for internal processinga A constructorbA primitive value (for example Y)cName of the constructor (e.g. True)dConstructor parameterseInternal pattern representationf;Match either a flattened value of any value of a given typegMatch the specified valueh,Match any value of the given type (wildcard)i^A Pattern is just a list of matches, values are represented by their Flat binary serialisationj5A routing protocol specified by a pattern and a type.*Once a connection is established, clients:#can send messages of the given type^will receive all messages of the same type, that match the given pattern, sent by other agentslJA matcher is a predicate defined over the binary representation of a valuem:Optimise a Pattern by concatenating adjacent value matchesYZ[\]^_`abcdefghijklmnoYZ[\]^_`abcdefghijklmljkifghme`abcdYZ[\]^_ YZ[\]^_`abcdefghijklmnoNone/24578!An IP6 addressAn IP4 address,A host address, either an IP or a DNS domainA Sockets port (e.g. 80)The address of a ,https://en.wikipedia.org/wiki/Network_socketnetwork socketThe full address of a  'https://en.wikipedia.org/wiki/WebSocket WebSocket endpoint6True if the connection is wss (secure), False if is wsLHost endpoint, example: SocketAddress (DNSAddress "quid2.net") (HostPort 80)2Path to the WebSocket access point, example: "/ws"WThe value returned by an access point, after receiving a routing channel setup request.AThe channel has been permanently setup to the requested protocolaThe access point is unable or unwilling to open a connection with the requested routing protocolLUser should retry with the same transport protocol at the indicated addressA WebSocket connection\An application that connects to a WebSocket channel of type a and eventually returns an IO r(A typed bidirectional connection/channel#Block read till a value is received Block write till a value is sentClose the connectionRAn application that connects to a channel of type a and eventually returns an IO r+A routing protocol to receive all messages.iThe ByAny type parameter indicates the type of the messages exchanged on the channel (usually:TypedBLOB).*Once a connection is established, clients:can send messages of any type, as values of the ByAny type argument (for example: an Int value encoded as the corresponding TypedBLOB value).will receive all messages sent by other agents'A routing protocol specified by a type.*Once a connection is established, clients:#can send messages of the given type?will receive all messages of the same type sent by other agentsEcho protocol: any value sent in is returned verbatim to the sender (useful for testing purposes) Client can specify if received messages should be logged (for debugging purposes) Top's access point configurationReturn Top's access point IPReturn Top's access point PortReturn Top's access point PathCReturn the value of the ByType router identifier for the given typeShortcut to specifypReturn a value received on the connection or Nothing if no value is received in the specified number of seconds8NOTE: In case of timeout, the connection will be closed.CHATS binary identifierCHATS textual identifier,The configuration for the default Top router=>5 jk5 jk">NoneKReceive values from a typed connection, terminate when connection is closedFSend values on a typed connection, terminate when connection is closed    None BT4Run a WebSockets Application, keep connection alive.)Automatically close sockets on WSApp exitTop configurationApplication to connect#Value returned from the application NoneTPermanently connect an application to a typed channel. |Restart application in case of network or application failure. |NOTE: does not provide a way to preserve application's state*Connect an application to a typed channel.)Connect an application to a typed channel?"Send a value on a typed connection@'Receive a value from a typed connectionTop configurationRouting protocolApplication to connect#Value returned from the applicationTop configurationRouting protocolApplication to connect#Value returned from the applicationTop configurationRouting protocolApplication to connect#Value returned from the application?@?@ None 579;<=LT JA (simplistic) protocol to permanently store and retrieve ADT definitions.#Permanently record an absolute typeRetrieve the absolute type<Return the absolute type identified by an absolute reference(Request the list of all known data types'Return the list of all known data typesZPermanently record all the ADT definitions referred by a type, with all their dependenciesGPermanently record a set of ADT definitions with all their dependenciesRetrieve all known data typeszRetrieve the full type model for the given absolute type from Top's RepoProtocol channel, using the given Repo as a cache=Solve ADT references recursively, returning all dependencies.ABCDEFGH  ABCDEFGH None579;T 0Convert an Haskell pattern to the corresponding j: channel identifier or throw an error if conversion fails 0Convert an Haskell pattern to the corresponding j channel identifier  I      INoneT>Template Haskell function to convert an Haskell pattern to an e +patternQ [p|_|] :: IO IPattern PName PWild  J   JNoneYZ[\]^_`abcdefghijklm   NoneKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=       !"#$%&'()*+,-./012345678 9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~:;<=>?@ABCDEFGHYZ[\]^_`abcdefghijklm    !"#$%&'()*+)*,)*-)*.)/012312412566789:;<<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi j k l m n o p q r s t u v w x yz{|}~9                        ! "#$%&'())**++,-./0123423523623723823923:23;23<23=23>23?23@23A23B23C23D23E23F23G23H23I23J23K2LM2LN2LO2LP2LQ2LR2LS2LT2LU V W X Y Z [ \ ] ^ _ `abcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxb3bybybzbzb{b|b|b}b~b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/0      !""#$%&'()**+,-../01232425262728292:2;2<2=2>2?2@ABCDECDFCDGCDHCDI1JK1JL1JM1JN1OP1OQ1OR1OS1OT1OU1OV1WX1WY1WZ1[\1[]1[^1[_1[`1[a1[b1[c1[d1[d1[e1[f1[f1[g1[g1hi1hj1hk1hl1hm1hn1ho1pq1rs1rt1ru1rv1rw1rx1rx1ry1ry1rz1rz1r{1r|1r}1r~1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1111111111111111111 top-0.2.4-7a1nh8xG3Hf47wJEwYUtttNetwork.Top.UtilNetwork.Top.TypesNetwork.Top.PipesData.Pattern.Types Repo.Types Repo.MemoryRepo.DB Repo.DiskData.Pattern.UtilNetwork.Top.WebSocketsNetwork.Top.RunNetwork.Top.RepoData.Pattern.TransformData.Pattern.TH Data.Pattern Network.Top$async-2.1.1.1-8yywY4inVGRLJSCg60gBXjControl.Concurrent.AsynccancelasyncbaseControl.Monad.IO.ClassliftIO Control.Monadunlessforever GHC.Conc.IO threadDelayControl.Exception.BasetryGHC.Basewhen GHC.Exception SomeException0data-default-class-0.1.2.0-GsXqKN6o1X9jr0fF5qCVDData.Default.Classdeftransformers-0.5.2.0Control.Monad.Trans.Classlift"pipes-4.3.7-3ABQW9Xu3yJDhYluwWykyTPipes>->awaitforyield Pipes.Core runEffectzm-0.3.2-9EffK4RA8nV74pYjwjqtDn ZM.Type.BitV1V0BitRepogetputclosewithRepomemRepoDBState $fShowDBStatewholeDBopenDBgetDBputDBcloseDB$fQueryEventGetByRef$fMethodGetByRef$fSafeCopyGetByRef$fUpdateEventInsert$fMethodInsert$fSafeCopyInsert$fQueryEventWhole $fMethodWhole$fSafeCopyWhole$fIsAcidicDBState$fSafeCopyType$fSafeCopyIdentifier$fSafeCopyUnicodeSymbol$fSafeCopyUnicodeLetter%$fSafeCopyUnicodeLetterOrNumberOrLine$fSafeCopySHA3_256_6$fSafeCopySHAKE128_48$fSafeCopyAbsRef$fSafeCopyConTree$fSafeCopyADTRef $fSafeCopyADT$fSafeCopyNonEmptyList$fSafeCopyDBStatedbRepologLevel logLevelOutdbgSdbginfowarnerrforceEtryE strictTry withTimeout eitherToMaybeminutesseconds milliseconds collectErrors stringTypecharType word8Type word16Type word32Type word64TypewordTypeint8Type int16Type int32Type int64TypeintType integerType floatType doubleTypePRefPIntPRatPCharPStringPWildPVarPatPConPName pConsNamepConsParametersIPatternMatch MatchValueMatchAnyPattern ByPatternMatcher optPattern $fModelMatch$fModelByPattern $fShowMatch $fEqMatch $fOrdMatch$fGenericMatch $fFlatMatch$fFunctorMatch $fEqByPattern$fOrdByPattern$fShowByPattern$fGenericByPattern$fFlatByPattern$fEqPat$fOrdPat $fShowPat$fEqPRef $fOrdPRef $fShowPRef IP6Address IP4Address HostAddress IPAddress DNSAddressHostPortport SocketAddress socketAddress socketPortWebSocketAddresssecurehostpathChannelSelectionResultSuccessFailureRetryAtreasonWSChannelResult WSConnectionWSApp ConnectioninputoutputAppByAnyByTypeEcho echoDebugConfig accessPointcfgIPcfgPortcfgPath byTypeRouterbyAnyinputWithTimeout chatsProtocolchatsProtocolT$fPrettyHostAddress$fPrettyIP4Address$fModelHostAddress$fModelSocketAddress$fModelWebSocketAddress$fModelChannelSelectionResult $fModelByAny $fModelByType $fModelEcho$fDefaultConfig$fEqEcho $fOrdEcho $fShowEcho $fGenericEcho $fFlatEcho $fEqByType $fOrdByType $fShowByType$fGenericByType $fFlatByType $fEqByAny $fOrdByAny $fShowByAny$fGenericByAny $fFlatByAny$fEqChannelSelectionResult$fOrdChannelSelectionResult$fShowChannelSelectionResult$fGenericChannelSelectionResult$fFlatChannelSelectionResult $fEqHostPort $fOrdHostPort$fShowHostPort$fGenericHostPort$fFlatHostPort$fModelHostPort$fEqHostAddress$fOrdHostAddress$fShowHostAddress$fGenericHostAddress$fFlatHostAddress$fEqSocketAddress$fOrdSocketAddress$fShowSocketAddress$fGenericSocketAddress$fFlatSocketAddress$fEqWebSocketAddress$fOrdWebSocketAddress$fShowWebSocketAddress$fGenericWebSocketAddress$fFlatWebSocketAddress$fEqIP4Address$fOrdIP4Address$fShowIP4Address$fGenericIP4Address$fFlatIP4Address$fModelIP4Address$fEqIP6Address$fOrdIP6Address$fShowIP6Address$fGenericIP6Address$fFlatIP6Address$fModelIP6Address $fLiftPRef $fLiftPatpipeInpipeOutrunWSApp runAppForeverrunApp runAppWith RepoProtocolRecordSolveSolved AskDataTypesKnownDataTypes recordType recordADTs knownTypes solveType solveRefs$fEqRepoProtocol$fOrdRepoProtocol$fShowRepoProtocol$fGenericRepoProtocol$fFlatRepoProtocol$fModelRepoProtocol byPattern byPattern_patternEpatternQDBwholeinsertgetByRefGetByRefInsertWholeemptyDBdbDirD:R:MethodResultGetByRefdeepseq-1.4.2.0Control.DeepSeqdeepseq&hslogger-1.2.10-FO6SSedUxMWC5cvnheE9OMSystem.Log.Logger traploggingremoveAllHandlersupdateGlobalLoggersaveGlobalLogger clearLevelsetLevelgetLevel setHandlers removeHandler addHandlerlogL getRootLogger getLogger emergencyMalertM criticalMerrorMwarningMnoticeMinfoMdebugMlogMrootLoggerNameLogger System.LogPriorityDEBUGINFONOTICEWARNINGERRORCRITICALALERT EMERGENCYsendreceive RepoError RefSolver resolveRef resolveRef_ resolveRef__ resolveRef___absADTschecked boolToBit asPatternM GHC.GenericsGenericRepfromtoGeneric1Rep1from1to1Datatype moduleName datatypeName packageName isNewtype ConstructorconName conFixity conIsRecordSelectorselNameselSourceUnpackednessselSourceStrictnessselDecidedStrictnessU1Par1unPar1Rec1unRec1K1unK1M1unM1:+:L1R1:*::.:Comp1unComp1RDCSRec0D1C1S1URecUAddrUCharUDoubleUFloatUIntUWorduWord#uInt#uFloat#uDouble#uChar#uAddr#precFixityPrefixInfixFixityIPrefixIInfixI AssociativityLeftAssociativeRightAssociativeNotAssociativeSourceUnpackedness SourceUnpackSourceNoUnpackNoSourceUnpackednessSourceStrictness SourceLazy SourceStrictNoSourceStrictnessDecidedStrictness DecidedLazy DecidedStrict DecidedUnpackMetaMetaDataMetaConsMetaSel Data.ProxyProxy*convertible-1.1.1.0-2huR7S7QXmPJFQt2mlnJqBData.Convertible.Baseconvert ConvertResult Convertible safeConvert ConvertErrorconvSourceValueconvSourceType convDestTypeconvErrorMessageNFDataflat-0.3-2tO48MU7bYN3lPhYnwz6Gg Data.Flat.RunflatRaw unflatRawWith unflatRaw unflatWithunflatflatData.Flat.InstancesdecodeSequenceencodeSequence sizeSequence decodeMap encodeMapsizeMapData.Flat.FillerpostAlignedDecoder preAligned postAligned fillerLengthFiller FillerBit FillerEnd PostAligned postValue postFiller PreAligned preFillerpreValueData.Flat.ClassgetSizeFlatsizeencodedecodeData.Flat.Decoder.TypesGetDecodedDecodeExceptionData.Flat.TypesUTF8Text UTF16Text"model-0.4.4-JsAGTPjVgnz9XNwupgO4DDData.Model.ClassuseCT typeModelAsTypeasTypeModelenvTypeData.Model.PrettydottedPvspacedPspacedPvarCvarP CompactPrettyData.Model.TypessolvesolveAllqualNamegetHRefunVar nestedTypeNstypeAtypeN adtNamesMapconTreeTypeFoldMapconTreeTypeListconTreeNameFoldconTreeNameMapconTreeTypeMapconstructorInfo fieldsNames fieldsTypescontree constructorstypeADTsHTypeEnv HTypeModelHADTHTypeHTypeRef TypeModeltypeNametypeEnvTypeEnvADTdeclNamedeclNumParametersdeclConsConTreeCon constrFields constrNameFieldsTypeTypeConTypeAppTypeNTypeRefTypVarTypRefQualNamepkgNamemdlNamelocNameData.Model.Utildotted inContext errsInContextconvertResultToErrorsconvertResultToErrorconvertOrErrorerrorsToConvertResulterrorToConvertResultnoErrorstoErrorstransitiveClosure mutualGroupsproperMutualGroupsErrors Type.AnalyseAnapretty-1.1.3.3Text.PrettyPrint.HughesPJClassPretty pPrintListpPrint pPrintPrec prettyShow ZM.DynamictypeDecoderMap typeDecoderdecodeAbsTypeModelMapTypeDecoder ZM.Transform solvedADT referencesinnerReferences adtDefinitiontypeDefinitiontypeTree MapTypeTree ZM.Pretty prettyList prettyTuple unPrettyRefZM.BLOBtypeErr untypedValue untypedBLOB typedValue typedBLOB_ typedBLOBblobunblobBLOBencoding TypedBLOB TypedValueZM.Abs kindErrors refErrors absEnvWithabsEnvabsTypeModelMaybe absTypeModelabsTypeZM.Pretty.BasehexZM.Typeslabel asIdentifier getADTRefabsRefAbsTypeAbsRef SHA3_256_6 SHAKE128_48AbsADT AbsTypeModelAbsEnvADTRefVarRecExt IdentifierNameSymbolUnicodeLetterOrNumberOrLine UnicodeLetter UnicodeSymbolValuevalTypevalNamevalBits valFieldsLabel TypedDecodedTypedDecodeException DecodeErrorUnknownMetaModel WrongType expectedType actualType ZM.Type.BLOB UTF8EncodingUTF16LEEncoding FlatEncoding NoEncoding ZM.Type.WordsWord7ZigZagLeastSignificantFirstMostSignificantFirstZM.Type.NonEmptyList nonEmptyList NonEmptyListElemCons