ó
    Ð]js  ã                  ó  • % S r SSKJr  SSKJr  SSK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  SS
KJr  SSKJr  \(       a  SSKJr  \" 1 Sk5      rS\S'   \R0                  S%S j5       r\\\/\4   r S\
R8                  4S\
R:                  4S\
R<                  4S\
R>                  4S\
R@                  4S\
RB                  RD                  4S\
RF                  RD                  4S\
RH                  4S\
RJ                  4S\
RL                  4S\
RN                  4S\
RP                  4/r)S\S'   \\/S4   r*S\
RV                  4S\
RB                  RX                  4S\
RF                  RX                  4S \
RZ                  4/r.S!\S"'    " S# S$5      r/g)&zTokenizes paragraph content.é    )Úannotations)ÚCallableN)ÚTYPE_CHECKINGé   )Úrules_inline)ÚRuler)ÚStateInline)ÚToken)ÚEnvType)Ú
MarkdownIt>   Ú
Ú!Ú#Ú$Ú%Ú&Ú*Ú+Ú-Ú:Ú<Ú=Ú>Ú@Ú[Ú\Ú]Ú^Ú_Ú`Ú{Ú}Ú~zfrozenset[str]Ú_DEFAULT_TERMINATORSc                 óˆ   • [         R                  " S[         R                  " SR                  [        5      5      -   S-   5      $ )Nr   Ú r   )ÚreÚcompileÚescapeÚjoinr$   © ó    ÚV/home/mande/repo/quber/.venv/lib/python3.13/site-packages/markdown_it/parser_inline.pyÚ_default_terminator_rer.   8   s.   € ä�:Š:�cœBŸIšI b§g¡gÔ.BÓ&CÓDÑDÀsÑJÓKÐKr,   ÚtextÚlinkifyÚnewliner)   Ú	backticksÚstrikethroughÚemphasisÚlinkÚimageÚautolinkÚhtml_inlineÚentityz$list[tuple[str, RuleFuncInlineType]]Ú_rulesÚbalance_pairsÚfragments_joinz%list[tuple[str, RuleFuncInline2Type]]Ú_rules2c                  óZ   • \ rS rSrS	S jrS
S jrSS jrSS jr          SS jrSr	g)ÚParserInlineéb   c                óD  • [         [           " 5       U l        [         H   u  pU R                  R	                  X5        M"     [         [
           " 5       U l        [         H   u  pU R                  R	                  X5        M"     [        5       U l	        [        5       U l        g )N)r   ÚRuleFuncInlineTypeÚrulerr:   ÚpushÚRuleFuncInline2TypeÚruler2r=   ÚsetÚ_extra_terminator_charsr.   Úterminator_re)ÚselfÚnameÚruleÚrule2s       r-   Ú__init__ÚParserInline.__init__c   su   € ÜÔ-Ò.Ó0ˆŒ
ß ‰JˆDØ�J‰J�O‰O˜DÖ'ñ !ô Ô/Ò0Ó2ˆŒß"‰KˆDØ�K‰K×Ñ˜TÖ)ñ #ô
 25³ˆÔ$ä.DÓ.FˆÕr,   c           	     ó  • U[         ;  a�  XR                  ;  aq  U R                  R                  U5        [        R                  " S[        R
                  " SR                  [         U R                  -  5      5      -   S-   5      U l        ggg)a#  Register a character that stops the ``text`` rule, allowing inline rules to fire.

This lets plugins declare which characters their inline rules react to,
mirroring the ``MARKER`` mechanism in the Rust markdown-it implementation.

:param ch: A single character to add to the terminator set.
r   r&   r   N)r$   rH   Úaddr'   r(   r)   r*   rI   )rJ   Úchs     r-   Úadd_terminator_charÚ ParserInline.add_terminator_charr   s|   € ð Ô)Ó)¨b×8TÑ8TÓ.TØ×(Ñ(×,Ñ,¨RÔ0Ü!#§¢ØÜ—)’)Ø—G‘GÔ0°4×3OÑ3OÑOÓPóñð ñ	ó"ˆDÕð /UÐ)r,   c                óà  • SnUR                   nU R                  R                  S5      nUR                  R                  S   nUR
                  nX6;   a
  Xc   Ul         gUR                  U:  aF  U H?  nU=R                  S-  sl        U" US5      nU=R                  S-  sl        U(       d  M?    O   OUR                  Ul         U(       d  U=R                   S-  sl         UR                   Xc'   g)zgSkip single token by running all rules in validation mode;
returns `True` if any rule reported success
Fr&   Ú
maxNestingNr   T)ÚposrC   ÚgetRulesÚmdÚoptionsÚcacheÚlevelÚposMax)rJ   ÚstateÚokrW   ÚrulesrV   r[   rL   s           r-   Ú	skipTokenÚParserInline.skipToken„   sÄ   € ð ˆØ�i‰iˆØ—
‘
×#Ñ# BÓ'ˆØ—X‘X×%Ñ% lÑ3ˆ
Ø—‘ˆà‹<Ø™
ˆEŒIØà�;‰;˜Ó#Û�ð —’˜qÑ •Ù˜% Ó&�Ø—’˜qÑ •ß�2Ùò ð* Ÿ™ˆEŒIæØ�IŠI˜‰N�IØ—Y‘YˆŠ
r,   c                ó  • SnU R                   R                  S5      nUR                  nUR                  R                  S   nUR
                  U:  a˜  UR                  U:  a  U H  nU" US5      nU(       d  M    O   U(       a  UR
                  U:¼  a  OUMU  U=R                  UR                  UR
                     -  sl        U=R
                  S-  sl        UR
                  U:  a  M˜  UR                  (       a  UR                  5         gg)z Generate tokens for input range.Fr&   rV   r   N)
rC   rX   r]   rY   rZ   rW   r\   ÚpendingÚsrcÚpushPending)rJ   r^   r_   r`   ÚendrV   rL   s          r-   ÚtokenizeÚParserInline.tokenize®   sÕ   € àˆØ—
‘
×#Ñ# BÓ'ˆØ�l‰lˆØ—X‘X×%Ñ% lÑ3ˆ
à�i‰i˜#‹oð �{‰{˜ZÓ'Û!�DÙ˜e UÓ+�Bß�rÙñ "ö
 Ø—9‘9 Ó#ØÙà�MŠM˜UŸY™Y u§y¡yÑ1Ñ1�MØ�IŠI˜‰N�Ið) �i‰i˜#�oð, �=�=Ø×ÑÕð r,   c                ó¬   • [        XX45      nU R                  U5        U R                  R                  S5      nU H  nU" U5        M     UR                  $ )z9Process input string and push inline tokens into `tokens`r&   )r	   rh   rF   rX   Útokens)rJ   re   rY   Úenvrk   r^   Úrules2rL   s           r-   ÚparseÚParserInline.parseÎ   sK   € ô ˜C SÓ1ˆØ�‰�eÔØ—‘×%Ñ% bÓ)ˆÛˆDÙ�ŽKñ à�|‰|Ðr,   )rH   rC   rF   rI   N)ÚreturnÚNone)rR   Ústrrp   rq   )r^   r	   rp   rq   )
re   rr   rY   r   rl   r   rk   úlist[Token]rp   rs   )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rN   rS   ra   rh   rn   Ú__static_attributes__r+   r,   r-   r?   r?   b   sF   † ôGôô$(ôT ð@	Øð	Ø&ð	Ø-4ð	Ø>Ið	à	÷	r,   r?   )rp   zre.Pattern[str])0Ú__doc__Ú
__future__r   Úcollections.abcr   Ú	functoolsr'   Útypingr   r&   r   rC   r   Úrules_inline.state_inliner	   Útokenr
   Úutilsr   Úmarkdown_itr   Ú	frozensetr$   Ú__annotations__r[   r.   ÚboolrB   r/   r0   r1   r)   Úbacktickr3   rh   r4   r5   r6   r7   r8   r9   r:   rE   Ú
link_pairsÚpostProcessr<   r=   r?   r+   r,   r-   Ú<module>rˆ      s¶  ðÚ "å "å $Û Û 	Ý  å Ý Ý 2Ý Ý æÝ&ñ (1òó(Ð �nó ð@ ‡�óLó ðLð
 ˜{¨DÐ1°4Ð7Ñ8Ð ðð
 ˆ\×ÑÐØ�×$Ñ$Ð%Ø�×$Ñ$Ð%Øˆ|×"Ñ"Ð#Ø�,×'Ñ'Ð(Ø�l×0Ñ0×9Ñ9Ð:Ø�×&Ñ&×/Ñ/Ð0Øˆ\×ÑÐØˆl× Ñ Ð!Ø�×&Ñ&Ð'Ø�L×,Ñ,Ð-Øˆ|×"Ñ"Ð#ð0€Ð,ó ð(  ˜}¨dÐ2Ñ3Ð à�l×-Ñ-Ð.Ø�l×0Ñ0×<Ñ<Ð=Ø�×&Ñ&×2Ñ2Ð3ð �|×2Ñ2Ð3ð2€Ð	.ó ÷uò ur,   