Ë
    \RðiÒ  ã                  ó®   — d Z ddlmZ ddlmZmZmZmZ ddlm	Z	 ddl
mZmZmZ er$ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ  G d„ de«      Zy)z4Custom element classes related to paragraphs (CT_P).é    )Úannotations)ÚTYPE_CHECKINGÚCallableÚListÚcast)ÚOxmlElement)ÚBaseOxmlElementÚ
ZeroOrMoreÚ	ZeroOrOne)ÚWD_PARAGRAPH_ALIGNMENT)Ú	CT_SectPr)ÚCT_Hyperlink)ÚCT_LastRenderedPageBreak)ÚCT_PPr)ÚCT_Rc                  ó6  — e Zd ZU dZded<   ded<   ded<   ded	<    ed
«      Zded<    ed«      Z ed«      Z	dd„Z
edd„«       Zej                  dd„«       Zd„ Zedd„«       Zedd„«       Zd d„Zed!d„«       Zej                  d"d„«       Zed„ «       Zd#d„Zy)$ÚCT_PzD`<w:p>` element, containing the properties and text for a paragraph.zCallable[[], CT_R]Úadd_rzCallable[[], CT_PPr]Úget_or_add_pPrzList[CT_Hyperlink]Úhyperlink_lstz
List[CT_R]Úr_lstzw:pPrzCT_PPr | NoneÚpPrzw:hyperlinkzw:rc                óZ   — t        t        t        d«      «      }| j                  |«       |S )zAReturn a new `<w:p>` element inserted directly prior to this one.zw:p)r   r   r   Úaddprevious)ÚselfÚnew_ps     úS/var/www/html/Extract/venv/lib/python3.12/site-packages/docx/oxml/text/paragraph.pyÚadd_p_beforezCT_P.add_p_before!   s&   € ä”Tœ; uÓ-Ó.ˆØ×Ñ˜ÔØˆó    c                ó8   — | j                   }|€y|j                  S )zFThe value of the `<w:jc>` grandchild element or |None| if not present.N)r   Újc_val©r   r   s     r   Ú	alignmentzCT_P.alignment'   s   € ð �h‰hˆØˆ;ØØ�z‰zÐr   c                ó2   — | j                  «       }||_        y ©N)r   r!   )r   Úvaluer   s      r   r#   zCT_P.alignment/   s   € à×!Ñ!Ó#ˆØˆ�
r   c                óR   — | j                  d«      D ]  }| j                  |«       Œ y)zCRemove all child elements, except the `<w:pPr>` element if present.z./*[not(self::w:pPr)]N)ÚxpathÚremove)r   Úchilds     r   Úclear_contentzCT_P.clear_content4   s'   € à—Z‘ZÐ 7Ó8ò 	ˆEØ�K‰K˜Õñ	r   c                ó$   — | j                  d«      S )zCRun and hyperlink children of the `w:p` element, in document order.z./w:r | ./w:hyperlink©r(   ©r   s    r   Úinner_content_elementszCT_P.inner_content_elements9   s   € ð �z‰zÐ1Ó2Ð2r   c                ó$   — | j                  d«      S )zÆAll `w:lastRenderedPageBreak` descendants of this paragraph.

        Rendered page-breaks commonly occur in a run but can also occur in a run inside
        a hyperlink. This returns both.
        zI./w:r/w:lastRenderedPageBreak | ./w:hyperlink/w:r/w:lastRenderedPageBreakr-   r.   s    r   ÚlastRenderedPageBreakszCT_P.lastRenderedPageBreaks>   s   € ð �z‰zØWó
ð 	
r   c                óf   — | j                  «       }|j                  «        |j                  |«       y)zJUnconditionally replace or add `sectPr` as grandchild in correct sequence.N)r   Ú_remove_sectPrÚ_insert_sectPr)r   ÚsectPrr   s      r   Ú
set_sectPrzCT_P.set_sectPrI   s*   € à×!Ñ!Ó#ˆØ×ÑÔØ×Ñ˜6Õ"r   c                ó8   — | j                   }|€y|j                  S )zpString contained in `w:val` attribute of `./w:pPr/w:pStyle` grandchild.

        |None| if not present.
        N)r   Ústyler"   s     r   r8   z
CT_P.styleO   s   € ð �h‰hˆØˆ;ØØ�y‰yÐr   c                ó2   — | j                  «       }||_        y r%   )r   r8   )r   r8   r   s      r   r8   z
CT_P.styleZ   s   € à×!Ñ!Ó#ˆØˆ�	r   c                óP   — dj                  d„ | j                  d«      D «       «      S )z£The textual content of this paragraph.

        Inner-content child elements like `w:r` and `w:hyperlink` are translated to
        their text equivalent.
        Ú c              3  ó4   K  — | ]  }|j                   –— Œ y ­wr%   )Útext)Ú.0Úes     r   ú	<genexpr>zCT_P.text.<locals>.<genexpr>f   s   è ø€ ÒG !�q—v•vÑGùs   ‚zw:r | w:hyperlink)Újoinr(   r.   s    r   r=   z	CT_P.text_   s#   € ð �w‰wÑG t§z¡zÐ2EÓ'FÔGÓGÐGr   c                ó*   — | j                  d|«       |S )Nr   )Úinsertr"   s     r   Ú_insert_pPrzCT_P._insert_pPrh   s   € Ø�‰�A�sÔØˆ
r   N)Úreturnr   )rE   zWD_PARAGRAPH_ALIGNMENT | None)r&   r   )rE   zList[CT_R | CT_Hyperlink])rE   zList[CT_LastRenderedPageBreak])r5   r   )rE   ú
str | None)r8   rF   )r   r   rE   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   r   r
   Ú	hyperlinkÚrr   Úpropertyr#   Úsetterr+   r/   r1   r6   r8   r=   rD   © r   r   r   r      sì   … ÙNàÓØ(Ó(Ø%Ó%ØÓá" 7Ó+€CˆÓ+Ù˜=Ó)€IÙ�5Ó€Aóð òó ðð ×Ñòó ðòð
 ò3ó ð3ð ò
ó ð
ó#ð òó ðð ‡\�\òó ðð ñHó ðHôr   r   N)rJ   Ú
__future__r   Útypingr   r   r   r   Údocx.oxml.parserr   Údocx.oxml.xmlchemyr	   r
   r   Údocx.enum.textr   Údocx.oxml.sectionr   Údocx.oxml.text.hyperlinkr   Údocx.oxml.text.pagebreakr   Údocx.oxml.text.parfmtr   Údocx.oxml.text.runr   r   rP   r   r   ú<module>r[      s?   ðñ ;å "ç 6Ó 6å (ß EÑ EáÝ5Ý+Ý5ÝAÝ,Ý'ôUˆ?õ Ur   