3

T'íc\”ã@sDdZddlZddlZddlZddlZddlmZmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZddlmZmZddlmZmZddlmZddlmZdd	lmZm Z dd
l!m"Z"e	rÌddl#m$Z$Gdd
„d
ƒZ%Gdd„dƒZ&Gdd„dej'ƒZ'dZ(dZ)e(fe*e+e
ee*dœdd„Z,Gdd„dej-ƒZ.Gdd„de"ƒZ/dS)z&Custom docutils writer for plain text.éN)ÚchainÚgroupby)Ú
TYPE_CHECKINGÚAnyÚDictÚ	GeneratorÚIterableÚListÚOptionalÚSetÚTupleÚUnionÚcast)ÚnodesÚwriters)ÚElementÚText)Úcolumn_width)Úaddnodes)Ú_Úadmonitionlabels)ÚSphinxTranslator)ÚTextBuilderc@sReZdZdZdeeeddœdd„Zedœd	d
„Zedœdd„Zedd
œdd„Z	dS)ÚCellzVRepresents a cell in a table.
    It can span multiple columns or multiple lines.
    ÚéN)ÚtextÚrowspanÚcolspanÚreturncCs(||_g|_||_||_d|_d|_dS)N)rÚwrappedrrÚcolÚrow)Úselfrrr©r$ú5/tmp/pip-build-gk9425m9/sphinx/sphinx/writers/text.pyÚ__init__sz
Cell.__init__)rcCsdj|j|j|j|j|jƒS)Nz<Cell {!r} {}v{}/{}>{}>)Úformatrr"rr!r)r#r$r$r%Ú__repr__"sz
Cell.__repr__cCst|j|jfƒS)N)Úhashr!r")r#r$r$r%Ú__hash__'sz
Cell.__hash__)ÚwidthrcCst|j|ƒ|_dS)N)Úmy_wraprr )r#r+r$r$r%Úwrap*sz	Cell.wrap)rrr)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚintr&r(r*r-r$r$r$r%rs
rc@seZdZdZd'eeddœdd„Zddœdd„Zddœd	d
„Ze	ddœdd
„Z
eeefe	dœdd„Zeeefe	ddœdd„Z
eddœdd„Zeddœdd„Zedœdd„Ze	eeedœdd„Zeee	ddfdœdd „ƒZddœd!d"„Zee	edœd#d$„Zedœd%d&„ZdS)(ÚTableajRepresents a table, handling cells that can span multiple lines
    or rows, like::

       +-----------+-----+
       | AAA       | BBB |
       +-----+-----+     |
       |     | XXX |     |
       |     +-----+-----+
       | DDD | CCC       |
       +-----+-----------+

    This class can be used in two ways, either:

    - With absolute positions: call ``table[line, col] = Cell(...)``,
      this overwrites any existing cell(s) at these positions.

    - With relative positions: call the ``add_row()`` and
      ``add_cell(Cell(...))`` as needed.

    Cells spanning multiple rows or multiple columns (having a
    colspan or rowspan greater than one) are automatically referenced
    by all the table cells they cover. This is a useful
    representation as we can simply check
    ``if self[x, y] is self[x, y+1]`` to recognize a rowspan.

    Colwidth is not automatically computed, it has to be given, either
    at construction time, or during the table construction.

    Example usage::

       table = Table([6, 6])
       table.add_cell(Cell("foo"))
       table.add_cell(Cell("bar"))
       table.set_separator()
       table.add_row()
       table.add_cell(Cell("FOO"))
       table.add_cell(Cell("BAR"))
       print(table)
       +--------+--------+
       | foo    | bar    |
       |========|========|
       | FOO    | BAR    |
       +--------+--------+

    N)ÚcolwidthrcCs.g|_d|_|dk	r|ng|_d|_d|_dS)Nr)ÚlinesÚ	separatorr5Úcurrent_lineÚcurrent_col)r#r5r$r$r%r&\s
zTable.__init__)rcCs|jd7_d|_dS)zAdd a row to the table, to use with ``add_cell()``.  It is not needed
        to call ``add_row()`` before the first ``add_cell()``.
        rrN)r8r9)r#r$r$r%Úadd_rowcsz
Table.add_rowcCst|jƒ|_dS)z*Sets the separator below the current line.N)Úlenr6r7)r#r$r$r%Ú
set_separatorjszTable.set_separator)ÚcellrcCsHx"||j|jfr"|jd7_qW|||j|jf<|j|j7_dS)zãAdd a cell to the current line, to use with ``add_row()``.  To add
        a cell spanning multiple lines or rows, simply set the
        ``cell.colspan`` or ``cell.rowspan`` BEFORE inserting it into
        the table.
        rN)r8r9r)r#r=r$r$r%Úadd_cellnszTable.add_cell)ÚposrcCs2|\}}|j|dƒ|j|dƒ|j||S)Nr)Ú_ensure_has_lineÚ_ensure_has_columnr6)r#r?Úliner!r$r$r%Ú__getitem__yszTable.__getitem__)r?r=rcCsv|\}}|j||jƒ|j||jƒxHt|jƒD]:}x4t|jƒD]&}||j||||<||_||_qDWq4WdS)N)r@rrArÚranger6r"r!)r#r?r=rBr!ZdlineZdcolr$r$r%Ú__setitem__szTable.__setitem__)rBrcCs$xt|jƒ|kr|jjgƒqWdS)N)r;r6Úappend)r#rBr$r$r%r@‰szTable._ensure_has_line)r!rcCs0x*|jD] }xt|ƒ|kr&|jdƒqWqWdS)N)r6r;rF)r#r!rBr$r$r%rAszTable._ensure_has_columncCsdjdd„|jDƒƒS)NÚ
css|]}t|ƒVqdS)N)Úrepr)Ú.0rBr$r$r%ú	<genexpr>“sz!Table.__repr__.<locals>.<genexpr>)Újoinr6)r#r$r$r%r(’szTable.__repr__)r=ÚsourcercCsHd}x0t||j|jfjƒD]}|||j|7}qW||jddS)z¼Give the cell width, according to the given source (either
        ``self.colwidth`` or ``self.measured_widths``).
        This takes into account cells spanning multiple columns.
        rré)rDr"r!r)r#r=rLr+Úir$r$r%Ú
cell_width•szTable.cell_widthccsDtƒ}x8|jD].}x(|D] }|r||kr|V|j|ƒqWqWdS)N)Úsetr6Úadd)r#ÚseenrBr=r$r$r%ÚcellsŸs
zTable.cellscCs–|jdd…|_x€|jD]v}|j|j||jƒd|js:qtjtdd„|jDƒƒ|j	ƒ}x2t
|j|j|j	ƒD]}t|j||ƒ|j|<qpWqWdS)zŽCall ``cell.wrap()`` on all cells, and measure each column width
        after wrapping (result written in ``self.measured_widths``).
        N)r+css|]}t|ƒVqdS)N)r)rIÚxr$r$r%rJ±szTable.rewrap.<locals>.<genexpr>)r5Úmeasured_widthsrSr-rOr ÚmathÚceilÚmaxrrDr!)r#r=r+r!r$r$r%Úrewrap¨s zTable.rewrapcCs&d}x|D]}t|t|jƒƒ}q
W|S)zfFor a given line, compute the number of physical lines it spans
        due to text wrapping.
        r)rXr;r )r#rBZphysical_linesr=r$r$r%Úphysical_lines_for_lineµs
zTable.physical_lines_for_linec	sDg}ˆjƒdttttdœ‡fdd„
}xtˆjƒD]ò\}}ˆjr`|ˆjkr`|j|d|ƒƒn|j|d|ƒƒx¶tˆj	|ƒƒD]¤}dg}xˆt|ƒD]|\}}|j
|kr¨q”||jkr¸d}	n|t|j
ƒkrÌd}	n
|j
|}	t|	ƒt|	ƒ}
|jd|	jˆj|ˆjƒd	|
ƒdƒq”W|jdj|ƒƒq€Wq6W|j|dƒƒd
j|ƒS)Nú-)ÚcharÚlinenorcsÞg}xhtˆjƒD]Z\}}|dk	rX|dkrXˆ||fˆ|d|fkrX|jd|dƒq|j||dƒqW|dddkr‚dnd}|dddkršdnd}d	d
„t||dd…ƒDƒ}|j|ƒ|djtjt||ƒƒƒS)
zfCalled on the line *before* lineno.
            Called with no *lineno* for the last sep.
            Nrrú ér[ú+ú|cSs0g|](\}}|ddks$|ddkr(dnd‘qS)rr[r`rar$)rIÚleftÚrightr$r$r%ú
<listcomp>Ósz3Table.__str__.<locals>.writesep.<locals>.<listcomp>réÿÿÿÿ)Ú	enumeraterUrFÚziprKrÚ
from_iterable)r\r]ÚoutÚcolnor+ÚheadÚtailZglue)r#r$r%ÚwritesepÂs
zTable.__str__.<locals>.writesepú=rarr^rrG)r[N)rYr2r
r3rfr6r7rFrDrZr!r"r;r rÚljustrOrUrK)r#rirmr]rBZ
physical_lineZlinestrrjr=Z
physical_textZ
adjust_lenr$)r#r%Ú__str__¾s.


*z
Table.__str__)N)r.r/r0r1r	r3r&r:r<rr>rrCrEr@rAr2r(rOÚpropertyrrSrYrZrpr$r$r$r%r4.s -


	r4cs†eZdZdZejdƒZeeeedœdd„Z	ee
eeefdœdd„Zeeed	œ‡fd
d„Z
eeeee
e
dd
œdd„Z‡ZS)ÚTextWrapperz;Custom subclass that uses a different word separator regex.zf(\s+|(?<=\s)(?::[a-z-]+:)?`\S+|[^\s\w]*\w+[a-zA-Z]-(?=\w+[a-zA-Z])|(?<=[\w\!\"\'\&\.\,\?])-{2,}(?=\w)))ÚchunksrcCsg}|jdkrtd|jƒ‚|jƒxì|rg}d}|r@|j}n|j}|jt|ƒ}|jrt|djƒdkrt|rt|d=x:|r®t|dƒ}|||krª|j|j	ƒƒ||7}qvPqvW|rÔt|dƒ|krÔ|j
||||ƒ|joì|oì|d	jƒdkrö|d
=|r&|j|dj|ƒƒq&W|S)zÃ_wrap_chunks(chunks : [string]) -> [string]

        The original _wrap_chunks uses len() to calculate width.
        This method respects wide/fullwidth characters for width adjustment.
        rzinvalid width %r (must be > 0)rrrererererere)r+Ú
ValueErrorÚreverseÚsubsequent_indentÚinitial_indentrÚdrop_whitespaceÚstriprFÚpopÚ_handle_long_wordrK)r#rsr6Úcur_lineÚcur_lenÚindentr+Úlr$r$r%Ú_wrap_chunksþs4

zTextWrapper._wrap_chunks)ÚwordÚ
space_leftrcCsVd}xHt|ƒD]<\}}|t|ƒ7}||kr|d|d…||dd…fSqW|dfS)z„_break_word(word : string, space_left : int) -> (string, string)

        Break line by unicode width instead of len(word).
        rNrr)rfr)r#rr‚ÚtotalrNÚcr$r$r%Ú_break_word-s$zTextWrapper._break_word)rrcsxtttdœ‡‡fdd„}g}xT||ƒD]H}xBt|tƒD]4\}}|dkr^|j|dj|ƒƒƒq8|jt|ƒƒq8Wq(W|S)z¸_split(text : string) -> [string]

        Override original method that only split by 'wordsep_re'.
        This '_split' splits wide-characters into chunks by one character.
        )Útrcsttˆƒj|ƒS)N)ÚsuperrrÚ_split)r†)Ú	__class__r#r$r%Úsplit?sz!TextWrapper._split.<locals>.splitrr)r2r	rrÚextendrKÚlist)r#rrŠrsÚchunkÚwÚg)r‰)r#r%rˆ9szTextWrapper._splitN)Úreversed_chunksr|r}r+rcCsRt||dƒ}|jr<|j|d|ƒ\}}|j|ƒ||d<n|sN|j|jƒƒdS)zé_handle_long_word(chunks : [string],
                             cur_line : [string],
                             cur_len : int, width : int)

        Override original method for using self._break_word() instead of slice.
        rNrere)rXÚbreak_long_wordsr…rFrz)r#rr|r}r+r‚rÚrr$r$r%r{Js

zTextWrapper._handle_long_word)r.r/r0r1ÚreÚcompileÚ
wordsep_rer	r2r€r3rr…rˆr{Ú
__classcell__r$r$)r‰r%rrõs/rréFrM)rr+ÚkwargsrcKstfd|i|—Ž}|j|ƒS)Nr+)rrr-)rr+r˜rŽr$r$r%r,`sr,csReZdZUdZddffZiZedZedddœ‡fdd„Z	dd	œd
d„Z
‡ZS)
Ú
TextWriterrzNo options here.rNr)Úbuilderrcstƒjƒ||_dS)N)r‡r&rš)r#rš)r‰r$r%r&ls
zTextWriter.__init__)rcCs0|jj|j|jƒ}|jj|ƒtt|ƒj|_dS)N)ršZcreate_translatorÚdocumentZ	walkaboutrÚTextTranslatorÚbodyÚoutput)r#Úvisitorr$r$r%Ú	translatepszTextWriter.translate)r)r.r/r0Ú	supportedZ
settings_specZsettings_defaultsrržr2r&r r–r$r$)r‰r%r™es

r™cs¤
eZdZUdZdejdddœ‡fdd„Zeddœdd„Ze	fe
dd	œd
d„Zdd
gdfee
eeddœdd„Zeddœdd„Zeddœdd„Zeddœdd„Zeddœdd„Zeddœdd„Zeddœdd„ZeZeZeddœdd„Zeddœd d!„Zeddœd"d#„Zeddœd$d%„Zeddœd&d'„Zeddœd(d)„Zeddœd*d+„Zeedœd,d-„Zeddœd.d/„Z eddœd0d1„Z!eddœd2d3„Z"eddœd4d5„Z#eddœd6d7„Z$eddœd8d9„Z%eddœd:d;„Z&eddœd<d=„Z'eddœd>d?„Z(eddœd@dA„Z)eddœdBdC„Z*eddœdDdE„Z+eddœdFdG„Z,eddœdHdI„Z-eddœdJdK„Z.eddœdLdM„Z/eddœdNdO„Z0eddœdPdQ„Z1eddœdRdS„Z2eddœdTdU„Z3eddœdVdW„Z4eddœdXdY„Z5eddœdZd[„Z6eddœd\d]„Z7eddœd^d_„Z8eddœd`da„Z9eddœdbdc„Z:eddœddde„Z;eddœdfdg„Z<eddœdhdi„Z=eddœdjdk„Z>eddœdldm„Z?eddœdndo„Z@eddœdpdq„ZAeddœdrds„ZBeddœdtdu„ZCeddœdvdw„ZDeddœdxdy„ZEeddœdzd{„ZFeddœd|d}„ZGeddœd~d„ZHeddœd€d„ZIeddœd‚dƒ„ZJeddœd„d…„ZKeddœd†d‡„ZLeddœdˆd‰„ZMeddœdŠd‹„ZNeddœdŒd„ZOeddœdŽd„ZPeddœdd‘„ZQeddœd’d“„ZReddœd”d•„ZSeddœd–d—„ZTeddœd˜d™„ZUeddœdšd›„ZVeddœdœd„ZWeddœdždŸ„ZXeddœd d¡„ZYeddœd¢d£„ZZeddœd¤d¥„Z[eddœd¦d§„Z\eddœd¨d©„Z]eddœdªd«„Z^eddœd¬d­„Z_eddœd®d¯„Z`eddœd°d±„Zaeddœd²d³„Zbeddœd´dµ„Zceddœd¶d·„Zdeddœd¸d¹„Zeeddœdºd»„Zfeddœd¼d½„Zgeddœd¾d¿„ZheddœdÀdÁ„ZieddœdÂdÄZjeddœdÄdńZkeddœdÆdDŽZleddœdÈdɄZmeddœdÊd˄ZneddœdÌd̈́ZoeddœdÎdτZpeddœdÐdфZqeddœdÒdӄZreddœdÔdՄZseddœdÖdׄZteddœdØdلZueddœdÚdۄZveddœdÜd݄ZweddœdÞd߄Zxeddœdàdá„Zyeddœdâdã„Zzeddœdädå„Z{eddœdædç„Z|eddœdèdé„Z}eddœdêdë„Z~eddœdìdí„Zeddœdîdï„Z€eddœdðdñ„Zeddœdòdó„Z‚eddœdôdõ„Zƒeddœdöd÷„Z„eddœdødù„Z…eddœdúdû„Z†eddœdüdý„Z‡eddœdþdÿ„Zˆeddœdd„Z‰eddœ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œe‰ZeŠZžeddœdd„ZŸeddœdd„Z eddœdd	„Z¡eddœd
d„Z¢eddœdd
„Z£eddœdd„Z¤eddœdd„Z¥eddœdd„Z¦eddœdd„Z§eddœdd„Z¨eddœdd„Z©eddœdd„Zªeddœdd„Z«eddœdd„Z¬eddœd d!„Z­eddœd"d#„Z®eddœd$d%„Z¯eddœd&d'„Z°eddœd(d)„Z±eddœd*d+„Z²eddœd,d-„Z³eddœd.d/„Z´eddœd0d1„Zµeddœd2d3„Z¶eddœd4d5„Z·eddœd6d7„Z¸eddœd8d9„Z¹eddœd:d;„Zºeddœd<d=„Z»eddœd>d?„Z¼eddœd@dA„Z½eddœdBdC„Z¾eddœdDdE„Z¿eddœdFdG„ZÀeddœdHdI„ZÁeddœdJdK„ZÂeddœdLdM„ZÃeddœdNdO„ZÄeddœdPdQ„ZÅeddœdRdS„ZÆeddœdTdU„ZÇeddœdVdW„ZÈeddœdXdY„ZÉeddœdZd[„ZÊeddœd\d]„ZËeddœd^d_„ZÌeddœd`da„ZÍeddœdbdc„ZÎeddœddde„ZÏeÐddœdfdg„ZÑeÐddœdhdi„ZÒeddœdjdk„ZÓeddœdldm„ZÔeddœdndo„ZÕeddœdpdq„ZÖeddœdrds„Z×eddœdtdu„ZØeddœdvdw„ZÙeddœdxdy„ZÚeddœdzd{„ZÛeddœd|d}„ZÜeddœd~d„ZÝeddœd€d„ZÞeddœd‚dƒ„Zßeddœd„d…„Zàeddœd†d‡„Záeddœdˆd‰„Zâ‡ZãS(ŠrœNr)r›ršrcsˆtƒj||ƒ|jj}|dkr&d|_n|dkr8tj|_nd|_|jj|_|jj	|_
|jj|_gg|_
dg|_g|_d|_d|_d|_dS)NZwindowsz
ZnativerGr)r‡r&ÚconfigZ
text_newlinesÚnlÚosÚlinesepZtext_sectioncharsÚsectioncharsZtext_add_secnumbersÚadd_secnumbersZtext_secnumber_suffixÚsecnumber_suffixÚstatesÚstateindentÚlist_counterÚsectionlevelÚlineblocklevelÚtable)r#r›ršÚnewlines)r‰r$r%r&ys 



zTextTranslator.__init__)rrcCs|jdjd|fƒdS)Nrrere)r©rF)r#rr$r$r%Úadd_textszTextTranslator.add_text)r~rcCs|jjgƒ|jj|ƒdS)N)r©rFrª)r#r~r$r$r%Ú	new_stateszTextTranslator.new_stateTr)r-ÚendÚfirstrc
s|jjƒ}t|jƒ‰|jjƒ‰g‰g‰ddœ‡‡‡‡‡‡fdd„}x@|D]8\}}|dkrdˆj|ƒqH|ƒˆjˆ||fƒg‰qHW|ƒ|dk	rôˆrôˆddˆ}ˆdddgkr̈jd||gfƒn(|ˆddjdƒ}	ˆjd||	gfƒ|jdjˆƒdS)	N)rcsPˆsdSˆr$tdjˆƒtˆd}ndjˆƒjƒ}ˆr>|ˆ7}ˆjˆ|fƒdS)Nr)r+)r,rKÚMAXWIDTHÚ
splitlinesrF)Úres)r²r~Ú	maxindentÚresultÚtoformatr-r$r%Ú	do_format›sz+TextTranslator.end_state.<locals>.do_formatrrrrere)r©rzÚsumrªrFÚinsertr‹)
r#r-r²r³ÚcontentrºZ
itemindentÚitemZ	newindentrr$)r²r~r·r¸r¹r-r%Ú	end_state”s(



zTextTranslator.end_state)ÚnodercCs|jdƒdS)Nr)r±)r#rÀr$r$r%Úvisit_document¸szTextTranslator.visit_documentcCs*|jƒ|jjdd„|jdDƒƒ|_dS)Ncss,|]$\}}|D]}|o d||VqqdS)r^Nr$)rIr~r6rBr$r$r%rJ½sz1TextTranslator.depart_document.<locals>.<genexpr>r)r¿r£rKr©r)r#rÀr$r$r%Údepart_document»szTextTranslator.depart_documentcCs |j|j|_|jd7_dS)Nr)r¦r¬Ú_title_char)r#rÀr$r$r%Ú
visit_sectionÂszTextTranslator.visit_sectioncCs|jd8_dS)Nr)r¬)r#rÀr$r$r%Údepart_sectionÆszTextTranslator.depart_sectioncCs|jdƒdS)Nr)r±)r#rÀr$r$r%Úvisit_topicÉszTextTranslator.visit_topiccCs|jƒdS)N)r¿)r#rÀr$r$r%Údepart_topicÌszTextTranslator.depart_topiccCs|jdƒ|jdƒdS)Nrz-[ )r±r°)r#rÀr$r$r%Úvisit_rubricÒs
zTextTranslator.visit_rubriccCs|jdƒ|jƒdS)Nz ]-)r°r¿)r#rÀr$r$r%Ú
depart_rubricÖs
zTextTranslator.depart_rubriccCsdS)Nr$)r#rÀr$r$r%Úvisit_compoundÚszTextTranslator.visit_compoundcCsdS)Nr$)r#rÀr$r$r%Údepart_compoundÝszTextTranslator.depart_compoundcCsdS)Nr$)r#rÀr$r$r%Úvisit_glossaryàszTextTranslator.visit_glossarycCsdS)Nr$)r#rÀr$r$r%Údepart_glossaryãszTextTranslator.depart_glossarycCs4t|jtjƒr&|j|jƒdƒtj‚|jdƒdS)Nz: r)Ú
isinstanceÚparentrÚ
Admonitionr°ÚastextÚSkipNoder±)r#rÀr$r$r%Úvisit_titleæszTextTranslator.visit_titlecCsft|jtjƒrbd|jdd}|jjj|ƒ}|dkrD|jjjdƒ}|dk	rbdjtt	|ƒƒ|j
SdS)Nú#ÚidsrrÚ.)rÎrÏrÚsectionršZ
secnumbersÚgetrKÚmapr2r¨)r#rÀZ
anchornameÚnumbersr$r$r%Úget_section_number_stringìsz(TextTranslator.get_section_number_stringcCs°t|jtjƒr|j}nd}d}djdd„|jjƒDƒƒ}|jrL|j	|ƒ|}|j
jƒd|d|t|ƒdg}t|jƒdkr˜t|jd	ƒdkr˜|jdƒ|jd
j
d|fƒdS)Nú^rcss"|]}|ddkr|dVqdS)rrNrer$)rIrTr$r$r%rJüsz.TextTranslator.depart_title.<locals>.<genexpr>z%sr_rrrere)rÎrÏrr×rÃrKr©rzr§rÛrªrr;rF)r#rÀr\rÚtitler$r$r%Údepart_titleös
 
zTextTranslator.depart_titlecCsdS)Nr$)r#rÀr$r$r%Úvisit_subtitleszTextTranslator.visit_subtitlecCsdS)Nr$)r#rÀr$r$r%Údepart_subtitle	szTextTranslator.depart_subtitlecCs|jdƒdS)Nz-- )r°)r#rÀr$r$r%Úvisit_attributionsz TextTranslator.visit_attributioncCsdS)Nr$)r#rÀr$r$r%Údepart_attributionsz!TextTranslator.depart_attributioncCsdS)Nr$)r#rÀr$r$r%Ú
visit_descszTextTranslator.visit_desccCsdS)Nr$)r#rÀr$r$r%Údepart_descszTextTranslator.depart_desccCs|jdƒdS)Nr)r±)r#rÀr$r$r%Úvisit_desc_signaturesz#TextTranslator.visit_desc_signaturecCs|jddddS)NF)r-r²)r¿)r#rÀr$r$r%Údepart_desc_signature"sz$TextTranslator.depart_desc_signaturecCsdS)Nr$)r#rÀr$r$r%Úvisit_desc_signature_line&sz(TextTranslator.visit_desc_signature_linecCs|jdƒdS)NrG)r°)r#rÀr$r$r%Údepart_desc_signature_line)sz)TextTranslator.depart_desc_signature_linecCs|jƒ|j|jƒdS)N)r±r°r£)r#rÀr$r$r%Úvisit_desc_content,sz!TextTranslator.visit_desc_contentcCs|jƒdS)N)r¿)r#rÀr$r$r%Údepart_desc_content0sz"TextTranslator.depart_desc_contentcCsdS)Nr$)r#rÀr$r$r%Úvisit_desc_inline3sz TextTranslator.visit_desc_inlinecCsdS)Nr$)r#rÀr$r$r%Údepart_desc_inline6sz!TextTranslator.depart_desc_inlinecCsdS)Nr$)r#rÀr$r$r%Úvisit_desc_name<szTextTranslator.visit_desc_namecCsdS)Nr$)r#rÀr$r$r%Údepart_desc_name?szTextTranslator.depart_desc_namecCsdS)Nr$)r#rÀr$r$r%Úvisit_desc_addnameBsz!TextTranslator.visit_desc_addnamecCsdS)Nr$)r#rÀr$r$r%Údepart_desc_addnameEsz"TextTranslator.depart_desc_addnamecCsdS)Nr$)r#rÀr$r$r%Úvisit_desc_typeHszTextTranslator.visit_desc_typecCsdS)Nr$)r#rÀr$r$r%Údepart_desc_typeKszTextTranslator.depart_desc_typecCs|jdƒdS)Nz -> )r°)r#rÀr$r$r%Úvisit_desc_returnsNsz!TextTranslator.visit_desc_returnscCsdS)Nr$)r#rÀr$r$r%Údepart_desc_returnsQsz"TextTranslator.depart_desc_returnscCs|jdƒd|_dS)Nú(r)r°Úfirst_param)r#rÀr$r$r%Úvisit_desc_parameterlistTs
z'TextTranslator.visit_desc_parameterlistcCs|jdƒdS)Nú))r°)r#rÀr$r$r%Údepart_desc_parameterlistXsz(TextTranslator.depart_desc_parameterlistcCs0|js|jdƒnd|_|j|jƒƒtj‚dS)Nz, r)rör°rÑrrÒ)r#rÀr$r$r%Úvisit_desc_parameter[s
z#TextTranslator.visit_desc_parametercCs|jdƒdS)Nú[)r°)r#rÀr$r$r%Úvisit_desc_optionalcsz"TextTranslator.visit_desc_optionalcCs|jdƒdS)Nú])r°)r#rÀr$r$r%Údepart_desc_optionalfsz#TextTranslator.depart_desc_optionalcCsdS)Nr$)r#rÀr$r$r%Úvisit_desc_annotationisz$TextTranslator.visit_desc_annotationcCsdS)Nr$)r#rÀr$r$r%Údepart_desc_annotationlsz%TextTranslator.depart_desc_annotationcCs|jƒdS)N)r±)r#rÀr$r$r%Úvisit_figureqszTextTranslator.visit_figurecCs|jƒdS)N)r¿)r#rÀr$r$r%Ú
depart_figuretszTextTranslator.depart_figurecCsdS)Nr$)r#rÀr$r$r%Ú
visit_captionwszTextTranslator.visit_captioncCsdS)Nr$)r#rÀr$r$r%Údepart_captionzszTextTranslator.depart_captioncCsÎ|jƒg}tttj|ƒ}x|D]}|j|dƒq"Wtdd„|Dƒƒ}d}xh|D]`}|dr‚|j|dj|ƒdƒ|d}n|dk	r |jddt	|ƒƒ|j|j
ƒ|jƒqTW|jddt
j‚dS)	NZ	tokennamecss|]}t|ƒVqdS)N)r;)rIÚnamer$r$r%rJƒsz6TextTranslator.visit_productionlist.<locals>.<genexpr>z ::=z%s    r^F)r-)r±rrrÚ
productionrFrXr°ror;rÑr£r¿rrÒ)r#rÀÚnamesZproductionlistrÚmaxlenÚlastnamer$r$r%Úvisit_productionlist}s 


z#TextTranslator.visit_productionlistcCs6ttj|dƒ}|jƒjƒ|_|jt|jƒdƒdS)NrrM)rrÚlabelrÑryÚ	_footnoter±r;)r#rÀrr$r$r%Úvisit_footnoteszTextTranslator.visit_footnotecCs|jd|jddS)Nz[%s] )r³)r¿r)r#rÀr$r$r%Údepart_footnote”szTextTranslator.depart_footnotecCsFt|ƒr(t|dtjƒr(|djƒ|_nd|_|jt|jƒdƒdS)NrrrM)r;rÎrrrÑÚ	_citlabelr±)r#rÀr$r$r%Úvisit_citation—szTextTranslator.visit_citationcCs|jd|jddS)Nz[%s] )r³)r¿r)r#rÀr$r$r%Údepart_citationžszTextTranslator.depart_citationcCs
tj‚dS)N)rrÒ)r#rÀr$r$r%Úvisit_label¡szTextTranslator.visit_labelcCsdS)Nr$)r#rÀr$r$r%Úvisit_legend¤szTextTranslator.visit_legendcCsdS)Nr$)r#rÀr$r$r%Ú
depart_legend§szTextTranslator.depart_legendcCsdS)Nr$)r#rÀr$r$r%Úvisit_option_list¬sz TextTranslator.visit_option_listcCsdS)Nr$)r#rÀr$r$r%Údepart_option_list¯sz!TextTranslator.depart_option_listcCs|jdƒdS)Nr)r±)r#rÀr$r$r%Úvisit_option_list_item²sz%TextTranslator.visit_option_list_itemcCs|jƒdS)N)r¿)r#rÀr$r$r%Údepart_option_list_itemµsz&TextTranslator.depart_option_list_itemcCs
d|_dS)NT)Ú_firstoption)r#rÀr$r$r%Úvisit_option_group¸sz!TextTranslator.visit_option_groupcCs|jdƒdS)Nz     )r°)r#rÀr$r$r%Údepart_option_group»sz"TextTranslator.depart_option_groupcCs|jrd|_n
|jdƒdS)NFz, )rr°)r#rÀr$r$r%Úvisit_option¾szTextTranslator.visit_optioncCsdS)Nr$)r#rÀr$r$r%Ú
depart_optionÄszTextTranslator.depart_optioncCsdS)Nr$)r#rÀr$r$r%Úvisit_option_stringÇsz"TextTranslator.visit_option_stringcCsdS)Nr$)r#rÀr$r$r%Údepart_option_stringÊsz#TextTranslator.depart_option_stringcCs|j|dƒdS)NÚ	delimiter)r°)r#rÀr$r$r%Úvisit_option_argumentÍsz$TextTranslator.visit_option_argumentcCsdS)Nr$)r#rÀr$r$r%Údepart_option_argumentÐsz%TextTranslator.depart_option_argumentcCsdS)Nr$)r#rÀr$r$r%Úvisit_descriptionÓsz TextTranslator.visit_descriptioncCsdS)Nr$)r#rÀr$r$r%Údepart_descriptionÖsz!TextTranslator.depart_descriptioncCs
tj‚dS)N)rrÒ)r#rÀr$r$r%Úvisit_tabular_col_specÙsz%TextTranslator.visit_tabular_col_speccCs|jjj|dƒtj‚dS)Nr5)r®r5rFrrÒ)r#rÀr$r$r%Ú
visit_colspecÜszTextTranslator.visit_colspeccCsdS)Nr$)r#rÀr$r$r%Úvisit_tgroupàszTextTranslator.visit_tgroupcCsdS)Nr$)r#rÀr$r$r%Ú
depart_tgroupãszTextTranslator.depart_tgroupcCsdS)Nr$)r#rÀr$r$r%Úvisit_theadæszTextTranslator.visit_theadcCsdS)Nr$)r#rÀr$r$r%Údepart_theadészTextTranslator.depart_theadcCs|jjƒdS)N)r®r<)r#rÀr$r$r%Úvisit_tbodyìszTextTranslator.visit_tbodycCsdS)Nr$)r#rÀr$r$r%Údepart_tbodyïszTextTranslator.depart_tbodycCs|jjr|jjƒdS)N)r®r6r:)r#rÀr$r$r%Ú	visit_rowòszTextTranslator.visit_rowcCsdS)Nr$)r#rÀr$r$r%Ú
depart_rowöszTextTranslator.depart_rowcCs4t|jddƒd|jddƒdd|_|jdƒdS)NZmorerowsrrZmorecols)rr)rrØÚentryr±)r#rÀr$r$r%Úvisit_entryùs$zTextTranslator.visit_entrycsJˆjj‡fdd„ˆjjƒDƒƒ}ˆjjƒ|ˆj_ˆjjˆjƒdˆ_dS)Nc3s|]}ˆjj|dƒVqdS)rN)r£rK)rIrT)r#r$r%rJsz.TextTranslator.depart_entry.<locals>.<genexpr>)	r£rKr©rzrªr/rr®r>)r#rÀrr$)r#r%Údepart_entryÿs
 
zTextTranslator.depart_entrycCs$|jrtdƒ‚|jdƒtƒ|_dS)Nz Nested tables are not supported.r)r®ÚNotImplementedErrorr±r4)r#rÀr$r$r%Úvisit_tables
zTextTranslator.visit_tablecCs&|jt|jƒƒd|_|jdddS)NF)r-)r°r2r®r¿)r#rÀr$r$r%Údepart_tableszTextTranslator.depart_tablecCsZttj|dƒ}tttj|ƒ}|jdƒ|jdjdd„|Dƒƒdƒ|jƒtj	‚dS)Nrz, css|]}|jƒVqdS)N)rÑ)rIÚnr$r$r%rJsz,TextTranslator.visit_acks.<locals>.<genexpr>rÖ)
rrÚbullet_listrZ	list_itemr±r°rKr¿rÒ)r#rÀr6Z
list_itemsr$r$r%Ú
visit_ackss
zTextTranslator.visit_ackscCs8d|jkr |jtdƒ|dƒ|jtdƒƒtj‚dS)NZaltz[image: %s]z[image])Ú
attributesr°rrrÒ)r#rÀr$r$r%Úvisit_images
zTextTranslator.visit_imagecCs8t|jƒ}|jdƒ|jdt|ƒ|jƒtj‚dS)Nrrn)r»rªr±r°r´r¿rrÒ)r#rÀr~r$r$r%Úvisit_transitions


zTextTranslator.visit_transitioncCs|jjdƒdS)Nrre)r«rF)r#rÀr$r$r%Úvisit_bullet_list&sz TextTranslator.visit_bullet_listcCs|jjƒdS)N)r«rz)r#rÀr$r$r%Údepart_bullet_list)sz!TextTranslator.depart_bullet_listcCs|jj|jddƒdƒdS)NÚstartr)r«rFrØ)r#rÀr$r$r%Úvisit_enumerated_list,sz$TextTranslator.visit_enumerated_listcCs|jjƒdS)N)r«rz)r#rÀr$r$r%Údepart_enumerated_list/sz%TextTranslator.depart_enumerated_listcCs|jjdƒdS)Nr_éþÿÿÿ)r«rF)r#rÀr$r$r%Úvisit_definition_list2sz$TextTranslator.visit_definition_listcCs|jjƒdS)N)r«rz)r#rÀr$r$r%Údepart_definition_list5sz%TextTranslator.depart_definition_listcCs\|jddkr|jdƒn>|jddkr*n.|jdd7<|jtt|jdƒƒdƒdS)	Nrr_rererer@rere)r«r±r;r2)r#rÀr$r$r%Úvisit_list_item8szTextTranslator.visit_list_itemcCsF|jddkr|jddn&|jdd	kr,n|jd|jd
ddS)Nrz* )r³r_z%s. rererer@re)r«r¿)r#rÀr$r$r%Údepart_list_itemDs
zTextTranslator.depart_list_itemcCstt|jtjƒƒƒ|_dS)N)r;rŒÚfindallrÚ
classifierÚ_classifier_count_in_li)r#rÀr$r$r%Úvisit_definition_list_itemLsz)TextTranslator.visit_definition_list_itemcCsdS)Nr$)r#rÀr$r$r%Údepart_definition_list_itemOsz*TextTranslator.depart_definition_list_itemcCs|jdƒdS)Nr)r±)r#rÀr$r$r%Ú
visit_termRszTextTranslator.visit_termcCs|js|jdddS)N)r²)rGr¿)r#rÀr$r$r%Údepart_termUszTextTranslator.depart_termcCs|jdƒdS)Nz : )r°)r#rÀr$r$r%Úvisit_classifierYszTextTranslator.visit_classifiercCs$|jd8_|js |jdddS)Nr)r²)rGr¿)r#rÀr$r$r%Údepart_classifier\sz TextTranslator.depart_classifiercCs|jƒdS)N)r±)r#rÀr$r$r%Úvisit_definitionaszTextTranslator.visit_definitioncCs|jƒdS)N)r¿)r#rÀr$r$r%Údepart_definitiondsz TextTranslator.depart_definitioncCsdS)Nr$)r#rÀr$r$r%Úvisit_field_listgszTextTranslator.visit_field_listcCsdS)Nr$)r#rÀr$r$r%Údepart_field_listjsz TextTranslator.depart_field_listcCsdS)Nr$)r#rÀr$r$r%Úvisit_fieldmszTextTranslator.visit_fieldcCsdS)Nr$)r#rÀr$r$r%Údepart_fieldpszTextTranslator.depart_fieldcCs|jdƒdS)Nr)r±)r#rÀr$r$r%Úvisit_field_namesszTextTranslator.visit_field_namecCs|jdƒ|jdddS)Nú:)r²)r°r¿)r#rÀr$r$r%Údepart_field_namevs
z TextTranslator.depart_field_namecCs|jƒdS)N)r±)r#rÀr$r$r%Úvisit_field_bodyzszTextTranslator.visit_field_bodycCs|jƒdS)N)r¿)r#rÀr$r$r%Údepart_field_body}sz TextTranslator.depart_field_bodycCsdS)Nr$)r#rÀr$r$r%Úvisit_centered€szTextTranslator.visit_centeredcCsdS)Nr$)r#rÀr$r$r%Údepart_centeredƒszTextTranslator.depart_centeredcCsdS)Nr$)r#rÀr$r$r%Úvisit_hlist†szTextTranslator.visit_hlistcCsdS)Nr$)r#rÀr$r$r%Údepart_hlist‰szTextTranslator.depart_hlistcCsdS)Nr$)r#rÀr$r$r%Úvisit_hlistcolŒszTextTranslator.visit_hlistcolcCsdS)Nr$)r#rÀr$r$r%Údepart_hlistcolszTextTranslator.depart_hlistcolcCs|jdƒdS)Nr)r±)r#rÀr$r$r%Úvisit_admonition’szTextTranslator.visit_admonitioncCs|jƒdS)N)r¿)r#rÀr$r$r%Údepart_admonition•sz TextTranslator.depart_admonitioncCs|jdƒdS)Nr_)r±)r#rÀr$r$r%Ú_visit_admonition˜sz TextTranslator._visit_admonitioncCsÂt|j}t|jƒt|ƒ}t|jdƒdkr”|jd	dddkr”t|tdd„|jd
ddDƒƒkr”|jdt|ƒ7<|j|ddn*|jdjdd|j	gfƒ|j|dddS)
Nrrcss|]}t|ƒVqdS)N)r;)rIÚsr$r$r%rJ sz4TextTranslator._depart_admonition.<locals>.<genexpr>z: )r³rUrerererere)
rÚtagnamer»rªr;r©r´r¿r¼r£)r#rÀrr~r$r$r%Ú_depart_admonition›s
(z!TextTranslator._depart_admonitioncCs|jdƒdS)Nr)r±)r#rÀr$r$r%Úvisit_versionmodified¾sz$TextTranslator.visit_versionmodifiedcCs|jƒdS)N)r¿)r#rÀr$r$r%Údepart_versionmodifiedÁsz%TextTranslator.depart_versionmodifiedcCs|jƒdS)N)r±)r#rÀr$r$r%Úvisit_literal_blockÄsz"TextTranslator.visit_literal_blockcCs|jdddS)NF)r-)r¿)r#rÀr$r$r%Údepart_literal_blockÇsz#TextTranslator.depart_literal_blockcCs|jdƒdS)Nr)r±)r#rÀr$r$r%Úvisit_doctest_blockÊsz"TextTranslator.visit_doctest_blockcCs|jdddS)NF)r-)r¿)r#rÀr$r$r%Údepart_doctest_blockÍsz#TextTranslator.depart_doctest_blockcCs|jƒ|jd7_dS)Nr)r±r­)r#rÀr$r$r%Úvisit_line_blockÐszTextTranslator.visit_line_blockcCs0|jd8_|jddd|js,|jdƒdS)NrF)r-r²rG)r­r¿r°)r#rÀr$r$r%Údepart_line_blockÔsz TextTranslator.depart_line_blockcCsdS)Nr$)r#rÀr$r$r%Ú
visit_lineÚszTextTranslator.visit_linecCs|jdƒdS)NrG)r°)r#rÀr$r$r%Údepart_lineÝszTextTranslator.depart_linecCs|jƒdS)N)r±)r#rÀr$r$r%Úvisit_block_quoteàsz TextTranslator.visit_block_quotecCs|jƒdS)N)r¿)r#rÀr$r$r%Údepart_block_quoteãsz!TextTranslator.depart_block_quotecCsdS)Nr$)r#rÀr$r$r%Úvisit_compact_paragraphæsz&TextTranslator.visit_compact_paragraphcCsdS)Nr$)r#rÀr$r$r%Údepart_compact_paragraphész'TextTranslator.depart_compact_paragraphcCs,t|jtjƒst|jtjƒr(|jdƒdS)Nr)rÎrÏrrÐrÚseealsor±)r#rÀr$r$r%Úvisit_paragraphìszTextTranslator.visit_paragraphcCs*t|jtjƒst|jtjƒr&|jƒdS)N)rÎrÏrrÐrrsr¿)r#rÀr$r$r%Údepart_paragraphñszTextTranslator.depart_paragraphcCs
tj‚dS)N)rrÒ)r#rÀr$r$r%Úvisit_targetöszTextTranslator.visit_targetcCs
tj‚dS)N)rrÒ)r#rÀr$r$r%Úvisit_indexùszTextTranslator.visit_indexcCs
tj‚dS)N)rrÒ)r#rÀr$r$r%Ú
visit_toctreeüszTextTranslator.visit_toctreecCs
tj‚dS)N)rrÒ)r#rÀr$r$r%Úvisit_substitution_definitionÿsz,TextTranslator.visit_substitution_definitioncCsdS)Nr$)r#rÀr$r$r%Úvisit_pending_xrefsz!TextTranslator.visit_pending_xrefcCsdS)Nr$)r#rÀr$r$r%Údepart_pending_xrefsz"TextTranslator.depart_pending_xrefcCs8|jr4|jdƒ}|dk	r4|jdjtt|ƒƒ|jƒdS)NZ	secnumberrÖ)r§rØr°rKrÙr2r¨)r#rÀrÚr$r$r%Úvisit_references
zTextTranslator.visit_referencecCsdS)Nr$)r#rÀr$r$r%Údepart_referenceszTextTranslator.depart_referencecCs&tj|jddƒƒ}|j|ƒtj‚dS)NrÝrÔ)rrrØÚ
visit_TextrÒ)r#rÀrr$r$r%Úvisit_number_references
z%TextTranslator.visit_number_referencecCsdS)Nr$)r#rÀr$r$r%Úvisit_download_referencesz'TextTranslator.visit_download_referencecCsdS)Nr$)r#rÀr$r$r%Údepart_download_referencesz(TextTranslator.depart_download_referencecCs|jdƒdS)NÚ*)r°)r#rÀr$r$r%Úvisit_emphasisszTextTranslator.visit_emphasiscCs|jdƒdS)Nr‚)r°)r#rÀr$r$r%Údepart_emphasisszTextTranslator.depart_emphasiscCs|jdƒdS)Nr‚)r°)r#rÀr$r$r%Úvisit_literal_emphasis"sz%TextTranslator.visit_literal_emphasiscCs|jdƒdS)Nr‚)r°)r#rÀr$r$r%Údepart_literal_emphasis%sz&TextTranslator.depart_literal_emphasiscCs|jdƒdS)Nz**)r°)r#rÀr$r$r%Úvisit_strong(szTextTranslator.visit_strongcCs|jdƒdS)Nz**)r°)r#rÀr$r$r%Ú
depart_strong+szTextTranslator.depart_strongcCs|jdƒdS)Nz**)r°)r#rÀr$r$r%Úvisit_literal_strong.sz#TextTranslator.visit_literal_strongcCs|jdƒdS)Nz**)r°)r#rÀr$r$r%Údepart_literal_strong1sz$TextTranslator.depart_literal_strongcCs|jdƒdS)Nr)r°)r#rÀr$r$r%Úvisit_abbreviation4sz!TextTranslator.visit_abbreviationcCs |jdƒr|jd|dƒdS)NZexplanationz (%s))Úhasattrr°)r#rÀr$r$r%Údepart_abbreviation7s
z"TextTranslator.depart_abbreviationcCs
|j|ƒS)N)r…)r#rÀr$r$r%Ú
visit_manpage;szTextTranslator.visit_manpagecCs
|j|ƒS)N)r†)r#rÀr$r$r%Údepart_manpage>szTextTranslator.depart_manpagecCs|jdƒdS)Nr‚)r°)r#rÀr$r$r%Úvisit_title_referenceAsz$TextTranslator.visit_title_referencecCs|jdƒdS)Nr‚)r°)r#rÀr$r$r%Údepart_title_referenceDsz%TextTranslator.depart_title_referencecCs|jdƒdS)Nú")r°)r#rÀr$r$r%Ú
visit_literalGszTextTranslator.visit_literalcCs|jdƒdS)Nr’)r°)r#rÀr$r$r%Údepart_literalJszTextTranslator.depart_literalcCs|jdƒdS)Nr)r°)r#rÀr$r$r%Úvisit_subscriptMszTextTranslator.visit_subscriptcCsdS)Nr$)r#rÀr$r$r%Údepart_subscriptPszTextTranslator.depart_subscriptcCs|jdƒdS)NrÜ)r°)r#rÀr$r$r%Úvisit_superscriptSsz TextTranslator.visit_superscriptcCsdS)Nr$)r#rÀr$r$r%Údepart_superscriptVsz!TextTranslator.depart_superscriptcCs|jd|jƒƒtj‚dS)Nz[%s])r°rÑrrÒ)r#rÀr$r$r%Úvisit_footnote_referenceYsz'TextTranslator.visit_footnote_referencecCs|jd|jƒƒtj‚dS)Nz[%s])r°rÑrrÒ)r#rÀr$r$r%Úvisit_citation_reference]sz'TextTranslator.visit_citation_referencecCs|j|jƒƒdS)N)r°rÑ)r#rÀr$r$r%r~aszTextTranslator.visit_TextcCsdS)Nr$)r#rÀr$r$r%Údepart_TextdszTextTranslator.depart_TextcCsdS)Nr$)r#rÀr$r$r%Úvisit_generatedgszTextTranslator.visit_generatedcCsdS)Nr$)r#rÀr$r$r%Údepart_generatedjszTextTranslator.depart_generatedcCs&d|dksd|dkr"|jdƒdS)NÚxrefÚclassesÚtermr‚)r°)r#rÀr$r$r%Úvisit_inlinemszTextTranslator.visit_inlinecCs&d|dksd|dkr"|jdƒdS)NržrŸr r‚)r°)r#rÀr$r$r%Ú
depart_inlineqszTextTranslator.depart_inlinecCsdS)Nr$)r#rÀr$r$r%Úvisit_containeruszTextTranslator.visit_containercCsdS)Nr$)r#rÀr$r$r%Údepart_containerxszTextTranslator.depart_containercCs|jdƒdS)Nz>>)r°)r#rÀr$r$r%Úvisit_problematic{sz TextTranslator.visit_problematiccCs|jdƒdS)Nz<<)r°)r#rÀr$r$r%Údepart_problematic~sz!TextTranslator.depart_problematiccCs.|jdƒ|jd|jƒƒ|jƒtj‚dS)Nrz<SYSTEM MESSAGE: %s>)r±r°rÑr¿rrÒ)r#rÀr$r$r%Úvisit_system_messages
z#TextTranslator.visit_system_messagecCs
tj‚dS)N)rrÒ)r#rÀr$r$r%Ú
visit_comment‡szTextTranslator.visit_commentcCs
tj‚dS)N)rrÒ)r#rÀr$r$r%Ú
visit_metaŠszTextTranslator.visit_metacCsBd|jddƒjƒkr8|jdƒ|j|jƒƒ|jddtj‚dS)Nrr'rrF)r-)rØrŠr±r°rÑr¿rrÒ)r#rÀr$r$r%Ú	visit_rawŽs

zTextTranslator.visit_rawcCsdS)Nr$)r#rÀr$r$r%Ú
visit_math•szTextTranslator.visit_mathcCsdS)Nr$)r#rÀr$r$r%Údepart_math˜szTextTranslator.depart_mathcCs|jƒdS)N)r±)r#rÀr$r$r%Úvisit_math_block›szTextTranslator.visit_math_blockcCs|jƒdS)N)r¿)r#rÀr$r$r%Údepart_math_blockžsz TextTranslator.depart_math_block)är.r/r0ršrr›r&r2r°Ú	STDINDENTr3r±Úboolr	r¿rrÁrÂrÄrÅrÆrÇZ
visit_sidebarZdepart_sidebarrÈ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ÿrrrrrr
r
rrrrrrrrrrrrrrrrr!r"r#r$r%r&r'r(r)r*r+r,r-r.r0r1r3r4r7r9r:r;r<r>r?rArBrCrDrHrIrJrKrLrMrNrOrPrQrRrSrTrVrWrXrYrZr[r\r]r^r_r`rardZvisit_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_warningZ
visit_seealsoZdepart_seealsorerfrgrhrirjrkrlrmrnrorprqrrrtrurvrwrxryrzr{r|r}rr€rrƒr„r…r†r‡rˆr‰rŠr‹rrŽrrr‘r“r”r•r–r—r˜r™ršrr~r›rœrr¡r¢r£r¤r¥r¦r§r¨r©rªr«r¬r­r®r–r$r$)r‰r%rœvs®
"$

rœ)0r1rVr¤r“ÚtextwrapÚ	itertoolsrrÚtypingrrrrrr	r
rrr
rZdocutilsrrZdocutils.nodesrrZdocutils.utilsrZsphinxrZ
sphinx.localerrZsphinx.util.docutilsrZsphinx.builders.textrrr4rrr´r¯r2r3r,ÚWriterr™rœr$r$r$r%Ú<module>s.4Hg