
    Y j                     <   S SK r S SKrS SKJr  S SKJr  S SKJrJr  S SK	r	SSK
Jr  SSKJr  SS	KJr  SS
KJrJr  SrSr " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S5      r SS\S\S\S\\   S\S-  S\S\\\-  \-  \-     4S jjrg)     N)deque)Iterator)Literal	TypedDict   )build_hf_headers)hf_raise_for_status   )	SSEClient)ApiGetReloadEventSourceDataApiGetReloadRequesti     c                   0    \ rS rSr% \S   \S'   \\S'   Srg)MultiReplicaStreamWarning"   warningkindmessage N__name__
__module____qualname____firstlineno__r   __annotations__str__static_attributes__r       s/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/huggingface_hub/_hot_reload/client.pyr   r   "   s    
)
Lr   r   c                   0    \ rS rSr% \S   \S'   \\S'   Srg)MultiReplicaStreamEvent'   eventr   r   N)r   r   r   r   r   r   r   r   r   r   r   r!   r!   '   s    
'
&&r   r!   c                   0    \ rS rSr% \S   \S'   \\S'   Srg)MultiReplicaStreamReplicaHash,   replicaHashr   hashr   Nr   r   r   r   r%   r%   ,   s    
-
  
Ir   r%   c                   &    \ rS rSr% \S   \S'   Srg)MultiReplicaStreamFullMatch1   	fullMatchr   r   N)r   r   r   r   r   r   r   r   r   r   r*   r*   1   s    
+
r   r*   c            	       R    \ rS rSrS\S\S\S\S-  4S jrS\S	\\   \-  4S
 jr	Sr
g)ReloadClient5   host	subdomainreplica_hashtokenNc                    UR                  X" S[         35      nX0l        [        R                  " U SU 3[        US9[        S9U l        g )Nz--z/--replicas/+)r3   )base_urlheaderstimeout)replaceHOT_RELOADING_PORTr2   httpxClientr   CLIENT_TIMEOUTclient)selfr0   r1   r2   r3   	base_hosts         r   __init__ReloadClient.__init__6   sN     LLk<N;O,PQ	(ll!{-~>$51"
r   	reload_idreturnc              #     #    [        US9nU R                  R                  SSUS9 nUR                  S:w  a  UR                  sS S S 5        $ [	        U5        [        UR                  5       5      R                  5        H7  nUR                  S:X  d  M  [        R                  " UR                  5      v   M9     S S S 5        g ! , (       d  f       g = f7f)N)reloadIdPOSTz/get-reload)json   r   )r   r=   streamstatus_coder	   r   
iter_byteseventsr#   rG   loadsdata)r>   rB   reqresr#   s        r   
get_reloadReloadClient.get_reloadF   s     !95[[C@C#% A@  $"3>>#34;;=;;)+**UZZ00 >	 A  A@ s/   %CC
CAC&C:	C
CC)r=   r2   )r   r   r   r   r   r@   r   r   intrQ   r   r   r   r   r.   r.   5   sR    
 
 	

 
 Tz
 	C 	H5P,QTW,W 	r   r.   
commit_shar0   r1   replica_hashesr3   max_retriesrC   c           
   #   `  #    U Vs/ s H  n[        UUUUS9PM     nn0 n[        U5       GHw  u  p[        U5      S:  a  SU
R                  S.v   Sn[	        U
R                  U 5      =n[        5      (       a  US-   =o:  a  [        S5      eU=nS;  a  [        SU< S	35      eUS
:X  a  SOSnSSU S3S.v   [        R                  " S5        [	        U
R                  U 5      =n[        5      (       a  M  Sn[        5       n[        U5       Hu  u  nnU	S:X  a  UUU'   O7U=(       a    UR                  U5      U:H  =n(       a  UR                  U5        MI  U(       a  SUR                  5       S.v   U(       a  M  SUS.v   Mw     U	S:  d  GMg  U(       d  GMq  SS0v   GMz     g s  snf 7f)N)r0   r1   r2   r3   r
   r'   )r   r(   r   zToo many retries reached)rH      zUnexpected status_code=z on `ReloadClient.get_reload`rX   rE   replicar   zRetrying on unexpected z
 not found)r   r   r   Tr#   )r   r#   r   r,   )r.   	enumeratelenr2   
isinstancerQ   rS   	Exceptiontimesleepr   getappendpopleft)rT   r0   r1   rU   r3   rV   r(   clientsfirst_client_eventsclient_indexr=   retriesrL   rJ   subject
full_matchreplayevent_indexr#   s                      r   multi_replica_reload_eventsrk   R   s    " # #D 			
 #   CE )' 2w<!(&2E2EFFF$5$5j$AA&CHH"Q;&5 :;;%%j8":k^;X YZZ$/3$6jIG$3J7)S]1^__JJqM F$5$5j$AA&CHH 
5:W"+F"3Kq 38#K0)[.A.E.Ek.RV[.[[[e$&1ABB &"U33 #4 !

;''7 !3s)   F.F)CF.:BF.?F.F.F.)
   )rG   r^   collectionsr   collections.abcr   typingr   r   r:   utils._headersr   utils._httpr	   
sse_clientr   typesr   r   r9   r<   r   r!   r%   r*   r.   r   listrS   rk   r   r   r   <module>ru      s        $ %  - - ! C  	 
'i '
I 
)  F 0(0(
0( 0( I	0(
 :0( 0(  77:WWZuu0(r   