o
    í6WjÃv  ã                   @   sŠ  d dl mZmZmZmZmZ d dlmZ d dlZd dl	Z	e 
d¡Zej
dejd�Ze 
d¡Ze 
d¡Ze 
d	¡Ze 
d
¡Ze 
d¡Ze 
d¡Ze 
d¡Ze 
d¡Ze 
d¡Zej
dejd�Ze 
d¡Ze 
d¡Ze 
d¡Ze 
d¡Ze 
d¡ZdZdZdZ e Z!dZ"dZ#dZ$dZ%dZ&dZ'dZ(d Z)d!d"„ Z*d#d$„ Z+d%d&„ Z,d'd(„ Z-d)d*„ Z.d+d,„ Z/d-d.„ Z0d/d0„ Z1d1d2„ Z2d3d4„ Z3G d5d6„ d6e4ƒZ5d7d8„ Z6dS )9é    )ÚBeautifulSoupÚCommentÚDoctypeÚNavigableStringÚTag)ÚfillNzconvert_h(\d+)z^(.*))Úflagsz[\t ]+z
[\t \r\n]+z[\t \r\n]*[\r\n][\t \r\n]*zh(\d+)z^ *\nz\n *$z	^[ \n]*\nz[ \n]*$z[\[\]:-]z^(\n*)((?:.*[^\n])?)(\n*)$z([]\\&<`[>~=+|])z(\s|^)(-+(?:\s|$))z(\s|^)(#{1,6}(?:\s|$))z"((?:\s|^)[0-9]{1,9})([.)](?:\s|$))z`+ÚatxÚ
atx_closedÚ
underlinedÚspacesÚ	backslashÚ*Ú_ÚlstripÚrstripÚstripÚ	strip_onec                 C   ó   t  d| ¡} t d| ¡} | S )z;Strip one leading and trailing newline from a <pre> string.Ú )Úre_pre_lstrip1ÚsubÚre_pre_rstrip1©Útext© r   úc/home/esfera/Documents/content_generation/venv/lib/python3.10/site-packages/markdownify/__init__.pyÚ
strip1_preD   ó   r   c                 C   r   )z<Strip all leading and trailing newlines from a <pre> string.r   )Úre_pre_lstripr   Úre_pre_rstripr   r   r   r   Ú	strip_preK   r   r!   c                 C   sB   | r
| d dkr
dnd}| r| d dkrdnd}|   ¡ } ||| fS )zû
    If the text in an inline tag like b, a, or em contains a leading or trailing
    space, strip the string and return a space as suffix of prefix, if needed.
    This function is used to prevent conversions like
        <b> foo</b> => ** foo**
    r   ú r   éÿÿÿÿ©r   )r   ÚprefixÚsuffixr   r   r   ÚchompR   s   
r'   c                    s   ‡ fdd„}|S )aY  
    This abstracts all simple inline tags like b, em, del, ...
    Returns a function that wraps the chomped text in a pair of the string
    that is returned by markup_fn, with '/' inserted in the string used after
    the text if it looks like an HTML tag. markup_fn is necessary to allow for
    references to self.strong_em_symbol etc.
    c                    sf   ˆ | ƒ}|  d¡r| d¡rd|dd …  }n|}d|v r|S t|ƒ\}}}|s*dS d|||||f S )Nú<ú>z</é   Ú	_noformatr   ú
%s%s%s%s%s)Ú
startswithÚendswithr'   )ÚselfÚelr   Úparent_tagsÚmarkup_prefixÚmarkup_suffixr%   r&   ©Ú	markup_fnr   r   Úimplementationg   s   z2abstract_inline_conversion.<locals>.implementationr   )r5   r6   r   r4   r   Úabstract_inline_conversion_   s   r7   c                    s   t ‡ fdd„tˆ ƒD ƒƒS )Nc                 3   s(   � | ]}|  d ¡s|tˆ |ƒfV  qdS )r   N)r-   Úgetattr)Ú.0Úk©Úobjr   r   Ú	<genexpr>w   s   €& z_todict.<locals>.<genexpr>)ÚdictÚdirr;   r   r;   r   Ú_todictv   s   r@   c                 C   s,   | r| j sdS t | j ¡durdS | j dv S )zEReturn to remove whitespace immediately inside a block-level element.FNT)ÚpÚ
blockquoteÚarticleÚdivÚsectionÚolÚulÚliÚdlÚdtÚddÚtableÚtheadÚtbodyÚtfootÚtrÚtdÚth)ÚnameÚre_html_headingÚmatch©r0   r   r   r   Úshould_remove_whitespace_insidez   s
   

rW   c                 C   s   t | ƒp
| o
| jdkS )zFReturn to remove whitespace immediately outside a block-level element.Úpre)rW   rS   rV   r   r   r   Ú should_remove_whitespace_outsideˆ   s   rY   c                 C   s:   t | tƒrdS t | ttfƒrdS t | tƒr|  ¡ dkS dS )z±
    In a block context, returns:

    - True for content elements (tags and non-whitespace text)
    - False for non-content elements (whitespace text, comments, doctypes)
    TFr   )Ú
isinstancer   r   r   r   r   rV   r   r   r   Ú_is_block_content_element�   s   

r[   c                 C   ó&   | dur| j } t| ƒr| S | dusdS )zHReturns the first previous sibling that is a content element, else None.N)Úprevious_siblingr[   rV   r   r   r   Ú_prev_block_content_siblingž   ó   ýr^   c                 C   r\   )zDReturns the first next sibling that is a content element, else None.N)Únext_siblingr[   rV   r   r   r   Ú_next_block_content_sibling§   r_   ra   c                   @   s´  e Zd ZG dd„ dƒZG dd„ deƒZdd„ Zdd„ Zd	d
„ ZdTdd„ZdTdd„Z	dd„ Z
dTdd„Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zed d!„ ƒZd"d#„ Zd$d%„ Zd&d'„ Zed(d!„ ƒZd)d*„ ZeZeZed+d!„ ƒZeZd,d-„ ZeZd.d/„ Zd0d1„ Z d2d3„ Z!eZ"d4d5„ Z#d6d7„ Z$d8d9„ Z%e%Z&e%Z'd:d;„ Z(d<d=„ Z)d>d?„ Z*d@dA„ Z+dBdC„ Z,dDdE„ Z-eZ.eZ/eZ0edFd!„ ƒZ1edGd!„ ƒZ2dHdI„ Z3dJdK„ Z4dLdM„ Z5dNdO„ Z6dPdQ„ Z7dRdS„ Z8dS )UÚMarkdownConverterc                   @   sd   e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZeZg ZeZdZeZeZeZdZdZdZdZdZdS )z MarkdownConverter.DefaultOptionsTzhtml.parserz*+-r   NFéP   )Ú__name__Ú
__module__Ú__qualname__Ú	autolinksÚbs4_optionsÚbulletsÚcode_languageÚcode_language_callbackÚconvertÚdefault_titleÚescape_asterisksÚescape_underscoresÚescape_miscÚ
UNDERLINEDÚheading_styleÚkeep_inline_images_inÚSPACESÚnewline_styler   ÚSTRIPÚstrip_documentr!   ÚASTERISKÚstrong_em_symbolÚ
sub_symbolÚ
sup_symbolÚtable_infer_headerÚwrapÚ
wrap_widthr   r   r   r   ÚDefaultOptions±   s.    r   c                   @   s   e Zd ZdS )zMarkdownConverter.OptionsN)rd   re   rf   r   r   r   r   ÚOptionsÉ   s    r€   c                 K   s|   t | jƒ| _| j t | jƒ¡ | j |¡ | jd d ur'| jd d ur'tdƒ‚t| jd tƒs9d| jd i| jd< i | _d S )Nr   rl   zFYou may specify either tags to strip or tags to convert, but not both.rh   Úfeatures)	r@   r   ÚoptionsÚupdater€   Ú
ValueErrorrZ   r>   Úconvert_fn_cache)r/   r‚   r   r   r   Ú__init__Ì   s   
zMarkdownConverter.__init__c                 C   s    t |fi | jd ¤Ž}|  |¡S )Nrh   )r   r‚   Úconvert_soup)r/   ÚhtmlÚsoupr   r   r   rl   Ý   s   
zMarkdownConverter.convertc                 C   s   | j |tƒ d�S ©N©r1   )Úprocess_tagÚset)r/   r‰   r   r   r   r‡   á   ó   zMarkdownConverter.convert_soupNc                 C   s&   t |tƒr| j||d�S | j||d�S rŠ   )rZ   r   Úprocess_textrŒ   )r/   Únoder1   r   r   r   Úprocess_elementä   s   
z!MarkdownConverter.process_elementc                    sV  |d u rt ƒ }t|ƒ‰‡fdd„‰ ‡ fdd„|jD ƒ}t |ƒ‰ˆ |j¡ t |j¡d us2|jdv r7ˆ d¡ |jdv rAˆ d¡ ‡‡fd	d„|D ƒ}d
d„ |D ƒ}|jdks\| d¡r]n6dg}|D ].}t |¡ 	¡ \}}}	|d rˆ|rˆ| 
¡ }
tdtt|
ƒt|ƒƒƒ}d| }| |||	g¡ qb|}d |¡}ˆ |j¡}|d ur©||||d�}|S )Nc                    sŒ   t | tƒrdS t | ttfƒrdS t | tƒr8t | ¡ ¡ dkr dS ˆ r*| jr(| j	s*dS t
| jƒs4t
| j	ƒr6dS dS | d u r>dS tdt| ƒ ƒ‚)NFTr   zUnexpected element type: %s)rZ   r   r   r   r   ÚsixÚ	text_typer   r]   r`   rY   r„   ÚtyperV   )Úshould_remove_insider   r   Ú_can_ignoreó   s   

z2MarkdownConverter.process_tag.<locals>._can_ignorec                    s   g | ]}ˆ |ƒs|‘qS r   r   ©r9   r0   )r–   r   r   Ú
<listcomp>  s    z1MarkdownConverter.process_tag.<locals>.<listcomp>>   rQ   rR   Ú_inline>   ÚkbdrX   ÚcodeÚsampr+   c                    s   g | ]	}ˆj |ˆ d �‘qS )r‹   )r‘   r—   )Úparent_tags_for_childrenr/   r   r   r˜     s    ÿÿc                 S   s   g | ]}|r|‘qS r   r   )r9   Úsr   r   r   r˜   %  s    rX   r   r#   é   Ú
r‹   )r�   rW   ÚchildrenÚaddrS   rT   rU   Úfind_parentÚre_extract_newlinesÚgroupsÚpopÚminÚmaxÚlenÚextendÚjoinÚget_conv_fn_cached)r/   r�   r1   Úchildren_to_convertÚchild_stringsÚupdated_child_stringsÚchild_stringÚ
leading_nlÚcontentÚtrailing_nlÚprev_trailing_nlÚnum_newlinesr   Ú
convert_fnr   )r–   r�   r/   r•   r   rŒ   ê   s@   



þ
zMarkdownConverter.process_tagc                 C   sz   | j d tkr| d¡}|S | j d tkr| d¡}|S | j d tkr*| d¡}|S | j d du r4	 |S td| j d  ƒ‚)zTFinal document-level formatting for BeautifulSoup object (node.name == "[document]")rw   r    Nz$Invalid value for strip_document: %s)r‚   ÚLSTRIPr   ÚRSTRIPr   rv   r   r„   ©r/   r0   r   r1   r   r   r   Úconvert__document_H  s   

÷
ù
ûþz$MarkdownConverter.convert__document_c                 C   s²   |d u rt ƒ }t |¡pd}d|vr*| jd rt d|¡}nt d|¡}t d|¡}d|vr4|  ||¡}t	|j
ƒsAt|jƒrF|j
sF| d¡}t	|jƒsSt|jƒrW|jsW| ¡ }|S )Nr   rX   r}   r"   r    r+   ú 	
)r�   r’   r“   r‚   Úre_all_whitespacer   Úre_newline_whitespaceÚre_whitespaceÚescaperY   r]   rW   Úparentr   r`   r   )r/   r0   r1   r   r   r   r   r�   W  s.   

ÿþ

ÿþzMarkdownConverter.process_textc                 C   s$   || j vr|  |¡| j |< | j | S )zAGiven a tag name, return the conversion function using the cache.)r…   Úget_conv_fn)r/   Útag_namer   r   r   r¬   x  s   

z$MarkdownConverter.get_conv_fn_cachedc                    sh   |  ¡ }ˆ |¡sdS dt d|¡ }tˆ|dƒ}|r|S t |¡}|r2t| d¡ƒ‰ ‡ ‡fdd„S dS )z:Given a tag name, find and return the conversion function.Nz
convert_%sr   r*   c                    s   ˆ  ˆ | ||¡S ©N)Ú
convert_hN)r0   r   r1   ©Únr/   r   r   Ú<lambda>“  s    z/MarkdownConverter.get_conv_fn.<locals>.<lambda>)	ÚlowerÚshould_convert_tagÚre_make_convert_fn_namer   r8   rT   rU   ÚintÚgroup)r/   rÂ   Úconvert_fn_namer¶   rU   r   rÅ   r   rÁ   �  s   

zMarkdownConverter.get_conv_fnc                 C   s8   | j d }| j d }|dur||vS |dur||v S dS )zKGiven a tag name, return whether to convert based on strip/convert options.r   rl   NT©r‚   )r/   Útagr   rl   r   r   r   rÉ   ˜  s   

z$MarkdownConverter.should_convert_tagc                 C   sr   |sdS | j d r!t d|¡}t d|¡}t d|¡}t d|¡}| j d r,| dd¡}| j d r7| d	d
¡}|S )Nr   rp   z\\\1z\1\\\2rn   r   z\*ro   r   ú\_)r‚   Úre_escape_misc_charsr   Úre_escape_misc_dash_sequencesÚre_escape_misc_hashesÚre_escape_misc_list_itemsÚreplace)r/   r   r1   r   r   r   r¿   £  s   


zMarkdownConverter.escapec                 C   s(   |pd  ¡ }|rd||t|ƒ f S dS )Nr   z	

%s
%s

)r   r©   )r/   r   Úpad_charr   r   r   Ú	underline²  s   zMarkdownConverter.underlinec           	      C   sª   d|v r|S t |ƒ\}}}|sdS | d¡}| d¡}| jd r3| dd¡|kr3|s3| jd s3d	| S | jd r<|s<|}|rFd
| dd¡ nd}|rSd|||||f S |S )Nr+   r   ÚhrefÚtitlerg   rÐ   r   rm   z<%s>ú "%s"ú"ú\"z%s[%s](%s%s)%s)r'   Úgetr‚   rÕ   )	r/   r0   r   r1   r%   r&   rØ   rÙ   Ú
title_partr   r   r   Ú	convert_a¶  s$   


ÿþzMarkdownConverter.convert_ac                 C   s   d| j d  S )NrŸ   ry   rÎ   ©r/   r   r   r   rÇ   Ê  s    zMarkdownConverter.<lambda>c                 C   sJ   |pd  d¡}d|v rd| d S |sdS dd„ }t ||¡}d| d S )	Nr   r»   r™   r"   r    c                 S   ó   |   d¡}|rd| S dS )Nr*   z> r)   ©rÌ   ©rU   Úline_contentr   r   r   Ú_indent_for_blockquoteÕ  ó   
zDMarkdownConverter.convert_blockquote.<locals>._indent_for_blockquoteú

©r   Úre_line_with_contentr   )r/   r0   r   r1   rå   r   r   r   Úconvert_blockquoteÌ  s   z$MarkdownConverter.convert_blockquotec                 C   s:   d|v r|r
|d S dS | j d  ¡ tkrd| S d| S )Nr™   r"   ru   z\
z  
)r‚   rÈ   Ú	BACKSLASHr¹   r   r   r   Ú
convert_brÜ  s
   zMarkdownConverter.convert_brc                 C   sr   d|v r|S t |ƒ\}}}|sdS tdd„ t t|¡D ƒdd�}d|d  }|dkr0d	| d	 }d
|||||f S )Nr+   r   c                 s   s   � | ]}t |ƒV  qd S rÃ   )r©   )r9   rU   r   r   r   r=   ï  s   € z1MarkdownConverter.convert_code.<locals>.<genexpr>r   )Údefaultú`r*   r"   r,   )r'   r¨   ÚreÚfindallÚre_backtick_runs)r/   r0   r   r1   r%   r&   Úmax_backticksÚmarkup_delimiterr   r   r   Úconvert_codeå  s   zMarkdownConverter.convert_codec                 C   ó   dS )Nz~~r   rà   r   r   r   rÇ   ù  s    c                 C   s0   d|v rd|  ¡  d S |  ¡ }|rd| S dS )Nr™   r"   ú

%s

r   r$   r¹   r   r   r   Úconvert_divû  s   zMarkdownConverter.convert_divc                 C   ó
   | j d S )Nry   rÎ   rà   r   r   r   rÇ     ó   
 c                 C   sT   |pd  ¡ }d|v rd| d S |sdS dd„ }t ||¡}d|dd …  }d	| S )
Nr   r™   r"   r    c                 S   rá   )Nr*   z    r   râ   rã   r   r   r   Ú_indent_for_dd  ræ   z4MarkdownConverter.convert_dd.<locals>._indent_for_ddú:r*   ú%s
rè   )r/   r0   r   r1   rú   r   r   r   Ú
convert_dd	  s   zMarkdownConverter.convert_ddc                 C   s<   |pd  ¡ }t d|¡}d|v rd| d S |sdS d| S )Nr   r"   r™   r    z

%s
)r   r¼   r   r¹   r   r   r   Ú
convert_dt   s   zMarkdownConverter.convert_dtc                 C   s”   d|v r|S t dtd|ƒƒ}| jd  ¡ }| ¡ }|tkr/|dkr/|dkr'dnd}|  ||¡S t d|¡}d	| }|t	krDd
|||f S d||f S )Nr™   r*   é   rr   rŸ   ú=ú-r"   ú#z

%s %s %s

z	

%s %s

)
r¨   r§   r‚   rÈ   r   rq   r×   r¼   r   Ú
ATX_CLOSED)r/   rÆ   r0   r   r1   ÚstyleÚlineÚhashesr   r   r   rÄ   .  s   zMarkdownConverter.convert_hNc                 C   rõ   )Nz

---

r   r¹   r   r   r   Ú
convert_hrA  ó   zMarkdownConverter.convert_hrc                 C   sz   |j  dd ¡pd}|j  dd ¡pd}|j  dd ¡pd}|r%d| dd¡ nd}d|v r6|jj| jd	 vr6|S d
|||f S )NÚaltr   ÚsrcrÙ   rÚ   rÛ   rÜ   r™   rs   z![%s](%s%s))ÚattrsrÝ   rÕ   rÀ   rS   r‚   )r/   r0   r   r1   r	  r
  rÙ   rÞ   r   r   r   Úconvert_imgF  s   zMarkdownConverter.convert_imgc                 C   s¬   d|v r|j j| jd vr|S |j dd ¡pd}|s0|jdddid�}|r0|d j dd ¡p/d}|j d	d ¡p8d}|rD|rDd
|||f S |rLd||f S |rTd||f S |S )Nr™   rs   r
  r   ÚsourceT)r  r   Úposterz[![%s](%s)](%s)z[%s](%s)z	![%s](%s))rÀ   rS   r‚   r  rÝ   Úfind_all)r/   r0   r   r1   r
  Úsourcesr  r   r   r   Úconvert_videoQ  s    zMarkdownConverter.convert_videoc                 C   sH   d}t |ƒ}|r|jdvrd}d|v rd| ¡  S d| |r!d S d S )NF)rG   rF   TrH   r    rç   r   )ra   rS   r   )r/   r0   r   r1   Úbefore_paragraphr`   r   r   r   Úconvert_listc  s   zMarkdownConverter.convert_listc                    sú   |pd  ¡ }|s
dS |j}|d ur:|jdkr:| d¡r,t| d¡ƒ ¡ r,t| d¡ƒ}nd}d|t| d¡ƒ  }nd}|rL|jd	krG|d7 }|j}|s>| j	d
 }||t|ƒ  }|d }t|ƒ}	d|	 ‰ ‡ fdd„}
t
 |
|¡}|||	d …  }d| S )Nr   r    rF   Ústartr*   z%s.rH   r#   rG   ri   r"   c                    s   |   d¡}|rˆ | S dS )Nr*   r   râ   rã   ©Úbullet_indentr   r   Ú_indent_for_li�  ræ   z4MarkdownConverter.convert_li.<locals>._indent_for_lirü   )r   rÀ   rS   rÝ   ÚstrÚ	isnumericrË   r©   Úfind_previous_siblingsr‚   ré   r   )r/   r0   r   r1   rÀ   r  ÚbulletÚdepthri   Úbullet_widthr  r   r  r   Ú
convert_lit  s0   
ý
zMarkdownConverter.convert_lic           	      C   s´   d|v rd|  d¡ d S |  d¡}| jd rR| jd d urR| d¡}g }|D ]%}| d¡}| ¡ }|t|ƒd … }t|| jd ddd�}| || ¡ q'd |¡}|rXd	| S d
S )Nr™   r"   r»   r}   r~   r    F)ÚwidthÚbreak_long_wordsÚbreak_on_hyphensrö   r   )	r   r‚   Úsplitr   r   r©   r   Úappendr«   )	r/   r0   r   r1   ÚlinesÚ	new_linesr  Úline_no_trailingÚtrailingr   r   r   Ú	convert_p™  s&   



ý
zMarkdownConverter.convert_pc                 C   sŒ   |sdS | j d }| j d r| j d |ƒp|}| j d tkr#t|ƒ}n| j d tkr/t|ƒ}n| j d d u r7n	td| j d  ƒ‚d||f S )Nr   rj   rk   r!   zInvalid value for strip_pre: %sz

```%s
%s
```

)r‚   rv   r!   Ú	STRIP_ONEr   r„   )r/   r0   r   r1   rj   r   r   r   Úconvert_pre°  s   



zMarkdownConverter.convert_prec                 C   s   d| d S )NrÛ   r   r¹   r   r   r   Ú	convert_qÃ  ó   zMarkdownConverter.convert_qc                 C   rõ   ©Nr   r   r¹   r   r   r   Úconvert_scriptÆ  r  z MarkdownConverter.convert_scriptc                 C   rõ   r-  r   r¹   r   r   r   Úconvert_styleÉ  r  zMarkdownConverter.convert_stylec                 C   rø   )Nrz   rÎ   rà   r   r   r   rÇ   Ò  rù   c                 C   rø   )Nr{   rÎ   rà   r   r   r   rÇ   Ô  rù   c                 C   ó   d|  ¡  d S ©Nrç   r$   r¹   r   r   r   Úconvert_tableÖ  rŽ   zMarkdownConverter.convert_tablec                 C   s   |  ¡ d S r1  r$   r¹   r   r   r   Úconvert_captionÙ  r,  z!MarkdownConverter.convert_captionc                 C   r0  r1  r$   r¹   r   r   r   Úconvert_figcaptionÜ  rŽ   z$MarkdownConverter.convert_figcaptionc                 C   óN   d}d|j v r|d  ¡ rtdtdt|d ƒƒƒ}d| ¡  dd¡ d|  S ©Nr*   Úcolspanéè  r"   r    ú |©r  Úisdigitr¨   r§   rË   r   rÕ   ©r/   r0   r   r1   r7  r   r   r   Ú
convert_tdß  ó   zMarkdownConverter.convert_tdc                 C   r5  r6  r:  r<  r   r   r   Ú
convert_thå  r>  zMarkdownConverter.convert_thc              	   C   s˜  |  ddg¡}| ¡ d u }tdd„ |D ƒƒp%|jjdko%t|j  d¡ƒdk}|r/|jjdk pB|oB|jjdkoBt|jj  dg¡ƒdk }d	}d	}	d
}
|D ] }d|jv rg|d  ¡ rg|
tdt	dt
|d ƒƒƒ7 }
qK|
d7 }
qK|su|rˆ| jd rˆ|rˆ|	dd dg|
 ¡ d d 7 }	n:|r�| jd r¢|rÂ|jjdks¢|jjdkrÂ|j ¡ sÂ|dd d	g|
 ¡ d d 7 }|dd dg|
 ¡ d d 7 }|d | d |	 S )NrQ   rR   c                 S   s   g | ]}|j d k‘qS )rR   )rS   )r9   Úcellr   r   r   r˜   ï  s    z0MarkdownConverter.convert_tr.<locals>.<listcomp>rM   rP   r*   rN   r   r   r7  r8  r|   z| z | z---r9  r    rL   ú|)r  Úfind_previous_siblingÚallrÀ   rS   r©   r  r;  r¨   r§   rË   r‚   r«   )r/   r0   r   r1   ÚcellsÚis_first_rowÚ
is_headrowÚis_head_row_missingÚoverliner×   Úfull_colspanr@  r   r   r   Ú
convert_trë  sH   ü&þ
ÿþý"ÿþÿ  zMarkdownConverter.convert_trrÃ   )9rd   re   rf   r   r€   r†   rl   r‡   r‘   rŒ   rº   r�   r¬   rÁ   rÉ   r¿   r×   rß   r7   Ú	convert_brê   rì   rô   Úconvert_delr÷   Úconvert_articleÚconvert_sectionÚ
convert_emÚconvert_kbdrý   Ú
convert_dlrþ   rÄ   r  Ú	convert_ir  r  r  Ú
convert_ulÚ
convert_olr  r(  r*  r+  r.  r/  Ú	convert_sÚconvert_strongÚconvert_sampÚconvert_subÚconvert_supr2  r3  r4  r=  r?  rJ  r   r   r   r   rb   °   sl    

^
!		%rb   c                 K   s   t di |¤Ž | ¡S )Nr   )rb   rl   )rˆ   r‚   r   r   r   Úmarkdownify  s   rZ  )7Úbs4r   r   r   r   r   Útextwrapr   rï   r’   ÚcompileÚre_convert_headingÚ	MULTILINEré   r¾   r¼   r½   rT   r   r   r   r    rÊ   ÚDOTALLr¤   rÑ   rÒ   rÓ   rÔ   rñ   ÚATXr  rq   ÚSETEXTrt   rë   rx   Ú
UNDERSCOREr·   r¸   rv   r)  r   r!   r'   r7   r@   rW   rY   r[   r^   ra   Úobjectrb   rZ  r   r   r   r   Ú<module>   sb    














		    m