§
    $Âi“˜  ã            	       ó  — d dl Z d dlZd dlZd dlZd dlmZmZmZ d dl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mZ  ej        d¦  «        Z	 d deeeef         ef         deeeef                  deeef         fd„Z 	 d deeeef         ef         deeeef                  deeef         fd„Z!	 d deeeef         ef         deeeef                  deeef         fd„Z"	 d deeeef         ef         deeeef                  deeef         fd„Z#	 d deeeef         ef         deeeef                  deeef         fd„Z$	 d deeeef         ef         deeeef                  deeef         fd„Z%	 d deeeef         ef         deeeef                  deeef         fd„Z&	 d deeeef         ef         deeeef                  deeef         fd„Z'	 d deeeef         ef         deeeef                  deeef         fd„Z(	 d deeeef         ef         deeeef                  deeef         fd„Z) G d„ dej*        ¦  «        Z+ G d„ dej*        ¦  «        Z,dS )!é    N)ÚAnyÚOptionalÚUnion)Ú	urlencodeé   )Ú_api_client)Ú_api_module)Ú_common)Ú_extra_utils)Ú_transformers)Útypes)Úget_value_by_path)Úset_value_by_path)Ú
AsyncPagerÚPagerzgoogle_genai.filesÚfrom_objectÚparent_objectÚreturnc                 ón   — i }t          | dg¦  «        �!t          |dgt          | dg¦  «        ¦  «         |S )NÚfile©ÚgetvÚsetv©r   r   Ú	to_objects      ú\/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/google/genai/files.pyÚ_CreateFileParameters_to_mldevr   )   óA   € ð !€)Ý	ˆ+˜�xÑ Ô Ð,Ýˆ�V�H�d ;°°Ñ9Ô9Ñ:Ô:Ð:à	Ðó    c                 ón   — i }t          | dg¦  «        �!t          |dgt          | dg¦  «        ¦  «         |S ©NÚsdkHttpResponseÚsdk_http_responser   r   s      r   Ú_CreateFileResponse_from_mldevr$   4   óP   € ð !€)Ý	ˆ+Ð)Ð*Ñ+Ô+Ð7ÝØÐ'Ð(­$¨{Ð=NÐ<OÑ*PÔ*Pñô ð ð 
Ðr   c           
      ó”   — i }t          | dg¦  «        �4t          |ddgt          j        t          | dg¦  «        ¦  «        ¦  «         |S ©NÚnameÚ_urlr   ©r   r   ÚtÚt_file_namer   s      r   Ú_DeleteFileParameters_to_mldevr-   A   óW   € ð !€)Ý	ˆ+˜�xÑ Ô Ð,ÝØ�F˜FÐ#¥Q¤]µ4¸ÀfÀXÑ3NÔ3NÑ%OÔ%Oñô ð ð 
Ðr   c                 ón   — i }t          | dg¦  «        �!t          |dgt          | dg¦  «        ¦  «         |S r!   r   r   s      r   Ú_DeleteFileResponse_from_mldevr0   N   r%   r   c           
      ó”   — i }t          | dg¦  «        �4t          |ddgt          j        t          | dg¦  «        ¦  «        ¦  «         |S r'   r*   r   s      r   Ú_GetFileParameters_to_mldevr2   [   r.   r   c                 ón   — i }t          | dg¦  «        �!t          |dgt          | dg¦  «        ¦  «         |S )NÚurisr   r   s      r   Ú)_InternalRegisterFilesParameters_to_mldevr5   h   r   r   c                 óÖ   — i }t          | dg¦  «        �"t          |ddgt          | dg¦  «        ¦  «         t          | dg¦  «        �"t          |ddgt          | dg¦  «        ¦  «         |S )NÚ	page_sizeÚ_queryÚpageSizeÚ
page_tokenÚ	pageTokenr   r   s      r   Ú_ListFilesConfig_to_mldevr<   s   s�   € ð !€)å	ˆ+˜�}Ñ%Ô%Ð1ÝØ˜ *Ð-­t°KÀ+ÀÑ/OÔ/Oñô ð õ 
ˆ+˜�~Ñ&Ô&Ð2ÝØØ	�;ÐÝˆ[˜<˜.Ñ)Ô)ñô ð ð 
Ðr   c                 ój   — i }t          | dg¦  «        �t          t          | dg¦  «        |¦  «         |S )NÚconfig)r   r<   r   s      r   Ú_ListFilesParameters_to_mldevr?   ˆ   s=   € ð !€)Ý	ˆ+˜�zÑ"Ô"Ð.Ý�d ;°°
Ñ;Ô;¸YÑGÔGÐGà	Ðr   c           	      óJ  — i }t          | dg¦  «        �!t          |dgt          | dg¦  «        ¦  «         t          | dg¦  «        �!t          |dgt          | dg¦  «        ¦  «         t          | dg¦  «        �+t          |dgd„ t          | dg¦  «        D ¦   «         ¦  «         |S )Nr"   r#   ÚnextPageTokenÚnext_page_tokenÚfilesc                 ó   — g | ]}|‘ŒS © rE   ©Ú.0Úitems     r   ú
<listcomp>z1_ListFilesResponse_from_mldev.<locals>.<listcomp>¡   ó   € ÐNÐNÐN¨ ÐNÐNÐNr   r   r   s      r   Ú_ListFilesResponse_from_mldevrK   “   sÇ   € ð !€)Ý	ˆ+Ð)Ð*Ñ+Ô+Ð7ÝØÐ'Ð(­$¨{Ð=NÐ<OÑ*PÔ*Pñô ð õ 
ˆ+˜Ð(Ñ)Ô)Ð5ÝˆÐ&Ð'­¨k¸OÐ;LÑ)MÔ)MÑNÔNÐNå	ˆ+˜�yÑ!Ô!Ð-Ýˆ�W�IÐNÐNµ°kÀGÀ9Ñ1MÔ1MÐNÑNÔNÑOÔOÐOà	Ðr   c           	      óæ   — i }t          | dg¦  «        �!t          |dgt          | dg¦  «        ¦  «         t          | dg¦  «        �+t          |dgd„ t          | dg¦  «        D ¦   «         ¦  «         |S )Nr"   r#   rC   c                 ó   — g | ]}|‘ŒS rE   rE   rF   s     r   rI   z5_RegisterFilesResponse_from_mldev.<locals>.<listcomp>±   rJ   r   r   r   s      r   Ú!_RegisterFilesResponse_from_mldevrN   ¦   s‘   € ð !€)Ý	ˆ+Ð)Ð*Ñ+Ô+Ð7ÝØÐ'Ð(­$¨{Ð=NÐ<OÑ*PÔ*Pñô ð õ 
ˆ+˜�yÑ!Ô!Ð-Ýˆ�W�IÐNÐNµ°kÀGÀ9Ñ1MÔ1MÐNÑNÔNÑOÔOÐOà	Ðr   c            	       óº  — e Zd Zddœdeej                 dej        fd„Zddœdej        deej	                 dej
        fd„Zddœdedeej                 dej        fd	„Zddœdedeej                 dej        fd
„Zddœdee         deej                 dej        fd„Zddœdeeej        e         ej        f         deej                 dej        fd„Zddœdeeej        ej        ej        f         deej                  de!fd„Z"ddœde#j$        j%        j&        dee         deej                 dej        fd„Z'ddœdeej                 de(ej                 fd„ZdS )ÚFilesN©r>   r>   r   c                ó‚  — t          j        |¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d|||¦  «        }|j        si nt#          j        |j        ¦  «        }	| j        j        st'          |	¦  «        }	t           j                             |	|                     ¦   «         ¬	¦  «        }
t          j        |j        ¬
¦  «        |
_        | j                             |
¦  «         |
S ©NrQ   ú=This method is only supported in the Gemini Developer client.r)   rC   r8   ú?r>   Úget©ÚresponseÚkwargs©Úheaders)r   Ú_ListFilesParametersr   ÚvertexaiÚ
ValueErrorr?   rV   Ú
format_mapr   Úpopr>   Úhttp_optionsr
   Úconvert_to_dictÚencode_unserializable_typesÚrequestÚbodyÚjsonÚloadsrK   ÚListFilesResponseÚ_from_responseÚ
model_dumpÚHttpResponser[   r#   Ú_verify_response©Úselfr>   Úparameter_modelÚrequest_dictÚrequest_url_dictÚpathÚquery_paramsra   rX   Úresponse_dictÚreturn_values              r   Ú_listzFiles._list¸   sÝ  € õ Ô0Øðñ ô €Oð
 ÔÔ ð 
ÝØ
Iñô ð õ 3°?ÑCÔC€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð Ø×!Ò!Ð"2Ñ3Ô3ˆˆàˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ×'Ò'¨¨t°\À<ÑPÔP€Hà&œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÔÔ$ð CÝ3°MÑBÔB€måÔ*×9Ò9Ø ×'AÒ'AÑ'CÔ'Cð :ñ ô €Lõ &+Ô%7ØÔ ð&ñ &ô &€LÔ"ð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   r   c                óÎ  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d|||¦  «        }	|�Bt!          |d	d ¦  «        r1t          j        |	¬
¦  «        }
| j                             |
¦  «         |
S |	j        si nt)          j        |	j        ¦  «        }| j        j        st-          |¦  «        }t           j                             ||                     ¦   «         ¬¦  «        }
| j                             |
¦  «         |
S ©N©r   r>   rT   r)   zupload/v1beta/filesr8   rU   r>   ÚpostÚshould_return_http_response©r#   rW   )r   Ú_CreateFileParametersr   r]   r^   r   rV   r_   r   r`   r>   ra   r
   rb   rc   rd   ÚgetattrÚCreateFileResponserl   re   rf   rg   r$   ri   rj   ©rn   r   r>   ro   rp   rq   rr   rs   ra   rX   ru   rt   s               r   Ú_createzFiles._createì   s  € õ Ô1ØØðñ ô €Oð ÔÔ ð 
%ÝØ
Iñô ð õ 4°OÑDÔD€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð %Ø$×/Ò/Ð0@ÑAÔAˆˆà$ˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ×'Ò'Ø��l Lñô €Hð Ð�gØÐ-¨tñô Ðõ Ô-ÀÐIÑIÔI€lØ
Ô×'Ò'¨Ñ5Ô5Ð5ØÐà&œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÔÔ$ð DÝ4°]ÑCÔC€måÔ+×:Ò:Ø ×'AÒ'AÑ'CÔ'Cð ;ñ ô €Lð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   r(   c                ó  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd¦  «         d}|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d	|||¦  «        }	|	j        si nt#          j        |	j        ¦  «        }
t           j                             |
|                     ¦   «         ¬
¦  «        }| j                             |¦  «         |S )ai  Retrieves the file information from the service.

    Args:
      name (str): The name identifier for the file to retrieve.
      config (GetFileConfig): Optional, configuration for the get method.

    Returns:
      File: The file information.

    Usage:

    .. code-block:: python

      file = client.files.get(name='files/...')
      print(file.uri)
    ©r(   r>   rT   r)   úfiles/{file}r8   rU   r>   NrV   rW   )r   Ú_GetFileParametersr   r]   r^   r2   rV   r_   r   r`   r>   ra   r
   rb   rc   rd   re   rf   rg   ÚFileri   rj   rl   ©rn   r(   r>   ro   rp   rq   rr   rs   ra   rX   rt   ru   s               r   rV   z	Files.get+  s¡  € õ( Ô.ØØðñ ô €Oð ÔÔ ð 
ÝØ
Iñô ð õ 1°ÑAÔA€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð Ø×(Ò(Ð)9Ñ:Ô:ˆˆàˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ×'Ò'¨¨t°\À<ÑPÔP€Hà&œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€Må”:×,Ò,Ø ×'AÒ'AÑ'CÔ'Cð -ñ ô €Lð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   c                ó„  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd¦  «         d}|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d	|||¦  «        }	|	j        si nt#          j        |	j        ¦  «        }
| j        j        st'          |
¦  «        }
t           j                             |
|                     ¦   «         ¬
¦  «        }t          j        |	j        ¬¦  «        |_        | j                             |¦  «         |S )a]  Deletes a remotely stored file.

    Args:
      name (str): The name identifier for the file to delete.
      config (DeleteFileConfig): Optional, configuration for the delete method.

    Returns:
      DeleteFileResponse: The response for the delete method

    Usage:

    .. code-block:: python

      client.files.delete(name='files/...')
    rƒ   rT   r)   r„   r8   rU   r>   NÚdeleterW   rZ   )r   Ú_DeleteFileParametersr   r]   r^   r-   rV   r_   r   r`   r>   ra   r
   rb   rc   rd   re   rf   rg   r0   ÚDeleteFileResponseri   rj   rk   r[   r#   rl   r‡   s               r   r‰   zFiles.deletel  sç  € õ& Ô1ØØðñ ô €Oð ÔÔ ð 
ÝØ
Iñô ð õ 4°OÑDÔD€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð Ø×(Ò(Ð)9Ñ:Ô:ˆˆàˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ×'Ò'Ø�$˜ lñô €Hð 'œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÔÔ$ð DÝ4°]ÑCÔC€måÔ+×:Ò:Ø ×'AÒ'AÑ'CÔ'Cð ;ñ ô €Lõ &+Ô%7ØÔ ð&ñ &ô &€LÔ"ð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   r4   c                óÎ  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d|||¦  «        }	|�Bt!          |d	d ¦  «        r1t          j        |	¬
¦  «        }
| j                             |
¦  «         |
S |	j        si nt)          j        |	j        ¦  «        }| j        j        st-          |¦  «        }t           j                             ||                     ¦   «         ¬¦  «        }
| j                             |
¦  «         |
S ©N©r4   r>   rT   r)   zfiles:registerr8   rU   r>   rz   r{   r|   rW   )r   Ú _InternalRegisterFilesParametersr   r]   r^   r5   rV   r_   r   r`   r>   ra   r
   rb   rc   rd   r~   ÚRegisterFilesResponserl   re   rf   rg   rN   ri   rj   ©rn   r4   r>   ro   rp   rq   rr   rs   ra   rX   ru   rt   s               r   Ú_register_fileszFiles._register_files³  s  € õ Ô<ØØðñ ô €Oð ÔÔ ð 
 ÝØ
Iñô ð õ ?¸ÑOÔO€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð  Ø×*Ò*Ð+;Ñ<Ô<ˆˆàˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ×'Ò'Ø��l Lñô €Hð Ð�gØÐ-¨tñô Ðõ Ô0À8ÐLÑLÔL€lØ
Ô×'Ò'¨Ñ5Ô5Ð5ØÐà&œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÔÔ$ð GÝ7¸ÑFÔF€måÔ.×=Ò=Ø ×'AÒ'AÑ'CÔ'Cð >ñ ô €Lð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   c                ó6  — | j         j        rt          d¦  «        ‚t          j        ¦   «         }|rPt          |t          ¦  «        rt          j        di |¤Ž}n|}t          j        |j        |j	        |j
        ¬¦  «        }nt          j        ¦   «         }|j	        �)|j	                             d¦  «        sd|j	        › �|_	        t          j        ||j        |j        ¬¦  «        \  }}}||_        ||_        |                      |t          j        |d¬¦  «        ¬¦  «        }|j        �|j        j        �d	|j        j        vrt)          d
¦  «        ‚|j        j        d	         }	t          |t*          j        ¦  «        r$| j                              ||	|j        |¬¦  «        }
n7t1          j        |¦  «        }| j                              ||	|j        |¬¦  «        }
t          j                             |
j        d         |r|                     ¦   «         ni ¬¦  «        S )aó  Calls the API to upload a file using a supported file service.

    Args:
      file: A path to the file or an `IOBase` object to be uploaded. If it's an
        IOBase object, it must be opened in blocking (the default) mode and
        binary mode. In other words, do not use non-blocking mode or text mode.
        The given stream must be seekable, that is, it must be able to call
        `seek()` on 'path'.
      config: Optional parameters to set `diplay_name`, `mime_type`, and `name`.
    rT   ©Ú	mime_typer(   Údisplay_nameNúfiles/©Úuser_http_optionsÚuser_mime_typeT©ra   r{   ry   úx-goog-upload-urlúPFailed to create file. Upload URL did not returned from the create file request.©ra   r   rW   rE   )r   r]   r^   r   ÚUploadFileConfigÚ
isinstanceÚdictr†   r•   r(   r–   Ú
startswithr   Úprepare_resumable_uploadra   Ú
size_bytesr�   ÚCreateFileConfigr#   r[   ÚKeyErrorÚioÚIOBaseÚupload_fileÚosÚfspathri   rf   rj   ©rn   r   r>   Úconfig_modelÚfile_objra   r¤   r•   rX   Ú
upload_urlÚreturn_fileÚfs_paths               r   ÚuploadzFiles.uploadò  sU  € ð  ÔÔ ð ÝØ
Iñô ð õ Ô)Ñ+Ô+€LØð Ý	�F�DÑ	!Ô	!ð ÝÔ-Ð7Ð7°Ð7Ð7ˆˆàˆÝ”Ø Ô*ØÔ Ø#Ô0ðñ ô €h€hõ ”‘”€hØ„}Ð ¨¬×)AÒ)AÀ(Ñ)KÔ)KÐ Ø.˜xœ}Ð.Ð.€h„må*6Ô*OØØ&Ô3Ø#Ô-ð+ñ +ô +Ñ'€L�*˜ið
 %€HÔØ"€HÔØ�|Š|ØÝÔ%Ø%À4ð
ñ 
ô 
ð ñ ô €Hð 	Ô"Ð*ØÔ%Ô-Ð5Ø hÔ&@Ô&HÐHÐHåðñô ð ð Ô+Ô3Ð4GÔH€Jå�$�œ	Ñ"Ô"ð ØÔ$×0Ò0Ø
�
˜HÔ/¸lð 1ñ ô €k€kõ ”	˜$‘”€gØÔ$×0Ò0Ø
�:˜xÔ2Àð 1ñ ô €kõ Œ:×$Ò$ØÔ! &Ô)Ø,2Ð:ˆ|×&Ò&Ñ(Ô(Ð(¸ð %ñ ô ð r   c                óx  — | j         j        rt          d¦  «        ‚d}|r)t          |t          ¦  «        rt          j        di |¤Ž}n|}t          |t
          j        ¦  «        r|j        €t          d¦  «        ‚t          j
        |¦  «        }d|› d�}ddi}|› dt          |¦  «        › �}d}t          |d	g¦  «        �t          |d	g¦  «        }| j                              ||¬
¦  «        }t          |t
          j        ¦  «        r||_        n-t          |t
          j        ¦  «        r|j        �||j        _        |S )ar  Downloads a file's data from storage.

    Files created by `upload` can't be downloaded. You can tell which files are
    downloadable by checking the `source` or `download_uri` property.

    Note: This method returns the data as bytes. For `Video` and
    `GeneratedVideo` objects there is an additional side effect, that it also
    sets the `video_bytes` property on the `Video` object.

    Args:
      file (str): A file name, uri, or file object. Identifying which file to
        download.
      config (DownloadFileConfigOrDict): Optional, configuration for the get
        method.

    Returns:
      File: The file data as bytes.

    Usage:

    .. code-block:: python

      for file client.files.list():
        if file.download_uri is not None:
          break
      else:
        raise ValueError('No files found with a `download_uri`.')
      data = client.files.download(file=file)
      # data = client.files.download(file=file.name)
      # data = client.files.download(file=file.download_uri)

      video = types.Video(uri=file.uri)
      video_bytes = client.files.download(file=video)
      video.video_bytes
    rT   NzªOnly generated files can be downloaded, uploaded files can't be downloaded. You can tell which files are downloadable by checking the `source` or `download_uri` property.r—   ú	:downloadÚaltÚmediarU   ra   rž   rE   )r   r]   r^   r    r¡   r   ÚDownloadFileConfigr†   Údownload_urir+   r,   r   r   Údownload_fileÚVideoÚvideo_bytesÚGeneratedVideoÚvideo)	rn   r   r>   r­   r(   rr   rs   ra   Údatas	            r   ÚdownloadzFiles.download>  sx  € ðR ÔÔ ð ÝØ
Iñô ð ð €LØð Ý	�F�DÑ	!Ô	!ð ÝÔ/Ð9Ð9°&Ð9Ð9ˆˆàˆå�$�œ
Ñ#Ô#ð ¨Ô(9Ð(AÝð5ñô ð õ
 Œ=˜ÑÔ€Dà#�DÐ#Ð#Ð#€Dà˜7Ð#€LØÐ.Ð.•Y˜|Ñ,Ô,Ð.Ð.€DØ€LÝˆL˜>Ð*Ñ+Ô+Ð7Ý˜,¨Ð(8Ñ9Ô9€làÔ×)Ò)ØØ!ð *ñ ô €Dõ
 �$�œÑ$Ô$ð $Ø€dÔÐÝ	�D�%Ô.Ñ	/Ô	/ð $°D´JÐ4JØ#€d„jÔà€Kr   Úauthc                ó0  — t          |t          j        j        j        ¦  «        st          d¦  «        ‚|€t          j        ¦   «         }n5t          j                             |¦  «        }| 	                    d¬¦  «        }|j
        pt          j        ¦   «         }|j        pi }d„ |                     ¦   «         D ¦   «         }t          j        | j        |¦  «        }d|› �|d<   |j        r
|j        |d<   ||_        ||_
        |                      ||¬	¦  «        S )
ú*Registers gcs files with the file service.ú:auth must be a google.auth.credentials.Credentials object.NT©Údeepc                 ó>   — i | ]\  }}|                      ¦   «         |“ŒS rE   ©Úlower©rG   ÚkÚvs      r   ú
<dictcomp>z(Files.register_files.<locals>.<dictcomp>£  ó&   € Ð8Ð8Ð8¡  1ˆq�wŠw‰yŒy˜!Ð8Ð8Ð8r   úBearer Úauthorizationúx-goog-user-projectrŽ   )r    ÚgooglerÀ   ÚcredentialsÚCredentialsr^   r   ÚRegisterFilesConfigÚmodel_validateÚ
model_copyra   ÚHttpOptionsr[   Úitemsr   Úget_token_from_credentialsÚquota_project_idr’   ©rn   rÀ   r4   r>   ra   r[   Útokens          r   Úregister_fileszFiles.register_files�  s  € õ �d�FœKÔ3Ô?Ñ@Ô@ð ÝØ
Fñô ð ð €~ÝÔ(Ñ*Ô*€f€fåÔ(×7Ò7¸Ñ?Ô?€fØ× Ò  dÐ Ñ+Ô+€fàÔ&Ð=­%Ô*;Ñ*=Ô*=€LØÔ"Ð( b€GØ8Ð8¨¯ª©¬Ð8Ñ8Ô8€GåÔ2°4Ô3CÀTÑJÔJ€EØ0¨Ð0Ð0€GˆOÑàÔð =Ø'+Ô'<€gÐ#Ñ$à"€LÔØ&€FÔà×Ò T°&ÐÑ9Ô9Ð9r   c                ó\   — | j         }t          d||                       |¬¦  «        |¦  «        S )a¢  Lists all files from the service.

    Args:
      config (ListFilesConfig): Optional, configuration for the list method.

    Returns:
      A Pager object that contains one page of files. When iterating over
      the pager, it automatically fetches the next page if there are more.

    Usage:

    .. code-block:: python

      for file in client.files.list(config={'page_size': 10}):
        print(file.name)
    rC   rQ   )rv   r   ©rn   r>   Úlist_requests      r   Úlistz
Files.list°  s7   € ð( ”:€LÝØØØ�
Š
˜&ˆ
Ñ!Ô!Øñ	ô ð r   ))Ú__name__Ú
__module__Ú__qualname__r   r   ÚListFilesConfigOrDictrh   rv   Ú
FileOrDictÚCreateFileConfigOrDictr   r�   ÚstrÚGetFileConfigOrDictr†   rV   ÚDeleteFileConfigOrDictr‹   r‰   rá   ÚRegisterFilesConfigOrDictr�   r’   r   rª   ÚPathLiker§   r¨   ÚUploadFileConfigOrDictr²   rº   r¼   ÚDownloadFileConfigOrDictÚbytesr¿   rÑ   rÀ   rÒ   rÓ   rÝ   r   rE   r   r   rP   rP   ¶   s	  € € € € € ð @Dð2ð 2ð 2Ø Ô ;Ô<ð2àÔð2ð 2ð 2ð 2ðp 8<ð	=ð =ð =ð Ôð=ð �uÔ3Ô4ð	=ð
 Ôð=ð =ð =ð =ð@ IMð?ð ?ð ?Øð?Ø"*¨5Ô+DÔ"Eð?à„zð?ð ?ð ?ð ?ðD LPðEð Eð EØðEØ"*¨5Ô+GÔ"HðEàÔðEð Eð Eð EðV ;?ð	=ð =ð =ð �ŒIð=ð �uÔ6Ô7ð	=ð
 Ô"ð=ð =ð =ð =ðF 8<ð	Jð Jð Jð �#�r”{ 3Ô'¨¬Ð2Ô3ðJð �uÔ3Ô4ð	Jð
 „zðJð Jð Jð Jð` :>ð	Oð Oð Oð �#�u”z 5¤;°Ô0DÐDÔEðOð �uÔ5Ô6ð	Oð
 ðOð Oð Oð Oðl ;?ð:ð :ð :ð ŒKÔ#Ô/ð:ð �ŒIð	:ð
 �uÔ6Ô7ð:ð Ô"ð:ð :ð :ð :ðD @Dðð ð Ø Ô ;Ô<ðàˆUŒZÔðð ð ð ð ð r   rP   c            	       ó¢  — e Zd Zddœdeej                 dej        fd„Zddœdej        deej	                 dej
        fd„Zddœdedeej                 dej        fd	„Zddœdedeej                 dej        fd
„Zddœdee         deej                 dej        fd„Zddœdeeej        e         ej        f         deej                 dej        fd„Zddœdeeej        f         deej                 defd„Z ddœde!j"        j#        j$        dee         deej                 dej        fd„Z%ddœdeej                 de&ej                 fd„ZdS )Ú
AsyncFilesNrQ   r>   r   c             ƒ   ó’  K  — t          j        |¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d|||¦  «        ƒ d {V —†}|j        si nt#          j        |j        ¦  «        }	| j        j        st'          |	¦  «        }	t           j                             |	|                     ¦   «         ¬	¦  «        }
t          j        |j        ¬
¦  «        |
_        | j                             |
¦  «         |
S rS   )r   r\   r   r]   r^   r?   rV   r_   r   r`   r>   ra   r
   rb   rc   Úasync_requestre   rf   rg   rK   rh   ri   rj   rk   r[   r#   rl   rm   s              r   rv   zAsyncFiles._listÏ  s  è è € õ Ô0Øðñ ô €Oð
 ÔÔ ð 
ÝØ
Iñô ð õ 3°?ÑCÔC€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð Ø×!Ò!Ð"2Ñ3Ô3ˆˆàˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ%×3Ò3Øˆt�\ <ñô ð ð ð ð ð ð €Hð 'œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÔÔ$ð CÝ3°MÑBÔB€måÔ*×9Ò9Ø ×'AÒ'AÑ'CÔ'Cð :ñ ô €Lõ &+Ô%7ØÔ ð&ñ &ô &€LÔ"ð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   r   c             ƒ   óÞ  K  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d|||¦  «        ƒ d {V —†}	|�Bt!          |d	d ¦  «        r1t          j        |	¬
¦  «        }
| j                             |
¦  «         |
S |	j        si nt)          j        |	j        ¦  «        }| j        j        st-          |¦  «        }t           j                             ||                     ¦   «         ¬¦  «        }
| j                             |
¦  «         |
S rx   )r   r}   r   r]   r^   r   rV   r_   r   r`   r>   ra   r
   rb   rc   ró   r~   r   rl   re   rf   rg   r$   ri   rj   r€   s               r   r�   zAsyncFiles._create  s6  è è € õ Ô1ØØðñ ô €Oð ÔÔ ð 
%ÝØ
Iñô ð õ 4°OÑDÔD€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð %Ø$×/Ò/Ð0@ÑAÔAˆˆà$ˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ%×3Ò3Ø��l Lñô ð ð ð ð ð ð €Hð Ð�gØÐ-¨tñô Ðõ Ô-ÀÐIÑIÔI€lØ
Ô×'Ò'¨Ñ5Ô5Ð5ØÐà&œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÔÔ$ð DÝ4°]ÑCÔC€måÔ+×:Ò:Ø ×'AÒ'AÑ'CÔ'Cð ;ñ ô €Lð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   r(   c             ƒ   ó   K  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd¦  «         d}|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d	|||¦  «        ƒ d{V —†}	|	j        si nt#          j        |	j        ¦  «        }
t           j                             |
|                     ¦   «         ¬
¦  «        }| j                             |¦  «         |S )as  Retrieves the file information from the service.

    Args:
      name (str): The name identifier for the file to retrieve.
      config (GetFileConfig): Optional, configuration for the get method.

    Returns:
      File: The file information.

    Usage:

    .. code-block:: python

      file = await client.aio.files.get(name='files/...')
      print(file.uri)
    rƒ   rT   r)   r„   r8   rU   r>   NrV   rW   )r   r…   r   r]   r^   r2   rV   r_   r   r`   r>   ra   r
   rb   rc   ró   re   rf   rg   r†   ri   rj   rl   r‡   s               r   rV   zAsyncFiles.getD  sÊ  è è € õ( Ô.ØØðñ ô €Oð ÔÔ ð 
ÝØ
Iñô ð õ 1°ÑAÔA€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð Ø×(Ò(Ð)9Ñ:Ô:ˆˆàˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ%×3Ò3Øˆt�\ <ñô ð ð ð ð ð ð €Hð 'œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€Må”:×,Ò,Ø ×'AÒ'AÑ'CÔ'Cð -ñ ô €Lð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   c             ƒ   ó”  K  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd¦  «         d}|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d	|||¦  «        ƒ d{V —†}	|	j        si nt#          j        |	j        ¦  «        }
| j        j        st'          |
¦  «        }
t           j                             |
|                     ¦   «         ¬
¦  «        }t          j        |	j        ¬¦  «        |_        | j                             |¦  «         |S )ag  Deletes a remotely stored file.

    Args:
      name (str): The name identifier for the file to delete.
      config (DeleteFileConfig): Optional, configuration for the delete method.

    Returns:
      DeleteFileResponse: The response for the delete method

    Usage:

    .. code-block:: python

      await client.aio.files.delete(name='files/...')
    rƒ   rT   r)   r„   r8   rU   r>   Nr‰   rW   rZ   )r   rŠ   r   r]   r^   r-   rV   r_   r   r`   r>   ra   r
   rb   rc   ró   re   rf   rg   r0   r‹   ri   rj   rk   r[   r#   rl   r‡   s               r   r‰   zAsyncFiles.delete‡  s	  è è € õ& Ô1ØØðñ ô €Oð ÔÔ ð 
ÝØ
Iñô ð õ 4°OÑDÔD€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð Ø×(Ò(Ð)9Ñ:Ô:ˆˆàˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ%×3Ò3Ø�$˜ lñô ð ð ð ð ð ð €Hð 'œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÔÔ$ð DÝ4°]ÑCÔC€måÔ+×:Ò:Ø ×'AÒ'AÑ'CÔ'Cð ;ñ ô €Lõ &+Ô%7ØÔ ð&ñ &ô &€LÔ"ð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   r4   c             ƒ   óÞ  K  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d|||¦  «        ƒ d {V —†}	|�Bt!          |d	d ¦  «        r1t          j        |	¬
¦  «        }
| j                             |
¦  «         |
S |	j        si nt)          j        |	j        ¦  «        }| j        j        st-          |¦  «        }t           j                             ||                     ¦   «         ¬¦  «        }
| j                             |
¦  «         |
S r�   )r   r�   r   r]   r^   r5   rV   r_   r   r`   r>   ra   r
   rb   rc   ró   r~   r�   rl   re   rf   rg   rN   ri   rj   r‘   s               r   r’   zAsyncFiles._register_filesÎ  s6  è è € õ Ô<ØØðñ ô €Oð ÔÔ ð 
 ÝØ
Iñô ð õ ?¸ÑOÔO€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð  Ø×*Ò*Ð+;Ñ<Ô<ˆˆàˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ%×3Ò3Ø��l Lñô ð ð ð ð ð ð €Hð Ð�gØÐ-¨tñô Ðõ Ô0À8ÐLÑLÔL€lØ
Ô×'Ò'¨Ñ5Ô5Ð5ØÐà&œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÔÔ$ð GÝ7¸ÑFÔF€måÔ.×=Ò=Ø ×'AÒ'AÑ'CÔ'Cð >ñ ô €Lð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   c             ƒ   ó¼  K  — | j         j        rt          d¦  «        ‚t          j        ¦   «         }|rPt          |t          ¦  «        rt          j        di |¤Ž}n|}t          j        |j        |j	        |j
        ¬¦  «        }nt          j        ¦   «         }|j	        �)|j	                             d¦  «        sd|j	        › �|_	        t          j        ||j        |j        ¬¦  «        \  }}}||_        ||_        |                      |t          j        |d¬¦  «        ¬¦  «        ƒ d{V —†}|j        �(|j        j        �d	|j        j        vrd
|j        j        vrt)          d¦  «        ‚d	|j        j        v r|j        j        d	         }	n|j        j        d
         }	t          |t*          j        ¦  «        r*| j                              ||	|j        |¬¦  «        ƒ d{V —†}
n=t1          j        |¦  «        }| j                              ||	|j        |¬¦  «        ƒ d{V —†}
t          j                             |
j        d         |r|                     ¦   «         ni ¬¦  «        S )a  Calls the API to upload a file asynchronously using a supported file service.

    Args:
      file: A path to the file or an `IOBase` object to be uploaded. If it's an
        IOBase object, it must be opened in blocking (the default) mode and
        binary mode. In other words, do not use non-blocking mode or text mode.
        The given stream must be seekable, that is, it must be able to call
        `seek()` on 'path'.
      config: Optional parameters to set `diplay_name`, `mime_type`, and `name`.
    rT   r”   Nr—   r˜   Tr›   ry   rœ   zX-Goog-Upload-URLr�   rž   r   rW   rE   )r   r]   r^   r   rŸ   r    r¡   r†   r•   r(   r–   r¢   r   r£   ra   r¤   r�   r¥   r#   r[   r¦   r§   r¨   Úasync_upload_filerª   r«   ri   rf   rj   r¬   s               r   r²   zAsyncFiles.upload  sê  è è € ð  ÔÔ ð ÝØ
Iñô ð õ Ô)Ñ+Ô+€LØð Ý	�F�DÑ	!Ô	!ð ÝÔ-Ð7Ð7°Ð7Ð7ˆˆàˆÝ”Ø Ô*ØÔ Ø#Ô0ðñ ô €h€hõ ”‘”€hØ„}Ð ¨¬×)AÒ)AÀ(Ñ)KÔ)KÐ Ø.˜xœ}Ð.Ð.€h„må*6Ô*OØØ&Ô3Ø#Ô-ð+ñ +ô +Ñ'€L�*˜ið
 %€HÔØ"€HÔØ—\’\ØÝÔ%Ø%À4ð
ñ 
ô 
ð "ñ ô ð ð ð ð ð ð €Hð 	Ô"Ð*ØÔ%Ô-Ð5à xÔ'AÔ'IÐIÐIØ#¨8Ô+EÔ+MÐMÐMõ ðñô ð ð 
 Ô :Ô BÐ	BÐ	BØÔ-Ô5Ð6IÔJ€j€jàÔ-Ô5Ð6IÔJ€jå�$�œ	Ñ"Ô"ð ØÔ*×<Ò<Ø
�
˜HÔ/¸lð =ñ ô ð ð ð ð ð ð €k€kõ ”	˜$‘”€gØÔ*×<Ò<Ø
�:˜xÔ2Àð =ñ ô ð ð ð ð ð ð €kõ Œ:×$Ò$ØÔ! &Ô)Ø,2Ð:ˆ|×&Ò&Ñ(Ô(Ð(¸ð %ñ ô ð r   c             ƒ   óŽ  K  — | j         j        rt          d¦  «        ‚d}|r)t          |t          ¦  «        rt          j        d
i |¤Ž}n|}t          j        |¦  «        }d|› d�}d}t          |dg¦  «        �t          |dg¦  «        }ddi}|r|› dt          |¦  «        › �}| j                              ||¬	¦  «        ƒ d{V —†}|S )at  Downloads a file's data from the file service.

    The Vertex-AI implementation of the API foes not include the file service.

    Files created by `upload` can't be downloaded. You can tell which files are
    downloadable by checking the `download_uri` property.

    Args:
      File (str): A file name, uri, or file object. Identifying which file to
        download.
      config (DownloadFileConfigOrDict): Optional, configuration for the get
        method.

    Returns:
      File: The file data as bytes.

    Usage:

    .. code-block:: python

      for file client.files.list():
        if file.download_uri is not None:
          break
      else:
        raise ValueError('No files found with a `download_uri`.')
      data = client.files.download(file=file)
      # data = client.files.download(file=file.name)
      # data = client.files.download(file=file.uri)
    rT   Nr—   r´   ra   rµ   r¶   rU   rž   rE   )r   r]   r^   r    r¡   r   r·   r+   r,   r   r   Úasync_download_file)	rn   r   r>   r­   r(   rr   ra   rs   r¾   s	            r   r¿   zAsyncFiles.download^  s(  è è € ðF ÔÔ ð ÝØ
Iñô ð ð €LØð Ý	�F�DÑ	!Ô	!ð ÝÔ/Ð9Ð9°&Ð9Ð9ˆˆàˆåŒ=˜ÑÔ€Dà#�DÐ#Ð#Ð#€Dà€LÝˆL˜>Ð*Ñ+Ô+Ð7Ý˜,¨Ð(8Ñ9Ô9€là˜7Ð#€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dàÔ!×5Ò5ØØ!ð 6ñ ô ð ð ð ð ð ð €Dð
 €Kr   rÀ   c             ƒ   óL  K  — t          |t          j        j        j        ¦  «        st          d¦  «        ‚|€t          j        ¦   «         }n5t          j                             |¦  «        }| 	                    d¬¦  «        }|j
        pt          j        ¦   «         }|j        pi }d„ |                     ¦   «         D ¦   «         }t          j        | j        |¦  «        ƒ d{V —†}d|› �|d<   |j        r
|j        |d<   ||_        ||_
        |                      ||¬	¦  «        ƒ d{V —†S )
rÂ   rÃ   NTrÄ   c                 ó>   — i | ]\  }}|                      ¦   «         |“ŒS rE   rÇ   rÉ   s      r   rÌ   z-AsyncFiles.register_files.<locals>.<dictcomp>´  rÍ   r   rÎ   rÏ   rÐ   rŽ   )r    rÑ   rÀ   rÒ   rÓ   r^   r   rÔ   rÕ   rÖ   ra   r×   r[   rØ   r   Ú async_get_token_from_credentialsrÚ   r’   rÛ   s          r   rÝ   zAsyncFiles.register_files   sX  è è € õ �d�FœKÔ3Ô?Ñ@Ô@ð ÝØ
Fñô ð ð €~ÝÔ(Ñ*Ô*€f€fåÔ(×7Ò7¸Ñ?Ô?€fØ× Ò  dÐ Ñ+Ô+€fàÔ&Ð=­%Ô*;Ñ*=Ô*=€LØÔ"Ð( b€GØ8Ð8¨¯ª©¬Ð8Ñ8Ô8€GåÔ>ØÔ˜$ñô ð ð ð ð ð ð €Eð  1¨Ð0Ð0€GˆOÑàÔð =Ø'+Ô'<€gÐ#Ñ$à"€LÔØ&€FÔà×%Ò%¨4¸Ð%Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?r   c             ƒ   ól   K  — | j         }t          d||                       |¬¦  «        ƒ d{V —†|¦  «        S )aÁ  Lists all files from the service asynchronously.

    Args:
      config (ListFilesConfig): Optional, configuration for the list method.

    Returns:
      A Pager object that contains one page of files. When iterating over
      the pager, it automatically fetches the next page if there are more.

    Usage:

    .. code-block:: python

      async for file in await client.aio.files.list(config={'page_size': 10}):
        print(file.name)
    rC   rQ   N)rv   r   rß   s      r   rá   zAsyncFiles.listÃ  sM   è è € ð( ”:€LÝØØØ�jŠj ˆjÑ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Øñ	ô ð r   )'râ   rã   rä   r   r   rå   rh   rv   ræ   rç   r   r�   rè   ré   r†   rV   rê   r‹   r‰   rá   rë   r�   r’   r   rª   rì   r§   r¨   rí   r²   rî   rï   r¿   rÑ   rÀ   rÒ   rÓ   rÝ   r   rE   r   r   rñ   rñ   Í  s  € € € € € ð @Dð4ð 4ð 4Ø Ô ;Ô<ð4àÔð4ð 4ð 4ð 4ðt 8<ð	=ð =ð =ð Ôð=ð �uÔ3Ô4ð	=ð
 Ôð=ð =ð =ð =ð@ IMðAð Að AØðAØ"*¨5Ô+DÔ"EðAà„zðAð Að Að AðH LPðEð Eð EØðEØ"*¨5Ô+GÔ"HðEàÔðEð Eð Eð EðV ;?ð	=ð =ð =ð �ŒIð=ð �uÔ6Ô7ð	=ð
 Ô"ð=ð =ð =ð =ðF 8<ð	Oð Oð Oð �#�r”{ 3Ô'¨¬Ð2Ô3ðOð �uÔ3Ô4ð	Oð
 „zðOð Oð Oð Oðj :>ð	@ð @ð @ð �#�u”z�/Ô"ð@ð �uÔ5Ô6ð	@ð
 ð@ð @ð @ð @ðN ;?ð!@ð !@ð !@ð ŒKÔ#Ô/ð!@ð �ŒIð	!@ð
 �uÔ6Ô7ð!@ð Ô"ð!@ð !@ð !@ð !@ðH @Dðð ð Ø Ô ;Ô<ðà�%”*Ôðð ð ð ð ð r   rñ   )N)-r§   rf   Úloggingrª   Útypingr   r   r   Úurllib.parser   Úgoogle.authrÑ   Ú r   r	   r
   r   r   r+   r   r   r   r   r   Úpagersr   r   Ú	getLoggerÚloggerr¡   rè   Úobjectr   r$   r-   r0   r2   r5   r<   r?   rK   rN   Ú
BaseModulerP   rñ   rE   r   r   ú<module>r
     sQ  ðð$ 
€	€	€	Ø €€€Ø €€€Ø 	€	€	€	Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .Ø .Ð .Ð .Ð .Ð .Ð .Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %ð 
ˆÔ	Ð/Ñ	0Ô	0€ð
 /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð /3ð
ð 
Ø�t˜C ˜H”~ vÐ-Ô.ð
à˜D  c œNÔ+ð
ð 
ˆ#ˆsˆ(„^ð
ð 
ð 
ð 
ð /3ð
ð 
Ø�t˜C ˜H”~ vÐ-Ô.ð
à˜D  c œNÔ+ð
ð 
ˆ#ˆsˆ(„^ð
ð 
ð 
ð 
ð /3ð
ð 
Ø�t˜C ˜H”~ vÐ-Ô.ð
à˜D  c œNÔ+ð
ð 
ˆ#ˆsˆ(„^ð
ð 
ð 
ð 
ð /3ð
ð 
Ø�t˜C ˜H”~ vÐ-Ô.ð
à˜D  c œNÔ+ð
ð 
ˆ#ˆsˆ(„^ð
ð 
ð 
ð 
ð /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð. /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð* /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð Tð Tð Tð Tð TˆKÔ"ñ Tô Tð TðnPð Pð Pð Pð P�Ô'ñ Pô Pð Pð Pð Pr   