python (3.12.0)

(root)/
lib/
python3.12/
asyncio/
__pycache__/
windows_utils.cpython-312.pyc

ˑedZddlZejdk7redddlZddlZddlZddlZddlZddl	Z	ddl
Z
dZdZejZ
ejZejZdded	d
ZGddZGd
dej&Zy)z)Various Windows specific bits and pieces.Nwin32z
win32 only)pipePopenPIPE
PipeHandlei F)TT)duplex
overlappedbufsizec
tjdjtjtt}|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}-)prefixrNTr	)tempfilemktempformatosgetpidnext
_mmap_counter_winapiPIPE_ACCESS_DUPLEXGENERIC_READ
GENERIC_WRITEPIPE_ACCESS_INBOUNDFILE_FLAG_FIRST_PIPE_INSTANCEFILE_FLAG_OVERLAPPEDCreateNamedPipe	PIPE_WAITNMPWAIT_WAIT_FOREVERNULL
CreateFile
OPEN_EXISTINGConnectNamedPipeGetOverlappedResultCloseHandle)rr	r
addressopenmodeaccessobsizeibsizeflags_and_attribsh1h2ovs            I/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/asyncio/windows_utils.pyrr soo188IIKm,./G--%%(=(== '..&&G555H!}G000!}#88NB

$
$Xw00
vvw;;W\\K

VQg.C.Cw||-
%
%bT
:
t$2v

>#
>#
s
*B6F!!1Gc|eZdZdZdZdZedZdZe	jddZejfdZd	Zd
Zy)rzWrapper for an overlapped pipe handle which is vaguely file-object like.

    The IOCP event loop can use these instead of socket objects.
    c||_yN_handleselfhandles  r/__init__zPipeHandle.__init__Vs	cx|jd|j}nd}d|jjd|dS)Nzhandle=closed< >)r4	__class____name__r5s  r/__repr__zPipeHandle.__repr__YsB<<#t||./FF4>>**+1VHA66r9c|jSr2r3r6s r/r7zPipeHandle.handle`s||r9cH|jtd|jS)NzI/O operation on closed pipe)r4
ValueErrorrCs r/filenozPipeHandle.filenods"<<;<<||r9)r%cP|j||jd|_yyr2r3)r6r%s  r/closezPipeHandle.closeis$<<#%DL$r9cb|j#|d|t||jyy)Nz	unclosed )source)r4ResourceWarningrH)r6_warns  r/__del__zPipeHandle.__del__ns-<<#IdX&EJJL$r9c|Sr2rCs r/	__enter__zPipeHandle.__enter__ssr9c$|jyr2)rH)r6tvtbs    r/__exit__zPipeHandle.__exit__vs

r9N)r@
__module____qualname____doc__r8rApropertyr7rFrr%rHwarningswarnrMrPrUrOr9r/rrQsR7
$+#6#6 
%MM
r9rc$eZdZdZdfd	ZxZS)rzReplacement for subprocess.Popen using overlapped pipe handles.

    The stdin, stdout, stderr are None or instances of PipeHandle.
    c,|jdrJ|jdddk(sJdx}x}}dx}	x}
}|tk(r5tdd\}}	tj|t
j}n|}|tk(r&td\}
}
tj|
d}n|}|tk(r&td\}}tj|d}n|tk(r|}n|}	t|$|f|||d	||	t|	|_|
t|
|_|t||_
	|tk(rtj ||tk(rtj ||tk(rtj |yy#|	|
|fD]}|tj|xYw#|tk(rtj ||tk(rtj ||tk(rtj |wwxYw)
Nuniversal_newlinesr
r)FTT)r	r)TFr)stdinstdoutstderr)getrrmsvcrtopen_osfhandlerO_RDONLYSTDOUTsuperr8rr_r`rarr%rH)r6argsr_r`rakwds	stdin_rfd
stdout_wfd
stderr_wfdstdin_wh	stdout_rh	stderr_rhstdin_rh	stdout_wh	stderr_whhr?s                r/r8zPopen.__init__s88011xx	1%**.22	2J+///9yD=!%t!LHh--hDIIT>#'=#A Iy..y!<JJT>#'=#A Iy..y!<J
v
#JJ	%GT
8:$.
826
8#'1
$(3$(3}#~$~$#		95
+=''*
+
}#~$~$s%'F;7F6F3F33F66AH)NNN)r@rVrWrXr8
__classcell__)r?s@r/rr}s+%+%r9r)rXsysplatformImportErrorr	itertoolsrcr
subprocessrrZ__all__BUFSIZErrfcountrrrrrOr9r/<module>r}s/
<<7
l
##
	0				!
\7+b&&X0%J0%r9