Ë
    ²Œjû0  ã                   óf  — d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZmZmZmZmZ d dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlm Z! d dl"m#Z# d dl$m%Z% d dl&m'Z'm(Z( d dl)m*Z*m+Z+ d dl,m-Z- d dl.m/Z/ erd dl)m0Z0  G d„ d«      Z1 G d„ dejd                  ejf                  «      Z4dee5   fd„Z6	 	 	 d deeejb                  ejn                  f      dee5   dee5   deejp                     deejb                  ejn                  f   f
d„Z9dejt                  ddfd„Z;y)!é    N)Údatetime)
ÚTYPE_CHECKINGÚAnyÚAsyncIteratorÚDictÚIterableÚIteratorÚMappingÚOptionalÚTypeÚUnion)ÚUnpack)Ú__version__©ÚAccounts©ÚCollections©ÚDeployments)ÚReplicateError©ÚFiles)ÚHardwareNamespace©ÚModels©ÚPredictions)Ú	async_runÚrun)Úasync_streamÚstream©Ú	Trainings©ÚWebhooks)ÚServerSentEventc                   óT  ‡ — e Zd ZU dZdZeej                     ed<   dZ	eej                     ed<   	 d'dddœdee   dee   deej                     d	dfˆ fd
„Zed	ej                  fd„«       Zed	ej                  fd„«       Zdeded	ej"                  fd„Zdeded	ej"                  fd„Zed	efd„«       Zed	efd„«       Zed	efd„«       Zed	efd„«       Zed	efd„«       Zed	efd„«       Zed	e fd„«       Z!ed	e"fd„«       Z#ed	e$fd„«       Z%	 d'ddœdedee&ee'f      dee(   de)d    d	e*e'e+e'   f   f
d!„Z,	 d'ddœdedee&ee'f      dee(   de)d    d	e*e'e-e'   f   f
d"„Z.ddd#œdedee&ee'f      dee(   de)d    d	e+d$   f
d%„Z/	 d'ddœdedee&ee'f      dee(   de)d    d	e-d$   f
d&„Z0ˆ xZ1S )(ÚClientzA Replicate API client libraryNÚ_Client__clientÚ_Client__async_client)Úbase_urlÚtimeoutÚ	api_tokenr+   r,   Úreturnc                ó¶   •— t         ‰| �  «        || _        || _        || _        || _        t        t        j                  j                  dd«      «      | _
        y )NÚREPLICATE_POLL_INTERVALz0.5)ÚsuperÚ__init__Ú
_api_tokenÚ	_base_urlÚ_timeoutÚ_client_kwargsÚfloatÚosÚenvironÚgetÚpoll_interval)Úselfr-   r+   r,   ÚkwargsÚ	__class__s        €úZ/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/replicate/client.pyr2   zClient.__init__.   sJ   ø€ ô 	‰ÑÔà#ˆŒØ!ˆŒØˆŒØ$ˆÔä"¤2§:¡:§>¡>Ð2KÈUÓ#SÓTˆÕó    c                 óÆ   — | j                   sJt        t        j                  | j                  | j
                  | j                  fi | j                  ¤Ž| _         | j                   S ©N)r)   Ú_build_httpx_clientÚhttpxr(   r3   r4   r5   r6   ©r<   s    r?   Ú_clientzClient._client?   sM   € à�}Š}Ü/Ü—‘Ø—‘Ø—‘Ø—‘ñ	ð
 ×%Ñ%ñˆDŒMð �}‰}Ðr@   c                 óÆ   — | j                   sJt        t        j                  | j                  | j
                  | j                  fi | j                  ¤Ž| _         | j                   S rB   )r*   rC   rD   ÚAsyncClientr3   r4   r5   r6   rE   s    r?   Ú_async_clientzClient._async_clientK   sT   € à×"Ò"Ü"5Ü×!Ñ!Ø—‘Ø—‘Ø—‘ñ	#ð
 ×%Ñ%ñ#ˆDÔð ×"Ñ"Ð"r@   ÚmethodÚpathc                 óX   —  | j                   j                  ||fi |¤Ž}t        |«       |S rB   )rF   ÚrequestÚ_raise_for_status©r<   rJ   rK   r=   Úresps        r?   Ú_requestzClient._requestW   s,   € Ø#ˆt�|‰|×#Ñ# F¨DÑ;°FÑ;ˆÜ˜$Ôàˆr@   c              ‹   ót   K  —  | j                   j                  ||fi |¤Žƒ d {  –—† }t        |«       |S 7 Œ­wrB   )rI   rM   rN   rO   s        r?   Ú_async_requestzClient._async_request]   s;   è ø€ Ø/�T×'Ñ'×/Ñ/°¸ÑGÀÑG×GˆÜ˜$Ôàˆð Hús   ‚"8¤6¥8c                 ó   — t        | ¬«      S )z?
        Namespace for operations related to accounts.
        ©Úclientr   rE   s    r?   ÚaccountszClient.accountsc   s   € ô ˜tÔ$Ð$r@   c                 ó   — t        | ¬«      S )zL
        Namespace for operations related to collections of models.
        rU   r   rE   s    r?   ÚcollectionszClient.collectionsk   ó   € ô
  $Ô'Ð'r@   c                 ó   — t        | ¬«      S )zB
        Namespace for operations related to deployments.
        rU   r   rE   s    r?   ÚdeploymentszClient.deploymentsr   rZ   r@   c                 ó   — t        | ¬«      S )z<
        Namespace for operations related to files.
        rU   r   rE   s    r?   ÚfileszClient.filesy   s   € ô
 ˜DÔ!Ð!r@   c                 ó   — t        | ¬«      S )z?
        Namespace for operations related to hardware.
        rU   )ÚHardwarerE   s    r?   ÚhardwarezClient.hardware€   ó   € ô
 ˜tÔ$Ð$r@   c                 ó   — t        | ¬«      S )z=
        Namespace for operations related to models.
        rU   r   rE   s    r?   ÚmodelszClient.models‡   s   € ô
 ˜TÔ"Ð"r@   c                 ó   — t        | ¬«      S )zB
        Namespace for operations related to predictions.
        rU   r   rE   s    r?   ÚpredictionszClient.predictionsŽ   rZ   r@   c                 ó   — t        | ¬«      S )z@
        Namespace for operations related to trainings.
        rU   r"   rE   s    r?   Ú	trainingszClient.trainings•   s   € ô
  Ô%Ð%r@   c                 ó   — t        | ¬«      S )z?
        Namespace for operations related to webhooks.
        rU   r$   rE   s    r?   ÚwebhookszClient.webhooksœ   rb   r@   T)Úuse_file_outputÚrefÚinputrk   Úparamsz"Predictions.CreatePredictionParamsc                ó"   — t        | ||fd|i|¤ŽS )z6
        Run a model and wait for its output.
        rk   )r   ©r<   rl   rm   rk   rn   s        r?   r   z
Client.run£   s   € ô �4˜˜eÑO°_ÐOÈÑOÐOr@   c             ‹   ó>   K  — t        | ||fd|i|¤Žƒ d{  –—† S 7 Œ­w)zE
        Run a model and wait for its output asynchronously.
        rk   N)r   rp   s        r?   r   zClient.async_run±   s6   è ø€ ô Ø�#�uñ
Ø.=ð
ØAGñ
÷ 
ð 	
ð 
ús   ‚–—)rm   rk   r&   c                ó"   — t        | ||fd|i|¤ŽS )z*
        Stream a model's output.
        rk   )r!   rp   s        r?   r!   zClient.streamÁ   s   € ô �d˜C ÑR¸ÐRÈ6ÑRÐRr@   c             ‹   ó*   K  — t        | ||fd|i|¤ŽS ­w)z9
        Stream a model's output asynchronously.
        rk   )r    rp   s        r?   r    zClient.async_streamÏ   s"   è ø€ ô ˜D # uÑX¸oÐXÐQWÑXÐXùs   ‚rB   )2Ú__name__Ú
__module__Ú__qualname__Ú__doc__r)   r   rD   r(   Ú__annotations__r*   rH   ÚstrÚTimeoutr2   ÚpropertyrF   rI   ÚResponserQ   rS   r   rW   r   rY   r   r\   r   r^   r`   ra   r   rd   r   rf   r#   rh   r%   rj   r   r   Úboolr   r   r	   r   r   r   r!   r    Ú__classcell__)r>   s   @r?   r(   r(   (   s“  ø… Ù(à'+€Hˆh�u—|‘|Ñ$Ó+Ø26€N�H˜U×.Ñ.Ñ/Ó6ð $(ðUð #'Ø+/òUà˜C‘=ðUð ˜3‘-ð	Uð
 ˜%Ÿ-™-Ñ(ðUð 
õUð" ð	˜Ÿ™ò 	ó ð	ð ð	#˜u×0Ñ0ò 	#ó ð	#ð˜sð ¨#ð ¸E¿N¹Nó ð¨3ð °cð ÈÏÉó ð ð%˜(ò %ó ð%ð ð(˜[ò (ó ð(ð ð(˜[ò (ó ð(ð ð"�uò "ó ð"ð ð%˜(ò %ó ð%ð ð#˜ò #ó ð#ð ð(˜[ò (ó ð(ð ð&˜9ò &ó ð&ð ð%˜(ò %ó ð%ð +/ðPð
 +/òPàðPð ˜˜S #˜X™Ñ'ðPð
 " $™ðPð Ð=Ñ>ðPð 
ˆs�H˜S‘MÐ!Ñ	"óPð" +/ð
ð
 +/ò
àð
ð ˜˜S #˜X™Ñ'ð
ð
 " $™ð
ð Ð=Ñ>ð
ð 
ˆs�M #Ñ&Ð&Ñ	'ó
ð( +/Ø*.òSàðSð ˜˜S #˜X™Ñ'ð	Sð
 " $™ðSð Ð=Ñ>ðSð 
Ð#Ñ	$óSð" +/ðYð
 +/òYàðYð ˜˜S #˜X™Ñ'ðYð
 " $™ðYð Ð=Ñ>ðYð 
Ð(Ñ	)÷Yr@   r(   c                   óz  — e Zd ZdZ eg d¢«      Z eg d¢«      ZdZdedddddœd	ee	j                  e	j                  f   d
ededededeee      deee      ddfd„Zdedee	j$                  eeef   f   defd„Zde	j*                  de	j,                  fd„Zde	j*                  de	j,                  fd„Zdd„Zdd„Zy)ÚRetryTransportzžA custom HTTP transport that automatically retries requests using an exponential backoff strategy
    for specific HTTP status codes and request methods.
    )ÚHEADÚGETÚPUTÚDELETEÚOPTIONSÚTRACE)i­  i÷  iø  é<   é
   gš™™™™™¹?N)Úmax_attemptsÚmax_backoff_waitÚbackoff_factorÚjitter_ratioÚretryable_methodsÚretry_status_codesÚwrapped_transportr‰   rŠ   r‹   rŒ   r�   rŽ   r.   c                óò   — || _         |dk  s|dkD  rt        d|› �«      ‚|| _        || _        |rt	        |«      n| j
                  | _        |rt	        |«      n| j                  | _        || _	        || _
        y )Nr   g      à?z1jitter ratio should be between 0 and 0.5, actual )Ú_wrapped_transportÚ
ValueErrorr‰   r‹   Ú	frozensetÚRETRYABLE_METHODSr�   ÚRETRYABLE_STATUS_CODESrŽ   rŒ   rŠ   )r<   r�   r‰   rŠ   r‹   rŒ   r�   rŽ   s           r?   r2   zRetryTransport.__init__î   s˜   € ð #4ˆÔà˜!Ò˜|¨cÒ1ÜØCÀLÀ>ÐRóð ð )ˆÔØ,ˆÔñ !ô Ð'Ô(à×'Ñ'ð 	Ôñ "ô Ð(Ô)à×,Ñ,ð 	Ôð
 )ˆÔØ 0ˆÕr@   Úattempts_madeÚheadersc                 ó4  — |j                  d«      xs dj                  «       }|rŽ|j                  «       rt        |«      S 	 t	        j
                  |«      j                  «       }|t	        j                  «       j                  «       z
  j                  «       }|dkD  rt        || j                  «      S 	 | j                  d|dz
  z  z  }|| j                  z  t        j                  ddg«      z  }||z   }t        || j                  «      S # t        $ r Y Œbw xY w)NzRetry-AfterÚ r   é   é   éÿÿÿÿ)r:   ÚstripÚisdigitr7   r   ÚfromisoformatÚ
astimezoneÚnowÚtotal_secondsÚminrŠ   r’   r‹   rŒ   ÚrandomÚchoice)	r<   r–   r—   Úretry_after_headerÚparsed_dateÚdiffÚbackoffÚjitterÚtotal_backoffs	            r?   Ú_calculate_sleepzRetryTransport._calculate_sleep  s  € ð &Ÿk™k¨-Ó8Ò>¸B×EÑEÓGÐÙØ!×)Ñ)Ô+ÜÐ/Ó0Ð0ðÜ&×4Ñ4Ð5GÓH×SÑSÓU�Ø#¤h§l¡l£n×&?Ñ&?Ó&AÑA×PÑPÓR�Ø˜!’8Ü˜t T×%:Ñ%:Ó;Ð;ð ð
 ×%Ñ%¨¨}¸qÑ/@Ñ)AÑBˆØ˜D×-Ñ-Ñ-´·±ÀÀ2¸wÓ1GÑGˆØ &Ñ(ˆÜ�= $×"7Ñ"7Ó8Ð8øô ò Ùðús   ÁA0D Ä	DÄDrM   c                 óœ  — | j                   j                  |«      }|j                  | j                  vr|S | j                  dz
  }d}	 |dk  s|j
                  | j                  vr|S |j                  «        | j                  ||j                  «      }t        j                  |«       | j                   j                  |«      }|dz  }|dz  }Œ†©Nr›   )r‘   Úhandle_requestrJ   r�   r‰   Ústatus_coderŽ   Úcloser¬   r—   ÚtimeÚsleep©r<   rM   ÚresponseÚremaining_attemptsr–   Ú	sleep_fors         r?   r¯   zRetryTransport.handle_request$  sÇ   € Ø×*Ñ*×9Ñ9¸'ÓBˆà�>‰> ×!7Ñ!7Ñ7ØˆOà!×.Ñ.°Ñ2ÐØˆàà" QÒ&Ø×'Ñ'¨t×/FÑ/FÑFà�à�N‰NÔà×-Ñ-¨m¸X×=MÑ=MÓNˆIÜ�J‰J�yÔ!à×.Ñ.×=Ñ=¸gÓFˆHà˜QÑˆMØ !Ñ#Ðð r@   c              ƒ   óô  K  — | j                   j                  |«      ƒ d {  –—† }|j                  | j                  vr|S | j                  dz
  }d}	 |dk  s|j
                  | j                  vr|S |j                  «       ƒ d {  –—†  | j                  ||j                  «      }t        j                  |«      ƒ d {  –—†  | j                   j                  |«      ƒ d {  –—† }|dz  }|dz  }Œž7 ŒÎ7 Œm7 Œ67 Œ­wr®   )r‘   Úhandle_async_requestrJ   r�   r‰   r°   rŽ   Úacloser¬   r—   Úasyncior³   r´   s         r?   r¹   z#RetryTransport.handle_async_request>  só   è ø€ Ø×0Ñ0×EÑEÀgÓN×Nˆà�>‰> ×!7Ñ!7Ñ7ØˆOà!×.Ñ.°Ñ2ÐØˆàà" QÒ&Ø×'Ñ'¨t×/FÑ/FÑFà�à—/‘/Ó#×#Ð#à×-Ñ-¨m¸X×=MÑ=MÓNˆIÜ—-‘- 	Ó*×*Ð*à!×4Ñ4×IÑIÈ'ÓR×RˆHà˜QÑˆMØ !Ñ#Ðð ð Oøð $øð +øàRúsF   ‚C8¡C0¢A"C8ÂC2Â8C8Â=C4Â>"C8Ã C6Ã!C8Ã2C8Ã4C8Ã6C8c              ƒ   óT   K  — | j                   j                  «       ƒ d {  –—†  y 7 Œ­wrB   )r‘   rº   rE   s    r?   rº   zRetryTransport.acloseX  s   è ø€ Ø×%Ñ%×,Ñ,Ó.×.Ò.ús   ‚( &¡(c                 ó8   — | j                   j                  «        y rB   )r‘   r±   rE   s    r?   r±   zRetryTransport.close[  s   € Ø×Ñ×%Ñ%Õ'r@   )r.   N)rt   ru   rv   rw   r“   r”   r•   ÚMAX_BACKOFF_WAITr   rD   ÚBaseTransportÚAsyncBaseTransportÚintr7   r   r   ry   r2   ÚHeadersr
   r¬   ÚRequestr|   r¯   r¹   rº   r±   © r@   r?   r€   r€   ß   s1  „ ññ "Ò"VÓWÐÙ&ò	
óÐð Ðð Ø"2Ø #Ø!Ø59Ø6:ò1à  ×!4Ñ!4°e×6NÑ6NÐ!NÑOð1ð ð	1ð
  ð1ð ð1ð ð1ð $ H¨S¡MÑ2ð1ð % X¨c¡]Ñ3ð1ð 
ó1ðB9Ø ð9Ø+0°·±ÀÈÈSÈÑ@QÐ1QÑ+Rð9à	ó9ð*$ e§m¡mð $¸¿¹ó $ð4$°%·-±-ð $ÀEÇNÁNó $ó4/ô(r@   r€   r.   c                  óè   — 	 ddl } | j                  «       j                  j                  «       D ]  \  }}|j	                  «       dk(  sŒ|c S  	 t
        j                  j                  d«      S #  Y Œ#xY w)zNGet API token from cog current scope if available, otherwise from environment.r   NÚREPLICATE_API_TOKEN)ÚcogÚcurrent_scopeÚcontextÚitemsÚupperr8   r9   r:   )rÇ   ÚkeyÚvalues      r?   Ú_get_api_token_from_environmentrÎ   _  sd   € ðÛà×+Ñ+Ó-×5Ñ5×;Ñ;Ö=‰JˆC�Ø�y‰y‹{Ð3Ó3Ø’ñ >ô �:‰:�>‰>Ð/Ó0Ð0øðÙús   ‚AA- ÁA- ÁA- Á-A1Úclient_typer-   r+   r,   c           	      óà  — |j                  di «      }d|vrdt        › �|d<   d|vr|xs
 t        «       x}rd|› �|d<   |xs# t        j                  j                  d«      xs d}|dk(  rd}|xs t        j                  d	d
d
d	d¬«      }|j                  dd «      xs: | t        j                  u rt        j                  «       nt        j                  «       } | d|||t        |¬«      dœ|¤ŽS )Nr—   z
User-Agentzreplicate-python/ÚAuthorizationzBearer ÚREPLICATE_BASE_URLzhttps://api.replicate.comr™   g      @g      >@g      $@)ÚreadÚwriteÚconnectÚpoolÚ	transport)r�   )r+   r—   r,   r×   rÄ   )Úpopr   rÎ   r8   r9   r:   rD   rz   r(   ÚHTTPTransportÚAsyncHTTPTransportr€   )rÏ   r-   r+   r,   r=   r—   r×   s          r?   rC   rC   m  s  € ð �j‰j˜ BÓ'€GØ˜7Ñ"Ø"3´K°=Ð Aˆ�ÑØ˜gÑ%ØÒCÔ"AÓ"CÐCˆ	ÐCà%,¨Y¨KÐ#8ˆ�Ñ ð 	ÒW”B—J‘J—N‘NÐ#7Ó8ÒWÐ<Wð ð �2‚~Ø.ˆàò œŸ™Ø�$˜d¨C°dô€Gð —
‘
˜;¨Ó-ò àœ%Ÿ,™,Ñ&ô 	×ÑÔä×%Ñ%Ó'ð ñ ð ØØØÜ °9Ô=ñ	ð
 ñð r@   rP   c                 ó^   — d| j                   cxk  rdk  rn y t        j                  | «      ‚y )Ni�  iX  )r°   r   Úfrom_response)rP   s    r?   rN   rN   •  s+   € Ø
ˆd×ÑÔ$ Õ$Ü×*Ñ*¨4Ó0Ð0ð %r@   )NNN)<r»   r8   r¤   r²   r   Útypingr   r   r   r   r   r	   r
   r   r   r   rD   Útyping_extensionsr   Úreplicate.__about__r   Úreplicate.accountr   Úreplicate.collectionr   Úreplicate.deploymentr   Úreplicate.exceptionsr   Úreplicate.filer   Úreplicate.hardwarer   r`   Úreplicate.modelr   Úreplicate.predictionr   Úreplicate.runr   r   Úreplicate.streamr    r!   Úreplicate.trainingr#   Úreplicate.webhookr%   r&   r(   rÀ   r¿   r€   ry   rÎ   rH   rz   rC   r|   rN   rÄ   r@   r?   Ú<module>rì      s(  ðÛ Û 	Û Û Ý ÷÷ ÷ ó Ý $å +Ý &Ý ,Ý ,Ý /Ý  Ý <Ý "Ý ,ß (ß 1Ý (Ý &áÝ0÷sYñ sYôn}(�U×-Ñ-¨u×/BÑ/Bô }(ð@1¨°#©ó 1ð   $Ø"Ø'+ñ	%Ø�e˜EŸL™L¨%×*;Ñ*;Ð;Ñ<Ñ=ð%à˜‰}ð%ð �s‰mð%ð �e—m‘mÑ$ð	%ð ˆ5�<‰<˜×*Ñ*Ð*Ñ+ó%ðP1˜EŸN™Nð 1¨tô 1r@   