python (3.12.0)

(root)/
lib/
python3.12/
asyncio/
__pycache__/
windows_events.cpython-312.opt-1.pyc

ˑe}dZddlZejdk7redddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZddl
mZddl
mZdd	l
mZdd
l
mZddl
mZddl
mZdd
l
mZddlmZdZej2Zej4ZdZdZdZdZGddej>Z Gddej>Z!Gdde!Z"Gdde!Z#Gdde$Z%GddejLZ'Gd d!ejPZ)Gd"d#Z*Gd$d%ejVZ,e'Z-Gd&d'ej\Z/Gd(d)ej\Z0e0Z1y)*z.Selector and proactor event loops for Windows.Nwin32z
win32 only)events)base_subprocess)futures)
exceptions)proactor_events)selector_events)tasks)
windows_utils)logger)SelectorEventLoopProactorEventLoopIocpProactorDefaultEventLoopPolicyWindowsSelectorEventLoopPolicyWindowsProactorEventLoopPolicyiigMbP?g?cXeZdZdZddfd
ZfdZdZd
fd	ZfdZfd	Z	xZ
S)_OverlappedFuturezSubclass of Future which represents an overlapped operation.

    Cancelling it will immediately cancel the overlapped operation.
    Nloopcft|||jr
|jd=||_yNr)super__init___source_traceback_ov)selfovr	__class__s   J/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/asyncio/windows_events.pyrz_OverlappedFuture.__init__6s1
d#!!&&r*ct|}|jH|jjrdnd}|j	dd|d|jj
dd|S)Npending	completedrzoverlapped=<z, #x>)r
_repr_inforr%insertaddressrinfostater!s   r"r)z_OverlappedFuture._repr_info<s\w!#88!%!1!1I{EKK\%4883C3CB2GqIJr#c|jy	|jjd|_y#t$rM}d||d}|jr|j|d<|jj|Yd}~d|_yd}~wwxYw)Nz&Cancelling an overlapped future failedmessage	exceptionfuturesource_traceback)rcancelOSErrorr_loopcall_exception_handler)rexccontexts   r"_cancel_overlappedz$_OverlappedFuture._cancel_overlappedCs88
	7HHOO	7C G
%%.2.D.D*+JJ--g66	7s1	B<BBcD|jt|	|SN)msg)r;rr5rr>r!s  r"r5z_OverlappedFuture.cancelSs !w~#~&&r#cDt|||jyN)r
set_exceptionr;rr2r!s  r"rBz_OverlappedFuture.set_exceptionWs
i(!r#c2t||d|_yrA)r
set_resultrrresultr!s  r"rEz_OverlappedFuture.set_result[s
6"r#rA)__name__
__module____qualname____doc__rr)r;r5rBrE
__classcell__r!s@r"rr0s0
$( '"r#rcdeZdZdZddfd
ZdZfdZdZdZdfd		Z	fd
Z
fdZxZS)
_BaseWaitHandleFuturez2Subclass of Future which represents a wait handle.Nrct|||jr
|jd=||_||_||_d|_y)NrrT)rrrr_handle_wait_handle_registered)rr handlewait_handlerr!s     r"rz_BaseWaitHandleFuture.__init__csL
d#!!&&r*' r#cdtj|jdtjk(SNr)_winapiWaitForSingleObjectrQ
WAIT_OBJECT_0rs r"_pollz_BaseWaitHandleFuture._pollqs)++DLL!<%%&	'r#ct|}|jd|jd|j%|j	rdnd}|j||j
|jd|j
d|S)Nzhandle=r'signaledwaitingzwait_handle=)rr)appendrQr\rRr,s   r"r)z _BaseWaitHandleFuture._repr_infovs|w!#gdll2./0<<#"&**,JIEKK(KK,t'8'8&<=>r#cd|_yrA)r)rfuts  r"_unregister_wait_cbz)_BaseWaitHandleFuture._unregister_wait_cbsr#c|jsyd|_|j}d|_	tj||jdy#t$rh}|j
tjk7rAd||d}|jr|j|d<|jj|Yd}~yYd}~~d}~wwxYwNFz$Failed to unregister the wait handler0r4)rSrR_overlappedUnregisterWaitr6winerrorERROR_IO_PENDINGrr7r8rcrrUr9r:s    r"_unregister_waitz&_BaseWaitHandleFuture._unregister_waits '' 	&&{3	
  &
	||{;;;E!$"
))262H2HG./

11':<
	sA	CAB<<CcD|jt|	|Sr=)rkrr5r?s  r"r5z_BaseWaitHandleFuture.cancels w~#~&&r#cD|jt|	|yrA)rkrrBrCs  r"rBz#_BaseWaitHandleFuture.set_exceptions
i(r#cD|jt|	|yrA)rkrrErFs  r"rEz _BaseWaitHandleFuture.set_results
6"r#rA)
rHrIrJrKrr\r)rcrkr5rBrErLrMs@r"rOrO`s6<8< '

'0')##r#rOcBeZdZdZddfd
ZdZfdZfdZxZS)_WaitCancelFuturezoSubclass of Future which represents a wait for the cancellation of a
    _WaitHandleFuture using an event.
    Nrc:t|||||d|_y)Nr)rr_done_callback)rr eventrUrr!s     r"rz_WaitCancelFuture.__init__s!
UKd;"r#ctd)Nz'_WaitCancelFuture must not be cancelled)RuntimeErrorr[s r"r5z_WaitCancelFuture.cancelsDEEr#c`t|||j|j|yyrA)rrErrrFs  r"rEz_WaitCancelFuture.set_results/
6"*%+r#c`t|||j|j|yyrA)rrBrrrCs  r"rBz_WaitCancelFuture.set_exceptions/
i(*%+r#)	rHrIrJrKrr5rErBrLrMs@r"rprps'8<#
F&
&&r#rpc4eZdZddfd
ZfdZdZxZS)_WaitHandleFutureNrct|||||||_d|_t	j
dddd|_d|_y)NrTF)rr	_proactor_unregister_proactorrfCreateEvent_event
_event_fut)rr rTrUproactorrr!s      r"rz_WaitHandleFuture.__init__sG
V[t<!$(!!--dD%Fr#c|j-tj|jd|_d|_|jj|jd|_t|!|yrA)	r~rXCloseHandlerr{_unregisterrrrc)rrbr!s  r"rcz%_WaitHandleFuture._unregister_wait_cbsY;;",DK"DO	
""488,
#C(r#c|jsyd|_|j}d|_	tj||j|jj|j|j|_y#t
$rh}|jtjk7rAd||d}|jr|j|d<|jj|Yd}~yYd}~d}~wwxYwre)rSrRrfUnregisterWaitExr~r6rhrirr7r8r{_wait_cancelrcrrjs    r"rkz"_WaitHandleFuture._unregister_waits '' 	((dkkB..55dkk6:6N6NP
	||{;;;E!$"
))262H2HG./

11':<
	s A??	C0AC++C0)rHrIrJrrcrkrLrMs@r"ryrysBF)$Pr#ryc2eZdZdZdZdZdZdZdZeZ	y)
PipeServerzXClass representing a pipe server.

    This is much like a bound, listening socket.
    c||_tj|_d|_d|_|j
d|_yNT)_addressweakrefWeakSet_free_instances_pipe_accept_pipe_future_server_pipe_handle)rr+s  r"rzPipeServer.__init__s;
&0
#' --d3
r#cL|j|jdc}|_|S)NF)rr)rtmps  r"_get_unconnected_pipez PipeServer._get_unconnected_pipes%
**d&>&>u&ETZ
r#c
,|jrytjtjz}|r|tjz}tj
|j|tjtjztjztjtjtjtjtj}tj|}|j j#||SrA)closedrXPIPE_ACCESS_DUPLEXFILE_FLAG_OVERLAPPEDFILE_FLAG_FIRST_PIPE_INSTANCECreateNamedPiperPIPE_TYPE_MESSAGEPIPE_READMODE_MESSAGE	PIPE_WAITPIPE_UNLIMITED_INSTANCESrBUFSIZENMPWAIT_WAIT_FOREVERNULL
PipeHandleradd)rfirstflagshpipes     r"rzPipeServer._server_pipe_handle
s;;=**W-I-IIW:::E##MM5%%(E(EE
,,!!=#8#8((',,

8''*  &r#c|jduSrA)rr[s r"rzPipeServer.closeds

%&r#c
|j!|jjd|_|jJ|jD]}|j	d|_d|_|jj
yyrA)rr5rrcloserclear)rrs  r"rzPipeServer.close"su##/$$++-'+D$==$,,



DJ DM  &&(%r#N)
rHrIrJrKrrrrr__del__r#r"rrs'4$'
)Gr#rceZdZdZy)_WindowsSelectorEventLoopz'Windows version of selector event loop.N)rHrIrJrKrr#r"rr1s1r#rcDeZdZdZdfd	ZfdZdZdZ	ddZxZ	S)rz2Windows version of proactor event loop using IOCP.c<|
t}t|	|yrA)rrr)rrr!s  r"rzProactorEventLoop.__init__8s#~H
"r#c	|j|jt|
|jU|jj
}|jj
||jj|d|_yy#|jU|jj
}|jj
||jj|d|_wwxYwrA)		call_soon_loop_self_readingrrun_forever_self_reading_futurerr5r{r)rr r!s  r"rzProactorEventLoop.run_forever=s	1NN4223G!((4..22))002>NN..r2,0)5t((4..22))002>NN..r2,0)5s)BA#C1cK|jj|}|d{}|}|j||d|i}||fS7%w)Naddrextra)r{connect_pipe_make_duplex_pipe_transport)rprotocol_factoryr+frprotocoltranss       r"create_pipe_connectionz(ProactorEventLoop.create_pipe_connectionPsZNN''0w#%00x8>7H1Jh	s!AA	&AcfKtdfd	jgSw)NcJd}	|ri|j}jj|jr|j	y}j||dij
}|yjj|}|_	|jy#t$r9|r#|jdk7r|j	jYyt$rz}|r9|jdk7r&jd||d|j	n$j rt#j$d|djYd}~yd}~wt&j($r|r|j	YyYywxYw)	NrrrzPipe accept failed)r1r2rzAccept pipe failed on pipe %rT)exc_info)rGrdiscardrrrrr{accept_piperadd_done_callbackBrokenPipeErrorfilenorr6r8_debugr
warningrCancelledError)	rrrr9r+loop_accept_piperrservers	    r"rz>ProactorEventLoop.start_serving_pipe.<locals>.loop_accept_pipe[stD)
688:D**2248}}

/1H44hvw.?5A335<NN..t4*./*##$45+#
1DKKMR/JJL/0
1DKKMR///#7%( $1
JJL[[NN#B#'$8/00,,
!JJL
!s1A
B7/B7B77?F"8F"A0E55(F"!F"rA)rr)rrr+rrs```@@r"start_serving_pipez$ProactorEventLoop.start_serving_pipeXs2G$+	6+	6Z	
'(xs*1c	
K|j}
t||||||||f|
|d|	}	|
d{|S7#ttf$rt$r+|j|j
d{7wxYww)N)waiterr)
create_future_WindowsSubprocessTransport
SystemExitKeyboardInterrupt
BaseExceptionr_wait)rrargsshellstdinstdoutstderrbufsizerkwargsrtransps            r"_make_subprocess_transportz,ProactorEventLoop._make_subprocess_transports##%,T8T5-2FFG74:%7067	LL

-.		LLN,,.  	s1'A>868A>8;A;3A64A;;A>rA)
rHrIrJrKrrrrrrLrMs@r"rr5s%<#
1&1j04r#rceZdZdZefdZdZdZdZd dZ	dZ
ed	Zd!d
Z
d!dZd!dZd!d
Zd"dZd!dZdZdZdZdZdZd dZdZdZdZdZdZdZd dZdZ dZ!dZ"y)#rz#Proactor implementation using IOCP.cd|_g|_tjtjt
d||_i|_tj|_
g|_tj|_yrW)
r7_resultsrfCreateIoCompletionPortINVALID_HANDLE_VALUEr_iocp_cacherrrS
_unregistered_stopped_serving)rconcurrencys  r"rzIocpProactor.__init__s_

 77,,dA{D
"??, ' 1r#c2|jtdy)NzIocpProactor is closed)rrur[s r"
_check_closedzIocpProactor._check_closeds::788r#cdt|jzdt|jzg}|j|j	dd|j
jddj|dS)Nzoverlapped#=%sz
result#=%sr< r()lenrrrr`r!rHjoin)rr-s  r"__repr__zIocpProactor.__repr__s_ 3t{{#33s4==113::KK! NN33SXXd^DDr#c||_yrA)r7)rrs  r"set_loopzIocpProactor.set_loops	
r#Ncz|js|j||j}g|_	|d}S#d}wxYwrA)rr\)rtimeoutrs   r"selectzIocpProactor.selects:}}JJwmm
	C$Cs6:c\|jj}|j||SrA)r7rrE)rvaluerbs   r"_resultzIocpProactor._results%jj&&(u
r#c	|jS#t$rD}|jtjtj
fvrt
|jd}~wwxYwrA	getresultr6rhrfERROR_NETNAME_DELETEDERROR_OPERATION_ABORTEDConnectionResetErrorrrkeyr r9s    r"finish_socket_funczIocpProactor.finish_socket_funcsY	<<>!	|| A A + C C EE*CHH55		A?AAc|j|tjt}	t	|t
j
r"|j
|j||n |j|j||j|||jS#t$r|jdcYSwxYw)Nr#)
_register_with_iocprf
Overlappedr
isinstancesocketWSARecvrReadFilerr	_registerrrconnnbytesrr s     r"recvzIocpProactor.recvs  &

#
#D
)	%$

.

4;;=&%8DKKM62~~b$(?(?@@	%<<$$	%AB%%CCc|j|tjt}	t	|t
j
r"|j
|j||n |j|j||j|||jS#t$r|jdcYSwxYwrW)
rrfrrrr	WSARecvIntorReadFileIntorrrrrrbufrr s     r"	recv_intozIocpProactor.recv_intos  &

#
#D
)	#$

.t{{}c59
s3~~b$(?(?@@	#<<?"	#rc|j|tjt}	|j	|j|||j|||jS#t$r|jdcYSwxYw)N)r#N)
rrfrrWSARecvFromrrrrrr
s     r"recvfromzIocpProactor.recvfromsv  &

#
#D
)	-NN4;;=&%8~~b$(?(?@@	-<<,,	-s!A**BBc|j|tjt}	|j	|j||d}|j|||S#t$r|jdcYSwxYw)NrNc	|jS#t$rD}|jtjtj
fvrt
|jd}~wwxYwrArrs    r"finish_recvz/IocpProactor.recvfrom_into.<locals>.finish_recvsY
||~%
<<K$E$E$/$G$G$II.99
r)	rrfrrWSARecvFromIntorrrr)rrrrr rs      r"
recvfrom_intozIocpProactor.recvfrom_intosw  &

#
#D
)	+t{{}c59	~~b$44	+<<	**	+s!A##B?Bc|j|tjt}|j	|j||||j
|||jSrA)rrfrr	WSASendTorrr)rrrrrr s      r"sendtozIocpProactor.sendto
sQ  &

#
#D
)
T[[]C5~~b$(?(?@@r#cH|j|tjt}t	|t
j
r"|j
|j||n |j|j||j|||jSrA)rrfrrrr	WSASendr	WriteFilerrrs     r"sendzIocpProactor.sendsq  &

#
#D
)dFMM*JJt{{}c51LL,~~b$(?(?@@r#c||j|jjtjt
}|j
jjfd}d}|j||}||}tj||j|S)Nc,|jtjdj}j	t
jtj|jjjfS)Nz@P)rstructpackr
setsockoptr	
SOL_SOCKETrfSO_UPDATE_ACCEPT_CONTEXT
settimeout
gettimeoutgetpeername)rrr rrlisteners    r"
finish_acceptz*IocpProactor.accept.<locals>.finish_accept%slLLN++dHOO$56COOF--'@@#
GOOH//12))+++r#cvK	|d{y7#tj$r|jwxYwwrA)rrr)r3rs  r"accept_coroz(IocpProactor.accept.<locals>.accept_coro.s2
,,



s 99%69r)r_get_accept_socketfamilyrfrrAcceptExrrr
ensure_futurer7)rr2r r3r5r3corors `     @r"acceptzIocpProactor.accepts  *&&x7

#
#D
)
HOO%t{{}5	,	Hm<64(
Dtzz2
r#cjtjk(rQtjj||jj}|jd|S|j	tjjjtj"t$}|j'j|fd}|j)||S#t$r?}|jtjk7rj!ddk(rYd}~d}~wwxYw)Nrrc|jjtjtj
dSrW)rr,r	r-rfSO_UPDATE_CONNECT_CONTEXT)rrr rs   r"finish_connectz,IocpProactor.connect.<locals>.finish_connectQs1LLNOOF--'AA1
FKr#)typer	
SOCK_DGRAMrf
WSAConnectrr7rrEr	BindLocalr7r6rherrno	WSAEINVALgetsocknamerr	ConnectExr)rrr+rber r?s `     r"connectzIocpProactor.connect;s99)))
""4;;=':****,CNN4 J  &	!!$++-=
#
#D
)
T[[]G,	~~b$77!	zzU__,!!$)*		s.D	E	
5EE	c	6|j|tjt}|dz}|dz	dz}|j	|jt
j|j|||dd|j|||jS)Nl r)
rrfrrTransmitFilermsvcrt
get_osfhandlerr)rsockfileoffsetcountr 
offset_lowoffset_highs        r"sendfilezIocpProactor.sendfileZs  &

#
#D
)k)
|{2

,,T[[];"Kq!	%
~~b$(?(?@@r#c|jtjt}|j	j}|r|j
Sfd}|j||S)Nc(|jSrA)r)rrr rs   r"finish_accept_pipez4IocpProactor.accept_pipe.<locals>.finish_accept_pipeqsLLNKr#)rrfrrConnectNamedPiperrr)rrr 	connectedrXs `   r"rzIocpProactor.accept_pipefsf  &

#
#D
)''
6	<<%%	~~b$(:;;r#c<Kt}		tj|}	tj|S#t$r(}|jtj
k7rYd}~nd}~wwxYwt
|dzt}tj|d{7w)N)CONNECT_PIPE_INIT_DELAYrfConnectPiper6rhERROR_PIPE_BUSYminCONNECT_PIPE_MAX_DELAYrsleeprr)rr+delayrTr9s     r"rzIocpProactor.connect_pipews'
$009''//
<<;#>#>>?

	#9:E++e$$$s6B6B	A'A"B"A''.BBBc(|j||dS)zWait for a handle.

        Return a Future object. The result of the future is True if the wait
        completed, or False if the wait did not complete (on timeout).
        F)_wait_for_handle)rrTrs   r"wait_for_handlezIocpProactor.wait_for_handles$$VWe<<r#c:|j|dd}||_|Sr)rerr)rrs
done_callbackrbs    r"rzIocpProactor._wait_cancels%##E46+
r#c|j|tj}ntj|dz}tjt}tj||j|j|}|rt||||jnt|||||jjr
jd=fd}|d|f|j|j<S)N@@rrc$jSrA)r\)rrr rs   r"finish_wait_for_handlez=IocpProactor._wait_for_handle.<locals>.finish_wait_for_handles779r#r)rrXINFINITEmathceilrfrrRegisterWaitWithQueuerr+rpr7ryrr)	rrTr
_is_cancelmsr rUrlrs	        @r"rezIocpProactor._wait_for_handles?!!B7S=)B
#
#D
)!77DJJ

B0!"fk

KA!"fk4'+zz3A##B'	$%b!-C"DBJJr#c||jvrL|jj|tj|j	|j
ddyyrW)rSrrfrrrrobjs  r"rz IocpProactor._register_with_iocpsId&&&  %..szz|TZZAN'r#c^|jt||j}|jr
|jd=|js	|dd|}|j|||||f|j|j<|S#t$r}|j|Yd}~>d}~wwxYwr)
rrr7rr%rEr6rBrr+)rr rucallbackrrrHs       r"rzIocpProactor._registers

btzz2##B'zz

$ tR0U#$%b#x"8BJJ
#""
#s
B	B,B''B,cZ|j|jj|y)a
Unregister an overlapped object.

        Call this method when its future has been cancelled. The event can
        already be signalled (pending in the proactor event queue). It is also
        safe if the event is never signalled (because it was cancelled).
        N)rrr`)rr s  r"rzIocpProactor._unregisters$	
!!"%r#cRtj|}|jd|SrW)r	r/)rr7ss   r"r6zIocpProactor._get_accept_sockets MM&!	Qr#c	"|t}n<|dkrtdtj|dz}|tk\rtd	t	j
|j|}|nd}|\}}}}	|jj|\}}	}
}|
|j vr|j#nI|j%s9	||||	}|j'||j(j+|d}|j0D](}	|jj|	j2d*|j0j5y#t$rl|jjr%|jjdd||||fzd|dtjfvrtj|Y}wxYw#t,$r7}
|j/|
|j(j+|Yd}
~
d}
~
wwxYw#d}wxYw)Nrznegative timeoutrjztimeout too bigz8GetQueuedCompletionStatus() returned an unexpected eventz)err=%s transferred=%s key=%#x address=%#x)r1status)rm
ValueErrorrnrorfGetQueuedCompletionStatusrrpopKeyErrorr7	get_debugr8rrXrrr5donerErr`r6rBrr+r)rrrrr|errtransferredrr+rr rurwrrHs              r"r\zIocpProactor._polls?B
q[/007S=)BX~ !233 ::4::rJF~B-3*Cc7
'+{{w'?$2sH d+++
VVX	$[#r:E
LL'MM((+AMR$$	.BKKOOBJJ-	.  "E

::'')JJ55%7#N&);W%E$F7q+"B"BCC'',

,,OOA&MM((++,AsC4 E
G,H
A1GG	H,H<H
HH

Hc:|jj|yrA)rrrts  r"
_stop_servingzIocpProactor._stop_serving-s	
!!#&r#c4|jyt|jjD]:\}}}}|j	rt|tr*	|j<d}tj}||z}	|jrx|	tjkrCtjd|tj|z
tj|z}	|j!||jrxg|_t%j&|jd|_y#t$rS}|j<d||d}|jr|j|d<|jj|Yd}~ad}~wwxYw)NzCancelling a future failedr0r4g?z,%r is running after closing for %.1f seconds)rlistrvalues	cancelledrrpr5r6r7rr8time	monotonicr
debugr\rrXr)
rrbr rurwr9r:
msg_update
start_timenext_msgs
          r"rzIocpProactor.close3sa::'+4;;+=+=+?&@	C"CS(}}C!23CJJL	C0
^^%

*kk4>>++K!4>>#3j#@B>>+j8
JJz"kk
DJJ'
;	Czz-'C),&)#
00:=:O:OG$67

99'B	CsD;;	FAFFc$|jyrA)rr[s r"rzIocpProactor.__del__bs

r#rA)rr)#rHrIrJrKrmrrrrrrstaticmethodrrrrr r#r'r;rIrUrrrfrrerrrr6r\rrrrr#r"rrs-#+29E	
AAA5(AA88>
A<"0&= DO@&
7#r'-^r#rceZdZdZy)rc	tj|f|||||d|_fd}jjjt
jj}	|	j|y)N)rrrrrc\jj}j|yrA)_procpoll_process_exited)r
returncoders  r"rwz4_WindowsSubprocessTransport._start.<locals>.callbackms!*J  ,r#)	rPopenrr7r{rfintrQr)
rrrrrrrrrwrs
`         r"_startz"_WindowsSubprocessTransport._starthso"(('U6&'%'
	-
JJ  00TZZ5G5G1HI	H%r#N)rHrIrJrrr#r"rrfs
&r#rceZdZeZy)rN)rHrIrJr
_loop_factoryrr#r"rrx%Mr#rceZdZeZy)rN)rHrIrJrrrr#r"rr|rr#r)2rKsysplatformImportErrorrfrXrDrnrMr	r*rrrrrrr	r
rrlogr
__all__rrmERROR_CONNECTION_REFUSEDERROR_CONNECTION_ABORTEDr]raFuturerrOrpryobjectrBaseSelectorEventLooprBaseProactorEventLooprrBaseSubprocessTransportrrBaseDefaultEventLoopPolicyrrrrr#r"<module>rsY4
<<7
l
##


|| --`G#GNNG#T&-&01P-1Ph88v2 E E2g==gTDDN&/"I"I&.&V%F%F&&V%F%F&8r#