§
    ïóÉjM  ã                   ó    — d Z ddlZddlZddlZddlZdi fdej        ej        e                  de	fd„Z
 G d„ d¦  «        Z G d„ d	¦  «        ZdS )
z*
Non signal processing related utilities.
é    NÚattrsÚ	overridesc                 óÔ  — t          j        | j        ¦  «        j        }g }|€!t	          |                     ¦   «         ¦  «        }|D ]~}d}||v r	||         }n"t          | |¦  «        rt          | |¦  «        }nŒ3||v r)||         }|j        t           j	        u s||j        k    rd}nd}|r| 
                    |› d|› �¦  «         Œ| j        j        › dd                     |¦  «        › d�S )z„
    Return a simple representation string for `obj`.
    If `attrs` is not None, it should be a list of attributes to include.
    NFTú=ú(ú,ú))ÚinspectÚ	signatureÚ	__class__Ú
parametersÚlistÚkeysÚhasattrÚgetattrÚdefaultÚ_emptyÚappendÚ__name__Újoin)	Úobjr   r   ÚparamsÚ
attrs_reprÚattrÚdisplayÚvalueÚparams	            úo/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib/python3.11/site-packages/julius/utils.pyÚsimple_reprr      s  € õ Ô˜sœ}Ñ-Ô-Ô8€FØ€JØ€}Ý�V—[’[‘]”]Ñ#Ô#ˆØð 1ð 1ˆØˆØ�9ÐÐØ˜d”OˆEˆEÝ�S˜$ÑÔð 	Ý˜C Ñ&Ô&ˆEˆEàØ�6ˆ>ˆ>Ø˜4”LˆEØŒ}¥¤Ð.Ð.°%¸5¼=Ò2HÐ2HØ�øàˆGàð 	1Ø×Ò Ð/Ð/¨Ð/Ð/Ñ0Ô0Ð0øØŒmÔ$Ð>Ð> s§x¢x°
Ñ';Ô';Ð>Ð>Ð>Ð>ó    c                   ó8   — e Zd ZdZej        fd„Zd„ Zd„ Zd„ Z	dS )ÚMarkdownTablea9  
    Simple MarkdownTable generator. The column titles should be large enough
    for the lines content. This will right align everything.

    >>> import io  # we use io purely for test purposes, default is sys.stdout.
    >>> file = io.StringIO()
    >>> table = MarkdownTable(["Item Name", "Price"], file=file)
    >>> table.header(); table.line(["Honey", "5"]); table.line(["Car", "5,000"])
    >>> print(file.getvalue().strip())  # Strip for test purposes
    | Item Name | Price |
    |-----------|-------|
    |     Honey |     5 |
    |       Car | 5,000 |
    c                 ó"   — || _         || _        d S ©N)ÚcolumnsÚfile)Úselfr%   r&   s      r   Ú__init__zMarkdownTable.__init__:   s   € ØˆŒØˆŒ	ˆ	ˆ	r    c                 ól   — | j                              dd                     |¦  «        z   dz   ¦  «         d S )Nú|z|
)r&   Úwriter   )r'   Úlines     r   Ú_writelnzMarkdownTable._writeln>   s0   € ØŒ	�Š˜˜cŸhšh t™nœnÑ,¨uÑ4Ñ5Ô5Ð5Ð5Ð5r    c                 ó–   — |                       d„ | j        D ¦   «         ¦  «         |                       d„ | j        D ¦   «         ¦  «         d S )Nc              3   ó"   K  — | ]
}d |› d �V — ŒdS )ú N© ©Ú.0Úcols     r   ú	<genexpr>z'MarkdownTable.header.<locals>.<genexpr>B   s*   è è € Ð9Ð9 S�j˜#�j�j�jÐ9Ð9Ð9Ð9Ð9Ð9r    c              3   ó@   K  — | ]}d t          |¦  «        dz   z  V — ŒdS )ú-é   N)Úlenr2   s     r   r5   z'MarkdownTable.header.<locals>.<genexpr>C   s1   è è € ÐCÐC¨s�c�S ™XœX¨™\Ñ*ÐCÐCÐCÐCÐCÐCr    )r-   r%   ©r'   s    r   ÚheaderzMarkdownTable.headerA   sN   € Ø�ŠÐ9Ð9¨D¬LÐ9Ñ9Ô9Ñ9Ô9Ð9Ø�ŠÐCÐC°d´lÐCÑCÔCÑCÔCÐCÐCÐCr    c           
      óú   — g }t          || j        ¦  «        D ]M\  }}t          |dt          t	          |¦  «        ¦  «        z   ¦  «        }|                     d|z   dz   ¦  «         ŒN|                      |¦  «         d S )Nú>r0   )Úzipr%   ÚformatÚstrr9   r   r-   )r'   r,   ÚoutÚvalr4   s        r   r,   zMarkdownTable.lineE   s{   € ØˆÝ˜D $¤,Ñ/Ô/ð 	(ð 	(‰HˆC�Ý˜˜c¥C­¨C©¬¡M¤MÑ1Ñ2Ô2ˆCØ�JŠJ�s˜S‘y 3‘Ñ'Ô'Ð'Ð'Ø�Š�cÑÔÐÐÐr    N)
r   Ú
__module__Ú__qualname__Ú__doc__ÚsysÚstdoutr(   r-   r;   r,   r1   r    r   r"   r"   +   si   € € € € € ðð ð &)¤Zð ð ð ð ð6ð 6ð 6ðDð Dð Dðð ð ð ð r    r"   c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )ÚChronoa¼  
    Measures ellapsed time, calling `torch.cuda.synchronize` if necessary.
    `Chrono` instances can be used as context managers (e.g. with `with`).
    Upon exit of the block, you can access the duration of the block in seconds
    with the `duration` attribute.

    >>> with Chrono() as chrono:
    ...     _ = sum(range(10_000))
    ...
    >>> print(chrono.duration < 10)  # Should be true unless on a really slow computer.
    True
    c                 ó   — d | _         d S r$   )Údurationr:   s    r   r(   zChrono.__init__Z   s   € ØˆŒˆˆr    c                 ó6   — t          j         ¦   «         | _        | S r$   )ÚtimeÚ_beginr:   s    r   Ú	__enter__zChrono.__enter__]   s   € Ý”i‘k”kˆŒØˆr    c                 ó²   — dd l }|j                             ¦   «         r|j                             ¦   «          t	          j        ¦   «         | j        z
  | _        d S )Nr   )ÚtorchÚcudaÚis_availableÚsynchronizerM   rN   rK   )r'   Úexc_typeÚ	exc_valueÚexc_tracebckrQ   s        r   Ú__exit__zChrono.__exit__a   sM   € ØˆˆˆØŒ:×"Ò"Ñ$Ô$ð 	%ØŒJ×"Ò"Ñ$Ô$Ð$Ýœ	™œ d¤kÑ1ˆŒˆˆr    N)r   rC   rD   rE   r(   rO   rX   r1   r    r   rI   rI   M   sK   € € € € € ðð ðð ð ðð ð ð2ð 2ð 2ð 2ð 2r    rI   )rE   r
   ÚtypingÚtprF   rM   ÚOptionalÚSequencer@   Údictr   r"   rI   r1   r    r   ú<module>r^      sÒ   ððð ð €€€Ø Ð Ð Ð Ø 
€
€
€
Ø €€€ð =AØ"$ð?ð ?˜BœK¨¬°CÔ(8Ô9ð ?Øð?ð ?ð ?ð ?ð<ð ð ð ð ñ ô ð ðD2ð 2ð 2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2r    