403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/cygwin64/lib/python3.9/site-packages/sphinx/writers/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/cygwin64/lib/python3.9/site-packages/sphinx/writers/__pycache__/latex.cpython-39.opt-1.pyc
a

�ab�B�@sBdZddlZddlZddlmZddlmZddlmZm	Z	m
Z
mZmZm
Z
mZmZddlmZmZddlmZmZmZddlmZmZdd	lmZdd
lmZddlmZddl m!Z!dd
l"m#Z#m$Z$m%Z%ddl&m'Z'm(Z(m)Z)ddl*m+Z+ddl,m-Z-m.Z.ddl/m0Z0ddl1m2Z2zddl3m4Z4Wn e5�yDddl6m4Z4Yn0e�rdddl7m8Z8ddl9m:Z:e'�;e<�Z=dZ>gd�Z?edd�dddddd��Z@d ZAd!ZBe�Cd"�ZDGd#d$�d$ejE�ZFGd%d&�d&e!�ZGGd'd(�d(ejH�ZIGd)d*�d*�ZJGd+d,�d,�ZKeLeLd-�d.d/�ZMd7eLeNeLd1�d2d3�ZOGd4d5�d5e+�ZPdd6lQmRZRmSZSmTZTdS)8a0
    sphinx.writers.latex
    ~~~~~~~~~~~~~~~~~~~~

    Custom docutils writer for LaTeX.

    Much of this code is adapted from Dave Kuhlman's "docpy" writer from his
    docutils sandbox.

    :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�defaultdict)�path)�
TYPE_CHECKING�Any�Dict�Iterable�List�Set�Tuple�cast)�nodes�writers)�Element�Node�Text)�addnodes�highlighting)�RemovedInSphinx50Warning)�
IndexEntry)�StandardDomain)�SphinxError)�_�__�admonitionlabels)�logging�
split_into�	texescape)�SphinxTranslator)�clean_astext�
get_prev_node)�
LaTeXRenderer)�tex_replace_map)�toRoman)�LaTeXBuilder)�Theme�)�part�chapter�sectionZ
subsectionZ
subsubsection�	paragraphZsubparagraphcCsdS)N�\arabic�r+r+r+�8/usr/lib/python3.9/site-packages/sphinx/writers/latex.py�<lambda>3�r-r*z\alphz\Alphz\romanz\Roman)�arabicZ
loweralphaZ
upperalphaZ
lowerromanZ
upperroman�
z

z^(.*\S)\s+\(([^()]*)\)\s*$c@seZdZdZdS)�collected_footnotez5Footnotes that are collected are assigned this class.N)�__name__�
__module__�__qualname__�__doc__r+r+r+r,r1Asr1c@seZdZdZdS)�UnsupportedErrorzMarkup is unsupported in LaTeXN)r2r3r4�categoryr+r+r+r,r6Esr6cs|eZdZUdZddddgddifddgdd	ifd
dgddifffZiZeed<d
Zdd
d��fdd�Z	d
d�dd�Z
�ZS)�LaTeXWriter)ZsphinxlatexzLaTeX writer options�z
Document namez	--docname�defaultzDocument classz
--docclass�manualZAuthorz--author�settings_defaultsNr#)�builder�returncst���||_d|_dS�N)�super�__init__r=�theme)�selfr=��	__class__r+r,rAVs
zLaTeXWriter.__init__�r>cCspz|j�|j|j|j�}Wn4tyNtjdtdd�|j�|j|j�}Yn0|j�|�t	t
|���|_dS)N�0LaTeXTranslator now takes 3rd argument; "theme".���
stacklevel)
r=Zcreate_translator�documentrB�	TypeError�warnings�warnrZ	walkaboutr�LaTeXTranslator�astext�output)rCZvisitorr+r+r,�	translate[s�zLaTeXWriter.translate)r2r3r4Z	supportedZ
settings_specr<r�__annotations__rQrArR�
__classcell__r+r+rDr,r8Is
�r8c@speZdZdZedd�dd�Zed�dd�Zed�d	d
�Z	ed�dd�Z
eedd
�dd�Zdeedd�dd�Z
dS)�TablezA table dataN��noder>cCsxg|_g|_|�dd�|_|�dg�|_d|_d|_g|_d|_d|_	d|_
d|_g|_d|_
d|_tt�|_d|_dS)N�alignr:�classesrF)�header�body�getrXrY�colcount�colspec�	colwidths�has_problematic�has_oldproblematic�has_verbatim�caption�stubs�col�rowr�int�cells�cell_id�rCrWr+r+r,rAls 
zTable.__init__rFcCs|jdkpd|jvS)z5True if and only if table uses longtable environment.��	longtable)rfrY�rCr+r+r,�is_longtable�szTable.is_longtablecCsB|��rdS|jrdS|jr dS|js6|jr:d|jvr:dSdSdS)z�Returns the LaTeX environment name for the table.

        The class currently supports:

        * longtable
        * tabular
        * tabulary
        rlZtabular�tabulary�colwidths-givenN)rnrbr^r`r_rYrmr+r+r,�get_table_type�s	zTable.get_table_typecs�|jr|jS|jrLd|jvrLt|j���fdd�|jD�}dd�|�tS|jrfd|j|jftS|��dkr�dd	|jd
tS|j	r�d|j|jftSdd|jd
tSdS)
z�Returns a column spec of table.

        This is what LaTeX calls the 'preamble argument' of the used table environment.

        .. note:: the ``\X`` and ``T`` column type specifiers are defined in ``sphinx.sty``.
        rpcsg|]}d|�f�qS)z
\X{%d}{%d}r+)�.0�width��totalr+r,�
<listcomp>�r.z%Table.get_colspec.<locals>.<listcomp>z{|%s|}�|z{|*{%d}{\X{1}{%d}|}}roz{|zT|�}zl|N)
r^r_rY�sum�join�CRr`r]rqra)rCZcolspecsr+rtr,�get_colspec�s
zTable.get_colspec)�heightrsr>cCsJ|jd7_t|�D].}t|�D] }|j|j|j||j|f<q"qdS)zsAdds a new cell to a table.

        It will be located at current position: (``self.row``, ``self.col``).
        �N)ri�rangerhrfre)rCr}rsrerfr+r+r,�add_cell�szTable.add_cell�	TableCell)rfrer>cCsDz*|dur|j}|dur|j}t|||�WSty>YdS0dS)z�Returns a cell object (i.e. rectangular area) containing given position.

        If no option arguments: ``row`` or ``col`` are given, the current position;
        ``self.row`` and ``self.col`` are used to get a cell object by default.
        N)rfrer��
IndexError)rCrfrer+r+r,�cell�sz
Table.cell)NN)r2r3r4r5rrA�boolrn�strrqr|rgr�r�r+r+r+r,rUisrUc@sHeZdZdZeeedd�dd�Zeed�dd��Zeed�d	d
��Z	dS)r�zData of a cell in a table.N)�tablerfrer>cCs�|j||fdkrt�||_|j||f|_||_||_|j|jd|jf|jkrd|jd8_q8|j|j|jdf|jkr�|jd8_qddS�Nrr~)rhr�r�rirfre)rCr�rfrer+r+r,rA�szTableCell.__init__rFcCs0d}|jj|j|j|f|jkr,|d7}q|S)zReturns the cell width.rr~�r�rhrfreri)rCrsr+r+r,rs�s
zTableCell.widthcCs0d}|jj|j||jf|jkr,|d7}q|S)zReturns the cell height.rr~r�)rCr}r+r+r,r}�s
zTableCell.height)
r2r3r4r5rUrgrA�propertyrsr}r+r+r+r,r��sr���textr>cCst�dd|�S)z#Adjust spacing after abbreviations.z
\.(?=\s|$)z.\@)�re�sub)r�r+r+r,�escape_abbr�sr��d��	width_str�scaler>cCs�t�d|�}|st�|}|��dd�\}}|dkrzt|�|dvrNd|}q�|dkr`d|}q�|d	kr�d
t|�d}nVt|�|d}|dvr�d|}n4|dkr�d
|}n"|d	kr�d|d}nd||f}|S)z4Convert `width_str` with rst length to LaTeX length.z^(\d*\.?\d*)\s*(\S*)$NrHr�)r9Zpxz%s\sphinxpxdimen�ptz%sbp�%z%.3f\linewidth�Y@z%.5f\sphinxpxdimenz%.5fbpz%.5f\linewidthz%.5f%s)r��match�
ValueError�groups�float)r�r�r��res�amountZunitZamount_floatr+r+r,�rstdim_to_latexdim�s,



r�cs�eZdZUdZded<dZdZdZ�d�ej	dddd��fd	d
�
Z
eedd�dd
�Z
eed�dd�Zeed�dd�Zed�dd�Z�d�eeeed�dd�Z�d�eeed�dd�Zeed�dd�Zeed�d d!�Zeed"�d#d$�Zeed�d%d&�Zeeed'�d(d)�Zed�d*d+�Zeeed,�d-d.�Zeed�d/d0��Zedd1�d2d3�Z edd1�d4d5�Z!edd1�d6d7�Z"edd1�d8d9�Z#edd1�d:d;�Z$edd1�d<d=�Z%edd1�d>d?�Z&edd1�d@dA�Z'edd1�dBdC�Z(edd1�dDdE�Z)e(Z*e)Z+edd1�dFdG�Z,edd1�dHdI�Z-edd1�dJdK�Z.edd1�dLdM�Z/edd1�dNdO�Z0edd1�dPdQ�Z1edd1�dRdS�Z2edd1�dTdU�Z3edd1�dVdW�Z4edd1�dXdY�Z5edd1�dZd[�Z6edd1�d\d]�Z7edd1�d^d_�Z8edd1�d`da�Z9edd1�dbdc�Z:edd1�ddde�Z;edd1�dfdg�Z<edd1�dhdi�Z=edd1�djdk�Z>edd1�dldm�Z?edd1�dndo�Z@edd1�dpdq�ZAedd1�drds�ZBedd1�dtdu�ZCedd1�dvdw�ZDedd1�dxdy�ZEedd1�dzd{�ZFedd1�d|d}�ZGedd1�d~d�ZHedd1�d�d��ZIedd1�d�d��ZJedd1�d�d��ZKedd1�d�d��ZLedd1�d�d��ZMedd1�d�d��ZNedd1�d�d��ZOedd1�d�d��ZPedd1�d�d��ZQedd1�d�d��ZRedd1�d�d��ZSedd1�d�d��ZTedd1�d�d��ZUedd1�d�d��ZVedd1�d�d��ZWedd1�d�d��ZXedd1�d�d��ZYedd1�d�d��ZZedd1�d�d��Z[edd1�d�d��Z\edd1�d�d��Z]edd1�d�d��Z^edd1�d�d��Z_edd1�d�d��Z`edd1�d�d��Zaedd1�d�d��Zbedd1�d�d��Zcedd1�d�d��Zdedd1�d�d��Zeedd1�d�d��Zfedd1�d�d��Zgedd1�d�d��Zhedd1�d�d��Ziedd1�d�dÄZjedd1�d�dńZkedd1�d�dDŽZledd1�d�dɄZmedd1�d�d˄Znedd1�d�d̈́Zoedd1�d�dτZpedd1�d�dфZqedd1�d�dӄZredd1�d�dՄZsedd1�d�dׄZtedd1�d�dلZuedd1�d�dۄZvedd1�d�d݄Zwedd1�d�d߄Zxedd1�d�d�Zyedd1�d�d�Zzedd1�d�d�Z{edd1�d�d�Z|edd1�d�d�Z}edd1�d�d�Z~euZevZ�eyZ�ezZ�edd1�d�d�Z�edd1�d�d�Z�edd1�d�d�Z�edd1�d�d�Z�edd1�d�d��Z�edd1�d�d��Z�edd1�d�d��Z�edd1�d�d��Z��d�ee�ed��d�d��Z�eed1��d�d�Z�edd1��d�d�Z�edd1��d�d�Z�edd1��d�d�Z�edd1��d�d	�Z�edd1��d
�d�Z�edd1��d�d
�Z�edd1��d�d�Z�edd1��d�d�Z�edd1��d�d�Z�edd1��d�d�Z�edd1��d�d�Z�edd1��d�d�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�e�Z�edd1��d�d�Z�edd1��d�d�Z�edd1��d�d�Z�edd1��d �d!�Z�edd1��d"�d#�Z�edd1��d$�d%�Z�edd1��d&�d'�Z�edd1��d(�d)�Z�edd1��d*�d+�Z�edd1��d,�d-�Z�edd1��d.�d/�Z�edd1��d0�d1�Z�edd1��d2�d3�Z�edd1��d4�d5�Z�edd1��d6�d7�Z�edd1��d8�d9�Z�edd1��d:�d;�Z�edd1��d<�d=�Z�edd1��d>�d?�Z�edd1��d@�dA�Z�edd1��dB�dC�Z�edd1��dD�dE�Z�edd1��dF�dG�Z�edd1��dH�dI�Z�edd1��dJ�dK�Z�edd1��dL�dM�Z�edd1��dN�dO�Z�edd1��dP�dQ�Z�edd1��dR�dS�Z�edd1��dT�dU�Z�edd1��dV�dW�Z�edd1��dX�dY�Z�edd1��dZ�d[�Z�edd1��d\�d]�Z�edd1��d^�d_�Z�edd1��d`�da�Z�edd1��db�dc�Z�edd1��dd�de�Z�edd1��df�dg�Z�edd1��dh�di�Z�edd1��dj�dk�Z�edd1��dl�dm�Z�edd1��dn�do�Z�edd1��dp�dq�Z�edd1��dr�ds�Z�edd1��dt�du�Z�e�Z�e�Z�edd1��dv�dw�Z�edd1��dx�dy�Z�edd1��dz�d{�Z�edd1��d|�d}�Z�edd1��d~�d�Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�edd1��d��d��Z�ee�d���d��d���Zee�d���d��d„�Z�edd1��dÐdĄ�Z�edd1��dŐdƄ�Zedd1��dǐdȄ�Zedd1��dɐdʄ�Zedd1��dːd̄�Zedd1��d͐d΄�Zedd1��dϐdЄ�Z	edd1��dѐd҄�Z
edd1��dӐdԄ�Zedd1��dՐdք�Z��Z
S(�rONr#r=rHF)�howtor;r$)rKr=rBr>c	s�t��||�g|_||_|dur2tjdtdd�d|_d|_d|_	d|_
d|_d|_d|_
d|_d|_d|_d|_d|_d|_d|_g}|jj��|_tdd�|_|jr�|jj}|jjdkr�|j�d�nl|�|jj�|jd<|� d	�d
k�r |j!j"� d
d�}|ddk�rn|j�d�n|j!j"� d
d�}||jd	<d|_#|j!j$�r�z|j�%|j!j$�|_#Wn.t&�y�t'�(t)d�|j!j$|f�Yn0|j!j*�r(|j!j+|_+|j+dk�rt,|j�t,t�k�r�|j#dk�r�|j+|j#7_+n|j+|j#d7_+t-|j+t,t�d�|_+|�.d|j+�n
|�.d�|j!j*�rF|j!j/�rF|�.d�|j!j0dv�r|d|j!j1v�r|dt2dt2d|jd<|jj3|_3|j!j0�r�|j3�4��s�t'�(t)d�|j!j0�|j5}|j6� d��rH|j6� dd�|j#d}t,|j�t,t�k�r|j#dk�r|d7}|t,t�dk�r0t'�(t)d��t,t�d}d||jd<t7||�}|j!j*�rp|j!j+dk�rpt7||j+d�}||j5k�r�d||jd<|� d�}|�r�|�8d |�|jd<|jd!�r�|�.d"|jd!�|�r�d#d$�9|�|jd%<|jd&�rd'|jd&|jd&<|jd(�r.|jd)d$|jd(7<t:j;d*|j!j<|j!j=d+�|_>g|_g|_?g|_@d|_Ag|_Bd|_Cg|_Dg|_EtF�|_GdS),NrGrHrIrr~r(r'Zwrapperclass�docclassr�Zarticle�jr;�reportz+unknown %r toplevel_sectioning for class %rznumfigreset=%sZ
nonumfigresetZ
mathnumfig>�jaN�enZfncychapz\usepackage[Sonny]{fncychap}z&\ChNameVar{\Large\normalfont\sffamily}z'\ChTitleVar{\Large\normalfont\sffamily}z%no Babel option known for language %r�tocdepthi�ztoo large :maxdepth:, ignored.z\setcounter{tocdepth}{%d}z\setcounter{secnumdepth}{%d}�secnumdepth�contentsnamez
\contentsnameZmaxlistdepthzmaxlistdepth=%sz[,%s]�,�sphinxpkgoptionsZsphinxsetupz\sphinxsetup{%s}ZextraclassoptionsZclassoptions�latex��latex_engine)Hr@rAr[rBrMrNr�in_title�in_production_list�in_footnote�
in_caption�in_term�needs_linetrimming�in_minipage�no_latex_floats�first_document�this_is_the_title�literal_whitespace�in_parsed_literal�compact_list�first_paramr=�context�copy�elements�LATEXSECTIONNAMES�sectionnamesr�Ztoplevel_sectioning�remove�format_docclassZsettingsr\�configZlatex_docclass�top_sectionlevelZlatex_toplevel_sectioning�indexr��logger�warningrZnumfigZnumfig_secnum_depth�len�min�appendZmath_numfig�languageZlatex_elementsr{�babelZis_supported_languager�rK�max�babel_renewcommandrzrZPygmentsBridgeZpygments_styler��highlighterZ	descstack�tables�next_table_colspec�	bodystackZfootnote_restrictedZpending_footnotes�curfilestack�set�
handled_abbrs)	rCrKr=rBr�r�Zminsecnumdepthr�r�rDr+r,rAs��

�

�

�
�


����


��
�

�
��zLaTeXTranslator.__init__)�newbodyr>cCs|j�|j�||_dSr?)r�r�r[)rCr�r+r+r,�pushbody�szLaTeXTranslator.pushbodyrFcCs|j}|j��|_|Sr?)r[r��pop)rCr[r+r+r,�popbody�szLaTeXTranslator.popbody)r�r>cCs&tjdtdd�||jvr"d|}|S)z*Prepends prefix to sphinx document classesz,LaTeXWriter.format_docclass() is deprecated.rHrI�sphinx)rMrNr�
docclasses)rCr�r+r+r,r��s�
zLaTeXTranslator.format_docclasscCs,|j�d�|j�|��d��|�d|j�S)Nr9)r[�indiceszlatex.tex_t)r��updaterzr[�generate_indices�renderrmr+r+r,rP�s

�zLaTeXTranslator.astextT)�id�withdoc�anchorr>cCs0|r|jdd|}|rdndd|�|�S)N����:�\phantomsectionr9�
\label{%s})r��idescape)rCr�r�r�r+r+r,�hypertarget�szLaTeXTranslator.hypertarget)rWr�r>cs0d��fdd�|dD��}|r(d|S|SdS)Nr9c3s|]}�j|dd�VqdS)F�r�N)r�)rr�node_idrmr+r,�	<genexpr>�r.z1LaTeXTranslator.hypertarget_to.<locals>.<genexpr>�idsr�)rz)rCrWr��labelsr+rmr,�hypertarget_to�szLaTeXTranslator.hypertarget_to�r�r>cCsd|�|�S)Nz{\hyperref[%s]{�r��rCr�r+r+r,�	hyperlink�szLaTeXTranslator.hyperlinkcCsd|�|�S)Nz\autopageref*{%s}r�r�r+r+r,�hyperpageref�szLaTeXTranslator.hyperpageref)�sr>cCst�||jj�Sr?)r�escaper�r�)rCr�r+r+r,r��szLaTeXTranslator.escapecCs(dt|��t��dd��d��dd�S)Nz\detokenize{%s}�ascii�backslashreplace�\r)r�rRr!�encode�decode�replacer�r+r+r,r��s���zLaTeXTranslator.idescape)�command�
definitionr>cCs:|jdrd|j��}d}nd}d}d||||ftS)NZmultilingualz\addto\captions%s{rxr9z%s\renewcommand{%s}{%s}%s)r�r�Zget_languager{)rCr�r��prefix�suffixr+r+r,r��s
z"LaTeXTranslator.babel_renewcommandcs�tttttftdd���fdd�}g��jj}|r��jjj	�
�D]n}|jD]b}d|j|jf}t
|t�rx||vrxqP||���jj�\}}|s�qP��d|jt�|||�qPqFd���S)N)�content�	collapsedr>c
s���dt���dt�t|�D]�\}\}}|dkrF��dt���d��|�t�|D]j}|dspqb��d��|d��|dr���d	��|d����d
|d��|d�ft�qbq$��dt�dS)
Nz\begin{sphinxtheindex}z*\let\bigletter\sphinxstyleindexlettergrouprz\indexspacez\bigletter{%s}�z%\item\relax\sphinxstyleindexentry{%s}�z\sphinxstyleindexextra{%s}z\sphinxstyleindexpageref{%s:%s}rHz\end{sphinxtheindex})r�r{�	enumerater�r�r�)r�r��iZletter�entries�entry��retrCr+r,�generate�s(���
z2LaTeXTranslator.generate_indices.<locals>.generatez%s-%sz\renewcommand{\indexname}{%s}r9)rr
r�rr�r�Zlatex_domain_indicesr=�envZdomains�valuesr��name�
isinstance�listrZdocnamesr�Z	localnamer{rz)rCrZindices_config�domainZindexclsZ	indexnamer�r�r+rr,r��s$(

�z LaTeXTranslator.generate_indices)�
template_name�	variablesr>cCsTt|jjd�}|jjD]0}t�|jj||�}t�|�r|�	||�Sq|�	||�S)Nr�)
r r�r�Ztemplates_pathrrzr=Zconfdir�existsr�)rCrrZrendererZtemplate_dir�templater+r+r,r�s�
zLaTeXTranslator.rendercCs|jr|jdSdSdS)zGet current table.r�N)r�rmr+r+r,r�#s
zLaTeXTranslator.tablerVcCst|j�|�dd��|jdkr&d|_n$|jdkrJ|j�tdt�d|_d|vrd|j�|�d��|jd|_dS)N�docnamer9r~rz	\appendixr�z:doc)	r�r�r\r�r[r{r�r��sectionlevelrjr+r+r,�visit_document+s

zLaTeXTranslator.visit_documentcCsdSr?r+rjr+r+r,�depart_document9szLaTeXTranslator.depart_documentcCs|j�|d�dS)Nr)r�r�rjr+r+r,�visit_start_of_file<sz#LaTeXTranslator.visit_start_of_filecCs|j��dSr?)r�r�rjr+r+r,�depart_start_of_file?sz$LaTeXTranslator.depart_start_of_filecCs$|js|jd7_|j�t�dS�Nr~)r�rr[r��	BLANKLINErjr+r+r,�
visit_sectionBszLaTeXTranslator.visit_sectioncCst|jd|jd�|_dSr)r�rr�rjr+r+r,�depart_sectionGs
�zLaTeXTranslator.depart_sectioncCs|j�d�dS)Nz{\color{red}\bfseries{}�r[r�rjr+r+r,�visit_problematicKsz!LaTeXTranslator.visit_problematiccCs|j�d�dS�Nrxrrjr+r+r,�depart_problematicNsz"LaTeXTranslator.depart_problematiccCsd|_|j�tdt�dS)Nr~z\begin{sphinxShadowBox}�r�r[r�r{rjr+r+r,�visit_topicQszLaTeXTranslator.visit_topiccCsd|_|j�dt�dS)Nrz\end{sphinxShadowBox}r rjr+r+r,�depart_topicUszLaTeXTranslator.depart_topiccCsdSr?r+rjr+r+r,�visit_glossary[szLaTeXTranslator.visit_glossarycCsdSr?r+rjr+r+r,�depart_glossary^szLaTeXTranslator.depart_glossarycCs&|j�t�|j�dt�d|_dS)Nz\begin{productionlist}r~)r[r�rr{r�rjr+r+r,�visit_productionlistasz$LaTeXTranslator.visit_productionlistcCs|j�dt�d|_dS)Nz\end{productionlist}r)r[r�rr�rjr+r+r,�depart_productionlistfsz%LaTeXTranslator.depart_productionlistcCsN|dr>|d}|j�|�d|��|j�d|�|��n|j�d�dS)NZ	tokennamezgrammar-token-z\production{%s}{z\productioncont{)r[r�r�r�)rCrW�tnr+r+r,�visit_productionjs
z LaTeXTranslator.visit_productioncCs|j�dt�dSr�r[r�r{rjr+r+r,�depart_productionrsz!LaTeXTranslator.depart_productioncCs|j�|jd�dS)NZ
transition)r[r�r�rjr+r+r,�visit_transitionusz LaTeXTranslator.visit_transitioncCsdSr?r+rjr+r+r,�depart_transitionxsz!LaTeXTranslator.depart_transitioncCs|j}t|tj�rtj��n�t|tj��r,|jr�t|j	�dkrbt|j	dtj
�sbtjt
d�|d�|jds�|�|���|jd<d|_tj�n�d}t|�tj��r�d|�d�t|�����}z |j�d	|j|j|f�Wn.t�y|j�d	|jd
|f�Yn0|j�dt|�|j��n�t|tj��rX|j�d�|j�dt�n�t|tj ��r�|j�d
�|j�dt�ntt|tj!��r�|j�d�|j�dt�nHt|tj"��r�|�#g�n.tjt
d�|d�|j�d�|j�dt�d|_$dS)Nr~rz(document title is not a single Text node��location�titler9�[%s]� z\%s%s{r�rxz\sphinxstyletopictitle{z\sphinxstylesidebartitle{�{zJencountered title node not in section, topic, table, admonition or sidebarz\sphinxstyleothertitle{)%�parentrr�seealsor�SkipNoder(r�r��childrenrr�r�rr�r�rP�any�findall�imagerzr�splitr[r�r�rr�r�r{r�Ztopic�sidebarZ
Admonitionr�r�r�)rCrWr3Zshortr+r+r,�visit_title{sP
�
�
  
�zLaTeXTranslator.visit_titlecCs8d|_t|jtj�r"|��|j_n|j�|j	�
��dS�Nr)r�rr3rr�r�rcr[r�r�r�rjr+r+r,�depart_title�szLaTeXTranslator.depart_titlecCs<t|jtj�r,|j�d�|j�dt�n|j�d�dS)Nz\sphinxstylesidebarsubtitle{rxr9)rr3rr;r[r�r�r{rjr+r+r,�visit_subtitle�szLaTeXTranslator.visit_subtitlecCs|j�|j���dSr?�r[r�r�r�rjr+r+r,�depart_subtitle�szLaTeXTranslator.depart_subtitlecCsX|jjdkr*|j�t�|j�dt�n|j�t�|j�dt�|jrTd|j_dS)N�footnotez&\begin{savenotes}\begin{fulllineitems}z\begin{fulllineitems}T)r��latex_show_urlsr[r�rr{r�r`rjr+r+r,�
visit_desc�szLaTeXTranslator.visit_desccCs:|jjdkr"|j�tdt�n|j�tdt�dS)NrBz"\end{fulllineitems}\end{savenotes}z\end{fulllineitems})r�rCr[r�r{rrjr+r+r,�depart_desc�szLaTeXTranslator.depart_desccCs6|D] }t|tj�r|j�d�q2q|j�d�dS)Nz\pysiglinewithargsret{z\pysigline{)rrZdesc_parameterlistr[r�)rCrW�childr+r+r,�_visit_signature_line�s
z%LaTeXTranslator._visit_signature_linecCs|j�d�dSrrrjr+r+r,�_depart_signature_line�sz&LaTeXTranslator._depart_signature_linecCst|jddkr*|dr*|�|dd�}nd}|j�|�|�d�sP|�|�n |j�dt�|j�dt�dS)	NZobjtypeZdescriber�rr9�is_multiliner�z\pysigstartmultiline)r3r�r[r�r\rGr{)rCrWZhyperr+r+r,�visit_desc_signature�s
z$LaTeXTranslator.visit_desc_signaturecCs6|�d�s|�|�n|j�dt�|j�d�dS)NrIr�z\pysigstopmultiline)r\rHr[r�r{rjr+r+r,�depart_desc_signature�s
z%LaTeXTranslator.depart_desc_signaturecCs|�|�dSr?)rGrjr+r+r,�visit_desc_signature_line�sz)LaTeXTranslator.visit_desc_signature_linecCs|�|�dSr?)rHrjr+r+r,�depart_desc_signature_line�sz*LaTeXTranslator.depart_desc_signature_linecCsdSr?r+rjr+r+r,�visit_desc_content�sz"LaTeXTranslator.visit_desc_contentcCsdSr?r+rjr+r+r,�depart_desc_content�sz#LaTeXTranslator.depart_desc_contentcCs|j�d�dS)N�\sphinxcode{\sphinxupquote{rrjr+r+r,�visit_desc_inline�sz!LaTeXTranslator.visit_desc_inlinecCs|j�d�dS�N�}}rrjr+r+r,�depart_desc_inlinesz"LaTeXTranslator.depart_desc_inlinecCs|j�d�|jd7_dS)N�\sphinxbfcode{\sphinxupquote{r~�r[r�r�rjr+r+r,�visit_desc_nameszLaTeXTranslator.visit_desc_namecCs|j�d�|jd8_dS�NrSr~rVrjr+r+r,�depart_desc_name
sz LaTeXTranslator.depart_desc_namecCs|j�d�|jd7_dS)NrPr~rVrjr+r+r,�visit_desc_addnamesz"LaTeXTranslator.visit_desc_addnamecCs|j�d�|jd8_dSrXrVrjr+r+r,�depart_desc_addnamesz#LaTeXTranslator.depart_desc_addnamecCsdSr?r+rjr+r+r,�visit_desc_typeszLaTeXTranslator.visit_desc_typecCsdSr?r+rjr+r+r,�depart_desc_typesz LaTeXTranslator.depart_desc_typecCs|j�d�dS)Nz{ $\rightarrow$ rrjr+r+r,�visit_desc_returnssz"LaTeXTranslator.visit_desc_returnscCs|j�d�dSrrrjr+r+r,�depart_desc_returnssz#LaTeXTranslator.depart_desc_returnscCs|j�d�d|_dS)N�}{r~)r[r�r�rjr+r+r,�visit_desc_parameterlist"sz(LaTeXTranslator.visit_desc_parameterlistcCs|j�d�dS)Nr`rrjr+r+r,�depart_desc_parameterlist'sz)LaTeXTranslator.depart_desc_parameterlistcCs4|js|j�d�nd|_|�d�s0|j�d�dS)N�, r�noemph�\emph{)r�r[r��hasattrrjr+r+r,�visit_desc_parameter+s

z$LaTeXTranslator.visit_desc_parametercCs|�d�s|j�d�dS)Nrdrx)rfr[r�rjr+r+r,�depart_desc_parameter3s
z%LaTeXTranslator.depart_desc_parametercCs|j�d�dS)Nz\sphinxoptional{rrjr+r+r,�visit_desc_optional7sz#LaTeXTranslator.visit_desc_optionalcCs|j�d�dSrrrjr+r+r,�depart_desc_optional:sz$LaTeXTranslator.depart_desc_optionalcCs|j�d�dS)NrUrrjr+r+r,�visit_desc_annotation=sz%LaTeXTranslator.visit_desc_annotationcCs|j�d�dSrRrrjr+r+r,�depart_desc_annotation@sz&LaTeXTranslator.depart_desc_annotationcCs8|j�t�|j�dtdt�|j�dt�dS)Nz\sphinxstrong{%s:}r4z\nopagebreak)r[r�rrr{rjr+r+r,�
visit_seealsoEszLaTeXTranslator.visit_seealsocCs|j�t�dSr?)r[r�rrjr+r+r,�depart_seealsoJszLaTeXTranslator.depart_seealsocCsLt|�dkr&|��dtd�fvr&tj�|j�d�|j�dt�d|_	dS)Nr~Z	Footnotesz\subsubsection*{rx)
r�rPrrr5r[r�r�r{r�rjr+r+r,�visit_rubricMs
 zLaTeXTranslator.visit_rubriccCsd|_|j�|j���dSr=)r�r[r�r�r�rjr+r+r,�
depart_rubricTszLaTeXTranslator.depart_rubriccCs�|jd7_ttj|d�}d|vr2|j�d�|jrN|j�d|���n$|j�dt�|j�d|���d|vr�|j�d|��t�|j�dt�dS)	Nr~r�autoz\sphinxstepexplicit z\begin{footnote}[%s]r�z+\phantomsection\label{\thesphinxscope.%s}%%�\sphinxAtStartFootnote)	r�rr�labelr[r�r�rPr{�rCrWrsr+r+r,�visit_footnoteXs��zLaTeXTranslator.visit_footnotecCsB|jr|j�d�n|j�dt�|j�d�|jd8_dS)Nz\end{footnote}r�r~)r�r[r�r{r�rjr+r+r,�depart_footnotegs
zLaTeXTranslator.depart_footnotecCs
tj�dSr?�rr5rjr+r+r,�visit_labeloszLaTeXTranslator.visit_labelcCs|d|_tj�dS)N�spec)r�rr5rjr+r+r,�visit_tabular_col_specrs
z&LaTeXTranslator.visit_tabular_col_speccCs�t|j�dkrD|j��dkr:td|jd|jp0df��qnd|j_n*t|j�dkrntd|jd|jpfdf��|j�t	|��|j
r�d	|j
t|j_d
|�
dg�vr�tjtd�|d
�d|_
dS)Nr~rlz2%s:%s: longtable does not support nesting a table.r�r9TrHz0%s:%s: deeply nested tables are not implemented.z{%s}rprYzGboth tabularcolumns and :widths: option are given. :widths: is ignored.r-)r�r�r�rqr6r��liner`r�rUr�r{r^r\r��inforrjr+r+r,�visit_tablevs,��
��
�zLaTeXTranslator.visit_tablecCs`|�|�}|j��}|�|dt|j|d��}|j�t�|j�|�|j�t�|j	�
�dS)Nz.tex_t)r�r�)r�r�rqr��dictr[r�rr{r�r�)rCrWr�Z
table_typer�r+r+r,�depart_table�s


�zLaTeXTranslator.depart_tablecCsL|jjd7_d|vr*|jj�|d�d|vrH|jj�|jjd�dS)Nr~ZcolwidthZstub)r�r]r_r�rdrjr+r+r,�
visit_colspec�s
zLaTeXTranslator.visit_colspeccCsdSr?r+rjr+r+r,�depart_colspec�szLaTeXTranslator.depart_colspeccCsdSr?r+rjr+r+r,�visit_tgroup�szLaTeXTranslator.visit_tgroupcCsdSr?r+rjr+r+r,�
depart_tgroup�szLaTeXTranslator.depart_tgroupcCs|�|jj�dSr?)r�r�rZrjr+r+r,�visit_thead�szLaTeXTranslator.visit_theadcCs|��dSr?�r�rjr+r+r,�depart_thead�szLaTeXTranslator.depart_theadcCs|�|jj�dSr?)r�r�r[rjr+r+r,�visit_tbody�szLaTeXTranslator.visit_tbodycCs|��dSr?r�rjr+r+r,�depart_tbody�szLaTeXTranslator.depart_tbodycCs�d|j_|j�|jj|jj�}|dur*q�q|jj|j7_|jrN|j�d�|jdkrl|j�d|j�q|j�d|j|jf�qdS)Nr�&r~�\sphinxtablestrut{%d}z,\multicolumn{%d}{|l|}{\sphinxtablestrut{%d}})r�rer�rfrsr[r�ri)rCrWr�r+r+r,�	visit_row�s

�zLaTeXTranslator.visit_rowcs��j�dt��fdd�t�jj�D�}�fdd�|D�}t|�rR�j�d�nhd}|�dg�|t|�kr�||dur�||d��	d�}�j�d	|d
||f�||7}|d
7}qb�jj
d
7_
dS)Nz\\csg|]}�j��jj|��qSr+)r�r�rf)rrrrmr+r,rv�r.z.LaTeXTranslator.depart_row.<locals>.<listcomp>cs$g|]}|j|j�jjdk�qS)r~)rfr}r�)rrr�rmr+r,rv�r.z\hlinerFTz
\cline{%d-%d}r~)r[r�r{rr�r]�all�extendr�r�rf)rCrWrhZ
underlinedrr�r+rmr,�
depart_row�s
zLaTeXTranslator.depart_rowcCs�|jjdkr|j�d�|j�|�dd�d|�dd�d�|j��}d}|jdkr�|jj	r�|jjdkr�|j�d|jt
�n|j�d|jt
�d	t
}n|j�d
|jt
�dt
}|jdkr�|j�d|j|jft
�d	t
|}|jdk�s
|jdk�rB|j�d
|j|jj
ft
�dt
dt
|}d|_tt|�tj���dk�rdd|j_t|jjtj��s�|j|jjv�r�t|�dk�r�t|dtj��r�|��dk�r�n|j�d�|j�r�|�g�|j�|�dS)Nrr�Zmorerowsr~Zmorecolsr9z\multicolumn{%d}{|l|}{%%z\multicolumn{%d}{l|}{%%z}%z\sphinxstartmulticolumn{%d}%%z\sphinxstopmulticolumnz\sphinxmultirow{%d}{%d}{%%z,\begin{varwidth}[t]{\sphinxcolwidth{%d}{%d}}z\parz7\vskip-\baselineskip\vbox{\hbox{\strut}}\end{varwidth}%rHTz\sphinxstyletheadfamily )r�rer[r�r�r\r�rsr�Zlatex_use_latex_multicolumnr{r}rir]r�r�rr8rr)rarr3ZtheadrdrPr�r�)rCrWr�r�r+r+r,�visit_entry�sJ&



��
��".
zLaTeXTranslator.visit_entrycCs�|jr<d|_|��}|r0|dtkr0|�d�q|j�|�|j�|j���|j�	�}|jj
|j7_
|j�	�}|dur�q�qj|jj
|j7_
|j�d�|jdkr�|j�d|j�qj|j�d|j|jf�qjdS)Nrr�r~r�z+\multicolumn{%d}{l|}{\sphinxtablestrut{%d}})
r�r�r{r�r[r�r�r�r�r�rersri)rCrWr[r�Znextcellr+r+r,�depart_entry�s&



�zLaTeXTranslator.depart_entrycCsbttj|d�}tttj|�}|j�t�|j�d�dd�|D��d�|j�t�tj	�dS)Nrrccss|]}|��VqdSr?�rP)rr�nr+r+r,r�%r.z-LaTeXTranslator.visit_acks.<locals>.<genexpr>�.)
rr�bullet_listrZ	list_itemr[r�rrzr5)rCrWr�Z
list_itemsr+r+r,�
visit_ackss zLaTeXTranslator.visit_ackscCs(|js|j�dt�|jr$d|j_dS)Nz\begin{itemize}T�r�r[r�r{r�r`rjr+r+r,�visit_bullet_list)sz!LaTeXTranslator.visit_bullet_listcCs|js|j�dt�dS)Nz
\end{itemize}�r�r[r�r{rjr+r+r,�depart_bullet_list/sz"LaTeXTranslator.depart_bullet_listcs�ttd�dd�}ttd��fdd��dt�|����}dt�|�d���}t�||��}|�dd	�}|�d
d�}|j�dt	�|j�d
|||||ft	�d|vr�|j�d||ddft	�|j
r�d|j
_dS)NrVcSs4|�dd�}d|vr0d|�dd�t|�kr0d}|S)N�enumtyper/Zalpha��startr)r\r�)rWr�r+r+r,�get_enumtype4s z;LaTeXTranslator.visit_enumerated_list.<locals>.get_enumtypecs4|durdSt|tj�r&�|j�dS�|j�SdSr�)rr�enumerated_listr3)rW��get_nested_levelr+r,r�<s
z?LaTeXTranslator.visit_enumerated_list.<locals>.get_nested_levelzenum%sr~r�r9r�r�z\begin{enumerate}z*\sphinxsetlistlabels{%s}{%s}{%s}{%s}{%s}%%r�z\setcounter{%s}{%d}T)rr�rgr"�lower�ENUMERATE_LIST_STYLEr\r[r�r{r�r`)rCrWr��enumZenumnext�styler�r�r+r�r,�visit_enumerated_list3s"�� z%LaTeXTranslator.visit_enumerated_listcCs|j�dt�dS)Nz\end{enumerate}r)rjr+r+r,�depart_enumerated_listRsz&LaTeXTranslator.depart_enumerated_listcCs|j�d�dS)Nz	\item {} rrjr+r+r,�visit_list_itemUszLaTeXTranslator.visit_list_itemcCs|j�t�dSr?r)rjr+r+r,�depart_list_itemZsz LaTeXTranslator.depart_list_itemcCs"|j�dt�|jrd|j_dS)Nz\begin{description}T�r[r�r{r�r`rjr+r+r,�visit_definition_list]sz%LaTeXTranslator.visit_definition_listcCs|j�dt�dS)Nz\end{description}r)rjr+r+r,�depart_definition_listbsz&LaTeXTranslator.depart_definition_listcCsdSr?r+rjr+r+r,�visit_definition_list_itemesz*LaTeXTranslator.visit_definition_list_itemcCsdSr?r+rjr+r+r,�depart_definition_list_itemhsz+LaTeXTranslator.depart_definition_list_itemcCsd|jd7_d}|�d�r@d}|dD]}||j|dd�7}q(|d7}|j�d�|j�|�dS)	Nr~r9r�r�Fr�z}] \leavevmodez\item[{)r�r\r�r[r�r�)rCrW�ctxr�r+r+r,�
visit_termks
zLaTeXTranslator.visit_termcCs$|j�|j���|jd8_dSr)r[r�r�r�r�rjr+r+r,�depart_termvszLaTeXTranslator.depart_termcCs|j�d�dS)Nz{[}rrjr+r+r,�visit_classifierzsz LaTeXTranslator.visit_classifiercCs|j�d�dS)Nz{]}rrjr+r+r,�depart_classifier}sz!LaTeXTranslator.depart_classifiercCsdSr?r+rjr+r+r,�visit_definition�sz LaTeXTranslator.visit_definitioncCs|j�t�dSr?r)rjr+r+r,�depart_definition�sz!LaTeXTranslator.depart_definitioncCs"|j�dt�|jrd|j_dS)Nz \begin{quote}\begin{description}Tr�rjr+r+r,�visit_field_list�sz LaTeXTranslator.visit_field_listcCs|j�dt�dS)Nz\end{description}\end{quote}r)rjr+r+r,�depart_field_list�sz!LaTeXTranslator.depart_field_listcCsdSr?r+rjr+r+r,�visit_field�szLaTeXTranslator.visit_fieldcCsdSr?r+rjr+r+r,�depart_field�szLaTeXTranslator.depart_fieldcCs�|j�|�}|dkr`t|jtj�r`t|j|dtj�s`t|j|dtj�s`|j�dt�n0|dkr|t|jtj	t
f�r|n|j�tdtg�dS)Nrr~�	\noindentz\sphinxAtStartPar)r3r�rrZcompoundr)r[r�r{rB�footnotetextr�)rCrWr�r+r+r,�visit_paragraph�s��zLaTeXTranslator.visit_paragraphcCs|j�t�dSr?r)rjr+r+r,�depart_paragraph�sz LaTeXTranslator.depart_paragraphcCs"|j�td�|jrd|j_dS)N�\begin{center}Tr�rjr+r+r,�visit_centered�szLaTeXTranslator.visit_centeredcCs|j�td�dS)N�\end{center}r)rjr+r+r,�depart_centered�szLaTeXTranslator.depart_centeredcCsj|jd7_|d}|jdkr0|j�dt�|j�d|dt�|j�dt�|jrfd|j_dS)Nr~�ncolumnsz\setlength{\multicolsep}{0pt}z\begin{multicols}{z
}\raggedrightzA\begin{itemize}\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}Tr�)rCrWr�r+r+r,�visit_hlist�s
�zLaTeXTranslator.visit_hlistcCs"|jd8_|j�dt�dS)Nr~z*\end{itemize}\raggedcolumns\end{multicols}r�rjr+r+r,�depart_hlist�szLaTeXTranslator.depart_hlistcCsdSr?r+rjr+r+r,�visit_hlistcol�szLaTeXTranslator.visit_hlistcolcCsdSr?r+rjr+r+r,�depart_hlistcol�szLaTeXTranslator.depart_hlistcolr�r�cCs6zt||�WSty0t�td�|�YdS0dS)Nz&dimension unit %s is invalid. Ignored.)r�r�r�r�r)rCr�r�r+r+r,�latex_image_length�s
z"LaTeXTranslator.latex_image_lengthcCst|jtj�S)z2Check whether a node represents an inline element.)rr3rZTextElementrjr+r+r,�	is_inline�szLaTeXTranslator.is_inlinecCsdg}g}g}t|jtj�}|r,|�|j�}n
|�|�}d|vr|d|vr\|�|d|d�}n|�|d�}|r||�d|�d|vr�d|vr�|�|d|d�}n|�|d�}|r�|�d|�d|vr�|s�|�dt|d�d�d|v�rRd	d
ddd
dd�}	z8|�|	||dfd�|�|	||dfd�Wnt�yPYn0|j	�rn|�d�|�d�|�s�|�s�|�t
d�|�t
�|��|d|jj
v�r�|jj
|d}
n|j�r�dS|d}
|
�d�dk�r�dS|j�|�d}|�r
dd�|�}t�|
�\}}
|j�r>|�r>|j�d|||
f�n|j�d|||
f�|j�|�dS)Nrsr�zwidth=%sr}z	height=%szscale=%sr�rX)r9r9)z\raisebox{-0.5\height}{rx)z\raisebox{-\height}{rx)�{\hspace*{\fill}�\hspace*{\fill}})r2r�)r�rx))r~�top)r~Zmiddle)r~Zbottom)r�center)r�left)r�rightrr~z!{\sphinxunactivateextrasandspace rxr��uriz://r�r9r0r�z,\lowercase{\sphinxincludegraphics%s}{{%s}%s}z \sphinxincludegraphics%s{{%s}%s})rr3r�	referencer�r�r�r��KeyErrorr�r{�reverser=Zimages�ignore_missing_images�findr[r�rzr�splitextr�)rCrWZpreZpostZinclude_graphics_optionsZ
has_hyperlinkr��w�hZ
align_prepostr��options�base�extr+r+r,�visit_image�s�
�
�


��zLaTeXTranslator.visit_imagecCsdSr?r+rjr+r+r,�depart_image*szLaTeXTranslator.depart_imagecCs�|jd}|jrd}|jr�d|vrZ|�|d�}|rz|j�d|t�|j�dt�n |j�dt�|j�dt�tdd�|D��r�|j�d	�|j�d
t��n@|�	dd�d
v�rfd}d|vr�|�|d�}n2t
|dtj��rd|dv�r|�|dd�}|j�t
�|j�d|ddk�r2dnd|�p<dft�|j�d�|j�dt�n�|j�r�|j�td�|j�dt�n\|j�td|t�|j�dt�tdd�|D���r�|j�d	t�|j�dt�dS)NZfigure_align�Hrsz!\begin{sphinxfigure-in-table}[%s]z
\centeringz\begin{sphinxfigure-in-table}css|]}t|tj�VqdSr?�rrrc�rrrFr+r+r,r�;r.z/LaTeXTranslator.visit_figure.<locals>.<genexpr>z	\capstartz!\end{sphinxfigure-in-table}\relaxrXr9)r�r�rz\begin{wrapfigure}{%s}{%s}r��r�lZ0ptz\end{wrapfigure}r�r�z\begin{figure}[%s]css|]}t|tj�VqdSr?r�r�r+r+r,r�Pr.z\end{figure})r�r�r�r�r[r�r{r7r�r\rrr9rr�)rCrWrX�lengthr+r+r,�visit_figure-sH
 ��zLaTeXTranslator.visit_figurecCs|j�|j���dSr?r@rjr+r+r,�
depart_figureTszLaTeXTranslator.depart_figurecCsz|jd7_t|jt�r(|j�d�nN|jrJt|jtj�rJ|j�d�n,|j	rj|jj
dkrj|j�d�n|j�d�dS)Nr~z\sphinxSetupCaptionForVerbatim{z\captionof{figure}{�figurez\sphinxfigcaption{z	\caption{)r�rr3�captioned_literal_blockr[r�r�rr�r��tagnamerjr+r+r,�
visit_captionWszLaTeXTranslator.visit_captioncCsD|j�d�t|jtj�r2|�|j�}|j�|�|jd8_dS)Nrxr~)r[r�rr3rr�r�r�)rCrWr�r+r+r,�depart_captionbs
zLaTeXTranslator.depart_captioncCs|j�td�dS)Nz\begin{sphinxlegend}r)rjr+r+r,�visit_legendiszLaTeXTranslator.visit_legendcCs|j�dt�dS)Nz\end{sphinxlegend}r)rjr+r+r,�
depart_legendlszLaTeXTranslator.depart_legendcCs"|j�td�|jd7_dS)Nz\begin{sphinxadmonition}{note}r~�r[r�r{r�rjr+r+r,�visit_admonitionosz LaTeXTranslator.visit_admonitioncCs"|j�dt�|jd8_dS�Nz\end{sphinxadmonition}r~r�rjr+r+r,�depart_admonitionssz!LaTeXTranslator.depart_admonitioncCs6t|j}|j�td|j|f�|jd7_dS)Nz!\begin{sphinxadmonition}{%s}{%s:}r~)rr�r[r�r{r�rtr+r+r,�_visit_named_admonitionws


�z'LaTeXTranslator._visit_named_admonitioncCs"|j�dt�|jd8_dSr�r�rjr+r+r,�_depart_named_admonition}sz(LaTeXTranslator._depart_named_admonitioncCsdSr?r+rjr+r+r,�visit_versionmodified�sz%LaTeXTranslator.visit_versionmodifiedcCsdSr?r+rjr+r+r,�depart_versionmodified�sz&LaTeXTranslator.depart_versionmodifiedcs�tdd���fdd�}�}t|tj�r4|jdd�}qtt�jj�	d��}t|t
�rVdS|�|�rn|�|�rndSd�vrzdSd�vr�dS��
d	�r�t��}t|tj�r��d	|d	kr�n|�d	��d
D]}||�q�dS)Nr�cst|�d�rdS|�d�rdS�j���}|dkrRt�j|dtj�rR�j�t��j	}�j��j
||d��dS)Nzindex-z	equation-rr~r�)�
startswithr3r�rrr)r[r�r{r�r�)r�r�r��rWrCr+r,�
add_target�s

z0LaTeXTranslator.visit_target.<locals>.add_targetT)ZascendZstd�refuriZ	anonymous�refidr�)r�rr�target�	next_noderrr=rZ
get_domain�HYPERLINK_SUPPORT_NODESZget_enumerable_node_typeZget_numfig_titler\rr�)rCrWr�r�r
Z	prev_noder�r+r�r,�visit_target�s(

zLaTeXTranslator.visit_targetcCsdSr?r+rjr+r+r,�
depart_target�szLaTeXTranslator.depart_targetcCs$|j�tdt�|j�d�dS)Nz\begin{flushright}z---r)rjr+r+r,�visit_attribution�sz!LaTeXTranslator.visit_attributioncCs|j�tdt�dS)Nz\end{flushright}r)rjr+r+r,�depart_attribution�sz"LaTeXTranslator.depart_attributioncs�ttd��fdd��ttd�dd�}|�dd�s<�j�t�|d	}|D�]~\}}}}}d
}	|rdd}	�z,|dk�rzN�fd
d�tdd|�D�\}
}||
�||�}}
�j�d|
|||
|	f�WnFt�y�tdd|�d�}||�}�j�d|||	f�Yn0�n�|dk�rn�fdd�tdd|�D�\}
}||
�||�}}
�j�d|
|||
|	||
|
||	f
��n"|dk�r�fdd�tdd|�D�\}
}}||
�||�||�}}
}�j�d|
||||
||	||
||
|||	|||
|||
|	f�n�|dk�r8�fdd�tdd|�D�\}
}||
�}�j�d|
||f�nX|dk�r��fdd�tdd|�D�\}
}||
�}�j�d|
||f�nt�t	d �|�WqHt�y�}zt�t|��WYd}~qHd}~00qH|�dd��s�j�d!�t
j�dS)"N)�valuer>csV��|�}|�dd�}|�dd�}|�dd�}|�dd�}|�d	d
�}|�dd�}|S)
Nz\{z\sphinxleftcurlybrace{}z\}z\sphinxrightcurlybrace{}�"z""�@z"@�!z"!rwz
\textbar{}�r�r�)r�rmr+r,r��s
z+LaTeXTranslator.visit_index.<locals>.escape)�stringr>cSs$t�|�}|r|�d�Sd|SdS)Nz\\spxentry{\1}\\spxextra{\2}z
\spxentry{%s})�EXTRA_REr��expand)rr�r+r+r,r��s

z*LaTeXTranslator.visit_index.<locals>.styleZinlineTrr9z	|spxpagemZsinglecsg|]}�|��qSr+r+�rr�x�r�r+r,rv�r.z/LaTeXTranslator.visit_index.<locals>.<listcomp>rHz\index{%s@%s!%s@%s%s}r~rz\index{%s@%s%s}Zpaircsg|]}�|��qSr+r+rr	r+r,rv�r.z*\index{%s@%s!%s@%s%s}\index{%s@%s!%s@%s%s}Ztriplecsg|]}�|��qSr+r+rr	r+r,rv�r.r�zS\index{%s@%s!%s %s@%s %s%s}\index{%s@%s!%s, %s@%s, %s%s}\index{%s@%s!%s %s@%s %s%s}Zseecsg|]}�|��qSr+r+rr	r+r,rvr.z\index{%s@%s|see{%s}}r4csg|]}�|��qSr+r+rr	r+r,rv	r.z!unknown index entry type %s foundz\ignorespaces )r�r\r[r�r{rr�r�r�rrr5)rCrWr�r�typerZ_tidZismainZ_key�mZp1Zp2ZP1ZP2�p�PZp3ZP3�errr+)r�rCr,�visit_index�sd

 
�

 ���

&zLaTeXTranslator.visit_indexcCsZ|�|�s|j�t�d|�dd���vr:|j�|���|�|�sP|j�t�tj�dS)Nr��formatr9)	r�r[r�r{r\r:rPrr5rjr+r+r,�	visit_raws

zLaTeXTranslator.visit_rawcCs�|js6|�d�D]$}|j}|j|j||d�7_q|�|�sL|j�t�|�dd�}|s�|�d�r�d|jdd|d}|js�|s�|j	�d��n�|�
d��r|jdd	|d
d�}|j�|�|��|j�d�|jj
�r|j�s|j	�d|�|��n|j	�d
��nh|�
d��r|�d�}|dk�rJ|d
d�d}n|d
d��dd	�}|j�|�|��t|��r�t|dtj��r�d|d�dg�v�r�|j	�d
�|j�d�nB|j�d�|jj
�r�|j�s�|j	�d|�|��n|j	�d
�n�t|�d
k�r^||dk�r^|�d��r@|j�d|�|��n|j�d|�|��tj�n"|j�d|�|��|j	�d�dS)Nr�r�r�r9r�r�r��#r�r~rez}}} (%s)z}}}z::docrzstd-termrYz\sphinxtermref{z\sphinxcrossref{Z	nolinkurlz\sphinxnolinkurl{%s}z\sphinxurl{%s}z\sphinxhref{%s}{rx)r�r\r�r[r�r�r�r{r�r�r�r�r�Zlatex_show_pagerefsr�r�r�r�r�rrr�
encode_urir5)rCrWr�r�r�Z	hashindexr+r+r,�visit_referencesX


�


��zLaTeXTranslator.visit_referencecCs,|j�|j���|�|�s(|j�t�dSr?)r[r�r�r�r�r{rjr+r+r,�depart_referenceUs
z LaTeXTranslator.depart_referencecCs�|�d�r"|jdd|d}n|�dd�dd��dd�}|�|�dd	���d
d	�}d|vshd|vr�|�dd
��dd�}t|�jd|�|�d|�|�d�}nt|�d|�|�}d|�|�|f}|j�|�t	j
�dS)Nr�r�r�r�r9r~rr/z%sz\%sz\{name\}z
\{number\}z{name}z{number}z\nameref{%s}�\ref{%s})r
�numberz\hyperref[%s]{%s})r\r�r�r�r�rr�r[r�rr5)rCrWr�r/r�Zhyperrefr+r+r,�visit_number_referenceZs
�z&LaTeXTranslator.visit_number_referencecCsdSr?r+rjr+r+r,�visit_download_referencensz(LaTeXTranslator.visit_download_referencecCsdSr?r+rjr+r+r,�depart_download_referenceqsz)LaTeXTranslator.depart_download_referencecCsdSr?r+rjr+r+r,�visit_pending_xreftsz"LaTeXTranslator.visit_pending_xrefcCsdSr?r+rjr+r+r,�depart_pending_xrefwsz#LaTeXTranslator.depart_pending_xrefcCs|j�d�dS)Nz\sphinxstyleemphasis{rrjr+r+r,�visit_emphasiszszLaTeXTranslator.visit_emphasiscCs|j�d�dSrrrjr+r+r,�depart_emphasis}szLaTeXTranslator.depart_emphasiscCs|j�d�dS)Nz+\sphinxstyleliteralemphasis{\sphinxupquote{rrjr+r+r,�visit_literal_emphasis�sz&LaTeXTranslator.visit_literal_emphasiscCs|j�d�dSrRrrjr+r+r,�depart_literal_emphasis�sz'LaTeXTranslator.depart_literal_emphasiscCs|j�d�dS)Nz\sphinxstylestrong{rrjr+r+r,�visit_strong�szLaTeXTranslator.visit_strongcCs|j�d�dSrrrjr+r+r,�
depart_strong�szLaTeXTranslator.depart_strongcCs|j�d�dS)Nz)\sphinxstyleliteralstrong{\sphinxupquote{rrjr+r+r,�visit_literal_strong�sz$LaTeXTranslator.visit_literal_strongcCs|j�d�dSrRrrjr+r+r,�depart_literal_strong�sz%LaTeXTranslator.depart_literal_strongcCs`|��}|j�d�|�d�rP||jvrP|j�d|�|d��|j�|�n|j�d�dS)Nz\sphinxstyleabbreviation{Zexplanationz} (%s)rx)rPr[r�rfr�r�r��add)rCrWZabbrr+r+r,�visit_abbreviation�sz"LaTeXTranslator.visit_abbreviationcCs|j�|j���dSr?r@rjr+r+r,�depart_abbreviation�sz#LaTeXTranslator.depart_abbreviationcCs
|�|�Sr?)rrjr+r+r,�
visit_manpage�szLaTeXTranslator.visit_manpagecCs
|�|�Sr?)r rjr+r+r,�depart_manpage�szLaTeXTranslator.depart_manpagecCs|j�d�dS)Nz\sphinxtitleref{rrjr+r+r,�visit_title_reference�sz%LaTeXTranslator.visit_title_referencecCs|j�d�dSrrrjr+r+r,�depart_title_reference�sz&LaTeXTranslator.depart_title_referencecCsntttj|�}dd�|D�}tdd�|D�td�}t|�tkrL|dt�}|j�t	d|�
|�t	�dS)Ncss|]}ttj|d�VqdS)rN)rrrs)rr�citationr+r+r,r��r.z8LaTeXTranslator.visit_thebibliography.<locals>.<genexpr>css|]}|��VqdSr?r�)rrrsr+r+r,r��r.)�keyz!\begin{sphinxthebibliography}{%s})rrrr,r�r��MAX_CITATION_LABEL_LENGTHr[r�r{r�)rCrWZ	citationsr�Z
longest_labelr+r+r,�visit_thebibliography�s
��z%LaTeXTranslator.visit_thebibliographycCs|j�dt�dS)Nz\end{sphinxthebibliography}r)rjr+r+r,�depart_thebibliography�sz&LaTeXTranslator.depart_thebibliographycCs@ttj|d�}|j�d|�|���|d|ddf�dS)Nrz\bibitem[%s]{%s:%s}rr�)rrrsr[r�r�rPrtr+r+r,�visit_citation�s�zLaTeXTranslator.visit_citationcCsdSr?r+rjr+r+r,�depart_citation�szLaTeXTranslator.depart_citationcCs.|jrn"|j�d|d|df�tj�dS)Nz\sphinxcite{%s:%s}rZrefname)r�r[r�rr5rjr+r+r,�visit_citation_reference�sz(LaTeXTranslator.visit_citation_referencecCsdSr?r+rjr+r+r,�depart_citation_reference�sz)LaTeXTranslator.depart_citation_referencecCs>|jr|j�d�n&d|dvr.|j�d�n|j�d�dS)Nz*\sphinxstyleliteralintitle{\sphinxupquote{ZkbdrYz\sphinxkeyboard{\sphinxupquote{rP)r�r[r�rjr+r+r,�
visit_literal�s
zLaTeXTranslator.visit_literalcCs|j�d�dSrRrrjr+r+r,�depart_literal�szLaTeXTranslator.depart_literalcCs
tj�dSr?rwrjr+r+r,�visit_footnote_reference�sz(LaTeXTranslator.visit_footnote_referencecCs|j�d�dS)Nz\sphinxfootnotemark[rrjr+r+r,�visit_footnotemark�sz"LaTeXTranslator.visit_footnotemarkcCs|j�d�dS)N�]rrjr+r+r,�depart_footnotemark�sz#LaTeXTranslator.depart_footnotemarkcCsTttj|d�}|j�dt�|j�d|��|��ft�|j�dt�dS)Nrr�zC\begin{footnotetext}[%s]\phantomsection\label{\thesphinxscope.%s}%%rr)rrrsr[r�r{rPrtr+r+r,�visit_footnotetext�s��z"LaTeXTranslator.visit_footnotetextcCs |j�dt�|j�d�dS)Nr�z \end{footnotetext}\ignorespaces r)rjr+r+r,�depart_footnotetext�sz#LaTeXTranslator.depart_footnotetextcCsdSr?r+rjr+r+r,�visit_captioned_literal_block�sz-LaTeXTranslator.visit_captioned_literal_blockcCsdSr?r+rjr+r+r,�depart_captioned_literal_block�sz.LaTeXTranslator.depart_captioned_literal_blockc	Cs�|j|��kr0|jd7_|j�dt��n�|�|�}t|jt	�rV||�|j�7}|rx|j
sx|j�td|d�|�dd�}|�dd�}|�d	i�}|�d
d�|d
<|jj
�|i�}|jj|j|f|||d�|��}|j
�r|j�td�|�d
d�}n2|j�r(d|j_d|j_|�d
d�}n|�d
d�}|��dd�}|j�r^|j
�s^|d7}n|d7}t|�dg��dd�}|�r�|j�td|�|j�t|t�|�r�|j�dt�tj�dS)Nr~z\begin{sphinxalltt}z\def\sphinxLiteralBlockLabel{rxr�r:�linenosF�highlight_args�force)�optsr?r.z\sphinxSetupCodeBlockInFootnotez\begin{Verbatim}z\begin{sphinxVerbatim}Tz\begin{sphinxVerbatimintable}i�z\end{sphinxVerbatimintable}z\end{sphinxVerbatim}Zhl_linesr�z\fvset{hllines={, %s,}}%%z\sphinxresetverbatimhllines)Z	rawsourcerPr�r[r�r{r�rr3r�r�r\r�Zhighlight_optionsr�Zhighlight_blockr�r�r`rb�rstripr�rr5)	rCrWr��langr?r@rBZhlcodeZhllinesr+r+r,�visit_literal_block�s\

������
z#LaTeXTranslator.visit_literal_blockcCs&|j�tdt�|jd8_dS)Nz\end{sphinxalltt}r~)r[r�r{r�rjr+r+r,�depart_literal_block%sz$LaTeXTranslator.depart_literal_blockcCs|j�d�dS)Nz\item[] rrjr+r+r,�
visit_line+szLaTeXTranslator.visit_linecCs|j�t�dSr?r)rjr+r+r,�depart_line.szLaTeXTranslator.depart_linecCsVt|jtj�r0|j�dt�|j�dt�n|j�tdt�|jrRd|j_dS)Nz\item[]z'\begin{DUlineblock}{\DUlineblockindent}z\begin{DUlineblock}{0em}T)	rr3rZ
line_blockr[r�r{r�r`rjr+r+r,�visit_line_block1sz LaTeXTranslator.visit_line_blockcCs|j�dt�dS)Nz\end{DUlineblock}r)rjr+r+r,�depart_line_block:sz!LaTeXTranslator.depart_line_blockcCsXd}t|j�dkr2|jd}t|tjtjf�r2d}|sT|j�dt�|j	rTd|j	_
dS)Nrr~z
\begin{quote}T)r�r6rrr�r�r[r�r{r�r`�rCrWZdonerFr+r+r,�visit_block_quote=s
z!LaTeXTranslator.visit_block_quotecCsJd}t|j�dkr2|jd}t|tjtjf�r2d}|sF|j�dt�dS)Nrr~z\end{quote})	r�r6rrr�r�r[r�r{rKr+r+r,�depart_block_quoteKs
z"LaTeXTranslator.depart_block_quotecCs|jdr|j�d�dS)Nr�rc)r�r[r�rjr+r+r,�visit_optionVs
zLaTeXTranslator.visit_optioncCs|jdd7<dS)Nr�r~)r�rjr+r+r,�
depart_option[szLaTeXTranslator.depart_optioncCs|j�|�dd��dS)z1The delimiter between an option and its argument.Z	delimiterr1N)r[r�r\rjr+r+r,�visit_option_argument_sz%LaTeXTranslator.visit_option_argumentcCsdSr?r+rjr+r+r,�depart_option_argumentcsz&LaTeXTranslator.depart_option_argumentcCs|j�d�|j�d�dS)Nz\item [r)r[r�r�rjr+r+r,�visit_option_groupfsz"LaTeXTranslator.visit_option_groupcCs|j��|j�d�dS)Nz] )r�r�r[r�rjr+r+r,�depart_option_groupks
z#LaTeXTranslator.depart_option_groupcCs"|j�dt�|jrd|j_dS)Nz\begin{optionlist}{3cm}Tr�rjr+r+r,�visit_option_listosz!LaTeXTranslator.visit_option_listcCs|j�dt�dS)Nz\end{optionlist}r)rjr+r+r,�depart_option_listtsz"LaTeXTranslator.depart_option_listcCsdSr?r+rjr+r+r,�visit_option_list_itemwsz&LaTeXTranslator.visit_option_list_itemcCsdSr?r+rjr+r+r,�depart_option_list_itemzsz'LaTeXTranslator.depart_option_list_itemcCs$|��}|j�|�|��tj�dSr?)rPr[r�r�rr5)rCrWZostringr+r+r,�visit_option_string}sz#LaTeXTranslator.visit_option_stringcCs|j�d�dS)Nr1rrjr+r+r,�visit_description�sz!LaTeXTranslator.visit_descriptioncCsdSr?r+rjr+r+r,�depart_description�sz"LaTeXTranslator.depart_descriptioncCs|j�d�dS)Nz	$^{\text{rrjr+r+r,�visit_superscript�sz!LaTeXTranslator.visit_superscriptcCs|j�d�dS�Nz}}$rrjr+r+r,�depart_superscript�sz"LaTeXTranslator.depart_superscriptcCs|j�d�dS)Nz	$_{\text{rrjr+r+r,�visit_subscript�szLaTeXTranslator.visit_subscriptcCs|j�d�dSr\rrjr+r+r,�depart_subscript�sz LaTeXTranslator.depart_subscriptcCs�|�dg�}|dgfvr2|j�d�|j�d�n�|dgfvrX|j�d�|j�d�n`|dgfvr~|j�d�|j�d�n:|r�|js�|j�d	d
�|��|j�d�n|j�d�dS)NrYZ
menuselectionz\sphinxmenuselection{rxZguilabelz\sphinxguilabel{Zacceleratorz\sphinxaccelerator{z\DUrole{%s}{r�r9)r\r[r�r�r�rz)rCrWrYr+r+r,�visit_inline�s
zLaTeXTranslator.visit_inlinecCs|j�|j���dSr?r@rjr+r+r,�
depart_inline�szLaTeXTranslator.depart_inlinecCsdSr?r+rjr+r+r,�visit_generated�szLaTeXTranslator.visit_generatedcCsdSr?r+rjr+r+r,�depart_generated�sz LaTeXTranslator.depart_generatedcCsdSr?r+rjr+r+r,�visit_compound�szLaTeXTranslator.visit_compoundcCsdSr?r+rjr+r+r,�depart_compound�szLaTeXTranslator.depart_compoundcCs*|�dg�}|D]}|j�d|�qdS)NrYz
\begin{sphinxuseclass}{%s}�r\r[r�)rCrWrY�cr+r+r,�visit_container�szLaTeXTranslator.visit_containercCs&|�dg�}|D]}|j�d�qdS)NrYz
\end{sphinxuseclass}rf)rCrWrYZ_cr+r+r,�depart_container�sz LaTeXTranslator.depart_containercCsdSr?r+rjr+r+r,�visit_decoration�sz LaTeXTranslator.visit_decorationcCsdSr?r+rjr+r+r,�depart_decoration�sz!LaTeXTranslator.depart_decorationcCs
tj�dSr?rwrjr+r+r,�visit_header�szLaTeXTranslator.visit_headercCs
tj�dSr?rwrjr+r+r,�visit_footer�szLaTeXTranslator.visit_footercCs
tj�dSr?rwrjr+r+r,�
visit_docinfo�szLaTeXTranslator.visit_docinfor�cCs,|�|�}|jr(|�tdt��dd�}|S)Nz~\\r1�~)r�r�r�r{�rCr�r+r+r,r��s
zLaTeXTranslator.encodecCs"|�|��dd��dd��dd�S)Nz\textasciitilde{}roz\sphinxhyphen{}�-z\textquotesingle{}�'rrpr+r+r,r�s
��zLaTeXTranslator.encode_uricCs|�|���}|j�|�dSr?)r�rPr[r�)rCrWr�r+r+r,�
visit_Text�szLaTeXTranslator.visit_TextcCsdSr?r+rjr+r+r,�depart_Text�szLaTeXTranslator.depart_TextcCs
tj�dSr?rwrjr+r+r,�
visit_comment�szLaTeXTranslator.visit_commentcCs
tj�dSr?rwrjr+r+r,�
visit_meta�szLaTeXTranslator.visit_metacCsdSr?r+rjr+r+r,�visit_system_message�sz$LaTeXTranslator.visit_system_messagecCs|j�t�dSr?r)rjr+r+r,�depart_system_message�sz%LaTeXTranslator.depart_system_messagecCs:|jr|j�d|���n|j�d|���tj�dS)Nz\protect\(%s\protect\)z\(%s\))r�r[r�rPrr5rjr+r+r,�
visit_math�szLaTeXTranslator.visit_mathcCs�|�d�r d|d|df}nd}|�d�rT|rB|j�d|�|j�|���n(ddlm}|j�||��||jj��tj	�dS)Nrs�equation:%s:%srZnowrapr�r)�wrap_displaymath)
r\r[r�rPZsphinx.util.mathr{r�Zmath_number_allrr5)rCrWrsr{r+r+r,�visit_math_block�s

�z LaTeXTranslator.visit_math_blockc
Cs�d|d|df}|jj}|r�z d|}|j�|j|d��Wq�ty�}z0tjtd�||d�|j�d|�WYd}~q�d}~00n|j�d|�dS)	Nrzrr�r)rzInvalid math_eqref_format: %rr-z
\eqref{%s})	r�Zmath_eqref_formatr[r�rr�r�r�r)rCrWrsZeqref_format�ref�excr+r+r,�visit_math_reference
s�(z$LaTeXTranslator.visit_math_referencecCsdSr?r+rjr+r+r,�depart_math_referencesz%LaTeXTranslator.depart_math_reference)N)TT)F)r�(r2r3r4r=rSr�r�r�rrKrArr�r�r�r�rPr�r�rr�r�r�r�r�r�r�rr�r�rUr�rrrrrrrrr!r"Z
visit_sidebarZdepart_sidebarr#r$r%r&r(r*r+r,r<r>r?rArDrErGrHrJrKrLrMrNrOrQrTrWrYrZr[r\r]r^r_rarbrgrhrirjrkrlrmrnrorprurvrxrzr}rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�Zvisit_field_nameZdepart_field_nameZvisit_field_bodyZdepart_field_bodyr�r�r�r�r�r�r�r�rgr�r�r�r�r�r�r�r�r�r�r�r�r�r�Zvisit_attentionZdepart_attentionZ
visit_cautionZdepart_cautionZvisit_dangerZ
depart_dangerZvisit_errorZdepart_errorZ
visit_hintZdepart_hintZvisit_importantZdepart_importantZ
visit_noteZdepart_noteZ	visit_tipZ
depart_tipZ
visit_warningZdepart_warningr�r�r�r�r�r�rrrrrrrrrrrrr r!r"r#r$r&r'r(r)r*r+r/r0r1r2r3r4r5r6r7r8r:r;r<r=r>rErFZvisit_doctest_blockZdepart_doctest_blockrGrHrIrJrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r]r^r_r`rarbrcrdrerhrirjrkrlrmrnr�rrrsrtrurvrwrxryr|rr�rTr+r+rDr,rOs
��
'
0

% 
O'.B	8
3		rO)r�r�r�)r�)Ur5r�rM�collectionsr�osr�typingrrrrrr	r
rZdocutilsrr
Zdocutils.nodesrrrr�rrZsphinx.deprecationrZsphinx.domainsrZsphinx.domains.stdrZ
sphinx.errorsrZ
sphinx.localerrrZsphinx.utilrrrZsphinx.util.docutilsrZsphinx.util.nodesrrZsphinx.util.templater Zsphinx.util.texescaper!Zdocutils.utils.romanr"�ImportErrorZromanZsphinx.builders.latexr#Zsphinx.builders.latex.themingr$Z	getLoggerr2r�r.r�r�r{r�compilerrBr1r6�Writerr8rUr�r�r�rgr�rOZsphinx.builders.latex.nodesr�r�r�r+r+r+r,�<module>s|
(
��	
 c#

Youez - 2016 - github.com/yon3zu
LinuXploit