
    c                         d Z ddlmZ ddlmZmZ ddlZ G d de          Z G d	 d
e          Z G d de          Z	d Z
dS )a  
Sane List Extension for Python-Markdown
=======================================

Modify the behavior of Lists in Python-Markdown to act in a sane manor.

See <https://Python-Markdown.github.io/extensions/sane_lists>
for documentation.

Original code Copyright 2011 [Waylan Limberg](http://achinghead.com)

All changes Copyright 2011-2014 The Python Markdown Project

License: [BSD](https://opensource.org/licenses/bsd-license.php)

   )	Extension   )OListProcessorUListProcessor    Nc                   (     e Zd ZdgZdZ fdZ xZS )SaneOListProcessorolFc                     t                                          |           t          j        d| j        dz
  z            | _        d S )Nz^[ ]{0,%d}((\d+\.))[ ]+(.*)r   super__init__recompile
tab_lengthCHILD_REselfparser	__class__s     >lib/python3.11/site-packages/markdown/extensions/sane_lists.pyr   zSaneOListProcessor.__init__   D       
#A$(Oa$7$9 : :    )__name__
__module____qualname__SIBLING_TAGSLAZY_OLr   __classcell__r   s   @r   r	   r	      sD        6LG: : : : : : : : :r   r	   c                   $     e Zd ZdgZ fdZ xZS )SaneUListProcessorulc                     t                                          |           t          j        d| j        dz
  z            | _        d S )Nz^[ ]{0,%d}(([*+-]))[ ]+(.*)r   r   r   s     r   r   zSaneUListProcessor.__init__&   r   r   )r   r   r   r   r   r   r    s   @r   r"   r"   "   s?        6L: : : : : : : : :r   r"   c                       e Zd ZdZd ZdS )SaneListExtensionz Add sane lists to Markdown. c                     |j         j                            t          |j                   dd           |j         j                            t	          |j                   dd           dS )z Override existing Processors. olist(   ulist   N)r   blockprocessorsregisterr	   r"   )r   mds     r   extendMarkdownz SaneListExtension.extendMarkdown/   sZ    
	!**+=bi+H+H'SUVVV
	!**+=bi+H+H'SUVVVVVr   N)r   r   r   __doc__r/    r   r   r&   r&   ,   s.        ''W W W W Wr   r&   c                      t          di | S )Nr1   )r&   )kwargss    r   makeExtensionr4   5   s    &&v&&&r   )r0    r   r,   r   r   r   r	   r"   r&   r4   r1   r   r   <module>r6      s    "       < < < < < < < < 				: : : : : : : :: : : : : : : :W W W W W	 W W W' ' ' ' 'r   