úÎ =W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVNoneMWX YZ[\]^_`a%bcdefghijklmnopqr   WX  YZ[\]^_`aNone =HMFzipback'tofplace z z1| brings z1 to the same place as z Right now we use a pathetic algorithm -- but it works...C !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVC !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVC123.'-,+*)(&%"#$! 456789:;<=>?@ABCDEFGHIJKLNMOP0QRSTU/V2! "#$%&'-,+*)(./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVs      !"##$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWWX2YZ[\]^_`ab`ac`ad`ae`af`ag`ah`ai`aj`ak`al`am`an`ao`ap`aq`rst ZFS-0.0.2ZipperMZFSDZipperDZipDonedz_dirdz_pathdz_termdz_kPathNextUpDownToNDownToDownTermFolderFileFileContFileNamepromptP dzip'termTIMEVALFDSET FSCmdRespFSCZFSCSWorld mountedFSjobQueueosPrompt JobQueueT JQNewClient JQRunnableJQBlockedOnRead ProcessCTXpsocketReadKUnitKOSReq OSRefresh OSRCommitOSRTraceOSRWriteOSRReadOSRDoneFSZipperfcntlc_select newClientPortfs1fs2main'osloopsyslog interpret'req run'process fsProcessfsloop show_path fsCommands fcmd'commit fsWrappercmd'helpcmd'lscmd'next cd'zipper list_node cmd'mknodecmd'echozip'back'to'place del'zipper ins'zippercmd'rmcmd'mvcmd'cpsvc is'whitespaceis'nl breakspan split'pathfd2fdsfds2mfd test_fd_conv test_fd_conv'select'read'pending cleanup'fdHPReqtraversetestt1testt2testt3testt4lprinttestdz1 $fShowTermCC-delcont-0.2Control.Monad.CCabortcontrol0shift0controlshiftresetrunCCrunCCTSubContCCTCC pushSubCont withSubCont pushPrompt newPromptMonadDelimitedContControl.Monad.CC.PromptPrompt