U
    ”ªShÕ  ã                   @   s    d dl mZ eddœdd„ZdS )é   )ÚStateInlineN)ÚstateÚreturnc                 C   sö   d}t | jƒ}d }}||k rÞ| j| jdk r6|d8 }|| j| _| j| jdkrZ|d7 }| j| jdkr´|d |k r´| j|d  jdkr´| j| j| j|d  j | j|d  _n ||krÌ| j| | j|< |d7 }|d7 }q||krò| j|d…= dS )a¼  
    Clean up tokens after emphasis and strikethrough postprocessing:
    merge adjacent text nodes into one and re-calculate all token levels

    This is necessary because initially emphasis delimiter markers (``*, _, ~``)
    are treated as their own separate text tokens. Then emphasis rule either
    leaves them as text (needed to merge with adjacent text) or turns them
    into opening/closing tags (which messes up levels inside).
    é    r   ÚtextN)ÚlenÚtokensZnestingÚlevelÚtypeÚcontent)r   r	   ÚmaximumÚcurrÚlast© r   úZ/root/rtd-docs/venv/lib/python3.8/site-packages/markdown_it/rules_inline/fragments_join.pyÚfragments_join   s.    

ÿ
þýÿ
r   )Zstate_inliner   r   r   r   r   r   Ú<module>   s   