z]c@sdZdZddlZddlZddlZddlZddlZddlmZddl Z ddl Z ddl Z ddl Z ddl Z yddlZWnek rnXddl mZmZmZmZmZddlmZddlmZeejedfko-ejjd krcdd lmZdd lmZdd l m!Z!n&dd lmZdd l"mZm!Z!dZ#e j$Z%dZ&yedWnek r2yddl'm(Z)dZ&WnQek r.yddl*m(Z)dZ&Wn#ek r*dZ+ee+nXnXnXy]ddl,Z,ddl-Z,ejjd kryddl.m/Z/m0Z0nddl.m/Z/m0Z0Wnee1fk re2Z,nXyddl3Z4WnZek ry/ddl5Z5de6fdYZ4e5e4_5Wnek re2Z4nXnXe&dkrddl7Z7e7j8Z9e:e)j;er_e)j;Z<n e)j<Z<de<fdYZ=ne j>dZ?e j>dZ@e j>dZAe j>dZBdZCdeCZDd d!d"d#d$fZEd%ZFd&ZGid'd(6d)d*6d+d,6d-d.6d/d06d1d26d3d46d5d66d7d86d9d:6eGd;6d<d=6d>d?6d@dA6dBdC6dDdE6dFdG6dHdI6dJdK6dLdM6dNdO6dPdQ6dRdS6dTdU6ZHZIid'd(6d)d*6d+d,6d-d.6d/d06d1d26d3d46d5d66d7d86d9d:6eGd;6dBdC6d<d=6d>d?6d@dA6dDdE6dFdG6dHdI6dJdK6dLdM6dPdQ6ZJZKidVdW6ZLZMid)d*6d7d86eGd;6d<d=6dPdQ6ZNZOid'dX6d)dY6d+dZ6d-d[6d/d\6d1d]6d3d^6d5d_6d7d`6d9da6eGdb6dBdc6d<dd6d>de6d@df6dDdg6dFdh6dHdi6dJdj6dLdk6dNdl6dPdm6dRdn6dTdo6ZPid'dX6d)dY6d+dZ6d-d[6d/d\6d1d]6d3d^6d5d_6d7d`6d9da6eGdb6dBdc6d<dd6d>de6d@df6dDdg6dFdh6dHdi6dJdj6dLdk6dPdm6ZQidVdp6ZRid)dY6d7d`6eGdb6d<dd6dPdm6ZSe2e2eIdqZ;e2e2eIdrZTdsZUeIdtZVduZWdvZXe j>dwZYdxZZdye6fdzYZ[e[d d{Z\d|e6fd}YZ]d~ej^fdYZ^dej_fdYZ`dejafdYZadS(s% Open Document Format (ODF) Writer. treStructuredTextiN(tminidom(tfrontendtnodestutilstwriterst languages(t standalone(t referencesii(tStringIO(turlopen(t HTTPError(R R s1.0ats Ignoring lxml(t ElementTreet elementtreesmMust install either a version of Python containing ElementTree (Python version >=2.5) or install ElementTree.i(tOdtPygmentsProgFormattertOdtPygmentsLaTeXFormattertPILcBseZRS((t__name__t __module__(((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRVst_ElementInterfaceWrappercBs&eZddZdZdZRS(cCs!tj|||dt|&s   cCs|dkri}nt|||\}}tdkrWtj|||d|}n)t||}|j||j||S(NR9R:(RR;R<R=t SubElementRtappendR(RRRR:R?R@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRA1s     cCs[t||}i}x9t|jD]%\}}t||}|||s cCsftdkrb|jd\}}|j|}|dkrOtd|nd||f}n|S(NR9t:sInvalid namespace prefix: %ss{%s}%s(R<tsplittgetRt RuntimeError(RR?RFtnametns((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRCGs  cCsUt}tjdkr.|j|ddn |j||j}|j|S(Niitencodingtunicode(ii(R tsyst version_infotwritetgetvaluetclose(tett outstreamts1((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytToStringQs    cCs|jdd}|jdd}|jdd}d}xJ|D]B}t|tdkr{|d t|f7}qC||7}qCW|S( Nt&s&ts>R ss&#x%X;(treplacetord(R3tasciitchar((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt escape_cdata\s s \b(\w*)\b\W*cCsz|d7}g}d}tj||}xK|dk ru|jd}|j||j}tj||}q+W|S(Nt i(tWORD_SPLIT_PAT1tsearchRtgroupsRBtend(tlinetwordstpos1tmotword((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt split_wordsls   t TableStylecBsYeZdddZdZdZeeeZdZdZ eee Z RS(cCs||_||_dS(N(Rtbackgroundcolor(RRRp((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRs cCs|jS(N(tborder_(R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt get_border_scCs ||_dS(N(Rq(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt set_border_scCs|jS(N(tbackgroundcolor_(R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytget_backgroundcolor_scCs ||_dS(N(Rt(RRp((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytset_backgroundcolor_sN( RRRRRrRstpropertyRRuRvRp(((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRos    s0.0007in solid #000000t ListLevelcBsMeZeedZdZdZdZdZdZdZ RS(cCs||_||_||_dS(N(tlevelt sibling_levelt nested_level(RRyRzR{((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRs  cCs ||_dS(N(Rz(RRz((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt set_siblingscCs|jS(N(Rz(R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt get_siblingscCs ||_dS(N(R{(RR{((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt set_nestedscCs|jS(N(R{(R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt get_nestedscCs ||_dS(N(Ry(RRy((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt set_levelscCs|jS(N(Ry(R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt get_levels( RRtTrueRR|R}R~RRR(((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRxs     tWritercBseZdZdZdLZdeZejej j ej dej j ej j e eZdZejej j ej dej j ej j e eZddMdedgied 6d d 6fd d gidd6fddgied 6dd6dd 6ejd6fddgied 6dd6dd 6ejd6fddgidMd 6ejd6fddgied 6dd6dd 6ejd6fddgied 6dd6dd 6ejd6fd d!gied 6dd6d"d 6ejd6fd#d$gied 6dd6d"d 6ejd6fd%d&gied 6dd6d'd 6ejd6fd(d)gied 6dd6d'd 6ejd6fd*d+gied 6dd6d,d 6ejd6fd-d.gied 6dd6d,d 6ejd6fd/d0gied 6dd6d1d 6ejd6fd2d3gied 6dd6d1d 6ejd6fd4d5gid6d 6d7d 6fd8d9gid6d 6d:d 6fffZid;d<6ZdNZd>ZdOZd@ZdAZdBZdCZe j!dDZ"dEZ#dFZ$dGZ%dHZ&dIZ'dJZ(dKZ)RS(Ps'application/vnd.oasis.opendocument.texts.odttodttstylestdummys template.txtsODF-Specific Optionss$Specify a stylesheet. Default: "%s"s --stylesheettdefaultt stylesheettdests}Specify a configuration/mapping file relative to the current working directory for additional ODF options. In particular, this file may contain a section named "Formats" that maps default style names to names to be used in the resulting output file allowing for adhering to external standards. For more info and the format of the configuration/mapping file, see the odtwriter doc.s--odf-config-filestmetavarsyObfuscate email addresses to confuse harvesters while still keeping email links usable with standards-compliant browsers.s--cloak-email-addressest store_truetactiontcloak_email_addressest validators!Do not obfuscate email addresses.s--no-cloak-email-addressest store_falsesLSpecify the thickness of table borders in thousands of a cm. Default is 35.s--table-border-thicknesss/Add syntax highlighting in literal code blocks.s--add-syntax-highlightingtadd_syntax_highlightings@Do not add syntax highlighting in literal code blocks. (default)s--no-syntax-highlightings'Create sections for headers. (default)s--create-sectionstcreate_sectionss#Do not create sections for headers.s --no-sectionss Create links.s--create-linkst create_linkssDo not create links. (default)s --no-linkssFGenerate endnotes at end of document, not footnotes at bottom of page.s--endnotes-end-doctendnotes_end_docsPGenerate footnotes at bottom of page, not endnotes at end of document. (default)s--no-endnotes-end-docsPGenerate a bullet list table of contents, not an ODF/oowriter table of contents.s--generate-list-toctgenerate_oowriter_tocsHGenerate an ODF/oowriter table of contents, not a bullet list. (default)s--generate-oowriter-tocsSpecify the contents of an custom header line. See odf_odt writer documentation for details about special field character sequences.s--custom-odt-headerR t custom_headersSpecify the contents of an custom footer line. See odf_odt writer documentation for details about special field character sequences.s--custom-odt-footert custom_footertxmlcharrefreplacetoutput_encoding_error_handlertstylesheet_pathsodf_odt writerRcCstjj|t|_dS(N(RRRt ODFTranslatorttranslator_class(R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyROscCsu|jj|_|j|j|_|jj|j|jj|j|jj|j|j d|_ dS(Ntwhole( tdocumenttsettingsRtvisitortretrieve_stylest EXTENSIONt walkaboutt add_doc_titletassemble_my_partstpartstoutput(R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt translateSs  cCstjj|tj}tj|dtj}|j|d|j dtj |j j }|j|d||j }|j|d||j}|j|d||j}d}d}|j jr |j jjdd}|jd}|d j}xV|d D]J}t|d krM|jrM|j}Pqt|d krPqqW|dkr ytj|} Wntk r|} nX| jd} t| d kr| d jd } | d }n|dkr|jjjd qq n|j|j j||\} } } | rHt j!| }n|j|d||j"||j#||j$|j%d |j&} |j$| |j'd<|jj(j)|j'd{urn:oasis:names:tc:opendocument:xmlns:style:1.0}default-styles1Cannot find 'default-style' element in styles.xmls7{urn:oasis:names:tc:opendocument:xmlns:style:1.0}familyt paragraphtgraphics@{urn:oasis:names:tc:opendocument:xmlns:style:1.0}text-propertiess3Cannot find 'text-properties' element in styles.xmlsE{urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0}languagesA{urn:oasis:names:tc:opendocument:xmlns:style:1.0}language-complexsD{urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0}countrys@{urn:oasis:names:tc:opendocument:xmlns:style:1.0}country-complexN( tFalsetsetRtfindRNtfindallRRMRtadd( Rtstylesheet_rootRRRtmodified_nodestn1tn2_nodestnodetfamilytn3((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRsB                  cCsMtjtj}tj||}d|_||_|j||dS(NiiiiI(ttimet localtimeRtZipInfot external_attrRtwritestr(RRROtbytesRRtzinfo((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRs   cCs~|jj}xh|D]`\}}|dkr4qny|j||Wqtk ru|jjjd|fqXqWdS(NsCan't open file %s.(Rtget_embedded_file_listRRUtOSErrorRRR(RRtembedded_filestsourcet destination((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRs   cCs;|jj}tj|d}|jd}|j|S(s. modeled after get_stylesheet trs settings.xml(RRRRRRW(Rt stylespathRRZ((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt get_settingss   cCs|jj}|S(sXGet the stylesheet from the visitor. Ask the visitor to setup the page. (Rt setup_page(RRZ((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRscCs|jj}tj|d}|jd}|j|d||j}x?|D]7}|jdrS|j|}|j||qSqSW|j dS(sLCopy images, settings, etc from the stylesheet doc into target doc. Rs settings.xmls Pictures/N( RRRRRRtnamelistt startswithRRW(Rt outzipfileRt inzipfileRZRROtimageobj((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRs   cCsdS(N((R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRscCsBtdkr'tddtdt}ntddtdt}tj|}t|ddi|jd6dd 6dtt|ddid d6d d 6dtt|ddid d6d d 6dtt|ddid d6d d 6dtt|ddid d6dd 6dtt |}t j |}|j d}|S(NR9smanifest:manifestR:R?Rsmanifest:file-entrysmanifest:media-typet/smanifest:full-pathstext/xmls content.xmls styles.xmls settings.xmlsmeta.xmls ( R<R>tMANIFEST_NAMESPACE_DICTtMANIFEST_NAMESPACE_ATTRIBR=R RARtMANNSDR[Rt parseStringt toprettyxml(RtroottdocRZ((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyR sD          c Csztdkr'tddtdt}ntddtdt}tj|}t|ddt}t|ddt}dtf|_ t j j d d }t|d dt}||_ t jd t j}t|d dt}||_ t|ddt}||_ t|ddt}||_ t|ddt}d|_ t|ddt}d|_ t|ddt}d|_ |jj}t|ddt}|r||_ n d|_ |jj}|j d}|dk r.t|} x/| D]$} t|ddt}| |_ qWn|j d} | dk rjt|ddt}| |_ nt|}|S(NR9soffice:document-metaR:R?Rs office:metasmeta:generatorsDocutils/rst2odf.py/%stUSERR smeta:initial-creators%Y-%m-%dT%H:%M:%Ssmeta:creation-dates dc:creatorsdc:dates dc:languagesen-USsmeta:editing-cyclest1smeta:editing-durationtPT00M01Ssdc:titles [no title]tkeywordss meta:keywordt descriptionsdc:description(R<R>tMETA_NAMESPACE_DICTtMETA_NAMESPACE_ATTRIBR=R RAtMETNSDtVERSIONR3tostenvironRMRtstrftimeRRt get_titlet get_meta_dictRRnR[( RRRtel1RZts2ttitlet meta_dictt keywordstrRtkeywordR ((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyR2s^                  (RN(R(R(*RRRRt supportedtdefault_stylesheetRt relative_pathRtpathtjointgetcwdtdirnamet__file__tdefault_stylesheet_pathtdefault_templatetdefault_template_pathRRRtvalidate_booleantvalidate_nonnegative_intRt settings_spectsettings_defaultstrelative_path_settingstconfig_sectiontconfig_section_dependenciesRRRRRRRRRRRRRR(((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRs $$                                   E 3    'Rc[Bs2 eZdXZd[Zd\Zd]Zd^Zd_Zd`ZdaZ dbZ dYdcZ ddZ deZ dfZdgZdhZeedi\ZZZejdjZdkZdlZdmZdnZdoZdpZdqZdrZ dsZ!dtZ"duZ#dZdZdvZ%dZdwZ&dxZ'dyZ(dzZ)d{Z*d|Z+d}Z,d~Z-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6dZ7dZ8dZ9dZ:dZ;dZ<dZ=dZ>dZ?dZ@dZAdZBdZCdZDdZEdZFdZGdZHdZIdZJdZKdZLdZMdZNdZOdZPdZQdZRdZSdZTdZUdZVdZWdZXdZYdZZdZ[dZ\dZ]dZ^dZ_dZ`dZadZbdZcdZddZedZfdZgdZhdZidZjdZkdZldZmdZndZodZpdZqdZrdZsdZtdZudZvdZwdZxdZydZzdddddddddg Z{dZ|dZ}dZ~dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZeZeZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZddZdZdZdZdZdZd Zd!Zd"Zd#Zd$Zd%Zd&Zd'Zd(Zd)Zd*Zd+Zd,Zd-Zd.Zd/Zd0Zd1Zd2Zdd0d3Zd4Zdd5Zd6Zd7Zd8Zd9Zd:Zd;Zd<Zd=Zd>Zd?Zd@ZdAZdBZdCZdDZeZdEZeZdFZeZdGZeZdHZeZdIZeZdJZeZdKZeZdLZeZdZdMZdNZdOZdPZdQZdRZdSZdTZdUZdVZdWZRS([t attributiont blockindentt blockquotesblockquote-bulletitemsblockquote-bulletlistsblockquote-enumitemsblockquote-enumlistt bulletitemt bulletlisttcaptiontlegendtcenteredtextbodyt codeblockscodeblock-indentedscodeblock-classnamescodeblock-commentscodeblock-functionnamescodeblock-keywordscodeblock-namescodeblock-numberscodeblock-operatorscodeblock-stringtemphasistenumitemtenumlisttepigraphsepigraph-bulletitemsepigraph-bulletlistsepigraph-enumitemsepigraph-enumlisttfootertfootnotetcitationtheadert highlightsshighlights-bulletitemshighlights-bulletlistshighlights-enumitemshighlights-enumlistthorizontallinet inlineliteralt quotationtrubrictstrongs table-titlettextbodyt tocbulletlistt tocenumlistRtsubtitletheading1theading2theading3theading4theading5theading6theading7sadmon-attention-hdrsadmon-attention-bodysadmon-caution-hdrsadmon-caution-bodysadmon-danger-hdrsadmon-danger-bodysadmon-error-hdrsadmon-error-bodysadmon-generic-hdrsadmon-generic-bodysadmon-hint-hdrsadmon-hint-bodysadmon-important-hdrsadmon-important-bodysadmon-note-hdrsadmon-note-bodys admon-tip-hdrsadmon-tip-bodysadmon-warning-hdrsadmon-warning-bodyt tableoptionstableoption.%cstableoption.%c%dsTable%ds Table%d.%cs Table%d.%c%dt lineblock1t lineblock2t lineblock3t lineblock4t lineblock5t lineblock6timaget figureframecCsstjj|||j|_|jj|_tj|j|j|_i|_ |jj rddl m }|}|j |jj x|jdD]p\}}||jkr|jjjd|fntjjdkr||j |d|_?i|_@g|_Ad|_Bd|_Cg|_Dt+|_Et+|_Fg|_Gi|_Hd|_Id|_Jd|_Kd|_Ld|_Md|_Nd|_Od|_Pt+|_Qg|_RdS(Ni(t ConfigParsertFormatss,Style "%s" is not a style used by odtwriter.isutf-8iR9soffice:document-contentR:Rtelementsoffice:scriptssoffice:font-face-declssoffice:automatic-styless office:bodyRBtAitpythonR (SRtGenericNodeVisitorRRRRt get_languageRtlanguaget format_maptodf_config_filet configparserRVRREt used_stylesRRRSRTtmajortdecodet section_levelt section_countR<R>tCONTENT_NAMESPACE_DICTtCONTENT_NAMESPACE_ATTRIBR=R t content_treetcurrent_elementRAtautomatic_stylestgenerate_content_elementtbody_text_elementtrststyletparagraph_style_stacktlist_style_stackt table_countR`t column_countt trace_levelRtoptiontablestyles_generatedRt field_namet field_elementRt image_counttimage_style_countt image_dicttembedded_file_listtsyntaxhighlightingtsyntaxhighlight_lexertheader_contenttfooter_contentt in_headert in_footert blockstyletin_table_of_contentsttable_of_content_index_bodyt list_leveltdef_list_leveltfootnote_ref_dictt footnote_listtfootnote_chars_idxtfootnote_levelt pending_idst in_paragraphtfound_doc_titletbumped_list_level_stackRtline_block_leveltline_indent_levelt citation_idt style_indextstr_stylesheettstr_stylesheetcontenttdom_stylesheett table_stylest in_citationtinline_style_count_stack(RRRVtparserRmtformatRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRs                                                        cCs|jS(N(R(R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytget_str_stylesheetscCs d}|jj}tjj|d}|dkr\t|d}|j}|jn_||krt j |d}|jd}|jd}|jnt d||f||_ ||_ tj|j |_tj|j |_|j||_dS(s|Retrieve the stylesheet from either a .xml file or from a .odt (zip) file. Return the content as a string. is.xmlRs styles.xmls content.xmls,stylesheet path (%s) must be %s or .xml fileN(RRRRRtsplitexttopenRRWRRRNRRR=t fromstringRtdom_stylesheetcontenttextract_table_stylesR(Rt extensionRRtextt stylesfileRZR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRs(        c Cstj|}i}|jdtdf}xa|D]Y}|jdtdf}|jdd}|jdtdf}|jtr6|j|} | dkrt } | ||RmR3Rltinserttfind_first_text_pRtattach_page_style(RR3R@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyREs      cCsp|jdks|jdkr"|S|jrhx3|jD]%}|j|}|dk r;|Sq;WdSdSdS(sHSearch the generated doc and return the first element. stext:pstext:hN(Rt getchildrenRR(RR@tchildR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRSs  cCsu|jd}d}t|jddi|d6dd6dd 6d t}|ra|jd |n|jd|d S( sAttach the default page style. Create an automatic-style that refers to the current style of this element and that refers to the default page style. stext:style-nametP1003s style:styleRs style:namesrststyle-pagedefaultsstyle:master-page-nameRs style:familyR?sstyle:parent-style-nameN(RMRARjtSNSDR(RR@t current_stylet style_nameR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRcs  cCs'||}|jj|d|}|S(s Returns the style name to use for the given style. If `parameters` is given `name` must contain a matching number of ``%`` and is used as a format expression with `parameters` as the value. s rststyle-%s(R^RM(RROt parameterstname1t stylename((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRmus cCs t|dS(Ns office:text(RA(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRkscCs{|j|jt|jdksRt|jdksR|jjsR|jjre|j|jnt j |j}|S(Ni( t setup_paperRRR|R}RRRtadd_header_footerR=R(Rt new_content((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRs  cCs|jS(N(R(R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRscsz|yRtjd}|j}|j}tt|}t|}|\Wn#ttfk rzd\nXWd|j Xfd|dS(Nspaperconf -s 2> /dev/nullidics|jdtdkrdtd|jkrd|jdtdR(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRscCs!|jjjd|jfdS(Nsmissing visit_%s(RRRttagname(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt default_visitscCs!|jjjd|jfdS(Nsmissing depart_%s(RRRR(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdefault_departurescCst|jtjjrdS|j}t|jjdkr|jjdj rx|jjdj |7_ q||jjd_ n-|jj r|jj |7_ n ||j_ dS(Nii( RRRRt literal_blockRRRiRRR3(RRR3((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_Texts  cCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_TextscCs#|j|d}|j|dS(Ntaddress(RR (RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_addressscCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_addressscCsJt|jtjr'|jd}n|j|d}|j|dS(NR,tauthor(RRRtauthorsRRR (RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_authorscCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_authorscCsXd|jjdf}|jd}t|ddi|jdd6}||_dS(Ns%s:RRBs text:spanRRAstext:style-name(R]R RRARmR3(RRR R@R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_authorss  cCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_authorsscCs#|j|d}|j|dS(Ntcontact(RR (RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_contactscCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_contactscCs#|j|d}|j|dS(Nt copyright(RR (RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_copyrightscCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_copyrightscCs|j|ddS(Ntdate(R(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_datescCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_datescCs#|j|d}|j|dS(Nt organization(RR (RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_organizationscCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_organizationscCs#|j|d}|j|dS(Ntstatus(RR (RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_statusscCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_statusscCs|j|ddS(Ntrevision(R(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_revisionscCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_revisionscCs|j|ddS(NR(R(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_versionscCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_versionscCs|jd|jdS(NR+(RR(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_attributionscCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_attributionscCsd|jdkrA|jj|jd|jd|_nld|jdkr|jj|jd|jd|_n+|jj|jd|jd|_|jd7_dS(NR7tclassesR<R-i(RRnRBRmRR(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_block_quotescCs)|jjd|_|jd8_dS(NR i(RntpopRR(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_block_quotes  cCsA|jd7_|jr|jjr'q=d|krd|jdkrt|jddi|jdd6}|jj |jdnAt|jddi|jd d6}|jj |jd |j |nb|j |jd kr7t|jddi|jd d6}|jj |jd n|j |jdkrt|jddi|jdd6}|jj |jdn|j |jdkrt|jddi|jdd6}|jj |jdnAt|jddi|jdd6}|jj |jd |j |dS(NiR:sauto-tocs text:listRRDstext:style-nameR5RCR.R-sblockquote-bulletlistsblockquote-bulletitemR<shighlights-bulletlistshighlights-bulletitemR7sepigraph-bulletlistsepigraph-bulletitemR/( RRRRRRARiRmRoRBR R(RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_bullet_lists@      cCs\|jr2|jjrqI|j|jjn|j|jj|jd8_dS(Ni(RRRR RoR<R(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_bullet_list?s     cCstjdS(N(Rt SkipChildren(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_captionKs cCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_captionOscCs|jd}t|ddi}t|ddi}tjjdd}||_t|ddi}|j|_dS(NRBsoffice:annotationRs dc:creatorRR stext:p(RRARRRMR3R(RRR@RRRZ((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_commentRs cCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_comment[scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_compound^scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_compoundbscCsK|jjdd}t|dkrG|jj|j|dndS(NR:i((RRMRRnRBRm(RRR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_containerescCs;|jjdd}t|dkr7|jjndS(NR:i((RRMRRnR<(RRR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_containerjscCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_decorationoscCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_decorationrscCs1|jd7_|jdkr-tdndS(Niis*max definition list nesting level exceeded(RRRN(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_definition_listuscCs|jd8_dS(Ni(R(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_definition_list{scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_definition_list_item~scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_definition_list_itemscCsB|jd|j}|j|_|j|tjdS(Nsdeflist-term-%d(RRRR3R RR@(RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_terms cCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_termscCs:|jj|jd|j|jjtddS(Nsdeflist-def-%di(RnRBRmRRRx(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_definitions cCs|jj|jjdS(N(RnR<R(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_definitions cCsm|jj}t|dkri|d}t|ddi|jdd6}d|jf|_ndS(Niis text:spanRR4stext:style-names (%s)(RiRRRARmRR3(RRtelsR@R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_classifiers  cCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_classifierscCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_documentscCs|jdS(N(R(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_documentscCso|jd7_|jd7_|jjrk|jddid|jd6d|jd6}|j|ndS(Nis text:sectionRs Section%ds text:namesSect%dstext:style-name(RdReRRRR (RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_docinfos  cCs,|jd8_|jjr(|jndS(Ni(RdRRR (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_docinfos cCs9t|jddi|jdd6}|j|dS(Ns text:spanRR4stext:style-name(RARiRmR (RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_emphasiss cCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_emphasisscCs||j}|j|jdkrbt|ddi|jdd6}|jj|jdn |j|jdkrt|ddi|jdd6}|jj|jd n|j|jd krt|ddi|jd d6}|jj|jd nWd |jddf}t|ddi|j|d6}|jj|jd|j|dS(NR-s text:listRsblockquote-enumliststext:style-namesblockquote-enumitemR<shighlights-enumlistshighlights-enumitemR7sepigraph-enumlistsepigraph-enumitems enumlist-%stenumtypetarabicR5(RiRRmRARoRBRMR (RRRRt liststylename((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_enumerated_lists$ cCs|j|jjdS(N(R RoR<(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_enumerated_lists cCs3|jrZ|jjr;|jj|jd|jfq/|jd}|j|n|jd}|}t |j dkr |j d}|j r |j t x[|j D]M}xDt|jD]0}|jdd|}|jdd|}qWqWq n|jj|jd|j|dS(Ns contents-%dstext:list-itemiis text:listR(RRRRnRBRmRRR RRR}R~RtrangeRRo(RRRRt level_objt level_obj1tidxR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_list_items&      cCs|jr2|jjr%|jjq|jnt|jdkr|jd}|jr|j t xE|jD]7}x.t |j D]}|j|jqWqwWqn|jj|jdS(Nii( RRRRnR<R RRR}R~RRaR(RRRbRcRd((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_list_items        cCs t|_dS(N(RR~(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_header scCs t|_dS(N(RR~(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_headerscCs t|_dS(N(RR(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_footerscCs t|_dS(N(RR(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_footerscCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_fieldscCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_fieldscCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_field_listscCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_field_list scCsG|jd}t|ddi|jdd6}|j|_dS(NRBs text:spanRRAstext:style-name(RRARmRR3(RRR@R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_field_name#s  cCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_field_name*scCs|jj|jddS(NR,(RnRBRm(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_field_body-scCs|jjdS(N(RnR<(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_field_body0scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_figure3scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_figure6scCs|jd7_|j|_td}||_|jj||ft|tjj rw|j j|j dn|j j|j ddS(Nistext:note-bodyR:R9( RRitsave_footnote_currentR>RRBRRRR:RnRm(RRR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_footnote9s   cCs,|jj|j|_|jd8_dS(Ni(RnR<RuRiR(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_footnoteDs  t*s**s***s++s+++s##s###s@@s@@@c Cs|jdkr|jdd}|jjd}|dkrGd}n|jjr\d}nd}|jddid |fd 6|d 6}t|jjd d }t|t j j rd|j }t |ddi|d6}||_n|dkr4t |ddi|j d6}|j |_nw|dkr|jttjkrdd|_ntj|j} |jd 7_t |ddi| d6}| |_n||j||j} n(t|jd d i|jd d6} | }t|j t!j"j#r|j$||||\}}}}i}|j%|||||\}}|dk r||_'qn|j%||||dS(Nturishttp:shttps:s%s%s%ssCannot find image file %s.isPictures/1%08x%stwbtdeletesCan't open image url %s.stext:pRRBstext:style-name((RRRtsepRtget_source_lineRRRRRRRxRvRLR RRWRRRRUROR tabspathRyRBRRiRARmRRRRtfiguretgenerate_figuretgenerate_imageRR(RRRt docsourceRiRtfilenameRtimgfileRtimgfile2t imgfilenametspecRRRtel4tel5R0Rtel6twidth((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_imagesj                 cCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_image scCsd}d}||jkr|j|}|j}yk|jdr|dkratdn|jd}t|d}d}n|j|\}}Wqtk r}|jj j d||j||fqXn||fS(Nt%theights!percentage not allowed for heights %gY@s)Invalid %s for image: "%s". Error: "%s".( RRtstriptendswithRtrstripRt convert_to_cmRRR(RRtattrtsizetunittexp((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytget_image_width_height s$     cCs|j}|jdr2t|d d}n|jdrXt|d d}n|jdr~t|d d}nz|jdrt|d d }nT|jd rt|d d }n.|jd rt|d }n td d }||fS(sConvert various units to centimeters. Note that a call to this method should be wrapped in: try: except ValueError: tpxig9v?tingRQ@tptgQ?tpcg+@tmmg?tcmsunknown unit type(RRRR(RRR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyR s   cCsd|jkr|jd}yt|}Wn2tk r`|jjjd|jdfnX|dkr|jjjd|fd}n|d}nd}|S(NtscalesInvalid scale for image: "%s"is!scale out of range (%s), using 1.g{Gz?g?(RtintRRRR(RRR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytget_image_scale7 s       cCs|j|}|j|d\}}|j|d\}}d }td k r||jkr|j|\} } tjj| d} | jjd|}yt |Wqt k r||f}qXnd } |d ks|d kr| d krt dn|d kr3| j d}t |d}n|d kr_| j d }t |d}n|d kr|} | j d} t | d} | j d }t |d}|j}| |}| || } | |}qn||9}||9}d |}d |}||fS(s=Return the image size in centimeters adjusted by image attrs.RRiHRtdpis4image size not fully specified and PIL not installedig9v?iRs%.2fcm(iHiHN(RRRRRxtImageRtinfoRMtitert TypeErrorRNRRtget_page_width(RRRRRt width_unitRRRRRRtfactort image_widtht image_heightt line_width((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytget_image_scaled_width_heightI sL                c Cs|j}|jd}d}x|D]}|jd}|jd}|jd}|dks(|dks(|dkrq(nyC|j|\}}|j|\}}|j|\}}Wn$tk r|jjjdnX|||}q(W|dkrd}n|S(s0Return the document's page width in centimeters.s.//{urn:oasis:names:tc:opendocument:xmlns:style:1.0}page-layout/{urn:oasis:names:tc:opendocument:xmlns:style:1.0}page-layout-propertiessG{urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0}page-widthsH{urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0}margin-leftsI{urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0}margin-rights;Stylesheet file contains invalid page width or margin size.g{Gz.@N( RtiterfindRRMRRRRR( RRRRRt page_widtht margin_leftt margin_rightR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRt s4              cCsd}|j||\}}x2|jjD]$}|jdkr+|j}q+q+W|jd7_|dk rCidd6dd6dd6d d 6} t|jd d | d t } idd6dd6dd6dd6} t| dd | d t idd6dd6dd6dd6dd6dd6dd 6dd!6} t| d"d | d t nd#|j} d$t t } i| d6d%d6|j d&d 6} t|jd d | d t } i} t } |jjjd'}|rd(|krt} n| rd)| d*d?6| |fS(BNisrstframestyle%ds style:nameRs style:familyRTsstyle:parent-style-names style:styleRR?taligntlefttcentertrightttoptmiddletbottomsstyle:vertical-posRsstyle:vertical-relsstyle:horizontal-relRs style:mirrorsrect(0cm 0cm 0cm 0cm)sfo:clips0%sdraw:luminances draw:contrastsdraw:reds draw:greens draw:blues100%s draw:gammaRsdraw:color-inversionsdraw:image-opacitytstandardsdraw:color-modesstyle:horizontal-posR:RRs style:wrapsstyle:graphic-propertiess graphics%dsdraw:style-names draw:nameRs draw:z-indexsas-charstext:anchor-types svg:widths svg:heights draw:frames draw:images%ss xlink:hreftsimples xlink:typetembeds xlink:showtonLoads xlink:actuate(RRR(RRR(RRwRmRARjRRRRLRRMRt is_in_tableRRRRRt TextElement(RRRRRit frame_attrsRRRRRthaligntvalignRRIRR:R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyR s                        cCs<|j}x,|r7t|tjjr+tS|j}q WtS(N(RRRRtentryRR(RRR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyR9 s    cCs\t|jtjjrX|jd}|dd}||_|jj|jdndS(NiiR1( RRRRRRiRnRBRm(RRR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_legendA s   cCsJt|jtjjrF|jj|j|j|jndS(N(RRRRRRnR<R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_legendH s    cCs"|jd7_|jd7_dS(Ni(RR(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_line_blockO scCs"|jd8_|jd8_dS(Ni(RR(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_line_blockS scCsBd|j}t|jddi|j|d6}||_dS(Ns lineblock%dstext:pRstext:style-name(RRARiRm(RRR0R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_lineW s cCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_line] scCs9t|jddi|jdd6}|j|dS(Ns text:spanRR>stext:style-name(RARiRmR (RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_literal` s cCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_literalf scCs|jjdd}|ri|j}x3|D]+}t|ddi|j|d6}q+Wt|}nt|jd}d}|j||jj|dS(NR:s text:spanRstext:style-namei(( RRMRiRARmRR RRB(RRRR@t inline_styletcount((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_inlinei s    cCs4|jj}xt|D]}|jqWdS(N(RR<RaR (RRRtx((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_inline{ scCsnd}tj|}|r6|j}t|}n4tj|}|rj|j}t|d}n|S(Nii(tSPACES_PATTERNtmatchRRt TABS_PATTERN(RRiRtmatchobjtpad((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt_calculate_code_block_padding s  cs|tjj|dt}|dkrEtdfddt}ntd fddt}tj|||}|S( Ntstripalltlatexttexcsj||S(N(Rm(ROR(R(sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt stescape_functioncsj||S(N(Rm(ROR(R(sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyR s(RR(((tpygmentstlexerstget_lexer_by_nameRRRcRt highlight(RtinsourceR]tlexertfmtrt outsource((RsC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt_add_syntax_highlighting s   cCs.tj|j|}tj|j|}|S(N(t FILL_PAT1tsubt fill_func1t FILL_PAT2t fill_func2(RRi((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt fill_line scCs&|jd}dt|f}|S(Nis(RR(RRtspacestrepl((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyR  scCs*|jd}dt|df}|S(Nis i(RR(RRRR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyR  scCst|jdkr.d|jdf}nd|jdf}|j}tr|jjr|jdd}|j||}n t |}|j d}|dd kr|d=nd g}g}x<|D]4}|j |}|j d d}|j |qWd j|} || f} |j | |j d d j|} tdkro| jd} ntj| } | j} x| D]}|jj |qWdS(Nis)%%sscodeblock-indentedR3R]RZs iR sIs ssR9sutf-8(RRnRmRRRRRMRRcRLR R_RBRR<RR=RRRi(RRtwrapper1RR]tlinestlines1tmy_linestmy_linet my_lines_strt my_lines_str2RZRRR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_literal_block s>            cCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_literal_block scCs*|jjjdd||j|dS(Ns"math" role not supportedt base_node(RRRR(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_math scCs|j|dS(N(R(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_math scCs*|jjjdd||j|dS(Ns"math" directive not supportedR(RRRR(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_math_block scCs|j|dS(N(R(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_math_block scCsP|jjd}|jjd}|dk rL|dk rL||j|d)6d.d/6}t|d0did1d26}d4|_|j|dS(?NRMs style:styleRs style:nameR2s style:familyR?sstyle:table-propertiess17.59cms style:widthRs table:alignRs style:shadows%s.%%cRYs table-columnsstyle:table-column-propertiess4.999cmsstyle:column-widthtBs12.587cms %s.%%c%%dis table-cellsstyle:table-cell-propertiest transparentsfo:background-colors0.097cms fo:paddings0.035cm solid #000000sfo:border-leftsfo:border-rights fo:border-topsfo:border-bottomsstyle:background-images fo:borderis table:tables table:namestable:style-namestable:table-columnstable:table-header-rowsstable:table-rowstable:table-celltstringsoffice:value-typestext:ptTable_20_Headingstext:style-nametOptiont Description(RY(R (RYi(R i(RYi(R i(RY(R (RYi(R i( RsRRARjRmRRR3R (RRt table_nameR@RRRR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_option_list s        cCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_option_listP scCs |jd}|j|dS(Nstable:table-row(RR (RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_option_list_itemS scCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_option_list_itemW scCs;|jddid|jd6dd6}|j|dS(Nstable:table-cellRs Table%d.A2stable:style-nameR"soffice:value-type(RRpR (RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_option_groupZ s cCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_option_groupa scCs/|jddidd6}|j|_dS(Nstext:pRtTable_20_Contentsstext:style-name(RRR3(RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_optiond s cCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_optioni scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_option_stringl scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_option_stringo scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_option_argumentr scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_option_argumentu scCse|jddid|jd6dd6}t|ddidd 6}|j|_tjdS( Nstable:table-cellRs Table%d.B2stable:style-nameR"soffice:value-typestext:pR-stext:style-name(RRpRARR3RR@(RRR@R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_descriptionx s  cCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_description scCst|_|jr$|jd}nQ|jr?|jd}n6|jd}|jddi|d6}|j||j|dS(NR;R8istext:pRstext:style-name( RRR~RRRnRRR (RRR@R((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_paragraph s     cCst|_|j|jrY|jj|jjd|jj|jjdnF|j r|j j|jjd|jj|jjdndS(Ni( RRR R~R|RBRiRtremoveRR}(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_paragraph s        cCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_problematic scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_problematic sc Cs$d|jkr|jd}|j}d|kr|j}djgttjD]\}}d||f^qY}d||f}tdkr|jd}nt j |} | j } t | dkr| d} |j rq|jrq|jj| qqntjdS( NRRRds%s="%s"s%sR9sutf-8i(RRLRRRDRgRER<RR=RRRR~RRiRBRR@( RRtformatst formatlisttrawstrtktvtattrstrt contentstrRtelementsR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_raw s*    5     cCs|jr n |jrndS(N(R~R(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_raw s   cCs@|jjrd|kr|d}|jjrO|jdrO|j|}n|jddid|d6dd6}|j|qd |kr|jjr|d }|jd did|d 6d d 6}qq|jjj dn|j r<t |j dkr<t |j dtjjr<|j|j dndS(Ntrefurismailto:stext:aRs%ss xlink:hrefRs xlink:typeRystext:reference-refs text:ref-nameR3stext:reference-formats3References must have "refuri" or "refid" attribute.ii(RRRRt cloak_mailtoRR RRRRRRRRRt generatedR7(RRthrefR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_reference s,             cCs,|jjr(d|kr(|jq(ndS(NRE(RRR (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_reference s  cCs|jd}|jd}|r@|d}|r@|}q@nt|jddi|d6}|j}|j||_dS(NR@R:istext:hRstext:style-name(RmRMRARiRRR3(RRRR:tclass1R@R3((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_rubric s    cCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_rubric sicCso|jd7_|jd7_|jjrk|jddid|jd6d|jd6}|j|ndS(Nis text:sectionRs Section%ds text:namesSect%dstext:style-name(RdReRRRR (RRtmove_idsR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_section s cCs,|jd8_|jjr(|jndS(Ni(RdRRR (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_section s cCs9t|jddi|jdd6}|j|dS(Ns text:spanRRAstext:style-name(RARiRmR (RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_strong scCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_strong scCstjdS(N(RR@(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_substitution_definition scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_substitution_definition scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytvisit_system_message scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_system_message scCs0d}d}|jd}|dk rTx*|D]}|jtr.|}Pq.q.Wn|dk r|jj|}|dkr,|jjjd|ft}|jj|}|dkr|jjjd|ft }qq,nGt}|jj|}|dkr,|jjjd|ft }n|S(NR:s,Can't find table style "%s". Using default.s=Can't find default table style "%s". Using built-in default.( RRMRRRRRRtTABLENAMEDEFAULTtBUILTIN_DEFAULT_TABLE_STYLE(RRt table_styleR&t str_classest str_class((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytget_table_style s:              c Csd|jd7_|j|}dt}t|jddi|jd||jfd6dd6d t}|jdkrt|d did d 6d d6dd6d tn8t|d didd 6d d6dd6|jd6d tt|jddi|jd||jddfd6dd6d t}|j j }|dkrN|j }n d|f}t|ddidd6|d6|d6|d6|d6d td}x0|j D]%} | j dkr| j}PqqW|dk r|jd|nt|jd di|jd||jfd!6|jd||jfd"6} |j| ||_d#|_dS($Nis%s%%ds style:styleRs%ss style:nameR2s style:familyR?sstyle:table-propertiesRs table:alignt0ins fo:margin-tops0.10insfo:margin-bottomtmarginssfo:background-colors %s.%%c%%dRYs table-cells0.%03dcm solid #000000sstyle:table-cell-propertiess0.049cms fo:paddingsfo:border-leftsfo:border-rights fo:border-topsfo:border-bottomRs table-titles table:tables table:namestable:style-nameg(RpR\RRARjRmRRpRRttable_border_thicknessRRRRRRiR tcurrent_table_stylet table_width( RRRYR&RRt thicknesst line_style1RRR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_tableG sf                 cCsPtddt}d|jf}|j}|d}||j|<|jdS(Ns style:widthR?s%.4fini(RCRRaR`RR (RRRt attribvalRR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_table s    cCstdd|_dS(NRYi(R`Rq(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_tgroup scCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_tgroup scCs|jd7_|jdt|jt|jf}|dd}t|jddi|d6dd 6d t}t|d did |d 6d t|jddi|d6|j |7_ dS(Nis %s%%d.%%stcolwidthg(@s style:styleRs style:names table-columns style:familyR?sstyle:table-column-propertiess%.4finsstyle:column-widthstable:table-columnstable:style-name( RqRmRRptchrRARjRRRa(RRt colspec_nameRiR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_colspec s    cCsdS(N((RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pytdepart_colspec scCs9|jd}|j|t|_|jjddS(Nstable:table-header-rowsR#(RR Rtin_theadRnRB(RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_thead s  cCs$|jt|_|jjdS(N(R RRnRnR<(RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_thead s  cCs3tdd|_|jd}|j|dS(NRYistable:table-row(R`RqRR (RRR@((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt visit_row scCs|jdS(N(R (RR((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyt depart_row scCs|jd7_|jdt|jddf}i|d6dd6}|jdd}|dkrd |df|d <|j|7_n|jd d}|dkrd |df|d R?R@RAs table-titleRBRCRDRRERFRGRHRIRJRKRLsadmon-attention-hdrsadmon-attention-bodysadmon-caution-hdrsadmon-caution-bodysadmon-danger-hdrsadmon-danger-bodysadmon-error-hdrsadmon-error-bodysadmon-generic-hdrsadmon-generic-bodysadmon-hint-hdrsadmon-hint-bodysadmon-important-hdrsadmon-important-bodysadmon-note-hdrsadmon-note-bodys admon-tip-hdrsadmon-tip-bodysadmon-warning-hdrsadmon-warning-bodyRMstableoption.%cstableoption.%c%dsTable%ds Table%d.%cs Table%d.%c%dRNRORPRQRRRSRTRU(N( RRRaRRRRRRRRRmRkRRRRRDRat code_noneRRtretcompileRRRRRRRRRRRRRRRRR R RRRRRRRRRRRR R!R"R#R%R&R(R)R+R,R.R/R1R2R4R5R6R7R8R9R;R=R>R?RARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRTRURVRWRXRYRZR[R_R`ReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRvRwR}RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R R RRtvisit_doctest_blocktdepart_doctest_blockRRRRRRR'R(R)R*R+R,R.R/R0R1R2R3R4R5R6R8R9R:RCRDRIRJRLRMRORPRQRRRSRTRURVR\RdRfRgRhRlRmRoRpRqRrRvRwRxRyR{R|RRRRRRRRRRRRRRRRRRtdepart_attentionRtdepart_cautionRt depart_dangerRt depart_errorRt depart_hintRtdepart_importantRt depart_noteRt depart_tipRtdepart_admonitionRRRRRRRRRRR(((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRksp \           6          '                                  ,                                             (           >     + & L S                )        \                              ( ?                     <                          tReadercBseZdZRS(cCsHtjj|}|jjr"|Sg|D]}|tjk r)|^q)S(N(RRtget_transformsRRRtDanglingReferences(RRti((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRs   (RRR(((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyRs(bt__doc__t __docformat__RSRtos.pathRRtxml.domRRRRt itertoolsRRt ImportErrorRRRRRtdocutils.readersRtdocutils.transformsRttypeRTRbtioR turllib.requestR t urllib.errorR turllib2R RRR<t xml.etreeR R=RRZRtpygments.lexerstpygmentsformatterRRt SyntaxErrorRt PIL.ImageRRtobjecttweakreftWeakKeyDictionaryRRR>RRRRRRR RRWRtGENERATOR_DESCRRfRRRRRR R RgRRR RAR;RCR[RcReRnRoRXRxRR[RR(((sC/tmp/pip-build-kBFYxq/docutils/docutils/writers/odf_odt/__init__.pyts           (0