
    f                         d dl Z ddlmZ ddlmZmZmZ dZ e j                  d      Z	de j                  ded	efd
Zd Zd Zd Zd Zd Zd Zd Zy)    N   )
BlockState)	strip_end
expand_tabexpand_leading_tabzM^(?P<list_1> {0,3})(?P<list_2>[\*\+-]|\d{1,9}[.)])(?P<list_3>[ \t]*|[ \t].+)$z( *)\Smstatereturnc                 F   |j                  d      }|j                         s|j                         }|r|S |j                  d      }t        |      dkD  }|j	                         }dg d|d   ||dd}|r/t        |d	d       }	|	dk7  r|j                         }|r|S |	|d
   d<   |j                         dz   |_        |j                  d      ||f}
|| j                  dz
  k\  r't        | j                        }|j                  d       n| j                  }t        |d         }|
rt        | ||
|||      }
|
r|j                  dd	      }t        |       |r/|j                  d      }|j                   j#                  ||       |S |j%                  |       |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)blockr   r	   textend_posmarkerr   r   tokenr   groupsrulesr   indexs                 N/var/www/cvtools/html/venv/lib/python3.12/site-packages/mistune/list_parser.py
parse_listr5      s   778D::< ((*NWWXF&kAoGKKME*
	E F3BK A: ,,.G&+E'N7#557Q;ELggh.F&&**U%%&V  fRj)F
!%uM  ii
D)G% 		,'E5)	u<<    c                 |    | d   r7| d   D ].  }|d   D ]$  }|d   dk(  rd|d<   |d   dk(  st        |       & 0 y y )Nr   r   r   	paragraph
block_textr   )r(   )r0   	list_itemtoks      r4   r(   r(   L   s_    W~z* 	/I , /v;+-".CK[F*)#.	/	/ r6   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  r2t	        |	      }|D cg c]  \  }}||j                  d|d	      f }}}|j                  d	d
|f       dj                  d |D              }t        j                  |t        j                        }d}d }d}|j                  }d|
z  }||j                  k  r|j                         }|j                  |      }| j                  j!                  |      r|dz  }d}||_        [t#        |      }|j%                  |      r%|r|s|j'                         sn||z  }d}||_        |j!                  |j(                  |j                        }|r|j*                  }|d
k(  rR|rd|d<   |j-                  d      |j-                  d      |j-                  d      f}|j/                         d	z   |_        nk|dk(  rnet        |j0                        }| j3                  ||      }|r||d<   ||d<   n1|r|j%                  |      sn||z  }||_        ||j                  k  r|t5        ||
      z  }|j7                  t9        |            }| j;                  ||       |d   rt=        |j0                        rd|d<   |d   j?                  d
|j0                  d       |r|S y c c}}w )Nthematic_breakfenced_codeaxt_headingblock_quote
block_htmlr      3r   r:   |c              3   &   K   | ]	  }d |z    yw)z(?P<%s>(?<=\n)%s)N ).0pairs     r4   	<genexpr>z#_parse_list_item.<locals>.<genexpr>j   s     CT)D0Cs    F 
Tr   
listitem_1
listitem_2
listitem_3r   r   r   )r   r   ) r   _compile_continue_width_compile_list_item_patternspecificationstrreplacer*   joinrecompileMr!   
cursor_maxfind_line_endget_text
BLANK_LINEmatchr   
startswithr   src	lastgroupr   r    r)   parse_method_clean_list_item_textchild_stater   parse_is_loose_listappend)r,   r   r1   r0   r	   r2   spacesr/   r-   leading_widthcontinue_widthitem_patternpairs_repl_wnpregexscr_   
next_groupprev_blank_lineposcontinue_spaceliner   tok_type	tok_indexr.   childs                                r4   r&   r&   W   sb   !FFDK#f+-M24GD.-fmDL	5../?@A	++M:;	++M:;	++M:;	u**<89	$$V,-E qm$=BCTQ!QYYsGQ/0CC	LL[,/0HHCUCCE	E244	 B
CJO
,,C>)N
  
 !!#~~c"!!$'4KC"OEL!$'??>*tCIIK 4KC#OELHHUYY-{{H;&"%*E'NGGL)GGL)GGL)

  !uuw{6!ELL)I((E2G&/l#$+j!4??>#Bte   
 h 	!#~66Dio.E	KKuW~.6g	*LL   Y Ds   0Mc                 R    | dk(  rd}|S | dk(  rd}|S | dk(  rd}|S | dk(  rd}|S d	}|S )
N.z	\d{0,9}\.)z	\d{0,9}\)*z\*+z\+-rF   )cr   s     r4   r%   r%      s`    Cx M 
c M 
c
 M	 
c M Mr6   c                 >    |dkD  rd}dt        |      z   dz   | z   dz   S )NrB   z^(?P<listitem_1> {0,z})(?P<listitem_2>z$)(?P<listitem_3>[ \t]*|[ \t][^\n]+)$)rS   )r   rh   s     r4   rQ   rQ      s=    q#m"44 8 	#	$'/	/r6   c                     t        | d      } t        |       } t        j                  |       }|r7| j	                  d      rd}nt        |j                  d            }| |d  dz   } nd}d} ||z   }| |fS )NrB   z     r   rL   rJ   )r   r   _LINE_HAS_TEXTr]   r^   r   r   )r-   rh   m2space_widthri   s        r4   rP   rP      s~    dA&DdD			d	#B	??7#Kbhhqk*KKL!D("[0Nr6   c                    g }d|z  }| j                  d      }|D ]T  }|j                  |      r0|j                  |dd      }t        |      }|j	                  |       D|j	                  |       V dj                  |      S )NrK   rL   rJ   r   )splitr^   rT   r   rf   rU   )r_   ri   rv
trim_spacelinesru   s         r4   rb   rb      s}    	B~%JIIdOE ??:&<<
B2D d#DIIdOIIdO 99R=r6   c                 T    d}| D ]!  }|d   dk(  r y|d   dk(  s|dz  }|dkD  s! y y )Nr   r   
blank_lineTr8   r   rF   )r)   paragraph_countr;   s      r4   re   re      sF    O v;,&v;+%q O"r6   )rV   corer   utilr   r   r   LIST_PATTERNrW   r   Matchr   r5   r(   r&   r%   rQ   rP   rb   re   rF   r6   r4   <module>r      su    	  #  I&6 6* 6 6r/]@ *$r6   