úÎÆãºGÆ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅ(c) 2017 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalCPP, ImpredicativeTypesSafeQVÍ A  Lhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Type.html#t:SimpleSimple .See  Lhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Prism.html#t:PrismControl.Lens.Prism.Prism.See  Ohttp://hackage.haskell.org/package/lens/docs/Control-Lens-Getter.html#t:GettingControl.Lens.Getter.Getting.See  Nhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Getter.html#t:GetterControl.Lens.Getter.Getter.A  Lhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Type.html#t:SimpleSimple .See  Jhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Lens.html#t:LensControl.Lens.Lens.Lens. Get a value from a lens.!Set a value in a lens."Modify a value in a lens.#Read a value from a prism.$&Atomically snapshot some shared state.%1Atomically snapshot and modify some shared state.  !"#$%  !"#$%(c) 2017 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalWFlexibleInstances, GADTs, GeneralizedNewtypeDeriving, MultiParamTypeClasses, RankNTypesNone &';=>?KQVThe server port.?>Client username; sent to the server during the initial set-up.@>Client realname; sent to the server during the initial set-up.A>Client password; sent to the server during the initial set-up.B/The minimum time between two adjacent messages.CŠThe maximum time between received messages from the server. If no messages arrive from the server for this period, the client is sent a ( exception and disconnects.D Action to run after sending the PASS and USER? commands to the server. The default behaviour is to send the NICK command.Eÿ,Action to run after disconnecting from the server, both by local choice and by losing the connection. This is run after tearing down the connection. If the connection terminated due to an exception, it is given. The default behaviour is to reconnect if a timeout, otherwise rethrow any exception.F>Function to log messages sent to and received from the server.GThe state of an IRC session.I"Read-only connection configurationJMutable user stateK%Mutable instance configuration in STMLMessage send queue.MState of the connection.N9Threads which will be killed when the client disconnects.OThe IRC monad.,&'()*+,.-/2103498765:;FEDCBA@?>=<GHNMLKIJOPQ/OPQRGHIJKLMN:;<=>?@ABCDEF3456789/012,-.*+()S&'T &'()*+,-./0123456789: ;<=>?@ABCDEFGHIJKLMNOPQ(c) 2017 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalCPPNoneD¿w for I. x for J. y for K. z for M. { for =. | for >. } for ?. ~ for @.  for A. € for B.  for C. ‚ for D. ƒ for E. „ for F. … for 5. † for 6. ‡ for 7. ˆ for 8. ‰ for 9. Š for 0. ‹ for 1. Œ for 2.  for -. Ž for .. wxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ(c) 2016 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalCCPP, LambdaCase, OverloadedStrings, RankNTypes, ScopedTypeVariablesNoneQV]]FConfig to connect to a server using the supplied connection function.The event loop.‘Forget failed decodings.’>Block on receiving a message and invoke all matching handlers.“$Check if an event is ignored or not.”6A conduit which logs everything which goes through it.•0Print messages to stdout, with the current time.–1Append messages to a file, with the current time.—Do no logging.˜]Send a message as UTF-8, using TLS if enabled. This blocks if messages are sent too rapidly.™TSend a message, using TLS if enabled. This blocks if messages are sent too rapidly.šUDisconnect from the server, properly tearing down the TLS session (if there is one).›vDisconnect from the server (this will wait for all messages to be sent, or a minute to pass), and then connect again.hThis can be called after the client has already disconnected, in which case it will just connect again.Like  runClient and  runClientWith[, this will not return until the client terminates (ie, disconnects without reconnecting).œ6Interact with a client from the outside, by using its G.Access the client state.ž+Get the connection state from an IRC state.Ÿ<Block until an action is successful or a timeout is reached.'Function to start the network conduits.Connect handlerDisconnect handlerLogging functionServer hostname Server portI !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHJIKLMNOPQ‘’“”•–—˜™š›œžŸ‘’“”•–—˜™š›œžŸ(c) 2016 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalportableNonem„  °Update the nick in the instance configuration and also send an update message to the server. This doesn't attempt to resolve nick collisions, that's up to the event handlers.¡QUpdate the channel list in the instance configuration and also part the channel.¢®Remove a channel from the list without sending a part command (be careful not to let the channel list get out of sync with the real-world state if you use it for anything!)£Add an event handler¤)Send a message to the source of an event.¥)Send a message to the source of an event.¦ Construct a PRIVMSG containing a CTCP§ Construct a NOTICE containing a CTCP¨!Check if the client is connected.©7Check if the client is in the process of disconnecting.ª#Check if the client is disconnected«Snapshot the connection state.¬%Fork a thread which will be thrown a &( exception when the client disconnects. !"$% ¡¢£¤¥¦§¨©ª«¬ ¡¢£¤¥¦§¨©ª«¬$% !"(c) 2017 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimental"CPP, OverloadedStrings, RankNTypesNoneQV¡`­EMatch the verb of a CTCP, ignoring case, and returning the arguments. åmatchCTCP "ping" ":foo PRIVMSG #bar :\001PING\001" ==> Just [] matchCTCP "PING" ":foo PRIVMSG #bar :\001PING\001" ==> Just [] matchCTCP "ACTION" ":foo PRIVMSG #bar :\001ACTION dances\001" ==> Just ["dances"]®Match a numeric server message. Numeric messages are sent in response to most things, such as connecting to the server, or joining a channel.’Numerics in the range 001 to 099 are informative messages, numerics in the range 200 to 399 are responses to commands. Some common numerics are:6001 (RPL_WELCOME), sent after successfully connecting.I331 (RPL_NOTOPIC), sent after joining a channel if it has no topic.F332 (RPL_TOPIC), sent after joining a channel if it has a topic.Q432 (ERR_ERRONEUSNICKNAME), sent after trying to change to an invalid nick.T433 (ERR_NICKNAMEINUSE), sent after trying to change to a nick already in use.^436 (ERR_NICKCOLLISION), sent after trying to change to a nick in use on another server.See Section 5 of < -https://tools.ietf.org/html/rfc2812#section-5 RFC 2812> for a complete list. wmatchNumeric 001 "001 :Welcome to irc.example.com" ==> True matchNumeric 332 "332 :#haskell: We like Haskell" ==> True¯*Match events of the given type. Refer to  Network.IRC.Conduit.Lens#Message for the list of s. ®matchType _Privmsg ":foo PRIVMSG #bar :hello world" ==> Just ("#bar", Right "hello world") matchType _Quit ":foo QUIT :goodbye world" ==> Just (Just "goodbye world")°#Match a predicate against an event. \matchWhen (const True) ":foo PRIVMSG #bar :hello world" ==> Just ":foo PRIVMSG :hello world"±7The default event handlers, the following are included:respond to server PING messages with a PONG;respond to CTCP PING requests;respond to CTCP VERSION" requests with the version string;respond to CTCP TIME requests with the system time;Vupdate the nick upon receiving the welcome message, in case the server modifies it;2mangle the nick if the server reports a collision;update the channel list on JOIN and KICK.²*The default connect handler: set the nick.³The default disconnect handler$If the client disconnected due to a ( exception, reconnect.@If the client disconnected due to another exception, rethrow it.6If the client disconnected without an exception, halt.´Respond to server PING messages with a PONG.µRespond to CTCP PING requests.¶Respond to CTCP VERSION" requests with the version string.·Respond to CTCP TIME requests with the system time.¸{Update the nick upon welcome (numeric reply 001), as it may not be what we requested (eg, in the case of a nick too long).¹tJoin default channels upon welcome (numeric reply 001). If sent earlier, the server might reject the JOIN attempts.ºZMangle the nick if there's a collision (numeric replies 432, 433, and 436) when we set it»`Upon joining a channel (numeric reply 331 or 332), add it to the list (if not already present).Ç*Update the channel list upon being kicked.ÈhBreak some text on the first occurrence of a substring, removing the substring from the second portion.=ÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜ    *+­®¯°±²³´µ¶·¸¹º»)*+­®¯°±²³´µ¶·¸¹»º Safe£8ÝÞßàáâãä(c) 2016 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalOverloadedStringsNone·h ¼$How to connect to a server over TLS.½Use  _http://hackage.haskell.org/package/irc-conduit/docs/Network-IRC-Conduit.html#t:defaultTLSConfig$Network.IRC.Conduit.defaultTLSConfig.¾PUse the given configuration. The hostname and port are stored as fields of the å.¿Use  _http://hackage.haskell.org/package/irc-conduit/docs/Network-IRC-Conduit.html#t:defaultTLSConfig$Network.IRC.Conduit.defaultTLSConfig‹, with the given certificate verifier. The certificate verifier is a function which returns a list of reasons to reject the certificate.À Connect to a server without TLS.ÁConnect to a server with TLS.Â1Construct a default IRC configuration from a nickÃrConnect to the IRC server and run the client: receiving messages and handing them off to handlers as appropriate.ÄLike à , but use the provided initial G.1Multiple clients should not be run with the same G,. The utility of this is to be able to run IRC s a@ actions in order to interact with the client from the outside.ÅConstruct a new IRC stateÀ The hostnameThe portÁ"How to initiate the TLS connectionÂThe nickÃ%The initial value for the user state.Å%The initial value for the user state.ŒÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜ    !"$%&'()*+,-./0123:GOwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ•–—˜™š›œž ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅ&:À¼½¾¿Á,-.•–—3ÂO˜™š›Gœ/012žÃÅÄ()¬&'¼½¾¿æ                     ! " #$%&'()*+,-./0011223456789::;<=>?@@ABCDEFGHIJKLLMNOPQRSSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍ ÎÏ ÎÐ ÎÑ ÎÒ ÎÓ ÎÔ ÎÕ ÎÖ Î× ÎØ ÎÙ ÎÚ ÎÛ ÎÜ ÎÝ ÎÞ Îß Îà Îá ÎâŠãäåæçèéêëìí)irc-client-1.0.1.0-JNDyTqqrz0g1okGLBYCHgUNetwork.IRC.ClientNetwork.IRC.Client.Events Network.IRC.Client.Internal.Lens!Network.IRC.Client.Internal.TypesNetwork.IRC.Client.LensNetwork.IRC.Client.InternalNetwork.IRC.Client.UtilsPaths_irc_client*irc-conduit-0.2.2.4-9wOUPjDAtdM2fUWzvU7G4FNetwork.IRC.Conduit.Internal rawMessage toByteString_message_source_rawEventServerChannelUserSourceRawMsgNumericPongPingKickInviteTopicModeQuitPartJoinNickNoticePrivmsgMessagePrism'PrismGettingGetterLens'LensgetsetmodifypreviewsnapshotsnapshotModify DisconnectTimeout EventHandlerOrigin FromServer FromClientConnectionState Connected Disconnecting DisconnectedInstanceConfig_nick _channels_version _handlers_ignoreConnectionConfig_func_server_port _username _realname _password_flood_timeout _onconnect _ondisconnect_logfuncIRCState_connectionConfig _userState_instanceConfig _sendqueue_connectionState_runningThreadsIRCrunIRC$fMonadStatesIRC$fExceptionTimeout$fExceptionDisconnect$fBoundedConnectionState$fEnumConnectionState$fEqConnectionState$fOrdConnectionState$fReadConnectionState$fShowConnectionState$fBoundedOrigin $fEnumOrigin $fEqOrigin $fOrdOrigin $fReadOrigin $fShowOrigin $fFunctorIRC$fApplicativeIRC$fAlternativeIRC $fMonadIRC$fMonadPlusIRC $fMonadIOIRC$fMonadReaderIRC$fMonadThrowIRC$fMonadCatchIRC$fMonadMaskIRC$fBoundedTimeout $fEnumTimeout $fEqTimeout $fOrdTimeout $fReadTimeout $fShowTimeout$fBoundedDisconnect$fEnumDisconnect$fEqDisconnect$fOrdDisconnect$fReadDisconnect$fShowDisconnectconnectionConfig userStateinstanceConfigconnectionStateserverportusernamerealnamepasswordfloodtimeout onconnect ondisconnectlogfuncnickchannelsversionhandlersignore _Connected_Disconnecting _Disconnected _FromServer _FromClient setupInternalrunner forgetful eventSink isIgnored logConduit stdoutLogger fileLogger noopLoggersendsendBS disconnect reconnect runIRCAction getIRCStategetConnectionState timeoutBlocksetNick leaveChanneldelChan addHandlerreplyreplyToctcp ctcpReply isConnectedisDisconnectingisDisconnected snapConnStatefork matchCTCP matchNumeric matchType matchWhendefaultEventHandlersdefaultOnConnectdefaultOnDisconnect pingHandlerctcpPingHandlerctcpVersionHandlerctcpTimeHandler welcomeNick joinOnWelcome nickMangler joinHandler TLSConfigWithDefaultConfigWithClientConfig WithVerifierplainConnection tlsConnectiondefaultInstanceConfig runClient runClientWith newIRCStatebaseGHC.BaseNothing kickHandlerbreakOn'Network.IRC.Conduit.Lens_RawMsg_Numeric_Pong_Ping_Kick_Invite_Topic_Mode_Quit_Part_Join_Nick_Notice_Privmsg_Server_Channel_Usermessagesourceraw getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName0network-conduit-tls-1.2.2-AzxDqG9nNBnJmK34VpqNKSData.Conduit.Network.TLSTLSClientConfig