§
    }Štj	#  ã            	       ó¤  — d 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 ej	        dk    rddl
Z
nddlZddlZddlZ G d„ d¦  «        Z G d	„ d
¦  «        Zdedee         defd„Zdefd„Zdefd„Zed„ ¦   «         Zdefd„Zdedee         defd„Zdedee         defd„Z	 ddeeeez                    dee         deeef         dz  defd„ZdS )zEContains utilities to print stuff to the terminal (styling, helpers).é    N)Úcontextmanageré   )Úis_agentÚwin32c                   ó@   — e Zd ZdZd
defd„Zdeddfd„Zdeddfd	„ZdS )Ú
StatusLinezJMinimal TTY status line for sync progress (stderr, single-line overwrite).TÚenabledc                 óP   — |ot           j                             ¦   «         | _        d S ©N)ÚsysÚstderrÚisattyÚ_active)Úselfr	   s     ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/huggingface_hub/utils/_terminal.pyÚ__init__zStatusLine.__init__$   s    € ØÐ6¥3¤:×#4Ò#4Ñ#6Ô#6ˆŒˆˆó    ÚmsgÚreturnNc                 ó  — | j         sd S t          j        ¦   «         j        }t	          |¦  «        |dz
  k    r|d |dz
  …         dz   }t
          j                             d|› d�¦  «         t
          j                             ¦   «          d S )Nr   é   ú...ú	[K[90mú[0m©	r   ÚshutilÚget_terminal_sizeÚcolumnsÚlenr   r   ÚwriteÚflush©r   r   Úwidths      r   ÚupdatezStatusLine.update'   sŠ   € ØŒ|ð 	ØˆFÝÔ(Ñ*Ô*Ô2ˆÝˆs‰8Œ8�e˜a‘iÒÐØ�k˜ ™	�kÔ" UÑ*ˆCÝŒ
×ÒÐ8¨CÐ8Ð8Ð8Ñ9Ô9Ð9ÝŒ
×ÒÑÔÐÐÐr   c                 ó  — | j         sd S t          j        ¦   «         j        }t	          |¦  «        |dz
  k    r|d |dz
  …         dz   }t
          j                             d|› d�¦  «         t
          j                             ¦   «          d S )Nr   r   r   r   z[0m
r   r"   s      r   ÚdonezStatusLine.done0   sŠ   € ØŒ|ð 	ØˆFÝÔ(Ñ*Ô*Ô2ˆÝˆs‰8Œ8�e˜a‘iÒÐØ�k˜ ™	�kÔ" UÑ*ˆCÝŒ
×ÒÐ:¨CÐ:Ð:Ð:Ñ;Ô;Ð;ÝŒ
×ÒÑÔÐÐÐr   )T)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úboolr   Ústrr$   r&   © r   r   r   r   !   s~   € € € € € ØTÐTð7ð 7 ð 7ð 7ð 7ð 7ð˜#ð  $ð ð ð ð ð˜ð  ð ð ð ð ð ð r   r   c                   ó6  — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zed
edefd„¦   «         Zed
edefd„¦   «         Zed
edefd„¦   «         Zed
edefd„¦   «         Zed
edefd„¦   «         Zed
edefd„¦   «         Zed
edefd„¦   «         Zed
ededefd„¦   «         ZdS )ÚANSIz;
    Helper for en.wikipedia.org/wiki/ANSI_escape_code
    z[34mz[1mz[90mz[32mz[31mr   z[4mz[33mÚsr   c                 ó8   — |                       || j        ¦  «        S r   )Ú_formatÚ_blue©Úclsr0   s     r   Úbluez	ANSI.blueH   ó   € à�{Š{˜1˜cœiÑ(Ô(Ð(r   c                 ó8   — |                       || j        ¦  «        S r   )r2   Ú_boldr4   s     r   Úboldz	ANSI.boldL   r7   r   c                 ó8   — |                       || j        ¦  «        S r   )r2   Ú_grayr4   s     r   Úgrayz	ANSI.grayP   r7   r   c                 ó8   — |                       || j        ¦  «        S r   )r2   Ú_greenr4   s     r   Úgreenz
ANSI.greenT   s   € à�{Š{˜1˜cœjÑ)Ô)Ð)r   c                 óH   — |                       || j        | j        z   ¦  «        S r   )r2   r9   Ú_redr4   s     r   ÚredzANSI.redX   s   € à�{Š{˜1˜cœi¨#¬(Ñ2Ñ3Ô3Ð3r   c                 ó8   — |                       || j        ¦  «        S r   )r2   Ú
_underliner4   s     r   Ú	underlinezANSI.underline\   s   € à�{Š{˜1˜cœnÑ-Ô-Ð-r   c                 ó8   — |                       || j        ¦  «        S r   )r2   Ú_yellowr4   s     r   ÚyellowzANSI.yellow`   s   € à�{Š{˜1˜cœkÑ*Ô*Ð*r   Úcodec                 óz   — t           j                             d¦  «        st          ¦   «         r|S |› |› | j        › �S )NÚNO_COLOR)ÚosÚenvironÚgetr   Ú_reset)r5   r0   rJ   s      r   r2   zANSI._formatd   s@   € åŒ:�>Š>˜*Ñ%Ô%ð 	­©¬ð 	àˆHØÐ'˜Ð'˜3œ:Ð'Ð'Ð'r   N)r'   r(   r)   r*   r3   r9   r<   r?   rB   rP   rE   rH   Úclassmethodr,   r6   r:   r=   r@   rC   rF   rI   r2   r-   r   r   r/   r/   :   s½  € € € € € ðð ð €EØ€EØ€EØ€FØ€DØ€FØ€JØ€Gàð)�Sð )˜Sð )ð )ð )ñ „[ð)ð ð)�Sð )˜Sð )ð )ð )ñ „[ð)ð ð)�Sð )˜Sð )ð )ð )ñ „[ð)ð ð*�cð *˜cð *ð *ð *ñ „[ð*ð ð4�Cð 4˜Cð 4ð 4ð 4ñ „[ð4ð ð.˜#ð . #ð .ð .ð .ñ „[ð.ð ð+�sð +˜sð +ð +ð +ñ „[ð+ð ð(˜ð ( 3ð (¨3ð (ð (ð (ñ „[ð(ð (ð (r   r/   ÚpromptÚchoicesr   c                 ó€   — |st          d¦  «        ‚t          ¦   «         rt          | |¦  «        S t          | |¦  «        S )as  Single-choice interactive prompt. Returns the index of the selected choice.

    On a TTY, renders an arrow-key menu (Up/Down to move, Enter to confirm, 1-9 to pick
    directly, Ctrl+C to abort). Falls back to a numbered `input()` prompt when raw
    keyboard input is not available. Callers are responsible for not prompting at all in
    non-interactive contexts.
    z-select_choice() requires at least one choice.)Ú
ValueErrorÚ_supports_raw_keyboardÚ_select_with_arrowsÚ_select_with_numbers)rR   rS   s     r   Úselect_choicerY   l   sJ   € ð ð JÝÐHÑIÔIÐIÝÑÔð 4Ý" 6¨7Ñ3Ô3Ð3Ý ¨Ñ0Ô0Ð0r   c                  óÖ   — t           j        r<t           j                             ¦   «         rt           j                             ¦   «         sdS t           j        dk    rt          ¦   «         S dS )NFr   T)r   Ústdinr   ÚstdoutÚplatformÚ_enable_windows_vt_processingr-   r   r   rV   rV   {   sY   € ÝŒIð �#œ)×*Ò*Ñ,Ô,ð µ´×1BÒ1BÑ1DÔ1Dð ØˆuÝ
„|�wÒÐÝ,Ñ.Ô.Ð.Øˆ4r   c                  óJ  — d} d}	 t           j        j        }|                     |¦  «        }t          j        ¦   «         }|                     |t          j        |¦  «        ¦  «        sdS t          |                     ||j	        | z  ¦  «        ¦  «        S # t          $ r Y dS w xY w)u¸   Enable VT escape-sequence processing on the Windows console (off by default in legacy
    cmd.exe/PowerShell windows, where the menu would otherwise render as literal `â†�[K` garbage).r   iõÿÿÿF)ÚctypesÚwindllÚkernel32ÚGetStdHandleÚc_uint32ÚGetConsoleModeÚbyrefr+   ÚSetConsoleModeÚvalueÚ	Exception)Ú"ENABLE_VIRTUAL_TERMINAL_PROCESSINGÚSTD_OUTPUT_HANDLErb   ÚhandleÚmodes        r   r^   r^   ƒ   s¯   € ð *0Ð&ØÐðÝ”=Ô)ˆØ×&Ò&Ð'8Ñ9Ô9ˆÝŒÑ Ô ˆØ×&Ò& v­v¬|¸DÑ/AÔ/AÑBÔBð 	Ø�5Ý�H×+Ò+¨F°D´JÐAcÑ4cÑdÔdÑeÔeÐeøÝð ð ð Øˆuˆuðøøøs   †A!B Á)*B Â
B"Â!B"c               #   óV  K  — t           j        dk    rdV — dS t           j                             ¦   «         } t	          j        | ¦  «        }	 t          j        | ¦  «         dV — t	          j        | t          j	        |¦  «         dS # t	          j        | t          j	        |¦  «         w xY w)zRPut the terminal in cbreak mode (read keypresses without Enter). No-op on Windows.r   N)
r   r]   r[   ÚfilenoÚtermiosÚ	tcgetattrÚttyÚ	setcbreakÚ	tcsetattrÚ	TCSADRAIN)ÚfdÚold_settingss     r   Ú_raw_terminalrx   “   s    è è € õ „|�wÒÐØˆˆˆØˆå	Œ×	Ò	Ñ	Ô	€BÝÔ$ RÑ(Ô(€Lð?ÝŒ�bÑÔÐØˆˆˆåÔ˜"�gÔ/°Ñ>Ô>Ð>Ð>Ð>ø�Ô˜"�gÔ/°Ñ>Ô>Ð>Ð>øøøs   ÁB Â"B(c                  óL  — t           j        dk    rCt          j        ¦   «         } | dv r*dddœ                     t          j        ¦   «         d¦  «        S | S t           j                             ¦   «         }t          j        |d¦  «        } | dk    rƒt          j	        |gg g d	¦  «        d
         ret          j        |d¦  «        dk    rJt          j	        |gg g d	¦  «        d
         r,dddœ                     t          j        |d¦  «        d¦  «        S dS |  
                    d¬¦  «        S )z9Read one keypress, normalizing arrow keys to "up"/"down".r   )ú õ   Ã ÚupÚdown)ÚHÚPÚ r   ó   gš™™™™™©?r   ó   [)ó   Aó   BÚreplace)Úerrors)r   r]   ÚmsvcrtÚgetwchrO   r[   ro   rM   ÚreadÚselectÚdecode)Úcharrv   s     r   Ú	_read_keyr�   £   s	  € å
„|�wÒÐÝŒ}‰ŒˆØÐ#Ð#Ð#Ø FÐ+Ð+×/Ò/µ´±´ÀÑDÔDÐDØˆõ 
Œ×	Ò	Ñ	Ô	€BÝŒ7�2�q‰>Œ>€Dàˆw‚€�6œ=¨"¨¨r°2°tÑ<Ô<¸QÔ?€ÝŒ7�2�q‰>Œ>˜TÒ!Ð!¥f¤m°R°D¸"¸bÀ$Ñ&GÔ&GÈÔ&JÐ!Ø fÐ-Ð-×1Ò1µ"´'¸"¸a±.´.À"ÑEÔEÐEØˆrØ�;Š;˜iˆ;Ñ(Ô(Ð(r   c                 ó  ‡‡— dŠt          t                               d| › �¦  «        t                               d¦  «        z   ¦  «         dˆˆfd„}	 t          j                             d¦  «          |¦   «          t          ¦   «         5  	 t          ¦   «         }|dk    rt          ‚|d	k    r‰d
z
  t          ‰¦  «        z  Šns|dk    r‰d
z   t          ‰¦  «        z  ŠnW|                     ¦   «         r=d
t          |¦  «        cxk    rt          ‰¦  «        k    rn nt          |¦  «        d
z
  ŠnA|dv rn<Œ«t          j                             dt          ‰¦  «        › d�¦  «          |¦   «          Œåd d d ¦  «         n# 1 swxY w Y   t          j                             d¦  «         t          j                             ¦   «          nB# t          j                             d¦  «         t          j                             ¦   «          w xY wt          j                             dt          ‰¦  «        d
z   › d�¦  «         t          t                               d| › d�¦  «        t                               ‰‰         ¦  «        z   ¦  «         ‰S )Nr   ú? z   [Use arrows, Enter to confirm]r   c                  ó4  •— t          ‰¦  «        D ]h\  } }| ‰k    r5t                               d¦  «        t                               |¦  «        z   nd|z   }t          j                             d|› d�¦  «         Œit          j                             ¦   «          d S )Nz> ú  z[Kú
)Ú	enumerater/   r@   r:   r   r\   r    r!   )ÚiÚchoiceÚlinerS   Úselecteds      €€r   Úrenderz#_select_with_arrows.<locals>.render»   s‘   ø€ Ý" 7Ñ+Ô+ð 	2ð 	2‰IˆAˆvØ;<Àº=¸=•4—:’:˜dÑ#Ô#¥d§i¢i°Ñ&7Ô&7Ñ7Ð7ÈdÐU[ÉmˆDÝŒJ×ÒÐ0¨Ð0Ð0Ð0Ñ1Ô1Ð1Ð1ÝŒ
×ÒÑÔÐÐÐr   z[?25lTúr|   r   r}   )úr’   z[ÚAz[?25hzA[Jú )r   N)Úprintr/   r:   r=   r   r\   r    rx   r�   ÚKeyboardInterruptr   Ú	isdecimalÚintr!   r@   )rR   rS   r˜   Úkeyr—   s    `  @r   rW   rW   ·   s¦  øø€ Ø€HÝ	�$�)Š)�M˜�M�MÑ
"Ô
"¥T§Y¢YÐ/QÑ%RÔ%RÑ
RÑSÔSÐSðð ð ð ð ð ð ðÝŒ
×Ò˜Ñ%Ô%Ð%Øˆ‰ŒˆÝ‰_Œ_ð 	ð 	ðÝ‘k”k�Ø˜&’=�=õ ,Ð+Ø˜$’;�;Ø (¨1¡µ°G±´Ñ<�H�HØ˜F’]�]Ø (¨1¡µ°G±´Ñ<�H�HØ—]’]‘_”_ð ¨­c°#©h¬hÐ)FÐ)FÒ)FÐ)F½#¸g¹,¼,Ò)FÐ)FÐ)FÐ)FÐ)FÝ" 3™xœx¨!™|�HØØ˜LÐ(Ð(ØàÝ”
× Ò Ð!8­¨W©¬Ð!8Ð!8Ð!8Ñ9Ô9Ð9Ø�‘”�ð%ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ* 	Œ
×Ò˜Ñ%Ô%Ð%ÝŒ
×ÒÑÔÐÐøõ 	Œ
×Ò˜Ñ%Ô%Ð%ÝŒ
×ÒÑÔÐÐøøøõ „J×ÒÐ8�S ™\œ\¨AÑ-Ð8Ð8Ð8Ñ9Ô9Ð9Ý	�$�)Š)�N˜�N�N�NÑ
#Ô
#¥d§j¢j°¸Ô1BÑ&CÔ&CÑ
CÑDÔDÐDØ€Os1   Á7G Â	C'E<Å0G Å<F Æ G ÆF ÆG Ç?Hc                 ó¬  — t          d| › �¦  «         t          |d¬¦  «        D ]\  }}t          d|› d|› �¦  «         Œ	 t          d¦  «                             ¦   «         }|sdS |                     ¦   «         r<dt          |¦  «        cxk    rt          |¦  «        k    rn nt          |¦  «        dz
  S t          d	t          |¦  «        › d
�¦  «         Œ–)Nr�   r   )Ústartr‘   z. TzChoice [1]: r   z-Invalid choice. Enter a number between 1 and ú.)r�   r“   ÚinputÚstriprŸ   r    r   )rR   rS   r”   r•   Úraws        r   rX   rX   â   s÷   € Ý	ˆ-ˆvˆ-ˆ-ÑÔÐÝ˜w¨aÐ0Ñ0Ô0ð "ð "‰	ˆˆ6ÝÐ �1Ð Ð ˜Ð Ð Ñ!Ô!Ð!Ð!ðOÝ�NÑ#Ô#×)Ò)Ñ+Ô+ˆØð 	Ø�1Ø�=Š=‰?Œ?ð 	 ˜q¥C¨¡H¤HÐ<Ð<Ò<Ð<µ°G±´Ò<Ð<Ð<Ð<Ð<Ý�s‘8”8˜a‘<ÐÝÐM½cÀ'¹l¼lÐMÐMÐMÑNÔNÐNðOr   ÚrowsÚheadersÚ
alignmentsc           
      ób  ‡‡— dddœŠ| D ]U}t          |¦  «        t          |¦  «        k     r3t          dt          |¦  «        › dt          |¦  «        › d|› d�¦  «        ‚ŒVd„ t          g | ¢|‘R Ž D ¦   «         }ˆˆfd	„|D ¦   «         }d
                     d„ t          ||¦  «        D ¦   «         ¦  «        }g }|                      |j        |Ž ¦  «         |                      |j        d„ |D ¦   «         Ž ¦  «         | D ]}|                      |j        |Ž ¦  «         Œ d                     |¦  «        S )z‰
    Inspired by:

    - stackoverflow.com/a/8356620/593036
    - stackoverflow.com/questions/9535954/printing-lists-as-tabular-data
    ú<ú>)ÚleftÚrightzRow has z values but expected z (headers: ú)c                 ó@   — g | ]}t          d „ |D ¦   «         ¦  «        ‘ŒS )c              3   óN   K  — | ] }t          t          |¦  «        ¦  «        V — Œ!d S r   )r   r,   )Ú.0Úxs     r   ú	<genexpr>z&tabulate.<locals>.<listcomp>.<genexpr>þ   s.   è è € Ð/Ð/ a•c�#˜a™&œ&‘k”kÐ/Ð/Ð/Ð/Ð/Ð/r   )Úmax)r³   Úcols     r   ú
<listcomp>ztabulate.<locals>.<listcomp>þ   s/   € ÐOÐOÐO°C•#Ð/Ð/¨3Ð/Ñ/Ô/Ñ/Ô/ÐOÐOÐOr   c                 óh   •— g | ].}‰                      ‰pi                       |d ¦  «        d¦  «        ‘Œ/S )r®   r¬   )rO   )r³   ÚhÚ
_ALIGN_MAPrª   s     €€r   r¸   ztabulate.<locals>.<listcomp>ÿ   s<   ø€ ÐZÐZÐZÈQ�*—.’. *Ð"2°×!7Ò!7¸¸6Ñ!BÔ!BÀCÑHÔHÐZÐZÐZr   rœ   c              3   ó,   K  — | ]\  }}d |› |› d�V — ŒdS )z{:Ú}Nr-   )r³   ÚaÚws      r   rµ   ztabulate.<locals>.<genexpr>   s2   è è € ÐQÐQ©T¨Q°˜. ˜. 1˜.˜.˜.ÐQÐQÐQÐQÐQÐQr   c                 ó   — g | ]}d |z  ‘ŒS )ú-r-   )r³   r¿   s     r   r¸   ztabulate.<locals>.<listcomp>  s   € Ð$AÐ$AÐ$A° S¨1¡WÐ$AÐ$AÐ$Ar   r’   )r   Ú
IndexErrorÚzipÚjoinÚappendÚformat)	r¨   r©   rª   ÚrowÚ
col_widthsÚ
col_alignsÚ
row_formatÚlinesr»   s	     `     @r   ÚtabulaterÌ   ï   ss  øø€ ð ¨Ð,Ð,€JØð lð lˆÝˆs‰8Œ8•c˜'‘l”lÒ"Ð"ÝÐj­¨C©¬ÐjÐjÅsÈ7Á|Ä|ÐjÐjÐ`gÐjÐjÐjÑkÔkÐkð #àOÐO½3Ð;NÀÐ;NÀgÐ;NÐ;NÐ;NÐOÑOÔO€JØZÐZÐZÐZÐZÐRYÐZÑZÔZ€JØ—’ÐQÐQµS¸ÀZÑ5PÔ5PÐQÑQÔQÑQÔQ€JØ€EØ	‡L‚LÐ"�Ô" GÐ,Ñ-Ô-Ð-Ø	‡L‚LÐ"�Ô"Ð$AÐ$A°jÐ$AÑ$AÔ$AÐBÑCÔCÐCØð .ð .ˆØ�ŠÐ&�ZÔ&¨Ð,Ñ-Ô-Ð-Ð-Ø�9Š9�UÑÔÐr   r   )r*   r`   rM   r   r   Ú
contextlibr   Ú_detect_agentr   r]   r‡   rŠ   rp   rr   r   r/   r,   Úlistr    rY   r+   rV   r^   rx   r�   rW   rX   ÚdictrÌ   r-   r   r   ú<module>rÑ      sA  ðð LÐ Kà €€€Ø 	€	€	€	Ø €€€Ø 
€
€
€
Ø %Ð %Ð %Ð %Ð %Ð %à #Ð #Ð #Ð #Ð #Ð #ð „<�7ÒÐØ€M€M€M€Mà€M€M€MØ€N€N€NØ€J€J€Jðð ð ð ð ñ ô ð ð2/(ð /(ð /(ð /(ð /(ñ /(ô /(ð /(ðd1˜#ð 1¨¨S¬	ð 1°cð 1ð 1ð 1ð 1ð ð ð ð ð ð tð ð ð ð ð  ð?ð ?ñ „ð?ð)�3ð )ð )ð )ð )ð(( ð (¨d°3¬ið (¸Cð (ð (ð (ð (ðV
O ð 
O¨t°C¬yð 
O¸Sð 
Oð 
Oð 
Oð 
Oð  )-ðð Ø
ˆt�C˜#‘IŒÔ
ðà�#ŒYðð �S˜#�X” Ñ%ðð 	ð	ð ð ð ð ð r   