Ë
    ^½e±  ã                   óž   — d dl ZddlmZ dej                  defd„Zdej                  ej                     defd„Zdej                  defd„Z	y)	é    Né   )ÚMarkupÚsÚreturnc                 ó  — t        | d«      rt        | j                  «       «      S t        t        | «      j	                  dd«      j	                  dd«      j	                  dd«      j	                  dd	«      j	                  d
d«      «      S )a¾  Replace the characters ``&``, ``<``, ``>``, ``'``, and ``"`` in
    the string with HTML-safe sequences. Use this if you need to display
    text that might contain such characters in HTML.

    If the object has an ``__html__`` method, it is called and the
    return value is assumed to already be safe for HTML.

    :param s: An object to be converted to a string and escaped.
    :return: A :class:`Markup` string with the escaped text.
    Ú__html__ú&z&amp;ú>z&gt;ú<z&lt;ú'z&#39;ú"z&#34;)Úhasattrr   r   ÚstrÚreplace©r   s    ú4/usr/lib/python3/dist-packages/markupsafe/_native.pyÚescaper      so   € ô ˆq�*ÔÜ�a—j‘j“lÓ#Ð#äÜˆA‹ß	‰��gÓ	ß	‰��fÓ	ß	‰��fÓ	ß	‰��gÓ	ß	‰��gÓ	óð ó    c                 ó0   — | €
t        «       S t        | «      S )a  Like :func:`escape` but treats ``None`` as the empty string.
    Useful with optional values, as otherwise you get the string
    ``'None'`` when the value is ``None``.

    >>> escape(None)
    Markup('None')
    >>> escape_silent(None)
    Markup('')
    )r   r   r   s    r   Úescape_silentr      s   € ð 	€yÜ‹xˆä�!‹9Ðr   c                 ó<   — t        | t        «      st        | «      S | S )a¨  Convert an object to a string if it isn't already. This preserves
    a :class:`Markup` string rather than converting it back to a basic
    string, so it will still be marked as safe and won't be escaped
    again.

    >>> value = escape("<User 1>")
    >>> value
    Markup('&lt;User 1&gt;')
    >>> escape(str(value))
    Markup('&amp;lt;User 1&amp;gt;')
    >>> escape(soft_str(value))
    Markup('&lt;User 1&gt;')
    )Ú
isinstancer   r   s    r   Úsoft_strr   .   s   € ô �aœÔÜ�1‹vˆà€Hr   )
ÚtypingÚtÚ r   ÚAnyr   ÚOptionalr   r   r   © r   r   ú<module>r       sY   ðÛ å ðˆa�e‰eð ˜ó ð0�Q—Z‘Z §¡Ñ&ð ¨6ó ð �—‘ð ˜#ô r   