Ë
    ²Œj,  ã            	       óh  — d dl Z d dlZd dlZd dlmZmZ d dlmZ d dlm	Z	 d dl
mZmZmZmZmZ d dlZerd dlmZ d dlmZ 	 d dlZdZ	 dd
eddded   defd„Z	 dd
eddded   defd„Zdej6                  defd„Z G d„ dej<                  ej>                  «      Z dedddefd„Z!y# e$ r d	ZY Œhw xY w)é    N)ÚMappingÚSequence)ÚPath)ÚGeneratorType)ÚTYPE_CHECKINGÚAnyÚAsyncIteratorÚIteratorÚOptional)ÚClient)ÚFileEncodingStrategyTFÚobjÚclientr   Úfile_encoding_strategyr   Úreturnc           
      ó:  — t        | t        «      r/| j                  «       D ��ci c]  \  }}|t        |||«      “Œ c}}S t        | t        t
        t        t        t        f«      r| D �cg c]  }t        |||«      ‘Œ c}S t        | t        «      r(| j                  d«      5 }t        |||«      cddd«       S t        | t        j                  «      r8|dk(  rt        | «      S |j                  j                  | «      j                   d   S t"        rtt        | t$        j&                  «      rt)        | «      S t        | t$        j*                  «      rt-        | «      S t        | t$        j.                  «      r| j1                  «       S | S c c}}w c c}w # 1 sw Y   ŒâxY w)z9
    Return a JSON-compatible version of the object.
    ÚrbNÚbase64Úget)Ú
isinstanceÚdictÚitemsÚencode_jsonÚlistÚsetÚ	frozensetr   Útupler   ÚopenÚioÚIOBaseÚbase64_encode_fileÚfilesÚcreateÚurlsÚ	HAS_NUMPYÚnpÚintegerÚintÚfloatingÚfloatÚndarrayÚtolist©r   r   r   ÚkeyÚvalueÚfiles         ú[/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/replicate/helpers.pyr   r      sO  € ô �#”tÔð "Ÿi™iœkô
á)‘
��Uð ”˜U FÐ,BÓCÑCØ)ò
ð 	
ô �#œœc¤9¬m¼UÐCÔDÙPSÓTÑPSÀu”˜E 6Ð+AÕBÐPSÑTÐTÜ�#”tÔØ�X‰X�dŒ^˜tÜ˜t VÐ-CÓD÷ ‰^ä�#”r—y‘yÔ!Ø! XÒ-Ü% cÓ*Ð*Ø�|‰|×"Ñ" 3Ó'×,Ñ,¨UÑ3Ð3ÝÜ�cœ2Ÿ:™:Ô&Ü�s“8ˆOÜ�cœ2Ÿ;™;Ô'Ü˜“:ÐÜ�cœ2Ÿ:™:Ô&Ø—:‘:“<ÐØ€Jùó)
ùò
 Uçˆ^ús   ¤FÁ)FÂ!FÆFc           
   ƒ   ó–  K  — t        | t        «      r7| j                  «       D ��ci c]  \  }}|t        |||«      ƒ d{  –—† “Œ c}}S t        | t        t
        t        t        t        f«      r#| D �cg c]  }t        |||«      ƒ d{  –—† ‘Œ c}S t        | t        «      r0| j                  d«      5 }t        |||«      ƒ d{  –—† cddd«       S t        | t        j                  «      r@|dk(  rt        | «      S |j                  j                  | «      ƒ d{  –—† j                   d   S t"        rtt        | t$        j&                  «      rt)        | «      S t        | t$        j*                  «      rt-        | «      S t        | t$        j.                  «      r| j1                  «       S | S 7 �Œic c}}w 7 �Œ)c c}w 7 Œô# 1 sw Y   ŒòxY w7 Œ¬­w)zH
    Asynchronously return a JSON-compatible version of the object.
    Nr   r   r   )r   r   r   Úasync_encode_jsonr   r   r   r   r   r   r   r   r    r!   r"   Úasync_creater$   r%   r&   r'   r(   r)   r*   r+   r,   r-   s         r1   r3   r3   :   s‰  è ø€ ô �#”tÔð "Ÿi™iœkô
á)‘
��Uð Ô)¨%°Ð9OÓP×PÑPØ)ò
ð 	
ô �#œœc¤9¬m¼UÐCÔDñ ó
á�ô % U¨FÐ4JÓK×KÑKØñ
ð 	
ô �#”tÔØ�X‰X�dŒ^˜tÜ*¨4°Ð9OÓP×P÷ ‰^ä�#”r—y‘yÔ!Ø! XÒ-ä% cÓ*Ð*Ø—l‘l×/Ñ/°Ó4×4×:Ñ:¸5ÑAÐAÝÜ�cœ2Ÿ:™:Ô&Ü�s“8ˆOÜ�cœ2Ÿ;™;Ô'Ü˜“:ÐÜ�cœ2Ÿ:™:Ô&Ø—:‘:“<ÐØ€Jð/ Qûó
ð Lûò
ð Qø÷ ˆ^úð 5úsƒ   ‚$G	¦F+¿F(Á F+Á-G	Á3F4ÂF1
Â	F4Â$G	Â3F;ÃF9ÃF;ÃAG	ÄGÄBG	Æ(F+Æ+G	Æ1F4Æ4G	Æ9F;Æ;GÇ G	r0   c                 ó0  — | j                  d«       | j                  «       }t        |t        «      r|j	                  d«      n|}t        j                  |«      j                  d«      }t        j                  t        | dd«      «      d   xs d}d|› d|› �S )z†
    Base64 encode a file.

    Args:
        file: A file handle to upload.
    Returns:
        str: A base64-encoded data URI.
    r   zutf-8ÚnameÚ zapplication/octet-streamúdata:z;base64,)ÚseekÚreadr   ÚstrÚencoder   Ú	b64encodeÚdecodeÚ	mimetypesÚ
guess_typeÚgetattr)r0   ÚbodyÚencoded_bodyÚ	mime_types       r1   r!   r!   _   sŽ   € ð 	‡I�Iˆa„LØ�9‰9‹;€Dô $.¨d´CÔ#8ˆ4�;‰;�wÔ¸d€DÜ×#Ñ# DÓ)×0Ñ0°Ó9€Lô 	×ÑœW T¨6°2Ó6Ó7¸Ñ:ÒXÐ>Xð ð �9�+˜X l ^Ð4Ð4ó    c                   ó„   — e Zd ZU dZeed<   	 ded<   deddddfd„Zdefd	„Zde	e   fd
„Z
defd„Zdee   fd„Zdefd„Zy)Ú
FileOutputzu
    An object that can be used to read the contents of an output file
    created by running a Replicate model.
    Úurlr   Ú_clientr   r   Nc                 ó    — || _         || _        y ©N)rH   rI   )ÚselfrH   r   s      r1   Ú__init__zFileOutput.__init__ƒ   s   € ØˆŒØˆ�rE   c                 ól  — | j                   j                  d«      r4| j                   j                  dd«      \  }}t        j                  |«      S | j
                  j
                  j                  d| j                   «      5 }|j                  «        |j                  «       cd d d «       S # 1 sw Y   y xY w©Nr8   Ú,é   ÚGET)	rH   Ú
startswithÚsplitr   Ú	b64decoderI   ÚstreamÚraise_for_statusr:   ©rL   Ú_ÚencodedÚresponses       r1   r:   zFileOutput.read‡   s~   € Ø�8‰8×Ñ˜wÔ'ØŸ™Ÿ™¨¨QÓ/‰JˆAˆwÜ×#Ñ# GÓ,Ð,à�\‰\×!Ñ!×(Ñ(¨°·±Ô9¸XØ×%Ñ%Ô'Ø—=‘=“?÷ :×9Ò9ús   Â  B*Â*B3c              #   óF  K  — | j                   j                  d«      r| j                  «       –— y | j                  j                  j	                  d| j                   «      5 }|j                  «        |j                  «       E d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­w©Nr8   rR   )rH   rS   r:   rI   rV   rW   Ú
iter_bytes)rL   r[   s     r1   Ú__iter__zFileOutput.__iter__�   sy   è ø€ Ø�8‰8×Ñ˜wÔ'Ø—)‘)“+ÒØà�\‰\×!Ñ!×(Ñ(¨°·±Ô9¸XØ×%Ñ%Ô'Ø×*Ñ*Ó,×,Ð,÷ :Ð9à,ø÷ :Ð9üs0   ‚AB!Á!$BÂBÂBÂ
	B!ÂBÂBÂB!c              ƒ   óÂ  K  — | j                   j                  d«      r4| j                   j                  dd«      \  }}t        j                  |«      S | j
                  j                  j                  d| j                   «      4 ƒd {  –—† }|j                  «        |j                  «       ƒ d {  –—† cd d d «      ƒd {  –—†  S 7 Œ=7 Œ7 Œ	# 1 ƒd {  –—†7  sw Y   y xY w­wrO   )
rH   rS   rT   r   rU   rI   Ú_async_clientrV   rW   ÚareadrX   s       r1   rb   zFileOutput.aread™   sž   è ø€ Ø�8‰8×Ñ˜wÔ'ØŸ™Ÿ™¨¨QÓ/‰JˆAˆwÜ×#Ñ# GÓ,Ð,à—<‘<×-Ñ-×4Ñ4°U¸D¿H¹H×EÔEÈØ×%Ñ%Ô'Ø!Ÿ™Ó)×)÷ F×EÒEøà)øð Fø×E×EÑEüsZ   ‚BCÂCÂCÂ
$C
Â.CÂ/C
Â2CÂ>CÂ?CÃC
ÃCÃ
CÃCÃCÃCc                ó¤  K  — | j                   j                  d«      r| j                  «       ƒ d {  –—† ­–— y | j                  j                  j                  d| j                   «      4 ƒd {  –—† }|j                  «        |j                  «       2 3 d {  –—† }|­–— Œ7 Œp7 Œ57 Œ6 d d d «      ƒd {  –—†7   y # 1 ƒd {  –—†7  sw Y   y xY w­wr]   )rH   rS   rb   rI   ra   rV   rW   Úaiter_bytes)rL   r[   Úchunks      r1   Ú	__aiter__zFileOutput.__aiter__¢   s™   è ø€ Ø�8‰8×Ñ˜wÔ'ØŸ
™
›×$Ó$Øà—<‘<×-Ñ-×4Ñ4°U¸D¿H¹H×EÔEÈØ×%Ñ%Ô'Ø'×3Ñ3Ô5÷ �eØ”ð %øð FøðøÐ5÷ F×E×E×EÓEüs{   ‚/C±B"²<CÁ.B$Á/CÁ2!B;ÂB(ÂB&ÂB(ÂB;Â"CÂ$CÂ&B(Â(B;Â)CÂ4B7Â5CÂ;CÃCÃCÃ	Cc                 ó   — | j                   S rK   )rH   )rL   s    r1   Ú__str__zFileOutput.__str__¬   s   € Ø�x‰xˆrE   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r;   Ú__annotations__rM   Úbytesr:   r
   r_   rb   r	   rf   rh   © rE   r1   rG   rG   v   sz   … ñð
 
ƒHðð Óð˜Cð ¨ð °dó ð#�eó #ð-˜( 5™/ó -ð*˜Uó *ð ¨uÑ!5ó ð˜ô rE   rG   r/   c                 ó<   ‡‡— dt         dt         fˆˆfd„Š ‰| «      S )zV
    Transform the output of a prediction to a `FileOutput` object if it's a URL.
    r   r   c                 óz  •— t        | t        «      r*| j                  «       D ��ci c]  \  }}| ‰|«      “Œ c}}S t        | t        «      r&t        | t        «      s| D �cg c]
  } ‰|«      ‘Œ c}S t        | t        «      r.| j                  d«      s| j                  d«      rt        | ‰«      S | S c c}}w c c}w )Nzhttps:r8   )r   r   r   r   r;   rS   rG   )r   ÚkÚvÚitemr   Ú	transforms       €€r1   ru   z#transform_output.<locals>.transformµ   s›   ø€ Ü�cœ7Ô#Ø03·	±	´Ô<±©¨¨1�A‘y “|‘O°Ò<Ð<Ü�cœ8Ô$¬Z¸¼SÔ-AÙ03Ó4±¨‘I˜d•O°Ñ4Ð4Ü�cœ3ÔØ�N‰N˜8Ô$¨¯©°wÔ(?ä˜c 6Ó*Ð*Øˆ
ùó =ùâ4s   ¥B2Á B8)r   )r/   r   ru   s    `@r1   Útransform_outputrv   °   s#   ù€ ð
	”sð 	œsö 	ñ �UÓÐrE   rK   )"r   r   r?   Úcollections.abcr   r   Úpathlibr   Útypesr   Útypingr   r   r	   r
   r   ÚhttpxÚreplicate.clientr   Úreplicate.filer   Únumpyr&   r%   ÚImportErrorr   r3   r    r;   r!   ÚSyncByteStreamÚAsyncByteStreamrG   rv   ro   rE   r1   Ú<module>r‚      s  ðÛ Û 	Û ß -Ý Ý ß HÕ Hã áÝ'Ý3ðÛà€Ið @DñØ	ðàðð %Ð%;Ñ<ðð 	ó	ðH @Dñ"Ø	ð"àð"ð %Ð%;Ñ<ð"ð 	ó	"ðJ5˜RŸY™Yð 5¨3ó 5ô.7�×%Ñ% u×'<Ñ'<ô 7ðt˜Cð ¨ð °cô øðy ò Ø‚Iðús   ÁB' Â'B1Â0B1