
    Lc@                         d dl Z ddlmZ ddlmZ dgZdez   dz   Z e j        dez   d	z             Zd
 Z	d Z
d Zd Zd Zd Zd Zd Zd Zd ZdS )    N   )
LINK_LABEL)unikeyplugin_footnotesz\[\^(z)\]z( {0,3})\[\^(z0)\]:[ \t]*([^\n]*\n+(?:\1 {1,3}(?! )[^\n]*\n+)*)c                 *   t          |                    d                    }|                    d          }|r||vrd|                    d          fS |                    dd          }|dz  }||d<   |d                             |           d||fS )N   def_footnotestextr   footnote_index	footnotesfootnote_ref)r   groupgetappend)inlinemstatekeyr	   indexs         9lib/python3.11/site-packages/mistune/plugins/footnotes.pyparse_inline_footnoter      s    


CIIo..M "C}4 "qwwqzz!!II&**E	QJE#E
	+c"""3%%    c                     t          |                    d                    }||d         vr |                    d          |d         |<   d S d S )Nr   r	      )r   r   )blockr   r   r   s       r   parse_def_footnoter   $   sT    


C
%(( 1&'ggajjos###1 1r   c                 
   |d         }||         }|                                 }d|vrd|dg}n|                                }|dd          D ]}	|	r nt          |	          t          |	                                          z
  }
t	          j        dt          |
          z   dz   t          j                  }|                    d	|          }| 	                    ||          }t          |t                    s|g}d
|||fdS )Nr	   
	paragraph)typer
   r   z^ {z,})flags footnote_item)r    childrenparams)strip
splitlineslenlstriprecompilestrMsub
parse_text
isinstancelist)r   kir   r	   r
   stripped_textr$   linessecond_linespacespatterns               r   parse_footnote_itemr9   *   s'   /*MDJJLLM=  "(-@@A!! 9 	 	K  [!!C(:(:(<(<$=$==*Vc&kk1E9FFF{{2t$$##D%00(D)) 	" zH  a&  r   c                                           d          }|s|S  fdt          |          D             }d|dg} j                            | j                  }||z   S )Nr   c                 J    g | ]\  }}t          j        ||d z              S )r   )r9   r   ).0r3   r2   mdr   s      r   
<listcomp>z%md_footnotes_hook.<locals>.<listcomp>J   sA       Aq 	BHaQ66  r   )r    r$   )r   	enumerater   renderr   )r=   resultr   r   r$   tokensoutputs   ` `    r   md_footnotes_hookrD   E   s    		+&&I     i((  H #99:FX__VRY66FF?r   c                     d| |dS )Nr   )r    r   r    )r   r   s     r   render_ast_footnote_refrG   S   s    "3???r   c                     d| ||dS )Nr#   )r    r$   r   r   rF   )r$   r   r   s      r   render_ast_footnote_itemrI   W   s    	  r   c                 R    t          |          }d|z   dz   }|dz   |z   dz   |z   dz   S )Nz$<sup class="footnote-ref" id="fnref-">z<a href="#fn-z
</a></sup>)r,   )r   r   r3   htmls       r   render_html_footnote_refrM   `   s;    E

A1A5<D/!A%,q0<??r   c                     d| z   dz   S )Nz!<section class="footnotes">
<ol>
z</ol>
</section>
rF   )r
   s    r   render_html_footnotesrO   f   s    -
		r   c                     t          |          }d|z   dz   }|                                 } |                     d          r| d d         |z   dz   } n| |z   } d|z   dz   | z   dz   S )Nz<a href="#fnref-z" class="footnote">&#8617;</a>z</p>z<li id="fn-rK   z</li>
)r,   rstripendswith)r
   r   r   r3   backs        r   render_html_footnote_itemrU   n   sz    E

A!$DDD;;==D}}V CRCy4&(d{1t#d*Y66r   c                    | j                             dt          t                     | j         j                            d          }|dk    r!| j         j                            |d           n| j         j                            d           | j                            dt          t                     | j        j                            d          }|dk    r!| j        j                            |d           n| j        j                            d           | j        j        dk    ra| j                            dt                     | j                            dt                     | j                            d	t                      nP| j        j        d
k    r@| j                            dt"                     | j                            dt$                     | j                            t(                     d S )Nfootnotestd_linkdef_footnotedef_linkrL   r   r#   r   ast)r   register_ruleINLINE_FOOTNOTE_PATTERNr   rulesr   insertr   r   DEF_FOOTNOTEr   rendererNAMEregisterrM   rU   rO   rG   rI   after_render_hooksrD   )r=   r   s     r   r   r   z   s   I  
 IO!!*--E{ +
	uj1111
	z***H><9KLLLHN  ,,E{ .
e^4444
n---	{6! H
^-EFFF
_.GHHH
[*?@@@@		U	" H
^-DEEE
_.FGGG  !233333r   )r*   inline_parserr   utilr   __all__r^   r+   ra   r   r   r9   rD   rG   rI   rM   rO   rU   r   rF   r   r   <module>ri      s   				 & & & & & &      

 #Z/&8 
 rzz! %	 	 
& 
& 
&1 1 1  6  @ @ @  @ @ @  	7 	7 	74 4 4 4 4r   