1 % % % % I % % % % %     I *      %  *   $       InnerClassesChatReadWorker chatServiceLphex/chat/ChatService;isOutgoingConnectionZ chatReader Lphex/utils/GnutellaInputStream; connection Lphex/net/connection/Connection;chatNickLjava/lang/String; useEncodedStr hostAddress!Lphex/common/address/DestAddress;:(Lphex/chat/ChatService;Lphex/net/connection/Connection;)VCodeLineNumberTableLocalVariableTablethisLphex/chat/ChatEngine; Exceptions;(Lphex/chat/ChatService;Lphex/common/address/DestAddress;)VchatMgr aHostAddress startChat()Vworker%Lphex/chat/ChatEngine$ChatReadWorker;stopChat isConnected()ZgetHostAddress#()Lphex/common/address/DestAddress; getChatNick()Ljava/lang/String;sendChatMessage(Ljava/lang/String;)V base64StrexpLjava/io/IOException;messagefinalizeHandshakelineupLinefoundPhexEncodedconnectOutgoingChat access$100(Lphex/chat/ChatEngine;)Zx0 access$200(Lphex/chat/ChatEngine;)V access$3008(Lphex/chat/ChatEngine;)Lphex/utils/GnutellaInputStream; access$400 SourceFileChatEngine.java XQ RS {g PQ [g NO TU  n YZ  p VW wg#phex/chat/ChatEngine$ChatReadWorker [ java/lang/StringBuilderChatReadWorker- p g sun/misc/BASE64Encoder   java/io/IOExceptionphex/chat/ChatEngine  jg  java/lang/Integer     pRead Chat header:   (No handshake response from chat partner. [r p X-NICKNAME:   p Chat Nick: X-PHEX-ENCODED:X-PHEX-ENCODED: TRUE  Sending: CHAT/0.1 200 OKCHAT/0.1 200 OK User-Agent: p X-Phex-Encoded: trueRead Chat response: Connect outgoing to:   CHAT CONNECT/0.1 User-Agent:  Sending:  java/lang/Objectphex/chat/ChatEngine$1phex/net/connection/Connection getSocket ()Lphex/net/repres/SocketFacade;phex/net/repres/SocketFacadegetRemoteAddressgetInputStream"()Lphex/utils/GnutellaInputStream;phex/common/address/DestAddressgetFullHostName1(Lphex/chat/ChatEngine;Lphex/chat/ChatEngine$1;)Vphex/common/Environment getInstance()Lphex/common/Environment;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;hashCode()I toHexString(I)Ljava/lang/String;toStringexecuteOnThreadPool)(Ljava/lang/Runnable;Ljava/lang/String;)V disconnectphex/chat/ChatService chatClosedfireChatConnectionFailedjava/lang/StringgetBytes()[Bencode([B)Ljava/lang/String;phex/io/buffer/ByteBufferwrap([B)Lphex/io/buffer/ByteBuffer;write(Lphex/io/buffer/ByteBuffer;)Vphex/common/log/NLoggerwarn;(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Throwable;)Vphex/prefs/core/NetworkPrefs TcpRWTimeoutLphex/prefs/api/Setting;phex/prefs/api/Settingget()Ljava/lang/Object;intValue setSoTimeout(I)Vphex/utils/GnutellaInputStreamreadLinedebug&(Ljava/lang/Class;Ljava/lang/Object;)V toUpperCase startsWith(Ljava/lang/String;)Z substringtrimequals(Ljava/lang/Object;)Zlength getPhexVendor-(Ljava/lang/Object;)Ljava/lang/StringBuilder;getChatBandwidthController-()Lphex/common/bandwidth/BandwidthController;%phex/net/connection/ConnectionFactorycreateConnectionn(Lphex/common/address/DestAddress;Lphex/common/bandwidth/BandwidthController;)Lphex/net/connection/Connection;1%INOPQRSTUVWXQYZ[\]?***+*,*,  *, **  **^* => ?@A B(D5E9F>G_ ?`a?NO?TUb$[c]|&***+*, ***  ^MN OPQR%S_ &`a&dO&eZfg]g+Y*L+Y+^W X*Z_+`a !hijg]V*****^^_`bc_ `akl]7 *^g_  `amn]/* ^o_ `aop]/* ^t_ `aqr]y* ***5Y+ M*Y,!"##*Y+!"#M%,,&*'hk$^2 |~%EHhkltx_*% sWl tuy`ayvWwg]f*()*+,>*-L%Y.+/+ $Y01+2M,34,*+ 56 %Y7* /,84>,9: **+;u*%</<*Y=>?@??"#/*Y=>??"#*-L%YA+/+ $Y01+;*,^v";?INWd"*CGQXe_*f`a"DxWNyWLzQb${g]@<%YB* C/** *DEYF>?@??M%YG,/*,"#** *-N%Y.-/- $Y01-2:34*- 56 84<9: **-;**Y=>H"#*,^f0Zs    2?_4@`a>zQZvWxWyWb$|}]/*^(_ ~a]/*^(_ ~ab$]/*^(_ ~a}]/*^(_ ~aLJ%%M