Ë
    ümxi½  ã                  óÀ   — 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œdd„Zddœdd
„Zddœdd„Z G d„ d	ej(                  «      Zddœd„Zy)é    )ÚannotationsN)ÚIterator)Úprotos)Úclient)Úmodel_types)Ú	operationc                ól   ‡ — ‰ €t        j                  «       Š ˆ fd„‰ j                  dd¬«      D «       }|S )z$Calls the API to list all operationsc              3  óJ   •K  — | ]  }t         j                  |‰«      –— Œ y ­w©N)ÚCreateTunedModelOperationÚ
from_proto)Ú.0Úopr   s     €úU/home/htdocs/ttos/venv/lib/python3.12/site-packages/google/generativeai/operations.pyú	<genexpr>z"list_operations.<locals>.<genexpr>%   s&   øè ø€ ò àô 	"×,Ñ,¨R°×8ñùs   ƒ #Ú )ÚnameÚfilter_)Ú
client_libÚget_default_operations_clientÚlist_operations)r   Ú
operationss   ` r   r   r      s?   ø€ ð €~Ü×9Ñ9Ó;ˆóà×(Ñ(¨b¸"Ð(Ó=ô€Jð
 Ðó    r   c               ó~   — |€t        j                  «       }|j                  | ¬«      }t        j	                  ||«      S )z)Calls the API to get a specific operation©r   )r   r   Úget_operationr   r   )r   r   r   s      r   r   r   -   s;   € à€~Ü×9Ñ9Ó;ˆà	×	Ñ	 4Ð	Ó	(€BÜ$×/Ñ/°°FÓ;Ð;r   c               óR   — |€t        j                  «       }|j                  | ¬«      S )z,Calls the API to delete a specific operationr   )r   r   Údelete_operation)r   r   s     r   r   r   6   s+   € ð €~Ü×9Ñ9Ó;ˆà×"Ñ"¨Ð"Ó-Ð-r   c                  óf   ‡ — e Zd Zed„ «       Ze	 	 dd„«       Zedd„«       Zd„ Zd	d„Z	d
ˆ fd„Z
ˆ xZS )r   c                ób   — t        t        ||t        j                  t        j                  ¬«      S )z�
        result = getattr(proto, 'result', None)
        if result is not None:
            if result.value == b'':
                del proto.result
        )Úclsr   Úoperations_clientÚresult_typeÚmetadata_type)Ú
from_gapicr   r   Ú
TunedModelÚCreateTunedModelMetadata)r!   Úprotor   s      r   r   z$CreateTunedModelOperation.from_protoA   s,   € ô Ü)ØØ$Ü×)Ñ)Ü ×9Ñ9ô
ð 	
r   c           	     óÖ   — t        |dd «      }t        |dd «      }|�d|i}n	|�d|i}ni } | d|j                  |j                  |j                  |j                  |j
                  dœ|¤ŽS )NÚ_pollingÚ_retryÚpollingÚretry)r   ÚrefreshÚcancelr#   r$   © )ÚgetattrÚ
_operationÚ_refreshÚ_cancelÚ_result_typeÚ_metadata_type)r!   r   r,   r-   Úkwargss        r   Úfrom_core_operationz-CreateTunedModelOperation.from_core_operationR   sŽ   € ô
 ˜) Z°Ó6ˆÜ˜	 8¨TÓ2ˆØÐà Ð)‰FØÐà˜uÐ%‰FàˆFÙð 
Ø×*Ñ*Ø×&Ñ&Ø×$Ñ$Ø!×.Ñ.Ø#×2Ñ2ñ
ð ñ
ð 	
r   c                ó.   — | j                   j                  S r   )r2   r   ©Úselfs    r   r   zCreateTunedModelOperation.namej   s   € à�‰×#Ñ#Ð#r   c                ó$   — | j                  «        y)z5Refresh the current statuses in metadata/result/errorN)Ú_refresh_and_updater:   s    r   Úupdatez CreateTunedModelOperation.updaten   s   € à× Ñ Õ"r   c              +  óÄ  K  — t        j                   d| j                  j                  ddœ|¤Ž}| j                  «       sS| j                  }|j	                  | j                  j
                  |j                  z
  «       |–— | j                  «       sŒS| j                  }|j	                  | j                  j
                  |j                  z
  «       | j                  «       S ­w)zúA tqdm wait bar, yields `Operation` statuses until complete.

        Args:
            **kwargs: passed through to `tqdm.auto.tqdm(..., **kwargs)`

        Yields:
            Operation statuses as `protos.CreateTunedModelMetadata` objects.
        r   )ÚtotalÚinitialr0   )ÚtqdmÚmetadataÚtotal_stepsÚdoner>   Úcompleted_stepsÚnÚresult)r;   r7   ÚbarrC   s       r   Úwait_barz"CreateTunedModelOperation.wait_barr   s£   è ø€ ô �i‰iÐM˜dŸm™m×7Ñ7ÀÑMÀfÑMˆð —)‘)”+Ø—}‘}ˆHØ�J‰J�t—}‘}×4Ñ4°s·u±uÑ<Ô=ØŠNð —)‘)•+ð —=‘=ˆØ�
‰
�4—=‘=×0Ñ0°3·5±5Ñ8Ô9Ø�{‰{‹}Ðùs   ‚BC ÂAC c                óN   •— t        j                  |«      }t        ‰| �  |«       y r   )r   Údecode_tuned_modelÚsuperÚ
set_result)r;   rH   Ú	__class__s     €r   rN   z$CreateTunedModelOperation.set_result†   s    ø€ Ü×/Ñ/°Ó7ˆÜ‰Ñ˜6Õ"r   )r   zoperation_lib.Operation)ÚreturnÚstr)rP   z)Iterator[protos.CreateTunedModelMetadata])rH   zprotos.TunedModel)Ú__name__Ú
__module__Ú__qualname__Úclassmethodr   r8   Úpropertyr   r>   rJ   rN   Ú__classcell__)rO   s   @r   r   r   @   sY   ø„ Øñ
ó ð
ð  ð
à*ò
ó ð
ð. ò$ó ð$ò#ó÷(#ñ #r   )Úgrpc_metadatac               óÌ   — t        j                  |j                  |j                  |¬«      }t        j                  |j                  |j                  |¬«      } | |||||fi |¤ŽS )zD`google.api_core.operation.from_gapic`, patched to allow subclasses.)rC   )Ú	functoolsÚpartialr   r   Úcancel_operation)	r!   r   r"   r#   r$   rX   r7   r.   r/   s	            r   r%   r%   ‹   sd   € ô ×ÑØ×'Ñ'¨¯©À-ô€Gô ×ÑØ×*Ñ*Ø�‰Øô€Fñ
 ˆy˜' 6¨;¸ÑPÈÑPÐPr   )rP   z#Iterator[CreateTunedModelOperation])r   rQ   rP   r   )r   rQ   )Ú
__future__r   rZ   Útypingr   Úgoogle.generativeair   r   r   Úgoogle.generativeai.typesr   Úgoogle.api_corer   Úoperation_libÚ	tqdm.autoÚautorB   r   r   r   Ú	Operationr   r%   r0   r   r   ú<module>rf      s]   ðõ #ã Ý å &å 4Ý 1Ý 6å ð #õ ð  (,õ <ð +/õ .ôH# × 7Ñ 7ô H#ðd õQr   