Ë
    vl�j$  ã                   ó.  — 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 jH                  e%«      Z& G d„ d«      Z' G d„ de'«      Z( G d„ de'«      Z)y)é    N)ÚIterableÚSequence)ÚTYPE_CHECKINGÚBinaryIOÚOptionalÚcast)Úutils)ÚPDFColorSpace)ÚPDFFontÚPDFUnicodeNotDefined)ÚPDFPage)Ú	PDFStream)Ú	PSLiteral)ÚMatrixÚPathSegmentÚPointÚRect)ÚPDFGraphicStateÚPDFResourceManagerÚ	PDFStackTÚPDFTextStatec                   ó>  — 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 y).Ú	PDFDevicezGTranslate the output of PDFPageInterpreter to the output that is neededÚreturnNc                 ó    — || _         d | _        y ©N)ÚrsrcmgrÚctm)Úselfr   s     úH/var/www/html/pp/venv/lib/python3.12/site-packages/pdfminer/pdfdevice.pyÚ__init__zPDFDevice.__init__#   s   € ØˆŒØ"&ˆ�ó    c                  ó   — y)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                 ó$   — | j                  «        y r   )Úclose)r   r)   r*   r+   s       r    Ú__exit__zPDFDevice.__exit__-   s   € Ø�
‰
�r"   c                  ó   — y r   r$   r%   s    r    r-   zPDFDevice.close0   ó   € Ør"   r   c                 ó   — || _         y r   )r   )r   r   s     r    Úset_ctmzPDFDevice.set_ctm3   s	   € Øˆ�r"   ÚtagÚpropsr   c                  ó   — y r   r$   ©r   r3   r4   s      r    Ú	begin_tagzPDFDevice.begin_tag6   r0   r"   c                  ó   — y r   r$   r%   s    r    Úend_tagzPDFDevice.end_tag9   r0   r"   c                  ó   — y r   r$   r6   s      r    Údo_tagzPDFDevice.do_tag<   r0   r"   Úpagec                  ó   — y r   r$   )r   r<   r   s      r    Ú
begin_pagezPDFDevice.begin_page?   r0   r"   c                  ó   — y r   r$   ©r   r<   s     r    Úend_pagezPDFDevice.end_pageB   r0   r"   ÚnameÚbboxÚmatrixc                  ó   — y r   r$   )r   rB   rC   rD   s       r    Úbegin_figurezPDFDevice.begin_figureE   r0   r"   c                  ó   — y r   r$   )r   rB   s     r    Ú
end_figurezPDFDevice.end_figureH   r0   r"   Úgraphicstater   ÚstrokeÚfillÚevenoddÚpathc                  ó   — y r   r$   )r   rI   rJ   rK   rL   rM   s         r    Ú
paint_pathzPDFDevice.paint_pathK   s   € ð 	r"   Ústreamc                  ó   — y r   r$   )r   rB   rP   s      r    Úrender_imagezPDFDevice.render_imageU   r0   r"   Ú	textstater   ÚseqÚncsc                  ó   — y 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ó'ð˜#ó óð ð °&ð À&ð È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y)Ú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 ‚|j                  «       rd}
d|z  |z  }|j                  «       r,| j                  |||j                  ||||	|
||||«      |_        y | j                  |||j                  ||||	|
||||«      |_        y )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   s1  € ð �x‰xÐ#Ð#Ð#Ü×"Ñ" 9×#3Ñ#3°T·X±XÓ>ˆØ�~‰~ˆØ×%Ñ%ˆØ×#Ñ# dÑ*ˆØ×'Ñ'¨'Ñ1ˆ	Ø×'Ñ'¨'Ñ1ˆ	Ø�~‰~ˆØÐÐÐØ×ÑÔØˆIØ˜(Ñ" WÑ,ˆØ×ÑÔØ#'×#>Ñ#>ØØØ×$Ñ$ØØØØØØØØØó$ˆIÕ ð $(×#@Ñ#@ØØØ×$Ñ$ØØØØØØØØØó$ˆIÕ r"   rD   Úposre   rf   rg   rh   ri   rj   rp   c                 ón  — |\  }}d}|D ]¦  }t        |t        t        f«      r|||
z  z  }d}Œ$t        |t        «      r]|j	                  |«      D ]H  }|r||z  }|| j                  t        j                  |||f«      ||||	|||«      z  }|dk(  r|r||z  }d}ŒJ Œ‘t        j                  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™˜Ø$(‘Mñ)ô" —‘ð=àõð-	ð6 �1ˆvˆr"   c                 ón  — |\  }}d}|D ]¦  }t        |t        t        f«      r|||
z  z  }d}Œ$t        |t        «      r]|j	                  |«      D ]H  }|r||z  }|| j                  t        j                  |||f«      ||||	|||«      z  }|dk(  r|r||z  }d}ŒJ Œ‘t        j                  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™˜Ø$(‘Mñ)ô" —‘ð+àõð-	ð6 �1ˆvˆr"   rƒ   c	                  ó   — y©Nr   r$   )	r   rD   re   rf   rg   rj   rƒ   rU   rI   s	            r    rz   zPDFTextDevice.render_charñ   s   € ð r"   )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ð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y)ÚTagExtractorr   r   ÚoutfpÚcodecr   Nc                 óh   — t         j                  | |«       || _        || _        d| _        g | _        y r†   )r   r!   r‰   rŠ   ÚpagenoÚ_stack)r   r   r‰   rŠ   s       r    r!   zTagExtractor.__init__   s0   € ô 	×Ñ˜4 Ô)ØˆŒ
ØˆŒ
ØˆŒØ')ˆ�r"   rS   r   rT   rU   rI   r   c                 óf  — |j                   }|€J ‚d}|D ]g  }t        |t        «      rt        j                  |«      }t        |t
        «      sŒ9|j                  |«      }|D ]  }		 |j                  |	«      }
||
z  }Œ Œi | j                  t        j                  |«      «       y # t        $ r Y ŒNw xY w)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Ô#Ü×-Ñ-¨cÓ2�Ü˜c¤5Ô)ØØ—K‘K Ó$ˆEØò �ðØŸ>™>¨#Ó.�DØ˜D‘L‘Dñð	ð 	�‰”E—I‘I˜d“OÕ$øô ,ò Ùðús   Á%B$Â$	B0Â/B0r<   r   c                 ó    — d| j                   › dt        j                  |j                  «      › d|j                  › d�}| j                  |«       y )Nz
<page id="z" bbox="z
" rotate="z">)rŒ   r	   Úbbox2strÚmediaboxÚrotater’   )r   r<   r   Úoutputs       r    r>   zTagExtractor.begin_page$  sJ   € à˜Ÿ™˜ X¬e¯n©n¸T¿]¹]Ó.KÐ-Lð MØ—{‘{�m 2ð'ð 	ð 	�‰�FÕr"   c                 óP   — | j                  d«       | xj                  dz  c_        y )Nz</page>
é   )r’   rŒ   r@   s     r    rA   zTagExtractor.end_page+  s   € Ø�‰�KÔ Ø�Š�qÑŽr"   r3   r4   r   c                 óÂ  — d}t        |t        «      rhdj                  t        |j	                  «       «      D ��cg c]4  \  }}dt        j                  |«      › dt        j                  |«      › d�‘Œ6 c}}«      }dt        j                  t        t        |j                  «      «      › |› d�}| j                  |«       | j                  j                  |«       y c c}}w )Nr�   ú z="ú"ú<ú>)ru   ÚdictÚjoinÚsortedÚitemsr	   r“   Úmake_compat_strr   r]   rB   r’   r�   Úappend)r   r3   r4   ÚsÚkÚvÚout_ss          r    r7   zTagExtractor.begin_tag/  sµ   € ØˆÜ�eœTÔ"Ø—‘ô #)¨¯©«Ó"7÷á˜˜Að œŸ	™	 !›�~ R¬×(=Ñ(=¸aÓ(@Ð'AÀÒCóóˆAð ”E—I‘Iœd¤3¨¯©Ó1Ó2Ð3°A°3°aÐ8ˆØ�‰�EÔØ�‰×Ñ˜3Õùós   º9C
c                 ó
  — | j                   sJ t        | j                  «      «       ‚| j                   j                  d«      }dt	        j
                  t        t        |j                  «      «      › d�}| j                  |«       y )Néÿÿÿÿz</r¢   )	r�   r]   rŒ   Úpopr	   r“   r   rB   r’   )r   r3   r¬   s      r    r9   zTagExtractor.end_tag<  s]   € Ø�{Š{Ð,œC §¡Ó,Ó,ˆ{Ø�k‰k�o‰o˜bÓ!ˆØ”U—Y‘Yœt¤C¨¯©Ó2Ó3Ð4°AÐ6ˆØ�‰�EÕr"   c                 ó^   — | j                  ||«       | j                  j                  d«       y )Nr®   )r7   r�   r¯   r6   s      r    r;   zTagExtractor.do_tagB  s    € Ø�‰�s˜EÔ"Ø�‰�‰˜Õr"   r©   c                 ól   — | j                   j                  |j                  | j                  «      «       y r   )r‰   ÚwriteÚencoderŠ   )r   r©   s     r    r’   zTagExtractor._writeF  s!   € Ø�
‰
×Ñ˜Ÿ™ $§*¡*Ó-Õ.r"   )zutf-8r   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�Iô ZôzH/�9õ H/r"   