ó
    OÎh  ã                  ó’   • S SK Jr  S SKJs  Jr  S SKJr  S SKJr  SSK	J
r
Jr  S/r " S S5      r " S	 S
\5      rSS jr\" 5       rg)é    )ÚannotationsN)Ú	Formatter)ÚAnyé   )ÚFormattedTextÚStyleAndTextTuplesÚHTMLc                  óJ   • \ rS rSrSrS
S jrSS jrSS jrSS jrSS jr	Sr
g	)r	   é   aÎ  
HTML formatted text.
Take something HTML-like, for use as a formatted string.

::

    # Turn something into red.
    HTML('<style fg="ansired" bg="#00ff44">...</style>')

    # Italic, bold, underline and strike.
    HTML('<i>...</i>')
    HTML('<b>...</b>')
    HTML('<u>...</u>')
    HTML('<s>...</s>')

All HTML elements become available as a "class" in the style sheet.
E.g. ``<username>...</username>`` can be styled, by setting a style for
``username``.
c                ó¾   ^^^^^^• Xl         [        R                  " SU S35      n/ m/ m/ m/ mSUUU4S jjmSUUUUUU4S jjmT" U5        [        T5      U l        g )Nz<html-root>z</html-root>c                 óö   >• / n T(       a#  U R                  SSR                  T5      -   5        T(       a  U R                  STS   -   5        T(       a  U R                  STS   -   5        SR                  U 5      $ )z$Build style string for current node.zclass:Ú,zfg:éÿÿÿÿzbg:Ú )ÚappendÚjoin)ÚpartsÚbg_stackÚfg_stackÚ
name_stacks    €€€Ú_/home/mande/repo/quber/.venv/lib/python3.13/site-packages/prompt_toolkit/formatted_text/html.pyÚget_current_styleÚ(HTML.__init__.<locals>.get_current_style*   sc   ø€ àˆEÞØ—‘˜X¨¯©°Ó(<Ñ<Ô=æØ—‘˜U X¨b¡\Ñ1Ô2ÞØ—‘˜U X¨b¡\Ñ1Ô2Ø—8‘8˜E“?Ð"ó    c                óÒ  >• U R                    GHU  nUR                  UR                  :X  a$  TR                  T	" 5       UR                  45        MB  UR
                  S;  nS=p4UR                  R                  5        H  u  pVUS:X  a  UnUS:X  a  UnUS:X  d  M  UnM!     SU;   a  [        S5      eSU;   a  [        S5      eU(       a  T
R                  UR
                  5        U(       a  TR                  U5        U(       a  TR                  U5        T" U5        U(       a  T
R                  5         U(       a  TR                  5         U(       d  GME  TR                  5         GMX     g	)
zProcess node recursively.)z	#documentz	html-rootÚstyleÚ ÚfgÚbgÚcolorr   z "fg" attribute contains a space.z "bg" attribute contains a space.N)
Ú
childNodesÚnodeTypeÚ	TEXT_NODEr   ÚdataÚnodeNameÚ
attributesÚitemsÚ
ValueErrorÚpop)ÚnodeÚchildÚadd_to_name_stackr   r   ÚkÚvr   r   r   r   Úprocess_nodeÚresults          €€€€€€r   r/   Ú#HTML.__init__.<locals>.process_node6   s!  ø€ àŸ��Ø—>‘> U§_¡_Ó4Ø—M‘MÑ#4Ó#6¸¿
¹
Ð"CÖDà(-¯©ð ?ñ )Ð%ð
 !�L�Bà %× 0Ñ 0× 6Ñ 6Ö 8™˜Ø ›9Ø!"˜BØ ›9Ø!"˜BØ �<Ø!"šBñ !9ð ˜b“yÜ(Ð)KÓLÐLØ˜b“yÜ(Ð)KÓLÐLæ(Ø"×)Ñ)¨%¯.©.Ô9ÞØ Ÿ™¨Ô+ÞØ Ÿ™¨Ô+á  Ô'æ(Ø"Ÿ™Ô(ÞØ Ÿ™œß‘rØ Ÿ™ŸòQ )r   ©ÚreturnÚstr)r*   r   r3   ÚNone)ÚvalueÚminidomÚparseStringr   Úformatted_text)	Úselfr6   Údocumentr   r   r   r   r/   r0   s	      @@@@@@r   Ú__init__ÚHTML.__init__!   sa   ý€ ØŒ
Ü×&Ò&¨°U°G¸<Ð'HÓIˆà%'ˆØ "ˆ
Ø ˆØ ˆ÷
	#ñ 
	#÷*	'ô *	'ñX 	�XÔä+¨FÓ3ˆÕr   c                ó$   • SU R                   < S3$ )NzHTML(Ú))r6   ©r:   s    r   Ú__repr__ÚHTML.__repr__f   s   € Ø�t—z‘z‘n AÐ&Ð&r   c                ó   • U R                   $ ©N)r9   r@   s    r   Ú__pt_formatted_text__ÚHTML.__pt_formatted_text__i   s   € Ø×"Ñ"Ð"r   c                óT   • [        [        R                  U R                  X5      5      $ )zK
Like `str.format`, but make sure that the arguments are properly
escaped.
)r	   Ú	FORMATTERÚvformatr6   )r:   ÚargsÚkwargss      r   ÚformatÚHTML.formatl   s    € ô
 ”I×%Ñ% d§j¡j°$Ó?Ó@Ð@r   c                ó†   • [        U[        5      (       d  U4n[        S U 5       5      n[        U R                  U-  5      $ )z
HTML('<b>%s</b>') % value
c              3  ó8   #   • U  H  n[        U5      v •  M     g 7frD   )Úhtml_escape)Ú.0Úis     r   Ú	<genexpr>ÚHTML.__mod__.<locals>.<genexpr>z   s   é € Ð4ªe¨”k !—n�nªeùs   ‚)Ú
isinstanceÚtupler	   r6   )r:   r6   s     r   Ú__mod__ÚHTML.__mod__s   s<   € ô ˜%¤×'Ñ'Ø�HˆEäÑ4©eÓ4Ó4ˆÜ�D—J‘J Ñ&Ó'Ð'r   )r9   r6   N)r6   r4   r3   r5   r2   )r3   r   )rJ   ÚobjectrK   rY   r3   r	   )r6   rY   r3   r	   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r<   rA   rE   rL   rW   Ú__static_attributes__© r   r   r	   r	      s#   † ñô(C4ôJ'ô#ôA÷(r   c                  ó   • \ rS rSrSS jrSrg)ÚHTMLFormatteré~   c                ó*   • [        [        X5      5      $ rD   )rP   rL   )r:   r6   Úformat_specs      r   Úformat_fieldÚHTMLFormatter.format_field   s   € Üœ6 %Ó5Ó6Ð6r   r`   N)r6   rY   re   r4   r3   r4   )rZ   r[   r\   r]   rf   r_   r`   r   r   rb   rb   ~   s   † ÷7r   rb   c                ó¶   • [        U [        5      (       d  U  n U R                  SS5      R                  SS5      R                  SS5      R                  SS5      $ )	NÚ&z&amp;Ú<z&lt;Ú>z&gt;Ú"z&quot;)rU   r4   Úreplace)Útexts    r   rP   rP   ƒ   sQ   € ô �dœC× Ñ Ø�ˆð 	�‰�S˜'Ó"ß	‰��fÓ	ß	‰��fÓ	ß	‰��hÓ	ð	r   )rn   rY   r3   r4   )Ú
__future__r   Úxml.dom.minidomÚdomr7   Ústringr   Útypingr   Úbaser   r   Ú__all__r	   rb   rP   rH   r`   r   r   Ú<module>rv      sE   ðÝ "ç !Ð !Ý Ý ç 3àˆ(€÷o(ñ o(ôd7�Iô 7ô
ñ ‹O�	r   