
    Ri4                       d Z ddlmZ dZddlZddlZddlmZmZmZm	Z	 ddl
mZ dZdZdZdZdZd	Zd
Z ej&                  d      Z ej&                  d      Zd Z G d dej.                        Z G d d      Z G d dej2                        Zy)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 in the *roff* markup language.

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.

    )annotationsreStructuredTextN)frontendnodeswriters	languages)RomanNumeral   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
..
z\:z([/@?&#]+)(?=.{3,})z([^\.]+)(?=\.+)(?=.{3,})c                r    t         j                  dt        z   t        j                  dt        z   |             S )Nz\1)NONBREAKING_INSERT_RE2subNONPRINTING_BREAKPOINTNONBREAKING_INSERT_RE)ss    ~/home/jay/workspace/.worktrees/task-2117-dev1/scripts/.codegraph-venv/lib/python3.12/site-packages/docutils/writers/manpage.pyinsert_URI_breakpointsr   k   s6    !%%--$((1G)GKM M    c            	          e Zd ZdZdZ	 ddddgddej                  d	fd
dgddej                  dfffZdZdZ		 ddZ
ddZy)Writerz
    manpage writer class
    )manpagezManpage Writer OptionsNz.Write references in plain text form. (default)z--text-references
store_trueT)actiondefault	validatorz(Use man macros UR and MT for references.z--macro-referencestext_referencesstore_false)destr   r   )r   c                X    t         j                  j                  |        t        | _        y N)r   r   __init__
Translatortranslator_classselfs    r   r    zWriter.__init__   s    % *r   c                    | j                  | j                        }| j                  j                  |       |j                         | _        y r   )r"   document	walkaboutastextoutput)r$   visitors     r   	translatezWriter.translate   s6    ''6(nn&r   returnNone)__name__
__module____qualname____doc__	supportedr   validate_booleansettings_specconfig_section_dependenciesr)   r    r+    r   r   r   r   r   s     I' 	!
:
! 113
4
 5
 $" 113
4
	
M  #/F.+'r   r   c                  >    e Zd ZdZd	dZd	dZd	dZd	dZd	dZd Z	y)
Tablez%
    man package table handling.
    c                @    g | _         ddg| _        d| _        g | _        y )Nboxcenter	)_rows_options	_tab_char_coldefsr#   s    r   r    zTable.__init__   s#    
)r   c                :    | j                   j                  g        y r   r>   appendr#   s    r   new_rowzTable.new_row   s    

"r   c                <    | j                   j                  |g       y)z$Append the separator for table head.NrC   )r$   	separators     r   append_separatorzTable.append_separator   s    

9+&r   c                   d}t        |      dkD  r
|d   dk(  rd}| j                  d   j                  ||d        t        | j                        t        | j                  d         k  r| j                  j                  d       yy)zcell_lines is an array of linesr   .sp
   Nl)lenr>   rD   rA   )r$   
cell_linesstarts      r   append_cellzTable.append_cell   su    z?Q:a=G#;E

2j01t}}DJJrN 33MM  % 4r   c                b    |r|d   dv r|d= |r|d   dv r|r|d   dv r|d= |r	|d   dv ryyyy)z3Remove leading and trailing blank and ``.sp`` linesr   )
rJ   rL   Nr7   )r$   rO   s     r   _minimize_cellzTable._minimize_cell   sS    Z]o=1 Z]o=Z^>2 Z^>j>jr   c                r   ddj                  | j                        dz   ddj                  | j                        z  g}| j                  D ]  }|j	                  d       t        t        |            D ]  }||   }| j                  |       |j                  |       |d   j                  d      s|dxx   dz  cc<   |t        |      d	z
  k  r"|j	                  d
| j                  z   dz          ~|j	                  d        |j	                  d        |j                          |j	                  d       |S )Nz.TS
 z;
%s.
|zT{
rL   rS   rK   zT}zT}
z_
z.TE
)joinr?   rA   r>   rD   rangerN   rT   extendendswithr@   pop)r$   textrowicells        r   as_listzTable.as_list   s   '%/#((4==11 :: 	CKK3s8_ 	(1v##D)D!Bx((.H$Hs3xz>KKT^^ 3F :;KK'	( KK	 	
Gr   Nr,   )
r/   r0   r1   r2   r    rE   rH   rQ   rT   rb   r7   r   r   r9   r9      s%    '&r   r9   c                     e Zd ZdZ ej
                  d      Z ej
                  d      Zdej                   dZ
ddZd Zd Zdd	Zdd
Zd Zd Zd ZddZddZddZddZd ZddZddZddZdddZddZddZeZd ZddZ ddZ!e Z"ddZ#ddZ$ddZ%dd Z&dd!Z'dd"Z(dd#Z)dd$Z*dd%Z+eZ,dd&Z-dd'Z.d( Z/dd)Z0dd*Z1dd+Z2dd,Z3dd-Z4 ej
                  d.      jj                  fd/Z6dd0Z7e Z8dd1Z9dd2Z:dd3Z;dd4Z<dd5Z=dd6Z>eZ?dd7Z@dd8ZAdd9ZBdd:ZCdd;ZDdd<ZEdd=ZFdd>ZGdd?ZHdd@ZIddAZJddBZKddCZLddDZMddEZNddFZOddGZPddHZQddIZRddJZSddKZTddLZUddMZVddNZWeZXddOZYddPZZdQ Z[ddRZ\ddSZ]ddTZ^dU Z_ddVZ`ddWZaddXZbdY ZcddZZddd[Zedd\Zfdd]Zgd^ Zhdd_Zidd`ZjddaZkdb ZlddcZmdddZneZoddeZpddfZqddgZrddhZsddiZtddjZudk ZvddlZweZxddmZyddnZzdo Z{ddpZ|ddqZ}ddrZ~ddsZddtZdduZddvZddwZddxZddyZddzZdd{Zdd|Zdd}Zdd~ZddZddZddZeZdddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZd ZddZddZddZddZddZe ZddZddZddZddZddZe ZddZddZd ZddZddZddZddZddZddZddZd Zd ZddZddZddZddZddZddZddZddZddZeZd ZddZddZddZddZddZddZddZddZddZddZddZddÄZddĄZeZdń Zy)r!   z
    Docutils to man page translator.

    Generate unix-like manual pages using the "man macro package"
    from a Docutils document tree.
    z	\S+| +|\nz\.\wz9Man page generated from reStructuredText
by the Docutils z manpage writer.c                   t         j                  j                  | |       |j                  x| _        }|j                  r#| j
                  | _        | j                  | _        n"| j                  | _        | j                  | _        |j                  }t        j                  ||j                        | _        g | _        g | _        g | _        d| _        g | _        d| _        g | _        d| _        d | _        g | _        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| _&        y )Nr    rK   )titlesubtitlemanual_sectionmanual_groupauthordate	copyrightversionF)z.INDENT %.1f
z
.UNINDENT
)z.TPre   ).TP
.B rS   )z\fB\fP)z.sp
.EX
z
.EE
).TP
re   )z\fIro   ).SS )z
.nf

.fi
)indentdefinition_list_item
field_nameliteralliteral_blockoption_list_itememphasisstrongtitle_referencetopic-titlesidebar-titleproblematic)'r   NodeVisitorr    settingsr   _visit_reference_no_macrovisit_reference_depart_reference_no_macrodepart_reference_visit_reference_with_macro_depart_reference_with_macro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&   r   lcodes       r   r    zTranslator.__init__   s   ""42#+#4#44###'#A#AD $($C$CD!#'#C#CD $($E$ED!&&!..uh6G6GH			" "$b   !! s8 <(30+!:$1,*#3(!*5!	r   c                |    d}dj                  |j                  d      D cg c]
  }||z   dz    c}      }|S c c}w )zPReturn commented version of the passed text WITHOUT end of
        line/comment.z.\" re   rS   )rY   split)r$   r^   prefixin_lineout_texts        r   comment_beginzTranslator.comment_begin<  sJ     77+/::d+;= ' $g-4 = >=s   9c                *    | j                  |      dz   S )z,Return commented version of the passed text..
)r   r$   r^   s     r   commentzTranslator.commentD  s    !!$'--r   c                    t        | j                        dkD  r2| j                  d   d   dk7  r| j                  j                  d       yyy)7Ensure the last line in body is terminated by new line.r   rL   rS   NrN   r   rD   r#   s    r   
ensure_eolzTranslator.ensure_eolH  s@    tyy>A$))B-"3t";IIT" #<r   c                    t        | j                        dkD  r2| j                  d   d   dk7  r| j                  j                  d       yyy)r   r   rL   rS   z\c
Nr   r#   s    r   ensure_c_eolzTranslator.ensure_c_eolM  s@    tyy>A$))B-"3t";IIW% #<r   c                   | j                   s| j                          t        t        | j                        dz
  dd      D ]v  }| j                  |   dk(  r| j                  |dz
     dd dv rd| j                  |<   =| j                  |dz
     dd	 d
k(  r(| j                  |dz
     dd dk(  rd| j                  |<   }| j                  |dz
     dk(  s| j
                  j                  | j                  |dz
           r| j                  |d	z
     dd dk(  s| j                  |d	z
     dd dk(  sd| j                  |<   | j                  |   dd dv s| j                  |dz      d   dv r'd| j                  |dz      z   | j                  |dz   <   Ud| j                  |   dd	 z  | j                  |<   y dj                  | j                  | j                  z   | j                  z         S )z0Return the final formatted document as a string.rK   r   rL   rJ   N   )z.BI z.IP r      .B    rp   rS   r
   rn   
.B ).UE
.ME
)rS   .z%s \c
re   )
r   append_headerrZ   rN   r   possibly_a_roff_commandmatchrY   r   r   )r$   r`   s     r   r(   zTranslator.astextR  s   "" s499~a'B/ 	CAyy|w&99QU#BQ'+;;#(DIIaLiiA&r*e3))AE*2A.'9#(DIIaLiiA&$."::@@"&))AE"2499QU+BQ/:="iiA.r2g=#(DIIaL1bq!%77 99QqS>!$4%(499QqS>%9DIIacN $.1bq1A#BDIIaL3	C4 wwtyy499,tyy899r   c                N    |j                  dd      }|j                  dd      }|S )N    z\ u   †z\(dgreplacer   s     r   	deunicodezTranslator.deunicodet  s'    ||FE*||Hg.r   c                F    g d}|D ]  \  }}|j                  ||      } |S )N))-z\-)'z\(aq)   ´z\')`z\(ga)"z\(dqr   )r$   r^   replace_pairsin_char
out_markups        r   encode_special_charszTranslator.encode_special_charsy  s4     &3 	5!Wj<<4D	5r   c                *   |j                         }|j                  dd      }| j                  |      }| j                  |      }|j	                  d      rd|z   }| j
                  r|j                  dd      }| j                  j                  |       y )N\z\er   z\&z
.z
\&.)r(   r   r   r   
startswithr   r   rD   )r$   noder^   s      r   
visit_TextzTranslator.visit_Text  s{    {{}||D%(((.~~d#??34<D<<x0D		r   c                     y r   r7   r$   r   s     r   depart_TextzTranslator.depart_Text      r   c                    G fdd      }dv r%| j                   j                   |d                n!| j                   j                   |d             t        | j                         dkD  r-| j                  | j                   d   j	                                y | j                  | j                   d   j	                                y )Nc                  :    e Zd ZdZddiZd	 fdZd Zd Zd
dZy)'Translator.list_start.<locals>.EnumCharz#list item numbering/markup handlingbulletz\(buc                
   || _         dv rd   dz
  | _        nd| _        d| _        |dk(  rat        t	        t        j
                                    | _        | xj                  t        t	        | j                              dz   z  c_        y |dk(  r)| xj                  t        d      dz
  z  c_        d| _        y |d	k(  r)| xj                  t        d
      dz
  z  c_        d| _        y |j                  d      rd| _        y y )NrP   rK   r   r   arabic
loweralphaar   
upperalphaAroman   )_style_cntr   rN   strchildrenordr\   )r$   styler   s     r   r    z0Translator.list_start.<locals>.EnumChar.__init__  s    #d? $W 1DI !DI H$ $'s3t}}+='>#?DLLLCDII$7!$;;Ll*IISA-I#$DLl*IISA-I#$DL^^G,#$DL -r   c                   | j                   dk(  r| j                  | j                      S | xj                  dz  c_        | j                   dv rd| j                  z  S | j                   j                  d      rVt	        | j                        }| j                   j                  d      r|j                         dz   S |j                         dz   S d| j                  z  S )	Nr   rK   )r   r   z%c.r   upperr   z%d.)r   
enum_styler   r\   r	   r   to_uppercaseto_lowercase)r$   ress     r   __next__z0Translator.list_start.<locals>.EnumChar.__next__  s    ;;(*??4;;77		Q	;;">> 499,,;;''0&tyy1C{{--g6"//1C77"//1C77tyy((r   c                    | j                   S r   )r   r#   s    r   	get_widthz1Translator.list_start.<locals>.EnumChar.get_width  s    ||#r   c                2    dt        | j                        z  S )Nzenum_style-%s)listr   r#   s    r   __repr__z0Translator.list_start.<locals>.EnumChar.__repr__  s    &dkk):::r   Nr,   )r-   r   )	r/   r0   r1   r2   r   r    r   r   r   )r   s   r   EnumCharr     s&    5gJ%*) $;r   r   enumtyper   rK   rL   )r   rD   rN   rs   r   )r$   r   r   s    ` r   
list_startzTranslator.list_start  s    /	; /	;b OO""8D,<#=> OO""8H#56t!#KK+5578KK+5578r   c                X    | j                          | j                  j                          y r   )dedentr   r]   r#   s    r   list_endzTranslator.list_end  s    r   c                    d| j                   z  }| j                   d   r|d| j                   z  z  }|dz  }d}||| j                   z  z   S )Nz=.TH "%(title)s" "%(manual_section)s" "%(date)s" "%(version)s"ri   z "%(manual_group)s"rS   z#.SH Name
%(title)s \- %(subtitle)s
)r   )r$   thsh_tmpls      r   headerzTranslator.header  sY    .15?==()DMM99B
d
2Gdmm+++r   c                    | j                   ry| j                  j                  t               | j                  j                  | j	                                d| _         y)z#append header with .TH and .SH NameNrK   )r   r   rD   	MACRO_DEFr   r#   s    r   r   zTranslator.append_header  sB    
 		#		'r   c                (    | j                  |d       y )Naddressvisit_docinfo_itemr   s     r   visit_addresszTranslator.visit_address      i0r   c                     y r   r7   r   s     r   depart_addresszTranslator.depart_address  r   r   Nc                2   |r| j                   j                  d       | j                  d   d   | j                  j                  j                  ||      d| j                  d   d   d}| j                   j                  |       | j                  |       y )NrJ   rz   r   :rK   rS   )r   rD   r   r   labelsgetvisit_block_quoter$   r   names      r   visit_admonitionzTranslator.visit_admonition  s~     IIW%		(#A&$$((t4		(#A&D
 IIT"t$r   c                &    | j                  |       y r   )depart_block_quoter   s     r   depart_admonitionzTranslator.depart_admonition  s    %r   c                (    | j                  |d       y )N	attentionr  r   s     r   visit_attentionzTranslator.visit_attention	      dK0r   c                    |dk(  r-| j                   |   j                  |j                                n|j                         | j                   |<   | j                  j                  |       t        j
                  Nrj   )r   rD   r(   r   r   SkipNoder  s      r   r  zTranslator.visit_docinfo_item  sY    8MM$&&t{{}5"&++-DMM$!!$'nnr   c                     y r   r7   r   s     r   depart_docinfo_itemzTranslator.depart_docinfo_item  r   r   c                (    | j                  |d       y r  r  r   s     r   visit_authorzTranslator.visit_author      h/r   c                     y r   r7   r   s     r   visit_authorszTranslator.visit_authors      r   c                     y r   r7   r   s     r   depart_authorszTranslator.depart_authors"  r   r   c                P    | j                  t               | j                  d       y )Nr   )rs   BLOCKQOUTE_INDENTr   s     r   r  zTranslator.visit_block_quote%  s     	%&Ar   c                D    | j                          | j                          y r   r   r   s     r   r  zTranslator.depart_block_quote+      r   c                &    | j                  |       y r   r   r   s     r   visit_bullet_listzTranslator.visit_bullet_list/      r   c                $    | j                          y r   r   r   s     r   depart_bullet_listzTranslator.depart_bullet_list2      r   c                     y r   r7   r   s     r   visit_captionzTranslator.visit_caption5  r   r   c                     y r   r7   r   s     r   depart_captionzTranslator.depart_caption8  r   r   c                (    | j                  |d       y )Ncautionr  r   s     r   visit_cautionzTranslator.visit_caution;      dI.r   c                    |j                         j                  d d      d   }|j                         }| j                  j	                  d|z         y )NrK   r   .IP [%s] 5
)r(   r   stripr   rD   )r$   r   nums      r   visit_citationzTranslator.visit_citation@  sA    kkm!!$*1-iik		#-.r   c                     y r   r7   r   s     r   depart_citationzTranslator.depart_citationE  r   r   c                    | j                   j                  d|j                         z   dz          t        j                  N[])r   rD   r(   r   r  r   s     r   visit_citation_referencez#Translator.visit_citation_referenceH  s.    		T[[]*3./nnr   c                :    | j                   j                  d       y )N(r   rD   r   s     r   visit_classifierzTranslator.visit_classifierL  s    		r   c                \    | j                   j                  d       | j                  |       y )N))r   rD   depart_termr   s     r   depart_classifierzTranslator.depart_classifierO  s"    		r   c                :    | j                   j                  |       y r   )r   rD   r   s     r   visit_colspeczTranslator.visit_colspecS  s    T"r   c                     y r   r7   r   s     r   depart_colspeczTranslator.depart_colspecV  r   r   c                l    | j                   j                  ddt        | j                        z  z         y )NrW   zL )r   rD   rN   r   r#   s    r   write_colspecszTranslator.write_colspecsY  s'    		DT]]);$;<=r   z-(?=-)c                    | j                   j                  | j                  |j                                      t        j
                  r   )r   rD   r   r(   r   r  )r$   r   r   s      r   visit_commentzTranslator.visit_comment\  s-    		dkkm45nnr   c                (    | j                  |d       y )Ncontactr  r   s     r   visit_contactzTranslator.visit_contacta  r  r   c                     y r   r7   r   s     r   visit_containerzTranslator.visit_containerf  r   r   c                     y r   r7   r   s     r   depart_containerzTranslator.depart_containeri  r   r   c                     y r   r7   r   s     r   visit_compoundzTranslator.visit_compoundl  r   r   c                     y r   r7   r   s     r   depart_compoundzTranslator.depart_compoundo  r   r   c                (    | j                  |d       y )Nrl   r  r   s     r   visit_copyrightzTranslator.visit_copyrightr  s    k2r   c                (    | j                  |d       y )Ndangerr  r   s     r   visit_dangerzTranslator.visit_dangeru  s    dH-r   c                (    | j                  |d       y )Nrk   r  r   s     r   
visit_datezTranslator.visit_datez  s    f-r   c                     y r   r7   r   s     r   visit_decorationzTranslator.visit_decoration}  r   r   c                     y r   r7   r   s     r   depart_decorationzTranslator.depart_decoration  r   r   c                     y r   r7   r   s     r   visit_definitionzTranslator.visit_definition  r   r   c                     y r   r7   r   s     r   depart_definitionzTranslator.depart_definition  r   r   c                .    | j                  t               y r   )rs   DEFINITION_LIST_INDENTr   s     r   visit_definition_listz Translator.visit_definition_list  s    *+r   c                $    | j                          y r   r+  r   s     r   depart_definition_listz!Translator.depart_definition_list      r   c                Z    | j                   j                  | j                  d   d          y )Nrt   r   r   rD   r   r   s     r   visit_definition_list_itemz%Translator.visit_definition_list_item  #    		#9:1=>r   c                Z    | j                   j                  | j                  d   d          y )Nrt   rK   rz  r   s     r   depart_definition_list_itemz&Translator.depart_definition_list_item  r|  r   c                     y r   r7   r   s     r   visit_descriptionzTranslator.visit_description  r   r   c                     y r   r7   r   s     r   depart_descriptionzTranslator.depart_description  r   r   c                    d| _         y NrK   )r   r   s     r   visit_docinfozTranslator.visit_docinfo  s
    r   c                2    d | _         | j                          y r   )r   r   r   s     r   depart_docinfozTranslator.depart_docinfo  s    r   c                h    | j                   j                  | j                  d   d          d| _        y )Nrw   r   T)r   rD   r   r   r   s     r   visit_doctest_blockzTranslator.visit_doctest_block  s*    		?3A67r   c                h    d| _         | j                  j                  | j                  d   d          y NFrw   rK   )r   r   rD   r   r   s     r   depart_doctest_blockzTranslator.depart_doctest_block  s*     		?3A67r   c                    | j                   j                  | j                  | j                        j	                         dz          d| _        y )NrS   r   )r   rD   r   document_startrstripr   r   s     r   visit_documentzTranslator.visit_document  s9    		d&9&9:AACDHIr   c                   | j                   d   r:| j                  j                  ddj                  | j                   d         z         d}| j                  D ]'  }|dk(  r| j                  j                  d| j
                  j                  j                  ||      d| j                  d   d	   d	z  | j                  d   d	   t        z  d
| j                   |   d| j                  d   d   | j                  d   d   
       ||vs|| j                  v r| j                  |   }n&| j
                  j                  j                  ||      }| j                  j                  d|d| j                   |   d       * | j                   d   r+| j                  j                  d| j                   d   z         | j                  j                  | j                  d             y )Nrj   z.SH Author
%s
z, )rj   rl   rk   ri   rh   rg   rf   rm   r  rS   z:
rs   r   .nf
rr   rK   z: rl   z.SH Copyright
%s
zEnd of generated man page.)r   r   rD   rY   r   r   r  r  r   r)  r   r   )r$   r   skipr  labels        r   depart_documentzTranslator.depart_document  s   =="II/#yyx)@AB C$ && 	NDy 		  $(MM$8$8$<$<T4$H$(IIh$7$:Q$>$(IIh$7$:=N$N$(MM$$7$(IIh$7$:$(IIh$7$:"< = T!4... //5E MM0044T4@E		  d8K!LM	N ==%II2#}}[9: ;		++,HIJr   c                Z    | j                   j                  | j                  d   d          y )Nry   r   rz  r   s     r   visit_emphasiszTranslator.visit_emphasis  "    		:.q12r   c                Z    | j                   j                  | j                  d   d          y )Nry   rK   rz  r   s     r   depart_emphasiszTranslator.depart_emphasis  r  r   c                   d|v r'| j                   j                  j                  d|       d|v r'| j                   j                  j                  d|       | j                  j	                  t        | j                               y )Nmorerowsz""table row spanning" not supported	base_nodemorecolsz#"table cell spanning" not supported)r&   r   warningr   rD   rN   r   r   s     r   visit_entryzTranslator.visit_entry  sr    MM""**4 + FMM""**5 + GC		N+r   c                    | j                   j                         }| j                  j                  | j                  |d         | j                  |d = y r   )r   r]   r   rQ   r   )r$   r   rP   s      r   depart_entryzTranslator.depart_entry  sA      "&&tyy'89IIefr   c                &    | j                  |       y r   r.  r   s     r   visit_enumerated_listz Translator.visit_enumerated_list  r0  r   c                $    | j                          y r   r2  r   s     r   depart_enumerated_listz!Translator.depart_enumerated_list  r4  r   c                (    | j                  |d       y )Nerrorr  r   s     r   visit_errorzTranslator.visit_error  s    dG,r   c                     y r   r7   r   s     r   visit_fieldzTranslator.visit_field  r   r   c                     y r   r7   r   s     r   depart_fieldzTranslator.depart_field  r   r   c                    | j                   re| j                  j                         j                  dd      }| j                  | j                  |<   | j                  ||       t        j                  y )NrV   _)r   r   lowerr   r   r  r   r  )r$   r   name_normalizeds      r   visit_field_bodyzTranslator.visit_field_body  sa    "..446>>sCHO373C3CD0##D/:.. 	 r   c                     y r   r7   r   s     r   depart_field_bodyzTranslator.depart_field_body  r   r   c                .    | j                  t               y r   )rs   FIELD_LIST_INDENTr   s     r   visit_field_listzTranslator.visit_field_list  s    %&r   c                $    | j                          y r   r+  r   s     r   depart_field_listzTranslator.depart_field_list   rx  r   c                    | j                   r%|j                         | _        t        j                  | j
                  j                  | j                  d   d          y )Nru   r   )r   r(   r   r   r  r   rD   r   r   s     r   visit_field_namezTranslator.visit_field_name  sC    #{{}D.. 		<034r   c                Z    | j                   j                  | j                  d   d          y )Nru   rK   rz  r   s     r   depart_field_namezTranslator.depart_field_name	  s"    		<034r   c                H    | j                  d       | j                  d       y )Ng      @r   )rs   r   s     r   visit_figurezTranslator.visit_figure  s    CAr   c                D    | j                          | j                          y r   r+  r   s     r   depart_figurezTranslator.depart_figure  r,  r   c                p    | j                   j                  j                  d|       t        j                  )Nz"footer" not supportedr  )r&   r   r  r   r  r   s     r   visit_footerzTranslator.visit_footer  s1    &&'?15 	' 	7 nnr   c                     y r   r7   r   s     r   depart_footerzTranslator.depart_footer  r   r   c                    |j                         j                  d      \  }}|j                         }| j                  j	                  d| j                  |      z         y )NrK   )maxsplitr>  )r(   r   r?  r   rD   r   )r$   r   r@  _texts       r   visit_footnotezTranslator.visit_footnote  sJ    [[]((!(4
Uiik		$..*==>r   c                     y r   r7   r   s     r   depart_footnotezTranslator.depart_footnote"  r   r   c                R    | j                   j                  j                  d|       y )Nz!"footnote_backrefs" not supportedr  r&   r   r  r   s     r   footnote_backrefszTranslator.footnote_backrefs%  s%    &&'J15 	' 	7r   c                    | j                   j                  d| j                  |j                               z   dz          t        j
                  rE  )r   rD   r   r(   r   r  r   s     r   visit_footnote_referencez#Translator.visit_footnote_reference)  s7    		T^^DKKM::3>?nnr   c                     y r   r7   r   s     r   depart_footnote_referencez$Translator.depart_footnote_reference-  r   r   c                     y r   r7   r   s     r   visit_generatedzTranslator.visit_generated0  r   r   c                     y r   r7   r   s     r   depart_generatedzTranslator.depart_generated3  r   r   c                4    t        |j                               r   )NotImplementedErrorr(   r   s     r   visit_headerzTranslator.visit_header6  s    !$++-00r   c                     y r   r7   r   s     r   depart_headerzTranslator.depart_header9  r   r   c                (    | j                  |d       y )Nhintr  r   s     r   
visit_hintzTranslator.visit_hint<      dF+r   c                :    | j                   j                  d       y )Nz\s-2\drK  r   s     r   visit_subscriptzTranslator.visit_subscriptA      		$r   c                :    | j                   j                  d       y )Nz\u\s0rK  r   s     r   depart_subscriptzTranslator.depart_subscriptD      		#r   c                :    | j                   j                  d       y )Nz\s-2\urK  r   s     r   visit_superscriptzTranslator.visit_superscriptG  r  r   c                :    | j                   j                  d       y )Nz\d\s0rK  r   s     r   depart_superscriptzTranslator.depart_superscriptJ  r  r   c                :    | j                   j                  d       y )Nz\(em rK  r   s     r   visit_attributionzTranslator.visit_attributionM  s    		"r   c                :    | j                   j                  d       y NrS   rK  r   s     r   depart_attributionzTranslator.depart_attributionP      		r   c                   d}d|j                   v rb| j                  j                  j                  ||       | j                  j                  d|j                   d   z         t        j                  d|j                   v rU| j                  j                  d|j                   d   z         | j                  j                  j                  | d|       t        j                  )Nz*"image" not supported by "manpage" writer.altr  z.sp
    %s
uriz.sp
    image: %s
z<
Please provide an "alt" attribute with textual replacement.)	
attributesr&   r   infor   rD   r  r   r  )r$   r   msgs      r   visit_imagezTranslator.visit_imageS  s    :DOO#MM""''26 ( 8II_OOE*, - nn doo%II3OOE*, -MM""**e $ $/3 + 5 nnr   c                (    | j                  |d       y )N	importantr  r   s     r   visit_importantzTranslator.visit_importantc  r  r   c                     y r   r7   r   s     r   visit_inlinezTranslator.visit_inlineh  r   r   c                     y r   r7   r   s     r   depart_inlinezTranslator.depart_inlinek  r   r   c                   t        |j                  t        j                  t        j                  f      rt        j
                  | j                  j                  j                  d|       | j                  j                  d       y )Nz"unsupported "label"r  rF  )
isinstanceparentr   footnotecitationr  r&   r   r  r   rD   r   s     r   visit_labelzTranslator.visit_labeln  s\    dkkENNENN#CD.. &&'=15 	' 	7		r   c                :    | j                   j                  d       y )Nz]
rK  r   s     r   depart_labelzTranslator.depart_labelv  s    		r   c                     y r   r7   r   s     r   visit_legendzTranslator.visit_legendy  r   r   c                     y r   r7   r   s     r   depart_legendzTranslator.depart_legend|  r   r   c                    | xj                   dz  c_         | j                   dk(  r| j                  j                  d       y | j                  j                  d       y )NrK   r  z.in +2
r   r   rD   r   s     r   visit_line_blockzTranslator.visit_line_block  sG    Aq 
 IIW%IIZ(r   c                    | xj                   dz  c_         | j                   dk(  r7| j                  j                  d       | j                  j                  d       y | j                  j                  d       y )NrK   r   z.fi
rJ   z.in -2
r  r   s     r   depart_line_blockzTranslator.depart_line_block  sW    Aq IIW%IIW%IIZ(r   c                     y r   r7   r   s     r   
visit_linezTranslator.visit_line  r   r   c                :    | j                   j                  d       y r  rK  r   s     r   depart_linezTranslator.depart_line  r  r   c                    | j                   j                  dt        | j                  d         | j                  d   j	                         fz         y )Nz
.IP %s %d
rL   )r   rD   nextr   r   r   s     r   visit_list_itemzTranslator.visit_list_item  sF    		T__R()#--/*2 2 	3r   c                     y r   r7   r   s     r   depart_list_itemzTranslator.depart_list_item  r   r   c                Z    | j                   j                  | j                  d   d          y )Nrv   r   rz  r   s     r   visit_literalzTranslator.visit_literal  "    		9-a01r   c                Z    | j                   j                  | j                  d   d          y )Nrv   rK   rz  r   s     r   depart_literalzTranslator.depart_literal  r  r   c                    | j                  t               | j                  d       | j                  j                  | j                  d   d          d| _        y )Nr   rw   T)rs   LITERAL_BLOCK_INDENTr   rD   r   r   r   s     r   visit_literal_blockzTranslator.visit_literal_block  sD     	()A		?3A67r   c                    d| _         | j                  j                  | j                  d   d          | j	                          | j	                          y r  )r   r   rD   r   r   r   s     r   depart_literal_blockzTranslator.depart_literal_block  s<     		?3A67r   c                t    | j                   j                  j                  d|       | j                  |       y )Nz"math" role not supportedr  )r&   r   r  r  r   s     r   
visit_mathzTranslator.visit_math  s3    &&'B15 	' 	74 r   c                &    | j                  |       y r   )r  r   s     r   depart_mathzTranslator.depart_math  s    D!r   c                t    | j                   j                  j                  d|       | j                  |       y )Nz"math" directive not supportedr  )r&   r   r  r   r   s     r   visit_math_blockzTranslator.visit_math_block  s3    &&'G15 	' 	7  &r   c                &    | j                  |       y r   )r"  r   s     r   depart_math_blockzTranslator.depart_math_block  s    !!$'r   c                (    | j                  |d       y )Nnoter  r   s     r   
visit_notezTranslator.visit_note  r  r   c                    | j                   d   }| j                   j                  |       | j                  j                  | j                  d   d   |z         y )NrL   rs   r   )r   rD   r   r   )r$   bysteps      r   rs   zTranslator.indent  sG    ||BB		8,Q/$67r   c                    | j                   j                          | j                  j                  | j                  d   d          y )Nrs   rK   )r   r]   r   rD   r   r#   s    r   r   zTranslator.dedent  s2    		8,Q/0r   c                .    | j                  t               y r   )rs   OPTION_LIST_INDENTr   s     r   visit_option_listzTranslator.visit_option_list  s    &'r   c                $    | j                          y r   r+  r   s     r   depart_option_listzTranslator.depart_option_list  rx  r   c                Z    | j                   j                  | j                  d   d          y )Nrx   r   rz  r   s     r   visit_option_list_itemz!Translator.visit_option_list_item  s#    		#56q9:r   c                Z    | j                   j                  | j                  d   d          y )Nrx   rK   rz  r   s     r   depart_option_list_itemz"Translator.depart_option_list_item  s#    		#56q9:r   c                    | j                   j                  d       | j                   j                  t        | j                               | j                   j                  d       y )Nr   r   )r   rD   rN   r   r   s     r   visit_option_groupzTranslator.visit_option_group  sB     	E"C		N+Ar   c                6   | j                   j                          | j                   j                         }| j                  |d  }| j                  |d = | j                  j                  | j                   j                         dj	                  |      d       y )Nre   rS   )r   r]   r   rD   rY   )r$   r   start_positionr^   s       r   depart_option_groupzTranslator.depart_option_group  sn    ))+yy)IIno&		T\\%5%5%7GHr   c                J   | j                   d   dkD  rI| j                   d   dk(  r| j                  j                  d       n| j                  j                  d       | j                   d   dk(  r| j                  j                  d       | j                  j                  d       y )	NrL   r   .BIz\fR,\fB z\fP,\fB r   rV   )r   r   rD   r   s     r   visit_optionzTranslator.visit_option  s}    <<a||B5(		  .		  .<<u$IIT"		r   c                2    | j                   dxx   dz  cc<   y )NrL   rK   )r   r   s     r   depart_optionzTranslator.depart_option  s    RAr   c                     y r   r7   r   s     r   visit_option_stringzTranslator.visit_option_string  r%  r   c                     y r   r7   r   s     r   depart_option_stringzTranslator.depart_option_string  r   r   c                L   d| j                   d<   |d   dk7  r"| j                  j                  d|d   z         y | j                  t        | j                        dz
     j	                  d      r| j                  j                  d       y | j                  j                  d       y )	NrB  rA  	delimiterrV   z\fB%s rK   =z \ )r   r   rD   rN   r\   r   s     r   visit_option_argumentz Translator.visit_option_argument  s     R#IIYk)::;YYs499~a'(11#6IIS! IIV$r   c                     y r   r7   r   s     r   depart_option_argumentz!Translator.depart_option_argument  r   r   c                (    | j                  |d       y )Norganizationr  r   s     r   visit_organizationzTranslator.visit_organization  s    n5r   c                     y r   r7   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 y y y)Nr   rK   )r   r  r   r  r   	Invisible)r$   r   firstchilds       r   first_childzTranslator.first_child#  s`    4;;q>5;;7[[))%&1 	E%1}	 r   c                    | j                          | j                  |      s| j                  j                  d       d| _        y )NrJ   T)r   rY  r   rD   r   r   s     r   visit_paragraphzTranslator.visit_paragraph-  s6     	%IIW%r   c                H    d| _         | j                  j                  d       y )NFrS   )r   r   rD   r   s     r   depart_paragraphzTranslator.depart_paragraph9  s     		r   c                Z    | j                   j                  | j                  d   d          y )Nr~   r   rz  r   s     r   visit_problematiczTranslator.visit_problematic=  "    		=1!45r   c                Z    | j                   j                  | j                  d   d          y )Nr~   rK   rz  r   s     r   depart_problematiczTranslator.depart_problematic@  r`  r   c                    d|j                  dd      j                         v r,| j                  j                  |j	                         dz          t
        j                  )Nr   formatre   rS   )r  r   r   rD   r(   r   r  r   s     r   	visit_rawzTranslator.visit_rawC  sE    2.4466IIT[[]T12nnr   c                    d|v ru|d   |j                         k(  s|d   d|j                         z   k(  rE| j                  j                  dt        |j                               z         t        j
                  yy)zE.g. link or email address.refurimailto:z\%%<%s>N)r(   r   rD   r   r   r  r   s     r   r   z$Translator._visit_reference_no_macroK  st     t X$++-/>Yt{{}%<<		  #9$++-#H"I Jnn$	 =	 r   c                b    d|v r+| j                   j                  dt        |d         z         y y )Nrg  z \%%<%s>)r   rD   r   r   s     r   r   z%Translator._depart_reference_no_macro_  s6    tII[5d8nEF G r   c                   d|v r2| j                          |d   }|j                  d      r<|dd  }| j                  j                  d       | j                  j                  d       n6| j                  j                  d       | j                  j                  d       | j                  j                  dt        |      z         |d   |j                         k(  s|d   d|j                         z   k(  rC| j                  j                  | j                  j                                t        j                  y | j                  j                  d	       y )
Nrg  rh  r
   z.MT r   z.UR r   z\%%%s
re   )
r   r   r   rD   r   r   r(   r]   r   r  )r$   r   _uris      r   r   z&Translator._visit_reference_with_macroe  s   t>Dy)ABx 		  (##G,		  (##G,IIZ*@*FFGX$++-/>Yt{{}%<<		  !1!1!34nn$ = LL#r   c                    | j                   j                         }|r,| j                          | j                  j	                  |       y y r   )r   r]   r   r   rD   )r$   r   	macro_ends      r   r   z'Translator._depart_reference_with_macro}  s8    LL$$&	OOIIY' r   c                (    | j                  |d       y )Nrevisionr  r   s     r   visit_revisionzTranslator.visit_revision  s    j1r   c                8    | j                   j                          y r   )r   rE   r   s     r   	visit_rowzTranslator.visit_row  s    ""$r   c                     y r   r7   r   s     r   
depart_rowzTranslator.depart_row  r   r   c                .    | xj                   dz  c_         y r  r   r   s     r   visit_sectionzTranslator.visit_section      ar   c                .    | xj                   dz  c_         y r  rv  r   s     r   depart_sectionzTranslator.depart_section  rx  r   c                (    | j                  |d       y )Nstatusr  r   s     r   visit_statuszTranslator.visit_status  r"  r   c                Z    | j                   j                  | j                  d   d          y )Nrz   r   rz  r   s     r   visit_strongzTranslator.visit_strong  "    		8,Q/0r   c                Z    | j                   j                  | j                  d   d          y )Nrz   rK   rz  r   s     r   depart_strongzTranslator.depart_strong  r  r   c                "    t         j                  )zInternal only.)r   r  r   s     r   visit_substitution_definitionz(Translator.visit_substitution_definition  s    nnr   c                R    | j                   j                  j                  d|       y )Nz&"substitution_reference" not supportedr  r  r   s     r   visit_substitution_referencez'Translator.visit_substitution_reference  s%    &&4 	' 	Fr   c                   t        |j                  t        j                        r,| j                  j                  | j                  d   d          y t        |j                  t        j                        r| j                  |d       y t        |j                  t        j                        r,| j                  j                  | j                  d   d          y y )Nrz   r   rg   )
r   r  r   sidebarr   rD   r   r&   r  sectionr   s     r   visit_subtitlezTranslator.visit_subtitle  s    dkk5==1IITYYx034U^^4##D*5U]]3IITYYx034 4r   c                `    | j                   j                  | j                  d   d   dz          y )Nrz   rK   z
.PP
rz  r   s     r   depart_subtitlezTranslator.depart_subtitle  s'    		8,Q/	9:r   c                    i }|j                  d      r|d   |d<   |j                  d      r	d|d   z  }nd}| j                  j                  d|d   d|d	   d
|d   d|d	       y )Nidr  linez	, line %sre   z.IP "System Message: type/levelz (sourcer  z)"
)hasattrr   rD   )r$   r   attrr  s       r   visit_system_messagezTranslator.visit_system_message  so    
 <<:DL<<f-DD		 L$w-hO 	Pr   c                     y r   r7   r   s     r   depart_system_messagez Translator.depart_system_message  r   r   c                    t               | _        | j                  s$d| _        | j                  j	                  dd       y y )NTr   z'\" t
)r9   r   r   r   insertr   s     r   visit_tablezTranslator.visit_table  s6    "W   $DIIQ, !r   c                    | j                          | j                  j                  | j                  j	                                d | _        y r   )r   r   r[   r   rb   r   s     r   depart_tablezTranslator.depart_table  s5    		++3356!r   c                     y r   r7   r   s     r   visit_targetzTranslator.visit_target  s     	r   c                     y r   r7   r   s     r   depart_targetzTranslator.depart_target  r   r   c                     y r   r7   r   s     r   visit_tbodyzTranslator.visit_tbody  r   r   c                     y r   r7   r   s     r   depart_tbodyzTranslator.depart_tbody  r   r   c                :    | j                   j                  d       y )Nr   rK  r   s     r   
visit_termzTranslator.visit_term  s    		!r   c                :   |j                  d dd      }t        |t        j                        r| j                  j                  d       y t        |t        j                        r| j                  j                  d       y | j                  j                  d       y )NFT)descendsiblingsrV   z
.TQrS   )	next_noder   r   
classifierr   rD   term)r$   r   _nexts      r   rO  zTranslator.depart_term  sm    tUTBeU--.IIS!eUZZ(IIW%IIT"r   c                     y r   r7   r   s     r   visit_tgroupzTranslator.visit_tgroup  r   r   c                     y r   r7   r   s     r   depart_tgroupzTranslator.depart_tgroup  r   r   c                     y r   r7   r   s     r   visit_theadzTranslator.visit_thead  r%  r   c                     y r   r7   r   s     r   depart_theadzTranslator.depart_thead  r%  r   c                (    | j                  |d       y )Ntipr  r   s     r   	visit_tipzTranslator.visit_tip  s    dE*r   c                &   t        |j                  t        j                        r,| j                  j                  | j                  d   d          y t        |j                  t        j                        r,| j                  j                  | j                  d   d          y t        |j                  t        j                        r| j                  j                  d       y | j                  dk(  r-|j                         | j                  d<   t        j                  | j                  dk(  rK| j                  j                  d| j                  |j                               z         t        j                  | j                  j                  d       y )	Nr|   r   r}   z.IP "rf   rK   z.SH %s
rq   )r   r  r   topicr   rD   r   r  
admonitionr   r(   r   r  r   r   s     r   visit_titlezTranslator.visit_title  s   dkk5;;/IITYY}5a89U]]3IITYY7:;U%5%56IIW%1$%)[[]DMM'".. 1$IIZt{{}(EEF.. IIV$r   c                    t        |j                  t        j                        r| j                  j                  d       | j                  j                  d       y )Nr   rS   )r   r  r   r  r   rD   r   s     r   depart_titlezTranslator.depart_title  s:    dkk5#3#34IIS!		r   c                Z    | j                   j                  | j                  d   d          y)zinline citation referencer{   r   Nrz  r   s     r   visit_title_referencez Translator.visit_title_reference  s#    		#45a89r   c                Z    | j                   j                  | j                  d   d          y )Nr{   rK   rz  r   s     r   depart_title_referencez!Translator.depart_title_reference  s#    		#45a89r   c                     y r   r7   r   s     r   visit_topiczTranslator.visit_topic"  r   r   c                     y r   r7   r   s     r   depart_topiczTranslator.depart_topic%  r   r   c                     y r   r7   r   s     r   visit_sidebarzTranslator.visit_sidebar(  r   r   c                     y r   r7   r   s     r   depart_sidebarzTranslator.depart_sidebar+  r   r   c                     y r   r7   r   s     r   visit_rubriczTranslator.visit_rubric.  r   r   c                :    | j                   j                  d       y r  rK  r   s     r   depart_rubriczTranslator.depart_rubric1  r  r   c                :    | j                   j                  d       y )Nz
.sp
.ce
----
rK  r   s     r   visit_transitionzTranslator.visit_transition4  s     			-.r   c                :    | j                   j                  d       y )Nz
.ce 0
.sp
rK  r   s     r   depart_transitionzTranslator.depart_transition:  s    		)*r   c                (    | j                  |d       y )Nrm   r  r   s     r   visit_versionzTranslator.visit_version=  r  r   c                (    | j                  |d       y )Nr  r  r   s     r   visit_warningzTranslator.visit_warning@  r<  r   c                F    t        d|j                  j                  z        )Nz$visiting unimplemented node type: %s)r  	__class__r/   r   s     r   unimplemented_visitzTranslator.unimplemented_visitE  s$    !"H$(NN$;$;#< = 	=r   r,   r   )g      ?)r-   int)r/   r0   r1   r2   recompilewords_and_spacesr   docutils__version__r  r    r   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/  r3  r6  r8  r;  depart_cautionrA  rC  rH  rL  rP  rR  rT  rV  r   rX  r[  depart_contactr]  r_  ra  rc  re  rh  depart_dangerrj  rl  rn  rp  rr  ru  rw  r{  r~  r  r  r  r  r  r  r  r  r  r  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_noters   r   r4  r6  r8  r:  r<  r?  rC  rE  rG  rI  rM  rO  rR  rT  rY  r[  r]  r_  rb  re  r   r   r   r   rp  depart_revisionrr  rt  rw  rz  r}  depart_statusr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rO  r  r  r  r  r  
depart_tipr  r  r  r  r  r  r  r  r  r  r  r  r  r  depart_warningr  r7   r   r   r!   r!      s|    "rzz,/(bjj1	#//00@	B 
Wv.#
&
 :D

<9|,	 1%(&1 )0 (M/ 'N/
#> %"**X.22
1 )N3. &M.,??
 8 K833,
- %L!'55?
71, $K%$%$# 1 ) 	))322 !
"'
(, $K81(;;I		%6
 66%(G$0(2 *O%  0 (M11F5;P-"

"
#+ #J% 
::/+1/ 'N=r   r!   )r2   
__future__r   __docformat__r  r  r   r   r   r   docutils.utils._roman_numeralsr	   r  rt  r3  r)  r  r  r   r  r   r   r   r   r9   r   r!   r7   r   r   <module>r     s   
%N #" 	  8 8 7     	>   #

#9: #$?@ M$'W^^ $'N6 6ru="" u=r   