
    -Ph                       U d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	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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"m#Z# erddlm$Z$ ddl%m&Z& ddl'm(Z( ddl)m*Z*  e+ e,e-e	j.        /                    d          dd                             dk     rddl%m&Z&  e0d           e&_1         e"j2        e3          Z4i Z5de6d<    eed           eed           eed           eed           eed          dZ7de6d<    e8d          d  e8d!          d" e8d#          d$iZ9d%Z: G d& d'          Z;dS )(z%Highlight code blocks using Pygments.    )annotations)partial)import_module)TYPE_CHECKINGN)	highlight)
ErrorToken)HtmlFormatterLatexFormatter)CLexerPythonConsoleLexerPythonLexerRstLexer	TextLexerget_lexer_by_nameguess_lexer)get_style_by_name)ClassNotFound)__)	NoneStyleSphinxStyle)logging	texescape)Any)	Formatter)Lexer)Style.   )r      c                    | S )N )clsnames     S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/highlighting.py<lambda>r%   '   s         zdict[str, Lexer]lexersF)stripnl)nonepythonpyconrestcz'dict[str, type[Lexer] | 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                  v    e Zd Zee         Zee         Z	 	 	 dddZd dZ	d!dZ
	 	 	 d"d#dZ	 	 	 d"d$dZd%dZdS )&PygmentsBridgehtmlsphinxNdeststr	stylenamelatex_engine
str | NonereturnNonec                    || _         || _        |                     |          }d|i| _        |dk    r| j        | _        d S | j        | _        d| j        d<   d S )Nstyler4   PYGcommandprefix)r6   r9   	get_styleformatter_argshtml_formatter	formatterlatex_formatter)selfr6   r8   r9   r>   s        r$   __init__zPygmentsBridge.__init__h   se     	(y))/6.>6>>373FDNNN!1DN38D000r&   type[Style]c                    |r|dk    rt           S |dk    rt          S d|v r6|                    dd          \  }}t          t	          |          |          S t          |          S )Nr5   r)   r      )r   r   rsplitgetattrr   r   )rF   r8   modules      r$   rA   zPygmentsBridge.get_styley   sv     	0I11&  I ) 0 0a 8 8FI=00)<<<$Y///r&   kwargsr   Formatter[str]c                P    |                     | j                    | j        di |S )Nr!   )updaterB   rD   )rF   rN   s     r$   get_formatterzPygmentsBridge.get_formatter   s/    d)***t~'''''r&   Fsourcelangoptsdict[str, Any] | Noneforceboollocationr   c                   |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 |}nq	 |dk    rt          |fi |}nt	          |fi |}nN# t
          $ rA t                              t          d          ||d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mischighlighting_failure)rY   typesubtyper)   raiseonerrorr!   )

startswithr'   r.   r   r   r   loggerwarningr   
add_filter)rF   rS   rT   rU   rW   rY   lexers          r$   	get_lexerzPygmentsBridge.get_lexer   sS     	D @@@  ''  8D6>>$<]""!$'//$//EE67??'77$77EE-d;;d;;E  6 6 6<==%2     &f-55556  	-^,,,s   !B   AC
Cc           
     ,   t          |t                    s|                                }|                     |||||          } | j        d	i |}	 t          |||          }	n# t          $ r}
|dk    rd}nBt                              t          d          ||t          |
          dd|           |rd}nd}|                     |||||          }t          |||          }	Y d }
~
nd }
~
ww xY w| j
        dk    r|	S t          j        |	| j                  S )
Nr]   r)   z\Lexing literal_block %r as "%s" resulted in an error at token: %r. Retrying in relaxed mode.ra   rb   )rc   rd   rY   Tr4   r!   )
isinstancer7   decoderk   rR   r   r   rg   rh   r   r6   r   hlescaper9   )rF   rS   rT   rU   rW   rY   rN   rj   rD   hlsourceerrs              r$   highlight_blockzPygmentsBridge.highlight_block   s^    &#&& 	%]]__FvtT5(CC 'D&0000		; 	::HH 	; 	; 	; y  4  HH2%      !!DD ENN64uhGGE 	::HHHHHH/	;2 9O %h0ABBBs   A# #
C,-A5C''C,c                    |                                  }| j        dk    r|                    d          S |                                t          z   S )Nr4   z
.highlight)rR   r6   get_style_defs_LATEX_ADD_STYLES)rF   rD   s     r$   get_stylesheetzPygmentsBridge.get_stylesheet   sL    &&((	9++L999++--0AAAr&   )r4   r5   N)r6   r7   r8   r7   r9   r:   r;   r<   )r8   r7   r;   rH   )rN   r   r;   rO   )NFN)rS   r7   rT   r7   rU   rV   rW   rX   rY   r   r;   r   )rS   r7   rT   r7   rU   rV   rW   rX   rY   r   rN   r   r;   r7   )r;   r7   )__name__
__module____qualname__r	   r7   rC   r
   rE   rG   rA   rR   rk   rr   rv   r!   r&   r$   r3   r3   b   s         #3'N$S)O !#'	9 9 9 9 9"	0 	0 	0 	0( ( ( ( '+- - - - -f '+/C /C /C /C /CbB B B B B Br&   r3   )<__doc__
__future__r   	functoolsr   	importlibr   typingr   pygmentsr   pygments.filtersr   pygments.formattersr	   r
   pygments.lexersr   r   r   r   r   r   r   pygments.stylesr   pygments.utilr   sphinx.localer   sphinx.pygments_stylesr   r   sphinx.utilr   r   r   pygments.formatterr   pygments.lexerr   pygments.styler   tuplemapint__version__splitclassmethod__class_getitem__	getLoggerrw   rg   r'   __annotations__r.   ordescape_hl_charsru   r3   r!   r&   r$   <module>r      s,   + + + " " " " " "       # # # # # #                    ' ' ' ' ' ' = = = = = = = =                  . - - - - - ' ' ' ' ' '       9 9 9 9 9 9 9 9 * * * * * * * * %,,,,,,$$$$$$$$$$$$5S(&,,S11"1"5	6	677'AA,,,,,,"-+.C.C"D"DI		8	$	$    GIu---gk5111W'777GHe,,,		'	'	': :     CII|CHHlCHHl" 8KB KB KB KB KB KB KB KB KB KBr&   