§
    ŒŸjã  ã                  óÎ   — d Z ddlmZ ddlZddl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„Zd/d„Zd0d„Zd1d!„Zd2d#„Zd3d&„Zd4d)„Zd5d-„ZdS )6z8because list is complex, split list parser in a new fileé    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚIterableÚOptionalÚ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Úblockú'BlockParser'Úmú
Match[str]Ústateú'BlockState'ÚreturnÚintc                óÌ  — |                      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   r   Ú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                 ú`/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/mistune/list_parser.pyÚ
parse_listr?      s  € à�7Š7�8ÑÔ€DØ�:Š:‰<Œ<ð ð ×(Ò(Ñ*Ô*ˆØð 	ØˆNà�WŠW�XÑÔ€FÝ�&‰kŒk˜AŠo€GØ�KŠK‰MŒM€EàØØØ˜”*àØð
ð 
ð	ð 	€Eð ð ,Ý�F˜3˜B˜3”KÑ Ô ˆØ�AŠ:ˆ:ð ×,Ò,Ñ.Ô.ˆGØð Ø�Ø&+ˆE�'ŒN˜7Ñ#à—5’5‘7”7˜Q‘;€E„LØ./¯gªg°hÑ.?Ô.?ÀÈÐ-N€Fà�Ô&¨Ñ*Ò*Ð*Ý�UÔ%Ñ&Ô&ˆØ�Š�VÑÔÐÐàÔ ˆå˜f RœjÑ)Ô)€FØ
ð NÝ! %¨°¸ÀÀuÑMÔMˆð ð Nð �iŠi˜
 DÑ)Ô)€GÝ˜%Ñ Ô Ð Øð Ø—	’	˜,Ñ'Ô'ˆØŒ×Ò˜E 5Ñ)Ô)Ð)Øˆà	×Ò�uÑÔÐØŒ<Ðó    r:   údict[str, Any]ÚNonec                ó    — | 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   )r3   )r:   Ú	list_itemÚtoks      r>   r3   r3   O   s‡   € ØˆW„~ð /à˜zÔ*ð 	/ð 	/ˆIØ  Ô,ð /ð /�Ø�v”; +Ò-Ð-Ø".�C˜‘K�KØ˜”[ FÒ*Ð*Ý)¨#Ñ.Ô.Ð.øð	/ð/ð /ð	/ð 	/r@   r!   Ústrr;   útuple[str, str, str]r<   ú	list[str]útuple[str, str, str] | Nonec                óŒ  ‡ ‡— |\  }}}t          |¦  «        t          |¦  «        z   }	t          ||	¦  «        \  }}
t          ||	¦  «        }g d¢}d‰ j        v r|                     dd¦  «         ˆ fd„|D ¦   «         }|	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   Úfenced_directiver	   c                ó.   •— g | ]}|‰j         |         f‘ŒS © )Úspecification)Ú.0Únamer   s     €r>   ú
<listcomp>z$_parse_list_item.<locals>.<listcomp>r   s&   ø€ ÐLÐLÐL°4ˆd�EÔ'¨Ô-Ð.ÐLÐLÐLr@   é   c                óH   •— g | ]\  }}||                      d ‰d¦  «        f‘ŒS )Ú3r	   )Úreplace)rV   ÚnÚpÚ_repl_ws      €r>   rX   z$_parse_list_item.<locals>.<listcomp>u   s2   ø€ ÐCÐCÐC±T°Q¸�!�Q—Y’Y˜s G¨QÑ/Ô/Ð0ÐCÐCÐCr@   rF   ú|c              3  ó    K  — | ]	}d |z  V — Œ
dS )z(?P<%s>(?<=\n)%s)NrT   )rV   Úpairs     r>   ú	<genexpr>z#_parse_list_item.<locals>.<genexpr>x   s(   è è € ÐCÐC°TÐ)¨DÑ0ÐCÐCÐCÐCÐCÐCr@   Ú Fú ú
Tr    Ú
listitem_1Ú
listitem_2Ú
listitem_3r   r&   r%   r   )r   r   )r*   Ú_compile_continue_widthÚ_compile_list_item_patternrU   r5   rH   ÚjoinÚreÚcompileÚMr,   Ú
cursor_maxÚfind_line_endÚget_textÚ
BLANK_LINEÚmatchr
   Ú
startswithr(   ÚsrcÚ	lastgroupr'   r+   r4   Úparse_methodÚ_clean_list_item_textÚchild_stater   ÚparseÚ_is_loose_listÚappend)r   r!   r;   r:   r   r<   Úspacesr9   r7   Úleading_widthÚcontinue_widthÚitem_patternÚlist_item_breaksÚpairsÚregexÚscrv   Ú
next_groupÚprev_blank_lineÚposÚcontinue_spaceÚliner   Útok_typeÚ	tok_indexr8   Úchildr_   s   `                          @r>   r1   r1   Z   sÀ  øø€ ð "Ñ€FˆF�Då˜‘K”K¥# f¡+¤+Ñ-€MÝ2°4¸ÑGÔGÑ€Dˆ.Ý-¨f°mÑDÔD€Lðð ð Ðð ˜UÔ0Ð0Ð0Ø×Ò Ð#5Ñ6Ô6Ð6àLÐLÐLÐLÐ;KÐLÑLÔL€EØ�qÒÐÝ�mÑ$Ô$ˆØCÐCÐCÐC¸UÐCÑCÔCˆà	‡L‚L��[ ,Ð/Ñ0Ô0Ð0Ø�HŠHÐCÐC¸UÐCÑCÔCÑCÔC€EÝ	Œ�E�2œ4Ñ	 Ô	 €Bà
€CØ€JØ€OØ
Œ,€Cà˜>Ñ)€NØ
�Ô Ò
 Ñ
 Ø×!Ò!Ñ#Ô#ˆØ�~Š~˜cÑ"Ô"ˆØÔ×!Ò! $Ñ'Ô'ð 	Ø�4‰KˆCØ"ˆOØˆEŒLØå! $Ñ'Ô'ˆØ�?Š?˜>Ñ*Ô*ð 		Øð  tð °C·I²I±K´Kð ñ à�4‰KˆCØ#ˆOØˆEŒLØà�HŠH�U”Y ¤Ñ-Ô-ˆØð 	Ø”{ˆHØ˜;Ò&Ð&Ø"ð +Ø%*�E˜'‘NØŸgšg lÑ3Ô3°Q·W²W¸\Ñ5JÔ5JÈAÏGÊGÐT`ÑLaÔLaÐb�
Ø Ÿušu™wœw¨™{�”Øà˜6Ò!Ð!Øå˜EœLÑ)Ô)ˆIØ×(Ò(¨¨EÑ2Ô2ˆGØð Ø&/��lÑ#Ø$+��jÑ!Øàð 	 4§?¢?°>Ñ#BÔ#Bð 	ààˆt‰ˆØˆŒð] �Ô Ò
 Ñ
 ð` 	Õ! # ~Ñ6Ô6Ñ6€DØ×Ò�i¨™oœoÑ.Ô.€Eà	‡K‚K��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\+ú-rT   )rŽ   r!   s     r>   r0   r0   Å   sL   € ØˆC‚x€xØˆˆØ	
ˆcŠˆØˆˆØ	
ˆcŠˆØˆˆØ	
ˆcŠˆØˆˆàˆØ€Mr@   r   c                óH   — |dk    rd}dt          |¦  «        z   dz   | z   dz   S )NrY   z^(?P<listitem_1> {0,z})(?P<listitem_2>z$)(?P<listitem_3>[ \t]*|[ \t][^\n]+)$)rH   )r!   r   s     r>   rk   rk   Ó   sC   € Ø�qÒÐØˆà¥# mÑ"4Ô"4Ñ4ð 8ñ 	Ø#ñ	$ð'/ñ	/ðr@   r7   útuple[str, int]c                ó"  — t          | d¦  «        } t          | ¦  «        } t                               | ¦  «        }|rH|                      d¦  «        rd}n"t          |                     d¦  «        ¦  «        }| |d …         dz   } nd}d} ||z   }| |fS )NrY   z     r	   rf   rd   )r
   r   Ú_LINE_HAS_TEXTrt   ru   r*   r'   )r7   r   Úm2Úspace_widthr€   s        r>   rj   rj   Ý   sŸ   € Ý˜d AÑ&Ô&€DÝ�dÑÔ€Då	×	Ò	˜dÑ	#Ô	#€BØ	ð 
à�?Š?˜7Ñ#Ô#ð 	+ØˆKˆKå˜bŸhšh q™kœkÑ*Ô*ˆKà�K�L�LÔ! DÑ(ˆˆàˆØˆà" [Ñ0€NØ�ÐÐr@   rv   r€   c                ó:  — g }d|z  }|                       d¦  «        }|D ]h}|                     |¦  «        r<|                     |dd¦  «        }t          |¦  «        }|                     |¦  «         ŒS|                     |¦  «         Œid                     |¦  «        S )Nre   rf   rd   r	   )Úsplitru   r\   r   r}   rl   )rv   r€   ÚrvÚ
trim_spaceÚlinesrŠ   s         r>   ry   ry   ò   s™   € à	€BØ�~Ñ%€JØ�IŠI�d‰OŒO€EØð ð ˆØ�?Š?˜:Ñ&Ô&ð 	Ø—<’< 
¨B°Ñ2Ô2ˆDõ ˜dÑ#Ô#ˆDØ�IŠI�d‰OŒOˆOˆOà�IŠI�d‰OŒOˆOˆOà�9Š9�R‰=Œ=Ðr@   r4   úIterable[dict[str, Any]]Úboolc                ó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_lineTrD   r	   FrT   )r4   Úparagraph_countrG   s      r>   r|   r|     s]   € Ø€OØð ð ˆØˆvŒ;˜,Ò&Ð&Ø�4�4ØˆvŒ;˜+Ò%Ð%Ø˜qÑ ˆOØ Ò"Ð"Ø�t�tøØˆ5r@   )r   r   r   r   r   r   r   r   )r:   rA   r   rB   )r   r   r!   rH   r;   rI   r:   rA   r   r   r<   rJ   r   rK   )rŽ   rH   r   rH   )r!   rH   r   r   r   rH   )r7   rH   r   r   r   r–   )rv   rH   r€   r   r   rH   )r4   r    r   r¡   )Ú__doc__Ú
__future__r   rm   Útypingr   r   r   r   r   Úutilr
   r   r   Úblock_parserr   Úcorer   ÚLIST_PATTERNrn   r˜   r?   r3   r1   r0   rk   rj   ry   r|   rT   r@   r>   ú<module>r¬      sg  ðØ >Ð >à "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;àð !Ø)Ð)Ð)Ð)Ð)Ð)Ø Ð Ð Ð Ð Ð ð#ð ð �”˜JÑ'Ô'€ð6ð 6ð 6ð 6ðr/ð /ð /ð /ðhð hð hð hðVð ð ð ðð ð ð ð ð  ð  ð  ð*ð ð ð ð$	ð 	ð 	ð 	ð 	ð 	r@   