
    h3                        % S SK JrJrJrJrJrJrJr  SSK7  SSK	J
r
Jr  / SQr " S S\\S9r " S	 S
\\S9r " S S\\S9r " S S\\S9r " S S\\S9r " S S\\S9r " S S\\S9r " S S\\S9r " S S\\S9r " S S\\S9r " S S\\S9r " S S\\S9r " S S \\S9r\\\   \\\   \\\\   \\\   \\   4   4   \\   4   4   4   r\\\\\\0\\\\\0\\\0\\\0\\\0\0 \0 \0 0\\\\\ \\\4\0\\!\\ \\!\4\\ \4\0\\\\\0\\\0\\\0\\\0\0 \0 00r"\\#S!'   \\\\   \\   4   \\\   \\   4   4   r$\\4\\0\\4\\0\\4\\0\\4\\0\\4\\0\\4\\0\\4\\00r%\$\#S"'    " S# S$5      r&g%)&    )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                       \ rS rSrSrg)r       N__name__
__module____qualname____firstlineno____static_attributes__r       </var/www/html/env/lib/python3.13/site-packages/h11/_state.pyr   r          r"   r   )	metaclassc                       \ rS rSrSrg)r      r   Nr   r   r"   r#   r   r      r$   r"   r   c                       \ rS rSrSrg)r      r   Nr   r   r"   r#   r   r      r$   r"   r   c                       \ rS rSrSrg)r      r   Nr   r   r"   r#   r   r      r$   r"   r   c                       \ rS rSrSrg)r      r   Nr   r   r"   r#   r   r      r$   r"   r   c                       \ rS rSrSrg)r      r   Nr   r   r"   r#   r   r      r$   r"   r   c                       \ rS rSrSrg)r      r   Nr   r   r"   r#   r   r      r$   r"   r   c                       \ rS rSrSrg)r      r   Nr   r   r"   r#   r   r      r$   r"   r   c                       \ rS rSrSrg)r      r   Nr   r   r"   r#   r   r      r$   r"   r   c                       \ rS rSrSrg)r      r   Nr   r   r"   r#   r   r      r$   r"   r   c                       \ rS rSrSrg)r      r   Nr   r   r"   r#   r   r      r$   r"   r   c                       \ rS rSrSrg)_SWITCH_UPGRADE   r   Nr   r   r"   r#   r;   r;      r$   r"   r;   c                       \ rS rSrSrg)_SWITCH_CONNECT   r   Nr   r   r"   r#   r>   r>      r$   r"   r>   EVENT_TRIGGERED_TRANSITIONSSTATE_TRIGGERED_TRANSITIONSc            	           \ rS rSrSS jrS\\   SS4S jrSS jrS\\   SS4S	 jr	 SS\\   S
\\
   S\\\      SS4S jjrS\\   S
\\\
   \\\
   \\   4   4   SS4S jrSS jrSS jrSrg)ConnectionState   returnNc                 f    SU l         [        5       U l        [        [        [
        [        0U l        g )NT)
keep_alivesetpending_switch_proposalsr   r   r   statesselfs    r#   __init__ConnectionState.__init__   s)    
  >AU%=CT6SW<Xr"   rolec                 J    [         U R                  U'   U R                  5         g N)r   rJ   !_fire_state_triggered_transitions)rL   rO   s     r#   process_errorConnectionState.process_error  s    !D..0r"   c                 2    SU l         U R                  5         g )NF)rG   rR   rK   s    r#   process_keep_alive_disabled+ConnectionState.process_keep_alive_disabled  s    ..0r"   switch_eventc                 Z    U R                   R                  U5        U R                  5         g rQ   )rI   addrR   )rL   rX   s     r#   process_client_switch_proposal.ConnectionState.process_client_switch_proposal  s"    %%)),7..0r"   
event_typeserver_switch_eventc                 \   UnUb7  U[         L d   eX0R                  ;  a  [        SR                  U5      5      eX#4nUc  U[        L a  [        5       U l        U R                  X5        U[        L a+  U[        L d   eU R                  [         [        [        45        U R                  5         g )Nz3Received server {} event without a pending proposal)
r   rI   r   formatResponserH   !_fire_event_triggered_transitionsRequestr   rR   )rL   rO   r]   r^   _event_types        r#   process_eventConnectionState.process_event  s     OY*6>!>"*G*GG(IPP+ 
 &;K&;(+B,/ED)..tA '!6>!>226GV;LM..0r"   c           	         U R                   U   n [        U   U   U   nX@R                   U'   g ! [         aK    [        [        [
           U5      n[        SR                  UR                  XR                   U   5      5      S ef = f)Nz4can't handle event type {} when role={} and state={})	rJ   r@   KeyErrorr   r   Eventr   r`   r   )rL   rO   r]   state	new_states        r#   rb   1ConnectionState._fire_event_triggered_transitions-  s    
 D!	3D9%@LI &D  	d5k:6J$FMM''{{4/@ 		s
   / ABc                     [        U R                  5      nU R                  (       a1  U R                  [           [        L a  [
        U R                  [        '   U R                  (       d1  U R                  [           [
        L a  [        U R                  [        '   U R                  (       d>  [        [        4 H.  nU R                  U   [        L d  M  [        U R                  U'   M0     U R                  [           U R                  [           4n[        R                  U0 5      nU R                  R                  U5        U R                  U:X  a  g GMS  rQ   )dictrJ   rI   r   r   r   rG   r   r   rA   getupdate)rL   start_statesrO   joint_statechangess        r#   rR   1ConnectionState._fire_state_triggered_transitions>  s    ,L ,,;;v&$.*?DKK'00;;v&*??*.DKK'??#V,D{{4(D0,6D) -
  ;;v.F0CDK155k2FGKKw'{{l*I r"   c                    U R                   [        [        [        [        0:w  a$  [	        SR                  U R                   5      5      eU R                  (       d   eU R                  (       a   e[        [        [        [        0U l         g )Nz'not in a reusable state. self.states={})	rJ   r   r   r   r   r`   rG   rI   r   rK   s    r#   start_next_cycle ConnectionState.start_next_cyclef  sc    ;;6466$9@@M 
 0000tVT2r"   )rG   rI   rJ   )rE   NrQ   )r   r   r   r    rM   r   r   rS   rV   r[   ri   r   re   r	   r   rb   rR   rv   r!   r   r"   r#   rC   rC      s    Y1$x. 1T 1114> 1d 1 9=	18n1 K1 &d8n5	1
 
14&8n& $u+uT%[$x.-H'IIJ& 
	&"&P	3r"   rC   N)'typingr   r   r   r   r   r   r	   _events_utilr   r   __all__r   r   r   r   r   r   r   r   r   r   r   r;   r>   ri   EventTransitionTyperc   ConnectionClosedDataEndOfMessagera   InformationalResponser@   __annotations__StateTransitionTyperA   rC   r   r"   r#   <module>r      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 v3 v3r"   