
    ~,h                    D   S r SSKJr  SSKrSSKrSSKJr  SSKJr  \R                  " \
5      r\R                  " S5      r\R                  " S	\R                  S
9r\R                  " S5      r\R                  " S5      r\R                  " S5      r\R                  " S5      r\R                  " S5      r\R                  " S\R*                  S
9r\R                  " S\R*                  S
9r\R                  " S\R*                  S
9rSSSS.rSS jrSS jrSS jrSS jrg)u   Simple typographic replacements

* ``(c)``, ``(C)`` → ©
* ``(tm)``, ``(TM)`` → ™
* ``(r)``, ``(R)`` → ®
* ``+-`` → ±
* ``...`` → …
* ``?....`` → ?..
* ``!....`` → !..
* ``????????`` → ???
* ``!!!!!`` → !!!
* ``,,,`` → ,
* ``--`` → &ndash
* ``---`` → &mdash
    )annotationsN   )Token   )	StateCorez\+-|\.\.|\?\?\?\?|!!!!|,,|--z\((c|tm|r)\))flagsz\+-z\.{2,}u	   ([?!])…z
([?!]){4,}z,{2,}z(^|[^-])---(?=[^-]|$)z(^|\s)--(?=\s|$)z(^|[^-\s])--(?=[^-\s]|$)   ©   ®u   ™)crtmc                N    [         U R                  S5      R                  5          $ )Nr   )SCOPED_ABBRgrouplower)matchs    E/usr/lib/python3/dist-packages/markdown_it/rules_core/replacements.py	replaceFnr   :   s    u{{1~++-..    c                6   SnU  H  nUR                   S:X  a0  U(       d)  [        R                  [        UR                  5      Ul        UR                   S:X  a  UR
                  S:X  a  US-  nUR                   S:X  d  Mz  UR
                  S:X  d  M  US-  nM     g )Nr   text	link_openautor   
link_close)typeSCOPED_ABBR_REsubr   contentinfoinlineTokensinside_autolinktokens      r   replace_scopedr$   >   sy    O::*..y%--HEM::$v)=q O::%%***>q O r   c                   SnU  GH  nUR                   S:X  GaU  U(       GdM  [        R                  UR                  5      (       Ga(  [        R                  SUR                  5      Ul        [        R                  SUR                  5      Ul        [        R                  SUR                  5      Ul        [        R                  SUR                  5      Ul        [        R                  SUR                  5      Ul        [        R                  SUR                  5      Ul        [        R                  S	UR                  5      Ul        [        R                  S	UR                  5      Ul        UR                   S
:X  a  UR                  S:X  a  US-  nUR                   S:X  d  GM  UR                  S:X  d  GM  US-  nGM     g )Nr   r      ±u   …z\1..z\1\1\1,u   \1—u   \1–r   r   r   r   )r   RARE_REsearchr   PLUS_MINUS_REr   ELLIPSIS_RE ELLIPSIS_QUESTION_EXCLAMATION_REQUESTION_EXCLAMATION_RECOMMA_RE
EM_DASH_RE
EN_DASH_REEN_DASH_INDENT_REr   r    s      r   replace_rarer2   L   s9   OJJ& $u}}-- *--dEMMBEM (OOE5==AEM =@@%--XEM377U]]SEM %LLemm<EM 'NN;FEM 'NN;FEM-11+u}}MEM::$v)=q O::%%***>q O= r   c                   U R                   R                  R                  (       d  g U R                   H  nUR                  S:w  a  M  UR
                  c  M$  [        R                  UR                  5      (       a  [        UR
                  5        [        R                  UR                  5      (       d  M  [        UR
                  5        M     g )Ninline)mdoptionstypographertokensr   childrenr   r)   r   r$   r(   r2   )stater#   s     r   replacer;   p   s    88''::!>>!  //5>>*>>%--((( r   )r   zre.Match[str]returnstr)r!   zlist[Token]r<   None)r:   r   r<   r>   )__doc__
__future__r   loggingrer#   r   
state_corer   	getLogger__name__LOGGERcompiler(   
IGNORECASEr   r*   r+   r,   r-   r.   	MULTILINEr/   r0   r1   r   r   r$   r2   r;    r   r   <module>rK      s    #  	  !			8	$ **4
5 O2==A

6"jj##%::l#;  **]3 ::hZZ0E
ZZ+2<<@
JJ:",,O  t51/!!!H)r   