
    }c                        d Z ddlZddlZddlmZ ddlmZmZmZm	Z	m
Z
mZmZmZmZmZmZ ddlmZmZ ddlmZmZmZ ddl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#m$Z$ ddl%m&Z& ddl'm(Z( ddl)m*Z* ddl+m,Z, erddl-m.Z.  e&j/        e0          Z1dZ2dez   dz   Z3dedeej4                 fdZ5dde6de6de6fdZ7 G d dej8                  Z9 G d de(          Z:dS )z#Custom docutils writer for Texinfo.    N)path)TYPE_CHECKINGAnyDictIterableIteratorListPatternSetTupleUnioncast)nodeswriters)ElementNodeText)__display_version__addnodes)
IndexEntry)IndexDomain)ExtensionError)___admonitionlabels)logging)SphinxTranslator)format_date)collected_footnote)TexinfoBuilderzn@quotation
%(project)s %(release)s, %(date)s

%(author)s

Copyright @copyright{} %(copyright)s
@end quotation
z\input texinfo   @c -*-texinfo-*-
@c %%**start of header
@setfilename %(filename)s
@documentencoding UTF-8
@ifinfo
@*Generated by Sphinx a  .@*
@end ifinfo
@settitle %(title)s
@defindex ge
@paragraphindent %(paragraphindent)s
@exampleindent %(exampleindent)s
@finalout
%(direntry)s
@c %%**end of header

@copying
%(copying)s
@end copying

@titlepage
@title %(title)s
@insertcopying
@end titlepage
@contents

@c %%** start of user preamble
%(preamble)s
@c %%** end of user preamble

@ifnottex
@node Top
@top %(title)s
@insertcopying
@end ifnottex

@c %%**start of body
%(body)s
@c %%**end of body
@bye
sectionreturnc                     g }| D ]n}t          |t          j                  r|                    |           2t          |t          j                  r"|                    t          |                     o|S )z7Return a list of subsections for the given ``section``.)
isinstancer   r!   appendr   extendfind_subsections)r!   resultchilds      6lib/python3.11/site-packages/sphinx/writers/texinfo.pyr'   r'   R   st    F 3 3eU]++ 	3MM%   u}-- 	3MM*511222M    ssepc                     |                      |          }t          |          D ]5\  }}t          d |D                       r|                                ||<   6|pd                    |          S )z_Like string.capwords() but does not capitalize words that already
    contain a capital letter.c              3   >   K   | ]}|                                 V  d S N)islower).0xs     r*   	<genexpr>z!smart_capwords.<locals>.<genexpr>c   s*      ))qqyy{{))))))r+    )split	enumerateall
capitalizejoin)r,   r-   wordsiwords        r*   smart_capwordsr>   ^   sy     GGCLLEU## ) )4))D))))) 	)((E!HJ3U###r+   c            
            e Zd ZU dZdZddddgddifd	d
gddifddgddifddgddifffZeeeeeee	e         e
eef         f         df         f         ed<   i Ze
ed<   dZeed<   dZd fdZddZ xZS )TexinfoWriterz0Texinfo writer for generating Texinfo documents.)texinfotexizTexinfo Specific OptionsNzName of the Info filez--texinfo-filenamedefault z	Dir entryz--texinfo-dir-entryDescriptionz--texinfo-dir-descriptionCategoryz--texinfo-dir-categoryMiscellaneous.settings_specsettings_defaultsoutput)rJ   fragmentbuilderr    r"   c                 V    t                                                       || _        d S r0   )super__init__rL   )selfrL   	__class__s     r*   rO   zTexinfoWriter.__init__z   s$    r+   c           	      F   | j                             | j        | j                   }t          t          |          | _        | j                            |           | j                                         | j        D ]&}t          | |t          | j        |                     'd S r0   )rL   create_translatordocumentr   TexinfoTranslatorvisitor	walkaboutfinishvisitor_attributessetattrgetattr)rP   rV   attrs      r*   	translatezTexinfoWriter.translate~   s    ,00MM-w77(((+ 	= 	=DD$d ; ;<<<<	= 	=r+   )rL   r    r"   Nr"   N)__name__
__module____qualname____doc__	supportedrH   r   strr   r	   r   __annotations__rI   rJ   rY   rO   r]   __classcell__rQ   s   @r*   r@   r@   h   s0        ::#I 	#D$';&<y"oN01Ir?C89Ir?K23i6E6G H	+IYJM5c5sDItCH~/M)NPS)S#TTU J J J !t   FC/     = = = = = = = =r+   r@   c                       e Zd ZU dZded<   dZdddddddddddddZd	ej        ddd
df fdZ	ddZ
ddZddZddZddZded
efdZded
efdZded
efdZded
efdZddZdededed
efdZ ej        d          fdee         ded
dfdZded
dfdZd ed
efd!Zdd"Zd#ed
eeee e!e"f                  f         fd$Z#d%ed
efd&Z$d%ed#e%d
dfd'Z&d%eded#e%d
dfd(Z'd#ed
dfd)Z(d#ed
dfd*Z)d#e*d
dfd+Z+d#e*d
dfd,Z,d#ed
dfd-Z-d#ed
dfd.Z.d/Z/d0Z0d#ed
dfd1Z1d#ed
dfd2Z2d#ed
dfd3Z3d#ed
dfd4Z4d#ed
dfd5Z5d#ed
dfd6Z6d#ed
dfd7Z7d#ed
dfd8Z8d#ed
dfd9Z9d#ed
dfd:Z:d#ed
dfd;Z;d#ed
dfd<Z<d#ed
dfd=Z=d#ed
dfd>Z>d#ed
dfd?Z?d#ed
dfd@Z@d#ed
dfdAZAd#ed
dfdBZBeAZCeBZDd#ed
dfdCZEd#ed
dfdDZFd#ed
dfdEZGd#ed
dfdFZHd#ed
dfdGZId#ed
dfdHZJd#ed
dfdIZKd#ed
dfdJZLd#ed
e"fdKZMd#ed
dfdLZNd#ed
dfdMZOd#ed
dfdNZPd#ed
dfdOZQd#ed
dfdPZRd#ed
dfdQZSd#ed
dfdRZTd#ed
dfdSZUd#ed
dfdTZVd#ed
dfdUZWd#ed
dfdVZXd#ed
dfdWZYd#ed
dfdXZZd#ed
dfdYZ[d#ed
dfdZZ\d#ed
dfd[Z]d#ed
dfd\Z^d#ed
dfd]Z_d#ed
dfd^Z`d#ed
dfd_Zad#ed
dfd`Zbd#ed
dfdaZcd#ed
dfdbZdd#ed
dfdcZed#ed
dfddZfd#ed
dfdeZgd#ed
dfdfZhd#ed
dfdgZid#ed
dfdhZjd#ed
dfdiZkd#ed
dfdjZld#ed
dfdkZmd#ed
dfdlZnd#ed
dfdmZod#ed
dfdnZpd#ed
dfdoZqd#ed
dfdpZrd#ed
dfdqZsd#ed
dfdrZtd#ed
dfdsZud#ed
dfdtZvd#ed
dfduZwd#ed
dfdvZxd#ed
dfdwZyd#ed
dfdxZzd#ed
dfdyZ{d#ed
dfdzZ|d#ed
dfd{Z}d#ed
dfd|Z~d#ed
dfd}Zd#ed
dfd~Zd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZdd#eded
dfdZd#ed
dfdZd#ed
dfdZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#e%d
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdÄZd#ed
dfdĄZd#ed
dfdńZd#ed
dfdƄZd#ed
dfdǄZd#ed
dfdȄZd#ed
dfdɄZd#ed
dfdʄZd#ed
dfd˄Zd#ej        d
dfd̄Zd#ej        d
dfd̈́Zd#ed
dfd΄Zd#ed
dfdτZd#ed
dfdЄZd#ed
dfdфZd#ed
dfd҄Zd#ed
dfdӄZd#ed
dfdԄZd#ed
dfdՄZd#ed
dfdքZd#ed
dfdׄZd#ed
dfd؄Zd#ed
dfdلZd#ed
dfdڄZd#ed
dfdۄZd#ed
dfd܄Zd#ed
dfd݄Zd#ed
dfdބZd#ed
dfd߄Zd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZ d#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZd#ed
dfdZ	d#ed
dfdZ
 xZS )rU   Nr    rL   FrD      r   )authorbodycopyingdatedirentryexampleindentfilenameparagraphindentpreambleprojectreleasetitlerT   r"   c                    t                                          ||           |                                  t                      | _        t                      | _        g | _        i | _        i | _        i | _	        i | _
        |                                  |                                  |                                  |                                  g | _        g | _        g | _        d | _        d| _        d| _        t                      | _        d| _        d| _        g | _        g | _        d| _        d| _        t                      | _        d | _        d S )Nr   F)rN   rO   init_settingssetwritten_idsreferenced_idsindices	short_ids
node_names
node_menusrellinkscollect_indicescollect_node_namescollect_node_menuscollect_rellinksrk   contextdescsprevious_sectionsection_level
seen_titlenext_section_idsescape_newlinesescape_hyphenscurfilestackfootnotestackin_footnotein_samphandled_abbrs	colwidths)rP   rT   rL   rQ   s      r*   rO   zTexinfoTranslator.__init__   s0   7+++%(UU(+.0)+*,02.0!!!!!!!	"$*,
/3*-%% ')UW'*uu$(r+   c                 b   | j         |                     d           | j        D ]c}|\  }}t          |g| j        |         z             }| j                            d|z             | j                            d|d|d           d| j        rJ| j                                        }|| j	        vr!| j                            d|ddd	           | j        J| 
                                 d
                    | j                  | _        | j        | j        d<   t          | j        z  | _        d S )NTop
@node %s,%s,%s,%s
z@unnumbered 


z@anchor{z}@w{z                              }
rD   rk   )r   add_menur{   tupler   rk   r%   rz   popry   
ensure_eolr:   rK   elementsTEMPLATErJ   )rP   indexnamecontentpointersrs         r*   rX   zTexinfoTranslator.finish   sG     	!MM%   \ 	I 	IE!MD'dVdmD&99::HI4x?@@@IwwwGHHHH! 	H#''))A(( H	   !!!XXX!FGGG	 ! 	H
 		** $f.r+   c                    | j                                         x}| _        |                    | j        j        | j        j        | j        j        |                     | j	        j
                  |                     | j	        j                  |                     | j	        j                  |                     | j	        j        p3t          | j	        j        pt!          d          | j	        j                            d           | j        j        }|s<| j                            t(          j                  }|r|                                nd}|                     |          pd|d<   |d         sT| j                            d          pd|d<   |d         d	d          d
v r|d         d d	         |d<   |dxx         dz  cc<   | j        j        r|                     |                     | j        j                  d|d         z  |                     | j        j                            }d|                     | j        j                  d|d|d<   t<          |z  |d<   |                    | j        j                   d S )Nz	%b %d, %Y)language)ru   rj   rp   rt   rs   	copyrightrm   
<untitled>ru   rp   sourceuntitled)z.txtz.rstz.infoz(%s)z@dircategory z
@direntry
z@end direntry
rn   rl   ) default_elementscopyr   updatesettingsru   rj   texinfo_filenameescapeconfigrt   rs   r   todayr   	today_fmtr   r   rT   	next_noder   astext	escape_idgettexinfo_dir_entryformat_menu_entryescape_menu
escape_argtexinfo_dir_descriptiontexinfo_dir_categoryCOPYINGtexinfo_elements)rP   r   ru   
title_nodeentrys        r*   rw   zTexinfoTranslator.init_settings   sz   #'#8#=#=#?#??4=](m*6{{4;#677{{4;#677T[%:;;KK 1 !K +DK,A,SQ{^^59[5I!K !K !KL L
 
 	 	 	 ]( 	H00==J+5GJ%%'''<E NN511A\
# 	,#'=#4#4X#>#>#L*HZ 
#BCC(,<< A'/
';CRC'@$Z   G+   =* 		K**  !@AA*-- EFFH HEE t}ABBBBEEE	$KHZ 
 &0677777r+   c                     dt           dt           f fdd j        d<    d            d           fd j        D              _         j                            t          j                  D ]_}t          t          j        |                    t          j	                            }|r|
                                nd} |          |d<   `d	S )
zeGenerates a unique id for each section.

        Assigns the attribute ``node_name`` to each section.r   r"   c                                         |           }d\  }}||z   j        v s||z   j        v r"|dz  }d|z  }||z   j        v ||z   j        v "||z  }j                            |           | j        |<   |S )N)   rD   r   z<%s>)r   ry   r}   add)r   node_idnthsuffixrP   s       r*   add_node_namez;TexinfoTranslator.collect_node_names.<locals>.add_node_name  s    nnT**GKCF"d&66 &f$7&q# F"d&66 &f$7& vG  )))'+DOG$Nr+   r   	node_nametopc                 0    g | ]\  }} |          |fS  r   )r2   r   r   r   s      r*   
<listcomp>z8TexinfoTranslator.collect_node_names.<locals>.<listcomp>  s<     ; ; ;)D' 't,,g6 ; ; ;r+   r   N)rd   rT   r{   findallr   r!   r   TextElementr   Titularr   )rP   r!   ru   r   r   s   `   @r*   r   z$TexinfoTranslator.collect_node_names   s   

	 
	 
	 
	 
	 
	 
	 
	 &+k"ee; ; ; ;-1\; ; ; },,U];; 	7 	7G*G,=,=em,L,LMME%*<5<<>>>D#0=#6#6GK  	7 	7r+   c                    | j         }| j        g}|                    | j                            t          j                             |D ]4}d|v r|d         sJ d t          |          D             }|||d         <   5| j                            t          j                  }|r|j	        n| j        }t          |t          j        t          j        f          s| j        }|| j        ur4||d                  }||d         dd         z  }||d<   ||d         = d|d<   | j        D ]%\  }}g ||<   |d                             |           &dS )z1Collect the menu entries for each "node" section.r   c                     g | ]
}|d          S )r   r   )r2   r,   s     r*   r   z8TexinfoTranslator.collect_node_menus.<locals>.<listcomp>!  s    FFF!q~FFFr+   r   r   N)r~   rT   r&   r   r   r!   r'   r   ru   parentr$   r{   r%   )	rP   r~   targetsnodeentriesru   r   r   _contents	            r*   r   z$TexinfoTranslator.collect_node_menus  su   _
"&-t},,U];;<<< 	4 	4D$&<4+<<<<FF/?/E/EFFFG,3JtK())''44#6ell#>?? 	 -Cdm# 	% [!12Gz%(,,G 'Ju3{+,$C"l 	+ 	+ND(!Jtu$$T****	+ 	+r+   c                    | j         }| j        }|D ]	}g d||<   
|                                D ]\  }}|D ]}|||         d<   |                                D ]^\  }}t          |          D ]I\  }}|dk    r||dz
           ||         d<   |t	          |          dz
  k    r||dz            ||         d<   J_	 |d         d         }||d         d<   d||         d<   dS # t
          $ r Y dS w xY w)z@Collect the relative links (next, previous, up) for each "node".)rD   rD   rD      r   r   r   N)r   r~   itemsr7   len
IndexError)rP   r   r~   idr   er<   firsts           r*   r   z"TexinfoTranslator.collect_rellinks3  s\   =_
 	( 	(B'<<HRLL%++-- 	$ 	$KB $ $!#A$ &++-- 	5 	5KB"7++ 5 526 5&-a!enHRLOGq(( 5&-a!enHRLO5	'u%a(E "'HUOA!&HUOA	  	 	 	DD	s   9C 
C-,C-r,   c                     |                     dd          }|                     dd          }|                     dd          }|                     dd          }|                     d	d
          }|S )z8Return a string with Texinfo command characters escaped.@z@@{z@{}z@}z``z`@w{`}z''z'@w{'})replacerP   r,   s     r*   r   zTexinfoTranslator.escapeT  sf    IIc4  IIc4  IIc4  IIdH%%IIdH%%r+   c                     |                      |          }|                    dd          }d                    |                                                                          }|S )zVReturn an escaped string suitable for use as an argument
        to a Texinfo command.,z@comma{}r5   )r   r   r:   r6   stripr   s     r*   r   zTexinfoTranslator.escape_arg^  sP     KKNNIIc:&&HHQWWYY%%''r+   c                 .   d}|D ]}|                     |d          }t          j        d|          r|                     dd          }d                    |                                                                          }|                     |          S )z=Return an escaped string suitable for node names and anchors.z,:()r5   z[^ .].)r   researchr:   r6   r   r   )rP   r,   	bad_charsbcs       r*   r   zTexinfoTranslator.escape_idh  s    	 	# 	#B		"c""AA9Wa   	$		#s##AHHQWWYY%%''{{1~~r+   c                     |                      |          }|                    dd          }d                    |                                                                          }|S )z3Return an escaped string suitable for menu entries.:;r5   )r   r   r:   r6   r   r   s     r*   r   zTexinfoTranslator.escape_menus  sP    OOAIIc3HHQWWYY%%''r+   c                     | j         r5| j         d         dd         dk    r| j                             d           dS dS dS )z7Ensure the last line in body is terminated by new line.Nr   rk   r%   )rP   s    r*   r   zTexinfoTranslator.ensure_eolz  sW    9 	#2rss+t3 	#IT"""""	# 	# 	# 	#r+   r   r   descc                    ||k    rd|d}n	d|d|d}t          dt          |          dz   dz  f          d                    fd	t          j        |dz
  
          D                       }||                                z   dz   S )Nz* z:: : z.    ri   N   r   c              3   (   K   | ]}d z  |z   V  dS )r5   Nr   )r2   loffsets     r*   r4   z6TexinfoTranslator.format_menu_entry.<locals>.<genexpr>  sD       B Bq#,* B B B B B Br+   )width)maxr   r:   textwrapwrapr   )rP   r   r   r   r,   wdescr   s         @r*   r   z#TexinfoTranslator.format_menu_entry  s    9 	1 	1!TT#AA	1 !%iii0Ab3t99q=B./00		 B B B B"-BK@@@B B B B B5;;== 4''r+   z
\s+---?\s+r   regc                 h   |D ]}| j         |         }	 |                    |d          }n# t          $ r |g}Y nw xY wt          |          dk    r|\  }}nd}|                     |          }|                     |          }| j                            |                     |||                     d S )Nr   r   rD   )	r}   r6   	TypeErrorr   r   r   rk   r%   r   )rP   r   r  r   r   partsr   s          r*   add_menu_entriesz"TexinfoTranslator.add_menu_entries  s     	H 	HE?5)D		$**    5zzQ "
dd##D))D;;t$$DIT33D%FFGGGG	H 	Hs   *::c                      j         |         }|sd S  j                            d                                |           |dk    s j         |d                  r j        j        r j                            d           d S dt          dd f fd j                            d           |D ]} |            j                            d	           d S )
N
@menu
r   r   z
@end menu
r   r"   c                     j         |          }|sd S j                            d                    j        |                    z                                 |           |D ]} |           d S )Nz
%s

)r~   rk   r%   r   r}   r  )r   r   subentry_add_detailed_menurP   s      r*   r  z6TexinfoTranslator.add_menu.<locals>._add_detailed_menu  s    od+G IZ4;;tt7L+N+NOPPP!!'***# - -""8,,,,- -r+   z0
@detailmenu
 --- The Detailed Node Listing ---
z
@end detailmenu
@end menu
)r~   rk   r%   r  r   texinfo_no_detailmenurd   )rP   r   r   r   r  s   `   @r*   r   zTexinfoTranslator.add_menu  s3   /), 	F	%%%g&&& 	OGAJ/	1	 I_---F	-S 	-T 	- 	- 	- 	- 	- 	- 	- 		 @ 	A 	A 	A 	& 	&Eu%%%%	 ' 	( 	( 	( 	( 	(r+   	width_strc                     t          j        d|          }|s|S |}|                                d d         \  }}|r|dk    rdS |dk    rdt          |          dz  z  }|S )Nz(\d*\.?\d*)\s*(\S*)r   pxrD   %z%d.0ptgDI@)r   matchgroupsfloat)rP   r  r  resamountunits         r*   tex_image_lengthz"TexinfoTranslator.tex_image_length  s    /;; 	||~~bqb) 	9tt| 	92S[ 	9eFmmi78C
r+   c           	          dt           t          t          t           t                   f                  dt          dt          f fd} j        j        }|r j        j        j	        
                                D ]}|j        D ]}|j        d|j        }t          |t                    r||vr- ||                               j        j                  \  }}|s[ j                            |j         |||          f           t'          t(           j        j                            d                    } j        j        D ];}|j        |         r, j                            t/          d          df            d S <d S )	Nr   	collapsedr"   c                    dg}| D ]\  }}|D ]}|d         s
                     |d                   }
                    |d         d|d                   }
                    |d                   }
                    |||          }	|                    |	           |                    d           d                    |          S )	Nr     r   r   r      z
@end menu
rD   )r   get_short_idr   r   r%   r:   )r   r  ret_letterr   r   r   sidr   merP   s             r*   generatez3TexinfoTranslator.collect_indices.<locals>.generate  s    -C$+ # # $ # #E 8 ! ++E!H55D++uQxxxq,JKKC??5844D//c4@@BJJrNNNN# JJ}%%%773<<r+   -r   Indexz
@printindex ge
)r	   r   rd   r   boolr   texinfo_domain_indicesrL   envdomainsvaluesr{   r   r$   listr"  docnamesr%   	localnamer   r   
get_domainr   r   )	rP   r"  indices_configdomainindexcls	indexnamer   r  docnames	   `        r*   r   z!TexinfoTranslator.collect_indices  s   	 d5d:.>)>#?@ 	 T 	 VY 	  	  	  	  	  	  ; 	H,*299;; H H & 
H 
HH+1;;; FI!.$77 %$N: %$)1&)9)9)B)B-*/ */&GY" ! L'');)1'9)E)E)G H H H H
H k4<#3#>#>w#G#GHH|, 	 	G~g& ##QwZZ1E$FGGG	 	r+   r   c                 *   dt           dt          t          j                 ffdi } |          D ]_}t	          t          j        |d                   }|                                                                }t          dg|j	        R  dg||<   `|S )Nnr"   c              3      K   t          | t          j                  r| V  d S | j        D ]H}t          |t          j                  rt          |t          j                  r |          E d {V  Id S r0   )r$   r   footnotechildrenr   start_of_filer   )r4  cfootnotes_unders     r*   r:  z<TexinfoTranslator.collect_footnotes.<locals>.footnotes_under  s      !U^,, 6 6 6A!!X%;<< 6 #Au}55 6#2?1#5#55555555	6 6r+   r   rD   F)
r   r   r   r6  r   labelr   r   r   r7  )rP   r   fnotesfnr;  numr:  s         @r*   collect_footnotesz#TexinfoTranslator.collect_footnotes  s    	6w 	68EN+C 	6 	6 	6 	6 	6 	6 DF!/$'' 	H 	HBbe,,E,,..&&((C-b?2;???GF3KKr+   r   c                     	 | j         |         }nC# t          $ r6 t          t          | j                             dd         }|| j         |<   Y nw xY w|S )z-Return a shorter 'id' associated with ``id``.r   N)r|   KeyErrorhexr   )rP   r   r   s      r*   r  zTexinfoTranslator.get_short_id   si    	%.$CC 	% 	% 	%c$.))**122.C!$DN2	% 
s    =AAc                 <   |                     d          rd S | j        d         dz   |z   }|                     |          }|                     |          }||fD ]B}|| j        vr7| j                            d|z             | j                            |           Cd S )Nzindex-r   r   z@anchor{%s})
startswithr   r   r  ry   rk   r%   r   )rP   r   r   eidr   s        r*   
add_anchorzTexinfoTranslator.add_anchor  s    =="" 	Fr"S(2-nnR  ##* 	) 	)B)) )	  !3444 $$R(((	) 	)r+   c                 z   |                      |          }|                     |          }| j        j        rj| j                            d|d|d           | j                            |           | j                            |                     |                     d S | j                            |           d S )N@ref{,,r   )	r   r  r   texinfo_cross_referencesrk   r%   rz   r   r   )rP   r   r   r   r   s        r*   add_xrefzTexinfoTranslator.add_xref  s    %%##;/ 	#IsssDDD9:::##C(((##DNN2$6$677777IT"""""r+   c                     | j                             |                     |                     | j                            |                    dd                     d|v r|                     d|           d S d S )Nr2  rD   :doc)r   r%   r?  r   r   rF  rP   r   s     r*   visit_documentz TexinfoTranslator.visit_document"  s}    !!$"8"8">">???  )R!8!8999 	*OOFD)))))	* 	*r+   c                 j    | j                                          | j                                         d S r0   )r   r   r   rN  s     r*   depart_documentz!TexinfoTranslator.depart_document(  s2       r+   c                     |                      |                                          }| j        r|                    dd          }| j        r|                    dd          }| j                            |           d S )Nr   r5   r#  z@w{-})r   r   r   r   r   rk   r%   )rP   r   r,   s      r*   
visit_TextzTexinfoTranslator.visit_Text,  ss    KK&& 	%		$$$A 	(		#w''A	r+   c                     d S r0   r   rN  s     r*   depart_TextzTexinfoTranslator.depart_Text5      r+   c                 ^   | j                             |                    dg                      | j        sd S | j        r!|                     | j        d                    n|                     d           |d         }t          |g| j        |         z             }| j        	                    d|z             t          | j                   D ]}|                     ||           | j                                          t          t          j        |          | _        | xj        dz  c_        d S )Nidsr   r   r   r   )r   r   r   r   r   r   r   r   rk   r%   sortedrF  clearr   r   r!   r   )rP   r   r   r   r   s        r*   visit_sectionzTexinfoTranslator.visit_section8  s%   $$TXXeR%8%8999 	F  	!MM$/<====MM%   %	)t}Y'??@@	08;<<<.// 	& 	&BOOB%%%%##%%% $U]D 9 9ar+   c                 &    | xj         dz  c_         d S Nr   )r   rN  s     r*   depart_sectionz TexinfoTranslator.depart_sectionK  s    ar+   )z@unnumberedz@chapterz@sectionz@subsectionz@subsubsection)z@headingz@subheadingz@subsubheadingc                 J   | j         sd| _         t          j        |j        }t	          |t          j                  rd S t	          |t          j        t          j        t          j        f          rt          j        t	          |t          j	                  s@t                              t          d          |           |                     |           d S 	 | j        | j                 }n# t           $ r | j        d         }Y nw xY w| j                            d|z             d S )NTzJencountered title node not in section, topic, table, admonition or sidebarlocationr   
%s )r   r   SkipNoder   r$   table
Admonitionsidebartopicr!   loggerwarningr   visit_rubricheadingsr   r   rk   r%   )rP   r   r   headings       r*   visit_titlezTexinfoTranslator.visit_title\  s$    	!"DO. fek** 	Ffu/LMM 	0. FEM22 
	0NN2 6 7 7$(  * * * d#####,-(:; , , ,-+,IWw./////s   C) )DDc                 :    | j                             d           d S Nr   r   rN  s     r*   depart_titlezTexinfoTranslator.depart_titleq      	     r+   c                 J   t          |          dk    r1|                                dt          d          fv rt          j        	 | j        | j                 }n# t          $ r | j        d         }Y nw xY w| j        	                    d|z             | xj
        dz  c_
        d S )Nr   	Footnotesr   rb  )r   r   r   r   rc  rubricsr   r   rk   r%   r   )rP   r   rubrics      r*   rj  zTexinfoTranslator.visit_rubrict  s    t99> 	!dkkmmQ{^^/LL 	!. 	&\$"45FF 	& 	& 	&\"%FFF	&	6)***!s   A A32A3c                 Z    | xj         dz  c_         | j                            d           d S )Nr   r   )r   rk   r%   rN  s     r*   depart_rubriczTexinfoTranslator.depart_rubric~  s2    !	     r+   c                 :    | j                             d           d S )Nz

@noindent
r   rN  s     r*   visit_subtitlez TexinfoTranslator.visit_subtitle  s    	*+++++r+   c                 :    | j                             d           d S ro  r   rN  s     r*   depart_subtitlez!TexinfoTranslator.depart_subtitle  rq  r+   c                    |j                             |          }	 	 |j         |dz            }nD# t          $ r7 |j         j         |j         j                             |j                            }Y nw xY wt          |t          j                  rW|                    d          r | j                            |d                    | j        	                    |d                    d S n# t          t          f$ r Y nw xY wd|v rd S |                    d          r|                     |d         |           |d         D ]}|                     ||           d S )Nr   refidrX  refuri)r   r   r   r$   r   r!   r   r   r   r   AttributeErrorrF  )rP   r   parindexnextr   s        r*   visit_targetzTexinfoTranslator.visit_target  s   ;$$T**	Q{8a<0 Q Q Q {)$+*<*B*B4;*O*OPQ $.. 88G$$ =)--d7m<<<%,,T%[999	
 N+ 	 	 	D	t 	F88G 	1OODM4000u+ 	& 	&BOOB%%%%	& 	&s-   . C$ >A/,C$ .A//A2C$ $C87C8c                     d S r0   r   rN  s     r*   depart_targetzTexinfoTranslator.depart_target  rV  r+   c           	         t          |j        t          j        t          j        f          rd S t          |d         t          j                  rd S |                    d|                                          	                                }|                    dd          }|s1|                    d          rd| j
        d         z   dz   |d         z   }|sd S |                    d	          r||                     |d
d                    }|                     |          }|r||k    r| j                            d|z             n| j                            d|d|d           nq|                    d          r4| j
        d         dz   |dd          z   }|                     |||           n(|                    d          r`|                    d          }|dk    r|dd          dz   }n|dd                              dd          }|                     |||           n|                    d          r|dd                              dd          }|                     |          }d}d|v r|                    dd          \  }}|                     |          }|                     |          }||k    r"| j                            d|d|d           n| j                            d|d|d|d           n|                     |          }|                     |          }| j        j        }| j        rd}|r||k    r| j                            d|z             np|dk    r"| j                            d|d|d           nH|dk    r"| j                            d|d|d           n | j                            |d|d           t          j        )Nr   r   r~  rD   r}  r  r   #zmailto:   z
@email{%s}z@email{r   r   r   r   z::doczinfo:   r   r5   r   rH  z,,,rI  inlinez@indicateurl{%s}z@uref{no
@footnote{)r$   r   r   ru   r   	desc_typeimager   r   r   r   rD  r   rk   r%   rK  findr   r6   r   r   r   texinfo_show_urlsr   rc  )rP   r   r   urir   	hashindex	show_urlss          r*   visit_referencez!TexinfoTranslator.visit_reference  s%    dkEK1C#DEE 	Fd1gu{++ 	Fxx..4466hhx$$ 	Dtxx(( 	D)"--3d7mCC 	F>>)$$ /	B//#abb'**C??4((D @43; @	  !34444	   CCC!>????^^C   (	B"2&,s122w6BMM"dD))))^^C   $	BIB /Ww& W__S#..MM"dD))))^^G$$ 	Babb'//#s++C//#&&CBcz ,))C++R##B##D))Drz F	   BBB!<====	   bbb$$$!DEEEE//#&&C??4((D5I %$	 B3$; B	  !3c!9::::h& B	   333!=>>>>d" B	   CCC!>????	  dddCCC!@AAAnr+   c                     d S r0   r   rN  s     r*   depart_referencez"TexinfoTranslator.depart_reference  rV  r+   c                     t          j        |                    dd                    }|                     |           t           j        )Nru   r  )r   r   r   rS  rc  rP   r   texts      r*   visit_number_referencez(TexinfoTranslator.visit_number_reference  s9    z$((7C0011nr+   c                     |                                 }| j                            d|                     |          z             t          j        )Nz	@cite{%s})r   rk   r%   r   r   rc  r  s      r*   visit_title_referencez'TexinfoTranslator.visit_title_reference  s>    {{}}	tt'<'<<===nr+   c                 :    | j                             d           d S Nr   r   rN  s     r*   visit_paragraphz!TexinfoTranslator.visit_paragraph      	r+   c                 :    | j                             d           d S r  r   rN  s     r*   depart_paragraphz"TexinfoTranslator.depart_paragraph  r  r+   c                 :    | j                             d           d S )Nz
@quotation
r   rN  s     r*   visit_block_quotez#TexinfoTranslator.visit_block_quote  s    	)*****r+   c                 b    |                                   | j                            d           d S )Nz@end quotation
r   rk   r%   rN  s     r*   depart_block_quotez$TexinfoTranslator.depart_block_quote  /    	+,,,,,r+   c                 :    | j                             d           d S )Nz

@example
r   rN  s     r*   visit_literal_blockz%TexinfoTranslator.visit_literal_block   s    	(((((r+   c                 b    |                                   | j                            d           d S )Nz@end example
r  rN  s     r*   depart_literal_blockz&TexinfoTranslator.depart_literal_block  /    	)*****r+   c                     t          |j        t          j                  s| j                            d           | j                            d           d S )Nr   z	@display
)r$   r   r   
line_blockrk   r%   rN  s     r*   visit_line_blockz"TexinfoTranslator.visit_line_block
  sK    $+u'788 	%IV$$$	&&&&&r+   c                     | j                             d           t          |j        t          j                  s| j                             d           d S d S )Nz@end display
r   )rk   r%   r$   r   r   r  rN  s     r*   depart_line_blockz#TexinfoTranslator.depart_line_block  sV    	)***$+u'788 	%IV$$$$$	% 	%r+   c                 &    | xj         dz  c_         d S r]  r   rN  s     r*   
visit_linezTexinfoTranslator.visit_line      !r+   c                 Z    | j                             d           | xj        dz  c_        d S )Nz@w{ }
r   )rk   r%   r   rN  s     r*   depart_linezTexinfoTranslator.depart_line  s2    	###!r+   c                 :    | j                             d           d S )N`r   rN  s     r*   visit_strongzTexinfoTranslator.visit_strong      	r+   c                 :    | j                             d           d S )N'r   rN  s     r*   depart_strongzTexinfoTranslator.depart_strong   r  r+   c                     | j         r6| j                            d           | j                            d           d S | j                            d           | j                            d           d S )Nz@var{r   r  r  )r   rk   r%   r   rN  s     r*   visit_emphasisz TexinfoTranslator.visit_emphasis#  sp    < 	%IW%%%L$$$$$IS!!!L$$$$$r+   c                 h    | j                             | j                                                   d S r0   rk   r%   r   r   rN  s     r*   depart_emphasisz!TexinfoTranslator.depart_emphasis+  ,    	))++,,,,,r+   c                     d|d         v S )Nsampclassesr   rN  s     r*   is_sampzTexinfoTranslator.is_samp.  s    i((r+   c                     |                      |          r| xj        dz  c_        | j                            d           d S )Nr   @code{r  r   rk   r%   rN  s     r*   visit_literalzTexinfoTranslator.visit_literal1  sB    << 	LLALL	"""""r+   c                     |                      |          r| xj        dz  c_        | j                            d           d S )Nr   r   r  rN  s     r*   depart_literalz TexinfoTranslator.depart_literal6  sB    << 	LLALL	r+   c                 :    | j                             d           d S )Nz@w{^r   rN  s     r*   visit_superscriptz#TexinfoTranslator.visit_superscript;  rq  r+   c                 :    | j                             d           d S Nr   r   rN  s     r*   depart_superscriptz$TexinfoTranslator.depart_superscript>  r  r+   c                 :    | j                             d           d S Nz@w{[r   rN  s     r*   visit_subscriptz!TexinfoTranslator.visit_subscriptA  rq  r+   c                 :    | j                             d           d S Nz]}r   rN  s     r*   depart_subscriptz"TexinfoTranslator.depart_subscriptD  r  r+   c                     t           j        r0   r   rc  rN  s     r*   visit_footnotez TexinfoTranslator.visit_footnoteI  
    nr+   c                 Z    | xj         dz  c_         | j                            d           d S )Nr   r  )r   rk   r%   rN  s     r*   visit_collected_footnotez*TexinfoTranslator.visit_collected_footnoteL  s2    A	&&&&&r+   c                 Z    | j                             d           | xj        dz  c_        d S )Nr   r   )rk   r%   r   rN  s     r*   depart_collected_footnotez+TexinfoTranslator.depart_collected_footnoteP  s2    	Ar+   c                    |                                                                 }	 | j        d         |         \  }}n&# t          t          f$ r}t
          j        |d }~ww xY w|                    |            t
          j        )Nr   )	r   r   r   rA  r   r   rc  rW   SkipChildren)rP   r   r>  footnodeusedexcs         r*   visit_footnote_referencez*TexinfoTranslator.visit_footnote_referenceT  s    kkmm!!##	*!/3C8NHdd*% 	* 	* 	*.c)	* 	4     s   ? A"AA"c                     | j                             d           |                    d          D ]}|                     ||           | xj        dz  c_        d S )Nr   rX  r   )rk   r%   r   rF  r   )rP   r   r   s      r*   visit_citationz TexinfoTranslator.visit_citation^  sb    	((5// 	& 	&BOOB%%%%!r+   c                 &    | xj         dz  c_         d S r]  r  rN  s     r*   depart_citationz!TexinfoTranslator.depart_citationd  r  r+   c                 :    | j                             d           d S r  r   rN  s     r*   visit_citation_referencez*TexinfoTranslator.visit_citation_referenceg  rq  r+   c                 :    | j                             d           d S r  r   rN  s     r*   depart_citation_referencez+TexinfoTranslator.depart_citation_referencej  r  r+   c                 l    |                     dd          }| j                            d|z             d S )Nbullet*z

@itemize %s
r   rk   r%   )rP   r   r  s      r*   visit_bullet_listz#TexinfoTranslator.visit_bullet_listo  s7    (C((	,v566666r+   c                 b    |                                   | j                            d           d S )Nz@end itemize
r  rN  s     r*   depart_bullet_listz$TexinfoTranslator.depart_bullet_lists  r  r+   c                     |                     dd          }dddd}|                     d|                     |d                    }| j                            d|z             d S )	NenumtypearabicrD   aA)r  
loweralpha
upperalphastartz

@enumerate %s
r  )rP   r   enumstartersr  s        r*   visit_enumerated_listz'TexinfoTranslator.visit_enumerated_listw  so    xx
H-- "%"%' ' (,,tR"8"899	.677777r+   c                 b    |                                   | j                            d           d S )Nz@end enumerate
r  rN  s     r*   depart_enumerated_listz(TexinfoTranslator.depart_enumerated_list  r  r+   c                 :    | j                             d           d S )Nz
@item r   rN  s     r*   visit_list_itemz!TexinfoTranslator.visit_list_item  s    	$$$$$r+   c                     d S r0   r   rN  s     r*   depart_list_itemz"TexinfoTranslator.depart_list_item  rV  r+   c                 :    | j                             d           d S )Nz

@table @option
r   rN  s     r*   visit_option_listz#TexinfoTranslator.visit_option_list  s    	/00000r+   c                 b    |                                   | j                            d           d S Nz@end table
r  rN  s     r*   depart_option_listz$TexinfoTranslator.depart_option_list  .    	(((((r+   c                     d S r0   r   rN  s     r*   visit_option_list_itemz(TexinfoTranslator.visit_option_list_item  rV  r+   c                     d S r0   r   rN  s     r*   depart_option_list_itemz)TexinfoTranslator.depart_option_list_item  rV  r+   c                     d| _         d S Nz@item	at_item_xrN  s     r*   visit_option_groupz$TexinfoTranslator.visit_option_group       r+   c                     d S r0   r   rN  s     r*   depart_option_groupz%TexinfoTranslator.depart_option_group  rV  r+   c                 x    | xj         dz  c_         | j                            d| j        z             d| _        d S )Nr   rb  @itemx)r   rk   r%   r  rN  s     r*   visit_optionzTexinfoTranslator.visit_option  s>    q 	4>1222!r+   c                 &    | xj         dz  c_         d S r]  )r   rN  s     r*   depart_optionzTexinfoTranslator.depart_option  s    q r+   c                     d S r0   r   rN  s     r*   visit_option_stringz%TexinfoTranslator.visit_option_string  rV  r+   c                     d S r0   r   rN  s     r*   depart_option_stringz&TexinfoTranslator.depart_option_string  rV  r+   c                 b    | j                             |                    dd                     d S )N	delimiterr5   )rk   r%   r   rN  s     r*   visit_option_argumentz'TexinfoTranslator.visit_option_argument  s,    	+s3344444r+   c                     d S r0   r   rN  s     r*   depart_option_argumentz(TexinfoTranslator.depart_option_argument  rV  r+   c                 :    | j                             d           d S r  r   rN  s     r*   visit_descriptionz#TexinfoTranslator.visit_description  r  r+   c                     d S r0   r   rN  s     r*   depart_descriptionz$TexinfoTranslator.depart_description  rV  r+   c                 :    | j                             d           d S )Nz

@table @asis
r   rN  s     r*   visit_definition_listz'TexinfoTranslator.visit_definition_list  s    	-.....r+   c                 b    |                                   | j                            d           d S r  r  rN  s     r*   depart_definition_listz(TexinfoTranslator.depart_definition_list  r  r+   c                     d| _         d S r  r  rN  s     r*   visit_definition_list_itemz,TexinfoTranslator.visit_definition_list_item  r  r+   c                     d S r0   r   rN  s     r*   depart_definition_list_itemz-TexinfoTranslator.depart_definition_list_item  rV  r+   c                 n   |                     d          D ]}|                     ||           |d d          D ]R}t          |t          j        t
          j        f          r*|                    |            |                    |           S| j	        
                    d| j        z             d| _        d S )NrX  rb  r  )r   rF  r$   r   r   r   targetrW   removerk   r%   r  )rP   r   r   r4  s       r*   
visit_termzTexinfoTranslator.visit_term  s    ((5// 	& 	&BOOB%%%%bbb 	 	A!hnel;<< D!!!A	4>1222!r+   c                     d S r0   r   rN  s     r*   depart_termzTexinfoTranslator.depart_term  rV  r+   c                 :    | j                             d           d S )Nz : r   rN  s     r*   visit_classifierz"TexinfoTranslator.visit_classifier      	r+   c                     d S r0   r   rN  s     r*   depart_classifierz#TexinfoTranslator.depart_classifier  rV  r+   c                 :    | j                             d           d S r  r   rN  s     r*   visit_definitionz"TexinfoTranslator.visit_definition  r  r+   c                     d S r0   r   rN  s     r*   depart_definitionz#TexinfoTranslator.depart_definition  rV  r+   c                     d| _         d S r  	entry_seprN  s     r*   visit_tablezTexinfoTranslator.visit_table  r  r+   c                 :    | j                             d           d S )Nz
@end multitable

r   rN  s     r*   depart_tablezTexinfoTranslator.depart_table  s    	011111r+   c                     d S r0   r   rN  s     r*   visit_tabular_col_specz(TexinfoTranslator.visit_tabular_col_spec  rV  r+   c                     d S r0   r   rN  s     r*   depart_tabular_col_specz)TexinfoTranslator.depart_tabular_col_spec  rV  r+   c                    | j                             |d                    t          | j                   | j        k    rd S | j                            d           | j         D ]%}| j                            dd|dz   z  z             &d S )Ncolwidthz

@multitable z{%s} r3   r   )r   r%   r   n_colsrk   )rP   r   r4  s      r*   visit_colspeczTexinfoTranslator.visit_colspec  s    d:.///t~$+- 	F	+,,, 	8 	8AIWq1u67777	8 	8r+   c                     d S r0   r   rN  s     r*   depart_colspecz TexinfoTranslator.depart_colspec  rV  r+   c                 .    g | _         |d         | _        d S )Ncols)r   rO  rN  s     r*   visit_tgroupzTexinfoTranslator.visit_tgroup  s    6lr+   c                     d S r0   r   rN  s     r*   depart_tgroupzTexinfoTranslator.depart_tgroup  rV  r+   c                     d| _         d S )Nz	@headitemrD  rN  s     r*   visit_theadzTexinfoTranslator.visit_thead  s    $r+   c                     d S r0   r   rN  s     r*   depart_theadzTexinfoTranslator.depart_thead  rV  r+   c                     d S r0   r   rN  s     r*   visit_tbodyzTexinfoTranslator.visit_tbody  rV  r+   c                     d S r0   r   rN  s     r*   depart_tbodyzTexinfoTranslator.depart_tbody  rV  r+   c                     d S r0   r   rN  s     r*   	visit_rowzTexinfoTranslator.visit_row  rV  r+   c                     d| _         d S r  rD  rN  s     r*   
depart_rowzTexinfoTranslator.depart_row  r  r+   c                 X    | j                             d| j        z             d| _        d S )Nz
%s
z@tab)rk   r%   rE  rN  s     r*   visit_entryzTexinfoTranslator.visit_entry  s*    	DN2333r+   c                     t          |                    dd                    D ]}| j                            d           d S )Nmorecolsr   z
@tab
)ranger   rk   r%   )rP   r   _is      r*   depart_entryzTexinfoTranslator.depart_entry  sJ    Q//00 	) 	)BIZ((((	) 	)r+   c                     d S r0   r   rN  s     r*   visit_field_listz"TexinfoTranslator.visit_field_list  rV  r+   c                     d S r0   r   rN  s     r*   depart_field_listz#TexinfoTranslator.depart_field_list!  rV  r+   c                 :    | j                             d           d S r  r   rN  s     r*   visit_fieldzTexinfoTranslator.visit_field$  r  r+   c                 :    | j                             d           d S r  r   rN  s     r*   depart_fieldzTexinfoTranslator.depart_field'  r  r+   c                 b    |                                   | j                            d           d S )Nz@*r  rN  s     r*   visit_field_namez"TexinfoTranslator.visit_field_name*  s.    	r+   c                 :    | j                             d           d S )Nr   r   rN  s     r*   depart_field_namez#TexinfoTranslator.depart_field_name.  r  r+   c                     d S r0   r   rN  s     r*   visit_field_bodyz"TexinfoTranslator.visit_field_body1  rV  r+   c                     d S r0   r   rN  s     r*   depart_field_bodyz#TexinfoTranslator.depart_field_body4  rV  r+   c                     |sGt          t          j        |d                   }|                     |                                          }| j                            d|z             d S )Nr   
@cartouche
@quotation %s )r   r   ru   r   r   rk   r%   )rP   r   r   ru   s       r*   visit_admonitionz"TexinfoTranslator.visit_admonition9  sZ     	/d1g..E;;u||~~..D	7$>?????r+   c                 d    t           |j                 }| j                            d|z             d S )Nr|  )r   tagnamerk   r%   )rP   r   r;  s      r*   _visit_named_admonitionz)TexinfoTranslator._visit_named_admonition?  s0     .	7%?@@@@@r+   c                 b    |                                   | j                            d           d S )Nz@end quotation
@end cartouche
r  rN  s     r*   depart_admonitionz#TexinfoTranslator.depart_admonitionC  s;    	 , 	- 	- 	- 	- 	-r+   c                     t           j        r0   r  rN  s     r*   visit_docinfozTexinfoTranslator.visit_docinfo]  r  r+   c                     t           j        r0   r  rN  s     r*   visit_generatedz!TexinfoTranslator.visit_generated`  r  r+   c                     t           j        r0   r  rN  s     r*   visit_headerzTexinfoTranslator.visit_headerc  r  r+   c                     t           j        r0   r  rN  s     r*   visit_footerzTexinfoTranslator.visit_footerf  r  r+   c                 h    |                     d          r| j                            d           d S d S )Nliteral_blockz

@float LiteralBlock
r  rN  s     r*   visit_containerz!TexinfoTranslator.visit_containeri  s=    88O$$ 	:I899999	: 	:r+   c                 h    |                     d          r| j                            d           d S d S )Nr  
@end float

r  rN  s     r*   depart_containerz"TexinfoTranslator.depart_containerm  s=    88O$$ 	1I/00000	1 	1r+   c                     d S r0   r   rN  s     r*   visit_decorationz"TexinfoTranslator.visit_decorationq  rV  r+   c                     d S r0   r   rN  s     r*   depart_decorationz#TexinfoTranslator.depart_decorationt  rV  r+   c                 f   d|                     dg           v rt          j        t          t          j        |d                   }|                     |           | j                            d|                     |	                                          z             | 
                    |           d S )Ncontentsr  r   z%s
)r   r   rc  r   ru   rj  rk   r%   r   r   rw  )rP   r   ru   s      r*   visit_topiczTexinfoTranslator.visit_topicw  s    )R000 	!. U[$q'**%   	$++ellnn"="==>>>5!!!!!r+   c                     d S r0   r   rN  s     r*   depart_topiczTexinfoTranslator.depart_topic  rV  r+   c                 @    | j                             ddz             d S )Nz

%s

B__________________________________________________________________r   rN  s     r*   visit_transitionz"TexinfoTranslator.visit_transition  s#    	233333r+   c                     d S r0   r   rN  s     r*   depart_transitionz#TexinfoTranslator.depart_transition  rV  r+   c                 :    | j                             d           d S )Nz

@center --- r   rN  s     r*   visit_attributionz#TexinfoTranslator.visit_attribution      	+,,,,,r+   c                 :    | j                             d           d S ro  r   rN  s     r*   depart_attributionz$TexinfoTranslator.depart_attribution  rq  r+   c                     |                     dd                                          }d|v sd|v r,| j                            |                                           t
          j        )NformatrD   rA   rB   )r   r6   rk   r%   r   r   rc  )rP   r   r  s      r*   	visit_rawzTexinfoTranslator.visit_raw  s`    (B''--// 	,&F"2 	,IT[[]]+++nr+   c                 :    | j                             d           d S )Nz

@float Figure
r   rN  s     r*   visit_figurezTexinfoTranslator.visit_figure  s    	./////r+   c                 :    | j                             d           d S )Nr  r   rN  s     r*   depart_figurezTexinfoTranslator.depart_figure  r  r+   c                 @   t          |j        t          j                  s9t          |j        t          j                  r6|j                            d          r| j                            d           d S t          	                    t          d          |           d S )Nr  z

@caption{zcaption not inside a figure.r`  )r$   r   r   figure	containerr   rk   r%   rh  ri  r   rN  s     r*   visit_captionzTexinfoTranslator.visit_caption  s    t{EL11 	*t{EO44	*00	* I]+++++NN2<==$(  * * * * *r+   c                     t          |j        t          j                  s9t          |j        t          j                  r6|j                            d          r| j                            d           d S d S d S )Nr  r   )r$   r   r   r  r  r   rk   r%   rN  s     r*   depart_captionz TexinfoTranslator.depart_caption  sv    t{EL11 	$t{EO44	$00	$ IU#####	$ 	$ 	$ 	$r+   c                 t   |d         | j         j        v r| j         j        |d                  }n| j        rd S |d         }|                    d          dk    rd S t	          j        |          \  }}|                     |                    dd                    }|                     |                    dd                    }|                     |                    dd                    }| j	        d         d d	         d
|}| j
                            d|d|d|d|d|dd          d           d S )Nr  z://r   r   rD   heightaltrp   z	-figures/z
@image{r   r   r   )rL   imagesignore_missing_imagesr  r   splitextr  r   r   r   rk   r%   )	rP   r   r  r   extr   r  r  rp   s	            r*   visit_imagezTexinfoTranslator.visit_image  sS   ;$,-- 	,%d5k2CC ) u+C88E??b  	FM#&&	c%%dhhw&;&;<<&&txx"'='=>>oodhhub1122&*mJ&?&D&D&DddK	"((EEE666333ABBA 	B 	B 	B 	B 	Br+   c                     d S r0   r   rN  s     r*   depart_imagezTexinfoTranslator.depart_image  rV  r+   c                     d S r0   r   rN  s     r*   visit_compoundz TexinfoTranslator.visit_compound  rV  r+   c                     d S r0   r   rN  s     r*   depart_compoundz!TexinfoTranslator.depart_compound  rV  r+   c                 0    |                      |           d S r0   )r  rN  s     r*   visit_sidebarzTexinfoTranslator.visit_sidebar  s    r+   c                 0    |                      |           d S r0   )r  rN  s     r*   depart_sidebarz TexinfoTranslator.depart_sidebar  s    $r+   c                 `    | j         rt          j        | j                            d           d S )Nz@w{()r   r   rc  rk   r%   rN  s     r*   visit_labelzTexinfoTranslator.visit_label  s1     	%. IV$$$$$r+   c                 :    | j                             d           d S )Nz)} r   rN  s     r*   depart_labelzTexinfoTranslator.depart_label  r<  r+   c                     d S r0   r   rN  s     r*   visit_legendzTexinfoTranslator.visit_legend  rV  r+   c                     d S r0   r   rN  s     r*   depart_legendzTexinfoTranslator.depart_legend  rV  r+   c                     d S r0   r   rN  s     r*   visit_substitution_referencez.TexinfoTranslator.visit_substitution_reference  rV  r+   c                     d S r0   r   rN  s     r*   depart_substitution_referencez/TexinfoTranslator.depart_substitution_reference  rV  r+   c                     t           j        r0   r  rN  s     r*   visit_substitution_definitionz/TexinfoTranslator.visit_substitution_definition  r  r+   c                 x    | j                             d|                                z             t          j        )Nz.
@verbatim
<SYSTEM MESSAGE: %s>
@end verbatim
)rk   r%   r   r   rc  rN  s     r*   visit_system_messagez&TexinfoTranslator.visit_system_message  s;    	 +-1[[]]; 	< 	< 	< nr+   c                     | j                             d           |                                                                D ]}| j                             d|z              t          j        )Nr   z@c %s
)rk   r%   r   
splitlinesr   rc  )rP   r   lines      r*   visit_commentzTexinfoTranslator.visit_comment  sa    	KKMM,,.. 	/ 	/DIY-....nr+   c                 :    | j                             d           d S )Nz>>r   rN  s     r*   visit_problematicz#TexinfoTranslator.visit_problematic  r  r+   c                 :    | j                             d           d S )Nz<<r   rN  s     r*   depart_problematicz$TexinfoTranslator.depart_problematic  r  r+   c                 Z    t                               t          d          ||           d S )Nzunimplemented node type: %rr`  )rh  ri  r   rN  s     r*   unimplemented_visitz%TexinfoTranslator.unimplemented_visit  s7    r788$ $ 	 	& 	& 	& 	& 	&r+   c                     d S r0   r   rN  s     r*   unknown_departurez#TexinfoTranslator.unknown_departure  rV  r+   c                    |                      d            g }t          t          t          j                 |          }|D ]}|                    |d                    t          d |D                       }|D ]}|d         rM|                    d          D ]}|                     ||           |d         	                    |          dz   }ndd|z  z  }| j
                            |                     |                     | j
                            |                     |                                dz                        |                     d            t          j        )N	tokennamec              3   4   K   | ]}t          |          V  d S r0   )r   )r2   r   s     r*   r4   z9TexinfoTranslator.visit_productionlist.<locals>.<genexpr>  s(      114SYY111111r+   rX  z ::=z%s    r5   r   )r  r   r   r   
productionr%   r   r   rF  ljustrk   r   r   r  r   rc  )rP   r   namesproductionlistr  maxlenr   r,   s           r*   visit_productionlistz&TexinfoTranslator.visit_productionlist  sf     &&&hx':;TBB( 	2 	2JLLK0111111511111( 	F 	FJ+& .$..// 4 4BOOB
3333{+11&99FBf-IT[[^^,,,IT[[):):)<)<t)CDDEEEE!!$'''nr+   c                     d S r0   r   rN  s     r*   visit_productionz"TexinfoTranslator.visit_production  rV  r+   c                     d S r0   r   rN  s     r*   depart_productionz#TexinfoTranslator.depart_production  rV  r+   c                 :    | j                             d           d S Nr  r   rN  s     r*   visit_literal_emphasisz(TexinfoTranslator.visit_literal_emphasis      	"""""r+   c                 :    | j                             d           d S r  r   rN  s     r*   depart_literal_emphasisz)TexinfoTranslator.depart_literal_emphasis  r  r+   c                 :    | j                             d           d S r  r   rN  s     r*   visit_literal_strongz&TexinfoTranslator.visit_literal_strong   r  r+   c                 :    | j                             d           d S r  r   rN  s     r*   depart_literal_strongz'TexinfoTranslator.depart_literal_strong#  r  r+   c                 ,   t          |j        t          j                  r|                                  n| j                            d           |d         D ]<}|\  }}}}}|                     |          }| j                            d|z             =d S )Nr   r   z@geindex %s
)r$   r   r   	paragraphr   rk   r%   r   )rP   r   r   typr  tidtext2key_s           r*   visit_indexzTexinfoTranslator.visit_index&  s    dk5?33 	#OOIT""")_ 	5 	5E*/'CsE4##D))DI_t34444	5 	5r+   c                 :    | j                             d           d S r  r   rN  s     r*   visit_versionmodifiedz'TexinfoTranslator.visit_versionmodified1  r  r+   c                 :    | j                             d           d S r  r   rN  s     r*   depart_versionmodifiedz(TexinfoTranslator.depart_versionmodified4  r  r+   c                     | j                             d           | j                            |d                    | j                            |                     |                     d S )NrM  r2  )r   r   r   r%   r   r?  rN  s     r*   visit_start_of_filez%TexinfoTranslator.visit_start_of_file7  s_    !!&)))  i111!!$"8"8">">?????r+   c                 j    | j                                          | j                                         d S r0   )r   r   r   rN  s     r*   depart_start_of_filez&TexinfoTranslator.depart_start_of_file=  s2         r+   c                     |                      |                                          }| j                            d|z             t          j        )Nz

@center %s

)r   r   rk   r%   r   rc  rP   r   txts      r*   visit_centeredz TexinfoTranslator.visit_centeredA  s?    oodkkmm,,	-3444nr+   c                 V    | j                             dt          d         z             d S )Nz

@subsubheading %s

seealso)rk   r%   r   rN  s     r*   visit_seealsozTexinfoTranslator.visit_seealsoF  s6    	4))45 	6 	6 	6 	6 	6r+   c                 :    | j                             d           d S r  r   rN  s     r*   depart_seealsoz TexinfoTranslator.depart_seealsoJ  r  r+   c                     t           j        r0   r  rN  s     r*   
visit_metazTexinfoTranslator.visit_metaM  r  r+   c                     d S r0   r   rN  s     r*   visit_glossaryz TexinfoTranslator.visit_glossaryP  rV  r+   c                     d S r0   r   rN  s     r*   depart_glossaryz!TexinfoTranslator.depart_glossaryS  rV  r+   c                    t          t          j        |d                   }t          t          t          j                 |          }| j                            d           | j                            d                    d |D                       dz              | j                            d           t          j        )Nr   r   , c              3   >   K   | ]}|                                 V  d S r0   )r   )r2   r4  s     r*   r4   z/TexinfoTranslator.visit_acks.<locals>.<genexpr>Z  s*      "B"B!188::"B"B"B"B"B"Br+   r   )	r   r   bullet_listr   	list_itemrk   r%   r:   rc  )rP   r   r  
list_itemss       r*   
visit_ackszTexinfoTranslator.visit_acksV  s    5,d1g66(5?3[AA
	   	"B"Bz"B"B"BBBSHIII	   nr+   c                 H    | j                             |           d| _        d S )Nz@deffn)r   r%   	at_deffnxrN  s     r*   
visit_desczTexinfoTranslator.visit_desce  s#    
$!r+   c                     | j                                          |                                  | j                            d           d S )Nz@end deffn
)r   r   r   rk   r%   rN  s     r*   depart_desczTexinfoTranslator.depart_desci  s@    
	(((((r+   c                 F   | xj         dz  c_         |j        d         }|dk    r.|                    d          D ]}|                     ||           	 | j        j                            |j        d                   }|                    |j        |         | j	        j
        |j        k              }n# t          t          f$ r |}Y nw xY w|                     t          |                    }| j                            d| j        d|d           d	| _        || _        d S )
Nr   objtypedescriberX  r/  r   z {z} z@deffnx)r   r   r   rF  rL   r'  r-  get_type_nameobject_typesr   primary_domainr   rA  r   r   r>   rk   r%   r  desc_type_name)rP   r   r"  r   r/  r   categorys          r*   visit_desc_signaturez&TexinfoTranslator.visit_desc_signaturen  s6   q +i(j  	*hhuoo * *D))))	\%00X1FGGF''(;G(D(,(Bfk(QS SDD.) 	 	 	DDD	 ??>$#7#788	BCCC""s   AB2 2CCc                 h    | j                             d           | xj        dz  c_        d | _        d S )Nr   r   )rk   r%   r   r'  rN  s     r*   depart_desc_signaturez'TexinfoTranslator.depart_desc_signature  s:    	q "r+   c                     d S r0   r   rN  s     r*   visit_desc_signature_linez+TexinfoTranslator.visit_desc_signature_line  rV  r+   c                     d S r0   r   rN  s     r*   depart_desc_signature_linez,TexinfoTranslator.depart_desc_signature_line  rV  r+   c                     d S r0   r   rN  s     r*   visit_desc_contentz$TexinfoTranslator.visit_desc_content  rV  r+   c                     d S r0   r   rN  s     r*   depart_desc_contentz%TexinfoTranslator.depart_desc_content  rV  r+   c                     d S r0   r   rN  s     r*   visit_desc_inlinez#TexinfoTranslator.visit_desc_inline  rV  r+   c                     d S r0   r   rN  s     r*   depart_desc_inlinez$TexinfoTranslator.depart_desc_inline  rV  r+   c                     d S r0   r   rN  s     r*   visit_desc_namez!TexinfoTranslator.visit_desc_name  rV  r+   c                     d S r0   r   rN  s     r*   depart_desc_namez"TexinfoTranslator.depart_desc_name  rV  r+   c                     d S r0   r   rN  s     r*   visit_desc_addnamez$TexinfoTranslator.visit_desc_addname  rV  r+   c                     d S r0   r   rN  s     r*   depart_desc_addnamez%TexinfoTranslator.depart_desc_addname  rV  r+   c                     d S r0   r   rN  s     r*   visit_desc_typez!TexinfoTranslator.visit_desc_type  rV  r+   c                     d S r0   r   rN  s     r*   depart_desc_typez"TexinfoTranslator.depart_desc_type  rV  r+   c                 :    | j                             d           d S )Nz -> r   rN  s     r*   visit_desc_returnsz$TexinfoTranslator.visit_desc_returns  rq  r+   c                     d S r0   r   rN  s     r*   depart_desc_returnsz%TexinfoTranslator.depart_desc_returns  rV  r+   c                 H    | j                             d           d| _        d S )Nz (r   )rk   r%   first_paramrN  s     r*   visit_desc_parameterlistz*TexinfoTranslator.visit_desc_parameterlist  s&    	r+   c                 :    | j                             d           d S )N)r   rN  s     r*   depart_desc_parameterlistz+TexinfoTranslator.depart_desc_parameterlist  r  r+   c                    | j         s| j                            d           nd| _         |                     |                                          }|                    dd          }| j                            |           t          j        )Nr  r       z@w{ })rI  rk   r%   r   r   r   r   rc  r  s      r*   visit_desc_parameterz&TexinfoTranslator.visit_desc_parameter  sx     	!IT"""" D{{4;;==))||D'**	nr+   c                 :    | j                             d           d S )N[r   rN  s     r*   visit_desc_optionalz%TexinfoTranslator.visit_desc_optional  r  r+   c                 :    | j                             d           d S )N]r   rN  s     r*   depart_desc_optionalz&TexinfoTranslator.depart_desc_optional  r  r+   c                     |                                                                 }| j        r|| j        d         d         k    s"| j        r'|| j                                        v rt
          j        d S d S )Nr   r"  )r   r   r   r'  r6   r   rc  r  s      r*   visit_desc_annotationz'TexinfoTranslator.visit_desc_annotation  s     kkmm!!##Z 	!C4:b>)#<< 	!$	!),0C0I0I0K0K)K	!. 	! 	! 	! 	!r+   c                     d S r0   r   rN  s     r*   depart_desc_annotationz(TexinfoTranslator.depart_desc_annotation  rV  r+   c                     d S r0   r   rN  s     r*   visit_inlinezTexinfoTranslator.visit_inline  rV  r+   c                     d S r0   r   rN  s     r*   depart_inlinezTexinfoTranslator.depart_inline  rV  r+   c                 v   |                                 }| j                            d           |                    d          r[|| j        vrR| j                            d|                     |d                   z             | j                            |           d S | j                            d           d S )Nz@abbr{explanationz,%s}r   )r   rk   r%   hasattrr   r   r   r   )rP   r   abbrs      r*   visit_abbreviationz$TexinfoTranslator.visit_abbreviation  s    {{}}	"""<<&& 	%4t7I+I 	%Lm9L)M)M MNNN""4(((((L$$$$$r+   c                 h    | j                             | j                                                   d S r0   r  rN  s     r*   depart_abbreviationz%TexinfoTranslator.depart_abbreviation  r  r+   c                 ,    |                      |          S r0   )r  rN  s     r*   visit_manpagezTexinfoTranslator.visit_manpage  s    **4000r+   c                 ,    |                      |          S r0   )r  rN  s     r*   depart_manpagez TexinfoTranslator.depart_manpage  s    ++D111r+   c                     d S r0   r   rN  s     r*   visit_download_referencez*TexinfoTranslator.visit_download_reference  rV  r+   c                     d S r0   r   rN  s     r*   depart_download_referencez+TexinfoTranslator.depart_download_reference  rV  r+   c                 0    |                      |           d S r0   )r  rN  s     r*   visit_hlistzTexinfoTranslator.visit_hlist  s    t$$$$$r+   c                 0    |                      |           d S r0   )r  rN  s     r*   depart_hlistzTexinfoTranslator.depart_hlist  s    %%%%%r+   c                     d S r0   r   rN  s     r*   visit_hlistcolz TexinfoTranslator.visit_hlistcol  rV  r+   c                     d S r0   r   rN  s     r*   depart_hlistcolz!TexinfoTranslator.depart_hlistcol  rV  r+   c                     d S r0   r   rN  s     r*   visit_pending_xrefz$TexinfoTranslator.visit_pending_xref  rV  r+   c                     d S r0   r   rN  s     r*   depart_pending_xrefz%TexinfoTranslator.depart_pending_xref  rV  r+   c                     | j                             d|                     |                                          z   dz              t          j        )Nz@math{r   )rk   r%   r   r   r   rc  rN  s     r*   
visit_mathzTexinfoTranslator.visit_math  s>    	DOODKKMM$B$BBSHIIInr+   c                     |                     d          r|                     |d         |           | j                            d|                     |                                          z             t          j        )Nr;  z

@example
%s
@end example

)r   rF  rk   r%   r   r   r   rc  rN  s     r*   visit_math_blockz"TexinfoTranslator.visit_math_block  so    88G 	1OODM4000	=778 	9 	9 	9nr+   r^   )rD   (  r_   r`   ra   rL   re   r  r   r   rT   rO   rX   rw   r   r   r   rd   r   r   r   r   r   r   r   compiler	   r
   r  r   r  r   r   r   r   r   r%  r?  r  r   rF  rK  rO  rQ  r   rS  rU  r[  r^  rk  rt  rm  rp  rj  rw  ry  r{  r  r  r  r  r  r  r  r  r  r  r  r  visit_doctest_blockdepart_doctest_blockr  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  r  r  r  r  r   r"  r%  r'  r)  r+  r-  r/  r1  r3  r7  r9  r;  r>  r@  rB  rF  rH  rJ  rL  rP  rR  rU  rW  rY  r[  r]  r_  ra  rc  re  rj  rl  rn  rp  rr  rt  rv  rx  rz  r}  r  r  visit_attentiondepart_attentionvisit_cautiondepart_cautionvisit_dangerdepart_dangervisit_errordepart_error
visit_hintdepart_hintvisit_importantdepart_important
visit_notedepart_note	visit_tip
depart_tipvisit_warningdepart_warningr  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  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/  r1  r3  r5  r7  r9  r;  r=  r?  rA  rC  rE  rG  rJ  rM  rP  rS  rV  rX  rZ  r\  r^  rc  re  rg  ri  rk  rm  ro  rq  rs  ru  rw  ry  r{  r}  rf   rg   s   @r*   rU   rU      s         $G$$$!   )  ):J  )t  )  )  )  )  )  )D/ / / /*(8 (8 (8 (8T7 7 7 7<+ + + +2' ' ' 'B     C C    	3 	3 	 	 	 	S S    # # # #
(c (c ( ( ( ( ( ( CM"*]B[B[ H HS	 H H"H H H H$(# ($ ( ( ( (8# #    " " " "Ng $sDGY[_G_A`<a7a2b    &	s 	s 	 	 	 		)S 	) 	) 	) 	) 	) 	)#3 #c # #$ # # # #*7 *t * * * * G          t           '  d        & 7  t        HG0 0D 0 0 0 0*! !T ! ! ! !" "T " " " "!' !d ! ! ! !,7 ,t , , , ,!G ! ! ! ! !
& &T & & & &0' d    =G = = = = =~W     7 t    
' d    G     W     +g +$ + + + +-w -4 - - - -) )D ) ) ) )+ +T + + + + ./'W ' ' ' ' '
%g %$ % % % %
"w "4 " " " "" "D " " " " T    ' d    %7 %t % % % %-G - - - - -)G ) ) ) ) )#' #d # # # #
7 t    
!g !$ ! ! ! !w 4    !G ! ! ! ! !W     
7 t    'W ' ' ' ' 'g $    !W ! ! ! ! !"7 "t " " " ""G " " " " "!W ! ! ! ! !g $    
7g 7$ 7 7 7 7+w +4 + + + +8' 8d 8 8 8 8-7 -t - - - -%G % % % % %W     
1g 1$ 1 1 1 1)w )4 ) ) ) )7 t    G     !w !4 ! ! ! ! D    " "T " " " "
!' !d ! ! ! ! D     T    5' 5d 5 5 5 57 t    g $    w 4    
/' /d / / / /)7 )t ) ) ) )!w !4 ! ! ! ! D    	"w 	"4 	" 	" 	" 	" D     W          g $    W     g $    
! !D ! ! ! !2 2T 2 2 2 27 t    G     8' 8d 8 8 8 87 t    # #T # # # #' d    % %D % % % % T     D     T    g $    !w !4 ! ! ! !   D        ) )T ) ) ) )W     g $     D     T    W     g $    W     g $    
@ @W @C @ @ @ @ @AG A A A A A-g -$ - - - -
 .O(+M&N*L%M)K$L(J#K-O((J#K'I"J+M&N' d    G      T     T    :G : : : : :1W 1 1 1 1 1W     g $    " "D " " " " T    4W 4 4 4 4 4g $    -g -$ - - - -!w !4 ! ! ! !g $    0 0T 0 0 0 0-' -d - - - -*' *d * * * *$7 $t $ $ $ $B BD B B B B( T    7 t    G     ' d     7  t        % %D % % % %   T         T    ' d     T    ' d    ' d     T    ' d    g $    w 4    & &D & & & &d t    
 T    &W     g $    #7 #t # # # #G     # #T # # # #' d    	5 	5D 	5 	5 	5 	5' d    7 t    @ @D @ @ @ @! !T ! ! ! !7 t    
6' 6d 6 6 6 67 t    w 4    7 t    G     w 4    "x} " " " " ") )$ ) ) ) )
# #T # # # #&#' #d # # # #
g $    w 4    w 4     D    g $    w 4    G     W     w 4     D    G     W     !w !4 ! ! ! ! D    W     g $    	 	T 	 	 	 	 D     T    	!' 	!d 	! 	! 	! 	!7 t    
 T    ' d    %w %4 % % % %- -D - - - -1' 1d 1 1 1 127 2t 2 2 2 2W     g $    % %D % % % %& &T & & & &7 t    G     w 4     D    w 4    W         r+   rU   r0   );rb   r   r   osr   typingr   r   r   r   r   r	   r
   r   r   r   r   docutilsr   r   docutils.nodesr   r   r   sphinxr   r   sphinx.domainsr   sphinx.domains.indexr   sphinx.errorsr   sphinx.localer   r   r   sphinx.utilr   sphinx.util.docutilsr   sphinx.util.i18nr   sphinx.writers.latexr   sphinx.builders.texinfor    	getLoggerr_   rh  r   r   r!   r'   rd   r>   Writerr@   rU   r   r+   r*   <module>r     s   ) ) 				       ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! $ # # # # # # # . . . . . . . . . . 0 0 0 0 0 0 0 0 % % % % % % , , , , , , ( ( ( ( ( ( 1 1 1 1 1 1 1 1 1 1       1 1 1 1 1 1 ( ( ( ( ( ( 3 3 3 3 3 3 7666666 
	8	$	$ 00"3(V	g 	$u}*= 	 	 	 	$ $c $ $s $ $ $ $= = = = =GN = = =>M M M M M( M M M M Mr+   