+
    niJ(                         ^ 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t^ RIt^ RIt^ RIHtHtHtHtHt  ! R R]4      t ! R R]4      t ! R R]4      tR# )	    N)QUIC_MAX_DATAGRAMAsyncQuicConnectionAsyncQuicManagerBaseQuicStreamUnexpectedEOFc                   p   a a ] tR t^t oV 3R ltR tR tR tRR ltRR lt	R t
R tR	 tR
 tRtVtV ;t# )AsyncioQuicStreamc                Z   < \         SV `  W4       \        P                  ! 4       V n        R # N)super__init__asyncio	Condition_wake_up)self
connection	stream_id	__class__s   &&&kC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\dns/quic/_asyncio.pyr   AsyncioQuicStream.__init__   s     /))+    c                   "   V P                   ;_uu_4       GR j  xL
  V P                   P                  4       G R j  xL
  R R R 4      GR j  xL
  R #  L8 L L
  + GR j  xL 
 '       g   i     R # ; i5ir   )r   waitr   s   &r   _wait_for_wake_up#AsyncioQuicStream._wait_for_wake_up    s=     ====--$$&&& !==& !===sZ   A7AA7AAAA7AA7AA7A4	 A#!
A4	,A4	.	A7c                D  "    V P                  V4      pV P                  P                  V4      '       d   R# Wn         \        P
                  ! V P                  4       V4      G Rj  xL
  ^ T n        Kr   L  \         d    \        P                  P                  hi ; i5iTN)_timeout_from_expiration_bufferhave
_expectingr   wait_forr   TimeoutErrordns	exceptionTimeout)r   amount
expirationtimeouts   &&& r   r#   AsyncioQuicStream.wait_for$   s     33J?G||  (($O,&&t'='='?III  DO J ,mm+++,s3   3B B (A7 'A5(A7 ,	B 5A7 7&BB c                (  "    V P                  V4      pV P                  P                  4       '       d   R#  \        P                  ! V P                  4       V4      G Rj  xL
  Kd   L  \         d    \        P                  P                  hi ; i5ir   )
r   r    seen_endr   r#   r   r$   r%   r&   r'   )r   r)   r*   s   && r   wait_for_endAsyncioQuicStream.wait_for_end0   sp     33J?G||$$&&,&&t'='='?III ,mm+++,s3   2BB(A)  A'!A) %B'A) )&BBc                  "   V P                  V4      pV P                  P                  4       '       d4   V P                  V4      G R j  xL
  V P                  P                  4       # V P                  ^V4      G R j  xL
  \        P                  ! RV P                  P                  ^4      4      w  pV P                  W24      G R j  xL
  V P                  P                  V4      #  L Ll L#5i)Nz!H)
_expiration_from_timeout_connectionis_h3r.   r    get_allr#   structunpackget)r   r*   r)   sizes   &&  r   receiveAsyncioQuicStream.receive:   s     227;
!!####J///<<''))--:...mmD$,,*:*:1*=>GT--111<<##D)) 0 /1s7   AC-C'	3C-<C)=A
C-C+ C-)C-+C-c                   "   V P                  V4      pV P                  P                  V P                  W24      G R j  xL
  R #  L5ir   )_encapsulater2   write
_stream_id)r   datagramis_enddatas   &&& r   sendAsyncioQuicStream.sendE   s5       *$$T__dCCCs   ;AAAc                  "   V P                  W4      '       dJ   V P                  ;_uu_4       GR j  xL
  V P                  P                  4        R R R 4      GR j  xL
  R # R #  L2 L
  + GR j  xL 
 '       g   i     R # ; i5ir   )_common_add_inputr   notify)r   rA   r@   s   &&&r   
_add_inputAsyncioQuicStream._add_inputI   sH     !!$//}}}}$$& %}} 0$}}}sJ   0BA%BA)BA'	B'B)B	/A20
B	;B	=	Bc                .   "   V P                  4        R # 5ir   )_closer   s   &r   closeAsyncioQuicStream.closeN   s     s   c                   "   V # 5ir    r   s   &r   
__aenter__AsyncioQuicStream.__aenter__S   
        c                  "   V P                  4       G R j  xL
  V P                  ;_uu_4       GR j  xL
  V P                  P                  4        R R R 4      GR j  xL
  R#  LM L2 L
  + GR j  xL 
 '       g   i     R# ; i5iNF)rK   r   rF   )r   exc_typeexc_valexc_tbs   &&&&r   	__aexit__AsyncioQuicStream.__aexit__V   sJ     jjl====MM  " != 	 ===sZ   BA$BA&BA*BA(B&B(B*B	0A31
B	<B	>	B)r"   r   r   F)__name__
__module____qualname____firstlineno__r   r   r#   r.   r9   rB   rG   rK   rO   rX   __static_attributes____classdictcell____classcell__r   __classdict__s   @@r   r	   r	      s=     ,'
 ,	*D'

 r   r	   c                   t   a a ] tR t^]t oRV 3R lltR tR tR tR tR t	RR lt
R tRR	 ltR
 tRtVtV ;t# )AsyncioQuicConnectionc                   < \         SV `  WW4WV4       R V n        \        P                  ! 4       V n        \        P                  ! 4       V n        \        P                  ! 4       V n        R V n	        R V n
        RV n        R # rT   )r   r   _socketr   Event_handshake_complete_socket_createdr   _wake_timer_receiver_task_sender_task_wake_pending)r   r   addressportsourcesource_portmanagerr   s   &&&&&&&r   r   AsyncioQuicConnection.__init__^   s`    dKQ#*==? &}}",,." "r   c           	       "    \         P                  P                  V P                  4      p\         P                  P                  R 4      pVP                  V\        P                  ^ V P                  V P                  ^ ,          V P                  ^,          34      G Rj  xL
 V n        V P                  P                  4        V P                  ;_uu_4       GRj  xL
  V P                  '       g   V P                  P                  \         R4      G Rj  xL
 w  r4V^ ,          V P                  ^ ,          8w  g    V^,          V P                  ^,          8w  d   K|  V P"                  P%                  W4\&        P&                  ! 4       4       V P)                  4       G Rj  xL
  K  RRR4      GRj  xL
  RT n        T P)                  4       G Rj  xL
  T P,                  P                  4        R#  ELQ EL L LY LI  + GRj  xL 
 '       g   i     L`; i  \*         d     Lpi ; i LY  RT n        T P)                  4       G Rj  xL 
  T P,                  P                  4        i ; i5i)r   NT)r%   inetaf_for_address_addressasyncbackendget_backendmake_socketsocket
SOCK_DGRAM_source_peerrg   rj   set_donerecvfromr   r2   receive_datagramtime_wakeup	Exceptionri   )r   afbackendr?   ro   s   &    r   	_receiverAsyncioQuicConnection._receiverh   s    	+((7B&&229=G ")!4!4F%%q$,,A

ST8V" DL   $$&||||***040E0E)41 +'X qzTZZ]2gajDJJqM6Q $$55hU ,,.(( $| DJ,,.  $$((*) $+ ) $|||  		 ! DJ,,.  $$((*s   I+BH  G1!;H G4H  G=3#G=G7BG=G9 G=&H 1G;2H 6I+H* I+1H 4H 7G=9G=;H =H	H
H	H	H H, H H'$H, &H''H, *I+,I(I
 I((I+c                   "   R V n         V P                  ;_uu_4       GRj  xL
  V P                  P                  4        RRR4      GRj  xL
  R#  L0 L  + GRj  xL 
 '       g   i     R# ; i5ir   )rn   rk   
notify_allr   s   &r   r   AsyncioQuicConnection._wakeup   sB     !####'') $#####sJ    A4AA4AA4AA4A4A1	A 
A1	)A1	+	A4c                "  "   V P                   ;_uu_4       GR j  xL
  V P                  '       g#   V P                   P                  4       G R j  xL
  R R R 4      GR j  xL
  RV n        R #  LQ L L  + GR j  xL 
 '       g   i     L(; i5irT   )rk   rn   r   r   s   &r   _wait_for_wake_timer*AsyncioQuicConnection._wait_for_wake_timer   s`     ####%%%&&++--- $# # $- $###s\   BA-B0A3A/A3BA1 B/A31B3B	9A<:
B	B	Bc                  "   V P                   P                  4       G R j  xL
  V P                  '       g   V P                  P	                  \
        P
                  ! 4       4      pV FU  w  r#W0P                  8X  g   Q hV P                  f   Q hV P                  P                  W P                  R 4      G R j  xL
  KW  	  V P                  4       w  rE \        P                  ! V P                  4       V4      G R j  xL
  V P                  V4       V P                  4       G R j  xL
  EK  R #  EL Ly L7  \         d     LBi ; i L!5ir   )rj   r   r   r2   datagrams_to_sendr   r   rg   sendto_get_timer_valuesr   r#   r   r   _handle_timer_handle_events)r   	datagramsr?   ro   r)   intervals   &     r   _senderAsyncioQuicConnection._sender   s    ""'')))***((::499;GI%.!**,,,||///ll))(JJEEE &/ &*%;%;%="Z&&t'@'@'BHMMM z*%%'''  	* F N  (si   ED.EB E7D18E(D5 ;D3<D5  $E$E%
E1E3D5 5E EEEc                  "   ^ p V P                   P                  4       pVf   R# \        V\        P                  P
                  P                  4      '       Ed   V P                  4       '       Ed   V P                  f   Q hV P                  P                  V4      pV EFk  p\        V\        P                  P
                  P                  4      '       d   V P                  P                  VP                  4      pV'       dp   VP                  f   VP                   Vn        MVP"                  f   VP                   Vn        VP$                  '       d   VP'                  RR4      G Rj  xL
  K  K  K  \        V\        P                  P
                  P(                  4      '       g   EK  V P                  P                  VP                  4      pV'       g   EK=  VP'                  VP*                  VP$                  4      G Rj  xL
  EKn  	  EMV P                  P                  VP                  4      pV'       d/   VP'                  VP*                  VP,                  4      G Rj  xL
  EM.\        V\        P                  P
                  P.                  4      '       d   V P0                  P3                  4        M\        V\        P                  P
                  P4                  4      '       d1   RV n        V P8                  e   V P8                  P;                  4        M{\        V\        P                  P
                  P<                  4      '       dH   V P                  P                  VP                  4      pV'       d   VP'                  RR4      G Rj  xL
  V^,          pV^
8  g   EK  ^ p\>        P@                  ! ^ 4      G Rj  xL
  EK   ELh EL ELq LC L5i)r   TNr   )!r2   
next_event
isinstanceaioquicquiceventsStreamDataReceivedr3   _h3_connhandle_eventh3HeadersReceived_streamsr7   r   _headersheaders	_trailersstream_endedrG   DataReceivedrA   
end_streamHandshakeCompletedri   r   ConnectionTerminatedr   rl   cancelStreamResetr   sleep)r   countevent	h3_eventsh3_eventstreams   &     r   r   $AsyncioQuicConnection._handle_events   s    $$//1E}%!4!4!G!GHH::<<==444 $ : :5 AI$-%h

0A0A0Q0QRR%)]]%6%6u%GF%#)??#:6>6F6FFO%+%5%5%=7?7G7GF$4#+#8#8#8*0*;*;C*F$F$F $9  & ('**2C2C2P2PQQ%)]]%6%6u%GF%v&,&7&7$,MM83H3H'" !" !" %." "]]..u?F$//

E<L<LMMME7<<#6#6#I#IJJ((,,.E7<<#6#6#K#KLL!
&&2''..0E7<<#6#6#B#BCC**5??; ++C666QJErzmmA&&&5 %G!" N 7 's   A/O2BOAOO*O+;O,*O)OO7O>)O'O(DOOOO/O
OOOOOOc                z   "   V P                   P                  WV4       V P                  4       G R j  xL
  R #  L5ir   )r2   send_stream_datar   )r   r   rA   r@   s   &&&&r   r=   AsyncioQuicConnection.write   s*     ))&?llns   0;9;c                    V P                   '       d   R # \        P                  ! V P                  4       4      V n        \        P                  ! V P                  4       4      V n        R # r   )_closedr   Taskr   rl   r   rm   r   s   &r   runAsyncioQuicConnection.run   s=    <<<%ll4>>+;<#LL8r   c                l  "    \         P                  ! V P                  P                  4       V4      G R j  xL
  T P                  '       d   \        hT P                  P                  R4      p\        Y4      pY0P                  T&   T#  LR  \         d    \
        P                  P                  hi ; i5irT   )r   r#   ri   r   r$   r%   r&   r'   r   r   r2   get_next_available_stream_idr	   r   )r   r*   r   r   s   &&  r   make_stream!AsyncioQuicConnection.make_stream   s     	(""4#;#;#@#@#BGLLL :::$$AA%H	"43#)i  M 	(--'''	(s1   B42B B	B B4<B4	B &B11B4c                  "   V P                   '       Eg   V P                  e?   V P                  P                  V P                  ^ ,          V P                  ^,          4       RV n         V P                  P                  4        V P                  P                  4        V P                  4       G R j  xL
   V P                  e   V P                  G R j  xL
   T P                  e   T P                  G R j  xL
  T P                  e%   T P                  P                  4       G R j  xL
  R # R # R #  L L_  \        P                   d     Lti ; i LY  \        P                   d     Lni ; i LF5i)NT)r   _managerclosedr   r2   rK   rj   r   r   rl   r   CancelledErrorrm   rg   r   s   &r   rK   AsyncioQuicConnection.close   s&    |||}}($$TZZ]DJJqMBDL""$  $$&,,.  &&2----$$0++++ ||'ll((*** (%  ! .))  ,))  +s   B.E/0D11E/6D5 D3D5 E 6E7E ;+E/&E-'E/3D5 5E
E/EE/E E*'E/)E**E/)	r   r   ri   rl   rm   rg   rj   rn   rk   r   rZ   )r[   r\   r]   r^   r   r   r   r   r   r   r=   r   r   rK   r_   r`   ra   rb   s   @@r   re   re   ]   s=     #+8*
#( -'^9
+ +r   re   c                   h   a a ] tR t^t oR]P
                  RR3V 3R lltRR ltR tR t	Rt
VtV ;t# )	AsyncioQuicManagerNFc                2   < \         SV `  W\        W44       R # r   )r   r   re   )r   confverify_modeserver_namer   r   s   &&&&&r   r   AsyncioQuicManager.__init__   s     	,A;Sr   c                `    V P                  WW4V4      w  rgV'       d   VP                  4        V# r   )_connectr   )r   ro   rp   rq   rr   want_session_ticketr   starts   &&&&&&  r   connectAsyncioQuicManager.connect  s2     #mm60C
 NNr   c                   "   V # 5ir   rN   r   s   &r   rO   AsyncioQuicManager.__aenter__  rQ   rR   c                   "   \        V P                  P                  4       4      pV F  pVP                  4       G R j  xL
  K  	  R#  L
5irT   )list_connectionsvaluesrK   )r   rU   rV   rW   connectionsr   s   &&&&  r   rX   AsyncioQuicManager.__aexit__  sD      4,,3356%J""$$$ & %s   <AA	ArN   )iU  Nr   T)r[   r\   r]   r^   sslCERT_REQUIREDr   r   rO   rX   r_   r`   ra   rb   s   @@r   r   r      s.     S%6%6DUT
 r   r   )r   r|   r   r5   r   aioquic.h3.connectionr   aioquic.h3.eventsaioquic.quic.configurationaioquic.quic.connectionaioquic.quic.eventsdns.asyncbackendr%   dns.exceptiondns.inetdns.quic._commonr   r   r   r   r   r	   re   r   rN   r   r   <module>r      sb      
     !      ? ?D[+/ [+|) r   