o
    j                     @   s"   d dl mZ deddfddZdS )   )StateInlinestatereturnNc                 C   sj  d}t | j}d }}||k r| j| jdk r|d8 }|| j| _| j| jdkr-|d7 }| j| jdkr|d |k r| j|d  jdkr| j| jg}|d7 }||k ru| j| jdkru|| j| j |d7 }||k ru| j| jdks\| j|d  }d||_||_|| j|< |d7 }q||kr| j| | j|< |d7 }|d7 }||k s||kr| j|d= dS 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   text N)lentokensnestingleveltypecontentappendjoin)r   r   maximumcurrlastpartsmerged r   m/var/www/html/fyndo/pharma/fyndo/venv/lib/python3.10/site-packages/markdown_it/rules_inline/fragments_join.pyfragments_join   s@   


#r   )state_inliner   r   r   r   r   r   <module>   s    