+
    üÐjz	  ã                   ó®   € R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtHt ^ RI	H
t
Ht ^ RIHt  ! R R4      t]P                  3R lt]R	8X  d
   ]! 4        R# R# )
zj
Implementation of C{AMP} worker commands, and main executable entry point for
the workers.

@since: 12.3
N)ÚFileWrapper)ÚstartLoggingWithObserverÚtextFromEventDict)Ú_WORKER_AMP_STDINÚ_WORKER_AMP_STDOUT)ÚWorkerOptionsc                   ó0   a € ] tR t^t o RtR tR tRtV tR# )ÚWorkerLogObserverz>
A log observer that forward its output to a C{AMP} protocol.
c                ó   € Wn         R# )zO
@param protocol: a connected C{AMP} protocol instance.
@type protocol: C{AMP}
N©Úprotocol)Úselfr   s   &&ÚA/usr/lib/python3/dist-packages/twisted/trial/_dist/workertrial.pyÚ__init__ÚWorkerLogObserver.__init__   s	   € ð
 !Žó    c                ó‚   € ^ RI Hp \        V4      pVf   R# V P                  P	                  VP
                  VR7       R# )z
Produce a log output.
)ÚmanagercommandsN)Úout)Útwisted.trial._distr   r   r   Ú
callRemoteÚ	TestWrite)r   Ú	eventDictr   Útexts   &&  r   ÚemitÚWorkerLogObserver.emit#   s6   € õ 	8ä  Ó+ˆØŠ<ÙØ�‰× Ñ  ×!:Ñ!:ÀÐ ÖEr   r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r	   r	      s   ø‡ € ñò!÷	Fð 	Fr   r	   c                ód  € \        4       pVP                  4        ^ RIHp V! VR,          4      pV ! \        R4      pV ! \
        R4      pVP                  \        V4      4       \        V4      p\        VP                  R4         VP                  ^4      pTR8X  d   M_TP!                  T4       TP#                  4        \$        P&                  P#                  4        \$        P(                  P#                  4        Kz  TP*                  '       d_   \$        P,                  ! R4       TP*                  P/                  4       p	T	P1                  RRTP3                  4       P4                  R	7       R# R#   \         d4   pTP                  ^ ,          \        P                  8X  d    Rp?EK$  h Rp?ii ; i)
zœ
Main function to be run if __name__ == "__main__".

@param _fdopen: If specified, the function to use in place of C{os.fdopen}.
@type _fdopen: C{callable}
)ÚWorkerProtocolzforce-gcÚrbÚwbFTNr   )Úshow_missingÚsummaryÚcoverdir)r   ÚparseOptionsÚtwisted.trial._dist.workerr%   r   r   ÚmakeConnectionr   r	   r   r   ÚreadÚOSErrorÚargsÚerrnoÚEINTRÚdataReceivedÚflushÚsysÚstdoutÚstderrÚtracerÚsettraceÚresultsÚwrite_resultsr*   Úpath)
Ú_fdopenÚconfigr%   ÚworkerProtocolÚ
protocolInÚprotocolOutÚobserverÚrÚer:   s
   &         r   ÚmainrE   /   sI  € ô ‹_€FØ
×ÑÔå9á# F¨:Õ$6Ó7€NáÔ*¨DÓ1€JÙÔ,¨dÓ3€KØ×!Ñ!¤+¨kÓ":Ô;ä  Ó0€HÜ˜XŸ]™]¨EÔ2à
ð	Ø—‘ Ó"ˆAð �Œ8Øà×'Ñ'¨Ô*Ø×ÑÔÜ�J‰J×ÑÔÜ�J‰J×ÑÖà‡}‡}€}Ü�Š�TÔØ—-‘-×'Ñ'Ó)ˆØ×ÑØ u°v·±Ó7H×7MÑ7Mð 	ö 	
ñ øô ô 	Ø�v‰v�a�yœEŸK™KÔ'Þàûð		ús   ÂE1 Å1F/Å<&F*Æ)F*Æ*F/Ú__main__)r    r1   Úosr5   Útwisted.internet.protocolr   Útwisted.python.logr   r   r   r   r   Útwisted.trial._dist.optionsr   r	   ÚfdopenrE   r   © r   r   Ú<module>rM      sP   ðñó Û 	Û 
å 1ß Jß EÝ 5÷Fñ Fð0 —‘ô *
ðZ ˆzÔÙ†Fñ r   