
    iKj(                         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mZ erddlmZ ddlmZmZ dd	lmZ  G d
 de      ZdddededefdZy)    N)TYPE_CHECKINGAnyDictListMatchUnion   )escape   )BaseDirectiveDirectivePlugin)BlockParser)BaseRenderer
BlockState)Markdownc                   b    e Zd Zdddee   dddeeeef   eeeef      f   fdZ	de
d	d
ddfdZy)Includeblockr   mstater   returnc                 t   |j                   j                  d      }|sdddS d}| j                  |      }|rt        |      }d|v r|d   }ni }| j	                  |      }t
        j                  j                  |      }t
        j                  j                  |      }	t
        j                  j                  t
        j                  j                  |	|            }
t
        j                  j                  |      s$t
        j                  j                  |	|
g      |	k7  rdd|z   dS |
|k(  rdd|z   dS |j                   j                  d	g       }d
}||vr|j                  |       d}|
|v r|r|j                          dd|z   dS t
        j                  j                  |
      s|r|j                          dd|z   dS |j                  |
       	 t!        |
d      5 }|j#                         j%                  |      }d d d        t
        j                  j'                  |
      d   }|dv rj)                  dd      j)                  dd      }|j+                  |      }|j                   j                  d      }|
|j                   d<   	 |j-                  |       ||j                   j                  dd        n||j                   d<   	 |j.                  |j                          |r|j                          S S |dv r(dd|j                          |r|j                          S S |
|d<   d|d|j                          |r|j                          S S # 1 sw Y   WxY w# ||j                   j                  dd        w ||j                   d<   w xY w# |j                          |r|j                          w w xY w)N__file__block_errorzMissing source file)typerawzutf-8encodingz&Could not include outside source dir: zCould not include self: __include_stack__FTz&Could not include circular reference: zCould not find file: rbr   >   .md.mkd	.markdownz

>   .htm.html.xhtml
block_htmlfilepathinclude)r   r   attrs)envgetparse_optionsdictparse_titleospathrealpathdirnamejoinisabs
commonpath
setdefaultappendpopisfileopenreaddecodesplitextreplacechild_stateparsetokens)selfr   r   r   source_filer   optionsr+   relpath
source_dirdestinclude_stacksource_addedfcontentext	new_stateprevious_files                     k/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/mistune/directives/include.pyrB   zInclude.parse   s    iimmJ/)2GHH$$Q'MEU" ,E""1%gg&&{3WW__[1
wwZ AB77==!RWW%7%7T8J%Kz%Y%?'I 
 ;%1G; 
 		,,-@"Em+  -L= !!#%?'I 
 ww~~d#!!#%.8 
 	T"	$dD!Q&&(//(3 " ''""4(+C22!//&$7??dK!--g6	 ) 1 1* =,0	j)BKK	*$,!))*d;4A	j1 '' !!#  33 ,W= !!#  !%E*! !!# ; "! %,!))*d;4A	j1 !!# sI   N  M=BN 	M :N 8N $
N MN 0NN %N7	directivemdr   Nc                     |j                  d| j                         |j                  r;|j                  j                  dk(  r!|j                  j                  dt               y y y )Nr*   html)registerrB   rendererNAMErender_html_include)rD   rR   rS   s      rQ   __call__zInclude.__call__f   sJ    9djj1;;2;;++v5KK  ,?@ 6;    )__name__
__module____qualname__r   strr   r   r   r   rB   r   rZ    r[   rQ   r   r      sn    V$"V$',SzV$:FV$	tCH~tDcN33	4V$pA- AZ AD Ar[   r   rW   r   textr+   r   c                 B    t        | dd      rt        |      }d|z   dz   S )N_escapeTz <pre class="directive-include">
z</pre>
)getattrescape_text)rW   ra   r+   s      rQ   rY   rY   l   s(    xD)4 .5
BBr[   )r1   typingr   r   r   r   r   r   utilr
   re   _baser   r   block_parserr   corer   r   markdownr   r   r_   rY   r`   r[   rQ   <module>rl      sW    	 ? ? ( 1*/#\Ao \A~C. C Cc Cc Cr[   