+
    üÐj)  ã                   ó  a € R t0 t R t^ RIt^ RIHt ^ RIHtHt ^ RIH	t	H
t
Ht ^ RIHtHt ]! ]	4       ! R R]P                  4      4       t]R8X  d®   ]P$                  ! ]P&                  ^,          4      P)                  4        ]P*                  ! ]! ]P&                  ^,          R	4      4       ] ^ k ^ R
IHt ]! 4       t]P2                  ! ]4       ]P4                  ! 4        ]P6                  ! ]P8                  4       R# R# )zÊ
Main program for the child process run by
L{twisted.test.test_stdio.StandardInputOutputTests.test_readConnectionLost} to
test that IHalfCloseableProtocol.readConnectionLost works for stdio transports.
N)Úimplementer)ÚprotocolÚstdio)ÚIHalfCloseableProtocolÚIReactorCoreÚ
ITransport)ÚlogÚreflectc                   ó€   a € ] tR t^t o RtRtV 3R lR ltV 3R lR ltRV 3R lR lltV 3R	 lR
 lt	V 3R lt
RtV tR# )ÚHalfCloseProtocolz¾
A protocol to hook up to stdio and observe its transport being
half-closed.  If all goes as expected, C{exitCode} will be set to C{0};
otherwise it will be set to C{1} to indicate failure.
Nc                ó   <€ V ^8„  d   QhRR/# ©é   ÚreturnN© )ÚformatÚ__classdict__s   "€ÚI/usr/lib/python3/dist-packages/twisted/test/stdio_test_halfclose_buggy.pyÚ__annotate__ÚHalfCloseProtocol.__annotate__    s   ø€ ÷ #ñ # ñ #ó    c                ó<   € V P                   P                  R4       R# )z-
Signal the parent process that we're ready.
ó   xN)Ú	transportÚwrite©Úselfs   &r   ÚconnectionMadeÚ HalfCloseProtocol.connectionMade    s   € ð 	�‰×Ñ˜TÖ"r   c                ó   <€ V ^8„  d   QhRR/# r   r   )r   r   s   "€r   r   r   &   s   ø€ ÷ 1ñ 1 Dñ 1r   c                ó   € \        R4      h)z^
This is the desired event.  Once it has happened, stop the reactor so
the process will exit.
zsomething went wrong)Ú
ValueErrorr   s   &r   ÚreadConnectionLostÚ$HalfCloseProtocol.readConnectionLost&   s   € ô
 Ð/Ó0Ð0r   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Úreasonr   N)Úobject)r   r   s   "€r   r   r   -   s   ø€ ÷ ñ ¡Vð °tñ r   c                ó>   € ^ V n         \        P                  ! 4        R# )zt
This may only be invoked after C{readConnectionLost}.  If it happens
otherwise, mark it as an error and shut down.
N)ÚexitCodeÚreactorÚstop)r   r%   s   &&r   ÚconnectionLostÚ HalfCloseProtocol.connectionLost-   s   € ð
 ˆŒÜ�ŠŽr   c                ó   <€ V ^8„  d   QhRR/# r   r   )r   r   s   "€r   r   r   5   s   ø€ ÷ ñ  Tñ r   c                ó   € R # ©Nr   r   s   &r   ÚwriteConnectionLostÚ%HalfCloseProtocol.writeConnectionLost5   s   € ár   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r   r   )r   )r   r   s   "€r   r   r      s   ø‡ ‚ ñ Ñò r   )r(   r/   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r(   r   r"   r+   r0   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      sA   ø‡ € ñð €H÷#ð #÷1ð 1÷ò ÷ð ÷A ƒ r   r   Ú__main__Úw)r)   c                ó@   € V ^8„  d   Qh/ ^ \         9   d
   \        ;R&   # )r   r)   )Ú__conditional_annotations__r   )r   s   "r   r   r      s    € ÷ ñ ÷p ÒŒ\Ñòqr   )r>   r7   ÚsysÚzope.interfacer   Útwisted.internetr   r   Útwisted.internet.interfacesr   r   r   Útwisted.pythonr   r	   ÚProtocolr   r3   ÚnamedAnyÚargvÚinstallÚstartLoggingÚopenr)   ÚhalfCloseProtocolÚ
StandardIOÚrunÚexitr(   r   )r>   s   @r   Ú<module>rN      sÌ   øðö
ó å &ç ,ß XÑ Xß 'ñ Ð#Ó$ô!˜×)Ñ)ó !ó %ð!ðH ˆzÔØ×Ò�S—X‘X˜a•[Ó!×)Ñ)Ô+Ø×Ò‘T˜#Ÿ(™( 1�+ sÓ+Ô,ÛÝ(á)Ó+ÐØ	×ÒÐ&Ô'Ø‡K‚K„MØ‡H‚HÐ×'Ñ'Ö(ñ r   