ó
    Âu„jÑ  ã                  ó4  • S SK Jr  S SKJrJr  S SKJr  S SKrS SKJ	r	  S SK
Jr  S SKJr  S SKJr  \	(       a  S S	KJr  S S
KJr  S SKJrJr  SS jrSS jrSS jrSrSr\ V s1 s H  o S    iM	     sn r\" S \ 5       5      rSS jrSS jr SSS jjr!gs  sn f )é    )Úannotations)ÚCallableÚSequence)ÚsuppressN)ÚTYPE_CHECKING)Ú
MarkdownIt)Ú
StateBlock)Úis_code_block)ÚRendererProtocol)ÚToken)ÚEnvTypeÚOptionsDictc                ó  • [         R                  " S5      nUR                  U 5      nU(       aG  US   R                  5       R	                  S5      nU Vs/ s H  oDR                  5       PM     snUS   4$ [        S5      es  snf )z8Check for multiple tags when the title is double quoted.z+^\s*(?P<tokens>[^"]+)\s+"(?P<title>.*)"\S*$ÚtokensÚ ÚtitlezNo match found for parameters)ÚreÚcompileÚmatchÚstripÚsplitÚlowerÚ
ValueError)ÚparamsÚre_tagsr   ÚtagsÚtags        Ú©C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\mdit_py_plugins/admon/index.pyÚ_get_multiple_tagsr      sr   € ä�jŠjÐGÓH€GØ�M‰M˜&Ó!€EÞØ�X‰×$Ñ$Ó&×,Ñ,¨SÓ1ˆÙ'+Ó,¢t —	‘	–¡tÑ,¨e°G©nÐ<Ð<Ü
Ð4Ó
5Ð5ùò -s   ÁBc                óT  • U R                  5       nU(       d  S/S4$ [        [        5         [        U5      sSSS5        $ ! , (       d  f       O= fUR	                  S5      tp#SR                  U5      nSnU(       d  UR                  5       nOUS:w  a  UnUR                  5       /U4$ )z0Separate the tag name from the admonition title.Ú Nr   z"")r   r   r   r   r   Újoinr   r   )Ú_paramsr   r   Ú_titleÚjoinedr   s         r   Ú_get_tagr&      s‰   € à�]‰]‹_€FÞØˆt�Rˆxˆä	”*Õ	Ü! &Ó)÷ 
×	×	úð —<‘< Ó$€L€CØ�X‰X�fÓ€Fà€EÞØ—	‘	“‰Ø	�4‹ØˆØ�I‰I‹Kˆ=˜%ÐÐs   ¬AÁ
Ac                óp   • U R                  5       R                  SS5      S   =(       d    Sn[        U5      $ )z7Validate the presence of the tag name after the marker.r   é   éÿÿÿÿr!   )r   r   Úbool)r   r   s     r   Ú	_validater+   3   s.   € à
�,‰,‹.×
Ñ
˜s AÓ
& rÑ
*×
0¨b€CÜ�‹9Ðó    é   )z!!!z???z???+c              #  ó8   #   • U  H  n[        U5      v •  M     g 7f©N)Úlen)Ú.0Ú_ms     r   Ú	<genexpr>r3   <   s   é € Ð/¢w ”S˜—W�W¢wùs   ‚c                ój   • U R                  S5      (       a  U R                  S5      (       a  S/$ S/$ / $ )z:Return the list of additional classes based on the markup.Ú?Ú+zis-collapsible collapsible-openz!is-collapsible collapsible-closed)Ú
startswithÚendswith)Úmarkups    r   Ú_extra_classesr:   ?   s9   € à×Ñ˜×ÑØ�?‰?˜3×ÑØ5Ð6Ð6Ø3Ð4Ð4Ø€Ir,   c                óx  • [        X5      (       a  gU R                  U   U R                  U   -   nU R                  U   nU R                  U   [
        ;  a  gSn[        nUS:”  a,  XG-   nU R                  XH n	U	[        ;   a  U	nOUS-  nUS:”  a  M,  gU R                  X… n
[        U
5      (       d  gU(       a  gU R                  nU R                  nU R                  nUnXå:  a2  U R                  U   S:X  a  US-  nXå:  a  U R                  U   S:X  a  M  SU l	        [        [        U5      -
  nU =R                  Xä-
  U-   -  sl        SnUn US-  nUU:¼  a  O�U R                  U   U R                  U   -   nU R                  U   nU R                  U   U R                  :  nU(       a  U(       a  O(UnUU:  a  U R                  U   U R                  :  a  OM�  UU l
        [        U
5      u  nnUS   nU R!                  SS	S5      nU	Ul        SUl        S
SR'                  S/UQ[)        U	5      Q5      0Ul        SU0Ul        UUl        U
Ul        UU/Ul        U(       at  U	 SU 3nU R!                  SSS5      nUUl        S
S0Ul        XS-   /Ul        U R!                  SSS5      nUUl        XS-   /Ul        / Ul        U R!                  SSS5      nU R6                  R$                  R9                  XS-   U5        U R!                  SS	S5      nU	Ul        SUl        X°l	        XÀl
        XÐl        UU l        g)NFr!   r   r(   Tr   Ú
admonitionÚadmonition_openÚdivÚclassr   Úadmonition_title_openÚpzadmonition-titleÚinlineÚadmonition_title_closer)   Úadmonition_close)r
   ÚbMarksÚtShiftÚeMarksÚsrcÚMARKER_CHARSÚMAX_MARKER_LENÚMARKERSr+   Ú
parentTypeÚlineMaxÚ	blkIndentÚ
MARKER_LENr0   ÚsCountr&   Úpushr9   Úblockr"   r:   ÚattrsÚmetaÚcontentÚinfoÚmapÚchildrenÚmdÚtokenizeÚline)ÚstateÚ	startLineÚendLineÚsilentÚstartÚmaximumÚmarkerÚ
marker_lenÚ
marker_posr9   r   Ú
old_parentÚold_line_maxÚ
old_indentÚ	blk_startÚmarker_alignment_correctionÚ	was_emptyÚ	next_lineÚposÚis_emptyr   r   r   ÚtokenÚtitle_markups                            r   r<   r<   H   sT  € Ü�U×&Ñ&Øà�L‰L˜Ñ# e§l¡l°9Ñ&=Ñ=€EØ�l‰l˜9Ñ%€Gð ‡y�y�Ñœ|Ó+Øð €FÜ€JØ
�q‹.ØÑ'ˆ
Ø—‘˜5Ð,ˆØ”WÓØˆFØØ�a‰ˆ
ð �q�.ð à�Y‰Y�zÐ*€Fä�V×ÑØö Øà×!Ñ!€JØ—=‘=€LØ—‘€Jà€IØ
Ó
 %§)¡)¨IÑ"6¸#Ó"=Ø�Q‰ˆ	ð Ó
 %§)¡)¨IÑ"6¸#Õ"=ð $€EÔä",¬s°6«{Ñ":ÐØ	‡O‚O�yÑ(Ð+FÑFÑF…Oà€Ið €IØ
Ø�Q‰ˆ	Ø˜Óð Ø�l‰l˜9Ñ%¨¯©°YÑ(?Ñ?ˆØ—,‘,˜yÑ)ˆØ—<‘< 	Ñ*¨U¯_©_Ñ<ˆö ž	ØØˆ	à�‹=˜UŸ\™\¨)Ñ4°u·±ÓFð ñ' ð, €E„Mä˜6Ó"�K€Dˆ%Ø
ˆq‰'€Cà�J‰JÐ(¨%°Ó3€EØ€E„LØ€E„KØ˜CŸH™H lÐ%S°TÐ%S¼NÈ6Ó<RÐ%SÓTÐU€E„KØ˜�€E„JØ€E„MØ€E„JØ˜IÐ&€E„IæØ ˜  3 %Ð(ˆØ—
‘
Ð2°C¸Ó;ˆØ#ˆŒØÐ 2Ð3ˆŒØ¨A¡Ð.ˆŒ	à—
‘
˜8 R¨Ó+ˆØˆŒØ¨A¡Ð.ˆŒ	ØˆŒà—
‘
Ð3°S¸"Ó=ˆà	‡H�H‡N�N×Ñ˜E¨q¡=°)Ô<à�J‰JÐ)¨5°"Ó5€EØ€E„LØ€E„Kà!ÔØ „MØ „OØ€E„Jàr,   c                ó,  •             SS jnU=(       d    UnU R                  SU5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  R                  R                  SS[        S/ S	Q05        g
)a»  Plugin to use
`python-markdown style admonitions
<https://python-markdown.github.io/extensions/admonition>`_.

.. code-block:: md

    !!! note
        *content*

`And mkdocs-style collapsible blocks
<https://squidfunk.github.io/mkdocs-material/reference/admonitions/#collapsible-blocks>`_.

.. code-block:: md

    ???+ note
        *content*

Note, this is ported from
`markdown-it-admon
<https://github.com/commenthol/markdown-it-admon>`_.
c                ó&   • U R                  XX45      $ r/   )ÚrenderToken)Úselfr   ÚidxÚ_optionsÚenvs        r   ÚrenderDefaultÚ#admon_plugin.<locals>.renderDefaultÑ   s   € ð ×Ñ ¨XÓ;Ð;r,   r=   rD   r@   rC   Úfencer<   Úalt)Ú	paragraphÚ	referenceÚ
blockquoteÚlistN)rs   r   r   zSequence[Token]rt   Úintru   r   rv   r   ÚreturnÚstr)Úadd_render_rulerR   ÚrulerÚbeforer<   )rY   Úrenderrw   s      r   Úadmon_pluginr†   º   s·   € ð.<Øð<àð<ð ð<ð ð	<ð
 ð<ð 
ô<ð ×$�}€Fà×ÑÐ(¨&Ô1Ø×ÑÐ)¨6Ô2Ø×ÑÐ.°Ô7Ø×ÑÐ/°Ô8à‡H�H‡N�N×ÑØØÜØ	Ò@ÐAõ	r,   )r   r�   r€   útuple[list[str], str])r#   r�   r€   r‡   )r   r�   r€   r*   )r9   r�   r€   z	list[str])
r\   r	   r]   r   r^   r   r_   r*   r€   r*   r/   )rY   r   r…   zNone | Callable[..., str]r€   ÚNone)"Ú
__future__r   Úcollections.abcr   r   Ú
contextlibr   r   Útypingr   Úmarkdown_itr   Úmarkdown_it.rules_blockr	   Úmdit_py_plugins.utilsr
   Úmarkdown_it.rendererr   Úmarkdown_it.tokenr   Úmarkdown_it.utilsr   r   r   r&   r+   rO   rK   rI   ÚmaxrJ   r:   r<   r†   )r2   s   0r   Ú<module>r”      sƒ   ðõ #ç .Ý Û 	Ý  å "Ý .å /æÝ5Ý'ß6ô6ô ô(ð €
Ø
 €Ù 'Ó(¢˜"�1”¡Ñ(€ÙÑ/¡wÓ/Ó/€ôôo÷d,ùò )s   Á#B