Ë
    $Æ%h   ã                  ó  — d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl	Z	ddl
mZmZmZmZmZmZmZ ddlmZmZmZ dd„Zdd	„Zdd
œdd„Zedd„«       Zedd„«       Zdd„Zdd„Zdd„Zedd„«       Zedd„«       Zdd„Zdd„Zdd„Zy)é    )ÚannotationsN)Úoverload)Ú	TypeGuardé   )Ú	FileTypesÚFileContentÚRequestFilesÚHttpxFileTypesÚBase64FileInputÚHttpxFileContentÚHttpxRequestFiles)Ú
is_tuple_tÚis_mapping_tÚis_sequence_tc                ón   — t        | t        j                  «      xs t        | t        j                  «      S ©N)Ú
isinstanceÚioÚIOBaseÚosÚPathLike©Úobjs    úK/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/openai/_files.pyÚis_base64_file_inputr      s#   € Ü�cœ2Ÿ9™9Ó%ÒE¬°C¼¿¹Ó)EÐEó    c                ó¶   — t        | t        «      xsH t        | t        «      xs6 t        | t        j                  «      xs t        | t
        j                  «      S r   )r   ÚbytesÚtupler   r   r   r   r   s    r   Úis_file_contentr       sB   € ä�3œÓÒv¤*¨S´%Ó"8Òv¼JÀsÌBÏIÉIÓ<VÒvÔZdÐehÔjl×juÑjuÓZvðr   )Úkeyc               ól   — t        | «      s)|�d|› d�nd| ›d�}t        |› dt        | «      › d�«      d ‚y )NzExpected entry at `ú`zExpected file input `zF to be bytes, an io.IOBase instance, PathLike or a tuple but received zL instead. See https://github.com/openai/openai-python/tree/main#file-uploads)r    ÚRuntimeErrorÚtype)r   r!   Úprefixs      r   Úassert_is_file_contentr'   !   sb   € Ü˜3ÔØ14°Ð& s e¨1Ñ-ÐH]Ð^aÐ]dÐdeÐFfˆÜØˆhÐ\Ô]aÐbeÓ]fÐ\gð  htð  uó
àð	ð  r   c                 ó   — y r   © ©Úfiless    r   Úto_httpx_filesr,   )   s   € Ø),r   c                 ó   — y r   r)   r*   s    r   r,   r,   -   s   € Ø>Ar   c                ó  — | €y t        | «      r.| j                  «       D ��ci c]  \  }}|t        |«      “Œ } }}| S t        | «      r!| D ��cg c]  \  }}|t        |«      f‘Œ } }}| S t	        dt        | «      › d�«      ‚c c}}w c c}}w )NzUnexpected file type input z, expected mapping or sequence)r   ÚitemsÚ_transform_filer   Ú	TypeErrorr%   ©r+   r!   Úfiles      r   r,   r,   1   s—   € Ø€}Øä�EÔØ=B¿[¹[»]×K±	°°T�”o dÓ+Ñ+ÐKˆÑKð €Lô 
�uÔ	Ø?D×E±)°#°t�#” tÓ,Ò-ÐEˆÑEð €Lô Ð5´d¸5³k°]ÐB`ÐaÓbÐbùó	 LùãEs   ¢BÁBc                ó  — t        | «      rMt        | t        j                  «      r1t	        j
                  | «      }|j                  |j                  «       fS | S t        | «      r| d   t        | d   «      g| dd  ¢­S t        d«      ‚©Nr   r   é   zCExpected file types input to be a FileContent type or to be a tuple)r    r   r   r   ÚpathlibÚPathÚnameÚ
read_bytesr   Ú_read_file_contentr1   ©r3   Úpaths     r   r0   r0   ?   sy   € Ü�tÔÜ�dœBŸK™KÔ(Ü—<‘< Ó%ˆDØ—I‘I˜tŸ™Ó0Ð1Ð1àˆä�$ÔØ�Q‘Ô+¨D°©GÓ4Ð@°t¸A¸B°xÑ@Ð@ä
ÐYÓ
[Ð[r   c                ó€   — t        | t        j                  «      r#t        j                  | «      j                  «       S | S r   )r   r   r   r7   r8   r:   ©r3   s    r   r;   r;   M   s-   € Ü�$œŸ™Ô$Ü�|‰|˜DÓ!×,Ñ,Ó.Ð.Ø€Kr   c              ƒ  ó   K  — y ­wr   r)   r*   s    r   Úasync_to_httpx_filesrA   S   s	   è ø€ Ø58ùó   ‚c              ƒ  ó   K  — y ­wr   r)   r*   s    r   rA   rA   W   s	   è ø€ ØJMùrB   c              ƒ  ó0  K  — | €y t        | «      r6| j                  «       D ��ci c]  \  }}|t        |«      ƒ d {  –—† “Œ } }}| S t        | «      r)| D ��cg c]  \  }}|t        |«      ƒ d {  –—† f‘Œ } }}| S t	        d«      ‚7 ŒJc c}}w 7 Œc c}}w ­w)NzFUnexpected file type input {type(files)}, expected mapping or sequence)r   r/   Ú_async_transform_filer   r1   r2   s      r   rA   rA   [   sš   è ø€ Ø€}Øä�EÔØINÏÉË×W¹I¸CÀ�Ô1°$Ó7×7Ñ7ÐWˆÑWð €Lô 
�uÔ	ØKP×Q¹i¸cÀ4�#Ô2°4Ó8×8Ò9ÐQˆÑQð €Lô Ð`ÓaÐað	 8úÓWà8úÓQùsJ   ‚"B¤B»B¼BÁBÁBÁ.BÁ/BÁ6BÂBÂBÂBÂBc              ƒ  ó@  K  — t        | «      rUt        | t        j                  «      r9t	        j
                  | «      }|j                  |j                  «       ƒ d {  –—† fS | S t        | «      r!| d   t        | d   «      ƒ d {  –—† g| dd  ¢­S t        d«      ‚7 Œ>7 Œ­wr5   )r    r   r   r   Úanyior8   r9   r:   r   Ú_async_read_file_contentr1   r<   s     r   rE   rE   i   s�   è ø€ Ü�tÔÜ�dœBŸK™KÔ(Ü—:‘:˜dÓ#ˆDØ—I‘I T§_¡_Ó%6×6Ð7Ð7àˆä�$ÔØ�Q‘Ô7¸¸Q¹Ó@×@ÐLÀ4ÈÈÀ8ÑLÐLä
ÐYÓ
[Ð[ð  7øð
 Aús$   ‚ABÁBÁ'BÂBÂBÂBc              ƒ  óœ   K  — t        | t        j                  «      r+t        j                  | «      j                  «       ƒ d {  –—† S | S 7 Œ­wr   )r   r   r   rG   r8   r:   r?   s    r   rH   rH   w   s9   è ø€ Ü�$œŸ™Ô$Ü—Z‘Z Ó%×0Ñ0Ó2×2Ð2à€Kð 3ús   ‚AAÁA
ÁA)r   ÚobjectÚreturnzTypeGuard[Base64FileInput])r   rJ   rK   zTypeGuard[FileContent])r   rJ   r!   z
str | NonerK   ÚNone)r+   rL   rK   rL   )r+   r	   rK   r   )r+   zRequestFiles | NonerK   zHttpxRequestFiles | None)r3   r   rK   r
   )r3   r   rK   r   )Ú
__future__r   r   r   r7   Útypingr   Útyping_extensionsr   rG   Ú_typesr   r   r	   r
   r   r   r   Ú_utilsr   r   r   r   r    r'   r,   r0   r;   rA   rE   rH   r)   r   r   ú<module>rR      s§   ðÝ "ã 	Û 	Û Ý Ý 'ã ÷÷ ñ ÷ <Ñ ;óFóð >Bõ ð 
Ú ,ó 
Ø ,ð 
Ú Aó 
Ø Aóó\óð 
Ú 8ó 
Ø 8ð 
Ú Mó 
Ø Móó\ôr   