§
     Âi‰	  ã                  óš   — 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dS )é    )ÚannotationsNc                ó   ‡ — ˆ fd„}|S )z/A decorator to set the docstring of a function.c                ó   •— ‰| _         | S ©N)Ú__doc__)ÚfÚdocs    €új/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/google/generativeai/string_utils.pyÚinnerzset_doc.<locals>.inner   s   ø€ ØˆŒ	Øˆó    © )r	   r   s   ` r
   Úset_docr      s#   ø€ ðð ð ð ð ð €Lr   c                ó„   — |                       ¦   «         }d„ |D ¦   «         }d„ |D ¦   «         }d                     |¦  «        S )Nc                ó   — g | ]}d |v¯|‘Œ	S )z
.. _oneof:r   ©Ú.0Úlines     r
   ú
<listcomp>zstrip_oneof.<locals>.<listcomp>$   s"   € Ð@Ð@Ð@�d |¸4Ð'?Ð'?ˆTÐ'?Ð'?Ð'?r   c                ó   — g | ]}d |v¯|‘Œ	S )z"This field is a member of `oneof`_r   r   s     r
   r   zstrip_oneof.<locals>.<listcomp>%   s$   € ÐXÐXÐX�dÐ'KÐSWÐ'WÐ'WˆTÐ'WÐ'WÐ'Wr   ú
)Ú
splitlinesÚjoin)Ú	docstringÚliness     r
   Ústrip_oneofr   "   sK   € Ø× Ò Ñ"Ô"€EØ@Ð@˜eÐ@Ñ@Ô@€EØXÐX˜eÐXÑXÔX€EØ�9Š9�UÑÔÐr   c                ó6   — 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}|                     d¦  «        dk    rw|                     d¦  «        rd}n¡|                     d¦  «        rd}n‰t          j	        ||t          j
        ¬¦  «        r#t          j        |d	|t          j
        ¬¦  «        }nEd
}nBt          |j        ¦  «        dz   }t          j        |d|z  ¦  «                             d¦  «        }|                     |j        › d|› �¦  «         �Œd                     |¦  «        }| j        j        }t          |¦  «        dz   }t          j        |d|z  ¦  «                             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Úattrsr1   s           r
   r   r   2   s…  € ð €FÝÔ Ñ%Ô%ð 'ñ 'ˆÝŒN�7 4¨¬Ñ0Ô0Ñ1Ô1ˆØ#ˆØ�7Š7�4‰=Œ=˜BÒÐØ�|Š|˜CÑ Ô ð Ø��Ø—’˜cÑ"Ô"ð Ø��Ý”˜( A­R¬YÐ7Ñ7Ô7ð Ý”F˜8 Z°½"¼)ÐDÑDÔD��à��å˜œ‘K”K !‘OˆEÝ”  3¨¡;Ñ/Ô/×6Ò6°sÑ;Ô;ˆAØ�Š˜œ�o�o !�o�oÑ&Ô&Ð&Ñ&Ø�JŠJ�vÑÔ€EàŒ>Ô"€DÝ�‰IŒI˜‰M€EåŒO˜E 3¨¡;Ñ/Ô/×6Ò6°sÑ;Ô;€EØÐÐ�UÐÐÐÐr   )Ú
__future__r   r,   r.   r4   Úreprlibr9   r   r   r!   ÚReprÚreprÚrecursive_reprr   r   r   r
   ú<module>rI      s¶   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø 	€	€	€	Ø €€€Ø €€€ðð ð ðð ð ðð ð ð €w„|�~„~€ð €ÔÑÔð!ð !ñ Ôð!ð !ð !r   