Ë
    ¤2ÚiG  ã                   ó  — d dl Z d dlZd dlZd dlmZ d dl­ g d¢eD � cg c]  } e| d       dz   | d   z   ‘Œ c} z   Ze	D � cg c]  } e| d       dz   | d   z   ‘Œ c} Z
 G d„ d«      Z G d	„ d
«      Z G d„ d«      Z G d„ de«      Zyc c} w c c} w )é    N)Únsdict)Ú*)zdraw:adraw:gz	draw:linezdraw:object-olezoffice:annotationzpresentation:noteszsvg:descú:é   c                   ó@   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)Ú	TextPropsz$ Holds properties for a text style. c                 óf   — d| _         d| _        d| _        d| _        d| _        d| _        d| _        y ©NF)ÚitalicÚboldÚfixedÚ
underlinedÚstrikethroughÚsuperscriptÚ	subscript©Úselfs    úG/var/www/html/acx/venv/lib/python3.12/site-packages/odf/odf2moinmoin.pyÚ__init__zTextProps.__init__+   s5   € àˆŒØˆŒ	ØˆŒ
ØˆŒØ"ˆÔØ ˆÔØˆ�ó    c                 ó8   — |dk(  rd| _         y |dk(  rd| _         y y )Nr   TÚnormalF)r   ©r   Úvalues     r   Ú	setItaliczTextProps.setItalic5   s%   € Ø�HÒØˆD�KØ�hÒØˆD�Kð r   c                 ó8   — |dk(  rd| _         y |dk(  rd| _         y y )Nr   Tr   F)r   r   s     r   ÚsetBoldzTextProps.setBold;   s$   € Ø�FŠ?ØˆD�IØ�hÒØˆD�Ið r   c                 ó   — || _         y ©N)r   r   s     r   ÚsetFixedzTextProps.setFixedA   ó	   € Øˆ�
r   c                 ó$   — |r|dk7  rd| _         y y y ©NÚnoneT)r   r   s     r   ÚsetUnderlinedzTextProps.setUnderlinedD   s   € Ù�U˜f’_Ø"ˆD�Oð %ˆ5r   c                 ó$   — |r|dk7  rd| _         y y y r#   )r   r   s     r   ÚsetStrikethroughzTextProps.setStrikethroughH   s   € Ù�U˜f’_Ø!%ˆDÕð %ˆ5r   c                 óD  — |�|dk(  ry |j                  d«      }|d   }|j                  d«      dk(  r)|dk(  rd| _        d| _        y |d	k(  rd| _        d| _        y y t	        |d |j                  d«       «      }|d
kD  rd| _        d| _        y |dk  rd| _        d| _        y y )NÚ ú r   ú%éÿÿÿÿÚsubFTÚsuperé
   iöÿÿÿ)ÚsplitÚfindr   r   Úint)r   r   ÚposisizeÚtextposÚitextposs        r   ÚsetPositionzTextProps.setPositionL   s¹   € Øˆ=˜E RšKØØ—;‘;˜sÓ#ˆØ˜1‘+ˆØ�<‰<˜Ó Ò"Ø˜%ÒØ#(�Ô Ø!%�•Ø˜GÒ#Ø#'�Ô Ø!&�•ð $ô ˜7Ð#5 G§L¡L°Ó$5Ð6Ó7ˆHØ˜"Š}Ø#(�Ô Ø!%�•Ø˜C’Ø#'�Ô Ø!&�•ð  r   c                 óŒ   — dt        | j                  «      ›dt        | j                  «      ›dt        | j                  «      ›d�S )Nz[italic=z, bold=iz, fixed=ú])Ústrr   r   r   r   s    r   Ú__str__zTextProps.__str__a   s.   � ä47¸¿¹Õ4DÜ*-¨d¯i©i­.Ü*-¨d¯j©j­/ð;ð 	;r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r    r%   r'   r6   r:   © r   r   r   r   (   s-   „ Ù.òò òòò#ò&ò'ó*;r   r   c                   ó4   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚParagraphPropsz( Holds properties of a paragraph style. c                 óJ   — d| _         d| _        d| _        d| _        d| _        y )NFr   )Ú
blockquoteÚheadingLevelÚcodeÚtitleÚindentedr   s    r   r   zParagraphProps.__init__j   s&   € àˆŒØˆÔØˆŒ	ØˆŒ
Øˆ�r   c                 ó   — || _         y r   )rG   r   s     r   ÚsetIndentedzParagraphProps.setIndentedr   s	   € Øˆ�r   c                 ó   — || _         y r   )rD   )r   Úlevels     r   Ú
setHeadingzParagraphProps.setHeadingu   s
   € Ø!ˆÕr   c                 ó   — || _         y r   )rF   r   s     r   ÚsetTitlezParagraphProps.setTitlex   r!   r   c                 ó   — || _         y r   )rE   r   s     r   ÚsetCodezParagraphProps.setCode{   s	   € Øˆ�	r   c                 ór   — dt        | j                  «      | j                  t        | j                  «      fz  S )Nz[bq=%s, h=%d, code=%s])r9   rC   rD   rE   r   s    r   r:   zParagraphProps.__str__   s3   € à'¬3¨t¯©Ó+?Ø+/×+<Ñ+<Ü+.¨t¯y©y«>ð+;ñ ;ð 	;r   N)
r;   r<   r=   r>   r   rI   rL   rN   rP   r:   r?   r   r   rA   rA   g   s#   „ Ù2òòò"òòó;r   rA   c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚListPropertiesz$ Holds properties for a list style. c                 ó   — d| _         y r
   ©Úorderedr   s    r   r   zListProperties.__init__‰   ó	   € Øˆ�r   c                 ó   — || _         y r   rU   r   s     r   Ú
setOrderedzListProperties.setOrderedŒ   rW   r   N)r;   r<   r=   r>   r   rY   r?   r   r   rS   rS   †   s   „ Ù.òór   rS   c                   óš   — e Zd Zd„ Z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„ Zd„ Zd„ Zdd„Zd„ Zd„ Zd„ Zdd„Zdd„Zy)ÚODF2MoinMoinc                 óx  — g | _         d| _        dt        «       i| _        dt	        «       i| _        i | _        g | _        d| _        d | _	        | j                  | j                  | j                  | j                  | j                  | j                  dœ| _        t        D ]  }| j                   | j                  |<   Œ t"        D ]  }| j$                  | j                  |<   Œ | j&                  | j                  d<   | j(                  | j                  d<   | j*                  | j                  d<   | j-                  |«       y )Nr   ÚStandard)ú	draw:pageú
draw:framez
draw:imageúdraw:text-boxztext:az	text:noteztext:line-breakztext:sztext:tab)Ú	footnotesÚfootnoteCounterr   Ú
textStylesrA   ÚparagraphStylesÚ
listStylesÚ
fixedFontsÚhasTitleÚlastsegmentÚtextToStringÚ
draw_imageÚtext_aÚ	text_noteÚelementsÚIGNORED_TAGSÚ
do_nothingÚINLINE_TAGSÚinline_markupÚtext_line_breakÚtext_sÚtext_tabÚload)r   ÚfilepathÚtags      r   r   zODF2MoinMoin.__init__”   s  € ØˆŒØ ˆÔØ%¤y£{Ð3ˆŒØ *¬NÓ,<Ð=ˆÔØˆŒØˆŒØˆŒØˆÔð ×'Ñ'Ø×(Ñ(Ø—‘Ø×+Ñ+Ø—;‘;Ø—n‘nñ
ˆŒô  ò 	1ˆCØ!%§¡ˆD�M‰M˜#Òð	1ô ò 	4ˆCØ!%×!3Ñ!3ˆD�M‰M˜#Òð	4à+/×+?Ñ+?ˆ�‰Ð'Ñ(Ø"&§+¡+ˆ�‰�hÑØ$(§M¡Mˆ�‰�jÑ!à�	‰	�(Õr   c                 ó®   — |j                  d«      D ]A  }|j                  d«      dk(  sŒ| j                  j                  |j                  d«      «       ŒC y)z^ Extracts necessary font information from a font-declaration
            element.
            zstyle:font-facezstyle:font-pitchr   ú
style:nameN)ÚgetElementsByTagNameÚgetAttributerf   Úappend)r   ÚfontDeclÚfontFaces      r   ÚprocessFontDeclarationsz$ODF2MoinMoin.processFontDeclarations²   sR   € ð !×5Ñ5Ð6GÓHò 	LˆHØ×$Ñ$Ð%7Ó8¸GÓCØ—‘×&Ñ& x×'<Ñ'<¸\Ó'JÕKñ	Lr   Nc                 ó.  — t        «       }|r | j                  j                  |d«      }|r|}|j                  d«      }|s|S |d   }|j	                  |j                  d«      «       |j                  |j                  d«      «       |j                  |j                  d«      «       |j                  |j                  d«      «       |j                  |j                  d«      «       |j                  d	«      | j                  v r|j                  d
«       |S )z0 Extracts text properties from a style element. Nzstyle:text-propertiesr   zfo:font-stylezfo:font-weightzstyle:text-underline-stylezstyle:text-line-through-stylezstyle:text-positionzstyle:font-nameT)r   rc   Úgetrz   r   r{   r   r%   r'   r6   rf   r    )r   ÚstyleÚparentÚ	textPropsÚ
parentPropÚtextPropÚ
textPropEls          r   ÚextractTextPropertiesz"ODF2MoinMoin.extractTextProperties¼   sû   € ô “Kˆ	áØŸ™×,Ñ,¨V°TÓ:ˆJÙØ%�à×/Ñ/Ð0GÓHˆ
Ù )Ð+à ‘]ˆ
à×Ñ˜J×3Ñ3°OÓDÔEØ×Ñ˜*×1Ñ1Ð2BÓCÔDØ×Ñ 
× 7Ñ 7Ð8TÓ UÔVØ×"Ñ" :×#:Ñ#:Ð;ZÓ#[Ô\Ø×Ñ˜j×5Ñ5Ð6KÓLÔMà×"Ñ"Ð#4Ó5¸¿¹ÑHØ×Ñ˜tÔ$àÐr   c                 óê  — t        «       }|j                  d«      }|j                  d«      r"|dd }	 t        |«      }|j	                  |«       |dk(  r|j                  d«       |j                  d«      }|r=|d   }|j                  d	«      }|r%	 t        |dd
 «      }|dkD  r|j                  d«       | j                  |«      }|j                  r|j                  d«       |S #  d}Y ŒœxY w#  Y Œ=xY w)z5 Extracts paragraph properties from a style element. ry   ÚHeading_20_é   Nr   ÚTitleTzstyle:paragraph-propertieszfo:margin-leftéþÿÿÿg{®Gáz„?)rA   r{   Ú
startswithr2   rL   rN   rz   ÚfloatrI   rˆ   r   rP   )	r   r‚   rƒ   Ú	paraPropsÚnamerK   Ú
paraPropElÚ
leftMarginr„   s	            r   ÚextractParagraphPropertiesz'ODF2MoinMoin.extractParagraphPropertiesÖ   s  € ô #Ó$ˆ	à×!Ñ! ,Ó/ˆà�?‰?˜=Ô)Ø˜˜�IˆEðÜ˜E›
�Ø×$Ñ$ UÔ+ð �7Š?Ø×Ñ˜tÔ$à×/Ñ/Ð0LÓMˆ
ÙØ# A™ˆJØ#×0Ñ0Ð1AÓBˆJÙðÜ!& z°#°2 Ó!7�JØ! DÒ(Ø!×-Ñ-¨dÔ3ð ×.Ñ.¨uÓ5ˆ	Ø�?Š?Ø×Ñ˜dÔ#àÐøð-Ø’ûðÙús   ³C% Â$C. Ã%C+Ã.C2c                 óV  — |D ]¤  }|j                  d«      }|dk(  rŒ|j                  d«      }|j                  d«      }|dk(  r | j                  ||«      | j                  |<   Œa|dk(  sŒg| j                  ||«      | j                  |<   | j                  ||«      | j                  |<   Œ¦ y)zI Runs through "style" elements extracting necessary information.
        ry   r]   zstyle:familyzstyle:parent-style-nameÚtextÚ	paragraphN)r{   rˆ   rc   r”   rd   )r   ÚstyleElementsr‚   r‘   Úfamilyrƒ   s         r   ÚprocessStyleszODF2MoinMoin.processStylesû   s¶   € ð #ò 	RˆEà×%Ñ% lÓ3ˆDà�zÒ! 8à×'Ñ'¨Ó7ˆFØ×'Ñ'Ð(AÓBˆFà˜ÒØ(,×(BÑ(BÀ5È&Ó(Q�—‘ Ò%à˜;Ó&à!%×!@Ñ!@ÀÈÓ!Oð ×$Ñ$ TÑ*à(,×(BÑ(BÀ5È&Ó(Q�—‘ Ò%ñ	Rr   c                 ó€  — |D ]´  }|j                  d«      }t        «       }|j                  «       rx|j                  D �cg c]D  }|j                  t
        j                  j                  j                  k(  r|j                  dk(  r|‘ŒF }}t        |«      dkD  r|j                  d«       || j                  |<   Œ¶ y c c}w )Nry   ztext:list-level-style-numberr   T)r{   rS   ÚhasChildNodesÚ
childNodesÚnodeTypeÚxmlÚdomÚNodeÚELEMENT_NODEÚtagNameÚlenrY   re   )r   ÚlistStyleElementsr‚   r‘   ÚpropÚelÚsubitemss          r   ÚprocessListStyleszODF2MoinMoin.processListStyles  s¯   € à&ò 	)ˆEØ×%Ñ% lÓ3ˆDä!Ó#ˆDØ×"Ñ"Ô$Ø).×)9Ñ)9ö G 2ØŸ™¤s§w¡w§|¡|×'@Ñ'@Ò@ØŸ™Ð'EÒEò ð G�ð Gô �x“= 1Ò$Ø—O‘O DÔ)à$(ˆD�O‰O˜DÒ!ñ	)ùò
Gs   ¿A	B;c                 óð  — t        j                  |«      }t        j                  j                  j                  |j                  d«      «      }|j                  d«      }|r| j                  |d   «       | j                  |j                  d«      «       | j                  |j                  d«      «       t        j                  j                  j                  |j                  d«      «      | _        | j                  j                  d«      }|r| j                  |d   «       | j                  | j                  j                  d«      «       | j                  | j                  j                  d«      «       y)z Loads an ODT file. z
styles.xmlzoffice:font-face-declsr   zstyle:styleztext:list-stylezcontent.xmlN)ÚzipfileÚZipFilerŸ   r    ÚminidomÚparseStringÚreadrz   r   rš   r©   Úcontent)r   rv   ÚzipÚ
styles_docÚfontfacedeclss        r   ru   zODF2MoinMoin.load   s  € ô �o‰o˜hÓ'ˆä—W‘W—_‘_×0Ñ0°·±¸,Ó1GÓHˆ
Ø"×7Ñ7Ð8PÓQˆÙØ×(Ñ(¨°qÑ)9Ô:Ø×Ñ˜:×:Ñ:¸=ÓIÔJØ×Ñ˜z×>Ñ>Ð?PÓQÔRä—w‘w—‘×2Ñ2°3·8±8¸MÓ3JÓKˆŒØŸ™×9Ñ9Ð:RÓSˆÙØ×(Ñ(¨°qÑ)9Ô:à×Ñ˜4Ÿ<™<×<Ñ<¸]ÓKÔLØ×Ñ˜tŸ|™|×@Ñ@ÐARÓSÕTr   c                 ó   — |S )z- Removes extra blank lines from code blocks. )r0   r¤   ÚrangeÚstriprŽ   r|   Újoin)r   r–   ÚlinesÚbufferÚnumLinesÚis         r   ÚcompressCodeBlockszODF2MoinMoin.compressCodeBlocks4  s	   € ð ˆr   c                  ó   — y)Nr)   r?   ©r   Únodes     r   ro   zODF2MoinMoin.do_nothingE  s   € Ør   c                 ój   — |j                  d«      }|r|dd dk(  rd|z  S |r|dd dk(  r|dd }d|z  S )	z	
        ú
xlink:hrefNé   z./z%s
é	   z	Pictures/z[[Image(%s)]]
)r{   )r   r¿   Úlinks      r   rj   zODF2MoinMoin.draw_imageH  sT   € ð × Ñ  Ó.ˆÙ�D˜˜!�H Ò$Ø˜D‘=Ð Ù�D˜˜!�H Ò+Ø˜˜�8ˆDØ  4Ñ'Ð'r   c                 óø   — | j                  |«      }|j                  d«      }|j                  «       |j                  «       k(  rd|j                  «       z  S d|j                  «       ›d|j                  «       ›d�S )NrÁ   z[%s] ú[r*   z] )ri   r{   r¶   )r   r¿   r–   rÄ   s       r   rk   zODF2MoinMoin.text_aS  se   € Ø× Ñ  Ó&ˆØ× Ñ  Ó.ˆØ�:‰:‹<˜4Ÿ:™:›<Ò'Ø˜TŸZ™Z›\Ñ)Ð)ð (ð "&§¡¥¨t¯z©z­|Ð<Ð<r   c                  ó   — y)Nz[[BR]]r?   r¾   s     r   rr   zODF2MoinMoin.text_line_break\  s   € Ør   c                 óü   — |j                  d«      d   j                  d   j                  }|j                  d«      d   j                  d   }| j                  j	                  || j                  |«      f«       d|z  S )Nztext:note-citationr   ztext:note-bodyz^%s^)rz   r�   Ú	nodeValuera   r|   ri   )r   r¿   ÚciteÚbodys       r   rl   zODF2MoinMoin.text_note_  sz   € Ø×)Ñ)Ð*>Ó?ÀÑBß‘Z ñ#ß#,¡9ð 	à×)Ñ)Ð*:Ó;¸AÑ>ß‘Z ñ#ˆà�‰×Ñ˜t T×%6Ñ%6°tÓ%<Ð=Ô>Ø˜‰}Ðr   c                 óP   — 	 t        |j                  d«      «      }d|z  S #  Y yxY w)Nztext:cr*   )r2   r{   )r   r¿   Únums      r   rs   zODF2MoinMoin.text_sg  s/   € ð	Ü�d×'Ñ'¨Ó1Ó2ˆCØ�s‘7ˆNøð	Ùús   ‚! ¡%c                  ó   — y)Nz    r?   r¾   s     r   rt   zODF2MoinMoin.text_tabn  s   € Ør   c                 ó²  — | j                  |«      }|j                  «       sy|j                  d«      }| j                  j	                  |t        «       «      }|j                  rd|z   dz   S g }|r®|j                  r|j                  d«       |j                  r|j                  d«       |j                  r|j                  d«       |j                  r|j                  d«       |j                  r|j                  d«       |j                  r|j                  d	«       |d d  }|j                  «        dj                  |«      ›|›dj                  |«      ›�S )
Nr)   útext:style-nameú`z''z'''Ú__z~~ú^z,,)ri   r¶   r{   rc   r�   r   r   r   r|   r   r   r   r   r   Úreverser·   )r   r¿   r–   Ú	styleNamer‚   ÚmarkÚrevmarks          r   rq   zODF2MoinMoin.inline_markupq  s  € Ø× Ñ  Ó&ˆà�z‰zŒ|Øà×%Ñ%Ð&7Ó8ˆ	Ø—‘×#Ñ# I¬y«{Ó;ˆà�;Š;Ø˜‘: Ñ#Ð#àˆÙØ�|Š|Ø—‘˜DÔ!Ø�zŠzØ—‘˜EÔ"Ø×ÒØ—‘˜DÔ!Ø×"Ò"Ø—‘˜DÔ!Ø× Ò Ø—‘˜CÔ Ø�ŠØ—‘˜DÔ!Ø‘q�'ˆØ�‰ÔØŸ7™7 4œ=©$°·±¸Ô0@ÐAÐAr   c           	      ó2  — |j                   | _        g }|j                  d«      }| j                  j	                  |t        «       «      }d}|j                  D �](  }|j                  d|z  «       |dz  }|j                  r%t        |«      }d|z   dz   }|j                  d«       n|j                  d«       |j                  D �	cg c]  }	|	j                   dv r|	‘Œ }
}	|
D ]|  }|j                   d	k(  r6|j                  d
«       |j                  | j                  ||dz   «      «       n$|j                  | j                  ||dz   «      «       |j                   | _        Œ~ |j                   | _        |j                  d
«       �Œ+ dj                  |«      S c c}	w )NrÐ   r   r*   r   z. z 1. z * )útext:pútext:hú	text:listrÛ   ú
é   r)   )r£   rh   r{   re   r�   rS   r�   r|   rV   r9   ÚlistToStringÚparagraphToStringr·   )r   ÚlistElementÚindentr¹   rÕ   Úpropsr»   ÚitemÚnumberr§   r¨   Úsubitems               r   rÞ   zODF2MoinMoin.listToString�  su  € à&×.Ñ.ˆÔØˆà×,Ñ,Ð->Ó?ˆ	Ø—‘×#Ñ# I¬~Ó/?Ó@ˆàˆØ×*Ñ*ó 	 ˆDØ�M‰M˜#˜f™*Ô%Ø�‰FˆAØ�}Š}Ü˜Q›�Ø˜v™¨Ñ,�Ø—‘˜fÕ%à—‘˜eÔ$Ø%)§_¡_ö N˜rØŸZ™ZÐ+LÑLò ð NˆHð Nà#ò 3�Ø—?‘? kÒ1Ø—M‘M $Ô'Ø—M‘M $×"3Ñ"3°G¸VÀA¹XÓ"FÕGà—M‘M $×"8Ñ"8¸À&ÈÁ(Ó"KÔLØ#*§?¡?�Õ ð3ð  $Ÿ|™|ˆDÔØ�M‰M˜$Öð'	 ð* �w‰w�v‹ÐùòNs   ÃFc                 óÔ  — |j                   | _        g }|j                  D ]¶  }|j                   | _        |j                   dk(  r |j                  | j	                  |«      «       |j                   dk(  sŒS|j                  d«       |j                  D ]D  }|j                  | j                  |«      «       |j                  d«       |j                   | _        ŒF Œ¸ dj                  |«      S )z1 MoinMoin uses || to delimit table cells
        ztable:table-header-rowsztable:table-rowz
||z||r)   )r£   rh   r�   r|   ÚtableToStringrq   r·   )r   ÚtableElementr¹   rã   Úcells        r   rç   zODF2MoinMoin.tableToString°  sÇ   € ð (×/Ñ/ˆÔØˆà ×+Ñ+ò 		4ˆDØ#Ÿ|™|ˆDÔØ�|‰|Ð8Ò8Ø—‘˜d×0Ñ0°Ó6Ô7Ø�|‰|Ð0Ó0Ø—‘˜fÔ%Ø ŸO™Oò 4�DØ—M‘M $×"4Ñ"4°TÓ":Ô;Ø—M‘M $Ô'Ø'+§|¡|�DÕ$ñ4ð		4ð �w‰w�v‹Ðr   c                 óÆ  — | j                   j                  d«      d   }|j                  d   }g }|j                  D �cg c]  }|j                  dv r|‘Œ }}|D ]Š  }|j                  dk(  r| j	                  |«      }nS|j                  dk(  r| j                  |«      }n2|j                  dk(  r| j                  |«      }n| j                  |«      }|sŒz|j                  |«       ŒŒ | j                  r;|j                  d«       | j                  D ]  \  }}|j                  |›d|›�«       Œ |j                  d	«       | j                  d
j                  |«      «      S c c}w )zo Converts the document to a string.
            FIXME: Result from second call differs from first call
        zoffice:bodyr   )r^   rÙ   rÚ   útext:sectionrÛ   útable:tablerÛ   rë   rì   z----z: r)   rÜ   )r°   rz   r�   r£   rÞ   ri   rç   rß   r|   ra   r¼   r·   )r   rË   r–   r¹   r§   Ú
paragraphsr—   rÊ   s           r   ÚtoStringzODF2MoinMoin.toStringÄ  s[  € ð �|‰|×0Ñ0°Ó?ÀÑBˆØ�‰˜qÑ!ˆàˆà#'§?¡?ö E˜RØŸ™ð (Dñ Dò ð Eˆ
ð Eð $ò 
	$ˆIØ× Ñ  KÒ/Ø×(Ñ(¨Ó3‘Ø×"Ñ" nÒ4Ø×(Ñ(¨Ó3‘Ø×"Ñ" mÒ3Ø×)Ñ)¨)Ó4‘à×-Ñ-¨iÓ8�ÚØ—‘˜dÕ#ð
	$ð �>Š>à�M‰M˜&Ô!Ø"Ÿn™nò 7‘
��dØ—‘ª$±Ð5Õ6ð7ð 	�‰�bÔØ×&Ñ& t§y¡y°Ó'8Ó9Ð9ùò1Es   ¾Ec                 óê  — g }|j                   D �]Q  }|j                  t        j                  j                  j
                  k(  r|j                  |j                  «       ŒQ|j                  t        j                  j                  j                  k(  sŒƒ|j                  }|dv r!|j                  | j                  |«      «       Œ´|dv r&| j                  |«      }|sŒÌ|j                  |«       ŒÞ|dk(  r"|j                  | j                  |«      «       �Œ| j                  j                  |«      }|r|j                   ||«      «       �Œ;|j                  d|z   dz   «       �ŒT dj                  |«      S )N)r`   r_   )rÙ   rÚ   rÛ   z {z} r)   )r�   rž   rŸ   r    r¡   Ú	TEXT_NODEr|   rÉ   r¢   r£   ri   rß   rÞ   rm   r�   r·   )r   Úelementr¹   r¿   rw   r–   Úmethods          r   ri   zODF2MoinMoin.textToStringè  s  € àˆà×&Ñ&ó 	9ˆDà�}‰}¤§¡§¡× 6Ñ 6Ò6Ø—‘˜dŸn™nÕ-à—‘¤#§'¡'§,¡,×";Ñ";Ó;Ø—l‘l�àÐ9Ñ9Ø—M‘M $×"3Ñ"3°DÓ"9Õ:àÐ0Ñ0Ø×1Ñ1°$Ó7�DÚØŸ™ dÕ+Ø˜KÒ'Ø—M‘M $×"3Ñ"3°DÓ"9Ö:à!Ÿ]™]×.Ñ.¨sÓ3�FÙØŸ™¡f¨T£lÖ3àŸ™ d¨S¡j°4Ñ&7Ö8ð-	9ð0 �w‰w�v‹Ðr   c                 ó�  — t        «       }|j                  d«      }| j                  j                  ||«      }| j	                  |«      }|r|j
                  s|j                  «       }|j                  dk(  r| j                  dk(  rd|z   }|j                  | _        |j                  rd| _
        d|z   dz   S |j                  d«      }|r8t        |«      }| j                  r|dz  }|dk\  r+d|z  d	z   |z   d	z   d|z  z   dz   S |j
                  rd
|z   dz   S |j                  r| j                  ||d¬«      S | j                  ||¬«      S )NrÐ   rÙ   rÜ   r   z= z =
ztext:outline-levelú=r*   z{{{
z
}}}
T)rá   rC   )rá   )rA   r{   rd   r�   rq   rE   r¶   r£   rh   rF   rg   r2   rG   ÚwrapParagraph)	r   r—   rá   ÚdummyParaPropsÚ
style_namer�   r–   ÚoutlinelevelrK   s	            r   rß   zODF2MoinMoin.paragraphToString  sP  € ä'Ó)ˆà×+Ñ+Ð,=Ó>ˆ
Ø×(Ñ(×,Ñ,¨Z¸ÓHˆ	Ø×!Ñ! )Ó,ˆá˜YŸ^š^Ø—:‘:“<ˆDà×Ñ Ò(¨T×-=Ñ-=ÀÒ-IØ˜$‘;ˆDà$×,Ñ,ˆÔà�?Š?ØˆDŒMØ˜$‘; Ñ'Ð'à ×-Ñ-Ð.BÓCˆÙä˜Ó%ˆEØ�}Š}˜e q™j˜eà˜ŠzØ˜U‘{ SÑ(¨4Ñ/°#Ñ5¸¸e¹ÑCÀdÑJÐJà�^Š^Ø˜T‘> IÑ-Ð-à×ÒØ×%Ñ% d°VÈ$Ð%ÓOÐOð ×%Ñ% d°VÐ%Ó<Ð<r   c                 ó\   — d}g }d}|r|j                  d«       dj                  |«      |z   S )Nr   é2   z  r)   )r|   r·   r0   r¤   )r   r–   rá   rC   Úcounterr¹   ÚLIMITÚtokens           r   rõ   zODF2MoinMoin.wrapParagraph-  s3   € àˆØˆØˆáØ�M‰M˜$Ôà�w‰w�v‹ Ñ%Ð%r   r   )r   )r   F)r;   r<   r=   r   r   rˆ   r”   rš   r©   ru   r¼   ro   rj   rk   rr   rl   rs   rt   rq   rÞ   rç   rî   ri   rß   rõ   r?   r   r   r[   r[   ‘   sx   „ òò<Lóó4"òJRò*)ò Uò(ò"ò	(ò=òòòòòBó>ò@ò(!:òHó<$=ôNr   r[   )Úsysr«   Úxml.dom.minidomrŸ   Úodf.namespacesr   Úodf.elementtypesÚempty_elementsrn   Úinline_elementsrp   r   rA   rS   Úobjectr[   )rã   s   0r   ú<module>r     s¤   ð÷. %Ó $Ý !Ü òð /=Ö= d€fˆT�!‰W�o�cÑ˜$˜q™'Ó!Ò=ñ>€ð 9HÖH°��t˜A‘w‘ Ñ# D¨¡GÓ+ÒH€÷=;ñ =;÷~;ñ ;÷>ñ ôr�6õ rùò] >ùâHs   ŸBÁ B
