
V]c           @   sn  d  Z  d d l Z d d l Z d d l Z d d l Z y d d l Z WnZ e k
 r y/ d d l	 Z	 d e
 f d     YZ e	 e _	 Wn e k
 r e Z n Xn Xd d l Z d d l m Z m Z m Z m Z m Z d d l m Z d d l m Z d d l m Z m Z m Z m Z m Z d	 e j f d
     YZ d e j f d     YZ d e j f d     YZ  d S(   s,   common definitions for Docutils HTML writersiNt   PILc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyR       s    (   t   nodest   utilst   writerst	   languagest   io(   t
   SafeString(   t
   writer_aux(   t   unichar2text   pick_math_environmentt	   math2htmlt   latex2mathmlt   tex2mathml_externt   Writerc           B   s`   e  Z d Z d Z i d d 6Z d d g Z d  Z d   Z d   Z d   Z	 d   Z
 d   Z RS(!   t   htmlt   xhtmls   template.txtt   xmlcharrefreplacet   output_encoding_error_handlerR   s   html writerst   head_prefixt   headt
   stylesheett   body_prefixt   body_pre_docinfot   docinfot   bodyt   body_suffixt   titlet   subtitlet   headert   footert   metat   fragmentt   html_prologt	   html_headt
   html_titlet   html_subtitlet	   html_bodyc         C   s   t  j j |   t j g S(   N(   R   R   t   get_transformsR	   t   Admonitions(   t   self(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyR'   B   s    c         C   si   |  j  |  j  |  _ } |  j j |  x* |  j D] } t |  | t | |   q3 W|  j   |  _ d  S(   N(	   t   translator_classt   documentt   visitort	   walkaboutt   visitor_attributest   setattrt   getattrt   apply_templatet   output(   R)   R,   t   attr(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt	   translateE   s
    c         C   sK   t  |  j j j d  } t | j   d  } | j   |  j   } | | S(   Nt   rbs   utf-8(   t   openR+   t   settingst   templatet   unicodet   readt   closet   interpolation_dict(   R)   t   template_fileR8   t   subs(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyR1   L   s
    
c         C   si   i  } |  j  j } x6 |  j D]+ } d j t |  |   j d  | | <q W| j | d <t j | d <| S(   Nt    s   
t   encodingt   version(	   R+   R7   R.   t   joinR0   t   rstript   output_encodingt   docutilst   __version__(   R)   R>   R7   R3   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyR<   S   s    )c         C   sG   t  j j |   x0 |  j D]% } d j t |  |   |  j | <q Wd  S(   NR?   (   R   R   t   assemble_partsR.   RB   R0   t   parts(   R)   t   part(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyRG   \   s    (   R   R   (   R   R   R   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R&   (   R   R   t	   supportedt   default_templatet   settings_defaultst   config_section_dependenciesR.   R'   R4   R1   R<   RG   (    (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyR   +   s       					t   HTMLTranslatorc           B   s  e  Z d  Z d Z d Z e Z d Z d Z d Z d Z	 d Z
 d Z d	 Z e j d
  Z e j d e j  Z d Z i d e d  6d e d  6d e d  6d e d  6d e d  6Z d   Z d   Z d   Z d   Z d   Z e j d  d  Z d   Z d e d   Z d d!  Z d" d#  Z d$   Z  d%   Z! d&   Z" d'   Z# d(   Z$ d)   Z% d*   Z& d+   Z' d,   Z( d d-  Z* i d d0 6d d3 6d d4 6d d5 6Z+ d6   Z, d7   Z- d8   Z. d9   Z/ d:   Z0 d;   Z1 d<   Z2 d=   Z3 d>   Z4 d?   Z5 d@   Z6 dA   Z7 dB   Z8 dC   Z9 dD   Z: dE   Z; dF   Z< dG   Z= dH   Z> dI   Z? dJ   Z@ dK   ZA e j dL  jB dM  ZC dN   ZD dO   ZE dP   ZF dQ   ZG dR   ZH dS   ZI dT   ZJ dU   ZK dV   ZL dW   ZM dX   ZN dY   ZO dZ   ZP d[   ZQ d\   ZR d]   ZS d^   ZT d_   ZU d`   ZV da   ZW db   ZX dc   ZY eZ dd  Z[ de   Z\ df   Z] dg   Z^ dh   Z_ di   Z` dj   Za dk   Zb dl   Zc dm   Zd dn   Ze do   Zf dp   Zg dq   Zh dr   Zi ds   Zj dt   Zk du   Zl dv   Zm dw   Zn dx   Zo dy   Zp dz   Zq d{   Zr d|   Zs d}   Zt d~   Zu d   Zv d   Zw d   Zx d   Zy d   Zz i d d 6Z{ 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 d   Z d   Z i d d 6d d 6d d 6d d 6Z d/ 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 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 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 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 d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   si  
    Generic Docutils to HTML translator.

    See the `html4css1` and `html5_polyglot` writers for full featured
    HTML writers.

    .. IMPORTANT::
      The `visit_*` and `depart_*` methods use a
      heterogeneous stack, `self.context`.
      When subclassing, make sure to be consistent in its use!

      Examples for robust coding:

      a) Override both `visit_*` and `depart_*` methods, don't call the
         parent functions.

      b) Extend both and unconditionally call the parent functions::

           def visit_example(self, node):
               if foo:
                   self.body.append('<div class="foo">')
               html4css1.HTMLTranslator.visit_example(self, node)

           def depart_example(self, node):
               html4css1.HTMLTranslator.depart_example(self, node)
               if foo:
                   self.body.append('</div>')

      c) Extend both, calling the parent functions under the same
         conditions::

           def visit_example(self, node):
               if foo:
                   self.body.append('<div class="foo">
')
               else: # call the parent method
                   _html_base.HTMLTranslator.visit_example(self, node)

           def depart_example(self, node):
               if foo:
                   self.body.append('</div>
')
               else: # call the parent method
                   _html_base.HTMLTranslator.depart_example(self, node)

      d) Extend one method (call the parent), but don't otherwise use the
         `self.context` stack::

           def depart_example(self, node):
               _html_base.HTMLTranslator.depart_example(self, node)
               if foo:
                   # implementation-specific code
                   # that does not use `self.context`
                   self.body.append('</div>
')

      This way, changes in stack use will not bite you.
    s%   <?xml version="1.0" encoding="%s" ?>
s   <!DOCTYPE html>
sW   <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="%(lang)s" lang="%(lang)s">
<head>
s   <meta charset="%s"/>
sR   <meta name="generator" content="Docutils %s: http://docutils.sourceforge.net/" />
s2   <script type="text/javascript" src="%s"></script>
s-   file:/usr/share/javascript/mathjax/MathJax.jss4   <link rel="stylesheet" href="%s" type="text/css" />
s%   <style type="text/css">

%s
</style>
s   [^ \n]+| +|\ns   .+\W\W.+|[-?].+t   langu   &amp;t   &u   &lt;t   <u   &quot;t   "u   &gt;t   >u   &#64;t   @c         C   s6  t  j j |  |  | j |  _ } | j } t j | | j  |  _ |  j	 t
 j g |  _ g  |  _ g  |  _ | j r |  j j |  j | j  |  j j |  j  n  |  j |  _ g  t j |  D] } |  j |  ^ q |  _ d g |  _ g  |  _ g  |  _ g  |  _ g  |  _ d g |  _ d |  _ t | j  |  _ | j  j!   |  _  |  j  d |  _" |  j  d j#   |  _  g  |  _$ g  |  _% g  |  _& t' |  _( t) |  _* t) |  _+ t) |  _, t) |  _- t) |  _. g  |  _/ g  |  _0 g  |  _1 g  |  _2 |  j3 g |  _4 g  |  _5 g  |  _6 g  |  _7 d |  _8 t) |  _9 t) |  _: g  |  _; d  S(   Ns   </head>
<body>
s   </body>
</html>
i    i   (<   R   t   NodeVisitort   __init__R7   t   language_codeR   t   get_languaget   reportert   languaget	   generatorRE   RF   R    R   R"   t   xml_declarationt   appendRD   R   R   t   get_stylesheet_listt   stylesheet_callR   R   R   R   R   R!   R   t   section_levelt   intt   initial_header_levelt   math_outputt   splitt   math_output_optionst   lowert   contextt   topic_classest   colspecst   Truet	   compact_pt   Falset   compact_simplet   compact_field_listt
   in_docinfot
   in_sidebart   in_footnote_listR   R   R   R   t   content_typeR#   R$   R%   R&   t   in_document_titlet	   in_mailtot   author_in_authorst   math_header(   R)   R+   R7   t   lcodet   path(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyRV      s\    				+																								c         C   sA   d j  |  j |  j |  j |  j |  j |  j |  j |  j  S(   NR?   (	   RB   R   R   R   R   R   R   R   R   (   R)   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   astext  s    c         C   s   t  |  } | j |  j  S(   s-   Encode special characters in `text` & return.(   R9   R4   t   special_characters(   R)   t   text(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   encode	  s    c         C   s   | j  d d  S(   s*   Try to hide a mailto: URL from harvesters.RT   s   %40(   t   replace(   R)   t   uri(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   cloak_mailto  s    c         C   s(   | j  d d  } | j  d d  } | S(   s;   Try to hide the link text of a email link from harversters.s   &#64;s   <span>&#64;</span>t   .s   <span>&#46;</span>(   R}   (   R)   t   addr(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   cloak_email  s    s   [
	]c         C   s[   |  j  | j d |   } |  j rW |  j j rW | j d d  } | j d d  } n  | S(   s6   Cleanse, HTML encode, and return attribute value text.t    s   %40s   &#37;&#52;&#48;R   s   &#46;(   R|   t   subRt   R7   t   cloak_email_addressesR}   (   R)   R{   t
   whitespacet   encoded(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   attval   s
    c         C   s   |  j  j r y5 t j d | d d  j   } |  j  j j |  WnD t k
 r } d | t | j	  f } |  j
 j j |  d | SX|  j | S|  j  j r t j |  j  j |  } n  |  j |  j |  S(   s8   Return code to reference or embed stylesheet file `path`t   source_pathR@   s   utf-8u!   Cannot embed stylesheet '%s': %s.s   <--- %s --->
(   R7   t   embed_stylesheetR   t	   FileInputR:   t   record_dependenciest   addt   IOErrorR   t   strerrorR+   RY   t   errort   embedded_stylesheett   stylesheet_pathR   t   relative_patht   _destinationt   stylesheet_linkR|   (   R)   Rx   t   contentt   errt   msg(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyR_   *  s    	s   
c      
   K   s  | j    } g  } i  } g  } x* | j   D] \ }	 }
 |
 | |	 j    <q+ Wg  } g  } x{ | j d g   | j d d  j   D]Q } | j d  r | j | d  q | j   r | | k r | j |  q q W| r | d | |  j <n  | rd j	 |  | d <n  d | k st
  | j | j d	 g    d	 | k r]| j | d	  | d	 =n  | r| d | d <xv | d
 D]g } | st | t j t j t j t j t j t j t j f  r| j d |  q|| d | 7} q|Wn  | j   } | j   | g } x | D] \ }	 }
 |
 d k	 s.t
  t |
 t  rg  |
 D] } t |  ^ qD} | j d |	 j    |  j d j	 |   f  q| j d |	 j    |  j t |
   f  qW| rd } n d } d j	 |  d d j	 |  | f | S(   s   
        Construct and return a start tag given a node (id & class attributes
        are extracted), tag name, and optional attributes.
        t   classest   classR?   s	   language-i	   i    R   t   idt   idsi   s   <span id="%s"></span>s   %s="%s"s    /s   <%s%s>N(   Rf   t   itemst   gett   popRd   t
   startswithR]   t   stript   lang_attributeRB   t   AssertionErrort   extendt
   isinstanceR   t   bullet_listR   t   definition_listt   enumerated_listt
   field_listt   option_listt   tablet   sortt   Nonet   listR9   R   (   R)   t   nodet   tagnamet   suffixt   emptyt
   attributest   prefixt   attsR   t   namet   valueR   R   t   clsR   t   attlistRH   t   vt   valuest   infix(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   starttag=  s^    /

	 	c         K   s   |  j  | | | d t | S(   s1   Construct and return an XML-compatible empty tag.R   (   R   Rj   (   R)   R   R   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   emptytag  s    i    c         C   sc   g  | D] } t  | t j  s | ^ q } y | | } Wn t k
 rM d SX| d j |  d S(   s   
        Set class `class_` on the visible child no. index of `node`.
        Do nothing if node has fewer children than `index`.
        NR   (   R   R   t	   Invisiblet
   IndexErrorR]   (   R)   R   t   class_t   indext   nt   childrent   child(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   set_class_on_child  s    +c         C   sV   | j    } |  j |  } |  j rB |  j j rB |  j |  } n  |  j j |  d  S(   N(   Ry   R|   Rt   R7   R   R   R   R]   (   R)   R   R{   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt
   visit_Text  s
    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_Text  s    c         C   s#   |  j  j |  j | d d   d  S(   Nt   abbrR?   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_abbreviation  s    c         C   s   |  j  j d  d  S(   Ns   </abbr>(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_abbreviation  s    c         C   s#   |  j  j |  j | d d   d  S(   Nt   acronymR?   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_acronym  s    c         C   s   |  j  j d  d  S(   Ns
   </acronym>(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_acronym  s    c         C   sB   |  j  | d d t |  j j |  j | d d d d d  d  S(   Nt   addressR    t   preR   R?   t   CLASS(   t   visit_docinfo_itemRl   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_address  s    c         C   s   |  j  j d  |  j   d  S(   Ns   
</pre>
(   R   R]   t   depart_docinfo_item(   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_address  s    c         C   s4   | d j  d d  |  j j |  j | d   d  S(   NR   i    t
   admonitiont   div(   t   insertR   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_admonition  s    c         C   s   |  j  j d  d  S(   Ns   </div>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_admonition  s    u   —R?   t   dasht   (t   )t   parenthesest   parenst   nonec         C   sR   |  j  |  j j \ } } |  j j |  |  j j |  j | d | d d  d  S(   Nt   pR   t   attribution(   t   attribution_formatsR7   R   Rg   R]   R   R   (   R)   R   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_attribution  s    	c         C   s!   |  j  j |  j j   d  d  S(   Ns   </p>
(   R   R]   Rg   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_attribution  s    c         C   s<   t  | j t j  s( |  j | d  n  |  j j d  d  S(   Nt   authors   <p>(   R   t   parentR   t   authorsR   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_author  s    c         C   sF   |  j  j d  t | j t j  r8 |  j  j d  n
 |  j   d  S(   Ns   </p>s   
(   R   R]   R   R   R   R   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_author  s    c         C   s   |  j  | d  d  S(   NR   (   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_authors  s    c         C   s   |  j    d  S(   N(   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_authors  s    c         C   s    |  j  j |  j | d   d  S(   Nt
   blockquote(   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_block_quote  s    c         C   s   |  j  j d  d  S(   Ns   </blockquote>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_block_quote  s    c         C   s@   t  |  j  } y | j |  Wn t j k
 r7 t SXt Sd S(   s7   Check for a simple list that can be rendered compactly.N(   t   SimpleListCheckerR+   t   walkR   t	   NodeFoundRl   Rj   (   R)   R   R,   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   check_simple_list  s    c         C   s   d | d k r t  Sd | d k r( t St | t j t j f  rT |  j j rT t St | t j t j	 f  r |  j j
 r t S|  j d g k r t  S|  j |  S(   Nt   compactR   R6   t   contents(   Rj   Rl   R   R   R   R   R7   t   compact_field_listsR   R   t   compact_listsRh   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   is_compactable  s    c         C   s   i  } |  j  } |  j j |  j  |  j f  d  |  _ |  j |  |  _  |  j  rc | rc d | d <n  |  j j |  j | d |   d  S(   Nt   simpleR   t   ul(   Rm   Rg   R]   Rk   R   R   R   R   (   R)   R   R   t   old_compact_simple(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_bullet_list  s    		c         C   s/   |  j  j   \ |  _ |  _ |  j j d  d  S(   Ns   </ul>
(   Rg   R   Rm   Rk   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_bullet_list  s    c         C   s)   |  j  j |  j | d d d d  d  S(   NR   R?   R   t   caption(   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_caption  s    c         C   s   |  j  j d  d  S(   Ns   </p>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_caption  s    c         C   s)   |  j  s% |  j j d  t |  _  n  d  S(   Ns   <dl class="citation">
(   Rq   R   R]   Rj   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_citation  s    	c         C   sT   |  j  j d  t | j d t d t  t j  sP |  j  j d  t |  _ n  d  S(   Ns   </dd>
t   descendt   siblingss   </dl>
(	   R   R]   R   t	   next_nodeRl   Rj   R   t   citationRq   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_citation$  s
    c      	   C   sy   d } d | k r# | | d 7} n' d | k rJ | |  j  j | d 7} n  |  j j |  j | d d d d d |  d  S(	   Nt   #t   refidt   refnamet   at   [R   s   citation-referencet   href(   R+   t   nameidsR   R]   R   (   R)   R   R  (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_citation_reference+  s    c         C   s   |  j  j d  d  S(   Ns   ]</a>(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_citation_reference6  s    c         C   s)   |  j  j |  j | d d d d  d  S(   Nt   spanR?   R   t
   classifier(   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_classifier=  s    c         C   s   |  j  j d  d  S(   Ns   </span>(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_classifier@  s    c         C   s3   |  j  j |  | j j j | j j d   d  S(   Nt   stub(   Ri   R]   R   t   stubsR   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_colspecC  s    c         C   s	  t  | j d t d t  t j  r( d  Sd | j j d k sf d |  j j k rj d | j j d k rj d  St	 d   |  j
 D  } |  j j |  j | d   xS |  j
 D]H } t | d d	 | d
  } |  j j |  j | d d d |  q W|  j j d  d  S(   NR  R  s   colwidths-autoR   s   colwidths-givenc         s   s   |  ] } | d  Vq d S(   t   colwidthN(    (   t   .0R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pys	   <genexpr>Q  s    t   colgroupR  g      Y@g      ?t   colt   styles   width: %i%%s   </colgroup>
(   R   R  Rl   Rj   R   t   colspecR   R7   t   table_stylet   sumRi   R   R]   R   Ra   R   (   R)   R   t   total_widthR  (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_colspecH  s    s   -(?=-)c         C   s0   |  j  j d | d | j     t j  d S(   s%   Escape double-dashes in comment text.s   <!-- %s -->
s   - N(   R   R]   Ry   R   t   SkipNode(   R)   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_commentY  s    #c         C   s   |  j  j |  j | d d d  t |  d k r | d d j d  | d d j d	  x) | d d !D] } | d j d
  ql Wn  d  S(   NR   R   t   compoundi   i    R   s   compound-firstis   compound-lasts   compound-middle(   R   R]   R   t   len(   R)   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_compound`  s    "c         C   s   |  j  j d  d  S(   Ns   </div>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_compoundh  s    c         C   s&   |  j  j |  j | d d d  d  S(   NR   R   s   docutils container(   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_containerk  s    c         C   s   |  j  j d  d  S(   Ns   </div>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_containern  s    c         C   s   |  j  | d d t d  S(   Nt   contactR    (   R   Rl   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_contactq  s    c         C   s   |  j    d  S(   N(   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_contactt  s    c         C   s   |  j  | d  d  S(   Nt	   copyright(   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_copyrightw  s    c         C   s   |  j    d  S(   N(   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_copyrightz  s    c         C   s   |  j  | d  d  S(   Nt   date(   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt
   visit_date}  s    c         C   s   |  j    d  S(   N(   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_date  s    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_decoration  s    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_decoration  s    c         C   s3   |  j  j d  |  j  j |  j | d d   d  S(   Ns   </dt>
t   ddR?   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_definition  s    c         C   s   |  j  j d  d  S(   Ns   </dd>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_definition  s    c         C   sQ   | j  d g   } |  j |  r1 | j d  n  |  j j |  j | d   d  S(   NR   R   t   dl(   t
   setdefaultR   R]   R   R   (   R)   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_definition_list  s    c         C   s   |  j  j d  d  S(   Ns   </dl>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_definition_list  s    c         C   s   | j  d g   | j d j  d g   | j d d <| j  d g   | j d j  d g   | j d d <| j  d g   | j d j  d g   | j d d <d  S(   NR   i    R   t   names(   R   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_definition_list_item  s    44c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_definition_list_item  s    c         C   s#   |  j  j |  j | d d   d  S(   NR4  R?   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_description  s    c         C   s   |  j  j d  d  S(   Ns   </dd>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_description  s    c         C   sa   |  j  j t |  j   d } |  j |  r; | d 7} n  |  j j |  j | d d |  d  S(   NR   s    simpleR7  R   (   Rg   R]   R$  R   R   R   (   R)   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_docinfo  s
    c         C   s<   |  j  j d  |  j j   } |  j  | |  _ g  |  _  d  S(   Ns   </dl>
(   R   R]   Rg   R   R   (   R)   R   t   start(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_docinfo  s    c         C   s   | r5 d | |  j  | j    f } |  j |  n  |  j j d | |  j j | f  |  j j |  j | d d d |  d  S(   Ns    <meta name="%s" content="%s" />
s   <dt class="%s">%s</dt>
R4  R?   R   (   R   Ry   t   add_metaR   R]   RZ   t   labelsR   (   R)   R   R   R    t   meta_tag(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyR     s    c         C   s   |  j  j d  d  S(   Ns   </dd>
(   R   R]   (   R)   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyR     s    c         C   s,   |  j  j |  j | d d d d d  d  S(   NR   R   R?   R   s   code python doctest(   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_doctest_block  s    c         C   s   |  j  j d  d  S(   Ns   
</pre>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_doctest_block  s    c         C   sO   | j  d d  p+ t j j | d  p+ d } |  j j d |  j |   d  S(   NR   R?   t   sources   docutils document without titles   <title>%s</title>
(   R   t   osRx   t   basenameR   R]   R|   (   R)   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_document  s    (c         C   s  |  j  j |  j |  j i |  j j d 6g  |  j j |  j  |  j j	 d |  j
 |  j j  |  j j	 d |  j
 |  j j  d d j |  j  k r |  j j d  n  |  j r |  j d k r |  j j |  j  q |  j j |  j  n  |  j j |  j d  |  j j |  j | d d	 d
  |  j j	 d d  |  j j |  j  |  j j |  j d |  j |  j |  j |  j d   |  j st d t |  j    d  S(   NRO   i    s   name="dcterms.R?   s<   <link rel="schema.dcterms" href="http://purl.org/dc/terms/">t   mathjaxi   R   R   R+   s   </div>
is   len(context) = %s(   R   R   t   doctypet   head_prefix_templateR7   RW   R"   R]   R    R   Rr   RD   R   RB   Rv   Rc   R   R#   R   R   R   R!   R   R&   R   R   Rg   R   R$  (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_document  s(      	
	"	.c         C   s#   |  j  j |  j | d d   d  S(   Nt   emR?   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_emphasis  s    c         C   s   |  j  j d  d  S(   Ns   </em>(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_emphasis  s    c         C   sJ  i g  d 6} t  | j j t j  r9 | d j d  n  | j j j j | j j ri | d j d  n  | d r d } d j | d  | d <n d } | d =| j j d 7_ d | k r | d d | d	 <n  d
 | k r
| d
 d | d <| j j | d
 7_ n  |  j j |  j	 | | d |   |  j
 j d | j    d  S(   NR   R   R  t   thR   t   tdi   t   morerowst   rowspant   morecolst   colspanR?   s   </%s>
(   R   R   R   t   theadR]   R  t   columnRB   R   R   Rg   Rf   (   R)   R   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_entry  s$    
"c         C   s   |  j  j |  j j    d  S(   N(   R   R]   Rg   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_entry  s    c         C   s   i  } d | k r# | d | d <n  d | k r@ | d | d <n  |  j  |  rr | j d d  d j   | d <n  |  j j |  j | d |   d  S(   NRA  t   enumtypeR   R?   s    simplet   ol(   R   R   R   R   R]   R   (   R)   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_enumerated_list  s    #c         C   s   |  j  j d  d  S(   Ns   </ol>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_enumerated_list  s    c         C   sH   d } |  j  |  r" | d 7} n  |  j j |  j | d d |  d  S(   Ns
   field-lists    simpleR7  R   (   R   R   R]   R   (   R)   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_field_list  s    c         C   s   |  j  j d  d  S(   Ns   </dl>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_field_list   s    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_field#  s    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_field&  s    c      	   C   s9   |  j  j |  j | d d d d j | j d   d  S(   Nt   dtR?   R   R   (   R   R]   R   RB   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_field_name+  s    c         C   s   |  j  j d  d  S(   Ns   </dt>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_field_name/  s    c      	   C   sU   |  j  j |  j | d d d d j | j d   | j sQ |  j  j d  n  d  S(   NR4  R?   R   R   s   <p></p>(   R   R]   R   RB   R   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_field_body2  s    	c         C   s   |  j  j d  d  S(   Ns   </dd>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_field_body9  s    c         C   s~   i d d 6} | j  d  r1 d | d | d <n  | j  d  r[ | d c d | d 7<n  |  j j |  j | d |   d  S(	   Nt   figureR   t   widths	   width: %sR  t   aligns    align-R   (   R   R   R]   R   (   R)   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_figure<  s    c         C   s   |  j  j d  d  S(   Ns   </div>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_figureD  s    c         C   s   |  j  j t |  j   d  S(   N(   Rg   R]   R$  R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_footerH  s    c         C   sy   |  j  j   } |  j | d d d d g } | j |  j |  | j d  |  j j |  | |  j d *|  j | 3d  S(   NR   R   R   s   <hr class="footer" />
s   
</div>
i    (   Rg   R   R   R   R   R]   R   R   (   R)   R   RA  R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_footerK  s    	c         C   s=   |  j  s9 d |  j j } |  j j d |  t |  _  n  d  S(   Ns	   footnote s   <dl class="%s">
(   Rq   R7   t   footnote_referencesR   R]   Rj   (   R)   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_footnoteZ  s    	c         C   sT   |  j  j d  t | j d t d t  t j  sP |  j  j d  t |  _ n  d  S(   Ns   </dd>
R  R  s   </dl>
(	   R   R]   R   R  Rl   Rj   R   t   footnoteRq   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_footnote`  s
    c      	   C   sM   d | d } d |  j  j } |  j j |  j | d d d | d |  d  S(   NR  R  s   footnote-reference R
  R?   R   R  (   R7   Rq  R   R]   R   (   R)   R   R  R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_footnote_referenceg  s    c         C   s   |  j  j d  d  S(   Ns   </a>(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_footnote_referencem  s    c         C   sR   d | d k rN | j    j d  } |  j j d |  j |   t j  n  d  S(   Nt   sectnumR   u    s    <span class="sectnum">%s</span> (   Ry   RC   R   R]   R|   R   R!  (   R)   R   Rw  (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_generatedq  s
    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_generated{  s    c         C   s   |  j  j t |  j   d  S(   N(   Rg   R]   R$  R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_header~  s    c         C   sy   |  j  j   } |  j | d d d g } | j |  j |  | j d  |  j j |  |  j j |  |  j | 3d  S(   NR   R   R   s   
<hr class="header"/>
</div>
(   Rg   R   R   R   R   R]   R   R   (   R)   R   RA  R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_header  s    s   application/x-shockwave-flashs   .swfc         C   s  i  } | d } t  j j |  d j   } | |  j k rY | | d <|  j | | d <n  | | d <| j d |  | d <d | k r | d | d <n  d | k r | d | d <n  d	 | k r(t rd | k o d | k r|  j j rt	 j
 |  } y% t j j | j t j     } Wn t t f k
 r7qX|  j j j | j d
 d   d | k r{d | j d | d <n  d | k rd | j d | d <n  ~ n  x d D]u } | | k rt j d | |  } | st  d t | j d   t | d	  d | j d  f | | <qqWn  g  }	 xh d  D]` } | | k r5t j d | |  rp| | c d 7<n  |	 j d | | | f  | | =q5q5W|	 rd j |	  | d <n  t | j t j   st | j t j!  rt | j j t j   rd }
 n d }
 d | k r(d | d | d <n  | |  j k rt|  j" j |  j# | d |
 |  | j d |  d |
  n" |  j" j |  j$ | d |
 |   d  S(!   NR~   i   t   datat   typet   srct   altRk  t   heightt   scales   \t   /s   %dpxi    s   ([0-9.]+)(\S*)$s   %s%sid   i   s	   ^[0-9.]+$t   pxs   %s: %s;R   R  R?   s   
Rl  s   align-%sR   t   objects	   </object>t   img(   Rk  R  (   Rk  R  (%   RI  Rx   t   splitextRf   t   object_image_typesR   R    R7   t   file_insertion_enabledt   urllibt   url2pathnamet   ImageR6   R|   t   syst   getfilesystemencodingR   t   UnicodeEncodeErrorR   R   R}   t   sizet   ret   matchR   t   floatt   groupR]   RB   R   R   R   t   TextElementt	   referenceR   R   R   (   R)   R   R   R~   t   extt	   imagepathR  t   att_nameR  R  R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_image  sn    


	$!		4c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_image  s    c         C   s#   |  j  j |  j | d d   d  S(   NR  R?   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_inline  s    c         C   s   |  j  j d  d  S(   Ns   </span>(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_inline  s    c         C   s   t  | j t j  r$ |  j j } n d } |  j j |  j | j d d d d  |  j j |  j | d d d |  |  j j	 r | j d } t
 |  d k r |  j j d	 | d
  q n  d  S(   Nt   bracketsRe  R?   R   t   labelR  t   backrefsi   s!   <a class="fn-backref" href="#%s">i    (   R   R   R   Rs  R7   Rq  R   R]   R   t   footnote_backlinksR$  (   R)   R   R   R  (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_label  s    (%c         C   s   |  j  j rA | j d } t |  d k rA |  j j d  qA n  |  j j d  |  j  j r t |  d k r g  t | d  D] \ } } d | | f ^ q } |  j j d d j |   n  |  j j d  d  S(	   NR  i   s   </a>s   </span>s   <a href="#%s">%s</a>s$   <span class="fn-backref">(%s)</span>t   ,s
   </dt>
<dd>(   R7   R  R   R$  R   R]   t	   enumerateRB   (   R)   R   R  t   it   reft	   backlinks(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_label  s    /c         C   s&   |  j  j |  j | d d d  d  S(   NR   R   t   legend(   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_legend  s    c         C   s   |  j  j d  d  S(   Ns   </div>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_legend  s    c         C   sK   |  j  j |  j | d d d d d  t |  sG |  j  j d  n  d  S(   NR   R   R?   R   t   lines   <br />(   R   R]   R   R$  (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt
   visit_line  s    (c         C   s   |  j  j d  d  S(   Ns   </div>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_line   s    c         C   s&   |  j  j |  j | d d d  d  S(   NR   R   s
   line-block(   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_line_block  s    c         C   s   |  j  j d  d  S(   Ns   </div>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_line_block  s    c         C   s#   |  j  j |  j | d d   d  S(   Nt   liR?   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_list_item	  s    c         C   s   |  j  j d  d  S(   Ns   </li>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_list_item  s    c         C   sV  | j  d g   } d | k rj g  | D] } | d k r% | ^ q% | d <|  j j |  j | d d   d  S|  j j |  j | d d d d  | j   } t | j t j  s | j	 d d  } n  xq |  j
 j |  D]] } | j   r|  j j |  r|  j j d	 |  j |   q |  j j |  j |   q W|  j j d
  t j  d  S(   NR   t   codeR?   R  R   s   docutils literals   
R   s   <span class="pre">%s</span>s   </span>(   R   R   R]   R   Ry   R   R   R   t   literal_blockR}   t   words_and_spacest   findallR   t   in_word_wrap_pointt   searchR|   R!  (   R)   R   R   R   R{   t   token(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_literal  s"    )	c         C   s   |  j  j d  d  S(   Ns   </code>(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_literal*  s    c         C   sT   |  j  j |  j | d d d d  d | j d g   k rP |  j  j d  n  d  S(   NR   R?   R   s   literal-blockR  R   s   <code>(   R   R]   R   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_literal_block.  s    %c         C   s?   d | j  d g   k r+ |  j j d  n  |  j j d  d  S(   NR  R   s   </code>s   </pre>
(   R   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_literal_block3  s    R   t   mathmlR  t   formulaR   t   mathRL  R   t   ttt   latexc         C   s  |  j  |  j k r8 |  j j j d |  j   d |  _  n  |  j |  j  | d k } |  j |  j  d } i d$ d 6d% d 6d& d
 6d' d 6} | |  j  | d k } |  j  d k r |  j s |  j d d k r d  } n  | j   j t	 j
  } | r*y | | | | f } Wq*t k
 r&| | } q*Xn  |  j  d( k rK|  j |  } n  |  j  d
 k r|  j ry |  j d |  _ Wn$ t k
 r|  j j j d  n Xd |  j k r|  j d 7_ n  |  j |  j g |  _ n|  j  d k ri|  j rE|  j rEg  |  j d j d  D]' } |  j t j | |  j j   ^ q|  _ n  | d k t j _ t j |  } n|  j  d k rud |  j k r|  j |  _ |  j |  _ n  d j |  j  j    }	 y |	 d k rt! j" | |  j j  } n |	 d k rt! j# | |  j j  } nc |	 d k r<t! j$ | d | d |  j j } n2 |	 s[t% j& | d | } n |  j j j d  Wqut' k
 rt' d   qut( k
 rq}
 |  j j j |
 d | } |  j) |  |  j* j+ |  j, | d   |  j* j+ d j |
 j-   |  j* j+ d  |  j* j+ |  j, | d d d  |  j* j+ |  j |   |  j* j+ d   |  j. |  t/ j0  quXn  | r|  j* j+ |  j, | | d! d" t1 |  d |  n  |  j* j+ |  | r|  j* j+ d"  n  | r|  j* j+ d# |  n  | r|  j* j+ d"  n  t/ j0  d  S()   Ns=   math-output format "%s" not supported falling back to "latex"R  R?   i   s   $%s$u   \begin{%s}
%s
\end{%s}R  R   s   \(%s\)RL  i    t	   blahtexmls@   No MathJax URL specified, using local fallback (see config.html)t   ?s   ?config=TeX-AMS_CHTMLR  s   XHTML 1R   t   latexmlt   ttmt   inlineRY   s3   option "%s" not supported with math-output "MathML"s   is "latexmlmath" in your PATH?t	   base_nodeR   u   ,s   </p>
R   R   s   literal-blocks   
</pre>
R   s   
s   </%s>(   s   $%s$u   \begin{%s}
%s
\end{%s}(   s   $%s$u   \begin{%s}
%s
\end{%s}(   s   \(%s\)u   \begin{%s}
%s
\end{%s}(   NN(   R  RL  (2   Rc   t	   math_tagsR+   RY   R   R   Re   Ry   R4   R
   t   uni2tex_tablet	   TypeErrorR|   Rv   t   mathjax_urlR   t   warningt   mathjax_scriptRd   R_   R   t   find_file_in_dirsR7   t   stylesheet_dirsR   t   DocumentParameterst   displaymodeRM  t   doctype_mathmlt   content_type_mathmlRr   RB   Rf   R   R  R  R  R   t
   tex2mathmlt   OSErrort   SyntaxErrort   visit_system_messageR   R]   R   t   argst   depart_system_messageR   R!  t   bool(   R)   R   t   math_envt   tagt   clsargt   wrapperst   wrappert	   math_codet   st	   converterR   t   err_node(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt
   visit_mathD  s    
	G		
c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_math  s    c         C   s)   t  | j    } |  j | d | d  S(   NR  (   R   Ry   R  (   R)   R   R  (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_math_block  s    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_math_block  s    c         C   s,   |  j  | d | j    } |  j |  d  S(   NR    (   R   t   non_default_attributesRC  (   R)   R   R    (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt
   visit_meta  s    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_meta  s    c         C   s$   |  j  j |  |  j j |  d  S(   N(   R    R]   R   (   R)   R  (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyRC    s    c         C   s)   |  j  j |  j | d d d d  d  S(   NR  R?   R   t   option(   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_option  s    c         C   sK   |  j  j d  t | j d t d t  t j  rG |  j  j d  n  d  S(   Ns   </span>R  R  s   , (   R   R]   R   R  Rl   Rj   R   R  (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_option  s    c         C   s?   |  j  j | j d d   |  j  j |  j | d d   d  S(   Nt	   delimiterR   t   varR?   (   R   R]   R   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_option_argument  s    c         C   s   |  j  j d  d  S(   Ns   </var>(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_option_argument  s    c         C   s3   |  j  j |  j | d d   |  j  j d  d  S(   NRe  R?   s   <kbd>(   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_option_group  s    c         C   s   |  j  j d  d  S(   Ns   </kbd></dt>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_option_group  s    c         C   s&   |  j  j |  j | d d d  d  S(   NR7  R   s   option-list(   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_option_list  s    	c         C   s   |  j  j d  d  S(   Ns   </dl>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_option_list  s    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_option_list_item  s    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_option_list_item  s    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_option_string  s    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_option_string  s    c         C   s   |  j  | d  d  S(   Nt   organization(   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_organization  s    c         C   s   |  j    d  S(   N(   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_organization  s    c         C   s#   |  j  j |  j | d d   d  S(   NR   R?   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_paragraph   s    c         C   sZ   |  j  j d  t | j t j t j f  o@ t | j  d k sV |  j  j d  n  d  S(   Ns   </p>i   s   
(   R   R]   R   R   R   t	   list_itemt   entryR$  (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_paragraph  s    c         C   ss   | j  d  r: |  j j d | d  |  j j d  n |  j j d  |  j j |  j | d d d d  d  S(   NR  s   <a href="#%s">s   </a>R?   R  R   t   problematic(   t   hasattrR   R]   Rg   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_problematic	  s
    c         C   s-   |  j  j d  |  j  j |  j j    d  S(   Ns   </span>(   R   R]   Rg   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_problematic  s    c         C   s   d | j  d d  j   k r t | j t j  r9 d p< d } | d rn |  j j |  j | | d d  n  |  j j | j	    | d r |  j j d |  q n  t j
  d  S(	   NR   t   formatR?   R  R   R   R   s   </%s>(   R   Rd   R   R   R   R  R   R]   R   Ry   R!  (   R)   R   t   t(    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt	   visit_raw  s    !
%
c         C   s2  i d d 6} d | k r| | d | d <|  j  j ri | d j d  ri |  j | d  | d <t |  _ n  | d c d 7<n: d | k s t d   d	 | d | d <| d c d
 7<t | j t	 j
  st |  d k r t | d t	 j  s t  | d c d 7<n  |  j j |  j | d d |   d  S(   NR  R   t   refuriR  s   mailto:s	    externalR  s3   References must have "refuri" or "refid" attribute.R  s	    internali   i    s    image-referenceR
  R?   (   R7   R   R   R   Rj   Rt   R   R   R   R   R  R$  t   imageR   R]   R   (   R)   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_reference   s     	.c         C   sE   |  j  j d  t | j t j  s8 |  j  j d  n  t |  _ d  S(   Ns   </a>s   
(   R   R]   R   R   R   R  Rl   Rt   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_reference3  s    c         C   s   |  j  | d d t d  S(   Nt   revisionR    (   R   Rl   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_revision9  s    c         C   s   |  j    d  S(   N(   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_revision<  s    c         C   s,   |  j  j |  j | d d   d | _ d  S(   Nt   trR?   i    (   R   R]   R   RZ  (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt	   visit_row?  s    c         C   s   |  j  j d  d  S(   Ns   </tr>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt
   depart_rowC  s    c         C   s)   |  j  j |  j | d d d d  d  S(   NR   R?   R   t   rubric(   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_rubricF  s    c         C   s   |  j  j d  d  S(   Ns   </p>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_rubricI  s    c         C   s5   |  j  d 7_  |  j j |  j | d d d  d  S(   Ni   R   R   t   section(   R`   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_sectionM  s    	c         C   s#   |  j  d 8_  |  j j d  d  S(   Ni   s   </div>
(   R`   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_sectionR  s    c         C   s/   |  j  j |  j | d d d  t |  _ d  S(   NR   R   t   sidebar(   R   R]   R   Rj   Rp   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_sidebarW  s    	c         C   s   |  j  j d  t |  _ d  S(   Ns   </div>
(   R   R]   Rl   Rp   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_sidebar\  s    c         C   s   |  j  | d d t d  S(   Nt   statusR    (   R   Rl   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_status`  s    c         C   s   |  j    d  S(   N(   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_statusc  s    c         C   s#   |  j  j |  j | d d   d  S(   Nt   strongR?   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_strongf  s    c         C   s   |  j  j d  d  S(   Ns	   </strong>(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_strongi  s    c         C   s#   |  j  j |  j | d d   d  S(   NR   R?   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_subscriptl  s    c         C   s   |  j  j d  d  S(   Ns   </sub>(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_subscripto  s    c         C   s   t  j  d S(   s   Internal only.N(   R   R!  (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_substitution_definitionr  s    c         C   s   |  j  |  d  S(   N(   t   unimplemented_visit(   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_substitution_referencev  s    c         C   s   t  | j t j  r d } nR t  | j t j  rR d } t |  j  d |  _ n t  | j t j  rp d } n  |  j j	 |  j
 | d d d |  d  S(   Ns   sidebar-subtitleR   i   s   section-subtitleR   R?   R   (   R   R   R   R  R+   R$  R   Rs   R  R]   R   (   R)   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_subtitle}  s    		c         C   sx   |  j  j d  t | j t j  rt |  j  |  j d !|  _ d |  _ |  j j	 |  j   |  j
 j	 |  j   |  j  2n  d  S(   Ns   </p>
ii    (   R   R]   R   R   R   R+   Rs   R   R   R   R%   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_subtitle  s    	c         C   s#   |  j  j |  j | d d   d  S(   Nt   supR?   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_superscript  s    c         C   s   |  j  j d  d  S(   Ns   </sup>(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_superscript  s    c         C   s+  |  j  j |  j | d d d  |  j  j d  d } t | d  r | d } t |  d k ru d | d	 } q d } g  } x/ | D]' } | j d
 | | f  | d 7} q Wd d j |  } n  | j d  r d | d } n d } |  j  j d | d | d |  j | d  | | f  d  S(   NR   R   s   system-messages    <p class="system-message-title">R?   R  i   s%   ; <em><a href="#%s">backlink</a></em>i    s   <a href="#%s">%s</a>s   ; <em>backlinks: %s</em>s   , R  s	   , line %ssI   System Message: %s/%s (<span class="docutils literal">%s</span>%s)%s</p>
R}  t   levelRH  (   R   R]   R   R$  RB   R  R|   (   R)   R   t   backref_textR  R  R  t   backrefR  (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyR    s*    "
c         C   s   |  j  j d  d  S(   Ns   </div>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyR    s    c         C   s   i  } g  |  j  j j d  D] } | j d  ^ q } d | k r[ | j d | d  n  d | k r| d | d | d <n  |  j | d d	 d
 j |  | } |  j j |  d  S(   NR  u    	
Rl  s   align-%sRk  s	   width: %sR  R   R   R   (   R7   R  Rd   R   R]   R   RB   R   (   R)   R   R   R   R   R  (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_table  s    .$c         C   s   |  j  j d  d  S(   Ns	   </table>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_table  s    c         C   sp   d | k p! d | k p! d | k s\ |  j  j |  j | d d d d  |  j j d  n |  j j d  d  S(	   NR	  R  R	  R  R?   R   t   targets   </span>(   R   R]   R   Rg   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_target  s
    %c         C   s   |  j  j |  j j    d  S(   N(   R   R]   Rg   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_target  s    c         C   s    |  j  j |  j | d   d  S(   Nt   tbody(   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_tbody  s    c         C   s   |  j  j d  d  S(   Ns	   </tbody>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_tbody  s    c         C   s#   |  j  j |  j | d d   d  S(   NRe  R?   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt
   visit_term  s    c         C   s   d S(   sg   
        Leave the end tag to `self.visit_definition()`, in case there's a
        classifier.
        N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_term  s    c         C   s   g  |  _  g  | _ d  S(   N(   Ri   R  (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_tgroup  s    	c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_tgroup  s    c         C   s    |  j  j |  j | d   d  S(   NRY  (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_thead  s    c         C   s   |  j  j d  d  S(   Ns	   </thead>
(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_thead  s    c         C   sr  d } d } t  | j t j  rI |  j j |  j | d d d d  nt  | j t j  r |  j j |  j | d d d d  nt  | j t j  r |  j j |  j | d d d d  nt  | j t j	  r |  j j |  j | d	 d   d
 } n^t  | j t j
  rU|  j j |  j | d d d d  d } t |  j  |  _ n	t  | j t j  spt  |  j |  j d } i  } t | j  d k rt  | j d t j  rd | d <n  |  j j |  j | d | d |   i  } | j d  rd | d <d | d | d <n  | rT|  j j |  j i  d d |   d | } n
 d | } |  j j |  d S(   s,   Only 6 section levels are supported by HTML.i    s   </p>
R   R?   R   s   topic-title firsts   sidebar-titles   admonition-titleR   s   </caption>
t   h1R   s   </h1>
i   i   s   with-subtitles   h%sR  s   toc-backrefR   R  R  R
  s   </a></h%s>
s   </h%s>
N(   R   R   R   t   topicR   R]   R   R  t
   AdmonitionR   R+   R$  Rs   R  R   R`   Rb   R   R  Rg   (   R)   R   t   check_idt	   close_tagt   h_levelR   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_title  sH    					%	
"
c         C   su   |  j  j |  j j    |  j rq |  j  |  j d !|  _ d |  _ |  j j |  j   |  j j |  j   |  j  2n  d  S(   Nii    (	   R   R]   Rg   R   Rs   R   R   R   R$   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_title  s    		c         C   s#   |  j  j |  j | d d   d  S(   Nt   citeR?   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_title_reference  s    c         C   s   |  j  j d  d  S(   Ns   </cite>(   R   R]   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_title_reference  s    c         C   s3   |  j  j |  j | d d d  | d |  _ d  S(   NR   R   R>  R   (   R   R]   R   Rh   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_topic#  s    "c         C   s   |  j  j d  g  |  _ d  S(   Ns   </div>
(   R   R]   Rh   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_topic)  s    c         C   s&   |  j  j |  j | d d d  d  S(   Nt   hrR   RE   (   R   R]   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_transition.  s    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_transition1  s    c         C   s   |  j  | d d t d  S(   NRA   R    (   R   Rl   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   visit_version4  s    c         C   s   |  j    d  S(   N(   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   depart_version7  s    c         C   s   t  d | j j   d  S(   Ns$   visiting unimplemented node type: %s(   t   NotImplementedErrort	   __class__R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyR%  :  s    N(   u   —R?   (   R   R   (   R   R   (   R?   R?   (   R   R?   R?   (   R   R  R  (   R   R  R  (   R   R  R  (   R   R   t   __doc__R\   RM  R  RN  Rr   R[   R  R  R   R   R  t   compileR  t   UR  R   t   ordRz   RV   Ry   R|   R   R   R   R_   Rl   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R  R  R  R  R  R  R   R   R"  R%  R&  R'  R(  R*  R+  R-  R.  R0  R1  R2  R3  R5  R6  R9  R:  R<  R=  R>  R?  R@  RB  Rj   R   R   RF  RG  RK  RO  RQ  RR  R[  R\  R_  R`  Ra  Rb  Rc  Rd  Rf  Rg  Rh  Ri  Rm  Rn  Ro  Rp  Rr  Rt  Ru  Rv  Rx  Ry  Rz  R{  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  RC  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R   R!  R"  R#  R$  R&  R'  R(  R*  R+  R  R  R/  R0  R2  R3  R5  R6  R7  R8  R9  R:  R;  R<  RC  RD  RF  RG  RH  RI  RK  RL  RM  RN  R%  (    (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyRN   b   s  8	;							D									

											
																																													
																		
			
	A																	

e																																														
																			)										R   c           B   s   e  Z d  Z d   Z d   Z d   Z d   Z e Z e Z e Z	 e Z
 e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z  e Z! RS(   s  
    Raise `nodes.NodeFound` if non-simple list item is encountered.

    Here "simple" means a list item containing nothing other than a single
    paragraph, a simple list, or a paragraph followed by a simple list.

    This version also checks for simple field lists and docinfo.
    c         C   s   t  j  d  S(   N(   R   R   (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   default_visitJ  s    c         C   s   g  | j  D] } t | t j  s
 | ^ q
 } | r t | d t j  r t | d t j  s t | d t j  s t | d t j  r | j   n  t	 |  d k r d  St j
  d  S(   Ni    ii   (   R   R   R   R   t	   paragraphR   R   R   R   R$  R   (   R)   R   R   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyR  M  s    c         C   s   d  S(   N(    (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt	   pass_node^  s    c         C   s   t  j  d  S(   N(   R   R!  (   R)   R   (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   ignore_nodea  s    ("   R   R   RQ  RU  R  RW  RX  R   R  R   R_  R@  R   R   R   R*  R-  R0  R  R  RM  R9  R<  R7  R  R5  Ra  Rc  Rh  Rf  R"  R$  R2  t   visit_pending(    (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyR   ?  s@   					(!   RQ  R  t   os.pathRI  R  R  t	   PIL.ImageR    t   ImportErrorR  R  R   RE   R   R   R   R   R   t   docutils.utils.error_reportingR   t   docutils.transformsR	   t   docutils.utils.mathR
   R   R   R   R   R   RU   RN   t   GenericNodeVisitorR   (    (    (    s:   lib/python2.7/site-packages/docutils/writers/_html_base.pyt   <module>   s4   ((7     