
    ^h                        S r SSKrSSKJrJrJrJrJrJrJ	r	J
r
  SSKJrJrJr  \(       a  SSKJr  SSKJr  Sr\R(                  " S	5      rS
SS\
\   SSS\4S jrS\\\4   SS4S jrS
SS\S\	\\\4   S\\\4   SSS\\   S\\	\\\4      4S jrS\S\4S jrS\S\S\4S jrS\S\S\	\\4   4S jrS\S\S\4S jrS \\\\4      S\4S! jr g)"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                    UR                  S5      nUR                  5       (       d  UR                  5       nU(       a  U$ UR                  S5      n[        U5      S:  nUR	                  5       nS/ SUS   UUS.S.nU(       a4  [        US	S 5      n	U	S:w  a   UR                  5       nU(       a  U$ XS
   S'   UR                  5       S-   Ul        UR                  S5      XS4n
XpR                  S-
  :  a'  [        U R                  5      nUR                  S5        OU R                  n[        US   5      nU
(       a  [        XXX+5      n
U
(       a  M  UR                  SS	5      n[        U5        U(       a.  UR                  S5      nUR                   R#                  X5        U$ UR%                  U5        UR                  $ )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                 M/home/james-whalen/.local/lib/python3.13/site-packages/mistune/list_parser.py
parse_listr>      s   778D::<< ((*NWWXF&kAoGKKME*
	E F3BK A: ,,.G&+'N7#557Q;EL./ggh.?-NF&&**U%%&V  fRj)F
!%M & ii
D)G% 		,'E)	u<<    r9   c                     U S   (       a?  U S    H5  nUS    H)  nUS   S:X  a  SUS'   M  US   S:X  d  M  [        U5        M+     M7     g g )Nr   r   r   	paragraph
block_textr   )r2   )r9   	list_itemtoks      r=   r2   r2   M   sU    W~z*I ,v;+-".CK[F*)#.	 - + r?   r   r:   r;   c           
         Uu  pgn[        U5      [        U5      -   n	[        X5      u  p[        X5      n/ SQnSU R                  ;   a  UR	                  SS5        U Vs/ s H  oU R                  U   4PM     nnU	S:  a5  [        U	5      nU VVs/ s H  u  nnUUR                  SUS5      4PM     nnnUR	                  SSU45        SR                  S U 5       5      n[        R                  " U[        R                  5      nS	nS nS
nUR                  nSU
-  nUUR                  :  Ga  UR                  5       nUR                  U5      nU R                  R!                  U5      (       a  US-  nSnUUl        Mb  [#        U5      nUR%                  U5      (       a5  U(       a  U(       d  UR'                  5       (       d  GO#UU-  nS
nUUl        M  UR!                  UR(                  UR                  5      nU(       a  UR*                  nUS:X  aW  U(       a  S
US'   UR-                  S5      UR-                  S5      UR-                  S5      4nUR/                  5       S-   Ul        O}US:X  a  Ov[        UR0                  5      nU R3                  UU5      nU(       a  UUS'   UUS'   O=U(       a  UR%                  U5      (       d  OUU-  nUUl        UUR                  :  a  GM  U[5        UU
5      -  nUR7                  [9        U5      5      nU R;                  UU5        US   (       a  [=        UR0                  5      (       a  S
US'   US   R?                  SUR0                  S.5        U(       a  U$ g s  snf s  snnf )N)thematic_breakfenced_codeatx_headingblock_quote
block_htmlr   fenced_directiver      3rC   |c              3   ,   #    U  H
  nS U-  v   M     g7f)z(?P<%s>(?<=\n)%s)N ).0pairs     r=   	<genexpr>#_parse_list_item.<locals>.<genexpr>v   s     CUT)D0Us    F 
Tr   
listitem_1
listitem_2
listitem_3r   r$   r#   r   )r   r   ) r(   _compile_continue_width_compile_list_item_patternspecificationr4   strreplace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list_item_breaksnamepairs_repl_wnpregexscrj   
next_groupprev_blank_lineposcontinue_spaceliner   tok_type	tok_indexr7   childs                                  r=   r0   r0   X   s;    "FDK#f+-M24GD-fDL U000#56;KL;K4E''-.;KELqm$=BCUTQ!QYYsGQ/0UC	LL[,/0HHCUCCE	E244	 B
CJO
,,C>)N
  
 !!#~~c"!!$''4KC"OEL!$'??>**tCIIKK 4KC#OELHHUYY-{{H;&"%*E'Nggl3QWW\5JAGGT`Lab
 uuw{6!ELL)I((E2G&/l#$+j!4??>#B#Bt]   
 ` 	!#~66Dio.E	KKuW~.66g	*	
 a M Ds   M8"M=cc                 Z    U S:X  a  SnU$ U S:X  a  SnU$ U S:X  a  SnU$ U S:X  a  SnU$ S	nU$ )
N.z	\d{0,9}\.)z	\d{0,9}\)*z\*+z\+-rP   )r   r   s     r=   r/   r/      s`    Cx M 
c M 
c
 M	 
c M Mr?   rs   c                 @    US:  a  SnS[        U5      -   S-   U -   S-   $ )NrL   z^(?P<listitem_1> {0,z})(?P<listitem_2>z$)(?P<listitem_3>[ \t]*|[ \t][^\n]+)$)r^   )r   rs   s     r=   r\   r\      s=    q#m"44 8 	#	$'/	/r?   r6   c                     [        U S5      n [        U 5      n [        R                  U 5      nU(       a;  U R	                  S5      (       a  SnO[        UR                  S5      5      nXS  S-   n OSnSn X-   nX4$ )NrL   z     r   rW   rU   )r   r   _LINE_HAS_TEXTrh   ri   r(   r%   )r6   rs   m2space_widthrt   s        r=   r[   r[      s{    dA&DdD			d	#B	??7##Kbhhqk*KL!D("0Nr?   rj   rt   c                    / nSU-  nU R                  S5      nU H[  nUR                  U5      (       a1  UR                  USS5      n[        U5      nUR	                  U5        MJ  UR	                  U5        M]     SR                  U5      $ )NrV   rW   rU   r   )splitri   r_   r   rq   r`   )rj   rt   rv
trim_spacelinesr   s         r=   rm   rm      s{    	B~%JIIdOE??:&&<<
B2D d#DIIdOIIdO  99R=r?   r3   c                 `    SnU  H&  nUS   S:X  a    gUS   S:X  d  M  US-  nUS:  d  M&    g   g)Nr   r   
blank_lineTrA   r   FrP   )r3   paragraph_countrD   s      r=   rp   rp     sF    Ov;,&v;+%q O"  r?   )!__doc__ra   typingr   r   r   r   r   r   r	   r
   utilr   r   r   block_parserr   corer   LIST_PATTERNrb   r   r^   r)   r>   r2   r0   r/   r\   r[   rm   boolrp   rP   r?   r=   <module>r      s~   > 	 S S S ; ;) #  J'6m 6c
 6< 6C 6r/c3h /D /hhh #sC- h S>	h
 h 9h eCcM"#hV  s 3 3  #  c  eCHo  *s C C $	8DcN3 	 	r?   