
    Mh                        d Z ddlZddlmZmZmZmZmZmZm	Z	m
Z
 ddlmZmZmZ erddlmZ ddlmZ dZ ej        d	          Zd
dde
e         dddefdZdeeef         ddfdZd
ddede	eeef         deeef         dddee         dee	eeef                  fdZdedefdZdededefdZdedede	eef         fdZdededefdZd eeeef                  defd!Z dS )"z8because list is complex, split list parser in a new file    N)TYPE_CHECKINGAnyDictIterableListOptionalTupleMatch   )expand_leading_tab
expand_tab	strip_end)BlockParser)
BlockStatezM^(?P<list_1> {0,3})(?P<list_2>[\*\+-]|\d{1,9}[.)])(?P<list_3>[ \t]*|[ \t].+)$z(\s*)\Sblockr   mstater   returnc                    |                     d          }|                                s|                                }|r|S |                     d          }t          |          dk    }|                                }dg d|d         ||dd}|r@t          |d	d                   }	|	dk    r#|                                }|r|S |	|d
         d<   |                                dz   |_        |                     d          ||f}
|| j        dz
  k    r*t          | j
                  }|                    d           n| j
        }t          |d                   }|
rt          | ||
|||          }
|
|                    dd	          }t          |           |r2|                    d          }|j                            ||           |S |                    |           |j        S )z,Parse tokens for ordered and unordered list.list_3list_2r   listT)depthordered)typechildrentightbulletattrsNr    startlist_1_end_pos
_tok_index)groupstripappend_paragraphlenr   intendcursormax_nested_levelr   
list_rulesremove_get_list_bullet_parse_list_itempop_transform_tight_listtokensinsertappend_token)r   r   r   textend_posmarkerr   r   tokenr!   groupsrulesr   indexs                 S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mistune/list_parser.py
parse_listr>      s   778D::<<  ((** 	NWWXF&kkAoGKKMME*
 
	 	E  ,F3B3K  A:: ,,..G &+E'N7#5577Q;EL./ggh.?.?-NF&***U%&&V fRj))F
 N!%uMM  N ii
D))G%    		,''E5)))	u<    r9   c                     | d         rC| d         D ]<}|d         D ]/}|d         dk    rd|d<   |d         dk    rt          |           0;d S d S )Nr   r   r   	paragraph
block_textr   )r2   )r9   	list_itemtoks      r=   r2   r2   M   s    W~ /z* 	/ 	/I , / /v;+--".CKK[F**)#...	// /	/ 	/r?   r   r:   r;   c                    |\  }}}t          |          t          |          z   }	t          ||	          \  }}
t          ||	          }d| j        d         fd| j        d         fd| j        d         fd| j        d         fd| j        d         fd| j        d         fg}|	dk     rt	          |	          fd|D             }|                    d	d
|f           d                    d |D                       }t          j        |t          j	                  }d}d }d}|j
        }d|
z  }||j        k     r|                                }|                    |          }| j                            |          r|dz  }d}||_
        ^t!          |          }|                    |          r)|r|s|                                sn||z  }d}||_
        |                    |j        |j
                  }|r|j        }|d
k    rb|rd|d<   |                    d          |                    d          |                    d          f}|                                d	z   |_
        nn|dk    rngt          |j                  }|                     ||          }|r||d<   ||d<   n0|r|                    |          sn||z  }||_
        ||j        k     |t3          ||
          z  }|                    t7          |                    }|                     ||           |d         rt;          |j                  rd|d<   |d                             d
|j        d           |r|S d S )Nthematic_breakfenced_codeatx_headingblock_quote
block_htmlr      c                 H    g | ]\  }}||                     d d          fS )3r   )replace).0np_repl_ws      r=   
<listcomp>z$_parse_list_item.<locals>.<listcomp>o   s2    CCCTQ!QYYsGQ//0CCCr?   r   rC   |c              3       K   | ]	}d |z  V  
dS )z(?P<%s>(?<=\n)%s)N )rO   pairs     r=   	<genexpr>z#_parse_list_item.<locals>.<genexpr>r   s(      CCT)D0CCCCCCr?    F 
Tr   
listitem_1
listitem_2
listitem_3r$   r#   r   )r   r   )r(   _compile_continue_width_compile_list_item_patternspecificationstrr4   joinrecompileMr+   
cursor_maxfind_line_endget_text
BLANK_LINEmatchr   
startswithr&   src	lastgroupr%   r*   r3   parse_method_clean_list_item_textchild_stater   parse_is_loose_listappend)r   r   r:   r9   r   r;   spacesr8   r6   leading_widthcontinue_widthitem_patternpairsregexscrm   
next_groupprev_blank_lineposcontinue_spaceliner   tok_type	tok_indexr7   childrR   s                             @r=   r0   r0   X   s    "FFDKK#f++-M24GGD.-fmDDL	5./?@A	+M:;	+M:;	+M:;	u*<89	$V,-E qm$$CCCCUCCC	LL[,/000HHCCUCCCCCE	E24	 	 B
CJO
,C>)N
 
 
 !!##~~c""!!$'' 	4KC"OEL!$''??>** 		 t CIIKK  4KC#OELHHUY-- 	{H;&&" +%*E'Nggl33QWW\5J5JAGGT`LaLab
 uuww{6!!EL))I((E22G &/l#$+j! 	4??>#B#B 	t]  
 
 ` 	!#~666Dioo..E	KKuW~ .66 g	*	
 	
    4r?   cc                 R    | dk    rd}n| dk    rd}n| dk    rd}n| dk    rd}nd	}|S )
N.z	\d{0,9}\.)z	\d{0,9}\)*z\*+z\+-rV   )r   r   s     r=   r/   r/      sL    Cxx	
c	
c	
cMr?   rv   c                 H    |dk    rd}dt          |          z   dz   | z   dz   S )NrK   z^(?P<listitem_1> {0,z})(?P<listitem_2>z$)(?P<listitem_3>[ \t]*|[ \t][^\n]+)$)rb   )r   rv   s     r=   r`   r`      sC    q#m"4"44 8 	#	$'/	/r?   r6   c                 "   t          | d          } t          |           } t                              |           }|rH|                     d          rd}n"t          |                    d                    }| |d          dz   } nd}d} ||z   }| |fS )NrK   z     r   r[   rY   )r   r   _LINE_HAS_TEXTrk   rl   r(   r%   )r6   rv   m2space_widthrw   s        r=   r_   r_      s    dA&&DdD			d	#	#B	 
??7## 	+KKbhhqkk**KKLL!D("[0Nr?   rm   rw   c                 :   g }d|z  }|                      d          }|D ]h}|                    |          r<|                    |dd          }t          |          }|                    |           S|                    |           id                    |          S )NrZ   r[   rY   r   )splitrl   rN   r   rt   rc   )rm   rw   rv
trim_spacelinesr   s         r=   rp   rp      s    	B~%JIIdOOE  ??:&& 	<<
B22D d##DIIdOOOOIIdOOOO99R==r?   r3   c                 f    d}| D ]+}|d         dk    r dS |d         dk    r|dz  }|dk    r dS ,dS )Nr   r   
blank_lineTrA   r   FrV   )r3   paragraph_countrD   s      r=   rs   rs      s]    O  v;,&&44v;+%%q O""tt5r?   )!__doc__rd   typingr   r   r   r   r   r   r	   r
   utilr   r   r   block_parserr   corer   LIST_PATTERNre   r   rb   r)   r>   r2   r0   r/   r`   r_   rp   boolrs   rV   r?   r=   <module>r      s}   > > 				 S S S S S S S S S S S S S S S S S S S S ; ; ; ; ; ; ; ; ; ; !))))))      #  J''6m 6c
 6< 6C 6 6 6 6r/c3h /D / / / /ddd #sC- d S>	d
 d 9d eCcM"#d d d dN     s 3 3     #  c  eCHo        *s C C    $	8DcN3 	 	 	 	 	 	 	r?   