
    ^h;                        S SK r S SKJrJrJrJr  SSKJr  \(       a  SSKJ	r	J
r
  SSKJr  SSKJr  / SQr\ R                   " S	\-   S
-   5      r\ R                   " S	\-   S-   5      r\ R                   " S	\-   S-   5      rS\-   S-   rS\-   S-   rSSS\\   SSS\\   4S jrSSS\S\4S jrSSS\\   SSS\\   4S jrSSS\S\4S jrSSS\\   SSS\\   4S jrSSS\S\4S jrSSS\\   SSS\4S  jrSSS\S\4S! jrSSS\\   SSS\4S" jr SSS\S\4S# jr!SSS\\   SSS$\S%\\   S\\   4S& jr"SSS\\   SSS$\S\4
S' jr#S-S( jr$S-S) jr%S-S* jr&S-S+ jr'S-S, jr(g).    N)TYPE_CHECKINGMatchOptionalPattern   )PREVENT_BACKSLASH)BaseRendererInlineState)InlineParser)Markdown)strikethroughmarkinsertsuperscript	subscriptz(?:z\\~|[^\s~])~~(?!~)z\\=|[^\s=])==(?!=)z\\\^|[^\s^])\^\^(?!\^)z\^(?:z\\\^|\S|\\ )+?\^z~(?:z\\~|\S|\\ )+?~inliner   mstater
   returnc                 &    [        XUS[        5      $ )Nr   )_parse_to_end_STRIKE_ENDr   r   r   s      T/home/james-whalen/.local/lib/python3.13/site-packages/mistune/plugins/formatting.pyparse_strikethroughr      s    E?KHH    rendererr	   textc                     SU-   S-   $ )Nz<del>z</del> r   r   s     r   render_strikethroughr"          T>H$$r   c                 &    [        XUS[        5      $ )Nr   )r   	_MARK_ENDr   s      r   
parse_markr&      s    E69==r   c                     SU-   S-   $ )Nz<mark>z</mark>r    r!   s     r   render_markr(   !   s    d?Y&&r   c                 &    [        XUS[        5      $ )Nr   )r   _INSERT_ENDr   s      r   parse_insertr+   %   s    E8[AAr   c                     SU-   S-   $ )Nz<ins>z</ins>r    r!   s     r   render_insertr-   )   r#   r   c                     [        XUS5      $ )Nr   _parse_scriptr   s      r   parse_superscriptr1   -   s    E=99r   c                     SU-   S-   $ )Nz<sup>z</sup>r    r!   s     r   render_superscriptr3   1   r#   r   c                     [        XUS5      $ )Nr   r/   r   s      r   parse_subscriptr5   5   s    E;77r   c                     SU-   S-   $ )Nz<sub>z</sub>r    r!   s     r   render_subscriptr7   9   r#   r   tok_typeend_patternc                 $   UR                  5       nUR                  UR                  U5      nU(       d  g UR                  5       nUR                  XWS-
   nUR                  5       n	Xl        U R	                  U	5      n
UR                  X:S.5        U$ )Nr   typechildren)endsearchsrccopyrenderappend_token)r   r   r   r8   r9   posm1end_posr   	new_stater=   s              r   r   r   =   s|     %%'C			EIIs	+BffhG99SQ;'D

IM}}Y'H	?@Nr   c                     UR                  S5      nUR                  5       nUSS R                  SS5      Ul        U R	                  U5      nUR                  X6S.5        UR                  5       $ )Nr      z\  r;   )grouprA   replacer@   rB   rC   r>   )r   r   r   r8   r   rG   r=   s          r   r0   r0   Q   s^    771:D

I2J&&uc2IM}}Y'H	?@557Nr   c                     U R                   R                  SS[        SS9  U R                  (       a<  U R                  R                  S:X  a!  U R                  R                  S[
        5        ggg)a)  A mistune plugin to support strikethrough. Spec defined by
GitHub flavored Markdown and commonly used by many parsers:

.. code-block:: text

    ~~This was mistaken text~~

It will be converted into HTML:

.. code-block:: html

    <del>This was mistaken text</del>

:param md: Markdown instance
r   z~~(?=[^\s~])linkbeforehtmlN)r   registerr   r   NAMEr"   mds    r   r   r   Z   s]      II	   
{{r{{''61
_.BC 2{r   c                     U R                   R                  SS[        SS9  U R                  (       a<  U R                  R                  S:X  a!  U R                  R                  S[
        5        ggg)zA mistune plugin to add ``<mark>`` tag. Spec defined at
https://facelessuser.github.io/pymdown-extensions/extensions/mark/:

.. code-block:: text

    ==mark me== ==mark \=\= equal==

:param md: Markdown instance
r   z==(?=[^\s=])rO   rP   rR   N)r   rS   r&   r   rT   r(   rU   s    r   r   r   t   s\     II	   
{{r{{''61
V[1 2{r   c                     U R                   R                  SS[        SS9  U R                  (       a<  U R                  R                  S:X  a!  U R                  R                  S[
        5        ggg)zA mistune plugin to add ``<ins>`` tag. Spec defined at
https://facelessuser.github.io/pymdown-extensions/extensions/caret/#insert:

.. code-block:: text

    ^^insert me^^

:param md: Markdown instance
r   z\^\^(?=[^\s\^])rO   rP   rR   N)r   rS   r+   r   rT   r-   rU   s    r   r   r      s\     II	   
{{r{{''61
X}5 2{r   c                     U R                   R                  S[        [        SS9  U R                  (       a<  U R                  R
                  S:X  a!  U R                  R                  S[        5        ggg)zA mistune plugin to add ``<sup>`` tag. Spec defined at
https://pandoc.org/MANUAL.html#superscripts-and-subscripts:

.. code-block:: text

    2^10^ is 1024.

:param md: Markdown instance
r   	linebreakrP   rR   N)r   rS   SUPERSCRIPT_PATTERNr1   r   rT   r3   rU   s    r   r   r      sV     II}&9;LU`a	{{r{{''61
],>? 2{r   c                     U R                   R                  S[        [        SS9  U R                  (       a<  U R                  R
                  S:X  a!  U R                  R                  S[        5        ggg)zA mistune plugin to add ``<sub>`` tag. Spec defined at
https://pandoc.org/MANUAL.html#superscripts-and-subscripts:

.. code-block:: text

    H~2~O is a liquid.

:param md: Markdown instance
r   rZ   rP   rR   N)r   rS   SUBSCRIPT_PATTERNr5   r   rT   r7   rU   s    r   r   r      sT     II{$5{[	{{r{{''61
[*:; 2{r   )rV   r   r   N))retypingr   r   r   r   helpersr   corer	   r
   inline_parserr   markdownr   __all__compiler   r%   r*   r[   r]   strintr   r"   r&   r(   r+   r-   r1   r3   r5   r7   r   r0   r   r   r   r   r   r    r   r   <module>rh      s   	 : : '0,#
Ijj"336KKLJJv 114IIJ	jj"336OOP!225HH //2CC I I5: Im IX`adXe I%> % % %>~ >%* >] >xX[} >'. ' ' 'B BE#J B} BQYZ]Q^ B%N %# %# %:n :s :M :VY :% %s %s %8N 8uSz 8- 8TW 8%~ %S %S %Sz  	
  c](. U3Z  Y\ ad D42(6(@<r   