Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
§ àÀ f2-ãó�—dZddlZddlmZddlmZdZeeed¬¦«Gd„d ej¦«Z Gd „d ¦«Z d „Z dS) a¥A class supporting chat-style (command/response) protocols. This class adds support for 'chat' style protocols - where one side sends a 'command', and the other sends a response (examples would be the common internet protocols - smtp, nntp, ftp, etc..). The handle_read() method looks at the input stream for the current 'terminator' (usually '\r\n' for single-line responses, '\r\n.\r\n' for multi-line output), calling self.found_terminator() on its receipt. for example: Say you build an async nntp client using this class. At the start of the connection, you'll have self.terminator set to '\r\n', in order to process the single-line greeting. Just before issuing a 'LIST' command you'll set it to '\r\n.\r\n'. The output of the LIST command will be accumulated (using your own 'collect_incoming_data' method) up to the terminator, and then control will be returned to you - by calling your self.found_terminator() method. éN)Údeque)Ú _deprecatedznThe {name} module is deprecated and will be removed in Python {remove}. The recommended replacement is asyncio)éé )ÚremovecóŠ—eZdZdZdZdZdZdZdd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZdS)Ú async_chatz‡This is an abstract class. You must derive from this class, and add the two methods collect_incoming_data() and found_terminator()irzlatin-1NcóŠ—d|_g|_t¦«|_tj |||¦«dS©Nó)Ú ac_in_bufferÚincomingrÚ producer_fifoÚasyncoreÚ dispatcherÚ__init__)ÚselfÚsockÚmaps ú//opt/alt/python311/lib64/python3.11/asynchat.pyrzasync_chat.__init__JsB€àˆÔ𠈌 õ#™WœWˆÔÝÔ×$Ò$ T¨4°Ñ5Ô5Ð5Ð5Ð5r có —td¦«‚©Nzmust be implemented in subclass©ÚNotImplementedError©rÚdatas rÚcollect_incoming_dataz async_chat.collect_incoming_dataXó€Ý!Ð"CÑDÔDÐDr có:—|j |¦«dS©N)rÚappendrs rÚ_collect_incoming_dataz!async_chat._collect_incoming_data[s€Ø Œ ×Ò˜TÑ"Ô"Ð"Ð"Ð"r cóN—d |j¦«}|jdd…=|Sr )Újoinr)rÚds rÚ _get_datazasync_chat._get_data^s(€Ø �HŠH�T”]Ñ #Ô #ˆØ ŒM˜!˜!˜!Р؈r có —td¦«‚rr©rs rÚfound_terminatorzasync_chat.found_terminatorcrr cóÌ—t|t¦«r|jrt||j¦«}n*t|t ¦«r|dkrt d¦«‚||_dS)zdSet the input delimiter. Can be a fixed string of any length, an integer, or None. rz-the number of received bytes must be positiveN)Ú isinstanceÚstrÚ use_encodingÚbytesÚencodingÚintÚ ValueErrorÚ terminator)rÚterms rÚset_terminatorzasync_chat.set_terminatorfsj€õ �d�CÑ Ô ð N TÔ%6ð Nݘ˜tœ}Ñ-Ô-ˆDˆDÝ ˜�cÑ "Ô "ð N t¨a¢x xÝÐLÑMÔMÐ M؈Œˆˆr có—|jSr )r2r(s rÚget_terminatorzasync_chat.get_terminatorqs €ØŒÐr có — | |j¦«}n1#t$rYdSt$r| ¦«YdSwxYwt |t ¦«r!|jrtt |j ¦«}|j |z|_ |j �rót|j ¦«}|  ¦«}|s#|  |j ¦«d|_ �nœt |t¦«rŒ|}||kr2|  |j ¦«d|_ |j|z |_�nM|  |j d|…¦«|j |d…|_ d|_| ¦«nût|¦«}|j  |¦«}|dkrT|dkr"|  |j d|…¦«|j ||zd…|_ | ¦«nxt%|j |¦«}|r@||kr8|  |j d| …¦«|j | d…|_ dS|  |j ¦«d|_ |j �°ñdSdS)Nr réÿÿÿÿ)ÚrecvÚac_in_buffer_sizeÚBlockingIOErrorÚOSErrorÚ handle_errorr+r,r-r.r/r Úlenr6rr0r2r)ÚfindÚfind_prefix_at_end)rrÚlbr2ÚnÚterminator_lenÚindexs rÚ handle_readzasync_chat.handle_readysÎ€ð Ø—9’9˜TÔ3Ñ4Ô4ˆDˆDøÝð ð ð Ø ˆFˆFÝð ð ð Ø × Ò Ñ Ô Ð Ø ˆFˆFð øøøõ �d�CÑ Ô ð - TÔ%6ð -Ý�˜dœmÑ,Ô,ˆDØ Ô-°Ñ4ˆÔðÔñ3 0Ý�TÔ&Ñ'Ô'ˆBØ×,Ò,Ñ.Ô.ˆJØð0 0à×*Ò*¨4Ô+<Ñ=Ô=Ð=Ø$'�Ô!Ñ!ݘJ­Ñ,Ô,ð, 0à�ؘ’6�6Ø×.Ò.¨tÔ/@ÑAÔAÐAØ(+�DÔ%Ø&*¤o¸Ñ&:�D”O‘Oà×.Ò.¨tÔ/@ÀÀ!ÀÔ/DÑEÔEÐEØ(,Ô(9¸!¸"¸"Ô(=�DÔ%Ø&'�D”OØ×)Ò)Ñ+Ô+Ð+Ð+õ"% Z¡¤�ØÔ)×.Ò.¨zÑ:Ô:�ؘB’;�;à˜q’y�yð×2Ò2°4Ô3DÀVÀeÀVÔ3LÑMÔMÐMØ(,Ô(9¸%ÀÑ:NÐ:OÐ:OÔ(P�DÔ%ð×)Ò)Ñ+Ô+Ð+Ð+õ/¨tÔ/@À*ÑMÔM�EØð 0Ø  Bš;˜;à ×6Ò6°tÔ7HÈÈ5È&ÈÔ7QÑRÔRÐRØ04Ô0AÀ5À&À'À'Ô0J˜DÔ-ؘð×2Ò2°4Ô3DÑEÔEÐEØ,/˜Ô)ðgÔñ3 0ð3 0ð3 0ð3 0ð3 0s‚� A ªA Á A có.—| ¦«dSr )Ú initiate_sendr(s rÚ handle_writezasync_chat.handle_writeÁs€Ø ×ÒÑÔÐÐÐr có.—| ¦«dSr )Úcloser(s rÚ handle_closezasync_chat.handle_closeÄs€Ø � Š ‰ Œ ˆ ˆ ˆ r có¢—t|tttf¦«st dt |¦«¦«‚|j}t|¦«|krGtdt|¦«|¦«D]'}|j   ||||z…¦«Œ(n|j   |¦«|  ¦«dS)Nz#data argument must be byte-ish (%r)r) r+r.Ú bytearrayÚ memoryviewÚ TypeErrorÚtypeÚac_out_buffer_sizer>Úrangerr!rG)rrÚsabsÚis rÚpushzasync_chat.pushÇsπݘ$¥­ µ:Ð >Ñ?Ô?ð (ÝÐAÝ  ™JœJñ(ô(ð (àÔ&ˆÝ ˆt‰9Œ9�tÒ Ð Ý˜1�c $™iœi¨Ñ.Ô.ð :ð :�ØÔ"×)Ò)¨$¨q°°4±¨x¬.Ñ9Ô9Ð9Ð9ð :ð Ô × %Ò % dÑ +Ô +Ð +Ø ×ÒÑÔÐÐÐr cób—|j |¦«| ¦«dSr )rr!rG)rÚproducers rÚpush_with_producerzasync_chat.push_with_producerÓs1€Ø Ô×!Ò! (Ñ+Ô+Ð+Ø ×ÒÑÔÐÐÐr có—dS)z4predicate for inclusion in the readable for select()é©r(s rÚreadablezasync_chat.readable×s €ð ˆqr có —|jp|j S)z4predicate for inclusion in the writable for select())rÚ connectedr(s rÚwritablezasync_chat.writableßs€àÔ!Ð9¨$¬.Ð&8Ð9r có:—|j d¦«dS)zAautomatically close this channel once the outgoing queue is emptyN)rr!r(s rÚclose_when_donezasync_chat.close_when_doneãs€à Ô×!Ò! $Ñ'Ô'Ð'Ð'Ð'r có¤—|j�rE|j�r?|jd}|s |jd=|€| ¦«dS|j} |d|…}nI#t$r<| ¦«}|r|j |¦«n|jd=YŒ—wxYwt|t¦«r|j rt||j ¦«} |  |¦«}n%#t$r| ¦«YdSwxYw|rA|t|¦«ks|t|¦«kr||d…|jd<n|jd=dSdSdS)Nr)rr^rKrQrOÚmoreÚ appendleftr+r,r-r.r/Úsendr<r=r>)rÚfirstÚobsrÚnum_sents rrGzasync_chat.initiate_sendçs¬€ØÔ ñ%  T¤^ñ% ØÔ& qÔ)ˆEàð ØÔ& qÐ)Ø�=Ø×%Ò%Ñ'Ô'Ð'Ø�FðÔ)ˆCð Ø˜T˜c˜T”{��øÝð ð ð Ø—z’z‘|”|�Øð.ØÔ&×1Ò1°$Ñ7Ô7Ð7Ð7àÔ*¨1Ð-Ø�ð  øøøõ˜$¥Ñ$Ô$ð 2¨Ô):ð 2ݘT 4¤=Ñ1Ô1�ð ØŸ9š9 T™?œ?��øÝð ð ð Ø×!Ò!Ñ#Ô#Ð#Ø��ð øøøðð .Ø�c $™iœiÒ'Ð'¨3µ°U±´Ò+;Ð+;Ø,1°(°)°)Ô,<�DÔ& qÑ)Ð)àÔ*¨1Ð-à ˆFðK% ð% ð% ð% s%Á AÁABÂBÃC$Ã$DÄDcóZ—d|_|jdd…=|j ¦«dSr )r rrÚclearr(s rÚdiscard_bufferszasync_chat.discard_bufferss3€àˆÔØ ŒM˜!˜!˜!Ð Ø Ô× Ò Ñ"Ô"Ð"Ð"Ð"r )NN)Ú__name__Ú __module__Ú __qualname__Ú__doc__r:rQr-r/rrr"r&r)r4r6rErHrKrUrXr\r_rarGrkr[r rr r ;sI€€€€€ðFðFð ÐØÐð €LØ€Hð 6ð 6ð 6ð 6ðEðEðEð#ð#ð#ðððð EðEðEð ð ð ððððF0ðF0ðF0ðPðððððð ð ð ððððððð:ð:ð:ð(ð(ð(ð&ð&ð&ðP#ð#ð#ð#ð#r r có—eZdZdd„Zd„ZdS)Úsimple_producerécó"—||_||_dSr )rÚ buffer_size)rrrts rrzsimple_producer.__init__s€ØˆŒ Ø&ˆÔÐÐr cóº—t|j¦«|jkr/|jd|j…}|j|jd…|_|S|j}d|_|Sr )r>rrt)rÚresults rrczsimple_producer.mores\€Ý ˆtŒy‰>Œ>˜DÔ,Ò ,Ð ,Ø”YÐ0 Ô 0Ð0Ô1ˆFØœ  $Ô"2Ð"3Ð"3Ô4ˆDŒI؈Mà”YˆF؈DŒI؈Mr N)rr)rlrmrnrrcr[r rrqrqs7€€€€€ð'ð'ð'ð'ðððððr rqcó°—t|¦«dz }|rA| |d|…¦«s$|dz}|r| |d|…¦«¯$|S)NrZ)r>Úendswith)ÚhaystackÚneedleÚls rr@r@6sk€Ý ˆF‰ Œ �a‰€AØ ð�H×%Ò% f¨R¨a¨R¤jÑ1Ô1ðØ ˆQ‰ˆð ð�H×%Ò% f¨R¨a¨R¤jÑ1Ô1ðà €Hr ) rorÚ collectionsrÚwarningsrÚ_DEPRECATION_MSGrlrr rqr@r[r rúrs×ðð8ðð(€€€ØÐÐÐÐÐà Ð Ð Ð Ð Ð ðNÐà € ˆHÐ&¨wÐ7Ñ7Ô7Ð7ðX#ðX#ðX#ðX#ðX#�Ô$ñX#ôX#ðX#ðvððððñôðð@ ð ð ð ð r