§
    Æ‡tj$  ã                   óD  — d dl Z d dlmZmZ d dlmZmZmZmZ d dl	m
Z
 d dlmZ d dlmZmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZmZmZ erd dlmZmZmZmZ ee e!z  e"z           Z# e j$        e%¦  «        Z& G d„ d¦  «        Z' G d„ de'¦  «        Z( G d„ de'¦  «        Z)dS )é    N)ÚIterableÚSequence)ÚTYPE_CHECKINGÚBinaryIOÚOptionalÚcast)Úutils)ÚPDFColorSpace)ÚPDFFontÚPDFUnicodeNotDefined)ÚPDFPage)Ú	PDFStream)Ú	PSLiteral)ÚMatrixÚPathSegmentÚPointÚRect)ÚPDFGraphicStateÚPDFResourceManagerÚ	PDFStackTÚPDFTextStatec                   óR  — e Zd ZdZd,d„Zdefd„Zd-d„Zd	ed
ededdfd„Z	d.d„Z
deddfd„Zd/deded         ddfd„Zd.d„Zd/deded         ddfd„Zdededdfd„Zdeddfd„Zdedededdfd„Zdeddfd„Zddd ed!ed"ed#ee         ddfd$„Zded%eddfd&„Zd'd(d)ed*eddddf
d+„Z dS )0Ú	PDFDevicezGTranslate the output of PDFPageInterpreter to the output that is neededÚrsrcmgrr   ÚreturnNc                 ó"   — || _         d | _        d S ©N)r   Úctm)Úselfr   s     úP/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pdfminer/pdfdevice.pyÚ__init__zPDFDevice.__init__#   s   € ØˆŒØ"&ˆŒˆˆó    c                 ó   — dS )Nz<PDFDevice>© ©r   s    r    Ú__repr__zPDFDevice.__repr__'   s   € Øˆ}r"   c                 ó   — | S r   r$   r%   s    r    Ú	__enter__zPDFDevice.__enter__*   s   € Øˆr"   Úexc_typeÚexc_valÚexc_tbc                 ó.   — |                       ¦   «          d S r   )Úclose)r   r)   r*   r+   s       r    Ú__exit__zPDFDevice.__exit__-   s   € Ø�
Š
‰Œˆˆˆr"   c                 ó   — d S r   r$   r%   s    r    r-   zPDFDevice.close0   ó   € Øˆr"   r   c                 ó   — || _         d S r   )r   )r   r   s     r    Úset_ctmzPDFDevice.set_ctm3   s   € ØˆŒˆˆr"   ÚtagÚpropsr   c                 ó   — d S r   r$   ©r   r3   r4   s      r    Ú	begin_tagzPDFDevice.begin_tag6   r0   r"   c                 ó   — d S r   r$   r%   s    r    Úend_tagzPDFDevice.end_tag9   r0   r"   c                 ó   — d S r   r$   r6   s      r    Údo_tagzPDFDevice.do_tag<   r0   r"   Úpagec                 ó   — d S r   r$   )r   r<   r   s      r    Ú
begin_pagezPDFDevice.begin_page?   r0   r"   c                 ó   — d S r   r$   ©r   r<   s     r    Úend_pagezPDFDevice.end_pageB   r0   r"   ÚnameÚbboxÚmatrixc                 ó   — d S r   r$   )r   rB   rC   rD   s       r    Úbegin_figurezPDFDevice.begin_figureE   r0   r"   c                 ó   — d S r   r$   )r   rB   s     r    Ú
end_figurezPDFDevice.end_figureH   r0   r"   Úgraphicstater   ÚstrokeÚfillÚevenoddÚpathc                 ó   — d S r   r$   )r   rI   rJ   rK   rL   rM   s         r    Ú
paint_pathzPDFDevice.paint_pathK   s	   € ð 	ˆr"   Ústreamc                 ó   — d S r   r$   )r   rB   rP   s      r    Úrender_imagezPDFDevice.render_imageU   r0   r"   Ú	textstater   ÚseqÚncsc                 ó   — d S r   r$   )r   rS   rT   rU   rI   s        r    Úrender_stringzPDFDevice.render_stringX   s	   € ð 	ˆr"   )r   r   r   N)r   r   ©r   Nr   )!Ú__name__Ú
__module__Ú__qualname__Ú__doc__r!   Ústrr&   r(   Úobjectr.   r-   r   r2   r   r   r7   r9   r;   r   r>   rA   r   rF   rH   Úboolr   r   rO   r   rR   Ú
PDFTextSeqr
   rW   r$   r"   r    r   r       s›  € € € € € ØQÐQð'ð 'ð 'ð 'ð˜#ð ð ð ð ðð ð ð ð ð °&ð À&ð ÈTð ð ð ð ðð ð ð ð˜6ð  dð ð ð ð ðð ˜Yð ¨x¸Ô/Dð ÐPTð ð ð ð ðð ð ð ðð ˜)ð ¨H°[Ô,Að ÈTð ð ð ð ð˜wð ¨Vð ¸ð ð ð ð ð˜Wð ¨ð ð ð ð ð ð ¨Dð ¸&ð ÀTð ð ð ð ð˜sð  tð ð ð ð ðà'ðð ðð ð	ð
 ðð �{Ô#ðð 
ðð ð ð ð ð ¨ið ¸Dð ð ð ð ðà!ðð ðð ð	ð
 (ðð 
ðð ð ð ð ð r"   r   c                   óÎ   — e Zd Zdddededdddf
d	„Zded
ededede	de	de	de	de	de	dedddefd„Z
ded
ededede	de	de	de	de	de	dedddefd„Zd
edede	de	de	dededdde	fd„ZdS )ÚPDFTextDevicerS   r   rT   rU   rI   r   r   Nc                 óÔ  — | j         €J ‚t          j        |j        | j         ¦  «        }|j        }|j        }|j        dz  }|j        |z  }	|j        |z  }
|j	        }|€J ‚| 
                    ¦   «         rd}
d|z  |z  }|                     ¦   «         r,|                      |||j        ||||	|
||||¦  «        |_        d S |                      |||j        ||||	|
||||¦  «        |_        d S )Ng{®Gáz„?r   gü©ñÒMbP?)r   r	   Úmult_matrixrD   ÚfontÚfontsizeÚscalingÚ	charspaceÚ	wordspaceÚriseÚis_multibyteÚis_verticalÚrender_string_verticalÚ
linematrixÚrender_string_horizontal)r   rS   rT   rU   rI   rD   re   rf   rg   rh   ri   rj   Údxscales                r    rW   zPDFTextDevice.render_stringc   s:  € ð ŒxÐ#Ð#Ð#ÝÔ" 9Ô#3°T´XÑ>Ô>ˆØŒ~ˆØÔ%ˆØÔ# dÑ*ˆØÔ'¨'Ñ1ˆ	ØÔ'¨'Ñ1ˆ	ØŒ~ˆØÐÐÐØ×ÒÑÔð 	ØˆIØ˜(Ñ" WÑ,ˆØ×ÒÑÔð 	Ø#'×#>Ò#>ØØØÔ$ØØØØØØØØØñ$ô $ˆIÔ Ð Ð ð $(×#@Ò#@ØØØÔ$ØØØØØØØØØñ$ô $ˆIÔ Ð Ð r"   rD   Úposre   rf   rg   rh   ri   rj   rp   c                 ó–  — |\  }}d}|D ]¼}t          |t          t          f¦  «        r|||
z  z  }d}Œ)t          |t          ¦  «        rc|                     |¦  «        D ]L}|r||z  }||                      t          j        |||f¦  «        ||||	|||¦  «        z  }|dk    r|r||z  }d}ŒMŒ¡t           	                    d|¦  «         Œ½||fS )NFTé    zNCannot render horizontal string because %r is not a valid int, float or bytes.©
Ú
isinstanceÚintÚfloatÚbytesÚdecodeÚrender_charr	   Útranslate_matrixÚloggerÚwarning©r   rT   rD   rq   re   rf   rg   rh   ri   rj   rp   rU   rI   ÚxÚyÚneedcharspaceÚobjÚcids                     r    ro   z&PDFTextDevice.render_string_horizontal•   s#  € ð ‰ˆˆAØˆØð 	ð 	ˆCÝ˜#¥¥U˜|Ñ,Ô,ð Ø�S˜7‘]Ñ"�Ø $��Ý˜C¥Ñ'Ô'ð ØŸ;š; sÑ+Ô+ð )ð )�CØ$ð 'Ø˜Y™˜Ø˜×)Ò)ÝÔ.¨v¸¸1°vÑ>Ô>ØØ ØØØØØ$ñ	ô 	ñ 	�Að ˜b’y�y Y�yØ˜Y™˜Ø$(�M�Mð)õ" —’ð=àñô ð ð ð
 �1ˆvˆr"   c                 ó–  — |\  }}d}|D ]¼}t          |t          t          f¦  «        r|||
z  z  }d}Œ)t          |t          ¦  «        rc|                     |¦  «        D ]L}|r||z  }||                      t          j        |||f¦  «        ||||	|||¦  «        z  }|dk    r|r||z  }d}ŒMŒ¡t           	                    d|¦  «         Œ½||fS )NFTrs   zLCannot render vertical string because %r is not a valid int, float or bytes.rt   r~   s                     r    rm   z$PDFTextDevice.render_string_verticalÃ   s#  € ð ‰ˆˆAØˆØð 	ð 	ˆCÝ˜#¥¥U˜|Ñ,Ô,ð Ø�S˜7‘]Ñ"�Ø $��Ý˜C¥Ñ'Ô'ð ØŸ;š; sÑ+Ô+ð )ð )�CØ$ð 'Ø˜Y™˜Ø˜×)Ò)ÝÔ.¨v¸¸1°vÑ>Ô>ØØ ØØØØØ$ñ	ô 	ñ 	�Að ˜b’y�y Y�yØ˜Y™˜Ø$(�M�Mð)õ" —’ð+àñô ð ð ð
 �1ˆvˆr"   rƒ   c	                 ó   — dS ©Nr   r$   )	r   rD   re   rf   rg   rj   rƒ   rU   rI   s	            r    rz   zPDFTextDevice.render_charñ   s	   € ð ˆqr"   )rY   rZ   r[   r`   r
   rW   r   r   r   rw   ro   rm   rv   rz   r$   r"   r    rb   rb   b   sï  € € € € € ð0à!ð0ð ð0ð ð	0ð
 (ð0ð 
ð0ð 0ð 0ð 0ðd,àð,ð ð,ð ð	,ð
 ð,ð ð,ð ð,ð ð,ð ð,ð ð,ð ð,ð ð,ð (ð,ð 
ð,ð ,ð ,ð ,ð\,àð,ð ð,ð ð	,ð
 ð,ð ð,ð ð,ð ð,ð ð,ð ð,ð ð,ð ð,ð (ð,ð 
ð,ð ,ð ,ð ,ð\àðð ðð ð	ð
 ðð ðð ðð ðð (ðð 
ðð ð ð ð ð r"   rb   c            
       óÆ   — e Zd Z	 ddddededdfd„Zd	d
dededdddf
d„Zde	de
ddfd„Zde	ddfd„Zddeded         ddfd„Zdd„Zddeded         ddfd„Zdeddfd„ZdS )ÚTagExtractorúutf-8r   r   ÚoutfpÚcodecr   Nc                 ót   — t                                | |¦  «         || _        || _        d| _        g | _        d S r†   )r   r!   rŠ   r‹   ÚpagenoÚ_stack)r   r   rŠ   r‹   s       r    r!   zTagExtractor.__init__   s:   € õ 	×Ò˜4 Ñ)Ô)Ð)ØˆŒ
ØˆŒ
ØˆŒØ')ˆŒˆˆr"   rS   r   rT   rU   rI   r   c                 ó€  — |j         }|€J ‚d}|D ]†}t          |t          ¦  «        rt          j        |¦  «        }t          |t
          ¦  «        sŒA|                     |¦  «        }|D ]-}		 |                     |	¦  «        }
||
z  }Œ# t          $ r Y Œ*w xY wŒ‡|  	                    t          j
        |¦  «        ¦  «         d S )NÚ )re   ru   r]   r	   Úmake_compat_bytesrx   ry   Ú	to_unichrr   Ú_writeÚenc)r   rS   rT   rU   rI   re   Útextr‚   Úcharsrƒ   Úchars              r    rW   zTagExtractor.render_string  sê   € ð Œ~ˆØÐÐÐØˆØð 	ð 	ˆCÝ˜#�sÑ#Ô#ð 3ÝÔ-¨cÑ2Ô2�Ý˜c¥5Ñ)Ô)ð ØØ—K’K Ñ$Ô$ˆEØð ð �ðØŸ>š>¨#Ñ.Ô.�DØ˜D‘L�D�DøÝ+ð ð ð Ø�Dðøøøð	ð 	�Š•E”I˜d‘O”OÑ$Ô$Ð$Ð$Ð$s   Á+BÂ
BÂBr<   r   c                 óŠ   — d| j         › dt          j        |j        ¦  «        › d|j        › d�}|                      |¦  «         d S )Nz
<page id="z" bbox="z
" rotate="z">)r�   r	   Úbbox2strÚmediaboxÚrotater“   )r   r<   r   Úoutputs       r    r>   zTagExtractor.begin_page$  s`   € ð'˜œð 'ð '­e¬n¸T¼]Ñ.KÔ.Kð 'ð 'Ø”{ð'ð 'ð 'ð 	ð 	�Š�FÑÔÐÐÐr"   c                 óP   — |                       d¦  «         | xj        dz  c_        d S )Nz</page>
é   )r“   r�   r@   s     r    rA   zTagExtractor.end_page+  s(   € Ø�Š�KÑ Ô Ð ØˆŒ�qÑˆŒˆˆr"   r3   r4   r   c                 ór  — d}t          |t          ¦  «        r>d                     d„ t          |                     ¦   «         ¦  «        D ¦   «         ¦  «        }dt          j        t          t          |j	        ¦  «        ¦  «        › |› d�}|  
                    |¦  «         | j                             |¦  «         d S )Nr�   c                 ón   — g | ]2\  }}d t          j        |¦  «        › dt          j        |¦  «        › d�‘Œ3S )ú z="ú")r	   r”   Úmake_compat_str)Ú.0ÚkÚvs      r    ú
<listcomp>z*TagExtractor.begin_tag.<locals>.<listcomp>3  sS   € ð ð ð á˜˜Að D�œ	 !™œÐCÐC­Ô(=¸aÑ(@Ô(@ÐCÐCÐCðð ð r"   ú<ú>)ru   ÚdictÚjoinÚsortedÚitemsr	   r”   r   r]   rB   r“   rŽ   Úappend)r   r3   r4   ÚsÚout_ss        r    r7   zTagExtractor.begin_tag/  s³   € ØˆÝ�e�TÑ"Ô"ð 	Ø—’ðð å"(¨¯ª©¬Ñ"7Ô"7ðñ ô ñô ˆAð 9•E”I�d¥3¨¬Ñ1Ô1Ñ2Ô2Ð8°AÐ8Ð8Ð8ˆØ�Š�EÑÔÐØŒ×Ò˜3ÑÔÐÐÐr"   c                 ó
  — | j         sJ t          | j        ¦  «        ¦   «         ‚| j                              d¦  «        }dt	          j        t          t          |j        ¦  «        ¦  «        › d�}|                      |¦  «         d S )Néÿÿÿÿz</r©   )	rŽ   r]   r�   Úpopr	   r”   r   rB   r“   )r   r3   r°   s      r    r9   zTagExtractor.end_tag<  sr   € ØŒ{Ð,Ð,�C ¤Ñ,Ô,Ñ,Ô,ˆ{ØŒk�oŠo˜bÑ!Ô!ˆØ6•U”Y�t¥C¨¬Ñ2Ô2Ñ3Ô3Ð6Ð6Ð6ˆØ�Š�EÑÔÐÐÐr"   c                 óf   — |                       ||¦  «         | j                             d¦  «         d S )Nr²   )r7   rŽ   r³   r6   s      r    r;   zTagExtractor.do_tagB  s0   € Ø�Š�s˜EÑ"Ô"Ð"ØŒ�Š˜ÑÔÐÐÐr"   r¯   c                 ój   — | j                              |                     | j        ¦  «        ¦  «         d S r   )rŠ   ÚwriteÚencoder‹   )r   r¯   s     r    r“   zTagExtractor._writeF  s,   € ØŒ
×Ò˜Ÿš $¤*Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.r"   )r‰   r   rX   )rY   rZ   r[   r   r]   r!   r`   r
   rW   r   r   r>   rA   r   r   r7   r9   r;   r“   r$   r"   r    rˆ   rˆ   ÿ   s„  € € € € € ð
 ð	
*ð 
*à%ð
*ð ð
*ð ð	
*ð
 
ð
*ð 
*ð 
*ð 
*ð%à!ð%ð ð%ð ð	%ð
 (ð%ð 
ð%ð %ð %ð %ð0˜wð ¨Vð ¸ð ð ð ð ð˜Wð ¨ð ð ð ð ð ð  ˜Yð  ¨x¸Ô/Dð  ÐPTð  ð  ð  ð  ðð ð ð ðð ˜)ð ¨H°[Ô,Að ÈTð ð ð ð ð/˜ð / ð /ð /ð /ð /ð /ð /r"   rˆ   )*ÚloggingÚcollections.abcr   r   Útypingr   r   r   r   Úpdfminerr	   Úpdfminer.pdfcolorr
   Úpdfminer.pdffontr   r   Úpdfminer.pdfpager   Úpdfminer.pdftypesr   Úpdfminer.psparserr   Úpdfminer.utilsr   r   r   r   Úpdfminer.pdfinterpr   r   r   r   rv   rw   rx   r`   Ú	getLoggerrY   r|   r   rb   rˆ   r$   r"   r    ú<module>rÄ      sÿ  ðØ €€€Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø $Ð $Ð $Ð $Ð $Ð $Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;àð ðð ð ð ð ð ð ð ð ð ð ð ð �c˜E‘k EÑ)Ô*€
à	ˆÔ	˜8Ñ	$Ô	$€ð?ð ?ð ?ð ?ð ?ñ ?ô ?ð ?ðDZð Zð Zð Zð Z�Iñ Zô Zð ZðzH/ð H/ð H/ð H/ð H/�9ñ H/ô H/ð H/ð H/ð H/r"   