
    -Ph                         d Z dZddlZddlmZmZmZ 	 ddlZn# e$ r ddl	m
c mZ Y nw xY wdZdZdZdZdZdZ G d d	ej                  Z G d
 d          Z G d dej                  ZdS )a  
Simple man page writer for reStructuredText.

Man pages (short for "manual pages") contain system documentation on unix-like
systems. The pages are grouped in numbered sections:

 1 executable programs and shell commands
 2 system calls
 3 library functions
 4 special files
 5 file formats
 6 games
 7 miscellaneous
 8 system administration

Man pages are written *troff*, a text file formatting system.

See https://www.tldp.org/HOWTO/Man-Page for a start.

Man pages have no subsection only parts.
Standard parts

  NAME ,
  SYNOPSIS ,
  DESCRIPTION ,
  OPTIONS ,
  FILES ,
  SEE ALSO ,
  BUGS ,

and

  AUTHOR .

A unix-like system keeps an index of the DESCRIPTIONs, which is accessible
by the command whatis or apropos.

reStructuredText    N)nodeswriters	languages   g      @aw  .
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
c                   &    e Zd ZdZ	 dZ	 d Zd ZdS )Writer)manpageNc                 \    t           j                            |            t          | _        d S N)r   r	   __init__
Translatortranslator_classselfs    X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/docutils/writers/manpage.pyr   zWriter.__init__d   s&    %%% *    c                     |                      | j                  }| j                            |           |                                | _        d S r   )r   document	walkaboutastextoutput)r   visitors     r   	translatezWriter.translateh   sB    ''66(((nn&&r   )__name__
__module____qualname__	supportedr   r   r    r   r   r	   r	   \   sB        I'F.+ + +' ' ' ' 'r   r	   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )Tablec                 B    g | _         ddg| _        d| _        g | _        d S )Nboxcenter	)_rows_options	_tab_char_coldefsr   s    r   r   zTable.__init__o   s'    
)r   c                 :    | j                             g            d S r   r&   appendr   s    r   new_rowzTable.new_rowu   s    
"r   c                 <    | j                             |g           dS )z$Append the separator for table head.Nr+   )r   	separators     r   append_separatorzTable.append_separatorx   s     
9+&&&&&r   c                 4   d}t          |          dk    r|d         dk    rd}| j        d                             ||d                    t          | j                  t          | j        d                   k     r| j                            d           dS dS )zcell_lines is an array of linesr   .sp
   Nl)lenr&   r,   r)   )r   
cell_linesstarts      r   append_cellzTable.append_cell|   s    z??Q:a=G#;#;E
2j0111t}DJrN 3 333M  %%%%% 43r   c                 ~    |r|d         dv r|d= |r
|d         dv |r|d         dv r|d= |r|d         dv dS dS dS dS )z3Remove leading and trailing blank and ``.sp`` linesr   )
r2   r4   Nr   )r   r7   s     r   _minimize_cellzTable._minimize_cell   s     	Z]o==1  	Z]o== 	Z^>>2  	Z^>>>> 	 	 	 	>>r   c                    dg}|                     d                    | j                  dz              |                     dd                    | j                  z             | j        D ]}|                     d           t          t          |                    D ]}||         }|                     |           |                    |           |d         	                    d          s|dxx         dz  cc<   |t          |          d	z
  k     r!|                     d
| j
        z   dz              |                     d           |                     d           |                                 |                     d           |S )Nz.TS
 z;
%s.
|zT{
r4   r;   r3   zT}zT}
z_
z.TE
)r,   joinr'   r)   r&   ranger6   r<   extendendswithr(   pop)r   textrowicells        r   as_listzTable.as_list   sr   yCHHT]++e3444Gsxx667888: 	 	CKK3s88__ 	( 	(1v##D)))D!!!Bx((.. %HHH$HHHs3xxz>>KKT^ 3F :;;;;KK''''KK


Gr   N)	r   r   r   r   r-   r0   r9   r<   rJ   r   r   r   r!   r!   n   sn            ' ' '& & &      r   r!   c                      e Zd ZdZ ej        d          Z ej        d          ZdZd Z	d Z
d Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd ZddZd Zd ZeZd Zd Zd ZeZd Zd Z d Z!d Z"d Z#d Z$d  Z%d! Z&d" Z'eZ(d# Z)d$ Z*d% Z+d& Z,d' Z-d( Z.d) Z/d* Z0 ej        d+          j1        fd,Z2d- Z3eZ4d. Z5d/ Z6d0 Z7d1 Z8d2 Z9d3 Z:eZ;d4 Z<d5 Z=d6 Z>d7 Z?d8 Z@d9 ZAd: ZBd; ZCd< ZDd= ZEd> ZFd? ZGd@ ZHdA ZIdB ZJdC ZKdD ZLdE ZMdF ZNdG ZOdH ZPdI ZQdJ ZRdK ZSeZTdL ZUdM ZVdN ZWdO ZXdP ZYdQ ZZdR Z[dS Z\dT Z]dU Z^dV Z_dW Z`dX ZadY ZbdZ Zcd[ Zdd\ Zed] Zfd^ Zgd_ Zhd` Zida ZjeZkdb Zldc Zmdd Znde Zodf Zpdg Zqdh Zrdi ZseZtdj Zudk Zvdl Zwdm Zxdn Zydo Zzdp Z{dq Z|dr Z}ds Z~dt Zdu Zdv Zdw Zdx Zdy Zdz Zd{ Zd| Zd} Zd~ ZeZddZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZeZd Zd Zd Zd Zd ZeZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZeZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZeZd ZdS )r    z	\S+| +|\nz\.\wz)Man page generated from reStructuredText.c                 0   t           j                            | |           |j        x| _        }|j        }t          j        ||j                  | _        g | _	        g | _
        g | _        d| _        g | _        d| _        g | _        d| _        d | _        g | _        dddddg dddd	| _        g | _        i | _        d | _        d | _        d | _        d| _        d| _        d| _        d| _        g | _        d| _        dg| _        dddd	d
dddd	ddddd| _        d S )Nr   rL   r3   )	titletitle_uppersubtitlemanual_sectionmanual_groupauthordate	copyrightversionF)z.INDENT %.1f
z
.UNINDENT
)z.TPrL   ).TP
.B r;   )z\fB\fP)z.sp
.EX
z
.EE
).TP
rL   )z\fI\%rX   )z\fIrX   ).SS )z
.nf

.fi
)indentdefinition_list_item
field_nameliteralliteral_blockoption_list_item	referenceemphasisstrongtitle_referencetopic-titlesidebar-titleproblematic) r   NodeVisitorr   settingslanguage_coder   get_languagereporterlanguageheadbodyfootsection_levelcontexttopic_classcolspecs	compact_pcompact_simple
_list_char_docinfo_docinfo_keys_docinfo_names_in_docinfo_field_name_active_table_has_a_table_in_literalheader_written_line_blockauthors_indentdefs)r   r   rj   lcodes       r   r   zTranslator.__init__   sX   ""4222#+#44&!.uh6GHH			" B"$b    !! s <(30+!:$1/,*#3(!*5# 			r   c                 t    dd                     fd|                    d          D                       }|S )zPReturn commented version of the passed text WITHOUT end of
        line/comment.z.\" rL   c                      g | ]
}|z   d z   S )r;   r   ).0in_lineprefixs     r   
<listcomp>z,Translator.comment_begin.<locals>.<listcomp>   s3     = = = ' $g-4 = = =r   r;   )rA   split)r   rF   out_textr   s      @r   comment_beginzTranslator.comment_begin   sT     77 = = = =+/::d+;+;= = = > >r   c                 2    |                      |          dz   S )z,Return commented version of the passed text..
)r   r   rF   s     r   commentzTranslator.comment   s    !!$''--r   c                     t          | j                  dk    r3| j        d         d         dk    r| j                            d           dS dS dS )z7Ensure the last line in body is terminated by new line.r   r4   r;   N)r6   rp   r,   r   s    r   
ensure_eolzTranslator.ensure_eol  sT    ty>>A$)B-"3t";";IT""""" ";";r   c                    | j         s|                                  t          t          | j                  dz
  dd          D ]}| j        |         dk    r| j        |dz
           dd         dv rd| j        |<   8| j        |dz
           dd	         d
k    r'| j        |dz
           dd         dk    rd| j        |<   {| j        |dz
           dk    rj| j                            | j        |dz
                     sB| j        |d	z
           dd         dk    s| j        |d	z
           dd         dk    r
d| j        |<   d                    | j        | j        z   | j	        z             S )z0Return the final formatted document as a string.r3   r   r4   r2   N   )z.BI z.IP r      .B    rY   r;   r   rW   
.B rL   )
r   append_headerrB   r6   rp   possibly_a_roff_commandmatchrA   ro   rq   )r   rH   s     r   r   zTranslator.astext  s}   " 	!   s49~~a'B// 	) 	)Ay|w&&9QU#BQB'+;;;#(DIaLLiA&rr*e33)AE*2A2.'99#(DIaLLiA&$..":@@"&)AE"24 4 /  9QU+BQB/:=="iA.rr2g==#(DIaLwwty49,ty8999r   c                 ^    |                     dd          }|                     dd          }|S )N    z\ u   †z\(dg)replacer   s     r   	deunicodezTranslator.deunicode  s-    ||FE**||Hg..r   c                 j   |                                 }|                    dd          }g d}|D ]\  }}|                    ||          }|                     |          }|                    d          rd|z   }| j        r|                    dd          }| j                            |           d S )N\z\e))-z\-)'z\(aq)   ´z\')`z\(ga)"z\(dq.z\&z
.z
\&.)r   r   r   
startswithr   rp   r,   )r   noderF   replace_pairsin_char
out_markups         r   
visit_TextzTranslator.visit_Text"  s    {{}}||D%((   &3 	5 	5!Wj<<44DD~~d##??3 	 4<D 	1<<x00D	r   c                     d S r   r   r   r   s     r   depart_TextzTranslator.depart_Text7      r   c                     G fdd          }dv r*| j                              |d                              n#| j                              |d                     t          | j                   dk    r4|                     | j         d                                                    d S |                     | j         d                                                    d S )Nc                   6    e Zd ZdddZ fdZd Zd Zd ZdS )	'Translator.list_start.<locals>.EnumCharz\(buz\(em)bulletemdashc                 .   || _         dv rd         dz
  | _        nd| _        d| _        |dk    rgt          t	          t          j                                      | _        | xj        t          t	          | j                            dz   z  c_        d S |dk    r)| xj        t          d          dz
  z  c_        d| _        d S |d	k    r)| xj        t          d
          dz
  z  c_        d| _        d S |                    d          r	d| _        d S d S )Nr8   r3   r   r   arabic
loweralphaar   
upperalphaAroman   )_style_cntr   r6   strchildrenordrD   )r   styler   s     r   r   z0Translator.list_start.<locals>.EnumChar.__init__A  s   #d?? $W 1DII !DI H$$ $'s3t}+=+='>'>#?#?DLLLCDI$7$7!$;;LLLLl**IISA-II#$DLLLl**IISA-II#$DLLL^^G,, %#$DLLL% %r   c                    | j         dk    r| j        | j                  S | j         dk    r| j        | j                  S | xj        dz  c_        | j         dk    r
d| j        z  S | j         dv r
d| j        z  S | j                             d          r^t	          j        | j                  d	z   }| j                             d
          r|                                S |                                S d| j        z  S )Nr   r   r3   r   z%d.)r   r   z%c.r   r   upper)	r   
enum_styler   rD   r   toRomanr   r   lower)r   ress     r   __next__z0Translator.list_start.<locals>.EnumChar.__next__V  s    ;(**?4;77[H,,?4;77		Q		;(** 49,,[$@@@ 49,,[))'22 --	22S8C{--g66 +"yy{{*99;;& 49,,r   c                     | j         S r   )r   r   s    r   	get_widthz1Translator.list_start.<locals>.EnumChar.get_widthi  s
    |#r   c                 0    dt          | j                  z  S )Nzenum_style-%s)listr   r   s    r   __repr__z0Translator.list_start.<locals>.EnumChar.__repr__l  s    &dk):):::r   N)r   r   r   r   r   r   r   r   )r   s   r   EnumCharr   ;  sm        %% J
% % % % %*- - -&$ $ $; ; ; ; ;r   r   enumtyper   r3   r4   )rx   r,   r6   r\   r   )r   r   r   s    ` r   
list_startzTranslator.list_start:  s    2	; 2	; 2	; 2	; 2	; 2	; 2	; 2	; 2	; 2	;h O""88D,<#=#=>>>>O""88H#5#5666t!##KK+557788888KK+557788888r   c                 `    |                                   | j                                         d S r   )dedentrx   rE   r   s    r   list_endzTranslator.list_endy  s)    r   c                 r    d| j         z  }| j         d         r|d| j         z  z  }|dz  }d}||| j         z  z   S )NzC.TH "%(title_upper)s" "%(manual_section)s" "%(date)s" "%(version)s"rR   z "%(manual_group)s"r;   z#.SH NAME
%(title)s \- %(subtitle)s
)ry   )r   thsh_tmpls      r   headerzTranslator.header}  sV    .15?=( 	:)DM99B
d
2Gdm+++r   c                     | j         rdS | j                            t                     | j                            |                                            d| _         dS )z#append header with .TH and .SH NAMENr3   )r   ro   r,   	MACRO_DEFr   r   s    r   r   zTranslator.append_header  sV    
  	F	###	'''r   c                 2    |                      |d           d S )Naddressvisit_docinfo_itemr   s     r   visit_addresszTranslator.visit_address      i00000r   c                     d S r   r   r   s     r   depart_addresszTranslator.depart_address  r   r   Nc                 T   |r| j                             d           | j        d         d         | j        j                            ||                                          d| j        d         d         d}| j                             |           |                     |           d S )Nr2   rd   r   :r3   r;   )rp   r,   r   rn   labelsgetr   visit_block_quoter   r   names      r   visit_admonitionzTranslator.visit_admonition  s      	#IW%%%	(#A&&$((t44::<<<<	(#A&&&D
 IT"""t$$$$$r   c                 0    |                      |           d S r   )depart_block_quoter   s     r   depart_admonitionzTranslator.depart_admonition  s    %%%%%r   c                 2    |                      |d           d S )N	attentionr   r   s     r   visit_attentionzTranslator.visit_attention      dK00000r   c                     |dk    r3| j         |                             |                                           n|                                | j         |<   | j                            |           t          j        NrS   )ry   r,   r   rz   r   SkipNoder   s      r   r   zTranslator.visit_docinfo_item  sf    8M$&&t{{}}5555"&++--DM$!!$'''nr   c                     d S r   r   r   s     r   depart_docinfo_itemzTranslator.depart_docinfo_item  r   r   c                 2    |                      |d           d S r   r   r   s     r   visit_authorzTranslator.visit_author      h/////r   c                     d S r   r   r   s     r   visit_authorszTranslator.visit_authors      r   c                     d S r   r   r   s     r   depart_authorszTranslator.depart_authors  r   r   c                 d    |                      t                     |                      d           d S )Nr   )r\   BLOCKQOUTE_INDENTr   s     r   r   zTranslator.visit_block_quote  s*     	%&&&Ar   c                 V    |                                   |                                   d S r   r   r   s     r   r   zTranslator.depart_block_quote       r   c                 0    |                      |           d S r   r   r   s     r   visit_bullet_listzTranslator.visit_bullet_list      r   c                 .    |                                   d S r   r   r   s     r   depart_bullet_listzTranslator.depart_bullet_list      r   c                     d S r   r   r   s     r   visit_captionzTranslator.visit_caption  r   r   c                     d S r   r   r   s     r   depart_captionzTranslator.depart_caption  r   r   c                 2    |                      |d           d S )Ncautionr   r   s     r   visit_cautionzTranslator.visit_caution      dI.....r   c                     |                                                     d d          d         }|                                }| j                            d|z             d S )Nr3   r   .IP [%s] 5
)r   r   striprp   r,   )r   r   nums      r   visit_citationzTranslator.visit_citation  sR    kkmm!!$**1-iikk	#-.....r   c                     d S r   r   r   s     r   depart_citationzTranslator.depart_citation  r   r   c                 ~    | j                             d|                                z   dz              t          j        N[])rp   r,   r   r   r   r   s     r   visit_citation_referencez#Translator.visit_citation_reference  s2    	T[[]]*3.///nr   c                 :    | j                             d           d S )N(rp   r,   r   s     r   visit_classifierzTranslator.visit_classifier  s    	r   c                 d    | j                             d           |                     |           d S )N))rp   r,   depart_termr   s     r   depart_classifierzTranslator.depart_classifier  s2    	r   c                 :    | j                             |           d S r   )ru   r,   r   s     r   visit_colspeczTranslator.visit_colspec  s    T"""""r   c                     d S r   r   r   s     r   depart_colspeczTranslator.depart_colspec  r   r   c                 j    | j                             ddt          | j                  z  z             d S )Nr?   zL )rp   r,   r6   ru   r   s    r   write_colspecszTranslator.write_colspecs  s2    	DT]););$;<=====r   z-(?=-)c                     | j                             |                     |                                                     t          j        r   )rp   r,   r   r   r   r   )r   r   subs      r   visit_commentzTranslator.visit_comment  s4    	dkkmm44555nr   c                 2    |                      |d           d S )Ncontactr   r   s     r   visit_contactzTranslator.visit_contact  r   r   c                     d S r   r   r   s     r   visit_containerzTranslator.visit_container  r   r   c                     d S r   r   r   s     r   depart_containerzTranslator.depart_container  r   r   c                     d S r   r   r   s     r   visit_compoundzTranslator.visit_compound  r   r   c                     d S r   r   r   s     r   depart_compoundzTranslator.depart_compound  r   r   c                 2    |                      |d           d S )NrU   r   r   s     r   visit_copyrightzTranslator.visit_copyright  s    k22222r   c                 2    |                      |d           d S )Ndangerr   r   s     r   visit_dangerzTranslator.visit_danger  s    dH-----r   c                 2    |                      |d           d S )NrT   r   r   s     r   
visit_datezTranslator.visit_date   s    f-----r   c                     d S r   r   r   s     r   visit_decorationzTranslator.visit_decoration#  r   r   c                     d S r   r   r   s     r   depart_decorationzTranslator.depart_decoration&  r   r   c                     d S r   r   r   s     r   visit_definitionzTranslator.visit_definition)  r   r   c                     d S r   r   r   s     r   depart_definitionzTranslator.depart_definition,  r   r   c                 :    |                      t                     d S r   )r\   DEFINITION_LIST_INDENTr   s     r   visit_definition_listz Translator.visit_definition_list/  s    *+++++r   c                 .    |                                   d S r   r	  r   s     r   depart_definition_listz!Translator.depart_definition_list2      r   c                 \    | j                             | j        d         d                    d S )Nr]   r   rp   r,   r   r   s     r   visit_definition_list_itemz%Translator.visit_definition_list_item5  +    	#9:1=>>>>>r   c                 \    | j                             | j        d         d                    d S )Nr]   r3   rY  r   s     r   depart_definition_list_itemz&Translator.depart_definition_list_item8  r[  r   c                     d S r   r   r   s     r   visit_descriptionzTranslator.visit_description;  r   r   c                     d S r   r   r   s     r   depart_descriptionzTranslator.depart_description>  r   r   c                     d| _         d S Nr3   )r|   r   s     r   visit_docinfozTranslator.visit_docinfoA  s    r   c                 <    d | _         |                                  d S r   )r|   r   r   s     r   depart_docinfozTranslator.depart_docinfoD  s"    r   c                 j    | j                             | j        d         d                    d| _        d S )Nr`   r   T)rp   r,   r   r   r   s     r   visit_doctest_blockzTranslator.visit_doctest_blockI  s2    	?3A6777r   c                 j    d| _         | j                            | j        d         d                    d S NFr`   r3   )r   rp   r,   r   r   s     r   depart_doctest_blockzTranslator.depart_doctest_blockM  s2     	?3A677777r   c                     | j                             |                     | j                                                  dz              d| _        d S )Nr;   r   )ro   r,   r   document_startrstripr   r   s     r   visit_documentzTranslator.visit_documentQ  sF    	d&9::AACCDHIIIr   c                    | j         d         r;| j                            dd                    | j         d                   z             d}| j        D ]}|dk    r| j                            d| j        j                            ||          d| j        d         d	         d	z  | j        d         d	         t          z  d
| j         |         d| j        d         d         | j        d         d         
           ||vrc|| j
        v r| j
        |         }n | j        j                            ||          }| j                            d|d| j         |         d           | j         d         r(| j                            d| j         d         z             | j                            |                     d                     d S )NrS   z.SH AUTHOR
%s
z, )	rS   rU   rT   rR   rQ   rP   rN   rO   rV   r   r;   z:
r\   r   .nf
r[   r3   z: rU   z.SH COPYRIGHT
%s
z%Generated by docutils manpage writer.)ry   rp   r,   rA   rz   rn   r   r   r   r  r{   r   )r   r   skipr   labels        r   depart_documentzTranslator.depart_documentW  s   =" 	CI/#yyx)@AAB C C C3 & 	N 	NDy  	   $(M$8$<$<T4$H$H$H$H$(Ih$7$:Q$>$>$(Ih$7$:=N$N$N$N$(M$$7$7$7$(Ih$7$:$:$(Ih$7$:$:"< = = = = T!!4... /5EE M044T4@@E	   d8K8K8K!LMMM=% 	;I2#}[9: ; ; ;	&MNNOOOOOr   c                 \    | j                             | j        d         d                    d S )Nrc   r   rY  r   s     r   visit_emphasiszTranslator.visit_emphasiss  *    	:.q122222r   c                 \    | j                             | j        d         d                    d S )Nrc   r3   rY  r   s     r   depart_emphasiszTranslator.depart_emphasisv  rw  r   c                     d|v r!| j         j                            d|           d|v r!| j         j                            d|           | j                            t          | j                             d S )Nmorerowsz""table row spanning" not supported	base_nodemorecolsz#"table cell spanning" not supported)r   rm   warningrs   r,   r6   rp   r   s     r   visit_entryzTranslator.visit_entryy  s    M"**4 + F F FM"**5 + G G GC	NN+++++r   c                     | j                                         }| j                            | j        |d                     | j        |d = d S r   )rs   rE   r~   r9   rp   )r   r   r8   s      r   depart_entryzTranslator.depart_entry  sK      ""&&ty'8999Ieffr   c                 0    |                      |           d S r   r  r   s     r   visit_enumerated_listz Translator.visit_enumerated_list  r  r   c                 .    |                                   d S r   r  r   s     r   depart_enumerated_listz!Translator.depart_enumerated_list  r  r   c                 2    |                      |d           d S )Nerrorr   r   s     r   visit_errorzTranslator.visit_error  s    dG,,,,,r   c                     d S r   r   r   s     r   visit_fieldzTranslator.visit_field  r   r   c                     d S r   r   r   s     r   depart_fieldzTranslator.depart_field  r   r   c                     | j         r^| j                                                            dd          }| j        | j        |<   |                     ||           t          j        d S )Nr>   _)r|   r}   r   r   r{   r   r   r   )r   r   name_normalizeds      r   visit_field_bodyzTranslator.visit_field_body  si     	!".4466>>sCHHO373CD0##D/:::. 		! 	!r   c                     d S r   r   r   s     r   depart_field_bodyzTranslator.depart_field_body  r   r   c                 :    |                      t                     d S r   )r\   FIELD_LIST_INDENTr   s     r   visit_field_listzTranslator.visit_field_list  s    %&&&&&r   c                 .    |                                   d S r   r	  r   s     r   depart_field_listzTranslator.depart_field_list  rW  r   c                     | j         r%|                                | _        t          j        | j                            | j        d         d                    d S )Nr^   r   )r|   r   r}   r   r   rp   r,   r   r   s     r   visit_field_namezTranslator.visit_field_name  sM     	9#{{}}D. ITY|4Q788888r   c                 \    | j                             | j        d         d                    d S )Nr^   r3   rY  r   s     r   depart_field_namezTranslator.depart_field_name  s*    	<0344444r   c                 Z    |                      d           |                      d           d S )Ng      @r   )r\   r   s     r   visit_figurezTranslator.visit_figure  s'    CAr   c                 V    |                                   |                                   d S r   r	  r   s     r   depart_figurezTranslator.depart_figure  r
  r   c                 \    | j         j                            d|           t          j        )Nz"footer" not supportedr|  )r   rm   r  r   r   r   s     r   visit_footerzTranslator.visit_footer  s4    &&'?15 	' 	7 	7 	7 nr   c                     d S r   r   r   s     r   depart_footerzTranslator.depart_footer  r   r   c                     |                                                     d d          \  }}|                                }| j                            d|                     |          z             d S )Nr3   r  )r   r   r  rp   r,   r   )r   r   r  rF   s       r   visit_footnotezTranslator.visit_footnote  s]    KKMM''a00	Tiikk	$..*=*==>>>>>r   c                     d S r   r   r   s     r   depart_footnotezTranslator.depart_footnote  r   r   c                 H    | j         j                            d|           d S )Nz!"footnote_backrefs" not supportedr|  r   rm   r  r   s     r   footnote_backrefszTranslator.footnote_backrefs  s4    &&'J15 	' 	7 	7 	7 	7 	7r   c                     | j                             d|                     |                                          z   dz              t          j        r#  )rp   r,   r   r   r   r   r   s     r   visit_footnote_referencez#Translator.visit_footnote_reference  s>    	T^^DKKMM:::3>???nr   c                     d S r   r   r   s     r   depart_footnote_referencez$Translator.depart_footnote_reference  r   r   c                     d S r   r   r   s     r   visit_generatedzTranslator.visit_generated  r   r   c                     d S r   r   r   s     r   depart_generatedzTranslator.depart_generated  r   r   c                 D    t          |                                          r   )NotImplementedErrorr   r   s     r   visit_headerzTranslator.visit_header  s    !$++--000r   c                     d S r   r   r   s     r   depart_headerzTranslator.depart_header  r   r   c                 2    |                      |d           d S )Nhintr   r   s     r   
visit_hintzTranslator.visit_hint      dF+++++r   c                 :    | j                             d           d S )Nz\s-2\dr)  r   s     r   visit_subscriptzTranslator.visit_subscript      	$$$$$r   c                 :    | j                             d           d S )Nz\u\s0r)  r   s     r   depart_subscriptzTranslator.depart_subscript      	#####r   c                 :    | j                             d           d S )Nz\s-2\ur)  r   s     r   visit_superscriptzTranslator.visit_superscript  r  r   c                 :    | j                             d           d S )Nz\d\s0r)  r   s     r   depart_superscriptzTranslator.depart_superscript  r  r   c                 :    | j                             d           d S )Nz\(em r)  r   s     r   visit_attributionzTranslator.visit_attribution  s    	"""""r   c                 :    | j                             d           d S Nr;   r)  r   s     r   depart_attributionzTranslator.depart_attribution      	r   c                 d   | j         j                            d|           g }d|j        v r |                    |j        d                    d|j        v r |                    |j        d                    | j                            dd                    |          z             t          j        )Nz"image" not supportedr|  alturiz[image: %s]
/)	r   rm   r  
attributesr,   rp   rA   r   r   )r   r   rF   s      r   visit_imagezTranslator.visit_image  s    &&'>15 	' 	7 	7 	7DO##KK.///DO##KK.///	CHHTNN;<<<nr   c                 2    |                      |d           d S )N	importantr   r   s     r   visit_importantzTranslator.visit_important  r   r   c                     d S r   r   r   s     r   visit_inlinezTranslator.visit_inline
  r   r   c                     d S r   r   r   s     r   depart_inlinezTranslator.depart_inline  r   r   c                    t          |j        t          j                  st          |j        t          j                  rt          j        | j        j                            d|           | j	        
                    d           d S )Nz"unsupported "label"r|  r$  )
isinstanceparentr   footnotecitationr   r   rm   r  rp   r,   r   s     r   visit_labelzTranslator.visit_label  sz    t{EN33 	!$+u~66	!. &&'=15 	' 	7 	7 	7	r   c                 :    | j                             d           d S )Nz]
r)  r   s     r   depart_labelzTranslator.depart_label  s    	r   c                     d S r   r   r   s     r   visit_legendzTranslator.visit_legend  r   r   c                     d S r   r   r   s     r   depart_legendzTranslator.depart_legend  r   r   c                     | xj         dz  c_         | j         dk    r| j                            d           d S | j                            d           d S )Nr3   rq  z.in +2
r   rp   r,   r   s     r   visit_line_blockzTranslator.visit_line_block#  s^    Aq  
 IW%%%%%IZ(((((r   c                     | xj         dz  c_         | j         dk    r6| j                            d           | j                            d           d S | j                            d           d S )Nr3   r   z.fi
r2   z.in -2
r  r   s     r   depart_line_blockzTranslator.depart_line_block.  sr    Aq  IW%%%IW%%%%%IZ(((((r   c                     d S r   r   r   s     r   
visit_linezTranslator.visit_line6  r   r   c                 :    | j                             d           d S r  r)  r   s     r   depart_linezTranslator.depart_line9  r  r   c                     | j                             dt          | j        d                   | j        d                                         fz             d S )Nz
.IP %s %d
r4   )rp   r,   nextrx   r   r   s     r   visit_list_itemzTranslator.visit_list_item<  sZ    	T_R())#--//*2 2 	3 	3 	3 	3 	3r   c                     d S r   r   r   s     r   depart_list_itemzTranslator.depart_list_itemB  r   r   c                 \    | j                             | j        d         d                    d S )Nr_   r   rY  r   s     r   visit_literalzTranslator.visit_literalE  *    	9-a011111r   c                 \    | j                             | j        d         d                    d S )Nr_   r3   rY  r   s     r   depart_literalzTranslator.depart_literalH  r  r   c                     |                      t                     |                      d           | j                            | j        d         d                    d| _        d S )Nr   r`   T)r\   LITERAL_BLOCK_INDENTrp   r,   r   r   r   s     r   visit_literal_blockzTranslator.visit_literal_blockK  sV     	()))A	?3A6777r   c                     d| _         | j                            | j        d         d                    |                                  |                                  d S rj  )r   rp   r,   r   r   r   s     r   depart_literal_blockzTranslator.depart_literal_blockS  sJ     	?3A6777r   c                 r    | j         j                            d|           |                     |           d S )Nz"math" role not supportedr|  )r   rm   r  r  r   s     r   
visit_mathzTranslator.visit_mathY  sD    &&'B15 	' 	7 	7 	74     r   c                 0    |                      |           d S r   )r  r   s     r   depart_mathzTranslator.depart_math^  s    D!!!!!r   c                 r    | j         j                            d|           |                     |           d S )Nz"math" directive not supportedr|  )r   rm   r  r  r   s     r   visit_math_blockzTranslator.visit_math_blocka  sD    &&'G15 	' 	7 	7 	7  &&&&&r   c                 0    |                      |           d S r   )r  r   s     r   depart_math_blockzTranslator.depart_math_blockf  s    !!$'''''r   c                 2    |                      |d           d S )Nnoter   r   s     r   
visit_notezTranslator.visit_notep  r  r         ?c                     | j         d         }| j                             |           | j                            | j        d         d         |z             d S )Nr4   r\   r   )r   r,   rp   r   )r   bysteps      r   r\   zTranslator.indentu  sQ    |BB	8,Q/$677777r   c                     | j                                          | j                            | j        d         d                    d S )Nr\   r3   )r   rE   rp   r,   r   r   s    r   r   zTranslator.dedent{  s>    	8,Q/00000r   c                 :    |                      t                     d S r   )r\   OPTION_LIST_INDENTr   s     r   visit_option_listzTranslator.visit_option_list  s    &'''''r   c                 .    |                                   d S r   r	  r   s     r   depart_option_listzTranslator.depart_option_list  rW  r   c                 \    | j                             | j        d         d                    d S )Nra   r   rY  r   s     r   visit_option_list_itemz!Translator.visit_option_list_item  s+    	#56q9:::::r   c                 \    | j                             | j        d         d                    d S )Nra   r3   rY  r   s     r   depart_option_list_itemz"Translator.depart_option_list_item  s+    	#56q9:::::r   c                     | j                             d           | j                             t          | j                             | j                             d           d S )Nr   r   )rs   r,   r6   rp   r   s     r   visit_option_groupzTranslator.visit_option_group  sT     	E"""C	NN+++Ar   c                 .   | j                                          | j                                         }| j        |d          }| j        |d = | j                            | j                                         d                    |          d           d S )NrL   r;   )rs   rE   rp   r,   rA   )r   r   start_positionrF   s       r   depart_option_groupzTranslator.depart_option_group  s    ))++y)Inoo&	T\%5%5%7%7%7GHHHHHr   c                 >   | j         d         dk    rF| j         d         dk    r| j                            d           n| j                            d           | j         d         dk    r| j                            d           | j                            d           d S )	Nr4   r   .BIz\fR,\fB z\fP,\fB r   r>   )rs   rp   r,   r   s     r   visit_optionzTranslator.visit_option  s    <a|B5((	  ....	  ...<u$$IT"""	r   c                 0    | j         dxx         dz  cc<   d S )Nr4   r3   )rs   r   s     r   depart_optionzTranslator.depart_option  s&    RAr   c                     d S r   r   r   s     r   visit_option_stringzTranslator.visit_option_string  r  r   c                     d S r   r   r   s     r   depart_option_stringzTranslator.depart_option_string  r   r   c                 R   d| j         d<   |d         dk    r%| j                            d|d         z             d S | j        t          | j                  dz
                               d          r| j                            d           d S | j                            d           d S )	Nr  r  	delimiterr>   z\fB%s r3   =z \ )rs   rp   r,   r6   rD   r   s     r   visit_option_argumentz Translator.visit_option_argument  s     R##IYk)::;;;;;Ys49~~a'(11#66 	%IS!!!!! IV$$$$$r   c                     d S r   r   r   s     r   depart_option_argumentz!Translator.depart_option_argument  r   r   c                 2    |                      |d           d S )Norganizationr   r   s     r   visit_organizationzTranslator.visit_organization  s    n55555r   c                     d S r   r   r   s     r   depart_organizationzTranslator.depart_organization  r   r   c                     t          |j        d         t          j                  }|j        j        |d          D ]$}t          |t          j                  r||u r dS  dS )Nr   r3   )r  r  r   rs  r   	Invisible)r   r   firstchilds       r   first_childzTranslator.first_child  se    4;q>5;77[)%&&1 	 	E%11 }}qqqr   c                     |                                   |                     |          s| j                            d           d| _        d S )Nr2   T)r   r5  rp   r,   r   r   s     r   visit_paragraphzTranslator.visit_paragraph  sN     	%% 	&IW%%%r   c                 H    d| _         | j                            d           d S )NFr;   )r   rp   r,   r   s     r   depart_paragraphzTranslator.depart_paragraph  s&     	r   c                 \    | j                             | j        d         d                    d S )Nrh   r   rY  r   s     r   visit_problematiczTranslator.visit_problematic  *    	=1!455555r   c                 \    | j                             | j        d         d                    d S )Nrh   r3   rY  r   s     r   depart_problematiczTranslator.depart_problematic  r<  r   c                     d|                     dd                                          v r/| j                            |                                dz              t
          j        )Nr
   formatrL   r;   )r   r   rp   r,   r   r   r   r   s     r   	visit_rawzTranslator.visit_raw  sR    2..446666IT[[]]T1222nr   c                     d|v rI|d                              |                                          r| j                            d           dS dS dS )zE.g. link or email address.refuriz <NrD   r   rp   r,   r   s     r   visit_referencezTranslator.visit_reference  s_    
 tH~&&t{{}}55 '	  &&&&& ' 'r   c                     d|v rn|d                              |                                          r| j                            d           d S | j                            d|d         z             d S d S )NrC  z> z <%s>
rD  r   s     r   depart_referencezTranslator.depart_reference  sx    tH~&&t{{}}55 =	  &&&&&	  T(^!;<<<<< r   c                 2    |                      |d           d S )Nrevisionr   r   s     r   visit_revisionzTranslator.visit_revision   s    j11111r   c                 8    | j                                          d S r   )r~   r-   r   s     r   	visit_rowzTranslator.visit_row  s    ""$$$$$r   c                     d S r   r   r   s     r   
depart_rowzTranslator.depart_row  r   r   c                 &    | xj         dz  c_         d S rc  rr   r   s     r   visit_sectionzTranslator.visit_section      ar   c                 &    | xj         dz  c_         d S rc  rP  r   s     r   depart_sectionzTranslator.depart_section  rR  r   c                 2    |                      |d           d S )Nstatusr   r   s     r   visit_statuszTranslator.visit_status  r   r   c                 \    | j                             | j        d         d                    d S )Nrd   r   rY  r   s     r   visit_strongzTranslator.visit_strong  *    	8,Q/00000r   c                 \    | j                             | j        d         d                    d S )Nrd   r3   rY  r   s     r   depart_strongzTranslator.depart_strong  rZ  r   c                     t           j        )zInternal only.r   r   r   s     r   visit_substitution_definitionz(Translator.visit_substitution_definition  
    nr   c                 H    | j         j                            d|           d S )Nz&"substitution_reference" not supportedr|  r  r   s     r   visit_substitution_referencez'Translator.visit_substitution_reference   s8    &&4 	' 	F 	F 	F 	F 	Fr   c                    t          |j        t          j                  r-| j                            | j        d         d                    d S t          |j        t          j                  r|                     |d           d S t          |j        t          j	                  r-| j                            | j        d         d                    d S d S )Nrd   r   rP   )
r  r  r   sidebarrp   r,   r   r   r   sectionr   s     r   visit_subtitlezTranslator.visit_subtitle$  s    dk5=11 	5ITYx0344444U^44 	5##D*55555U]33 	5ITYx0344444	5 	5r   c                 b    | j                             | j        d         d         dz              d S )Nrd   r3   z
.PP
rY  r   s     r   depart_subtitlezTranslator.depart_subtitle,  s/    	8,Q/	9:::::r   c                    i }|                     d          r|d         |d<   |                     d          rd|d         z  }nd}| j                            d|d         d|d	         d
|d         d|d	           d S )Nidr   linez	, line %srL   z.IP "System Message: typer  levelz (sourcer   z)"
)hasattrrp   r,   )r   r   attrrk  s       r   visit_system_messagezTranslator.visit_system_message0  s    
 << 	&:DL<< 	f-DDD	 LLL$w---hO 	P 	P 	P 	P 	Pr   c                     d S r   r   r   s     r   depart_system_messagez Translator.depart_system_message?  r   r   c                     t                      | _        | j        s$d| _        | j                            dd           d S d S )NTr   z'\" t
)r!   r~   r   ro   insertr   s     r   visit_tablezTranslator.visit_tableB  sI    "WW  	- $DIQ,,,,,	- 	-r   c                     |                                   | j                            | j                                                   d | _        d S r   )r   rp   rC   r~   rJ   r   s     r   depart_tablezTranslator.depart_tableI  sE    	+3355666!r   c                     t           j        r   r^  r   s     r   visit_targetzTranslator.visit_targetN  r`  r   c                     d S r   r   r   s     r   visit_tbodyzTranslator.visit_tbodyR  r   r   c                     d S r   r   r   s     r   depart_tbodyzTranslator.depart_tbodyU  r   r   c                 :    | j                             d           d S )Nr   r)  r   s     r   
visit_termzTranslator.visit_termX  s    	!!!!!r   c                 B   |                     d dd          }t          |t          j                  r| j                            d           d S t          |t          j                  r| j                            d           d S | j                            d           d S )NFT)descendsiblingsr>   z
.TQr;   )	next_noder  r   
classifierrp   r,   term)r   r   _nexts      r   r-  zTranslator.depart_term[  s    tUTBBeU-.. 	IS!!!FeUZ(( 	#IW%%%%%IT"""""r   c                     d S r   r   r   s     r   visit_tgroupzTranslator.visit_tgroupf  r   r   c                     d S r   r   r   s     r   depart_tgroupzTranslator.depart_tgroupi  r   r   c                     d S r   r   r   s     r   visit_theadzTranslator.visit_theadl  r  r   c                     d S r   r   r   s     r   depart_theadzTranslator.depart_theadp  r  r   c                 2    |                      |d           d S )Ntipr   r   s     r   	visit_tipzTranslator.visit_tipt  s    dE*****r   c                 x   t          |j        t          j                  r-| j                            | j        d         d                    d S t          |j        t          j                  r-| j                            | j        d         d                    d S t          |j        t          j                  r| j                            d           d S | j	        dk    rV|
                                | j        d<   |
                                                                | j        d<   t          j        | j	        dk    r`| j                            d|                     |
                                                                          z             t          j        | j                            d	           d S )
Nrf   r   rg   z.IP "rN   rO   r3   z.SH %s
rZ   )r  r  r   topicrp   r,   r   rd  
admonitionrr   r   ry   r   r   r   r   s     r   visit_titlezTranslator.visit_titley  sh   dk5;// 	%ITY}5a899999U]33 	%ITY7:;;;;;U%566 	%IW%%%%%1$$%)[[]]DM'"+/;;==+>+>+@+@DM-(. 1$$IZt{{}}7J7J7L7L(M(MMNNN. IV$$$$$r   c                     t          |j        t          j                  r| j                            d           | j                            d           d S )Nr   r;   )r  r  r   r  rp   r,   r   s     r   depart_titlezTranslator.depart_title  sK    dk5#344 	"IS!!!	r   c                 \    | j                             | j        d         d                    dS )zinline citation referencere   r   NrY  r   s     r   visit_title_referencez Translator.visit_title_reference  s+    	#45a899999r   c                 \    | j                             | j        d         d                    d S )Nre   r3   rY  r   s     r   depart_title_referencez!Translator.depart_title_reference  s+    	#45a899999r   c                     d S r   r   r   s     r   visit_topiczTranslator.visit_topic  r   r   c                     d S r   r   r   s     r   depart_topiczTranslator.depart_topic  r   r   c                     d S r   r   r   s     r   visit_sidebarzTranslator.visit_sidebar  r   r   c                     d S r   r   r   s     r   depart_sidebarzTranslator.depart_sidebar  r   r   c                     d S r   r   r   s     r   visit_rubriczTranslator.visit_rubric  r   r   c                 :    | j                             d           d S r  r)  r   s     r   depart_rubriczTranslator.depart_rubric  r  r   c                 :    | j                             d           d S )Nz
.sp
.ce
----
r)  r   s     r   visit_transitionzTranslator.visit_transition  s!     		-.....r   c                 :    | j                             d           d S )Nz
.ce 0
.sp
r)  r   s     r   depart_transitionzTranslator.depart_transition  s    	)*****r   c                 2    |                      |d           d S )NrV   r   r   s     r   visit_versionzTranslator.visit_version  r   r   c                 2    |                      |d           d S )Nr  r   r   s     r   visit_warningzTranslator.visit_warning  r  r   c                 :    t          d|j        j        z            )Nz$visiting unimplemented node type: %s)r  	__class__r   r   s     r   unimplemented_visitzTranslator.unimplemented_visit  s$    !"H$(N$;#< = = 	=r   r   )r	  )r   r   r   __doc__recompilewords_and_spacesr   rm  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   depart_attentionr   r   r   depart_authorr  r  r   r   r  r  r  r  r  depart_cautionr  r!  r&  r*  r.  r0  r2  r4  r6  r7  r:  depart_contactr<  r>  r@  rB  rD  rG  depart_dangerrI  rK  rM  rO  rQ  rT  rV  rZ  r]  r_  ra  rd  rf  rh  rk  ro  rt  rv  ry  r  r  r  r  r  depart_errorr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  depart_hintr  r  r  r  r  r  r  r  depart_importantr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  depart_noter\   r   r  r  r  r  r  r  r  r!  r#  r%  r)  r+  r.  r0  r5  r7  r9  r;  r>  rA  rE  rG  rJ  depart_revisionrL  rN  rQ  rT  rW  depart_statusrY  r\  r_  rb  rf  rh  rq  rs  rv  rx  rz  r|  r~  r  r-  r  r  r  r  r  
depart_tipr  r  r  r  r  r  r  r  r  r  r  r  r  r  depart_warningr  r   r   r   r   r      s       
F!rz,//(bj11DNF F FT  . . .# # #
: : :.  
  *  =9 =9 =9~  , , ,	  	  	 1 1 1  % % % %(& & &1 1 1 )    0 0 0 (M                / / / 'N/ / /
        # # #  > > > %"*X..2   
1 1 1 )N        3 3 3. . . &M. . .        , , ,  ? ? ?? ? ?        
     8 8 8     P P P83 3 33 3 3, , ,  
    - - - %L    ! ! !  ' ' '  9 9 95 5 5        ? ? ?
  7 7 7        1 1 1  , , , $K% % %$ $ $% % %$ $ $# # #  	 	 	1 1 1 )               	) 	) 	)) ) )    3 3 3  2 2 22 2 2       ! ! !
" " "' ' '
( ( (, , , $K8 8 8 81 1 1( ( (  ; ; ;; ; ;  I I I	 	 	      	% 	% 	%  6 6 6    
  
  
   6 6 66 6 6  ' ' '= = =2 2 2 *O% % %            0 0 0 (M1 1 11 1 1  F F F5 5 5; ; ;P P P  - - -" " "
      " " "	# 	# 	#        + + + #J% % %$  
: : :: : :            / / /+ + +1 1 1/ / / 'N= = = = =r   r   )r  __docformat__r  docutilsr   r   r   r   ImportErrordocutils.utils.romanutilsr  rS  r  r  r  r   r	   r!   ri   r   r   r   r   <module>r     sG  
% %N # 				 . . . . . . . . . .)LLLL ) ) )((((((((((()      	<' ' ' ' 'W^ ' ' '$2 2 2 2 2 2 2 2jY= Y= Y= Y= Y=" Y= Y= Y= Y= Y=s    **