+
    ŠvjŽ¡  ã                   óú   € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHtHtHt ^RI	H
t
 R tR tRR ltR tR tRR	 ltR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t ]!R8X  d
   ] ! 4        R# R# )é    N)ÚDictÚListÚSet)Úpymupdfc                 ó.   € R V  R 2P                  ^KR4      # )Ú Ú-)Úcenter)Úxs   &ÚT/var/www/html/daimler-pipeline/venv/lib/python3.14/site-packages/pymupdf/__main__.pyÚmycenterr      s   € Ø�ˆs�!ˆH×Ñ˜R Ó%Ð%ó    c                óL  € V^ ,          pV^,          pV^ 8X  d   V P                  V4      # R p\        P                  ! W4      p\        P                  ! W4      p VP                  VP                  8X  d8   VP                  VP                  u;8X  d   ^ 8X  d   M MVP
                  ^8X  g>   \        P                  ! RV RV R24       \        P                  ! V4       RpV! V4      # \        P                  ! V4      pVP                  VP                  4       R;rVV! V4      # )zReturn image for a given XREF.c                 óŠ   € V P                   P                  ^8w  d   V # \        P                  ! \        P                  V 4      pV# )é   )Ú
colorspaceÚnr   ÚPixmapÚcsRGB)ÚpixÚtpixs   & r   ÚgetimageÚrecoverpix.<locals>.getimage   s2   € Ø�>‰>×Ñ˜qÔ ØˆJÜ�~Š~œgŸm™m¨SÓ1ˆØˆr   zWarning: unsupported /SMask z for Ú:N)	Úextract_imager   r   ÚirectÚalphar   ÚmessageÚ	set_alphaÚsamples)ÚdocÚitemr   Úsr   Úpix1Úpix2r   s   &&      r   Ú
recoverpixr&      sî   € àˆQ�€AØˆQ�€AØˆA„vØ× Ñ  Ó#Ð#òô �>Š>˜#Ó!€DÜ�>Š>˜#Ó!€Dðð
 �J‰J˜$Ÿ*™*Ô$¨¯©°t·z±zÖ)FÀQ×)FÈ4Ï6É6ÐUVÌ;Ü�ŠÐ6°q°c¸¸q¸cÀÐCÔDÜ�Š˜ÔØˆÙ˜‹~Ðä
�.Š.˜Ó
€CØ‡M�M�$—,‘,ÔØÐ€Dñ �C‹=Ðr   c                óÈ  € \         P                  ! V 4      pVP                  '       g   VRJ d   \        P                  ! R4       R	pVP
                  '       g   V# V'       d\   VP                  V4      pV'       g   \        P                  ! R4       VRJ d%   RpV^8”  d   Rp\         P                  ! RV 24       V# \        P                  ! RVP                   R24       V# )
z!Open and authenticate a document.Tz$this command supports PDF files onlyzauthentication unsuccessfulÚuserÚownerzauthenticated as Ú'z' requires a passwordéÿÿÿÿ)	r   ÚopenÚis_pdfÚsysÚexitÚ
needs_passÚauthenticater   Úname)ÚfilenameÚpasswordÚshowÚpdfr!   ÚrcÚ
auth_levels   &&&&   r   Ú	open_filer9   9   s¶   € ä
�,Š,�xÓ
 €CØ�:�:ˆ:˜# ›+Ü�ŠÐ7Ô8Ø	€BØ�>�>ˆ>Øˆ
ßØ×Ñ˜hÓ'ˆßÜ�HŠHÐ2Ô3Ø�4‹<ØˆJØ�AŒvØ$�
Ü�OŠOÐ/°
¨|Ð<Ô=ð €Jô 	�Š�1�S—X‘X�JÐ3Ð4Ô5Ø€Jr   c                ó  € \        V P                  4        Uu. uF  p\        V4      NK  	  up4      ^,           pV P                  4        F1  w  rVP	                  V4       RV 2p\
        P                  ! V4       K3  	  R# u upi )zPrint a Python dictionary.ú: N)ÚmaxÚkeysÚlenÚitemsÚrjustr   r   )r"   ÚkÚlÚvÚmsgs   &    r   Ú
print_dictrE   O   se   € ä˜TŸY™Yœ[Ó)™[˜ŒS�ŽV™[Ñ)Ó*¨QÕ.€AØ—
‘
–‰ˆØ—‘˜“�˜B˜q˜cÐ"ˆÜ�Š˜Öó ùò *s   ˜Bc                óü  € \         P                  ! VR R24       V P                  V4      p\         P                  ! V4       V P                  V4      '       d{   VP	                  4       p VP                  R4      ^,           pW4,          pVP                  R4      '       d   Rp\         P                  ! RT R24       \         P                  ! R4       \         P                  ! R	4       R
#   \         d    Rp LWi ; i)zuPrint an object given by XREF number.

Simulate the PDF source in "pretty" format.
For a stream also print its size.
Údz 0 objz/Lengthz0 RÚunknownz
stream
...z bytesÚ	endstreamÚendobjN)r   r   Úxref_objectÚxref_is_streamÚsplitÚindexÚendswithÚ	Exception)r!   ÚxrefÚxref_strÚtempÚidxÚsizes   &&    r   Ú
print_xrefrV   W   sÈ   € ô ‡O‚O�t˜A�h˜fÐ%Ô&Ø�‰˜tÓ$€HÜ‡O‚O�HÔØ
×Ñ˜$×ÒØ�~‰~Óˆð	Ø—*‘*˜YÓ'¨!Õ+ˆCØ•9ˆDØ�}‰}˜U×#Ò#Ø �ô 	�Š˜+ d V¨6Ð2Ô3Ü�Š˜Ô$Ü‡O‚O�HÖøô	 ô 	ØŠDð	ús   Á*9C+ Ã+C;Ã:C;c           	     ó®  € \        V^,
          4      pV P                  RV4      P                  RR4      p V P                  R4      p. p\        V4       EFO  w  rgV^,           pVP	                  4       '       dX   \        V4      p	^T	u;8:  d   V8  d   M MVP                  \        V4      4       M\        P                  ! RV RVR 24       K|   VP                  R4      w  r«\        V
4      p
\        V4      p^X
u;8:  d   V8  d   M M^Xu;8:  d   V8  g    M \        P                  ! RV R	VR 24       V
X8X  d   VP                  V
4       EK  W«8  d&   V\        \        W«^,           4      4      ,          pEK,  V\        \        W«^,
          R
4      4      ,          pEKR  	  V#   \         d!    \        P                  ! RT R	TR 24        LÚi ; i)a'  Transform a page / xref specification into a list of integers.

Args
----
    rlist: (str) the specification
    limit: maximum number, i.e. number of pages, number of objects
    what: a string to be used in error messages
Returns
-------
    A list of integers representing the specification.
ÚNr   Ú Ú,zbad z specification at item rG   r	   z range specification at item r+   )ÚstrÚreplacerM   Ú	enumerateÚ	isdecimalÚintÚappendr.   r/   rP   ÚlistÚrange)ÚrlistÚlimitÚwhatrX   Ú	rlist_arrÚout_listÚseqr"   r   ÚiÚi1Úi2s   &&&         r   Úget_listrl   n   sˆ  € ô 	ˆE�A�I‹€AØ�M‰M˜#˜qÓ!×)Ñ)¨#¨rÓ2€EØ—‘˜CÓ €IØ€HÜ˜y×)‰	ˆØ�!�GˆØ�>‰>×ÒÜ�D“	ˆAØ�AŽ~˜�~Ø—‘¤ D£	Õ*ä—’˜4 ˜vÐ%<¸Q¸q¸EÐBÔCÙð	FØ—Z‘Z “_‰FˆBÜ�R“ˆBÜ�R“ˆBð �R–˜%— A¨¦O¨e¦OÜ�HŠH�t˜D˜6Ð!>¸qÀ¸eÐDÔEà�Œ8Ø�O‰O˜BÔÚàŒ7ØœœU 2¨A¥vÓ.Ó/Õ/‹HàœœU 2¨A¥v¨rÓ2Ó3Õ3‹Hñ5 *ð8 €Oøô ô 	FÜ�HŠH�t˜D˜6Ð!>¸qÀ¸eÐDÖEð	Fús   Ã)F)Æ)(GÇGc                 ó²  € \        V P                  V P                  R 4      p\        P                  P                  V P                  4      R,          pRpVR8”  d   VR,          pRp\        V^4      pVP                  p\        P                  ! RV P                  VP                  VP                  4       ^,
          VVVR,          VR,          3,          4       VP                  pV^ 8”  d9   VP                  4       pRpV^8w  d   R	p\        P                  ! R
V RV R24       VP                  4       pV^ 8”  d   \        P                  ! R
VR R24       \        P                  ! 4        V P                  '       dP   \        P                  ! \!        R4      4       VP#                  4       p\%        W4       \        P                  ! 4        V P                  '       dJ   \        P                  ! \!        R4      4       \'        VP                  4       \        P                  ! 4        V P(                  '       do   \        P                  ! \!        R4      4       \+        V P(                  VP                  4       RR7      p	V	 F#  p\%        W4       \        P                  ! 4        K%  	  V P,                  '       d¥   \        P                  ! \!        R4      4       \+        V P,                  VP                  ^,           4      p
V
 FX  pV^,
          pVP/                  V4      p\        P                  ! RVR R24       \%        W4       \        P                  ! 4        KZ  	  V P0                  '       dY   \        P                  ! \!        R4      4       \        P                  ! VP3                  4       4       \        P                  ! 4        VP5                  4        R# )Ti   ÚKBiè  ÚMBz7'%s', pages: %i, objects: %i, %g %s, %s, encryption: %sÚformatÚ
encryptionrY   znot zdocument contains z root form fields and is ÚsignedrG   ú embedded fileszPDF catalogzPDF metadatazobject informationrQ   )re   zpage informationzPage r   zPDF trailerN)r9   Úinputr4   ÚosÚpathÚgetsizeÚroundÚmetadatar   r   Ú
page_countÚxref_lengthÚis_form_pdfÚget_sigflagsÚembfile_countÚcatalogr   Úpdf_catalogrV   rE   Úxrefsrl   ÚpagesÚ	page_xrefÚtrailerÚpdf_trailerÚclose)Úargsr!   rU   ÚflagÚmetar   r#   Úsign_strrQ   ÚxreflÚpagelÚpnos   &           r   r5   r5   �   s¬  € Ü
�D—J‘J §¡¨tÓ
4€CÜ�7‰7�?‰?˜4Ÿ:™:Ó&¨Õ-€DØ€DØˆd„{Ø��ˆØˆÜ��q‹>€DØ�<‰<€DÜ‡O‚OØAà�J‰JØ�N‰NØ�O‰OÓ Õ!ØØØ��NØ�Õð
õ		
ôð 	�‰€AØˆ1„uØ×ÑÓˆØˆØ�Œ6ØˆHÜ�ŠÐ,¨Q¨CÐ/HÈÈ
ÐRXÐYÔZØ×ÑÓ€AØˆ1„uÜ�ŠÐ,¨Q¨q¨E°ÐAÔBÜ‡O‚OÔØ‡|‡|€|Ü�Šœ Ó/Ô0Ø�‰Ó ˆÜ�3ÔÜ�ŠÔØ‡}‡}€}Ü�Šœ Ó0Ô1Ü�3—<‘<Ô Ü�ŠÔØ‡z‡z€zÜ�ŠœÐ!5Ó6Ô7Ü˜Ÿ™ S§_¡_Ó%6¸VÔDˆÛˆDÜ�sÔ!Ü�OŠOÖñ ð ‡z‡z€zÜ�ŠœÐ!3Ó4Ô5Ü˜Ÿ™ S§^¡^°aÕ%7Ó8ˆÛˆCØ�a•ˆAØ—=‘= Ó#ˆDÜ�OŠO˜e C¨ 7¨!Ð,Ô-Ü�sÔ!Ü�OŠOÖñ ð ‡|‡|€|Ü�Šœ Ó/Ô0Ü�Š˜Ÿ™Ó)Ô*Ü�ŠÔØ‡I�I†Kr   c                 ó®  € \        V P                  V P                  R R7      pV P                  pRP	                  V4      pV P
                  '       gƒ   VP                  V P                  V P                  V P                  V P                  V P                  V P                  V P                  VV P                  V P                  V P                   R7       R# \#        V P
                  VP$                  ^,           4      p\&        P(                  ! 4       pV F  pV^,
          pVP+                  WVR7       K!  	  VP                  V P                  V P                  V P                  V P                  V P                  V P                  V P                  VV P                  V P                  V P                   R7       VP-                  4        VP-                  4        R# )T©r6   )
ÚgarbageÚdeflateÚprettyÚcleanÚasciiÚlinearrq   Úowner_pwÚuser_pwÚpermissionsN©Ú	from_pageÚto_page©ÚkeepÚnonezrc4-40zrc4-128zaes-128zaes-256)r9   rt   r4   rq   rN   r‚   ÚsaveÚoutputr�   Úcompressr’   Úsanitizer”   r•   r)   r(   Ú
permissionrl   rz   r   r,   Ú
insert_pdfr†   )r‡   r!   rq   Úencryptr‚   Úoutdocr�   r   s   &       r   r“   r“   Ü   s]  € Ü
�D—J‘J §¡°4Ô
8€CØ—‘€JØI×OÑOØó€Gð �:�:ˆ:Ø�‰Ø�K‰KØ—L‘LØ—M‘MØ—;‘;Ø—-‘-Ø—*‘*Ø—;‘;ØØ—Z‘ZØ—I‘IØŸ™ð 	ô 	
ñ 	ô �T—Z‘Z §¡°!Õ!3Ó4€EÜ�\Š\‹^€FÛˆØ�!�GˆØ×Ñ˜#°AÐÖ6ñ ð ‡K�KØ�‰Ø—‘Ø—‘Ø�{‰{Ø�m‰mØ�j‰jØ�{‰{ØØ—‘Ø—	‘	Ø—O‘Oð ô ð ‡I�I„KØ
‡L�L„NÙ
r   c                óŽ  € V P                   p\        P                  ! 4       pV Fï  pVP                  R4      p\	        V4      ^8”  d
   V^,          MRp\        V^ ,          VRR7      pRP                  VR,          4      pV'       d5   \        RP                  VR,          4      VP                  ^,           4      pM\        ^VP                  ^,           4      pV F$  p	VP                  Wi^,
          V	^,
          R7       K&  	  VP                  4        Kñ  	  VP                  V P                  ^RR7       VP                  4        R# )z&Join pages from several PDF documents.rZ   NTr�   :é   NNr™   )r�   r‘   )rt   r   r,   rM   r>   r9   Újoinrl   rz   rb   r¤   r†   rŸ   r    )
r‡   Údoc_listr!   Úsrc_itemÚsrc_listr4   Úsrcr‚   Ú	page_listri   s
   &         r   Údoc_joinr¯     sî   € à�z‰z€HÜ
�,Š,‹.€CÛˆØ—>‘> #Ó&ˆÜ"% h£-°!Ô"3�8˜A–;¸ˆÜ˜ � X°4Ô8ˆØ—‘˜ "�Ó&ˆßÜ  §¡¨(°2­,Ó!7¸¿¹È!Õ9KÓL‰Iä˜a §¡°!Õ!3Ó4ˆIÛˆAØ�N‰N˜3¨a­%¸¸Q½ˆNÖ?ñ à�	‰	Žñ ð ‡H�HˆT�[‰[ !¨T€HÔ2Ø‡I�I†Kr   c           	     óÞ  € \        V P                  V P                  RR7      pVP                  4       '       gD   V P                  '       d   V P                  V P                  8X  d   \
        P                  ! R4       \        V P                  V P                  4      pV P                  '       d   \        V P                  4      M	\        4       p\        VP                  4       4      pV'       d   W48:  g   \
        P                  ! R4       MTpV'       g   \
        P                  ! R4       V\        VP                  4       4      ,          pV'       d#   \
        P                  ! R\        V4       24       V Fw  pVP                  V4      pVP                  V4      pVP                  VVVR,          VR,          VR	,          R
7       \         P"                  ! RV RVP                   R24       Ky  	  VP%                  4        V P                  '       d:   V P                  V P                  8w  d   VP'                  V P                  ^R7       MVP)                  4        VP%                  4        R# )z!Copy embedded files between PDFs.Tr�   úcannot save PDF incrementallyz%not all names are contained in sourceznothing to copyz0following names already exist in receiving PDF: r3   Ú	ufilenameÚdesc©r3   r²   r³   zcopied entry 'z' from 'r*   ©r�   N)r9   rt   r4   Úcan_save_incrementallyr    r.   r/   ÚsourceÚ	pwdsourcer2   ÚsetÚembfile_namesr[   Úembfile_infoÚembfile_getÚembfile_addr   r   r†   rŸ   ÚsaveIncr)	r‡   r!   r­   ÚnamesÚ	src_namesÚ	intersectr"   ÚinfoÚbuffs	   &        r   Úembedded_copyrÄ      s¬  € ä
�D—J‘J §¡°4Ô
8€CØ×%Ñ%×'Ò'Ø�K�KˆK˜4Ÿ;™;¨$¯*©*Ô4ä�ŠÐ0Ô1Ü
�D—K‘K §¡Ó
0€CØ"ŸiŸi˜iŒC�—	‘	ŒN¬S«U€EÜ�C×%Ñ%Ó'Ó(€IßØÔ!Ü�HŠHÐ<Ô=øàˆßÜ�ŠÐ"Ô#Øœ˜C×-Ñ-Ó/Ó0Õ0€IßÜ�ŠÐCÄCÈ	ÃNÐCSÐTÔUãˆØ×Ñ Ó%ˆØ�‰˜tÓ$ˆØ�‰ØØØ˜*Õ%Ø˜;Õ'Ø�f•ð 	ô 	
ô 	�Š˜.¨¨¨h°s·x±x°jÀÐBÖCñ ð ‡I�I„KØ‡{‡{€{�t—{‘{ d§j¡jÔ0Ø�‰�—‘ aˆÕ(à�‰ŒØ‡I�I†Kr   c                ó¼  € \        V P                  V P                  RR7      pVP                  4       '       gD   V P                  '       d   V P                  V P                  8X  d   \
        P                  ! R4        VP                  V P                  4       V P                  '       d   V P                  V P                  8X  d   VP                  4        MVP                  V P                  ^R7       VP                  4        R#   \        \        P                  P                  3 d2   p\
        P                  ! RT P                  : RT 24        Rp?L¾Rp?ii ; i)zDelete an embedded file entry.Tr�   r±   úno such embedded file r;   Nrµ   )r9   rt   r4   r¶   r    r.   r/   Úembfile_delr2   Ú
ValueErrorr   ÚmupdfÚFzErrorBaser¾   rŸ   r†   )r‡   r!   Úes   &  r   Úembedded_delrÌ   H  sã   € ä
�D—J‘J §¡°4Ô
8€CØ×%Ñ%×'Ò'Ø�K�KˆK˜4Ÿ;™;¨$¯*©*Ô4ä�ŠÐ0Ô1ð>Ø�‰˜Ÿ	™	Ô"ð �;�;ˆ;˜$Ÿ+™+¨¯©Ô3Ø�‰�à�‰�—‘ aˆÔ(Ø‡I�I†Køô œŸ™×1Ñ1Ð2ô >Ü�ŠÐ)¨$¯)©)©°b¸¸Ð<×=Ñ=ûð>ús   Á=D Ä%EÄ*'EÅEc                ó\  € \        V P                  V P                  RR7      p VP                  V P                  4      pVP                  V P                  4      pV P                  '       d   V P                  MXR,          pV P                  '       gÈ   V P                  '       g¶   \        P                  P!                  V4      '       d   \        P                  ! RV 24       \        P                  P#                  V4      pVP%                  \        P&                  ! 4       \        P(                  ,           4      '       g   \        P                  ! RV 24       \+        VR	4      ;_uu_ 4       pVP-                  X4       RRR4       \        P.                  ! R
V P                   RV R24       VP1                  4        R#   \        \        P                  P                  3 d3   p\        P                  ! RT P                  : RT 24        Rp?EL¹Rp?ii ; i  + '       g   i     L£; i)z&Retrieve contents of an embedded file.Tr�   rÆ   r;   Nr3   z6refusing to overwrite existing file with stored name: z9refusing to write stored name outside current directory: Úwbzsaved entry 'z' as 'r*   )r9   rt   r4   r¼   r2   r»   rÈ   r   rÉ   rÊ   r.   r/   r    Úunsaferu   rv   ÚexistsÚabspathÚ
startswithÚgetcwdÚsepr,   Úwriter   r†   )r‡   r!   ÚstreamrG   rË   r3   Úfilename_absr    s   &       r   Úembedded_getrØ   [  so  € ä
�D—J‘J §¡°4Ô
8€Cð>Ø—‘ §¡Ó+ˆØ×Ñ˜TŸY™YÓ'ˆð #ŸkŸk˜kˆt�{Š{¨q°­}€HØ�;�;ˆ;˜tŸ{Ÿ{˜{Ü�7‰7�>‰>˜(×#Ò#Ü�HŠHÐMÈhÈZÐXÔYÜ—w‘w—‘ xÓ0ˆØ×&Ñ&¤r§y¢y£{´R·V±VÕ';×<Ò<Ü�HŠHÐPÐQYÐPZÐ[Ô\Ü	ˆh˜×	Ô	 Ø�‰�VÔ÷ 
ä‡O‚O�m D§I¡I ;¨f°X°J¸aÐ@ÔAØ‡I�I†Køô œŸ™×1Ñ1Ð2ô >Ü�ŠÐ)¨$¯)©)©°b¸¸Ð<×=Ò=ûð>ú÷ 
×	ús#   ¤6G Å.HÇ%HÇ&'HÈHÈH+	c                ó¢  € \        V P                  V P                  RR7      pVP                  4       '       g@   V P                  e   V P                  V P                  8X  d   \
        P                  ! R4        VP                  V P                  4       \
        P                  ! RV P                   R24       \        P                  P                  V P                  4      '       d0   \        P                  P                  V P                  4      '       g%   \
        P                  ! RV P                   R24       \        V P                  R	4      ;_uu_ 4       pVP                  4       pRRR4       V P                  pTpV P                   '       g   TpMV P                   pVP#                  V P                  XWEVR
7       V P                  '       d   V P                  V P                  8X  d   VP%                  4        MVP'                  V P                  ^R7       VP)                  4        R#   \         d     EL‚i ; i  + '       g   i     LÝ; i)zInsert a new embedded file.Tr�   Nr±   zentry 'z' already existszno such file 'r*   Úrbr´   rµ   )r9   rt   r4   r¶   r    r.   r/   rÇ   r2   rP   ru   rv   rÐ   Úisfiler,   Úreadr³   r½   r¾   rŸ   r†   ©r‡   r!   ÚfrÖ   r3   r²   r³   s   &      r   Úembedded_addrß   p  s‡  € ä
�D—J‘J §¡°4Ô
8€CØ×%Ñ%×'Ò'Ø�‰Ò˜tŸ{™{¨d¯j©jÔ8ä�ŠÐ0Ô1ðØ�‰˜Ÿ	™	Ô"Ü�Š�7˜4Ÿ9™9˜+Ð%5Ð6Ô7ô �7‰7�>‰>˜$Ÿ)™)×$Ò$¬B¯G©G¯N©N¸4¿9¹9×,EÒ,EÜ�Š�> $§)¡) ¨AÐ.Ô/Ü	ˆd�i‰i˜×	Ô	 !Ø—‘“ˆ÷ 
à�y‰y€HØ€IØ�9�9ˆ9Ø‰à�y‰yˆØ‡O�OØ�	‰	�6 HÈð ô ð �;�;ˆ;˜$Ÿ+™+¨¯©Ô3Ø�‰�à�‰�—‘ aˆÔ(Ø‡I�I†Køô) ô Úðú÷
 
×	ús   Á9?H, ÅH>È,H;È:H;È>I	c                ó  € \        V P                  V P                  RR7      pVP                  4       '       g@   V P                  e   V P                  V P                  8X  d   \
        P                  ! R4        VP                  V P                  4       V P                  e—   \        P                  P                  V P                  4      '       dh   \        P                  P                  V P                  4      '       d9   \        V P                  R4      ;_uu_ 4       pVP                  4       pRRR4       MRpV P                   '       d   V P                   pMRpV P"                  '       d   V P"                  pM!V P                   '       d   V P                   pMRpV P$                  '       d   V P$                  pMRpVP'                  V P                  XWEVR7       V P                  e   V P                  V P                  8X  d   VP)                  4        MVP+                  V P                  ^R	7       VP-                  4        R#   \         d)    \
        P                  ! RT P                   R24        ELâi ; i  + '       g   i     ELQ; i)
z0Update contents or metadata of an embedded file.Tr�   Nr±   úno such embedded file 'r*   rÚ   r´   rµ   )r9   rt   r4   r¶   r    r.   r/   r»   r2   rP   rv   ru   rÐ   rÛ   r,   rÜ   r3   r²   r³   Úembfile_updr¾   rŸ   r†   rÝ   s   &      r   Úembedded_updrã   ’  s¹  € ä
�D—J‘J §¡°4Ô
8€CØ×%Ñ%×'Ò'Ø�‰Ò˜tŸ{™{¨d¯j©jÔ8ä�ŠÐ0Ô1ð9Ø×Ñ˜Ÿ™Ô#ð
 	�	‰	ÒÜ�G‰G�N‰N˜4Ÿ9™9×%Ò%Ü�G‰G�N‰N˜4Ÿ9™9×%Ò%ä�$—)‘)˜T×"Ô" aØ—V‘V“XˆF÷ #Ð"ð ˆà‡}‡}€}Ø—=‘=‰àˆà‡~‡~€~Ø—N‘N‰	Ø	��ˆØ—M‘M‰	àˆ	à‡y‡y€yØ�y‰y‰àˆà‡O�OØ�	‰	�6 HÈð ô ð ‡{�{Ò˜dŸk™k¨T¯Z©ZÔ7Ø�‰�à�‰�—‘ aˆÔ(Ø‡I�I†KøôK ô 9Ü�ŠÐ*¨4¯9©9¨+°QÐ7×8ð9ú÷ #×"Ð"ús   Á9I ÄI:É/I7É6I7É:J	c                óf  € \        V P                  V P                  RR7      pVP                  4       pV P                  e×   V P                  V9  d&   \
        P                  ! RV P                   R24       M \        P                  ! 4        Rp\        V4      ^8”  d   Rp\        P                  ! R\        V4      R	 R
V R24       \        P                  ! 4        \        VP                  V P                  4      4       \        P                  ! 4        R# V'       g'   \        P                  ! RVP                   R24       R# \        V4      ^8”  d   RVP                   R\        V4      R	 R2pMRVP                   R2p\        P                  ! V4       \        P                  ! 4        V Fm  pV P                  '       g   \        P                  ! V4       K-  VP                  V4      p\        VP                  V4      4       \        P                  ! 4        Ko  	  VP                  4        R# )zList embedded files.Tr�   Nrá   r*   rY   r#   zprinting 1 of rG   z embedded filer   z' contains no embedded filesz' contains the following rs   z&' contains the following embedded file)r9   rt   r4   rº   r2   r.   r/   r   r   r>   rE   r»   Údetailr†   )r‡   r!   r¿   ÚpluralrD   r2   Ú_s   &      r   Úembedded_listrè   Ä  s’  € ä
�D—J‘J §¡°4Ô
8€CØ×ÑÓ€EØ‡y�yÒØ�9‰9˜EÔ!Ü�HŠHÐ.¨t¯y©y¨k¸Ð;Õ<ä�OŠOÔØˆFÜ�5‹z˜AŒ~Ø�Ü�OŠO˜n¬S°«Z¸¨N¸.ÈÈÐPQÐRÔSÜ�OŠOÔÜ�s×'Ñ'¨¯	©	Ó2Ô3Ü�OŠOÔÙßÜ�Š˜!˜CŸH™H˜:Ð%AÐBÔCÙä
ˆ5ƒz�A„~Ø�#—(‘(�Ð4´S¸³ZÀ°NÀ/ÐR‰à�#—(‘(�ÐAÐBˆÜ‡O‚O�CÔÜ‡O‚OÔÛˆØ�{�{ˆ{Ü�OŠO˜DÔ!ÙØ×Ñ˜TÓ"ˆÜ�3×#Ñ# DÓ)Ô*Ü�ŠÖñ ð ‡I�I†Kr   c           
     óÒ  € V P                   '       g)   V P                  '       g   \        P                  ! R4       \	        V P
                  V P                  RR7      pV P                  '       d)   \        V P                  VP                  ^,           4      pM\        ^VP                  ^,           4      pV P                  '       g/   \        P                  P                  \        P                  4      pMpV P                  p\        P                  P!                  V4      '       d&   \        P                  P#                  V4      '       g   \        P                  ! RV R24       \%        4       p\%        4       pV EF=  pV P                   '       dÐ   VP'                  V^,
          4      pV F±  pV^ ,          p	W”9  g   K  VP)                  V	4       VP+                  V	4      w  r«rÍVR8X  g	   V'       g   KJ  \        P                  P-                  W:P/                  RR4       RV	 R	V 24      p\1        VR
4      ;_uu_ 4       pVP3                  V4       RRR4       RpK³  	  V P                  '       g   Kù  VP5                  V^,
          4      pV EF%  pV^ ,          p	W•9  g   K  VP)                  V	4       \7        W4      p\9        V4      \:        J dj   VR,          pVR,          p\        P                  P-                  VRV	R R	V 24      p\1        VR
4      ;_uu_ 4       pVP3                  V4       RRR4       K­  \        P                  P-                  VRV	R R24      pVP<                  P>                  ^8  d   TM$\@        PB                  ! \@        PD                  V4      pVPG                  V4       EK(  	  EK@  	  V P                   '       d(   \@        PH                  ! R\K        V4      R RV R24       V P                  '       d(   \@        PH                  ! R\K        V4      R RV R24       VPM                  4        R#   + '       g   i     ELø; i  + '       g   i     EKÙ  ; i)z)Extract images and / or fonts from a PDF.z"neither fonts nor images requestedTr�   zoutput directory z does not existzn/ar   r	   Ú.rÎ   NÚextÚimagezimg-rG   z.pngzsaved z fonts to 'r*   z images to ')'ÚfontsÚimagesr.   r/   r9   rt   r4   r‚   rl   rz   rb   r    ru   rv   rÑ   ÚcurdirrÐ   Úisdirr¹   Úget_page_fontsÚaddÚextract_fontr©   r\   r,   rÕ   Úget_page_imagesr&   ÚtypeÚdictr   r   r   r   r   rŸ   r   r>   r†   )r‡   r!   r‚   Úout_dirÚ
font_xrefsÚimage_xrefsr�   Úitemlistr"   rQ   Úfontnamerë   rç   ÚbufferÚoutnameÚoutfiler   Úimgdatar%   s   &                  r   Úextract_objectsr   é  s2  € à�:�:ˆ:˜dŸkŸk˜kÜ�ŠÐ5Ô6Ü
�D—J‘J §¡°4Ô
8€Cà‡z‡z€zÜ˜Ÿ™ S§^¡^°aÕ%7Ó8‰ä�a˜Ÿ™¨!Õ+Ó,ˆà�;�;ˆ;Ü—'‘'—/‘/¤"§)¡)Ó,‰à—+‘+ˆÜ—‘—‘˜w×'Ò'¬B¯G©G¯M©M¸'×,BÒ,BÜ�HŠHÐ(¨¨	°ÐAÔBä“€JÜ“%€KäˆØ�:�:ˆ:Ø×)Ñ)¨#°­'Ó2ˆHÛ �Ø˜A•w�ØÖ)Ø—N‘N 4Ô(Ø/2×/?Ñ/?ÀÓ/EÑ,�H 1Ø˜e”|¯6Ù Ü Ÿg™gŸl™lØ×$4Ñ$4°S¸#Ó$>Ð#?¸qÀÀÀaÈÀuÐ!Mó�Gô ˜g t×,Ô,°ØŸ™ fÔ-÷ -à!’Fñ !ð �;�;Š;Ø×*Ñ*¨3°­7Ó3ˆHÜ �Ø˜A•w�ØÖ*Ø—O‘O DÔ)Ü$ SÓ/�CÜ˜C“y¤DÓ(Ø! %�j˜Ø"% g¥,˜Ü"$§'¡'§,¡,¨w¸$¸tÀA¸hÀaÈÀuÐ8MÓ"N˜Ü! '¨4×0Ô0°GØ#ŸM™M¨'Ô2÷ 1Ñ0ô #%§'¡'§,¡,¨w¸$¸tÀA¸hÀdÐ8KÓ"L˜ð  #Ÿ~™~×/Ñ/°!Ô3ñ  ä!(§¢´·±¸sÓ!Cð ð
 Ÿ	™	 '×*ô% !ñ% ðL ‡z‡z€zÜ�Š˜&¤ Z£°Ð 3°;¸w¸iÀqÐIÔJØ‡{‡{€{Ü�Š˜&¤ [Ó!1°!Ð 4°LÀÀ	ÈÐKÔLØ‡I�I†K÷; -×,Ð,ú÷ 1×0Ñ0ús   È?Q 	ÌQ	Ñ QÑQ&c                 ó  € V'       d   R M\        ^.4      pV P                  RVR7      pV'       g   V'       g   VP                  V4       R# VP                  VP                  RRR7      4       VP                  V4       R# )ó   
Útext©ÚflagsNÚutf8Úsurrogatepass©Úerrors)ÚbytesÚget_textrÕ   Úencode)	ÚpageÚtextoutÚGRIDÚfontsizeÚ
noformfeedÚ
skip_emptyr  Úeopr  s	   &&&&&&&  r   Úpage_simpler  +  s`   € ß‰%¤5¨"¨£;€CØ�=‰=˜ uˆ=Ó-€DßßØ�M‰M˜#ÔÙØ‡M�M�$—+‘+˜f¨_�+Ó=Ô>Ø‡M�M�#ÔÙ
r   c                 óH  € V'       d   R M\        ^.4      pV P                  RVR7      pV. 8X  d   V'       g   VP                  V4       R# VP                  R R7       V F,  p	VP                  V	^,          P	                  RRR7      4       K.  	  VP                  V4       R# )	r  Úblocksr  Nc                 ó&   € V ^,          V ^ ,          3# )é   © )Úbs   &r   Ú<lambda>Ú page_blocksort.<locals>.<lambda>>  s   € ˜q �t Q q¥T™lr   ©Úkeyr  r  r  )r
  r  rÕ   Úsortr  )
r  r  r  r  r  r  r  r  r  r  s
   &&&&&&&   r   Úpage_blocksortr   7  s�   € ß‰%¤5¨"¨£;€CØ�]‰]˜8¨5ˆ]Ó1€FØ�„|ßØ�M‰M˜#ÔÙØ
‡K�KÑ*€KÔ+ÛˆØ�‰�a˜•d—k‘k &°�kÓAÖBñ à‡M�M�#ÔÙ
r   c                 óì  aa!€ V'       d   R M\        ^.4      pR R lpR R lp	R VV!3R llp
R R lo!R	 pV P                  R
VR7      R,          pV
! WÀ4      w  rÞpppV. 8X  d   V'       g   VP                  V4       R# V	! Wâ4      pVP                  R R7       / pV F;  pVw   pppV! VV4      pVP	                  V. 4      pVP                  V4       VVV&   K=  	  \        VP                  4       4      pVP                  4        VV,
          p/ pV Fx  pVV,          p\        V4      pV^8  d   ^VV&   K%  V Uu. uF  pV^,          NK  	  ppVP                  4        \        P                  ! V4      pVV8  d   TpV^ ,          VV&   Kz  	  VVR,          V^ ,          ,
          ,          V\        V4      ,          ,          R,          pV^ ,          pVP                  R 4       V Fq  pVV8  d   VP                  R 4       VV,          pK#  V! VVVV,          VV,          4      p VP                  V R,           P                  RRR7      4       VV,           pKs  	  VP                  V4       R# u upi )r  c                óR   € V ^8„  d   QhR\         \        ,          R\        R\        /# )r¨   ÚvaluesÚvalueÚreturn)r   r_   )rp   s   "r   Ú__annotate__Ú!page_layout.<locals>.__annotate__I  s*   € ÷ Hñ H¤¤S¥	ð H´#ð H¼#ñ Hr   c                ó€   € \         P                  ! W4      pV'       d   W^,
          ,          # \        RVR RV  24      h)zÄFind the right row coordinate.

Args:
    values: (list) y-coordinates of rows.
    value: (int) lookup for this value (y-origin of char).
Returns:
    y-ccordinate of appropriate line for value.
z	Line for Úgz not found in )ÚbisectÚbisect_rightÚRuntimeError)r#  r$  ri   s   && r   Úfind_line_indexÚ$page_layout.<locals>.find_line_indexI  s=   € ô ×Ò Ó.ˆßØ˜a�%•=Ð Ü˜Y u¨Q i¨~¸f¸XÐFÓGÐGr   c                óF   € V ^8„  d   QhR\         \        ,          R\        /# )r¨   Úrowsr%  )r   r_   r   )rp   s   "r   r&  r'  X  s   € ÷ ñ œ#œc�(ð ¬Tñ r   c                 ó¾   € \        V 4      p V P                  4        V ^ ,          .pV R,           F*  pW2R,          V,           8¼  g   K  VP                  V4       K,  	  V# )r   :é   NNr+   )ra   r  r`   )r0  r  ÚnrowsÚhs   &&  r   Úcurate_rowsÚ page_layout.<locals>.curate_rowsX  sP   € Ü�D‹zˆØ�	‰	ŒØ�a•�	ˆØ�b—�ˆAØ˜"•I Õ$Ö$Ø—‘˜Q–ñ ð ˆr   c                óZ   € V ^8„  d   QhR\         \        ,          R\        P                  /# )r¨   r  r  )r   r   r   ÚPage)rp   s   "r   r&  r'  a  s"   € ÷ 23ñ 23œt¤D�zð 23´·±ñ 23r   c           
      ó¬  <€ \        4       pVP                  P                  pVP                  P                  pTpTp^ p. pV  EFŠ  p	V	R,           EFx  p
V
R,          R8w  d   K  V
R,          w  r¼rÞV^ 8  g   WÁP                  P                  8”  d   KC  Wì,
          pW_8”  d   TpV
R,           EF  pVR,          S8:  d   K  VR,           Fö  pVR,          w  ppppWÛ,
          pVR,          w  pp\	        \        V4      4      pVP                  V4       VR,          pVV8”  d
   VR	8w  d   TpW}8  d   TpV^ 8X  dp   V. 8w  di   VR,          w  ppppVV8X  dT   V\        R
4      8w  d   S! VV,           4      pM(VR8X  d   \        R4      pMVR8X  d   \        R4      pMTpVVVV3VR&   Ká  VP                  VVVV34       Kø  	  EK  	  EK{  	  EK�  	  W‚WgV3# )r   ÚlinesÚdirÚbboxÚspansrU   ÚcharsÚoriginÚcr   é û  ri   éû  rB   éû  )r2  r   r+   )	r¹   ÚrectÚwidthÚheightr_   rx   rò   Úchrr`   )r  r  r0  Ú
page_widthÚpage_heightÚ	rowheightÚleftÚrightr>  ÚblockÚlineÚx0Úy0Úx1Úy1rF  Úspanr@  rç   ÚcwidthÚoxÚoyÚchÚold_chÚold_oxÚold_oyÚ
old_cwidthÚligr  Újoinligatures   &&                          €€r   Úprocess_blocksÚ#page_layout.<locals>.process_blocksa  sË  ø€ Ü‹uˆØ—Y‘Y—_‘_ˆ
Ø—i‘i×&Ñ&ˆØˆ	ØˆØˆØˆÜˆEØ˜gŸ™�Ø˜•; &Ô(ÙØ!% f¥‘�˜Ø˜”6˜R§)¡)×"2Ñ"2Ô2Ùà��àÔ%Ø &�IØ  ŸM™M�DØ˜F•| xÔ/Ù Ø! 'Ÿ]˜]˜Ø'(¨¥y™˜˜A˜r 1Ø!#¥˜Ø!" 8¥™˜˜BÜ ¤ r£›^˜ØŸ™ œØ˜s�V˜Ø "œ9¨¨s¬Ø#%˜DØ œ:Ø$&˜Eà! Qœ;¨5°B¬;ØAFÀrÅÑ>˜F F¨F°JØ%¨œ|Ø#)¬S°«[Ô#8Ù*6°vÀµ{Ó*C¡Cà%'¨3¤YÜ*-¨f«+¡CØ%'¨3¤YÜ*-¨f«+¡Cà*0 CØ-0°&¸&À*Ð,M  b¡	Ù (ØŸ™ b¨"¨b°&Ð%9Ö:ô5 +ô *ô 'ñ ðT ˜D¨Ð2Ð2r   c                ó0   € V ^8„  d   QhR\         R\         /# )r¨   r\  r%  )r[   )rp   s   "r   r&  r'  •  s   € ÷ ñ œ#ð ¤#ñ r   c                ó  € V R8X  d   \        R4      # V R8X  d   \        R4      # V R8X  d   \        R4      # V R8X  d   \        R4      # V R	8X  d   \        R
4      # V R8X  d   \        R4      # V R8X  d   \        R4      # V # )z£Return ligature character for a given pair / triple of characters.

Args:
    lig: (str) 2/3 characters, e.g. "ff"
Returns:
    Ligature, e.g. "ff" -> chr(0xFB00)
ÚffrA  Úfiiû  Úfliû  ÚffirB  ÚfflrC  Úftiû  Ústiû  )rG  )r\  s   &r   r]  Ú!page_layout.<locals>.joinligature•  s€   € ð �$Œ;Ü�v“;ÐØ�DŒ[Ü�v“;ÐØ�DŒ[Ü�v“;ÐØ�EŒ\Ü�v“;ÐØ�EŒ\Ü�v“;ÐØ�DŒ[Ü�v“;ÐØ�DŒ[Ü�v“;ÐØˆ
r   c                ó  € RpRp^ p^ pV\         P                  8:  d   \        RVR 24      hV FÁ  pVw  ršr¼W ,
          p
W¬,           pWY8X  d   W§,
          VR,          8:  d   K4  V	R8X  d   Wj,
          V,          R8”  d   KQ  T	pW¦V,           8  d   WI,          pTpT
pKn  V	R8X  d   Kw  \        W¡,          4      \	        V4      ,
          pW¦8”  d   V^8”  d   VRV,          ,          pWI,          pTpT
pKÃ  	  VP                  4       # )aF  Produce the text of one output line.

Args:
    left: (float) left most coordinate used on page
    slot: (float) avg width of one character in any font in use.
    minslot: (float) min width for the characters in this line.
    chars: (list[tuple]) characters of this line.
Returns:
    text: (str) text string for this line
rY   z#program error: minslot too small = r)  gš™™™™™É?r   gš™™™™™é?)r   ÚEPSILONr,  r_   r>   Úrstrip)rK  ÚslotÚminslotÚlcharsr  Úold_charÚold_x1rY  r@  ÚcharrU  rç   rT  rQ  Údeltas   &&&&           r   Úmake_textlineÚ"page_layout.<locals>.make_textline¯  s  € ð ˆØˆØˆØˆØ”g—o‘oÔ%ÜÐ!DÀWÈQÀKÐPÓQÐQãˆAØ"#ÑˆD�aØ•ˆBØ•ˆBð Ô B¥K°6¸Cµ<Ô$?Ùð �sŒ{ ¥¨vÕ5¸Ô;ÙàˆHà˜WÕ$Ô$Ø•�Ø�Ø�Ùð
 �sŒ{ÙÜ˜�	“N¤S¨£YÕ.ˆEØŒ{˜u qœyØ˜˜e�Õ#�à�LˆDØˆFØŠFñA ðB �{‰{‹}Ðr   Úrawdictr  r  Nc                 ó   € V ^,          # )r2  r  )r@  s   &r   r  Úpage_layout.<locals>.<lambda>ñ  s   € ˜Q˜qžTr   r  g333333ó?Ú
r  r  r  r+   )r
  r  rÕ   r  Úgetr`   ra   r=   r>   Ú
statisticsÚmedianr  )"r  r  r  r  r  r  r  r  r-  r5  r^  rt  r  r>  r0  rK  rL  rJ  r:  r@  rç   rV  Úyro  r=   rm  ÚminslotsrA   ÚccountÚwidthsÚ	this_slotÚrowposr  r]  s"   &&&f&&&                          @r   Úpage_layoutrƒ  E  sD  ù€ ß‰%¤5¨"¨£;€CõHõ÷23ñ 23õhò43ðl �]‰]˜9¨Eˆ]Ó2°8Õ<€FÙ*8¸Ó*FÑ'€E��u˜ià�„{ßØ�M‰M˜#ÔÙá�tÓ"€Dð 
‡J�J‘>€JÔ"ð €EÛˆØ‰ˆˆ1ˆb�!Ù˜D "Ó%ˆØ—‘˜1˜bÓ!ˆØ�‰�aÔØˆˆa‹ñ ô �—
‘
“Ó€DØ‡I�I„Kð �4�<€DØ€HÛˆØ�q•ˆÜ�V“ˆØ�AŒ:ØˆH�Q‰KÙÙ &Ó'¡˜1�!�A—$�$¡ˆÐ'Ø�‰ŒÜ×%Ò% fÓ-ˆ	Ø�tÔØˆDØ˜Q•iˆ�‹ñ ð ˜T "�X¨¨Q­Õ/Õ0°IÄÀDÃ	Õ4IÕJÈSÕP€IØ�!�W€FØ‡M�M�%ÔÛˆØ�qŒjØ�M‰M˜%Ô Ø�iÕŠFÙ˜T 4¨°!­°e¸AµhÓ?ˆØ�‰�t˜d•{×*Ñ*¨6¸/Ð*ÓJÔKØ�Y•Šñ ð ‡M�M�#Öùò' (s   Ä>I1c                 ó¨  € \        V P                  V P                  R R7      p\        V P                  VP
                  ^,           4      pV P                  pVf5   \        P                  P                  VP                  4      w  rEVR,           p\        VR4      ;_uu_ 4       p\        P                  \        P                  ,          pV P                  '       d   V\        P                  ,          pV P                   '       d   V\        P                  ,          pV P"                  '       d   V\        P$                  ,          pR\&        R\(        R\*        /pV FY  p	W^,
          ,          p
W€P,                  ,          ! V
VV P.                  V P0                  V P2                  V P4                  VR7       K[  	  RRR4       R#   + '       g   i     R# ; i)	Fr�   Nz.txtrÎ   Úsimpler  Úlayoutr  )r9   rt   r4   rl   r‚   rz   r    ru   rv   Úsplitextr2   r,   r   ÚTEXT_PRESERVE_LIGATURESÚTEXT_PRESERVE_WHITESPACEÚconvert_whiteÚnoligaturesÚextra_spacesÚTEXT_INHIBIT_SPACESr  r   rƒ  ÚmodeÚgridr  r  r  )r‡   r!   rŒ   r    r3   rç   r  r  Úfuncr�   r  s   &          r   Úgettextr‘  &  sK  € Ü
�D—J‘J §¡°5Ô
9€CÜ�T—Z‘Z §¡°!Õ!3Ó4€EØ�[‰[€FØ‚~Ü—g‘g×&Ñ& s§x¡xÓ0‰ˆØ˜FÕ"ˆÜ	ˆf�d×	Ô	˜wÜ×/Ñ/´'×2RÑ2RÕRˆØ××ÐØ”W×5Ñ5Õ5ˆEØ××ÐØ”W×4Ñ4Õ4ˆEØ××ÐØ”W×0Ñ0Õ0ˆEà”kØ”nØ”kð
ˆó
 ˆCØ˜Q•w•<ˆDØ—‘ŽOØØØ—	‘	Ø—‘Ø—‘Ø—‘Ø÷ñ ÷ 
×	×	Ò	ús   Â"A G Ä(G Ä,B
G Ç G	c                 ó^   € \         P                  ! R 4       \         P                  ! R4       R# )zThis is from PyMuPDF message().zThis is from PyMuPDF log().N)r   r   Úlog)r‡   s   &r   Ú	_internalr”  G  s   € Ü‡O‚OÐ5Ô6Ü‡K‚KÐ-Ö.r   c                 óÌ  € \         P                  ! R\        R4      R7      p V P                  RRR7      pVP	                  R\        R4      R	7      pVP                  R
\        RR7       VP                  RRR7       VP                  RRRR7       VP                  RRRR7       VP                  RRRR7       VP                  R\        RR7       VP                  R\        RR7       VP                  \        R7       VP	                  R\        R4      R	7      pVP                  R
\        RR7       VP                  R\        R R7       VP                  RRR7       VP                  R!R"R™R#R$7       VP                  R%\        R&R7       VP                  R'\        R(R7       VP                  R)\        R*\        ^4      ^ R+7       VP                  R,RR-R.R/7       VP                  R0RR-R1R/7       VP                  R2RR-R3R/7       VP                  R4\        RšR5R67       VP                  R7RR-R8R/7       VP                  R9RR-R:R/7       VP                  RR;R7       VP                  \        R7       VP	                  R<\        R=4      R>R?7      pVP                  R
R@RARB7       VP                  RCRDRERF7       VP                  \        R7       VP	                  RG\        RH4      R	7      pVP                  R
\        RR7       VP                  RIRRJR7       VP                  RKRRLR7       VP                  RCRMR7       VP                  RRR7       VP                  R\        RNR7       VP                  \        R7       VP	                  RO\        RP4      R	7      pVP                  R
RR7       VP                  RQRRR7       VP                  RSRRTR7       VP                  RRR7       VP                  \        R7       VP	                  RU\        RV4      R	7      pVP                  R
RR7       VP                  RRR7       VP                  RCRWR7       VP                  RQRDRXRF7       VP                  RYRDRZRF7       VP                  R[R\R7       VP                  \        R7       VP	                  R]\        R^4      R	7      pVP                  R
RR7       VP                  RRR7       VP                  RCRWR7       VP                  RQRDR_RF7       VP                  \         R7       VP	                  R`\        Ra4      RbR?7      pVP                  R
RR7       VP                  RQRDRcRF7       VP                  RRR7       VP                  RCRdR7       VP                  RYReR7       VP                  RfRgR7       VP                  RhRiR7       VP                  R[RjR7       VP                  \"        R7       VP	                  Rk\        Rl4      R	7      p	V	P                  R
\        RR7       V	P                  RQRDRcRF7       V	P                  RRR7       V	P                  RmR-RRnRo7       V	P                  RCRpR7       V	P                  \$        R7       VP	                  Rq\        Rr4      R	7      p
V
P                  R
\        RsR7       V
P                  RRtR7       V
P                  RCRuR7       V
P                  RvRDRwRF7       V
P                  RxRyR7       V
P                  RQR@RzRB7       V
P                  \&        R7       VP	                  R{\        R|4      R	7      pVP                  R
\        R}R7       VP                  RR~R7       VP                  R\        R€R›R�R+7       VP                  R\        R‚RƒR„7       VP                  R…RR†R-R‡7       VP                  RˆRR‰R-R‡7       VP                  RŠRR‹R-R‡7       VP                  RŒRR�R-R‡7       VP                  RŽRR�R-R‡7       VP                  RCR�R7       VP                  R‘\(        R’^R„7       VP                  R“\(        R”^R„7       VP                  \*        R7       VP	                  R•\        R–4      R	7      pVP                  \,        R7       V P/                  4       p\1        VR—4      '       g   V P3                  4        R˜# VP5                  V4       R˜# )œzDefine command configurations.r   zBasic PyMuPDF Functions)ÚprogÚdescriptionÚSubcommandsz/Enter 'command -h' for subcommand specific help)ÚtitleÚhelpr5   zdisplay PDF information)r—  rt   zPDF filename)rõ   rš  z	-passwordr4   )rš  z-catalogÚ
store_truezshow PDF catalog)Úactionrš  z-trailerzshow PDF trailerz	-metadatazshow PDF metadataz-xrefsz&show selected objects, format: 1,5-7,Nz-pagesz'show selected pages, format: 1,5-7,50-N)r�  r“   z.optimize PDF, or create sub-PDF if pages givenr    zoutput PDF filenamez-encryptionzencryption methodrž   )rš  ÚchoicesÚdefaultz-ownerzowner passwordz-userzuser passwordz-garbagezgarbage collection level)rõ   rš  r�  rž  z	-compressFzcompress (deflate) output)rœ  rž  rš  z-asciizASCII encode binary dataz-linearzformat for fast web displayz-permissionzinteger with permission levels)rõ   rž  rš  z	-sanitizezsanitize / clean contentsz-prettyzprettify PDF structurez/output selected pages pages, format: 1,5-7,50-Nr©   zjoin PDF documentsz3specify each input as 'filename[,password[,pages]]')r—  ÚepilogÚ*zinput filenames)Únargsrš  z-outputTzoutput filename)Úrequiredrš  Úextractz extract images and fonts to diskz-imageszextract imagesz-fontszextract fontsz-folder to receive output, defaults to currentz-consider these pages only, format: 1,5-7,50-Nz
embed-infozlist embedded filesz-namezif given, report only this onez-detailzdetail informationz	embed-addzadd embedded filez-output PDF filename, incremental save if nonezname of new entryz-pathzpath to data for new entryz-desczdescription of new entryz	embed-delzdelete embedded filezname of entry to deletez	embed-updzupdate embedded filez*except '-name' all parameters are optionalzname of entryz-Output PDF filename, incremental save if nonezpath to new data for entryz	-filenameznew filename to store in entryz
-ufilenamez&new unicode filename to store in entryz!new description to store in entryzembed-extractzextract embedded file to diskz-unsafezPallow write to stored name even if an existing file or outside current directory)rž  rœ  rš  z'output filename, default is stored namez
embed-copyz copy embedded files between PDFszPDF to receive embedded fileszpassword of inputz2output PDF, incremental save to 'input' if omittedz-sourcezcopy embedded files from herez
-pwdsourcezpassword of 'source' PDFzrestrict copy to these entriesr‘  z(extract text in various formatting modeszinput document filenamezpassword for input documentz-modez-mode: simple, block sort, or layout (default)r†  z select pages, format: 1,5-7,50-Nz1-N)rõ   rš  rž  z-noligaturesz*expand ligature characters (default False))rœ  rš  rž  z-convert-whitez6convert whitespace characters to white (default False)z-extra-spacesz%fill gaps with spaces (default False)z-noformfeedz-write linefeeds, no formfeeds (default False)z-skip-emptyz+suppress pages with no text (default False)z3store text in this file (default inputfilename.txt)z-gridz+merge lines if closer than this (default 2)z	-fontsizez4only include text with a larger fontsize (default 3)Úinternalzinternal testingr�  Nrœ   r+   )r…  r  r†  )ÚargparseÚArgumentParserr   Úadd_subparsersÚ
add_parserÚadd_argumentr[   Úset_defaultsr5   r_   rb   r“   r¯   r   rè   rß   rÌ   rã   rØ   rÄ   Úfloatr‘  r”  Ú
parse_argsÚhasattrÚ
print_helpr�  )ÚparserÚsubpsÚps_showÚps_cleanÚps_joinÚ
ps_extractÚps_embed_addÚps_embed_delÚps_embed_updÚps_embed_extractÚps_embed_copyÚ
ps_gettextÚps_internalr‡   s                 r   Úmainr¼  K  s$
  € ä×$Ò$ØÜÐ6Ó7ô€Fð ×!Ñ!ØÐ"Sð "ó €Eð ×Ñ˜v´8Ð<UÓ3VÐÓW€GØ×Ñ˜¤s°ÐÔ@Ø×Ñ˜¨:ÐÔ6Ø×Ñ˜¨LÐ?QÐÔRØ×Ñ˜¨LÐ?QÐÔRØ×Ñ˜¨\Ð@SÐÔTØ×ÑØ”sÐ!Ið ô ð ×ÑØ”sÐ!Jð ô ð ×ÑœdÐÔ#ð
 ×ÑØœXÐ&VÓWð  ó €Hð ×Ñ˜'¬°.ÐÔAØ×Ñ˜(¬Ð3HÐÔIØ×Ñ˜+¨JÐÔ7à×ÑØØ ØKØð	 ô ð ×Ñ˜(¬Ð3CÐÔDØ×Ñ˜'¬°/ÐÔBà×ÑØÜØ'Ü�a“Øð ô ð ×ÑØØØØ(ð	 ô ð ×ÑØ˜¨uÐ;Uð ô ð ×ÑØØØØ*ð	 ô ð ×ÑØœC¨Ð2Rð ô ð ×ÑØØØØ(ð	 ô ð ×ÑØ˜,°Ð<Tð ô ð ×ÑØÐHð ô ð ×ÑœuÐÔ%ð
 ×ÑØÜÐ1Ó2ØDð ó €Gð
 ×Ñ˜¨Ð2CÐÔDØ×Ñ˜¨TÐ8IÐÔJØ×ÑœhÐÔ'ð
 ×!Ñ!ØœxÐ(JÓKð "ó €Jð ×Ñ˜G¬#°NÐÔCØ×Ñ˜I¨lÐAQÐÔRØ×Ñ˜H¨\ÀÐÔPØ×ÑØÐGð ô ð ×Ñ˜K¨jÐÔ9Ø×ÑØ”sÐ!Pð ô ð ×Ñ¤ÐÔ1ð
 ×ÑØ¤(Ð+@Ó"Að ó €Gð ×Ñ˜ ~ÐÔ6Ø×Ñ˜Ð'GÐÔHØ×Ñ˜¨<Ð>RÐÔSØ×Ñ˜¨:ÐÔ6Ø×ÑœmÐÔ,ð
 ×#Ñ#Ø¤Ð*=Ó!>ð $ó €Lð ×Ñ˜g¨NÐÔ;Ø×Ñ˜k°
ÐÔ;Ø×ÑØÐGð ô ð ×Ñ˜g°Ð;NÐÔOØ×Ñ˜g°Ð;WÐÔXØ×Ñ˜gÐ,FÐÔGØ×Ñ¤<ÐÔ0ð
 ×#Ñ#Ø¤Ð*@Ó!Að $ó €Lð ×Ñ˜g¨NÐÔ;Ø×Ñ˜k°
ÐÔ;Ø×ÑØÐGð ô ð ×Ñ˜g°Ð;TÐÔUØ×Ñ¤<ÐÔ0ð
 ×#Ñ#ØÜÐ3Ó4Ø;ð $ó €Lð
 ×Ñ˜g¨NÐÔ;Ø×Ñ˜g°¸?ÐÔKØ×Ñ˜k°
ÐÔ;Ø×ÑØÐGð ô ð ×Ñ˜gÐ,HÐÔIØ×Ñ˜kÐ0PÐÔQØ×ÑØÐCð ô ð ×Ñ˜gÐ,OÐÔPØ×Ñ¤<ÐÔ0ð
 ×'Ñ'Ø¤XÐ.MÓ%Nð (ó Ðð ×!Ñ! '´¸.Ð!ÔIØ×!Ñ! '°D¸Ð!ÔOØ×!Ñ! +°JÐ!Ô?Ø×!Ñ! )°UÀ<Ø_ð "ô ð ×!Ñ!ØÐAð "ô ð ×!Ñ!¤|Ð!Ô4ð
 ×$Ñ$Ø¤(Ð+MÓ"Nð %ó €Mð ×Ñ˜w¬SÐ7VÐÔWØ×Ñ˜{Ð1DÐÔEØ×ÑØÐLð ô ð ×ÑØ˜DÐ'Fð ô ð ×Ñ˜|Ð2LÐÔMØ×ÑØ�sÐ!Að ô ð ×Ñ¤MÐÔ2ð
 ×!Ñ!ØœxÐ(RÓSð "ó €Jð ×Ñ˜G¬#Ð4MÐÔNØ×Ñ˜KÐ.KÐÔLØ×ÑØÜØ<Ø.Øð ô ð ×ÑØÜØ/Øð	 ô ð ×ÑØØØ9Øð	 ô ð ×ÑØØØEØð	 ô ð ×ÑØØØ4Øð	 ô ð ×ÑØØØ<Øð	 ô ð ×ÑØØØ:Øð	 ô ð ×ÑØØBð ô ð ×ÑØÜØ:Øð	 ô ð ×ÑØÜØCØð	 ô ð ×Ñ¤ÐÔ)ð
 ×"Ñ"Ø¤Ð);Ó <ð #ó €Kð ×Ñ¤)ÐÔ,ð
 ×ÑÓ€DÜ�4˜× Ò Ø×ÑÖà�	‰	�$Žr   Ú__main__)FT)r  )"r¥  r*  ru   r.   r{  Útypingr   r   r   rY   r   r   r&   r9   rE   rV   rl   r5   r“   r¯   rÄ   rÌ   rØ   rß   rã   rè   r   r  r   rƒ  r‘  r”  r¼  Ú__name__r  r   r   Ú<module>rÀ     s¯   ðó Û Û 	Û 
Û ß "Ñ "å ò&ò!ôHò,òô.,ò^<ò~,ò^ò*%òPò&ò*òD/òd"òJ?òD	òò^òBòB/òrðj	 ˆzÔÙ†Fñ r   