python (3.12.0)

(root)/
lib/
python3.12/
asyncio/
__pycache__/
selector_events.cpython-312.opt-2.pyc

ˑe{	dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z		ddl
Z
ddlm
Z
ddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZeejd
Zer	ej2dZdZGdde
j:ZGddej>ej@Z!Gdde!Z"Gdde!ejFZ$y#e$rdZ
YwxYw#e$rdZYpwxYw))BaseSelectorEventLoopN)base_events)	constants)events)futures)	protocols)sslproto)
transports)trsock)loggersendmsg
SC_IOV_MAXFct	|j|}t|j|zS#t$rYywxYwNF)get_keyboolrKeyError)selectorfdeventkeys    K/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/asyncio/selector_events.py_test_selector_eventr*sA(r"CJJ&''s+	77ceZdZ	d2fd	Zd2ddddZ	d2ddddejejddZ	d3dZ	fd	Z
d
ZdZdZ
d
ZdZdddejejfdZdddejejfdZddejejfdZdZdZdZdZdZdZdZdZdZdZd2dZdZdZd Z d!Z!d"Z"d4d#Z#d$Z$d%Z%d&Z&d'Z'd(Z(d)Z)d*Z*d2d+Z+d,Z,d-Z-d.Z.d/Z/d0Z0d1Z1xZ2S)5rNct||tj}t	j
d|jj||_|jtj|_y)NzUsing selector: %s)
super__init__	selectorsDefaultSelectorr
debug	__class____name__	_selector_make_self_pipeweakrefWeakValueDictionary_transports)selfrr"s  rrzBaseSelectorEventLoop.__init__;sa
 002H)8+=+=+F+FG!"668extraservercD|j|t||||||SN)_ensure_fd_no_transport_SelectorSocketTransport)r)sockprotocolwaiterr,r-s      r_make_socket_transportz,BaseSelectorEventLoop._make_socket_transportEs*$$T*'dHf(-v7	7r*F)server_sideserver_hostnamer,r-ssl_handshake_timeoutssl_shutdown_timeoutc
|j|tj|||||||	|
}t||||||jS)N)r8r9r+)r0r
SSLProtocolr1_app_transport)r)rawsockr3
sslcontextr4r6r7r,r-r8r9ssl_protocols            r_make_ssl_transportz)BaseSelectorEventLoop._make_ssl_transportKsW	
$$W-++(J"7!5	
	!w',V	=***r*cD|j|t||||||Sr/)r0_SelectorDatagramTransport)r)r2r3addressr4r,s      r_make_datagram_transportz.BaseSelectorEventLoop._make_datagram_transport]s,$$T*)$h*165B	Br*c|jrtd|jry|jt||j"|jjd|_yy)Nz!Cannot close a running event loop)
is_runningRuntimeError	is_closed_close_self_pipercloser$r)r"s rrJzBaseSelectorEventLoop.closecsa??BCC>>

>>%NN  "!DN&r*c|j|jj|jjd|_|jjd|_|xj
dzc_y)Nr)_remove_reader_ssockfilenorJ_csock
_internal_fdsr)s rrIz&BaseSelectorEventLoop._close_self_pipens\DKK..01ar*cDtj\|_|_|jj	d|jj	d|xj
dz
c_|j
|jj|jy)NFr)	socket
socketpairrNrPsetblockingrQ_add_readerrO_read_from_selfrRs rr%z%BaseSelectorEventLoop._make_self_pipevsq#)#4#4#6 T[&&a++-t/C/CDr*cyr/r)datas  r_process_self_dataz(BaseSelectorEventLoop._process_self_data~sr*c		|jjd}|sy|j|1#t$rY=t$rYywxYw)Ni)rNrecvr]InterruptedErrorBlockingIOErrorr[s  rrXz%BaseSelectorEventLoop._read_from_selfsV
{{''-''-$
"

s33	A	A	A	c|j}|y	|jdy#t$r(|jrt	j
ddYyYywxYw)Nz3Fail to write a null byte into the self-pipe socketTexc_info)rPsendOSError_debugr
r!)r)csocks  r_write_to_selfz$BaseSelectorEventLoop._write_to_selfsU=	,JJu	,{{0&*,	,s#,AAdcf|j|j|j|||||||	yr/)rWrO_accept_connection)r)protocol_factoryr2r>r-backlogr8r9s        r_start_servingz$BaseSelectorEventLoop._start_servings4	
(?(?)4VW.0D	Fr*c
t|D]w}	|j\}	}
|jrtjd||
|	|	jdd|
i}|j
||	|||||}|j|yy#tttf$rYyt$r}
|
jtjtjtjtj fvry|j#d|
t%j&|d|j)|j+|j-t.j0|j2|||||||	nYd}
~
dd}
~
wwxYw)Nz#%r got a new connection from %r: %rFpeernamez&socket.accept() out of system resource)message	exceptionrT)rangeacceptrhr
r!rV_accept_connection2create_taskrar`ConnectionAbortedErrorrgerrnoEMFILEENFILEENOBUFSENOMEMcall_exception_handlerrTransportSocketrMrO
call_laterrACCEPT_RETRY_DELAYrp)r)rnr2r>r-ror8r9_connaddrr,rvexcs              rrmz(BaseSelectorEventLoop._accept_connections]w#	)A"
)![[]
d;;LL!F!'t5  '2$T*11$dE:v)+?A  (G#	)$%57MN

99u||!&!>>
//#K%("("8"8">1
''
6OOI$@$@$($7$7$4dJ$+-B$8	:
:
sABE5E5&CE00E5cKd}d}		|}|j}
|r|j||||
d||||	}	n|j|||
||}		|
d{y7#t$r|	j	wxYw#t
tf$rt$r?}|jr)d|d}|||d<|	|	|d<|j|Yd}~yYd}~yd}~wwxYww)NT)r4r6r,r-r8r9)r4r,r-z3Error on transport creation for incoming connection)rsrtr3	transport)	
create_futurer@r5
BaseExceptionrJ
SystemExitKeyboardInterruptrhr)
r)rnrr,r>r-r8r9r3rr4rcontexts
             rrwz)BaseSelectorEventLoop._accept_connection2s
	"	5')H'')F 44(Jv $E&*?)=	5?	!77(6!8#	
 
!

-.		5{{N!$
'*2GJ'(+4GK(++G44	5sSCA
A>A AA CA  A;;A>>C0C
CCCc*|}t|ts	t|j}	|j|}|jstd|d|y#ttt
f$rtd|dwxYw#t$rYywxYw)NzInvalid file object: zFile descriptor z is used by transport )

isinstanceintrOAttributeError	TypeError
ValueErrorr(
is_closingrGr)r)rrOrs    rr0z-BaseSelectorEventLoop._ensure_fd_no_transports&#&
KV]]_-	&((0I'')"&rf,B m%&&*#Iz:
K #8!?@dJ
K
		sAB$B	BBc|jtj|||d}	|jj	|}|j|j
c}\}}|jj
||tjz||f||j|S#t$r1|jj|tj|dfY|SwxYwr/)
_check_closedrHandler$rr\modifyr
EVENT_READcancelrregister	r)rcallbackargshandlermaskreaderwriters	         rrWz!BaseSelectorEventLoop._add_readersxtT:
	 ..((,C
&)ZZ"D"66NN!!"dY-A-A&A#)6"2
4!


	4NN##B	(<(<%+TN
4
	4B%%6CCc||jry	|jj|}|j|jc}\}}|t
jz}|s|jj|n|jj||d|f||jyy#t$rYywxYwNFT)rHr$rrr\rr
unregisterrrrr)rrrrrs      rrMz$BaseSelectorEventLoop._remove_reader"s>>	..((,C&)ZZ"D"66Y))))D))"-%%b$v?!

		sB//	B;:B;c|jtj|||d}	|jj	|}|j|j
c}\}}|jj
||tjz||f||j|S#t$r1|jj|tjd|fY|SwxYwr/)rrrr$rr\rrEVENT_WRITErrrrs	         r_add_writerz!BaseSelectorEventLoop._add_writer7sxtT:
	 ..((,C
&)ZZ"D"66NN!!"dY-B-B&B#)6"2
4!


	4NN##B	(=(=%)6N
4
	4rc~	|jry	|jj|}|j|jc}\}}|t
jz}|s|jj|n|jj|||df||jyy#t$rYywxYwr)rHr$rrr\rrrrrrrs      r_remove_writerz$BaseSelectorEventLoop._remove_writerGs'>>	..((,C&)ZZ"D"66Y****D))"-%%b$?!

		sB00	B<;B<cP	|j||j||g|yr/)r0rWr)rrrs    r
add_readerz BaseSelectorEventLoop.add_reader^s*$$$R(X--r*cH	|j||j|Sr/)r0rMr)rs  r
remove_readerz#BaseSelectorEventLoop.remove_readerc$'$$R(""2&&r*cP	|j||j||g|yr/)r0rrs    r
add_writerz BaseSelectorEventLoop.add_writerhs*%$$R(X--r*cH	|j||j|Sr/)r0rrs  r
remove_writerz#BaseSelectorEventLoop.remove_writermrr*cK	tj||jr|jdk7rt	d	|j|S#ttf$rYnwxYw|j}|j}|j||j||j|||}|jtj|j |||d{7SwNrthe socket must be non-blockingr)r_check_ssl_socketrh
gettimeoutrr_rar`rrOr0rW
_sock_recvadd_done_callback	functoolspartial_sock_read_done)r)r2nfutrrs      r	sock_recvzBaseSelectorEventLoop.sock_recvrs		%%d+;;4??,1>??	99Q<!12		  "
[[]$$R(!!"doosD!Dd22BvF	Hyy7AC6AC6A'$C6&A''B	C60C31C6cL||js|j|yyr/)	cancelledrr)rrrs    rrz%BaseSelectorEventLoop._sock_read_done%>!1!1!3r""4r*c|jry	|j|}|j|y#ttf$rYyt
tf$rt$r}|j|Yd}~yd}~wwxYwr/)	doner_
set_resultrar`rrr
set_exception)r)rr2rr\rs      rrz BaseSelectorEventLoop._sock_recvsu88:		!99Q<D
NN4  !12	-.		#c""	#6A9A9A44A9cK	tj||jr|jdk7rt	d	|j|S#ttf$rYnwxYw|j}|j}|j||j||j|||}|jtj|j |||d{7Swr)rrrhrr	recv_intorar`rrOr0rW_sock_recv_intorrrr)r)r2bufrrrs      rsock_recv_intoz$BaseSelectorEventLoop.sock_recv_intos	
	%%d+;;4??,1>??	>>#&&!12		  "
[[]$$R(!!"d&:&:CsKd22BvF	Hyyrc|jry	|j|}|j|y#ttf$rYyt
tf$rt$r}|j|Yd}~yd}~wwxYwr/)	rrrrar`rrrr)r)rr2rnbytesrs      rrz%BaseSelectorEventLoop._sock_recv_intosv88:		#^^C(F
NN6" !12	-.		#c""	#rcK	tj||jr|jdk7rt	d	|j|S#ttf$rYnwxYw|j}|j}|j||j||j|||}|jtj|j |||d{7Swr)rrrhrrrecvfromrar`rrOr0rW_sock_recvfromrrrr)r)r2bufsizerrrs      r
sock_recvfromz#BaseSelectorEventLoop.sock_recvfroms		%%d+;;4??,1>??	==))!12		  "
[[]$$R(!!"d&9&93gNd22BvF	Hyyrc|jry	|j|}|j|y#ttf$rYyt
tf$rt$r}|j|Yd}~yd}~wwxYwr/)	rrrrar`rrrr)r)rr2rresultrs      rrz$BaseSelectorEventLoop._sock_recvfromsv88:		#]]7+F
NN6" !12	-.		#c""	#rcK	tj||jr|jdk7rt	d|st|}	|j
||S#ttf$rYnwxYw|j}|j}|j||j||j||||}|jtj |j"|||d{7Swr)rrrhrrlen
recvfrom_intorar`rrOr0rW_sock_recvfrom_intorrrr)r)r2rrrrrs       rsock_recvfrom_intoz(BaseSelectorEventLoop.sock_recvfrom_intos	
	%%d+;;4??,1>??XF	%%c622!12		  "
[[]$$R(!!"d&>&>T3"(*d22BvF	Hyys7ADA#"D#A52D4A55B
D?DDc|jry	|j||}|j|y#ttf$rYyt
tf$rt$r}|j|Yd}~yd}~wwxYwr/)	rrrrar`rrrr)r)rr2rrrrs       rrz)BaseSelectorEventLoop._sock_recvfrom_intosz88:		#''W5F
NN6" !12	-.		#c""	#s7A:A:A55A:c	*K	tj||jr|jdk7rt	d	|j|}|t|k(ry|j}|j}|j||j||j||t||g}|jt!j"|j$|||d{S#ttf$rd}YwxYw7wr)rrrhrrrfrar`rrrOr0r
_sock_sendall
memoryviewrrr_sock_write_done)r)r2r\rrrrs       rsock_sendallz"BaseSelectorEventLoop.sock_sendalls		%%d+;;4??,1>??			$A
D	>  "
[[]$$R(!!"d&8&8#t",T"2QC9d33RG	Iy !12	A	s7ADC:B D5D6D:DD
DDc:|jry|d}	|j||d}||z
}|t|k(r|jdy||d<y#ttf$rYytt
f$rt$r}|j|Yd}~yd}~wwxYwNr)
rrfrar`rrrrrr)r)rr2viewposstartrrs        rrz#BaseSelectorEventLoop._sock_sendall3s88:A			$uv,'A	
CINN4 CF !12	-.		c"	sAB(B?BBcK	tj||jr|jdk7rt	d	|j||S#ttf$rYnwxYw|j}|j}|j||j||j||||}|jtj|j |||d{7Swr)rrrhrrsendtorar`rrOr0r_sock_sendtorrrr)r)r2r\rCrrrs       rsock_sendtoz!BaseSelectorEventLoop.sock_sendtoIs		%%d+;;4??,1>??	;;tW--!12		  "
[[]$$R(!!"d&7&7dD")+d33RG	Iyys7AC8AC8A(%C8'A((B
C82C53C8c|jry	|j|d|}|j|y#ttf$rYyt
tf$rt$r}|j|Yd}~yd}~wwxYwr)	rrrrar`rrrr)r)rr2r\rCrrs       rrz"BaseSelectorEventLoop._sock_sendtodsx88:		D!W-A
NN1 !12	-.		#c""	#s8A;	A; A66A;c"K	tj||jr|jdk7rt	d|j
tjk(s-tjrd|j
tjk(rG|j||j
|j|j|d{}|d\}}}}}|j}|j|||	|d{d}S7?7#d}wxYww)Nrr)familytypeprotoloop)rrrhrrrrTAF_INET	_HAS_IPv6AF_INET6_ensure_resolvedrrr
_sock_connect)r)r2rCresolvedrrs      rsock_connectz"BaseSelectorEventLoop.sock_connectss		%%d+;;4??,1>??;;&..(%%$++*H!22$))4::3H#+1+Aq!Q  "3g.	9CCs<CDD2D8D=D>DDDDDc|j}	|j||jdd}y#ttf$rf|j||j
||j|||}|jtj|j||Yd}yttf$rt$r}|j|Yd}~d}yd}~wwxYw#d}wxYw)Nr)rOconnectrrar`r0r_sock_connect_cbrrrrrrrr)r)rr2rCrrrs       rrz#BaseSelectorEventLoop._sock_connects
[[]	LL! 
NN4 C# !12		M

((,%%D))3g?F!!!!$"7"7FK
MC-.		#c""C	#
Cs97C"A0C'C"+CCC"CC""C&cL||js|j|yyr/)rrrs    rrz&BaseSelectorEventLoop._sock_write_donerr*cv|jry	|jtjtj}|dk7rt|d|	|j
dd}y#ttf$rYd}yttf$rt$r}|j|Yd}~d}yd}~wwxYw#d}wxYw)NrzConnect call failed )
r
getsockoptrT
SOL_SOCKETSO_ERRORrgrrar`rrrr)r)rr2rCerrrs      rrz&BaseSelectorEventLoop._sock_connect_cbs88:	//&"3"3V__ECaxc%9'#CDD
NN4 C !12	C-.		#c""C	#
Cs<AA*B4*B19B4=B1B,%B4,B11B44B8cK	tj||jr|jdk7rt	d|j}|j
|||d{S7w)Nrr)rrrhrrr_sock_accept)r)r2rs   rsock_acceptz!BaseSelectorEventLoop.sock_acceptsd		%%d+;;4??,1>??  "#t$yysA(A1*A/+A1c|j}	|j\}}|jd|j||fy#tt
f$rc|j
||j||j||}|jtj|j||Yyttf$rt$r}|j!|Yd}~yd}~wwxYw)NFr)rOrvrVrrar`r0rWr	rrrrrrrr)r)rr2rrrCrrs        rr	z"BaseSelectorEventLoop._sock_accepts
[[]
	, KKMMD'U#
NND'?+ !12	L((,%%b$*;*;S$GF!!!!$"6"66J
L-.		#c""	#s$A

A/C-;C-C((C-cK|j|j=|j}|j|j	d{	|j|j|||dd{|j|r|j||j|j<S7h7A#|j|r|j||j|j<wxYww)NF)fallback)	r(_sock_fd
is_reading
pause_reading_make_empty_waiter
sock_sendfile_sock_reset_empty_waiterresume_reading)r)transpfileoffsetcountrs      r_sendfile_nativez&BaseSelectorEventLoop._sendfile_nativesV__-**,'')))	7++FLL$5:,<<
&&(%%'06DV__-	*<
&&(%%'06DV__-s<AC:
B6C:#B:6B87B::=C:8B::=C77C:cd|D]\}}|j|jc}\}}|tjzr1|/|jr|j|n|j
||tjzsz|}|jr|j||j
|yr/)	fileobjr\rr
_cancelledrM
_add_callbackrr)r)
event_listrrrrrs       r_process_eventsz%BaseSelectorEventLoop._process_eventss#	/IC(+SXX%G%ffi***v/A$$''0&&v.i+++0B$$''0&&v.	/r*cb|j|j|jyr/)rMrOrJ)r)r2s  r
_stop_servingz#BaseSelectorEventLoop._stop_servingsDKKM*

r*r/NNN)r)3r#
__module____qualname__rr5rSSL_HANDSHAKE_TIMEOUTSSL_SHUTDOWN_TIMEOUTr@rDrJrIr%r]rXrjrprmrwr0rWrMrrrrrrrrrrrrrrrrrrrrrrrr
r	rr r"
__classcell__r"s@rrr5so
97%)$79=+ $t"+"A"A!*!?!?+&CGB	" E

,&#'tS-6-L-L,5,J,JFD#"+"A"A!*!?!?	,)`D"+"A"A!*!?!?	)5V&$ * ..
'
.
'
,#! *#".#"2#">,6
2.#*
,"7/r*rceZdZdZdZdfd	ZdZdZdZdZ	dZ
d	Zd
ZdZ
dZej fd
ZddZdZdZdZdZxZS)_SelectorTransportiNct|||tj||jd<	|j|jd<d|jvr	|j|jd<||_
|j|_d|_
|j|||_t!j"|_d|_d|_d|_|j|jj-||j.|j<y#t$rd|jd<YwxYw#tj$rd|jd<YwxYw)NrTsocknamerrFr)rrrr_extragetsocknamerggetpeernamerTerrorrrOr_protocol_connectedset_protocol_servercollectionsdeque_buffer
_conn_lost_closing_paused_attachr()r)rr2r3r,r-r"s      rrz_SelectorTransport.__init__s8
% & 6 6t <H	+&*&6&6&8DKK
#T[[(
/*.*:*:*<J'


#( (#"((*
<<#LL  "*.'+	+&*DKK
#	+
<<
/*.J'
/s#D'!E'EE"E*)E*c|jjg}|j|jdn|jr|jd|jd|j
|j|jjst|jj|j
tj}|r|jdn|jdt|jj|j
tj}|rd}nd}|j}|jd|d	|d
djdj|S)
Nclosedclosingzfd=zread=pollingz	read=idlepollingidlezwrite=<z
, bufsize=>z<{}> )r"r#rappendr9r_looprHrr$rrrget_write_buffer_sizeformatjoin)r)infor?staters     r__repr__z_SelectorTransport.__repr__#s$''(::KK!
]]KK	"c$--)*::!$***>*>*@*4::+?+?+/==):N:NPGN+K(*4::+?+?+/==+4+@+@BG!002GKK'%
7)1=>}}SXXd^,,r*c&|jdyr/)_force_closerRs rabortz_SelectorTransport.abort?s$r*c ||_d|_yNT)	_protocolr2)r)r3s  rr3z_SelectorTransport.set_protocolBs!#' r*c|jSr/)rPrRs rget_protocolz_SelectorTransport.get_protocolFs~~r*c|jSr/)r9rRs rrz_SelectorTransport.is_closingIs}}r*cB|jxr
|jSr/)rr:rRs rrz_SelectorTransport.is_readingLs??$$9T\\)99r*c|jsyd|_|jj|j|jjrt
jd|yy)NTz%r pauses reading)rr:rDrMr	get_debugr
r!rRs rrz _SelectorTransport.pause_readingOsP 

!!$--0::!LL,d3"r*c|js|jsyd|_|j|j|j|j
j
rtjd|yy)NFz%r resumes reading)	r9r:rWr_read_readyrDrVr
r!rRs rrz!_SelectorTransport.resume_readingWsW==(8(89::!LL-t4"r*cP|jryd|_|jj|j|jsa|xj
dz
c_|jj
|j|jj|jdyyNTr)	r9rDrMrr7r8r	call_soon_call_connection_lostrRs rrJz_SelectorTransport.close_ss==


!!$--0||OOq OJJ%%dmm4JJ  !;!;TBr*cv|j-|d|t||jjyy)Nzunclosed transport )source)rResourceWarningrJ)r)_warns  r__del__z_SelectorTransport.__del__is5::!'x0/$OJJ"r*ct|tr4|jjrDt	j
d||dn*|jj
||||jd|j|y)Nz%r: %sTrd)rsrtrr3)	rrgrDrVr
r!rrPrL)r)rrss   r_fatal_errorz_SelectorTransport._fatal_errornsec7#zz##%XtWtDJJ--" ! NN	/
	
#r*c|jry|jr?|jj|jj	|j
|js,d|_|jj|j
|xjdz
c_|jj|j|yrZ)
r8r7clearrDrrr9rMr[r\)r)rs  rrLz_SelectorTransport._force_close|s??<<LL JJ%%dmm4}} DMJJ%%dmm41

T77=r*c	|jr|jj||jj	d|_d|_d|_|j}||jd|_yy#|jj	d|_d|_d|_|j}||jd|_wwxYwr/)r2rPconnection_lostrrJrDr4_detach)r)rr-s   rr\z(_SelectorTransport._call_connection_losts	$''..s3JJDJ!DNDJ\\F! #"
JJDJ!DNDJ\\F! #"s'A??ACcHttt|jSr/)summaprr7rRs rrEz(_SelectorTransport.get_write_buffer_sizes3sDLL)**r*cb|jsy|jj||g|yr/)rrDrWrs    rrWz_SelectorTransport._add_readers* 

r83d3r*)NN)zFatal error on transport)r#r$r%max_sizerrrJrMr3rRrrrrrJwarningswarnrarcrLr\rErWr(r)s@rr+r+skH

E/8-8 (:45C%MM

>$+4r*r+ceZdZdZej
jZ		dfd	ZfdZ	dZ
dZdZdZ
d	Zd
ZdZded
dfdZdZdZdZdZfdZdZdZfdZxZS)r1TNcd|_t|	|||||d|_d|_t
r|j|_n|j|_tj|j|jj|jj||jj|j |j"|j$|,|jjt&j(|dyyr)_read_ready_cbrr_eof
_empty_waiter_HAS_SENDMSG_write_sendmsg_write_ready_write_sendr_set_nodelayrrDr[rPconnection_maderWrrXr_set_result_unless_cancelled)r)rr2r3r4r,r-r"s       rrz!_SelectorSocketTransport.__init__s#
tXuf=	! $ 3 3D $ 0 0D	  ,

T^^;;TB

T--!]]D,<,<	>JJ  !E!E!'
/r*ct|tjr|j|_n|j
|_t||yr/)rr	BufferedProtocol_read_ready__get_bufferrr_read_ready__data_receivedrr3)r)r3r"s  rr3z%_SelectorSocketTransport.set_protocols<h	 : :;"&">">D"&"A"AD
X&r*c$|jyr/)rrrRs rrXz$_SelectorSocketTransport._read_readysr*c|jry	|jjd}t|st	d		|jj|}|s|jy	|jj|y#t
tf$rt$r}|j|dYd}~yd}~wwxYw#ttf$rYyt
tf$rt$r}|j|dYd}~yd}~wwxYw#t
tf$rt$r}|j|dYd}~yd}~wwxYw)Nz%get_buffer() returned an empty bufferz/Fatal error: protocol.get_buffer() call failed.$Fatal read error on socket transportz3Fatal error: protocol.buffer_updated() call failed.)r8rP
get_bufferrrGrrrrcrrrar`_read_ready__on_eofbuffer_updated)r)rrrs    rr~z0_SelectorSocketTransport._read_ready__get_buffersC??		..++B/Cs8"#JKK	ZZ))#.F$$&	LNN))&1--.		F
H	 !12	-.		c#IJ	-.		LJ
L
L	LsM1B
C1D
C%B<<CDD,DDD?#D::D?c|jry	|jj|j}|s|jy	|jj|y#tt
f$rYyttf$rt$r}|j|dYd}~yd}~wwxYw#ttf$rt$r}|j|dYd}~yd}~wwxYw)Nrz2Fatal error: protocol.data_received() call failed.)
r8rr_rmrar`rrrrcrrP
data_received)r)r\rs   rrz3_SelectorSocketTransport._read_ready__data_receiveds??	::??4==1D$$&	KNN((. !12	-.		c#IJ	-.		KI
K
K	Ks5%A$B+$B(5B(B##B(+CCCcx|jjrtjd|	|jj}|r&|jj|jy|jy#ttf$rt$r}|j|dYd}~yd}~wwxYw)Nz%r received EOFz1Fatal error: protocol.eof_received() call failed.)
rDrVr
r!rPeof_receivedrrrrcrMrrJ)r)	keep_openrs   rrz,_SelectorSocketTransport._read_ready__on_eofs::!LL*D1	335I
JJ%%dmm4JJL-.		H
J	sBB9B44B9c<t|tttfs!t	dt|j|jrtd|jtd|sy|jrH|jtjk\rtjd|xjdz
c_
y|js]	|j j#|}t||d}|sy|j0j3|j4|j6|jj9||j;y#t$t&f$rYmt(t*f$rt,$r}|j/|dYd}~yd}~wwxYw)N/data argument must be a bytes-like object, not z%Cannot call write() after write_eof()z(unable to write; sendfile is in progresssocket.send() raised exception.r%Fatal write error on socket transport)rbytes	bytearrayrrrr#rsrGrtr8r!LOG_THRESHOLD_FOR_CONNLOST_WRITESr
warningr7rrfrar`rrrrcrDrrrwrC_maybe_pause_protocol)r)r\rrs    rwritez_SelectorSocketTransport.writes_$	: >?##':#6#6"9;<
<99FGG)IJJ??)"M"MM@AOOq O||
JJOOD)"$'+JJ""4==$2C2CD	
D!""$!$%56
 12
 
!!#'NO
sEF(F?FFcJtj|jtSr/)	itertoolsislicer7rrRs r_get_sendmsg_bufferz,_SelectorSocketTransport._get_sendmsg_bufferBsj99r*cr|jry	|jj|j}|j	||j|js|jj|j|j|jjd|jr|jdy|jr*|jjt j"yyy#t$t&f$rYyt(t*f$rt,$r}|jj|j|jj/|j1|d|j |jj3|Yd}~yYd}~yd}~wwxYwNr)r8rrr_adjust_leftover_buffer_maybe_resume_protocolr7rDrrrtrr9r\rsshutdownrTSHUT_WRrar`rrrrercr)r)rrs   rrvz'_SelectorSocketTransport._write_sendmsgEsV??	8ZZ''(@(@(BCF((0
'')<<

))$--8%%1&&11$7==..t4YYJJ''7
  !12	-.		6JJ%%dmm4LL c#JK!!-""0055.		6s:DF6F6/A8F11F6rreturnc|j}|r?|j}t|}||kr||z}n|j||dy|r>yyr/)r7popleftr
appendleft)r)rbufferbb_lens     rrz0_SelectorSocketTransport._adjust_leftover_bufferasO AFE%!!!FG*-r*c|jry	|jj}|jj	|}|t|k7r|jj
||d|j|js|jj|j|j|jjd|jr|jdy|jr*|jj!t"j$yyy#t&t(f$rYyt*t,f$rt.$r}|jj|j|jj1|j3|d|j |jj5|Yd}~yYd}~yd}~wwxYwr)r8r7rrrfrrrrDrrrtrr9r\rsrrTrrar`rrrrercr)r)rrrs    rrxz$_SelectorSocketTransport._write_sendlss??	8\\))+F

'ACK''qr
3
'')<<

))$--8%%1&&11$7==..t4YYJJ''7
  !12	-.		6JJ%%dmm4LL c#JK!!-""0055.		6sA!D..G?GA8GGc|js|jryd|_|js*|jj	t
jyyrO)r9rsr7rrrTrrRs r	write_eofz"_SelectorSocketTransport.write_eofs;==DII	||JJ/r*cn|jrtd|jtd|sy|jj	|Dcgc]
}t|c}|j
|jr1|jj|j|jyycc}w)Nz*Cannot call writelines() after write_eof()z-unable to writelines; sendfile is in progress)
rsrGrtr7extendrrwrDrr)r)list_of_datar\s   r
writelinesz#_SelectorSocketTransport.writeliness99KLL)NOO,G$Z-GH<<JJ""4==$2C2CDHsB2cyrOrZrRs r
can_write_eofz&_SelectorSocketTransport.can_write_eofsr*ct|||j%|jjt	dyy)NzConnection is closed by peer)rr\rtrConnectionError)r)rr"s  rr\z._SelectorSocketTransport._call_connection_losts?
%c*),, >?
A*r*c|jtd|jj|_|js|jjd|jS)NzEmpty waiter is already set)rtrGrDrr7rrRs rrz+_SelectorSocketTransport._make_empty_waitersV)<==!ZZ557||))$/!!!r*cd|_yr/)rtrRs rrz,_SelectorSocketTransport._reset_empty_waiters
!r*c>d|_d|_t|
yr/)rrrwrrJrKs rrJz_SelectorSocketTransport.closes" 

r*r#)r#r$r%_start_tls_compatibler
_SendfileMode
TRY_NATIVE_sendfile_compatiblerr3rXr~rrrrrvrrrxrrrr\rrrJr(r)s@rr1r1s $22==48$(/2'#LJK2*%%N:88	c	d	8>0EA""r*r1cVeZdZejZ		dfd	ZdZdZddZ	dZ
xZS)rBcxt|||||||_d|_|jj|jj||jj|j|j|j|,|jjtj|dyyr)
rr_address_buffer_sizerDr[rPrzrWrrXrr{)r)rr2r3rCr4r,r"s       rrz#_SelectorDatagramTransport.__init__s
tXu5


T^^;;TB

T--!]]D,<,<	>JJ  !E!E!'
/r*c|jSr/)rrRs rrEz0_SelectorDatagramTransport.get_write_buffer_sizes   r*c|jry	|jj|j\}}|jj||y#ttf$rYyt$r%}|jj|Yd}~yd}~wttf$rt$r}|j|dYd}~yd}~wwxYw)Nz&Fatal read error on datagram transport)r8rrrmrPdatagram_receivedrar`rgerror_receivedrrrrcr)r\rrs    rrXz&_SelectorDatagramTransport._read_readys??	9,,T]];JD$
NN,,T48 !12		/NN))#..-.		Mc#KLL	Ms)(AC%C-B

C(B??CcZt|tttfs!t	dt|j|sy|jr4|d|jfvrtd|j|j}|jrT|jrH|jtjk\rtjd|xjdz
c_	y|jsI	|jdr|j j#|y|j j%||y|jjAt||f|xjBtE|z
c_!|jGy#t&t(f$r3|j*j-|j.|j0Yt2$r%}|j4j7|Yd}~yd}~wt8t:f$rt<$r}|j?|dYd}~yd}~wwxYw)Nrz!Invalid address: must be None or rrrr'Fatal write error on datagram transport)$rrrrrrr#rrr8rrr
rr7r.rrfrrar`rDrr
_sendto_readyrgrPrrrrrcrCrrrrs    rrz!_SelectorDatagramTransport.sendtos$	: >?##':#6#6"9;<
<==D$--00 7

GII==D??t}})"M"MM@AOOq O||
;;z*JJOOD)JJ%%dD1	
U4[$/0SY&""$$%56
J

&&t}}d6H6HI
--c2 12
 
!!BD
s0-*F
F

?H*H*G33H*H%%H*cX|jr|jj\}}|xjt|zc_	|jdr|j
j
|n|j
j|||jr|j%|jsD|j&j)|j*|j,r|j/dyyy#ttf$r>|jj||f|xjt|z
c_Yt$r%}|jj|Yd}~yd}~wttf$rt $r}|j#|dYd}~yd}~wwxYw)Nrrr)r7rrrr.rrfrrar`rrgrPrrrrrcrrDrrr9r\rs    rrz(_SelectorDatagramTransport._sendto_ready
sQll--/JD$T*
;;z*JJOOD)JJ%%dD1ll,	
##%||JJ%%dmm4}}**40$%56
''t5!!SY.!
--c2 12
 
!!BD
s,	AC>>A
F)
F)E22F)
F$$F)r#r/)r#r$r%r5r6_buffer_factoryrrErXrrr(r)s@rrBrBs.!''O59$(/!9 *%X1r*rB)%__all__r5rzrrosrrTrnr&sslImportErrorrrrrr	r
rrlogr
hasattrrusysconfrrgr
BaseEventLoopr_FlowControlMixin	Transportr+r1DatagramTransportrBrZr*r<module>rs#	
v}}i0RZZ-

(EK55EP_455#--_4DW1Wtl1!3Z5Q5Ql1K%
C$s#C%9C2%C/.C/2C<;C<