ó
    ‚¤jú  ã                  ó´  • % S SK Jr  S SKrS SKrS SKrS SKJr  S SKJrJ	r	  S SK
JrJr  S SKJr  S SKJr  \R"                  R%                  SS	5      R'                  5       S
;   r\ " S S5      5       r\R,                  " SSS9rS\S'   SS jrSS jr\SS j5       r\	SS j5       rS rS r " S S5      r\" 5       r \(       d  \SS j5       r\	SS j5       rgg)é    )ÚannotationsN)Údeque)ÚasynccontextmanagerÚcontextmanager)Ú	dataclassÚfield©Úwraps)ÚAnyÚGRADIO_PROFILINGÚ )Ú1Útruec                  ó¤  • \ rS rSr% SrS\S'   SrS\S'   SrS\S'   \" \	R                  S9r
S\S	'   S
rS\S'   S
rS\S'   S
rS\S'   S
rS\S'   S
rS\S'   S
rS\S'   SrS\S'   S
rS\S'   S
rS\S'   S
rS\S'   S
rS\S'   S
rS\S'   S
rS\S'   S
rS\S'   S
rS\S'   S
rS\S'   S
rS\S'   S
rS\S'   S
rS\S'   S
rS\S '   S
rS\S!'   S%S" jr S&S# jr!S$r"g)'ÚRequestTraceé   Nz
str | NoneÚevent_idÚfn_nameÚsession_hash)Údefault_factoryÚfloatÚ	timestampç        Úqueue_wait_msÚpreprocess_msÚ
fn_call_msÚpostprocess_msÚstreaming_diff_msÚtotal_msr   ÚintÚn_iterationsÚ	upload_msÚpreprocess_move_to_cache_msÚpreprocess_format_image_msÚ&postprocess_save_img_array_to_cache_msÚpreprocess_audio_from_file_msÚ"postprocess_save_audio_to_cache_msÚpreprocess_video_msÚ2postprocess_video_convert_video_to_playable_mp4_msÚ%postprocess_update_state_in_config_msÚpostprocess_move_to_cache_msÚpostprocess_video_msÚ postprocess_save_pil_to_cache_msÚ"postprocess_save_bytes_to_cache_msÚsave_file_to_cache_msc                ó–   • U S3n[        X5      (       a  [        X[        X5      U-   5        US:X  a  U =R                  S-  sl        g g )NÚ_msÚtotalé   )ÚhasattrÚsetattrÚgetattrr!   )ÚselfÚnameÚduration_msÚattrs       ÚžC:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\gradio/profiling.pyÚ	set_phaseÚRequestTrace.set_phase,   sI   € Ø��sˆ|ˆÜ�4×Ñä�D¤¨Ó 3°kÑ AÔBØ�7‹?Ø×Ò Ñ"Öð ó    c           	     ó`  • 0 SU R                   _SU R                  _SU R                  _SU R                  _SU R                  _SU R
                  _SU R                  _SU R                  _S	U R                  _S
U R                  _SU R                  _SU R                  _SU R                  _SU R                  _SU R                  _SU R                  _SU R                   _U R"                  U R$                  U R&                  U R(                  U R*                  U R,                  U R.                  S.E$ )Nr   r   r   r   r   r   r   r   r   r   r!   r#   r$   r%   r&   r'   r(   )r)   r*   r+   r,   r-   r.   r/   )r   r   r   r   r   r   r   r   r   r   r!   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   ©r7   s    r;   Úto_dictÚRequestTrace.to_dict4   sx  € ð
Ø˜Ÿ™ð
à�t—|‘|ð
ð ˜D×-Ñ-ð
ð ˜Ÿ™ð	
ð
 ˜T×/Ñ/ð
ð ˜T×/Ñ/ð
ð ˜$Ÿ/™/ð
ð ˜d×1Ñ1ð
ð   ×!7Ñ!7ð
ð ˜Ÿ™ð
ð ˜D×-Ñ-ð
ð *¨4×+KÑ+Kð
ð )¨$×*IÑ*Ið
ð 5°d×6aÑ6að
ð ,¨T×-OÑ-Oð
ð  1°$×2YÑ2Yð!
ð" " 4×#;Ñ#;ð#
ð$ CG×ByÑByØ59×5_Ñ5_Ø,0×,MÑ,MØ$(×$=Ñ$=Ø04×0UÑ0UØ26×2YÑ2YØ%)×%?Ñ%?ò1
ð 	
r>   © )r8   Ústrr9   r   ©Úreturnzdict[str, Any])#Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__annotations__r   r   r   Útimer   r   r   r   r   r   r   r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r<   rA   Ú__static_attributes__rC   r>   r;   r   r      s  ‡ à€HˆjÓØ€GˆZÓØ#€L�*Ó#Ù¨T¯Y©YÑ7€IˆuÓ7à€M�5ÓØ€M�5ÓØ€J�ÓØ€N�EÓØ"Ð�uÓ"Ø€HˆeÓØ€L�#ÓØ€IˆuÓØ),Ð Ó,Ø(+Ð Ó+Ø47Ð*¨EÓ7Ø+.Ð! 5Ó.Ø03Ð&¨Ó3Ø!$Ð˜Ó$Ø@CÐ6¸ÓCØ36Ð)¨5Ó6Ø*-Ð  %Ó-Ø"%Ð˜%Ó%Ø.1Ð$ eÓ1Ø03Ð&¨Ó3Ø#&Ð˜5Ó&ô#÷
r>   r   Ú_current_trace)Údefaultz+contextvars.ContextVar[RequestTrace | None]c                 ó*   • [         R                  5       $ ©N)rN   ÚgetrC   r>   r;   Úget_current_tracerS   V   s   € Ü×ÑÓÐr>   c                ó,   • [         R                  U 5      $ rQ   )rN   Úset)Útraces    r;   Úset_current_tracerW   Z   s   € Ü×Ñ˜eÓ$Ð$r>   c               ó6  #   • [         R                  5       nUc  S7v •  g[        R                  " 5       n S7v •  [        R                  " 5       U-
  S-  nUR	                  X5        g! [        R                  " 5       U-
  S-  nUR	                  X5        f = f7f)zSAsync context manager that records timing for a named phase into the current trace.Néè  ©rN   rR   rL   Ú	monotonicr<   ©r8   rV   Ústartr9   s       r;   Útrace_phaser^   ^   s{   é € ô ×ÑÓ €EØ�}ÜØÜ�NŠNÓ€Eð+Üä—~’~Ó'¨%Ñ/°4Ñ7ˆØ�‰˜Õ*øô —~’~Ó'¨%Ñ/°4Ñ7ˆØ�‰˜Õ*üs   ‚3B¶A( »-BÁ(.BÂBc              #  ó2  #   • [         R                  5       nUc  Sv •  g[        R                  " 5       n Sv •  [        R                  " 5       U-
  S-  nUR	                  X5        g! [        R                  " 5       U-
  S-  nUR	                  X5        f = f7f)zMContext manager that records timing for a named phase into the current trace.NrY   rZ   r\   s       r;   Útrace_phase_syncr`   m   s{   é € ô ×ÑÓ €EØ�}ÛØÜ�NŠNÓ€Eð+Ûä—~’~Ó'¨%Ñ/°4Ñ7ˆØ�‰˜Õ*øô —~’~Ó'¨%Ñ/°4Ñ7ˆØ�‰˜Õ*üs   ‚2BµA& ¹-BÁ&.BÂBc                ó0   ^ • [         (       d  S $ U 4S jnU$ )Nc                ó   • U $ rQ   rC   ©Úfs    r;   Ú<lambda>Útraced.<locals>.<lambda>~   ó   € ™r>   c                ó4   >^ • [        T 5      U U4S j5       nU$ )Nc               Ÿ  ó¶   >#   • [        T5       IS h  v•N   T" U 0 UD6I S h  v•N sS S S 5      IS h  v•N   $  N% N N	! , IS h  v•N  (       d  f       g = f7frQ   )r^   ©ÚargsÚkwargsrd   Úphases     €€r;   ÚwrapperÚ)traced.<locals>._factory.<locals>.wrapper�   s=   øé € ä" 5×)Õ)Ù Ð/¨Ñ/×/÷ *×)Ó)Ù/÷ *×)×)Ð)üsH   ƒA“9”A—?£;¤?§A³=´A»?½A¿AÁAÁAÁAr	   ©rd   rn   rm   s   ` €r;   Ú_factoryÚtraced.<locals>._factory€   s    ù€ Ü	ˆq‹õ	0ó 
ð	0ð ˆr>   ©ÚPROFILING_ENABLED©rm   rq   s   ` r;   Útracedrv   |   ó   ø€ ßÒÙÐõð €Or>   c                ó0   ^ • [         (       d  S $ U 4S jnU$ )Nc                ó   • U $ rQ   rC   rc   s    r;   re   Útraced_sync.<locals>.<lambda>�   rg   r>   c                ó4   >^ • [        T 5      U U4S j5       nU$ )Nc                 ó`   >• [        T5         T" U 0 UD6sS S S 5        $ ! , (       d  f       g = frQ   )r`   rj   s     €€r;   rn   Ú.traced_sync.<locals>._factory.<locals>.wrapper�   s$   ø€ ä! %Õ(Ù˜$Ð) &Ñ)÷ )×(×(ús   �Ÿ
-r	   rp   s   ` €r;   rq   Útraced_sync.<locals>._factory�   s    ù€ Ü	ˆq‹õ	*ó 
ð	*ð ˆr>   rs   ru   s   ` r;   Útraced_syncr   ‹   rw   r>   c                  óJ   • \ rS rSrS	S
S jjrSS jrSSS jjrSS jrS rSr	g)ÚTraceCollectoréš   c                ó    • [        US9U l        g )N)Úmaxlen)r   Ú_traces)r7   r„   s     r;   Ú__init__ÚTraceCollector.__init__›   s   € Ü,1¸Ñ,@ˆ�r>   c                ó:   • U R                   R                  U5        g rQ   )r…   Úappend)r7   rV   s     r;   ÚaddÚTraceCollector.addž   s   € Ø�‰×Ñ˜EÕ"r>   Nc                ó†   • [        U R                  5      nUb  X!* S  nU Vs/ s H  o3R                  5       PM     sn$ s  snf rQ   )Úlistr…   rA   )r7   Úlast_nÚtracesÚts       r;   Úget_allÚTraceCollector.get_all¡   s>   € Ü�d—l‘lÓ#ˆØÑØ˜G˜HÐ%ˆFÙ%+Ó,¢V —	‘	–¡VÑ,Ð,ùÒ,s   ¢>c           	     ó”  ^
• U R                   (       d  S0 S.$ SS Km
U R                    Vs/ s H  oR                  S:w  d  M  UPM     nnU R                    Vs/ s H  oR                  S:X  d  M  UPM     nn/ SQnU
4S jn[        U5      0 S.nU HW  nU Vs/ s H  n[	        X S35      PM     nnU(       a  U" T
R                  U5      5      US   U'   MG  SSSSSSSS	.US   U'   MY     U(       aB  U Vs/ s H  oR                  PM     n	nS
[        U5      0U" T
R                  U	5      5      EUS'   U$ s  snf s  snf s  snf s  snf )Nr   )ÚcountÚphasesÚgradio_file_upload)Ú
queue_waitÚ
preprocessÚfn_callÚpostprocessÚstreaming_diffr2   c                óp  >• [        TR                  U S5      5      [        TR                  U S5      5      [        TR                  U S5      5      [        TR                  U S5      5      [        TR                  U 5      5      [        TR                  U 5      5      [        TR	                  U 5      5      S.$ )Né2   éZ   é_   éc   ©Úp50Úp90Úp95Úp99ÚmeanÚminÚmax)r   Ú
percentiler¦   r§   r¨   )ÚarrÚnps    €r;   Ú_percentilesÚ0TraceCollector.get_summary.<locals>._percentiles»   s‰   ø€ ä˜RŸ]™]¨3°Ó3Ó4Ü˜RŸ]™]¨3°Ó3Ó4Ü˜RŸ]™]¨3°Ó3Ó4Ü˜RŸ]™]¨3°Ó3Ó4Ü˜bŸg™g c›lÓ+Ü˜RŸV™V C›[Ó)Ü˜RŸV™V C›[Ó)ñð r>   r1   r•   r   r¡   r”   Úupload)r…   Únumpyr   Úlenr6   Úarrayr"   )r7   r�   Úprediction_tracesÚupload_tracesr•   r¬   Úresultrm   ÚvaluesÚupload_valuesr«   s             @r;   Úget_summaryÚTraceCollector.get_summary§   sd  ø€ Ø�|�|Ø¨"Ñ-Ð-ãð —|’|ó
Ú#�!§y¡yÐ4HÑ'H�A‘|ð 	ð 
ð %)§L¢LÓV¢L˜q·I±IÐAUÑ4UŸ¡LˆÐVò
ˆõ		ô Ð*Ó+Øñ"
ˆó ˆEÙ9JÓKÒ9J°A”g˜a 7¨# Ö/Ñ9JˆFÐKÞÙ*6°r·x±xÀÓ7GÓ*H��xÑ  Ó'ð ØØØØØØñ+��xÑ  Ó'ñ ö Ù2?Ó@²-¨QŸ[œ[±-ˆMÐ@àœ˜]Ó+ð á˜rŸx™x¨Ó6Ó7ð ˆF�8Ñð
 ˆùòg
ùò Wùò6 Lùò As#   ªD6ÁD6ÁD;Á.D;ÂE Ã6Ec                ó8   • U R                   R                  5         g rQ   )r…   Úclearr@   s    r;   rº   ÚTraceCollector.clearâ   s   € Ø�‰×ÑÕr>   )r…   )i † )r„   r    )rV   r   rQ   )rŽ   z
int | NonerF   zlist[dict[str, Any]]rE   )
rG   rH   rI   rJ   r†   rŠ   r‘   r·   rº   rM   rC   r>   r;   r�   r�   š   s   † öAô#ö-ô9õvr>   r�   c               ó   #   • S 7v •  g 7frQ   rC   ©r8   s    r;   r^   r^   í   s   é € åùs   ‚	c              #  ó   #   • S v •  g 7frQ   rC   r½   s    r;   r`   r`   ñ   s   é € äùs   ‚)rF   zRequestTrace | None)rV   r   rF   zcontextvars.Token)r8   rD   )!Ú
__future__r   ÚcontextvarsÚosrL   Úcollectionsr   Ú
contextlibr   r   Údataclassesr   r   Ú	functoolsr
   Útypingr   ÚenvironrR   Ústriprt   r   Ú
ContextVarrN   rK   rS   rW   r^   r`   rv   r   r�   Ú	collectorrC   r>   r;   Ú<module>rË      s  ðÞ "ã Û 	Û Ý ß :ß (Ý Ý à—J‘J—N‘NÐ#5°rÓ:×@Ñ@ÓBÀmÑSÐ ð ÷>
ð >
ó ð>
ðB ?J×>TÒ>TØ˜dñ?€Ð;ó ô
 ô%ð ó+ó ð+ð ó+ó ð+òò÷Iñ IñZ Ó€	ö ð óó ðð óó ñð r>   