
    O&iG                     J   U d Z ddlmZ ddlmZ ddl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 ddlmZmZ dd	lmZ dd
lmZ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# ddl$m%Z% ddl&m'Z'm(Z( ddl)m*Z*m+Z+  e*j,        e-          Z.i Z/ee0ef         e1d<    eed           eed           eed           eed           eed          dZ2ee0e
e	e         df         f         e1d<    e3d          d e3d          d e3d          diZ4dZ5 G d d          Z6d S )!z%Highlight code blocks using Pygments.    )partial)import_module)AnyDictOptionalTypeUnion)	highlight)
ErrorToken)	Formatter)HtmlFormatterLatexFormatter)Lexer)CLexerPythonConsoleLexerPythonLexerRstLexer	TextLexerget_lexer_by_nameguess_lexer)Style)get_style_by_name)ClassNotFound)__)	NoneStyleSphinxStyle)logging	texescapelexersF)stripnl)nonepythonpyconrestczpartial[Lexer]lexer_classes\z	\PYGZbs{}{z	\PYGZob{}}z	\PYGZcb{}aS  
% Sphinx redefinitions
% Originally to obtain a straight single quote via package textcomp, then
% to fix problems for the 5.0.0 inline code highlighting (captions!).
% The \text is from amstext, a dependency of sphinx.sty.  It is here only
% to avoid build errors if for some reason expansion is in math mode.
\def\PYGZbs{\text\textbackslash}
\def\PYGZus{\_}
\def\PYGZob{\{}
\def\PYGZcb{\}}
\def\PYGZca{\text\textasciicircum}
\def\PYGZam{\&}
\def\PYGZlt{\text\textless}
\def\PYGZgt{\text\textgreater}
\def\PYGZsh{\#}
\def\PYGZpc{\%}
\def\PYGZdl{\$}
\def\PYGZhy{\sphinxhyphen}% defined in sphinxlatexstyletext.sty
\def\PYGZsq{\text\textquotesingle}
\def\PYGZdq{"}
\def\PYGZti{\text\textasciitilde}
\makeatletter
% use \protected to allow syntax highlighting in captions
\protected\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+{\PYG@do{#2}}}
\makeatother
c                       e Zd ZeZeZ	 	 ddededee         ddfdZ	dede
fd	Zd
edefdZ	 	 ddededee         dededefdZ	 	 ddededee         deded
edefdZdefdZdS )PygmentsBridgehtmlsphinxNdest	stylenamelatex_enginereturnc                     || _         || _        |                     |          }d|i| _        |dk    r| j        | _        d S | j        | _        d| j        d<   d S )Nstyler,   PYGcommandprefix)r.   r0   	get_styleformatter_argshtml_formatter	formatterlatex_formatter)selfr.   r/   r0   r3   s        `/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/sphinx/highlighting.py__init__zPygmentsBridge.__init__S   sc    	(y))/6.>6>>!0DNNN!1DN38D000    c                     ||dk    rt           S |dk    rt          S d|v r6|                    dd          \  }}t          t	          |          |          S t          |          S )Nr-   r!   .   )r   r   rsplitgetattrr   r   )r;   r/   modules      r<   r6   zPygmentsBridge.get_style`   st    	X 5 5&  I ) 0 0a 8 8FI=00)<<<$Y///r>   kwargsc                 P    |                     | j                    | j        di |S )N )updater7   r9   )r;   rE   s     r<   get_formatterzPygmentsBridge.get_formatterk   s/    d)***t~'''''r>   Fsourcelangoptsforcelocationc                    |si }|dv r|                     d          rd}nd}|dk    rd}|t          v rt          |         S |t          v rt          |         di |}no	 |dk    rt          |fi |}nt	          |fi |}nL# t
          $ r? t                              t          d          ||           t          d	         di |}Y nw xY w|s|	                    d
           |S )N>   pypy3r"   defaultpython3z>>>r#   r"   pycon3guessz#Pygments lexer name %r is not known)rN   r!   raiseonerrorrG   )

startswithr   r&   r   r   r   loggerwarningr   
add_filter)r;   rJ   rK   rL   rM   rN   lexers          r<   	get_lexerzPygmentsBridge.get_lexero   sG    	D @@@  ''  8D6>>$<]""!$'//$//EE67??'77$77EE-d;;d;;E  6 6 6r"GHH$(0  2 2 2%f-55556
  	-^,,,s   !B   AC	C	c                    t          |t                    s|                                }|                     |||||          } | j        di |}	 t          |||          }	nm# t          $ r` |dk    rn,t                              t          d          |dd|           |                     |d|||          }t          |||          }	Y nw xY w| j
        dk    r|	S t          j        |	| j                  S )	NrR   z:Could not lex literal_block as "%s". Highlighting skipped.mischighlighting_failure)typesubtyperN   r!   r,   rG   )
isinstancestrdecoder\   rI   r
   r   rX   rY   r   r.   r   hlescaper0   )
r;   rJ   rK   rL   rM   rN   rE   r[   r9   hlsources
             r<   highlight_blockzPygmentsBridge.highlight_block   s+   &#&& 	%]]__FvtT5(CC 'D&0000		; 	::HH 	; 	; 	; y  r #:  ;  ;<@$*4J(0  2 2 2 NN664IIE 	::HHH	; 9O %h0ABBBs   A# #A'CCc                     |                                  }| j        dk    r|                    d          S |                                t          z   S )Nr,   z
.highlight)rI   r.   get_style_defs_LATEX_ADD_STYLES)r;   r9   s     r<   get_stylesheetzPygmentsBridge.get_stylesheet   sL    &&((	9++L999++--0AAAr>   )r,   r-   N)NFN)__name__
__module____qualname__r   r8   r   r:   rc   r   r=   r   r6   r   r   rI   r   boolr   r\   rg   rk   rG   r>   r<   r+   r+   M   s        #N$O<D/39 9S 9c 9'}98<9 9 9 9	03 	05 	0 	0 	0 	0(c (i ( ( ( ( HL7;" " "3 "htn ""14"@E" " " "H NR=AC Cc C CHTN C#C7:CMPCUXC C C C<B B B B B B Br>   r+   N)7__doc__	functoolsr   	importlibr   typingr   r   r   r   r	   pygmentsr
   pygments.filtersr   pygments.formatterr   pygments.formattersr   r   pygments.lexerr   pygments.lexersr   r   r   r   r   r   r   pygments.styler   pygments.stylesr   pygments.utilr   sphinx.localer   sphinx.pygments_stylesr   r   sphinx.utilr   r   	getLoggerrl   rX   r   rc   __annotations__r&   ordescape_hl_charsrj   r+   rG   r>   r<   <module>r      s   + + +       # # # # # # 3 3 3 3 3 3 3 3 3 3 3 3 3 3       ' ' ' ' ' ' ( ( ( ( ( ( = = = = = = = =            = = = = = = = = = = = = = = = = = =             - - - - - - ' ' ' ' ' '       9 9 9 9 9 9 9 9 * * * * * * * *		8	$	$S%Z   GIu---gk5111W'777GHe,,,		'	'	'B BtCtE{,<<==>    3t99l3s88\3s88\+ 8iB iB iB iB iB iB iB iB iB iBr>   