?3-      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None"Deserialize value from inputstreamNone35;CNcCombine results in the monad non-deterministically (it is required that the monoid is commutative)ERun the provided request monad using the given communication channelsNone0Fingerprint of a Merkle-Hash-Tree node We asssume the Tree below a node is identical while synchronizing if its FingerPrint isMust be nonnegative>Must be between nonnegative and smaller than (degree^tl_level)!1Creates a Merkle-Hash-Tree for a list of elements% The function  groupOf xL eeturns a value between 0 to degree-1 for a digest with the property that groupOf. forms an approximate unviversal hash familiy./  !"#$%&'()*+,-./0123)  !"#$%&'()*+,-/3210  / !"#$%&'()*+,.-   !"#$%&'()*+,-./0123None0C4ARepresentation for paths below the synchronization root directory@LInformation about a file that we expect to change, when the contents change.E+Returns the string representation of a pathF#Return the depth of an entries pathHgEntries are sorted first according to their depth in the path which is useful for directory operations456789:;<=>?@ABCDEFGHIJKLM456789:;<=>?@ABCDEF@ABCDM=>?L:;<K789J456EIHFG456789:;<=>?@ABCDEFGHIJKLMNone!"035+NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx(NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu+mnopqrstklxdefghij\]^_`abcwYZ[vWXuQRSTUVNOP NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxNone 345yz{|}~yz{|}~~yz{|}yz{|}~None!"345;N'Map of open file handles with their idsNext available id)Merkle Hash Tree of server file hierarchy&path of the root of the file hierarchyNRespond to a queryFile or queryFileCont request for a given file handle and id None*0353Returns True if the given string is not "." or "..":Returns all files and directories below the given FilePathRoot file path to analyse`BList of regular expressions to be excluded from the resulting listGList of file or directory entries with paths relative to the given root None*035  None0!!!     !""#$%&'()*+,-./0123456789:9;;<==>?@ABBCDEFGHIJKLMNOPQRRSTUVWWXYZ[\]^_`abccdefghiijklmnopqrstuvvwxyz{|}~      2         [  syncm_HmoAgcBPivJL9C38WtKZhk'Sync.MerkleTree.Util.GetFromInputStream!Sync.MerkleTree.Util.RequestMonadSync.MerkleTree.TrieSync.MerkleTree.TypesSync.MerkleTree.CommTypesSync.MerkleTree.ClientSync.MerkleTree.ServerSync.MerkleTree.AnalyseSync.MerkleTree.SyncSync.MerkleTree.RungetFromInputStream RequestMonadrequest splitRequestsrunRequestMonad TestDigest unTestDigest Fingerprintf_hash f_nodeType HasDigestdigest TrieLocationtl_leveltl_indexNodeType LeaveTypeTrieNodeNodeLeaveTriet_hasht_nodeHashunHashdegree toFingerprintmkTriemkNodehashMD5 combineHashgroupOfmkLeavelookup queryHashquerySetgetAll rootLocationexpandtests$fHasDigestTestDigest$fSerialFingerprint$fSerialTrieLocation$fSerialNodeType $fSerialHash $fShowHashPathRoot FileModTime unModTimeFileSize unFileSizeEntry FileEntryDirectoryEntryFilef_namef_size f_modtime toFilePathlevelOf$fHasDigestEntry $fOrdEntry $fSerialPath$fSerialFileModTime$fSerialFileSize $fSerialEntry $fSerialFileSideServerClient LaunchMessagelm_protocolVersionlm_dirlm_sidelm_clientServerOptionsProtocolVersionQueryFileResponseFinal ToBeContinuedRequestQuerySet QueryHashLog QueryFile QueryFileCont Terminate QueryTimeClientServerOptionscs_add cs_update cs_delete cs_ignorecs_compareClocks ContHandleProtocol queryHashReq querySetReqlogReq queryFileReqqueryFileContReq terminateReq queryTimethisProtocolVersion$fSerialQueryFileResponse$fSerialRequest$fSerialContHandleProgresspg_sizepg_countpg_last SimpleEntryFileSimpleEntryDirectorySimpleEntry ClientMonadsplitDiffshowTextdataSize dataSizeText logClientanalyseEntriescheckClockDiffabstractClient syncClient_CONCURRENT_FILETRANSFER_SIZE_ splitEverysyncNewOrChangedEntries showProgesssynchronizeNewOrChangedEntrynodeReq testEntry $fMonoidDiff ServerMonad ServerState st_handles st_nextHandlest_triest_pathstartServerState withHandle$fProtocolStateT isRealFileanalyse Direction FromRemoteToRemote StreamPairsp_insp_out openStreams mkChanStreamschildparentlocalLocationRemoteLocal SyncOptions so_sourceso_destination so_remote so_ignore so_boringso_add so_update so_deleteso_help so_nonOptionsso_compareClocks so_version RemoteCmdSimulatedefaultSyncOptionstoClientServerOptionsoptDescriptionsparseNonOption toSyncOptionsputErrorprintUsageInfo parseFilePathmainrun_WAIT_FOR_INPUT_runChild runParent SendQueuesq_chan sq_sendIndex RequestMonadTSplitLiftIOReturnFail unReqMonad LiftIOState RequestState SplitStatebindImpl queueRequests writerThreadreceiverThread$fMonadIORequestMonadT$fMonadRequestMonadT$fApplicativeRequestMonadT$fFunctorRequestMonadT shouldIgnoreanalyseSubDirectory analyseEntryrespondserverOrClientserverclient$fClientMonadStateT$fClientMonadRequestMonad$fProtocolRequestMonad