úÎ&¹ ¦T      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS Transfer files over FTP and FTPS Public Domain experimentalPOSIXNone+Commands according to the FTP specification#First digit of an FTP response$1%2&3'4(5)/Response from an FTP command. ex "200 Welcome!"+9Interpretation of the first digit of an FTP response code,The three digit response code-Text of the response.Can send and recieve a T.8Get a line from the server9-Get a full response from the server Used in ;;PSend a command to the server and get a response back. Some commands use a data .&, and their data is not returned here.< Equvalent to mapM . sendCommand>eTakes a host name and port. A handle for interacting with the server will be returned in a callback. zwithFTP "ftp.server.com" 21 $ h welcome -> do print welcome login h "username" "password" print =<< nlst h [] U1Open a socket that can be used for data transfers?5Send setup commands to the server and create a data VProvides a data . in a callback for a commandW&Recieve data and interpret it linewiseX$Recieve all data and return it as a TAŽTakes a host name and port. A handle for interacting with the server will be returned in a callback. The commands will be protected with TLS. |withFTPS "ftps.server.com" 21 $ h welcome -> do print welcome login h "username" "password" print =<< nlst h [] BCSend setup commands to the server and create a data TLS connectionu  !"#$%&'()*+,-./01234567YZ[\]^_89`:;<abcd=e>fgUh?VWXij@kABlmnCDopEFGHIJKLqrstuvMNOPQRQ    !"#%(&$')*+,-./0213456789:;<=>?@ABCDEFGHIJKLMNOPQ>ACDEFGHIJKLMNOP )*+,-#$%&'( !"567./01234=@;<89:?BE  !"#$%&'()*+,-./01234567YZ[\]^_89`:;<abcd=e>fgUh?VWXij@kABlmnCDopEFGHIJKLqrstuvMNOPQRw      !"#$%&'()*+,--./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz)ftp-client-0.4.0.0-Gc8eADmIjBWDuTtHCiR4mXNetwork.FTP.Client System.IOHandle FTPCommandUserPassAcctRTypeRetrNlstPortStorListRnfrRntoDeleSizeMkdRmdPbszProtCwdCdupCccAuthPwdAborPasvQuitProtTypePC PortActivityActivePassive RTypeCodeTATIResponseStatusWaitSuccessContinue FailureRetryFailure FTPResponsefrStatusfrCode frMessagesendsendLinerecvrecvLinesecuritySecurityClearTLS getLineRespgetMultiLineRespsendCommandLine sendCommand sendCommands sIOHandleImplwithFTPcreateSendDataCommand tlsHandleImplwithFTPScreateTLSSendDataCommandloginpasvrenamedelecwdsizemkdrmdpwdquitnlstretrliststor$fShowFTPCommand$fShowFTPResponse$fShowResponseStatusbytestring-0.10.8.1Data.ByteString.Internal ByteStringwithDataSocketwithDataCommandgetAllLineResprecvAll debugging debugPrintresponseStatusserialzeRTypeCode formatPortserializeCommand stripCLRF loopMultiLine createSocketwithSocketPassivewithSocketActivecreateSIOHandle withSIOHandlewithDataSocketPasvwithDataSocketActive acceptData connectTLScreateTLSConnection withTLSHandlewithTLSDataCommandparse227parse257portacctpbszprotcccauthsendTypewithDataCommandSecurity