
    ,h3                     V   U d dl mZmZmZmZmZmZmZ ddl ddl	m
Z
mZ g dZ G d dee      Z G d	 d
ee      Z G d dee      Z G d dee      Z G d dee      Z G d dee      Z G d dee      Z G d dee      Z G d dee      Z G d dee      Z G d dee      Z G d dee      Z G d d ee      Zeee   eee   eeee   eee   ee   f   f   ee   f   f   f   Zeeeeeeieeeeeieeeieeeieeeiei ei ei ieeeee eeefeiee!ee ee!efee efeieeeeeieeeieeeieeeiei ei iiZ"ee#d!<   eeee   ee   f   eee   ee   f   f   Z$eefeeieefeeieefeeieefeeieefeeieefeeieefeeiiZ%e$e#d"<    G d# d$      Z&y%)&    )castDictOptionalSetTupleTypeUnion   )*)LocalProtocolErrorSentinel)CLIENTSERVERIDLESEND_RESPONSE	SEND_BODYDONE
MUST_CLOSECLOSEDMIGHT_SWITCH_PROTOCOLSWITCHED_PROTOCOLERRORc                       e Zd Zy)r   N__name__
__module____qualname__     L/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/h11/_state.pyr   r          r   r   )	metaclassc                       e Zd Zy)r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd Zy)r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd Zy)r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd Zy)r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd Zy)r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd Zy)r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd Zy)r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd Zy)r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd Zy)r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd Zy)r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd Zy)_SWITCH_UPGRADENr   r   r   r    r.   r.      r!   r   r.   c                       e Zd Zy)_SWITCH_CONNECTNr   r   r   r    r0   r0      r!   r   r0   EVENT_TRIGGERED_TRANSITIONSSTATE_TRIGGERED_TRANSITIONSc            	           e Zd ZddZdee   ddfdZddZdee   ddfdZ	 ddee   d	ee	   d
e
ee      ddfdZdee   d	eee	   eee	   ee   f   f   ddfdZddZddZy)ConnectionStatereturnNc                 f    d| _         t               | _        t        t        t
        t        i| _        y )NT)
keep_alivesetpending_switch_proposalsr   r   r   statesselfs    r    __init__zConnectionState.__init__   s)    
  >AU%=CT6SW<Xr   rolec                 J    t         | j                  |<   | j                          y N)r   r:   !_fire_state_triggered_transitions)r<   r>   s     r    process_errorzConnectionState.process_error  s    !D..0r   c                 2    d| _         | j                          y )NF)r7   rA   r;   s    r    process_keep_alive_disabledz+ConnectionState.process_keep_alive_disabled  s    ..0r   switch_eventc                 Z    | j                   j                  |       | j                          y r@   )r9   addrA   )r<   rE   s     r    process_client_switch_proposalz.ConnectionState.process_client_switch_proposal  s"    %%)),7..0r   
event_typeserver_switch_eventc                 4   |}|'|t         u sJ || j                  vrt        d      ||f}||t        u rt	               | _        | j                  ||       |t        u r*|t        u sJ | j                  t         t        t        f       | j                          y )Nz@Received server _SWITCH_UPGRADE event without a pending proposal)	r   r9   r   Responser8   !_fire_event_triggered_transitionsRequestr   rA   )r<   r>   rI   rJ   _event_types        r    process_eventzConnectionState.process_event  s     OY*6>!"$*G*GG(V  &':;K&;(+B,/ED)..t[A '!6>!226GV;LM..0r   c           	         | j                   |   }	 t        |   |   |   }|| j                   |<   y # t        $ rL t        t        t
           |      }t        dj                  |j                  || j                   |               d w xY w)Nz4can't handle event type {} when role={} and state={})	r:   r1   KeyErrorr   r   Eventr   formatr   )r<   r>   rI   state	new_states        r    rM   z1ConnectionState._fire_event_triggered_transitions+  s    
 D!	3D9%@LI &D  	d5k:6J$FMM''t{{4/@ 		s
   0 ABc                 |   	 t        | j                        }| j                  r0| j                  t           t        u rt
        | j                  t        <   | j                  s0| j                  t           t
        u rt        | j                  t        <   | j                  s:t        t        fD ]+  }| j                  |   t        u st        | j                  |<   - | j                  t           | j                  t           f}t        j                  |i       }| j                  j                  |       | j                  |k(  ry <r@   )dictr:   r9   r   r   r   r7   r   r   r2   getupdate)r<   start_statesr>   joint_statechangess        r    rA   z1ConnectionState._fire_state_triggered_transitions<  s    ,L ,,;;v&$.*?DKK'00;;v&*??*.DKK'??#V, 7D{{4(D0,6D)7
  ;;v.F0CDK155k2FGKKw'{{l*I r   c                     | j                   t        t        t        t        ik7  rt	        d| j                          | j
                  sJ | j                  rJ t        t        t        t        i| _         y )Nz%not in a reusable state. self.states=)r:   r   r   r   r   r7   r9   r   r;   s    r    start_next_cyclez ConnectionState.start_next_cycled  sZ    ;;6466$7}E 
 000tVT2r   )r5   Nr@   )r   r   r   r=   r   r   rB   rD   rH   rS   r   rP   r	   r   rM   rA   r_   r   r   r    r4   r4      s    Y1$x. 1T 1114> 1d 1 9=	18n1 K1 &d8n5	1
 
10&8n& $u+uT%[$x.-H'IIJ& 
	&"&P	3r   r4   N)'typingr   r   r   r   r   r   r	   _events_utilr   r   __all__r   r   r   r   r   r   r   r   r   r   r   r.   r0   rS   EventTransitionTyperN   ConnectionClosedDataEndOfMessagerL   InformationalResponser1   __annotations__StateTransitionTyper2   r4   r   r   r    <module>rk      s  b A @ @  /	X 		X 	
	8x 		H 		H 		8x 		X 		X 		H 	
	H 		H 		h( 		h( 	 NXU4;d5k4>&A BBCT(^ST	V  w	#3V<D)\48(%v.!6*r2r	 fif}	
 	!=i"O46G'):	
 	D)\48(%v.!6*2r%4 0 B 	$x.$x.
()4XX0N+OO  -.9J0KTNVZ(TNVZ(
DMFJ'	6NVZ(	6NVZ(	5MFJ'4 0 t3 t3r   