Ë
    ümxi‰	  ã                  óš   — d dl mZ d dlZd dlZd dlZd dlZd dlZd„ Zd„ Zd„ Z	 ej                  «       Z ej                  «       d„ «       Zy)é    )ÚannotationsNc                ó   ‡ — ˆ fd„}|S )z/A decorator to set the docstring of a function.c                ó   •— ‰| _         | S ©N)Ú__doc__)ÚfÚdocs    €úW/home/htdocs/ttos/venv/lib/python3.12/site-packages/google/generativeai/string_utils.pyÚinnerzset_doc.<locals>.inner   s   ø€ ØˆŒ	Øˆó    © )r	   r   s   ` r
   Úset_docr      s   ø€ ôð €Lr   c                ó¨   — | j                  «       }|D �cg c]	  }d|vsŒ|‘Œ }}|D �cg c]	  }d|vsŒ|‘Œ }}dj                  |«      S c c}w c c}w )Nz
.. _oneof:z"This field is a member of `oneof`_ú
)Ú
splitlinesÚjoin)Ú	docstringÚlinesÚlines      r
   Ústrip_oneofr   "   s^   € Ø× Ñ Ó"€EØ#Ö@�d |¸4Ò'?ŠTÐ@€EÐ@Ø#ÖX�dÐ'KÐSWÒ'WŠTÐX€EÐXØ�9‰9�UÓÐùò AùÚXs   •	A
ŸA
©	A³Ac                ó2   — t         | _        t         | _        | S r   )Ú_prettyprintÚ__str__Ú__repr__)Úclss    r
   Úprettyprintr   )   s   € Ü€C„KÜ€C„LØ€Jr   c                ó8  — g }t        j                  | «      D �]  }t        j                  t	        | |j
                  «      «      }d}|j                  d«      dk\  ry|j                  d«      rd}n¥|j                  d«      rd}n‘t        j                  ||t        j                  ¬«      r(t        j                  |d	|t        j                  ¬«      }nCd
}n@t        |j
                  «      dz   }t        j                  |d|z  «      j                  d«      }|j!                  |j
                  › d|› �«       �Œ dj#                  |«      }| j$                  j&                  }t        |«      dz   }t        j                  |d|z  «      j                  d«      }|› d|› d�S )aS  A dataclass prettyprint function you can use in __str__or __repr__.

    Note: You can't set `__str__ = pprint.pformat` because it causes a recursion error.

    Mostly identical to pprint but:

    * This will contract long lists and dicts (> 10lines) to [...] and {...}.
    * This will contract long object reprs to ClassName(...).
    z^(\w+)\(.*\)$r   é
   ú[z[...]ú{z{...})Úflagsz\1(...)z...é   ú ú=z,
ú(ú))ÚdataclassesÚfieldsÚpprintÚpformatÚgetattrÚnameÚcountÚ
startswithÚreÚmatchÚDOTALLÚsubÚlenÚtextwrapÚindentÚlstripÚappendr   Ú	__class__Ú__name__)Úselfr(   r   ÚsÚclass_reÚwidthÚattrsr,   s           r
   r   r   2   sL  € ð €FÜ×Ñ Ó%ó 'ˆÜ�N‰Nœ7 4¨¯©Ó0Ó1ˆØ#ˆØ�7‰7�4‹=˜BÒØ�|‰|˜CÔ Ø‘Ø—‘˜cÔ"Ø‘Ü—‘˜( A¬R¯Y©YÕ7Ü—F‘F˜8 Z°¼"¿)¹)ÔD‘à‘ä˜Ÿ™“K !‘OˆEÜ—‘  3¨¡;Ó/×6Ñ6°sÓ;ˆAØ�‰˜Ÿ™˜  ! �oÖ&ð'ð  �J‰J�vÓ€Eà�>‰>×"Ñ"€DÜ�‹I˜‰M€Eä�O‰O˜E 3¨¡;Ó/×6Ñ6°sÓ;€EØˆV�1�U�G˜1ÐÐr   )Ú
__future__r   r'   r)   r/   Úreprlibr4   r   r   r   ÚReprÚreprÚrecursive_reprr   r   r   r
   ú<module>rD      sV   ðõ #ã Û Û 	Û Û òòòð €w‡|�|ƒ~€ð €×ÑÓñ!ó ñ!r   