o
    Zh                     @   s6   d dl mZmZ ddlmZ dededefddZd	S )
   )
isStrSpacenormalizeReference   )StateInlinestatesilentreturnc                 C   sT  d}d}d }| j }| j}| j }d}| j| j  dkrdS | j d }	| jj| | j d}
|
dk r0dS |
d }||k r| j| dkrd}|d7 }||k r_| j| }t|sW|dkrWn|d7 }||k sI||kredS |}| jj| j|| j}|jr| j	|j
}| j|r|j }nd}|}||k r| j| }t|s|dkrn|d7 }||k s| jj| j|| j}||k r||kr|jr|j
}|j }||k r| j| }t|s|dkrn|d7 }||k s||ks| j| d	krd}|d7 }|rWd
| jvrdS ||k r$| j| dkr$|d }| jj| |}|dkr| j|| }|d7 }n	|
d }n|
d }|s2| j|	|
 }t|}|| jd
 v rE| jd
 | nd }|sO|| _ dS |d }|d }|s|	| _ |
| _| ddd}d|i|_|ru|d| |r| jjddr||jd< |  jd7  _| jj|  |  jd8  _| ddd}|| _ || _dS )N T[Fr       (
)Z
referenceshreftitleZ	link_openaZstore_labelslabelZ
link_close)posZposMaxsrcmdhelpersZparseLinkLabelr   ZparseLinkDestinationokZnormalizeLinkstrZvalidateLinkZparseLinkTitleenvr   pushattrsZattrSetoptionsgetmetaZ	linkLevelinlinetokenize)r   r   r   r   r   ZoldPosmaximumstartZparseReferenceZ
labelStartZlabelEndr   chresreftoken r(   T/var/www/html/lang_env/lib/python3.10/site-packages/markdown_it/rules_inline/link.pylink   s   







 

r*   N)Zcommon.utilsr   r   Zstate_inliner   boolr*   r(   r(   r(   r)   <module>   s   