
    Ph                        d dl Z d dlmZmZmZmZmZmZ ddlm	Z
 ddlmZ ddlmZmZ erddlmZ dd	lmZ dd
lmZ ddlmZ ddgZ e j0                  d      Zg dZdeeef   deeef   fdZ G d de      Z	 	 	 d$dddedee   dee   dee   dedefdZ G d de      Z	 	 	 d$dededee   dee   d ee   defd!Z dededefd"Z!dededefd#Z"y)%    N)TYPE_CHECKINGAnyDictListMatchOptional   )escape)
escape_url   )BaseDirectiveDirectivePlugin)BlockParser)
BlockState)Markdown)HTMLRendererImageFigurez^\d+(?:\.\d*)?)topmiddlebottomleftcenterrightoptionsreturnc                 @   i }d| v r| d   |d<   | j                  d      }|r|t        v r||d<   | j                  d      }| j                  d      }|rt        j                  |      r||d<   |rt        j                  |      r||d<   d| v rt	        | d         |d<   |S )Naltalignheightwidthtarget)get_allowed_aligns_num_rematchr   )r   attrsr   r    r!   s        R/var/www/html/saasai/venv/lib/python3.12/site-packages/mistune/directives/image.py_parse_attrsr)      s    Eu~e KK E/)g[["FKK E'--' hu%g7$WX%67hL    c            
       @    e Zd ZdZdddee   dddeeef   fdZdd
Z	y	)r   imageblockr   mstater   r   c                 ~    t        | j                  |            }t        |      }| j                  |      |d<   d|dS )Nsrcblock_imagetyper'   )dictparse_optionsr)   parse_title)selfr-   r.   r/   r   r'   s         r(   parsezImage.parse,   s@    t))!,-W%''*e%66r*   Nc                     |j                  | j                  | j                         |j                  J |j                  j                  dk(  r!|j                  j                  dt               y y )Nhtmlr2   )registerNAMEr9   rendererrender_block_imager8   	directivemds      r(   __call__zImage.__call__2   sV    499djj1{{&&&;;v%KK  0BC &r*   rA   r   rB   r   r   N)
__name__
__module____qualname__r=   r   strr   r   r9   rC    r*   r(   r   r   )   s?    D7= 7U3Z 7 7QUVY[^V^Q_ 7Dr*   r8   r   r1   r   r!   r    r'   c                    dt        |      z   dz   }d}|r|dt        |      z   dz   z  }|r'|j                         r|d|z   dz   z  }n|d|z   dz   z  }|r'|j                         r|d|z   dz   z  }n|d	|z   dz   z  }|r|d
t        |      z   dz   z  }|dz  }d}|j                  d      }	|	r|d|	z   z  }|j                  d      }
|
r'| j                  |
      }d|z   dz   |z   dz   }||z   dz   S d|z   dz   |z   dz   S )Nz
<img src="" z alt="z width="zwidth:;z	 height="zheight:z style="z />zblock-imager    align-r"   z
<a class="z" href="z">z</a>
z<div class="</div>
)escape_textisdigitr#   safe_url)r8   r1   r   r!   r    r'   imgstyle_clsr   r"   hrefouters                r(   r?   r?   9   sM    S)
)C
/CE
x+c**S00==?:%++CX%++E>>;'#--CY'#--EzK..445LCDIIgE	E!!YYx F}}V$t#j047$>s{X%%$t+c1J>>r*   c                   t    e Zd ZdZdddee   dddeeeee	f         fdZ
dddee   dddeee	f   fd	ZddZy
)r   figurer-   r   r.   r/   r   r   c                     | j                  |      }|sy t        | j                  |||            }|d   }|d   dk(  r/d|d<   |g}t        |      dkD  r|j	                  d|dd  d       |S y )Nr   r4   	paragraph
figcaptionr   legend)r4   children)parse_contentlistparse_tokenslenappend)r8   r-   r.   r/   contenttokenscaptionr^   s           r(   parse_directive_contentzFigure.parse_directive_contente   s     $$Q'd''w>?)6?k)*GFOyH6{Qvabz JKOr*   c                 6   t        | j                  |            }t        |      }| j                  |      |d<   |j	                  dd       }i }|r||d<   dD ]  }||v s||   ||<    d|dg}	| j                  |||      }
|
r|	j                  |
       d||	dS )Nr1   r   )figwidthfigclassr2   r3   rY   )r4   r'   r^   )r5   r6   r)   r7   poprg   extend)r8   r-   r.   r/   r   image_attrsr   	fig_attrskr^   rd   s              r(   r9   zFigure.parsev   s    t))!,-"7+!--a0E.	!&Ig)AG|&qz	! * +[AB..ua?OOG$ 
 	
r*   Nc                    |j                  | j                  | j                         |j                  J |j                  j                  dk(  r|j                  j                  dt               |j                  j                  dt
               |j                  j                  dt               |j                  j                  dt               y y )Nr;   rY   r2   r\   r]   )r<   r=   r9   r>   render_figurer?   render_figcaptionrender_legendr@   s      r(   rC   zFigure.__call__   s    499djj1{{&&&;;v%KK  =9KK  0BCKK  /@AKK  =9	 &r*   rD   )rE   rF   rG   r=   r   rH   r   r   r   r   rg   r9   rC   rI   r*   r(   r   r   b   sy    D"',Sz:F	$tCH~&	'"
= 
U3Z 
 
QUVY[^V^Q_ 
.:r*   textr   ri   rj   c                 n    d}|r|d|z   z  }|r|d|z   z  }d|z   dz   }|r|d|z   dz   z  }|dz   |z   dz   S )	NrY   rN    z<figure class="rK   z style="width:z>
z
</figure>
rI   )r8   rt   r   ri   rj   rU   r;   s          r(   rq   rq      sg     D	E!!ht#c)D 8+c11%<$..r*   c                     d|z   dz   S )Nz<figcaption>z</figcaption>
rI   r8   rt   s     r(   rr   rr      s    D #444r*   c                     d|z   dz   S )Nz<div class="legend">
rO   rI   rx   s     r(   rs   rs      s    #d*Z77r*   )NNN)#retypingr   r   r   r   r   r   utilr
   rP   r   _baser   r   block_parserr   corer   markdownr   renderers.htmlr   __all__compiler%   r$   rH   r)   r   r?   r   rq   rr   rs   rI   r*   r(   <module>r      sk   	 B B (  1*!#-H

"**&
'H$sCx. T#s(^ *DO D&  &?
&?	&? 
#&? C=	&?
 SM&? &? 	&?R3:_ 3:r  ""/
/
/ C=/ sm	/
 sm/ 	/&5C 5s 5s 58 83 83 8r*   