Ë ‚Ö¦iÄãó—dZddlZejdk7red«‚ddlZddlZddlZddlZddlZddl Z ddl Z dZ dZ ejZ ejZej«Zdde d œd „ZGd „d «ZGd „dej&«Zy)z)Various Windows specific bits and pieces.éNÚwin32z win32 only)ÚpipeÚPopenÚPIPEÚ PipeHandlei F)TT)ÚduplexÚ overlappedÚbufsizec óª—tjdjtj«t t ««¬«}|r6tj}tjtjz}||}}n$tj}tj}d|}}|tjz}|dr|tjz}|drtj}nd}dx} } tj||tjd||tj tj"«} tj$||dtj"tj&|tj"«} tj(| d¬«} | j+d«| | fS#| �tj,| «| �tj,| «‚xYw)zELike os.pipe() but with overlapped support and using handles not fds.z\\.\pipe\python-pipe-{:d}-{:d}-)ÚprefixréNT©r )ÚtempfileÚmktempÚformatÚosÚgetpidÚnextÚ _mmap_counterÚ_winapiÚPIPE_ACCESS_DUPLEXÚ GENERIC_READÚ GENERIC_WRITEÚPIPE_ACCESS_INBOUNDÚFILE_FLAG_FIRST_PIPE_INSTANCEÚFILE_FLAG_OVERLAPPEDÚCreateNamedPipeÚ PIPE_WAITÚNMPWAIT_WAIT_FOREVERÚNULLÚ CreateFileÚ OPEN_EXISTINGÚConnectNamedPipeÚGetOverlappedResultÚ CloseHandle) rr r ÚaddressÚopenmodeÚaccessÚobsizeÚibsizeÚflags_and_attribsÚh1Úh2Úovs ú./usr/lib64/python3.12/asyncio/windows_utils.pyrr sˆ€ä�o‰oØ1×8Ñ8Ü �I‰I‹KœœmÓ,ó.ô/€GñÜ×-Ñ-ˆÜ×%Ñ%¬×(=Ñ(=Ñ=ˆØ  '�‰ä×.Ñ.ˆÜ×&Ñ&ˆØ˜G�ˆà ”×5Ñ5Ñ5€Hà�!‚}Ø”G×0Ñ0Ñ0ˆà�!‚}Ü#×8Ñ8ÑàÐà€N€BˆðÜ × $Ñ $Ø �Xœw×0Ñ0Ø ˆv�vœw×;Ñ;¼W¿\¹\óKˆô× Ñ Ø �V˜Q¤§ ¡ ¬g×.CÑ.CØ œwŸ|™|ó-ˆô× %Ñ % b°TÔ :ˆØ ×јtÔ$Ø�2ˆvˆ øðØ ˆ>Ü × Ñ  Ô #Ø ˆ>Ü × Ñ  Ô #Ø ús Ã*B6F!Æ!1Gcó|—eZdZdZd„Zd„Zed„«Zd„Ze jdœd„Z e jfd„Zd „Zd „Zy ) rz�Wrapper for an overlapped pipe handle which is vaguely file-object like. The IOCP event loop can use these instead of socket objects. có—||_y©N©Ú_handle©ÚselfÚhandles r/Ú__init__zPipeHandle.__init__Vs €Øˆ� ócóx—|j�d|j›�}nd}d|jj›d|›d�S)Nzhandle=ÚclosedÚ<Ú Ú>)r4Ú __class__Ú__name__r5s r/Ú__repr__zPipeHandle.__repr__YsB€Ø �<‰<Ð #ؘtŸ|™|Ð.Ð/‰FàˆFØ�4—>‘>×*Ñ*Ð+¨1¨V¨H°AÐ6Ð6r9có—|jSr2r3©r6s r/r7zPipeHandle.handle`s €à�|‰|Ðr9cóH—|j€ td«‚|jS)NzI/O operation on closed pipe)r4Ú ValueErrorrCs r/ÚfilenozPipeHandle.filenods"€Ø �<‰<Ð ÜÐ;Ó<Ð <Ø�|‰|Ðr9)r%cóP—|j�||j«d|_yyr2r3)r6r%s r/ÚclosezPipeHandle.closeis$€Ø �<‰<Ð #Ù ˜Ÿ ™ Ô %؈D�Lð $r9cób—|j�#|d|›�t|¬«|j«yy)Nz unclosed )Úsource)r4ÚResourceWarningrH)r6Ú_warns r/Ú__del__zPipeHandle.__del__ns-€Ø �<‰<Ð #Ù �I˜d˜XÐ&¬ÀÕ EØ �J‰J�Lð $r9có—|Sr2©rCs r/Ú __enter__zPipeHandle.__enter__ss€Øˆ r9có$—|j«yr2)rH)r6ÚtÚvÚtbs r/Ú__exit__zPipeHandle.__exit__vs €Ø � ‰ � r9N)r@Ú __module__Ú __qualname__Ú__doc__r8rAÚpropertyr7rFrr%rHÚwarningsÚwarnrMrPrUrOr9r/rrQsR„ñòò7ðñóðòð $+×#6Ñ#6ô ð %ŸM™Móò ór9rcó$‡—eZdZdZdˆfd„ ZˆxZS)rzˆReplacement for subprocess.Popen using overlapped pipe handles. The stdin, stdout, stderr are None or instances of PipeHandle. c óØ•—dx}x}}dx} x} } |tk(r5tdd¬«\} } tj| tj «}n|}|tk(r&td¬«\} } tj| d«}n|}|tk(r&td¬«\} }tj|d«}n|t k(r|}n|} t‰|� |f|||dœ|¤Ž| �t| «|_ | �t| «|_ | �t| «|_ |tk(rt j|«|tk(rt j|«|tk(rt j|«yy#| | | fD]}|€Œtj|«Œ‚xYw#|tk(rt j|«|tk(rt j|«|tk(rt j|«wwxYw)N)FTT)r r)TFrr)ÚstdinÚstdoutÚstderr)rrÚmsvcrtÚopen_osfhandlerÚO_RDONLYÚSTDOUTÚsuperr8rr^r_r`rr%rH)r6Úargsr^r_r`ÚkwdsÚ stdin_rfdÚ stdout_wfdÚ stderr_wfdÚstdin_whÚ stdout_rhÚ stderr_rhÚstdin_rhÚ stdout_whÚ stderr_whÚhr?s €r/r8zPopen.__init__‚sÌø€ð/3Ð2ˆ Ð2�J Ø+/Ð/ˆÐ/�9˜yØ ”DŠ=Ü!%°ÀtÔ!LÑ ˆH�hÜ×-Ñ-¨h¼¿ ¹ ÓD‰IàˆIØ ”TŠ>Ü#'°=Ô#AÑ ˆI�yÜ×.Ñ.¨y¸!Ó<‰JàˆJØ ”TŠ>Ü#'°=Ô#AÑ ˆI�yÜ×.Ñ.¨y¸!Ó<‰JØ ”vÒ Ø#‰JàˆJð %Ü ‰GÑ ˜Tð 8¨¸:Ø$.ñ 8Ø26ò 8ðÐ#Ü'¨Ó1�” ØÐ$Ü(¨Ó3�” ØÐ$Ü(¨Ó3�• àœŠ}Ü—‘˜Ô#ØœŠ~Ü—‘˜Ô$ØœŠ~Ü—‘˜Õ$ðøð# Ø  ¨9Ó5�Ø‘=Ü×'Ñ'¨Õ*ð6ð ûðœŠ}Ü—‘˜Ô#ØœŠ~Ü—‘˜Ô$ØœŠ~Ü—‘˜Õ$ðús%Â=E$Ã7F Å$ F Å1F Æ F Æ AG))NNN)r@rVrWrXr8Ú __classcell__)r?s@r/rr}sø„ñ÷+%ñ+%r9r)rXÚsysÚplatformÚ ImportErrorrÚ itertoolsrarÚ subprocessrrZÚ__all__ÚBUFSIZErrdÚcountrrrrrOr9r/Úr{s“ðÙ/ã à‡<�<�7ÒÙ �lÓ #Ð#ãÛÛ Û ÛÛÛð 0€ð €Ø‡�€Ø × Ñ €Ø� —‘Ó!€ ð  \¸7ô+÷b&ñ&ôX0%ˆJ× Ñ õ0%r9