+
    )	ih[                    F   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t^ RI
t^ RIt^ RIt^RIHt ^RIHtHtHt ^RIHtHtHt ^RIHtHtHt ^RIHt ^RIHt ]P>                  ! R	4      t R
 R lt! ! R R]PD                  4      t# ! R R]4      t$ ! R R4      t%R# )    )annotationsN)NetworkStream)ConnectionNotAvailableLocalProtocolErrorRemoteProtocolError)OriginRequestResponse)Lock	SemaphoreShieldCancellation)Trace)ConnectionInterfacezhttpcore.http2c                    V ^8  d   QhRRRR/# )   requestr	   returnbool )formats   "4lib/python3.14/site-packages/httpcore/_sync/http2.py__annotate__r      s      g $     c                    \         ;QJ d&    R  V P                   4       F  '       g   K   R# 	  R# ! R  V P                   4       4      # )c              3     "   T F5  w  rVP                  4       R 8H  ;'       g    VP                  4       R8H  x  K7  	  R# 5i)s   content-length   transfer-encodingN)lower).0kvs   &  r   	<genexpr>#has_body_headers.<locals>.<genexpr>   s<      #DA 	
	&&KK!'')7K*KK#s    ??TF)anyheaders)r   s   &r   has_body_headersr%      sE    3 OO33 3 3 OO  r   c                  "    ] tR t^$t^t^t^tRtR# )HTTPConnectionStater   N)__name__
__module____qualname____firstlineno__ACTIVEIDLECLOSED__static_attributes__r   r   r   r'   r'   $   s    FDFr   r'   c                     ] tR t^*tR9t]P                  P                  RR7      tR:R R llt	R R lt
R R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR:R R lltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ ltR0 R1 ltR2 R3 lt R4 R5 lt!R;R6 R7 llt"R8t#R# )<HTTP2ConnectionF)validate_inbound_headersNc               $    V ^8  d   QhRRRRRR/# )r   originr   streamr   keepalive_expiryzfloat | Noner   )r   s   "r   r   HTTP2Connection.__annotate__.   s(     %7 %7%7 %7 '	%7r   c                	   Wn         W n        W0n        \        P                  P                  V P                  R 7      V n        \        P                  V n
        RV n        ^ V n        \        4       V n        \        4       V n        \        4       V n        \        4       V n        RV n        RV n        RV n        / V n        RV n        RV n        RV n        R# ))configNF)_origin_network_stream_keepalive_expiryh2
connectionH2ConnectionCONFIG	_h2_stater'   r-   _state
_expire_at_request_countr   
_init_lock_state_lock
_read_lock_write_lock_sent_connection_init_used_all_stream_ids_connection_error_events_connection_terminated_read_exception_write_exception)selfr4   r5   r6   s   &&&&r   __init__HTTP2Connection.__init__.   s     %/?334;;3G)..(,&6&6%*"$)!!&  	 NR#1526r   c                    V ^8  d   QhRRRR/# )r   r   r	   r   r
   r   )r   s   "r   r   r7   U   s     f fg f( fr   c                		   V P                  VP                  P                  4      '       g0   \        R VP                  P                   RV P                   24      hV P
                  ;_uu_ 4        V P                  \        P                  \        P                  39   d7   V ;P                  ^,          un
        RV n        \        P                  V n        M
\        4       h RRR4       V P                  ;_uu_ 4        V P                  '       g    RV/p\        R\         W4      ;_uu_ 4        V P"                  ! R/ VB  RRR4       RT n        ^T n        T P,                  P.                  P0                  p\3        T4      T n        \7        Y@P*                  ,
          4       F  pT P4                  P9                  4        K  	  RRR4       V P4                  P9                  4         V P,                  P;                  4       p. V P<                  V&    RTRT/p\        R\         Y4      ;_uu_ 4        T PG                  YR7       RRR4       \        R	\         Y4      ;_uu_ 4        T PI                  YR7       RRR4       \        R
\         Y4      ;_uu_ 4       pT PK                  YR7      w  rY3Tn&        RRR4       \O        X	X
\Q        YTR7      RRRT PR                  RT/R7      #   + '       g   i     EL; i  + '       g   i     EL; i  \$         dG   p\'        4       ;_uu_ 4        T P)                  4        RRR4       Th  + '       g   i     Th; iRp?ii ; i  + '       g   i     EL; i  \>        P@                  PB                   d,    RT n"        T ;P                  ^,          un
        \        4       hi ; i  + '       g   i     EL; i  + '       g   i     ELj; i  + '       g   i     EL@; i  \$         d   p\'        4       ;_uu_ 4        RT/p\        R\         Y4      ;_uu_ 4        T PU                  TR7       RRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; i\W        T\>        P@                  PX                  4      '       d3   T PZ                  '       d   \]        T PZ                  4      h\_        T4      hThRp?ii ; i)zAttempted to send request to z on connection to Nr   send_connection_initT	stream_idsend_request_headersr   rV   send_request_bodyreceive_response_headersrV   http_versions   HTTP/2network_stream)statusr$   content
extensionsresponse_closedr   )0can_handle_requesturlr4   RuntimeErrorr:   rF   rB   r'   r,   r-   rD   rC   r   rE   rI   r   logger_send_connection_initBaseExceptionr   close_max_streamsrA   local_settingsmax_concurrent_streamsr   _max_streams_semaphorerangeacquireget_next_available_stream_idrL   r=   
exceptionsNoAvailableStreamIDErrorrJ   _send_request_headers_send_request_body_receive_responsereturn_valuer
   HTTP2ConnectionByteStreamr;   _response_closed
isinstanceProtocolErrorrM   r   r   )rP   r   
sci_kwargsexclocal_settings_max_streams_rV   kwargstracer^   r$   s   &&         r   handle_requestHTTP2Connection.handle_requestU   s   &&w{{'9'9::
 /0B0B/C Dll^% 
 {{299;N;S;STT##q(#"&188,.. 	  ___---	"+W!5J.  22@Z@ .2* %&! NN11HH + /88R.S+9<M<MMNA//779 O1 6 	##++-	+CCEI&(DLL#.	+yAF-vwGG**7*P H*FGDD'''M E*FG "&"8"8# #9 # '-%6" 1$9U"I$d&:&:		 	w    % +--

 .I .-I __@ }}55 	+(,D%1$(**	+ HGGDDD  $  	#%%%y1,fgFF))I)> GFFF &%%%
 #r}}::;; ...-d.I.IJJ )--I-	s  /A0K%<M!L-K9	 LA:M!%)M5 O> .O!O> "O5!O> O*31O> %K6	9L
LM!
LMM*M;
MM	MMM!!M2	5A
N?O		O> O'	!	O> *O;	5	O> >S'	S"Q19Q	Q1Q% Q1(	S"1R<AS" "S""S'c                    V ^8  d   QhRRRR/# r   r   r	   r   Noner   )r   s   "r   r   r7      s     + +W + +r   c           	     <   \         P                  P                  R\         P                  P                  P                  ^ \         P                  P                  P
                  ^d\         P                  P                  P                  R/R7      V P                  n        V P                  P                  \         P                  P                  P                   V P                  P                  4        V P                  P                  R4       V P                  V4       R# )zx
The HTTP/2 connection requires some initial setup before we can start
using individual request/response streams on it.
T   )clientinitial_valuesN   )r=   settingsSettingsSettingCodesENABLE_PUSHMAX_CONCURRENT_STREAMSMAX_HEADER_LIST_SIZErA   rj   ENABLE_CONNECT_PROTOCOLinitiate_connectionincrement_flow_control_window_write_outgoing_data)rP   r   s   &&r   rf   %HTTP2Connection._send_connection_init   s     )+(<(< ((44a((??((==u )= 
)
% NN))KK$$<<
 	**,44U;!!'*r   c               $    V ^8  d   QhRRRRRR/# r   r   r	   rV   intr   r   r   )r   s   "r   r   r7      s!     + +W + + +r   c                h   \        V4      '       * pVP                   UUu. uF  w  rEVP                  4       R8X  g   K  VNK   	  upp^ ,          pRVP                  3RV3RVP                  P
                  3RVP                  P                  3.VP                   UUu. uF.  w  rEVP                  4       R	9  g   K  VP                  4       V3NK0  	  upp,           pV P                  P                  W'VR7       V P                  P                  R
VR7       V P                  V4       R# u uppi u uppi )z0
Send the request headers to a given stream ID.
   hosts   :methods
   :authoritys   :schemes   :path)
end_streamr[   N)r   r   r   )r%   r$   r   methodrc   schemetargetrA   send_headersr   r   )rP   r   rV   r   r   r    	authorityr$   s   &&&     r   rr   %HTTP2Connection._send_request_headers   s    *'22
 $+??K?41aggi76JQQ?KAN	 (I&++,w{{))*	
  
'wwy QWWYN'

 	##I:#N44Ui4P!!'*' L
s   D(D(D.;D.c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r7      s!     
2 
2' 
2c 
2d 
2r   c                    \        V4      '       g   R# \        VP                  \        P                  4      '       g   Q hVP                   F  pV P                  WV4       K  	  V P                  W4       R# )z@
Iterate over the request body sending it to a given stream ID.
N)r%   rx   r5   typingIterable_send_stream_data_send_end_stream)rP   r   rV   datas   &&& r   rs   "HTTP2Connection._send_request_body   sY      (('..&//::::NND""7t< #g1r   c               (    V ^8  d   QhRRRRRRRR/# )	r   r   r	   rV   r   r   bytesr   r   r   )r   s   "r   r   r7   	  s,     / //+./6;/	/r   c                    V'       d]   V P                  W4      p\        \        V4      V4      pVRV W5R r6V P                  P	                  W&4       V P                  V4       Kd  R# )z9
Send a single chunk of data in one or more data frames.
N)_wait_for_outgoing_flowminlenrA   	send_datar   )rP   r   rV   r   max_flow
chunk_sizechunks   &&&&   r   r   !HTTP2Connection._send_stream_data	  s_     33GGHSY1J{
+T+->4NN$$Y6%%g. r   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r7     s!     + + +C +D +r   c                ^    V P                   P                  V4       V P                  V4       R# )zP
Send an empty data frame on on a given stream ID with the END_STREAM flag set.
N)rA   r   r   )rP   r   rV   s   &&&r   r    HTTP2Connection._send_end_stream  s$     	!!),!!'*r   c               $    V ^8  d   QhRRRRRR/# )r   r   r	   rV   r   r   z%tuple[int, list[tuple[bytes, bytes]]]r   )r   s   "r   r   r7     s$     & &&+.&	.&r   c                x    V P                  W4      p\        V\        P                  P                  4      '       g   K>   ^p. pTP
                  f   Q hTP
                   FU  w  rgTR8X  d   \        TP                  RRR7      4      pK*  TP                  R4      '       d   KC  TP                  Yg34       KW  	  YE3# )zD
Return the response status code and headers for a given stream ID.
s   :statusasciiignore)errors   :)
_receive_stream_eventrx   r=   eventsResponseReceivedr$   r   decode
startswithappend)rP   r   rV   eventstatus_coder$   r   r    s   &&&     r   rt   !HTTP2Connection._receive_response  s     ..wBE%!;!;<<}}(((MMDAJ!!((78("DE\\$''v&	 " %%r   c               $    V ^8  d   QhRRRRRR/# )r   r   r	   rV   r   r   typing.Iterator[bytes]r   )r   s   "r   r   r7   5  s$      +.	r   c              #    "    V P                  W4      p\        V\        P                  P                  4      '       di   VP
                  f   Q hVP                  f   Q hVP
                  pV P                  P                  WB4       V P                  V4       VP                  x  K  \        V\        P                  P                  4      '       g   K  R# 5i)zM
Iterator that returns the bytes of the response body for a given stream ID.
N)r   rx   r=   r   DataReceivedflow_controlled_lengthr   rA   acknowledge_received_datar   StreamEnded)rP   r   rV   r   amounts   &&&  r   _receive_response_body&HTTP2Connection._receive_response_body5  s      ..wBE%!7!78833???zz---5588K))'2jj E299#8#899s   CCCc               $    V ^8  d   QhRRRRRR/# )r   r   r	   rV   r   r   zKh2.events.ResponseReceived | h2.events.DataReceived | h2.events.StreamEndedr   )r   s   "r   r   r7   G  s$      +.	Tr   c                   V P                   P                  V4      '       g   V P                  W4       K4  V P                   V,          P                  ^ 4      p\	        V\
        P                  P                  4      '       d   \        V4      hV# )zk
Return the next available event for a given stream ID.

Will read more data from the network if required.
)	rL   get_receive_eventspoprx   r=   r   StreamResetr   )rP   r   rV   r   s   &&& r   r   %HTTP2Connection._receive_stream_eventG  sg     ,,""9--  4Y'++A.eRYY2233%e,,r   c               $    V ^8  d   QhRRRRRR/# )r   r   r	   rV   z
int | Noner   r   r   )r   s   "r   r   r7   V  s$     .+ .+.++5.+	.+r   c           
        V P                   ;_uu_ 4        V P                  ee   V P                  P                  pV'       d2   V'       d*   W#8  d$   V ;P                  ^,          un        \	        4       h\        V P                  4      hVe#   V P                  P                  V4      '       Egx   V P                  V4      pV EF_  p\        V\        P                  P                  4      '       d<   \        R\        V4      ;_uu_ 4       pV P                  V4       WVn        RRR4       Ki  \        V\        P                  P"                  \        P                  P$                  \        P                  P&                  \        P                  P(                  34      '       dN   VP*                  V P                  9   d0   V P                  VP*                  ,          P-                  V4       EK)  EK,  \        V\        P                  P.                  4      '       g   EKY  WPn        EKb  	  RRR4       V P1                  V4       R#   + '       g   i     EK  ; i  + '       g   i     L8; i)zX
Read some data from the network until we see one or more events
for a given stream ID.
Nreceive_remote_settings)rG   rM   last_stream_idrD   r   r   rL   r   _read_incoming_datarx   r=   r   RemoteSettingsChangedr   re   _receive_remote_settings_changeru   r   r   r   r   rV   r   ConnectionTerminatedr   )rP   r   rV   r   r   r   r   s   &&&    r   r   HTTP2Connection._receive_eventsV  s    ___**6!%!<!<!K!KI4N''1,'022)$*E*EFF  (8(8(C(C11':#E!%)H)HII"5vw " @@G16.	  $II66II22II11II11	  !??dll: LL9@@G ; $E299+I+IJJ6;3+ $! N 	!!'*+  % _s>   ,II
A#I.AII  C4II I
II%	c                    V ^8  d   QhRRRR/# )r   r   zh2.events.RemoteSettingsChangedr   r   r   )r   s   "r   r   r7     s     + +4+	+r   c                	H   VP                   P                  \        P                  P                  P
                  4      pV'       d   \        VP                  V P                  P                  P                  4      pV'       d   W0P                  8w  d   W0P                  8  d6   V P                  P                  4        V ;P                  ^,          un        KE  W0P                  8  d6   V P                  P                  4        V ;P                  ^,          un        KE  R# R# R# R# )   N)changed_settingsr   r=   r   r   r   r   	new_valuerA   rj   rk   ri   rl   releasern   )rP   r   rk   new_max_streamss   &&  r   r   /HTTP2Connection._receive_remote_settings_change  s     "'!7!7!;!;KK$$;;"
 "!&00--DDO ?6G6G#G%(9(99//779%%*%%(9(99//779%%*% :	 $H "r   c                    V ^8  d   QhRRRR/# )r   rV   r   r   r   r   )r   s   "r   r   r7     s     ! !# !$ !r   c                	d   V P                   P                  4        V P                  V V P                  ;_uu_ 4        V P                  '       d$   V P                  '       g   V P                  4        MV P                  \        P                  8X  d   V P                  '       gr   \        P                  V n        V P                  e-   \        P                  ! 4       pW P                  ,           V n        V P                  '       d   V P                  4        R R R 4       R #   + '       g   i     R # ; iN)rl   r   rL   rF   rM   rh   rB   r'   r,   r-   r<   time	monotonicrC   rJ   )rP   rV   nows   && r   rw    HTTP2Connection._response_closed  s    ##++-LL#***4<<<

 3 : ::4<<<166))5..*C&),B,B&BDO,,,JJL s   $D!AD#A DDD/	c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r7     s     % %t %r   c                	    V P                   P                  4        \        P                  V n        V P
                  P                  4        R # r   )rA   close_connectionr'   r.   rB   r;   rh   rP   s   &r   rh   HTTP2Connection.close  s3     	''))00""$r   c                    V ^8  d   QhRRRR/# )r   r   r	   r   zlist[h2.events.Event]r   )r   s   "r   r   r7     s      7 7L r   c                	   VP                   P                  R / 4      pVP                  RR4      pV P                  e   V P                  h V P                  P	                  V P
                  V4      pVR8X  d   \        R4      h T P                  P                  T4      pT#   \         d   pYPn        RT n        ThRp?ii ; i)timeoutreadNr   zServer disconnectedT)r`   r   rN   r;   r   READ_NUM_BYTESr   	ExceptionrK   rA   receive_data)rP   r   timeoutsr   r   r{   r   s   &&     r   r   #HTTP2Connection._read_incoming_data  s    %%)))R8,,vt,+&&&	'',,T-@-@'JDs{)*?@@  )-(C(CD(I  	 $' %)D"I	s   
8B   B?+B::B?c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r7     s      G  r   c                	   VP                   P                  R / 4      pVP                  RR4      pV P                  ;_uu_ 4        V P                  P	                  4       pV P
                  e   V P
                  h V P                  P                  WC4        RRR4       R#   \         d   pYPn        RT n	        ThRp?ii ; i  + '       g   i     R# ; i)r   writeNT)
r`   r   rH   rA   data_to_sendrO   r;   r   r   rK   )rP   r   r   r   r  r{   s   &&    r   r   $HTTP2Connection._write_outgoing_data  s    %%)))R8,,w->>668L$$0+++$$**<A    ),%)-&	 s*   5C9BB>*B99B>>CC	c               $    V ^8  d   QhRRRRRR/# )r   r   r	   rV   r   r   r   )r   s   "r   r   r7     s!      w 3 3 r   c                *   V P                   P                  V4      pV P                   P                  p\        W44      pV^ 8X  dP   V P	                  V4       V P                   P                  V4      pV P                   P                  p\        W44      pKV  V# )z
Returns the maximum allowable outgoing flow for a given stream.

If the allowable flow is zero, then waits on the network until
WindowUpdated frames have increased the flow rate.
https://tools.ietf.org/html/rfc7540#section-6.9
)rA   local_flow_control_windowmax_outbound_frame_sizer   r   )rP   r   rV   
local_flowmax_frame_sizeflows   &&&   r   r   'HTTP2Connection._wait_for_outgoing_flow  sx     ..BB9M
"nnDD:.ai  )AA)LJ!^^CCNz2Dr   c                    V ^8  d   QhRRRR/# )r   r4   r   r   r   r   )r   s   "r   r   r7     s     & & &D &r   c                	    WP                   8H  # r   )r:   rP   r4   s   &&r   rb   "HTTP2Connection.can_handle_request  s    %%r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r7     s     	
 	
d 	
r   c                	>   V P                   \        P                  8g  ;'       dz    V P                  '       * ;'       da    V P                  '       * ;'       dH    V P
                  P                  P                  \        P                  P                  P                   8X  * # r   )rB   r'   r.   rK   rJ   rA   state_machinestater=   r>   ConnectionStater   s   &r   is_availableHTTP2Connection.is_available  s    KK.555  *** ---  ,,22==00778		
r   c                   V ^8  d   QhRR/# r  r   )r   s   "r   r   r7   
  s     E ET Er   c                	t    \         P                  ! 4       pV P                  R J;'       d    WP                  8  # r   )r   r   rC   )rP   r   s   & r   has_expiredHTTP2Connection.has_expired
  s,    nnd*DDs__/DDr   c                   V ^8  d   QhRR/# r  r   )r   s   "r   r   r7     s     7 7 7r   c                	<    V P                   \        P                  8H  # r   )rB   r'   r-   r   s   &r   is_idleHTTP2Connection.is_idle  s    {{16666r   c                   V ^8  d   QhRR/# r  r   )r   s   "r   r   r7     s     9 94 9r   c                	<    V P                   \        P                  8H  # r   )rB   r'   r.   r   s   &r   	is_closedHTTP2Connection.is_closed  s    {{18888r   c                   V ^8  d   QhRR/# r   r   strr   )r   s   "r   r   r7     s     
 
c 
r   c                	~    \        V P                  4      pV: R V P                  P                   RV P                   2# )z
, HTTP/2, , Request Count: )r%  r:   rB   namerD   r  s   & r   infoHTTP2Connection.info  sA    T\\"j
4;;#3#3"4 5"1124	
r   c                   V ^8  d   QhRR/# r$  r   )r   s   "r   r   r7     s     
 
# 
r   c           	     	    V P                   P                  p\        V P                  4      pR V RV: RV P                  P
                   RV P                   R2	# )<z [z, r'  z]>)	__class__r(   r%  r:   rB   r(  rD   )rP   
class_namer4   s   &  r   __repr__HTTP2Connection.__repr__  sZ    ^^,,
T\\"
|2fZr$++*:*:); <"112"6	
r   c                   V ^8  d   QhRR/# )r   r   r1   r   )r   s   "r   r   r7   &  s      ? r   c                	    V # r   r   r   s   &r   	__enter__HTTP2Connection.__enter__&  s    r   c               (    V ^8  d   QhRRRRRRRR/# )	r   exc_typeztype[BaseException] | None	exc_valuezBaseException | None	tracebackztypes.TracebackType | Noner   r   r   )r   s   "r   r   r7   )  s2      , ( .	
 
r   c                	&    V P                  4        R # r   )rh   )rP   r7  r8  r9  s   &&&&r   __exit__HTTP2Connection.__exit__)  s     	

r   )rK   rM   rL   rC   rA   rE   r<   ri   rl   r;   r:   rN   rG   rD   rI   rB   rF   rJ   rO   rH   r   r   )NNN)$r(   r)   r*   r+   r   r=   r9   H2Configurationr@   rQ   r   rf   rr   rs   r   r   rt   r   r   r   r   rw   rh   r   r   r   rb   r  r  r  r!  r)  r0  r4  r;  r/   r   r   r   r1   r1   *   s    NYY&&&FF%7NfP+B+>
2/+&,$.+`+&!%86(&	
E79

 r   r1   c                  :    ] tR tRtR R ltR R ltR R ltRtR	# )
rv   i2  c               (    V ^8  d   QhRRRRRRRR/# )	r   r>   r1   r   r	   rV   r   r   r   r   )r   s   "r   r   &HTTP2ConnectionByteStream.__annotate__3  s,      )4;HK	r   c                	8    Wn         W n        W0n        R V n        R# )FN)_connection_request
_stream_id_closed)rP   r>   r   rV   s   &&&&r   rQ   "HTTP2ConnectionByteStream.__init__3  s     &#r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r@  ;  s      0 r   c              #  	  "   R V P                   RV P                  /p \        R\        V P                   V4      ;_uu_ 4        V P                  P                  V P                   V P                  R7       F  pVx  K	  	  RRR4       R#   + '       g   i     R# ; i  \         dG   p\        4       ;_uu_ 4        T P                  4        RRR4       Th  + '       g   i     Th; iRp?ii ; i5i)r   rV   receive_response_bodyrX   N)	rC  rD  r   re   rB  r   rg   r   rh   )rP   r~   r   r{   s   &   r   __iter__"HTTP2ConnectionByteStream.__iter__;  s     T]]KI	.vNN!--DD MMT__ E E  K ONNN
  	 $%%

 &I &%I	sd   C1$B =B	?B C1	B	B C1B C.(C):C
C)C& 	C))C..C1c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r@  K  s     M Mt Mr   c                	&   V P                   '       gk   R V n         RV P                  /p\        R\        V P                  V4      ;_uu_ 4        V P
                  P                  V P                  R7       RRR4       R# R#   + '       g   i     R# ; i)TrV   ra   r[   N)rE  rD  r   re   rC  rB  rw   )rP   r~   s   & r   rh   HTTP2ConnectionByteStream.closeK  sl    |||DL!4??3F(&$--HH  11DOO1L IH  IHHs   'A??B	)rE  rB  rC  rD  N)r(   r)   r*   r+   rQ   rJ  rh   r/   r   r   r   rv   rv   2  s     M Mr   rv   )&
__future__r   enumloggingr   typesr   	h2.configr=   h2.connection	h2.eventsh2.exceptionsh2.settings_backends.baser   _exceptionsr   r   r   _modelsr   r	   r
   _synchronizationr   r   r   _tracer   
interfacesr   	getLoggerre   r%   IntEnumr'   r1   rv   r   r   r   <module>r`     s    "           * 
 0 / B B  +			+	,$,, E) EPM Mr   