Ë
    Áj  ã                  óÜ   — d Z ddlmZ ddlmZ ddlmZmZmZmZm	Z	 ddl
Z
ddlmZmZmZ ddgZ e
j                   d	e
j"                  «      Zdd
„Zdd„Zdd„Zdd„Zdd„Zddd„Zdd„Zdd„Zy)aª  
Python-Markdown provides two serializers which render [`ElementTree.Element`][xml.etree.ElementTree.Element]
objects to a string of HTML. Both functions wrap the same underlying code with only a few minor
differences as outlined below:

1. Empty (self-closing) tags are rendered as `<tag>` for HTML and as `<tag />` for XHTML.
2. Boolean attributes are rendered as `attrname` for HTML and as `attrname="attrname"` for XHTML.
é    )Úannotations)ÚProcessingInstruction)ÚCommentÚElementTreeÚElementÚQNameÚ
HTML_EMPTYN)ÚCallableÚLiteralÚNoReturnÚto_html_stringÚto_xhtml_stringz)&(?!(?:\#[0-9]+|\#x[0-9a-f]+|[0-9a-z]+);)c                ó^   — t        dj                  | t        | «      j                  «      «      ‚)Nzcannot serialize {!r} (type {}))Ú	TypeErrorÚformatÚtypeÚ__name__©Útexts    úG/var/www/html/venv/lib/python3.12/site-packages/markdown/serializers.pyÚ_raise_serialization_errorr   :   s)   € Ü
Ø)×0Ñ0°´t¸D³z×7JÑ7JÓKó
ð 
ó    c                óÔ   — 	 d| v rt         j                  d| «      } d| v r| j                  dd«      } d| v r| j                  dd«      } | S # t        t        f$ r t        | «       Y y w xY w)NÚ&ú&amp;Ú<ú&lt;Ú>ú&gt;©ÚRE_AMPÚsubÚreplacer   ÚAttributeErrorr   r   s    r   Ú_escape_cdatar%   @   so   € ð)ð �$‰;ä—:‘:˜g tÓ,ˆDØ�$‰;Ø—<‘<  VÓ,ˆDØ�$‰;Ø—<‘<  VÓ,ˆDØˆøÜ”~Ð&ò )Ü" 4Ö(ð)ús   ‚AA
 Á
A'Á&A'c                ó,  — 	 d| v rt         j                  d| «      } d| v r| j                  dd«      } d| v r| j                  dd«      } d| v r| j                  dd«      } d	| v r| j                  d	d
«      } | S # t        t        f$ r t        | «       Y y w xY w)Nr   r   r   r   r   r   Ú"ú&quot;Ú
z&#10;r    r   s    r   Ú_escape_attribr*   R   s›   € ð)Ø�$‰;ä—:‘:˜g tÓ,ˆDØ�$‰;Ø—<‘<  VÓ,ˆDØ�$‰;Ø—<‘<  VÓ,ˆDØ�4‰<Ø—<‘<  hÓ/ˆDØ�4‰<Ø—<‘<  gÓ.ˆDØˆøÜ”~Ð&ò )Ü" 4Ö(ð)ús   ‚A3A6 Á6BÂBc                ó   — 	 d| v rt         j                  d| «      } d| v r| j                  dd«      } d| v r| j                  dd«      } d| v r| j                  dd«      } | S # t        t        f$ r t        | «       Y y w xY w)	Nr   r   r   r   r   r   r'   r(   r    r   s    r   Ú_escape_attrib_htmlr,   e   s„   € ð)Ø�$‰;ä—:‘:˜g tÓ,ˆDØ�$‰;Ø—<‘<  VÓ,ˆDØ�$‰;Ø—<‘<  VÓ,ˆDØ�4‰<Ø—<‘<  hÓ/ˆDØˆøÜ”~Ð&ò )Ü" 4Ö(ð)ús   ‚AA  Á A=Á<A=c                óŽ  — |j                   }|j                  }|t        u r | dt        |«      z  «       �nç|t        u r | dt        |«      z  «       �nÉ|€)|r | t        |«      «       |D ]  }t        | ||«       Œ �nžd }t        |t        «      r@|j                  d d dk(  r#|j                  dd  j                  dd«      \  }}nt        d«      ‚ | d|z   «       |j                  «       }|r‡t        |«      }|D ]w  \  }}	t        |t        «      r|j                  }t        |	t        «      r|	j                  }	nt        |	«      }	||	k(  r|dk(  r | d	|	z  «       Œ` | d
j                  ||	«      «       Œy |r | dt        |«      z  «       |dk(  r|j                  «       t         v r	 | d«       nn | d«       |r,|j                  «       dv r	 | |«       n | t        |«      «       |D ]  }t        | ||«       Œ |j                  «       t         vr | d|z   dz   «       |j"                  r | t        |j"                  «      «       y y )Nz	<!--%s-->z<?%s?>é   Ú{Ú}z QName objects must define a tag.r   Úhtmlz %sz {}="{}"z xmlns="%s"Úxhtmlz />r   )ÚscriptÚstylez</)Útagr   r   r%   r   Ú_serialize_htmlÚ
isinstancer   ÚsplitÚ
ValueErrorÚitemsÚsortedr,   r   r*   Úlowerr	   Útail)
ÚwriteÚelemr   r5   r   ÚeÚnamespace_urir:   ÚkÚvs
             r   r6   r6   v   s  € Ø
�(‰(€CØ�9‰9€DØ
Œg�~ÙˆkœM¨$Ó/Ñ/Ö0Ø	Ô%Ñ	%Ùˆhœ tÓ,Ñ,Ö-Ø	ˆÙÙ”- Ó%Ô&ÛˆAÜ˜E 1 fÕ-ò ð ˆÜ�cœ5Ô!à�x‰x˜˜ˆ|˜sÒ"Ø%(§X¡X¨a¨b \×%7Ñ%7¸¸QÓ%?Ñ"�™sä Ð!CÓDÐDÙˆc�C‰iÔØ—
‘
“ˆÙÜ˜5“MˆEÛ‘��1Ü˜a¤Ô'àŸ™�AÜ˜a¤Ô'àŸ™‘Aä+¨AÓ.�AØ˜’6˜f¨Ò.á˜% !™)Õ$á˜*×+Ñ+¨A¨qÓ1Õ2ð ñ Ù�-¤>°-Ó#@ÑAÔBØ�WÒ §¡£´
Ñ!:Ù�%�Lá�#ŒJÙØ—9‘9“;Ð"5Ñ5Ù˜$•Káœ-¨Ó-Ô.Û�Ü  q¨&Õ1ð à�y‰y‹{¤*Ñ,Ù�d˜S‘j 3Ñ&Ô'Ø‡y‚yÙŒm˜DŸI™IÓ&Õ'ð r   c                ób   — | €J ‚g }|j                   }t        || |«       dj                  |«      S )NÚ )Úappendr6   Újoin)Úrootr   Údatar>   s       r   Ú_write_htmlrJ   ¯   s6   € ØÐÐÐØ€DØ�K‰K€EÜ�E˜4 Ô(Ø�7‰7�4‹=Ðr   c                óJ   — t        t        | «      j                  «       d¬«      S )z: Serialize element and its children to a string of HTML5. r1   ©r   ©rJ   r   Úgetroot©Úelements    r   r   r   »   s   € ä”{ 7Ó+×3Ñ3Ó5¸fÔEÐEr   c                óJ   — t        t        | «      j                  «       d¬«      S )z: Serialize element and its children to a string of XHTML. r2   rL   rM   rO   s    r   r   r   À   s   € ä”{ 7Ó+×3Ñ3Ó5¸gÔFÐFr   )r   ÚstrÚreturnr   )rS   rR   )r   rR   rS   rR   )r>   zCallable[[str], None]r?   r   r   úLiteral['html', 'xhtml']rS   ÚNone)r1   )rH   r   r   rT   rS   rR   )rP   r   rS   rR   )Ú__doc__Ú
__future__r   Úxml.etree.ElementTreer   r   r   r   r   r	   ÚreÚtypingr
   r   r   Ú__all__ÚcompileÚIr!   r   r%   r*   r,   r6   rJ   r   r   © r   r   Ú<module>r_      so   ðñJõ #å 7ß RÕ RÛ 	ß .Ñ .àÐ.Ð
/€à	ˆ�‰Ð@À"Ç$Á$Ó	G€ó
ó)ó$)ó&)ó"6(ôróFô
Gr   