WOo      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn BSD-style#Vincent Hanquez <vincent@snarc.org> experimentalportableNoneOTo"Simple ByteString parser structurep3Simple parsing result, that represent respectively:failure: with the error message+continuation: that need for more input data9success: the remaining unparsed data and the parser valueq'Run a parser on an @initial ByteString.|If the Parser need more data than available, the @feeder function is automatically called and fed to the More continuation.r*Run a Parser on a ByteString and return a ps!Get the next byte from the parsert)Parse a specific byte at current positionQif the byte is different than the expected on, this parser will raise a failure.u/Parse a sequence of bytes from current positiongif the following bytes don't match the expected bytestring completely, the parser will raise a failurev7Take a storable from the current position in the streamw5Take @n bytes from the current position in the streamxLTake bytes while the @predicate hold from the current position in the streamy@Take the remaining bytes from the current position in the streamz5Skip @n bytes from the current position in the stream{LSkip bytes while the @predicate hold from the current position in the stream|DSkip all the remaining bytes from the current position in the streamo}~pqrstuvwxyz{|opqrstuvwxyz{|o}~pqrstuvwxyz{| BSD-style#Vincent Hanquez <vincent@snarc.org> experimentalunknownNone0 DException returned when using a SOCKS version that is not supported.&This package only implement version 5.(SOCKS error that can be received or sent #Type of reply on the SOCKS protocol/Describe a Socket address on the SOCKS protocol%A Host address on the SOCKS protocol.7Authentication methods available on the SOCKS protocol.bOnly SocksMethodNone is effectively implemented, but other value are enumerated for completeness.:Command that can be send and receive on the SOCKS protocol  Socks Version:Converts a HostAddress to a String in dot-decimal notation5Converts a IPv6 HostAddress6 to standard hex notation+  !"#$%&'("  !" !      !"#$%&'( BSD-style#Vincent Hanquez <vincent@snarc.org> experimentalunknownNone0ADefine a SOCKS responseFDefine a SOCKS requestsKeInitial message send by server in return from Hello, with the server chosen method of authenticationNRInitial message sent by client with the list of authentification methods supportedABCDEFGHIJKLMNOPABCDEFGHIJKLMNOP ABCDEFGHIJKLMNOP BSD-style#Vincent Hanquez <vincent@snarc.org> experimentalunknownNoneQSOCKS configuration structure. this structure will be extended in future to support authentification. use defaultSocksConf to create new record.S SOCKS AddressTSOCKS version to useU SOCKS HostV SOCKS PortWfdefaultSocksConf create a new record, making sure API remains compatible when the record is extended.XHsame as defaultSocksConf except the server address is determined from a IA unix SockAddr will raises an error. Only Inet and Inet6 types supportedQRSTUVWXQRSTUVWXQRSTUVWX BSD-style#Vincent Hanquez <vincent@snarc.org> experimentalunknownNone$0YZ[\]^_`abcde YZ[\]^_`abcdeYZ[\]^_`abcdeNonefgABCDEFGHIJKLMNOPYZ[\]^_`abcdefgfgNOPKLMFGHIJABCDE^\]YZ[_`adebcfg BSD-style#Vincent Hanquez <vincent@snarc.org> experimentalunknownNone$0hkconnect a user specified new socket to the socks server, and connect the stream on the server side to the  SockAddress specified.D|socket|-----sockServer----->|server|----destAddr----->|destination|iYconnect a new socket to a socks server and connect the stream on the server side to the  specified.jconnect a new socket to the socks server, and connect the stream on the server side to the sockaddr specified. the sockaddr need to be SockAddrInet or SockAddrInet6.)a unix sockaddr will raises an exception.D|socket|-----sockServer----->|server|----destAddr----->|destination|khconnect a new socket to the socks server, and connect the stream to a FQDN resolved on the server side.l_create a new socket and connect in to a destination through the specified SOCKS configuration.mTsimilar to Network connectTo but use a socks proxy with default socks configuration.nTsimilar to Network connectTo but use a socks proxy with default socks configuration.hSocket to use.#SOCKS configuration for the server.SOCKS Address to connect to.i#SOCKS configuration for the server.SOCKS Address to connect to.jklSOCKS configurationdestination hostnamedestination portmn" QRSTUVWXhijklmn"  QRSTUVWXhijkmnlhijklmn      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGGHIJKKLMNOOPQQRSSTUVWXYZ[\]]^_`abcdefghijklmnopqrstuvwxyz{|o}~"socks-0.5.5-7NKerosohUG4pHD8gUq0E5Network.Socks5.TypesNetwork.Socks5.LowlevelNetwork.Socks5Network.Socks5.ParseNetwork.Socks5.WireNetwork.Socks5.ConfNetwork.Socks5.CommandSocksVersionNotSupported SocksErrorSocksErrorGeneralServerFailure$SocksErrorConnectionNotAllowedByRuleSocksErrorNetworkUnreachableSocksErrorHostUnreachableSocksErrorConnectionRefusedSocksErrorTTLExpiredSocksErrorCommandNotSupportedSocksErrorAddrTypeNotSupportedSocksErrorOther SocksReplySocksReplySuccessSocksReplyError SocksAddressSocksHostAddress SocksAddrIPV4SocksAddrDomainName SocksAddrIPV6 SocksMethodSocksMethodNoneSocksMethodGSSAPISocksMethodUsernamePasswordSocksMethodOtherSocksMethodNotAcceptable SocksCommandSocksCommandConnectSocksCommandBindSocksCommandUdpAssociateSocksCommandOther SocksVersion SocksVer5$fEnumSocksReply$fEnumSocksError$fEnumSocksMethod$fEnumSocksCommand#$fExceptionSocksVersionNotSupported$fExceptionSocksError$fShowSocksHostAddress$fShowSocksVersion$fEqSocksVersion$fOrdSocksVersion$fShowSocksCommand$fEqSocksCommand$fOrdSocksCommand$fShowSocksMethod$fEqSocksMethod$fOrdSocksMethod$fEqSocksHostAddress$fOrdSocksHostAddress$fShowSocksAddress$fEqSocksAddress$fOrdSocksAddress$fShowSocksError$fEqSocksError$fOrdSocksError$fDataSocksError$fShowSocksReply$fEqSocksReply$fOrdSocksReply$fDataSocksReply$fShowSocksVersionNotSupported$fDataSocksVersionNotSupported SocksResponse responseReplyresponseBindAddrresponseBindPort SocksRequestrequestCommandrequestDstAddrrequestDstPortSocksHelloResponsegetSocksHelloResponseMethod SocksHellogetSocksHelloMethods SocksConf socksServer socksVersion socksHost socksPortdefaultSocksConfdefaultSocksConfFromSockAddrCommand toRequest fromRequestConnect establish connectIPV4 connectIPV6connectDomainNamesendSerializedwaitSerializedrpcrpc_resolveToSockAddr socksListensocksConnectWithSocket socksConnectsocksConnectAddrsocksConnectNamesocksConnectWithsocksConnectTo'socksConnectToParserResult parseFeedparseanyBytebytebytes takeStorabletake takeWhiletakeAllskip skipWhileskipAll runParserSuccessFailure ParseFail ParseMoreParseOKgetMoregetAllflushAll$fAlternativeParser$fApplicativeParser$fFunctorParser$fMonadPlusParser $fMonadParser $fShowResultshowHostAddressshowHostAddress6getAddrputAddrgetSocksRequestgetSocksResponse$fSerializeSocksResponse$fSerializeSocksRequest$fSerializeSocksHelloResponse$fSerializeSocksHello&network-2.6.3.1-G4Up1CPKbp7DeFsnywOnGGNetwork.Socket.TypesSockAddr runGetDone$fCommandConnect$fCommandSocksRequest resolvePortID