
    h                        S SK JrJrJrJrJr  SSKJrJrJ	r	  SSK
JrJrJrJrJrJrJr  SSKJrJrJrJrJr  SSKJr   S SK Jr  S\S	\\   4S
 jrS\S\S	\\   4S jrS\\   S	\\   4S jr  " S S5      r!g! \ a	    S SKJr   NBf = f)    )castListTypeUnion
ValuesView   )
Connection	NEED_DATAPAUSED)ConnectionClosedDataEndOfMessageEventInformationalResponseRequestResponse)CLIENTCLOSEDDONE
MUST_CLOSESERVER)Sentinel)Literalconnreturnc                     / n U R                  5       nU[        [        4;   a   U$ [        [        U5      nUR                  U5        [        U5      [        L a   U$ M[  N)
next_eventr
   r   r   r   appendtyper   )r   
got_eventsevents      C/var/www/html/env/lib/python3.13/site-packages/h11/tests/helpers.pyget_all_eventsr$      se    J
!Y''
 	 UE"% ;**     datac                 :    U R                  U5        [        U 5      $ r   )receive_datar$   )r   r&   s     r#   receive_and_getr)   #   s    d$r%   	in_eventsc                    / nU  H  n[        U5      [        L a  [        [        UR                  5      SSS9nU(       ak  [        US   5      [        U5      s=L a	  [        L aG  O  OD[        US   R                  UR                  -   US   R                  US   R
                  S9US'   M  UR                  U5        M     U$ )NF)r&   chunk_start	chunk_end)r    r   bytesr&   r,   r-   r   )r*   
out_eventsr"   s      r#   normalize_data_eventsr1   *   s     J;$eEJJ/UeTE$z"~.$u+EE!^((5::5&rN66$R.22JrN e$  r%   c                       \ rS rSrSS jr\S\\   4S j5       r SS\	\
   S\\\   \4   S	\\\   \\S   4   S\4S
 jjrSrg)ConnectionPair>   r   Nc                     [         [        [         5      [        [        [        5      0U l        [         [        [        [         0U l        g r   )r   r	   r   r   otherselfs    r#   __init__ConnectionPair.__init__?   s,    Z/F9KL	fff5
r%   c                 6    U R                   R                  5       $ r   )r   valuesr7   s    r#   connsConnectionPair.connsC   s    yy!!r%   matchrolesend_eventsexpectc                    [        U[        5      (       d  U/nSnSnU H,  nU R                  U   R                  U5      nUc  SnM(  XG-  nM.     U(       a+  U R                  U R                  U      R                  U5        U(       a+  U R                  U R                  U      R                  S5        [        U R                  U R                  U      5      nUS:X  a  Un[        U[        5      (       d  U/nX:X  d   eU$ )Nr%   FTr?   )
isinstancelistr   sendr6   r(   r$   )	r8   r@   rA   rB   r&   closed
send_eventnew_datar!   s	            r#   rF   ConnectionPair.sendH   s     +t,,&-K%Jyy++J7H  & IIdjj&'44T:IIdjj&'44S9#DIIdjj.>$?@
W F&$''XF###r%   )r   r6   )r   N)r?   )__name__
__module____qualname____firstlineno__r9   propertyr   r	   r=   r   r   r   r   r   r   r/   rF   __static_attributes__ r%   r#   r3   r3   >   s    6 "z*- " " ?F	8n 4;-. d5k5''*::;	
 
 r%   r3   N)"typingr   r   r   r   r   _connectionr	   r
   r   _eventsr   r   r   r   r   r   r   _stater   r   r   r   r   _utilr   r   ImportErrortyping_extensionsr$   r/   r)   r1   r3   rQ   r%   r#   <module>rY      s    6 6 7 7   > = *

 
U 
 *  E  d5k  T%[ T%[ (' 'Y  *)*s    A: :B	B	