Ë
    rPêjÆ<  ã                   ó,  — d Z ddlZddlZddlZddlZddl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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mZmZmZmZmZ  G d„ dee
«      Zdededdfd„Z  G d„ d«      Z!edededefd„«       Z"de#de#fd„Z$dede%eef   fd„Z& ejN                  d«      Z(dedefd„Z)dedefd„Z*dedefd„Z+dedefd „Z,d!e-e   d"e-e-e      de%eef   fd#„Z.d$edefd%„Z/d!e-e   d"e-e-e      d&e0de0fd'„Z1d$edefd(„Z2 e!«       Z3y))z"Output framework for the `hf` CLI.é    N)ÚSequence)ÚEnum)Úcache)ÚAnyÚcast)Ú	constants)ÚConfirmationError)ÚCardData)ÚANSIÚ
StatusLineÚdisable_progress_barsÚenable_progress_barsÚis_agentÚtabulatec                   ó$   — e Zd ZdZdZdZdZdZdZy)ÚOutputFormatzGOutput format for CLI commands with auto detection of agent/human mode.ÚagentÚautoÚhumanÚjsonÚquietN)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   © ó    ú`/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/huggingface_hub/cli/_output.pyr   r   #   s   „ ÙQà€EØ€DØ€EØ€DØ�Er   r   ÚvaluesÚkwargsÚreturnc                  ó"   — t        | i |¤ddi¤Ž y)zžLike `print`, but always flushed: some CLI flows block on user action right after
    printing (e.g. the device-code login), so output must not stay buffered.ÚflushTN)Úprint)r   r    s     r   Ú_print_flushr%   -   s   € ô 
ˆ6Ð(�VÑ( 4Ô(r   c                   ó°  — e Zd ZU dZeed<   eed<   d&d„Zej                  fdeddfd„Z	deddfd„Z
defd	„Zd'ddd
œdedz  dedz  dedz  ddfd„Zddddœdeeeef      dee   dz  dedz  deeef   dz  ddf
d„Zddœdededz  ddfd„Zdededdfd„Zddddœdededededdf
d „Zd'dedz  defd!„Zdeddfd"„Zdeddfd#„Zdeddfd$„Zdeddfd%„Zy)(ÚOutputz§Output sink for the `hf` CLI.

    Mode is resolved once at init time based on `is_agent()` auto-detection
    and can be overridden per-command via `set_mode()`.
    ÚmodeÚno_truncater!   Nc                 ó2   — d| _         | j                  «        y )NF)r)   Úset_mode©Úselfs    r   Ú__init__zOutput.__init__=   s   € Ø ˆÔØ�‰�r   c                 ó,  — |t         j                  k(  r*t        «       rt         j                  nt         j                  }|| _        |t         j                  k(  }t        j                  |«       t        j                  €|rt        «        yt        «        yy)zPOverride the output mode (called once at startup and again per '--format' flag).N)r   r   r   r   r   r(   r   Úset_enabledr   ÚHF_HUB_DISABLE_PROGRESS_BARSr   r   )r-   r(   Úis_humans      r   r+   zOutput.set_modeA   sl   € à”<×$Ñ$Ò$Ü)1¬”<×%Ò%¼×9KÑ9KˆDØˆŒ	Øœ<×-Ñ-Ñ-ˆÜ×Ñ˜Ô"Ü×1Ñ1Ð9ÙÜ$Õ&ä%Õ'ð	 :r   c                 ó   — || _         y)z2Toggle off cell truncation for human table output.N©r)   )r-   r)   s     r   Úset_no_truncatezOutput.set_no_truncateN   s
   € à&ˆÕr   c                 ó<   — | j                   t        j                  k(  S ©N)r(   r   r   r,   s    r   Úis_quietzOutput.is_quietR   s   € Ø�y‰yœL×.Ñ.Ñ.Ð.r   )r   r   Úmsgr   r   c                óÞ   — |�|€|�t        d«      ‚|}t        |«      }| j                  xt        j                  k(  r |�t        |«       yyt        j                  k(  r|�t        |«       yyy)z)Print a free-form text message to stdout.Nz&Cannot mix 'msg' with 'human'/'agent'.)Ú
ValueErrorÚ_strip_ansir(   r   r   r%   r   )r-   r9   r   r   s       r   ÚtextzOutput.textU   ss   € àˆ?ØÐ  EÐ$5Ü Ð!IÓJÐJØˆEÜ Ó$ˆEà�i‰iØ#”×#Õ#ØÐ$Ü  Õ'ð %ä×#Ô#ØÐ$Ü  Õ'ð %ð $r   )ÚheadersÚid_keyÚ
alignmentsÚitemsr>   r?   r@   c                óª  ‡— |sc| j                   xxt        j                  k(  rnxt        j                  k(  rn n  t	        d«       yt        j
                  k(  rt	        d«       yy|€At        |d   j                  «       «      }|D �‡cg c]  Št        ˆfd„|D «       «      sŒ‰‘Œ }}|D ��cg c]!  }|D �cg c]  }|j                  |«      ‘Œ c}‘Œ# }	}}| j                   xt        j                  k(  rÏ |D �cg c]  }t        |«      ‘Œ }
}|	D ��cg c]  }|D �cg c]  }t        |«      ‘Œ c}‘Œ }}}t        |
|| j                  ¬«      }i t        ||	«      ¥|xs i ¥}|j                  «       D ��ci c]  \  }}t        |«      |“Œ }}}t	        t!        t#        d|«      |
|¬«      «       |r| j%                  d	«       yyxt        j                  k(  rD t	        d
j'                  |«      «       |	D ]#  }t	        d
j'                  d„ |D «       «      «       Œ% yxt        j
                  k(  r/ t	        t        j(                  t        |«      t*        ¬«      «       yt        j,                  k(  r>|xs |d   }|D ]/  }t	        t/        t+        |j                  |d«      «      «      «       Œ1 yyc c}w c c}w c c}}w c c}w c c}w c c}}w c c}}w )a§  Print tabular data to stdout.

        Args:
            items: List of dicts. Headers are auto-detected from keys if not provided.
            headers: Explicit column names. If None, derived from dict keys (all-None columns filtered).
            id_key: Key to print in quiet mode. If None, uses the first header.
            alignments: Optional mapping of header name to "left" or "right". Defaults to "left".
        zNo results found.z[]Nr   c              3   óD   •K  — | ]  }|j                  ‰«      d u–— Œ y ­wr7   )Úget)Ú.0ÚitemÚcols     €r   ú	<genexpr>zOutput.table.<locals>.<genexpr>€   s   øè ø€ Ò8eÐW[¸¿¹À#»ÈdÔ9RÑ8eùs   ƒ r4   zlist[list[str | int]])r>   r@   z>Use `--no-truncate` or `--format json` to display full values.ú	c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr7   )Ú_format_table_cell_agent©rE   Úvs     r   rH   zOutput.table.<locals>.<genexpr>˜   s   è ø€ Ò*TÈ1Ô+CÀA×+FÑ*Tùó   ‚©ÚdefaultÚ )r(   r   r   r   r%   r   ÚlistÚkeysÚanyrD   Ú
_to_headerÚ_format_table_value_humanÚ_truncate_columnsr)   Ú_infer_alignmentsrA   r   r   ÚhintÚjoinÚdumpsÚstrr   Ú_escape_control_chars)r-   rA   r>   r?   r@   Úall_columnsrG   rF   ÚhÚrowsÚscreaming_headersÚrowrM   Úformatted_rowsÚis_truncatedÚinferredÚkÚscreaming_alignmentsÚ	quiet_keys         `            r   ÚtablezOutput.tablef   sc  ø€ ñ  Ø—)‘)Ø<Ð'”\×'Õ'Ð*<¬,×*<Õ*<Ó<Ü Ð!4Ô5ð ô "×&Ô&Ü  Ô&Ùàˆ?Ü˜u Q™xŸ}™}›Ó/ˆKØ&1×f˜s´SÓ8eÐ_dÔ8eÕ5e’sÐfˆGÐfØ;@×A°4 gÖ. �—‘˜!•Ô.ÐAˆÑAà�i‰iØ#”×#Õ#Ø<CÖ$D°q¤Z°¥]Ð$DÐ!Ð$DØjn×2oÐcfÐZ]Ö3^ÐUVÔ4MÈaÕ4PÔ3^Ð2o�Ñ2oä0Ð1BÀNÐ`d×`pÑ`pÔq�àUÔ/°¸Ó>ÐUÀ:ÒCSÐQSÐU�ØEMÇ^Á^ÓEU×'V¹T¸QÀ¬
°1«°qÑ(8Ð'VÐ$Ñ'VÜÜÜÐ4°nÓEØ 1Ø#7ôôñ  Ø—I‘IÐ^Õ_ð  à#”×#Õ#Ü˜TŸY™Y wÓ/Ô0Øò V�CÜ  §¡Ñ*TÐPSÔ*TÓ!TÕUñVà"”×"Õ"ÜœTŸZ™Z¬¨U«¼SÔAÕBÜ×#Ô#Ø"Ò0 g¨a¡j�	Ø!ò V�DÜ Ô!6´s¸4¿8¹8ÀIÈrÓ;RÓ7SÓ!TÕUñVð $ùò7 gùÚ.ùÓAùò %EùÚ3^ùÓ2oùó
 (WsH   Â
J/Â$J/Â/	J9Â8J4ÃJ9Ã;J?Ä	K	ÄKÄ/K	Å6KÊ4J9ËK	)r?   Údatac                óf  — t        j                  |«      rt        |t        «      st	        |«      }| j
                  t        j                  k(  r|�t        |j                  |d«      «       y| j
                  t        j                  k(  rdnd}t        t        j                  ||t        ¬«      «       y)z„Print structured data as JSON in all modes (indented for human, compact otherwise).

        Accepts a dict or a dataclass.
        NrQ   é   )ÚindentrP   )ÚdataclassesÚis_dataclassÚ
isinstanceÚtypeÚ_dataclass_to_dictr(   r   r   r%   rD   r   r   r[   r\   )r-   rj   r?   rm   s       r   ÚdictzOutput.dict    s   € ô
 ×#Ñ# DÔ)´*¸TÄ4Ô2HÜ% dÓ+ˆDØ�9‰9œ×*Ñ*Ò*¨vÐ/AÜ˜Ÿ™ &¨"Ó-Ô.ØØ—i‘i¤<×#5Ñ#5Ò5‘¸4ˆÜ”T—Z‘Z ¨V¼SÔAÕBr   Úmessagec                 óô  — | j                   xt        j                  k(  rs t        j                  t        dd«      › d|› �«      g}|j                  «       D ]  \  }}|€Œ	|j                  d|› d|› �«       Œ! t        dj                  |«      «       yxt        j                  k(  rO |j                  «       D ��cg c]  \  }}|€Œ	|› d|› �‘Œ }}}t        |rdj                  |«      «       y|«       yxt        j                  k(  r/ t        |r t        j                  |t        ¬	«      «       yd
«       yt        j                  k(  r+t        |j!                  «       «      }|rt        |d   «       yyyc c}}w )z"Print a success summary to stdout.u   âœ“z[OK]ú Nz  z: ú
ú=rO   rQ   r   )r(   r   r   r   ÚgreenÚ_ascii_saferA   Úappendr%   rZ   r   r   r[   r\   r   rR   r   )r-   rt   rj   Úpartsrf   rM   r   s          r   ÚresultzOutput.result­   s+  € à�i‰iØ#”×#Õ#ÜŸ™¤{°5¸&Ó'AÐ&BÀ!ÀGÀ9Ð$MÓNÐO�Ø ŸJ™J›Lò 4‘D�A�qØ‘}ØŸ™ r¨!¨¨B¨q¨c ]Õ3ð4ô ˜TŸY™Y uÓ-Õ.Ø#”×#Õ#Ø04·
±
³×N©¨¨1ÀÁ˜A˜3˜a ˜sšÐN�ÑNÜ±˜SŸX™X e›_ÕC¸7ÕCØ"”×"Õ"Ü¹dœTŸZ™Z¨´cÔ:ÕKÈÕKÜ×#Ô#Ü˜dŸk™k›mÓ,�ÙÜ  ¨¡Õ+ð ð $ùó	 Os   Â9
E4Ã	E4Fz--yes)rP   ÚyesÚconfirm_paramrP   r~   r   c                ó–   — |ry| j                   t        j                  k7  rt        |› d|› d�«      ‚t	        j
                  ||d¬«       y)zV
        Ask for confirmation. Raises `ConfirmationError` in non-human modes.
        Nz Use z to skip confirmation.T)rP   Úabort)r(   r   r   r	   ÚclickÚconfirm)r-   rt   rP   r~   r   s        r   rƒ   zOutput.confirmÀ   sE   € ñ ØØ�9‰9œ×*Ñ*Ò*Ü# w i¨u°]°OÐCYÐ$ZÓ[Ð[Ü�‰�g w°dÖ;r   c                 óz   — t        | j                  t        j                  k(  ¬«      }|�|j	                  |«       |S )zEReturn a status line that emits only in human mode (no-op otherwise).)Úenabled)r   r(   r   r   Úupdate)r-   rt   Ústatuss      r   r‡   zOutput.statusÊ   s2   € ä D§I¡I´×1CÑ1CÑ$CÔDˆØÐØ�M‰M˜'Ô"Øˆr   c                 óÞ   — | j                   t        j                  k(  r2t        t	        j
                  d|› �«      t        j                  ¬«       yt        d|› �t        j                  ¬«       y)z0Print a non-fatal warning to stderr (all modes).z	Warning: ©ÚfileN)r(   r   r   r%   r   ÚyellowÚsysÚstderr©r-   rt   s     r   ÚwarningzOutput.warningÑ   sG   € à�9‰9œ×*Ñ*Ò*ÜœŸ™ y°°	Ð%:Ó;Ä#Ç*Á*ÖMä˜9 W IÐ.´S·Z±ZÖ@r   c                 óÞ   — | j                   t        j                  k(  r2t        t	        j
                  d|› �«      t        j                  ¬«       yt        d|› �t        j                  ¬«       y)z%Print an error to stderr (all modes).zError: r‰   N)r(   r   r   r%   r   ÚredrŒ   r�   rŽ   s     r   ÚerrorzOutput.errorØ   sG   € à�9‰9œ×*Ñ*Ò*ÜœŸ™ G¨G¨9Ð"5Ó6¼S¿Z¹ZÖHä˜7 7 )Ð,´3·:±:Ö>r   c                 ó  — | j                   t        j                  k(  ry| j                   t        j                  k(  r/t	        t        j                  |«      t        j                  ¬«       yt	        |t        j                  ¬«       y)a  Print a text message to stderr (human: gray, json/agent: plain text).

        Suppressed in quiet mode. Kept in json mode (like agent) since agents
        commonly run with ``--format json`` and the message goes to stderr so
        it never pollutes the parsed stdout.
        Nr‰   )	r(   r   r   r   r%   r   ÚgrayrŒ   r�   rŽ   s     r   Úlogz
Output.logß   sP   € ð �9‰9œ×*Ñ*Ò*ØØ�9‰9œ×*Ñ*Ò*ÜœŸ™ 7Ó+´#·*±*Ö=ä˜¤s§z¡zÖ2r   c                 ó,   — | j                  d|› �«       y)a:  Print a helpful hint to stderr (human: gray, json/agent: plain text).

        Suppressed in quiet mode. Kept in json mode (like agent) since agents
        commonly run with ``--format json`` and the next-command hints are useful
        there; hints go to stderr so they never pollute the parsed stdout.
        zHint: N)r•   rŽ   s     r   rY   zOutput.hintí   s   € ð 	�‰�6˜'˜Ð#Õ$r   )r!   Nr7   )r   r   r   r   r   Ú__annotations__Úboolr.   r   r+   r5   r8   r\   r=   r   rs   r   rR   ri   r}   rƒ   r   r‡   r�   r’   r•   rY   r   r   r   r'   r'   3   sÙ  … ñð ÓØÓóð -9×,=Ñ,=ñ (˜\ð (À$ó (ð'¨4ð '°Dó 'ð/˜$ó /ð(À$Ð\`ò (˜˜d™
ð (°S¸4±Zð (ÈsÐUYÉzð (Ðeió (ð* %)Ø!Ø,0ò8Và˜˜S #˜X™Ñ'ð8Vð �c‘˜TÑ!ð	8Vð
 �d‘
ð8Vð ˜˜c˜‘N TÑ)ð8Vð 
ó8Vðt 7;ò C˜ð C¨¨t©ð C¸tó Cð,˜cð ,¨3ð ,°4ó ,ð& 8=È%Ðfmò <˜sð <°ð <À4ð <Ð`cð <Ðrvó <ñ˜c D™jð °Jó ðA˜sð A tó Að?˜Sð ? Tó ?ð3˜3ð 3 4ó 3ð%˜Cð % Dô %r   r'   ÚcharÚfallbackc                 ó–   — t        t        j                  dd«      xs d}	 | j                  |«       | S # t        t
        f$ r |cY S w xY w)u  Return `char`, or `fallback` if stdout cannot encode it.

    On Windows, `sys.stdout` uses the ANSI code page (e.g. cp1252) instead of the console
    encoding whenever it is not attached to a console (output redirected, piped, captured by
    a CI step). Printing a decoration like "âœ“" then raises `UnicodeEncodeError` - a
    `ValueError` subclass, so it surfaces as a confusing "Invalid value." error and aborts
    the command. Cached since the stream encoding is fixed for the lifetime of the process.
    ÚencodingNzutf-8)ÚgetattrrŒ   ÚstdoutÚencodeÚLookupErrorÚUnicodeEncodeError)r™   rš   rœ   s      r   rz   rz   ú   sO   € ô ”s—z‘z :¨tÓ4Ò?¸€HðØ�‰�HÔð €Køô Ô+Ð,ò ØŠðús   ¡4 ´AÁArM   c                 óB  — t        | t        j                  «      r| j                  «       S t        | t        «      r0| j	                  «       D ��ci c]  \  }}|€Œ	|t        |«      “Œ c}}S t        | t        «      r| D �cg c]  }t        |«      ‘Œ c}S | S c c}}w c c}w )z4Recursively serialize a value to be JSON-compatible.)rp   ÚdatetimeÚ	isoformatrs   rA   Ú_serialize_valuerR   )rM   ÚkeyÚvalrF   s       r   r¥   r¥     s�   € ä�!”X×&Ñ&Ô'Ø�{‰{‹}ÐÜ	�A”tÔ	Ø;<¿7¹7»9×X©x¨s°CÈÉ�Ô% cÓ*Ñ*ÓXÐXÜ	�A”tÔ	Ø34Ö5¨4Ô  Õ&Ò5Ð5Ø€Hùó Yùâ5s   Á
BÁBÁ?BÚinfoc                 óT  — t        j                  | «      }t        j                  | «      D ]F  }t        | |j                  «      }t        |t        «      sŒ*|j                  «       ||j                  <   ŒH |j                  «       D ��ci c]  \  }}|€Œ	|t        |«      “Œ c}}S c c}}w )z0Convert a dataclass to a json-serializable dict.)
rn   ÚasdictÚfieldsr�   Únamerp   r
   Úto_dictrA   r¥   )r¨   rj   ÚfieldÚvaluerf   rM   s         r   rr   rr     s‰   € ä×Ñ˜dÓ#€Dä×#Ñ# DÓ)ò /ˆÜ˜˜eŸj™jÓ)ˆÜ�eœXÕ&Ø$Ÿ}™}›ˆD�—‘Òð/ð
 04¯z©z«|×M¡t q¨!¸q¹}ˆAÔ Ó"Ñ"ÓMÐMùÓMs   Â
B$ÂB$z\033\[[0-9;]*mr=   c                 ó.   — t         j                  d| «      S )NrQ   )Ú_ANSI_REÚsub©r=   s    r   r<   r<   &  s   € Ü�<‰<˜˜DÓ!Ð!r   c                 ó2   — dj                  d„ | D «       «      S )zlEscape non-printable characters (CR, LF, ESC, ...) so Hub-provided strings cannot alter the terminal output.rQ   c              3   ó\   K  — | ]$  }|j                  «       r|nt        |«      d d –— Œ& y­w)é   éÿÿÿÿN)ÚisprintableÚrepr)rE   Úcs     r   rH   z(_escape_control_chars.<locals>.<genexpr>,  s'   è ø€ ÒI¸q˜Ÿ™œ‘1¬T°!«W°Q°r¨]Ó:ÑIùs   ‚*,)rZ   r³   s    r   r]   r]   *  s   € à�7‰7ÑIÀDÔIÓIÐIr   c                 óR   — t        dj                  | j                  «       «      «      S )Nrv   )r]   rZ   Úsplitr³   s    r   Ú_single_liner½   /  s   € Ü  §¡¨$¯*©*«,Ó!7Ó8Ð8r   r¬   c                 óP   — t        j                  dd| «      }|j                  «       S )zAConvert a camelCase or PascalCase string to SCREAMING_SNAKE_CASE.z([a-z])([A-Z])z\1_\2)Úrer²   Úupper)r¬   Úss     r   rU   rU   3  s!   € ä
�‰Ð  (¨DÓ1€AØ�7‰7‹9Ðr   r>   r`   c                 óf   ‡— i }t        | «      D ]  \  Š}t        ˆfd„|D «       «      sŒd||<   Œ! |S )zNReturn ``{"col": "right"}`` for columns where every non-None value is numeric.c              3   óŽ   •K  — | ]<  }|‰   d u xs/ t        |‰   t        t        f«      xr t        |‰   t        «       –— Œ> y ­wr7   )rp   ÚintÚfloatr˜   )rE   rb   rº   s     €r   rH   z$_infer_alignments.<locals>.<genexpr>=  sH   øè ø€ ÒuÐilˆs�1‰v˜ˆ~Òd¤*¨S°©V´c¼5°\Ó"BÒ"cÌ:ÐVYÐZ[ÑV\Ô^bÓKcÐGcÓdÑuùs   ƒAAÚright)Ú	enumerateÚall)r>   r`   r}   r_   rº   s       @r   rX   rX   9  s?   ø€ à€FÜ˜'Ó"ò  ‰ˆˆ1ÜÓuÐptÔuÕuØˆF�1ŠIð ð €Mr   r¯   c                 ó4  — | €yt        | t        «      r| rt        dd«      S dS t        | t        j                  «      r| j	                  d«      S t        | t
        «      rt        j                  d| «      r| dd S t        | t
        «      rt        | «      S t        | t        «      rdj                  d	„ | D «       «      S t        | t        «      r9d
| v rt        t        | d
   «      «      S t        t        j                  | «      «      S t        t        | «      «      S )z/Convert a value to string for terminal display.NrQ   u   âœ”r~   z%Y-%m-%dz^\d{4}-\d{2}-\d{2}Té
   z, c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr7   )rV   rL   s     r   rH   z,_format_table_value_human.<locals>.<genexpr>O  s   è ø€ ÒE¸!Ô2°1×5ÑEùrN   r¬   )rp   r˜   rz   r£   Ústrftimer\   r¿   Úsearchr½   rR   rZ   rs   r   r[   ©r¯   s    r   rV   rV   B  sç   € à€}ØÜ�%œÔÙ,1Œ{˜5 %Ó(Ð9°rÐ9Ü�%œ×*Ñ*Ô+Ø�~‰~˜jÓ)Ð)Ü�%œÔ¤"§)¡)Ð,BÀEÔ"JØ�S�bˆzÐÜ�%œÔÜ˜EÓ"Ð"Ü�%œÔØ�y‰yÑE¸uÔEÓEÐEÜ	�Eœ4Ô	 Ø�U‰?Ü¤ E¨&¡MÓ 2Ó3Ð3ÜœDŸJ™J uÓ-Ó.Ð.Üœ˜E›
Ó#Ð#r   r)   c                óà  ‡‡‡‡— |s‰syt        | «      }t        |«      D �‡cg c]6  Št        t        | ‰   «      gˆˆfd„t        t        ‰«      «      D «       ¢­Ž ‘Œ8 }}t        j                  «       j
                  t        d|dz
  «      z
  }t        |«      |k  ry|j                  «       Š| D �cg c]  }t        t        |«      d«      ‘Œ c}Št        ‰«      |kD  rEt        ˆfd„t        ‰«      D «       ˆfd„d¬	«      }|dk  rn‰|xx   dz  cc<   t        ‰«      |kD  rŒEd}	‰D ]:  }
t        |
«      D ]*  \  Š}t        |«      ‰‰   kD  sŒd
}	|d‰‰   dz
   dz   |
‰<   Œ, Œ< |	S c c}w c c}w )a  Truncate cells in-place to fit the current terminal width.

    Returns `True` if any cell was truncated, so the caller can emit a hint.
    `shutil.get_terminal_size` is cross-platform: it honors `$COLUMNS`, then
    queries the OS-native API, then falls back to `(80, 24)`.
    Fc              3   ó@   •K  — | ]  }t        ‰|   ‰   «      –— Œ y ­wr7   )Úlen)rE   Úrrº   r`   s     €€r   rH   z$_truncate_columns.<locals>.<genexpr>h  s   øè ø€ Ò%P¸!¤c¨$¨q©'°!©*§oÑ%Pùs   ƒr   r¶   é   c              3   ó:   •K  — | ]  \  }}|‰|   kD  sŒ|–— Œ y ­wr7   r   )rE   ÚiÚwÚ
min_widthss      €r   rH   z$_truncate_columns.<locals>.<genexpr>v  s    øè ø€ Ò@‘4�1�a¨a°*¸Q±-Ó.?ŒQÑ@ùs   ƒ”c                 ó   •— ‰|    S r7   r   )rÕ   Úcapss    €r   ú<lambda>z#_truncate_columns.<locals>.<lambda>w  s   ø€ ˜$˜q™'€ r   r·   )r¦   rP   TNé   z...)	rÑ   ÚrangeÚmaxÚshutilÚget_terminal_sizeÚcolumnsÚsumÚcopyrÇ   )r>   r`   r)   Únrº   ÚnaturalÚbudgetr_   ÚwidestÚ	truncatedrb   ÚcellrÙ   r×   s    `  `       @@r   rW   rW   W  sn  û€ ñ ™$ØäˆG‹€Aä[`ÐabÓ[c×dÐVWŒs”3�w˜q‘z“?ÐQÔ%P¼uÄSÈÃYÓ?OÔ%PÔQÐd€GÐdô ×%Ñ%Ó'×/Ñ/´#°a¸¸Q¹³-Ñ?€FÜ
ˆ7ƒ|�vÒØð
 �<‰<‹>€DØ*1Ö2 Q”#”c˜!“f˜a•.Ò2€JÜ
ˆd‹)�fÒ
ÜÛ@œ9 T›?Ô@Û!Øô
ˆð
 �AŠ:ØØˆV‹˜Ñ‹ô ˆd‹)�fÓ
ð €IØò 5ˆÜ  “~ò 	5‰GˆAˆtÜ�4‹y˜4 ™7Ó"Ø �	Ø˜m  Q¡¨!¡Ð,¨uÑ4��A’ñ	5ð5ð
 Ðùò9 eùò 3s   £;E&Â1E+c                 ó~   — t        | t        j                  «      r| j                  «       S t        t	        | «      «      S )zHFormat a cell value for agent TSV output (ISO timestamps, tabs escaped).)rp   r£   r¤   r½   r\   rÎ   s    r   rK   rK   ‡  s.   € ä�%œ×*Ñ*Ô+Ø�‰Ó Ð Üœ˜E›
Ó#Ð#r   )4r   rn   r£   r   r¿   rÞ   rŒ   Úcollections.abcr   Úenumr   Ú	functoolsr   Útypingr   r   r‚   Úhuggingface_hubr   Úhuggingface_hub.errorsr	   Úhuggingface_hub.repocard_datar
   Úhuggingface_hub.utilsr   r   r   r   r   r   r\   r   r%   r'   rz   Úobjectr¥   rs   rr   Úcompiler±   r<   r]   r½   rU   rR   rX   rV   r˜   rW   rK   Úoutr   r   r   ú<module>rõ      s¾  ðñ )ã Û Û Û 	Û Û 
Ý $Ý Ý ß ã å %Ý 4Ý 2ß s× sô�3˜ô ð)˜#ð )¨ð )°ó )÷A%ñ A%ðN ð�cð  Sð ¨Sò ó ðð"˜ð  6ó ð	N˜Sð 	N T¨#¨s¨(¡^ó 	Nð ˆ2�:‰:Ð'Ó(€ð"�cð "˜có "ðJ ð J¨ó Jð
9�sð 9˜só 9ð�Sð ˜Só ð˜t C™yð °°T¸#±Y±ð ÀDÈÈcÈÁNó ð$ Sð $¨Só $ð*-Ø�#‰Yð-à
ˆt�C‰y‰/ð-ð ð	-ð
 
ó-ð`$ Cð $¨Có $ñ ƒh�r   