
    (ph"                       S SK Jr  S SKrS SKrS SKrS SKrS SKJr  SSKJ	r	J
r
JrJrJrJr  SS jrS rSS jr\	R$                  " S	\5        \	R&                  " S	\5        \	R(                  " S	S
5        \	R*                  " S	S5        g)    )annotationsN)IO   )Image	ImageFileImageSequence	PdfParser__version__featuresc                    [        XUSS9  g )NT)save_all)_save)imfpfilenames      E/var/www/html/venv/lib/python3.13/site-packages/PIL/PdfImagePlugin.py	_save_allr   +   s    	"(T*    c                   S nS nU R                   u  pgSS0nU R                  S:X  ar  [        R                  " S5      (       a8  Sn	SUS'   [        R
                  " [        R                  " SSUUS	.5      /5      nOS
n	[        R                  " S5      US'   Sn
GOU R                  S:X  a  S
n	[        R                  " S5      US'   Sn
GOrU R                  S:X  a  Sn	Sn
SUS'   GOWU R                  S:X  a  Sn	U R                  5       n[        R                  " S5      [        R                  " S5      [        U5      S-  S-
  [        R                  " U5      /US'   Sn
SU R                  ;   a:  U R                  S5      R                  S5      n0 Ul        [        XX#5      S   nXS'   OU R                  S:X  a  S
n	[        R                  " S5      US'   Sn
OfU R                  S:X  a
  Sn	Sn
SUS'   OLU R                  S:X  a"  S
n	[        R                  " S 5      US'   Sn
/ S!QnOS"U R                   3n[!        U5      e["        R$                  " 5       nU	S:X  a4  [&        R(                  " XS#S$U R                   -   SU R                  4/5        OU	S:X  a-  U R+                  US%S&[,        R.                  " US-  5      U-  S'9  OVU	S
:X  a  [0        R2                  S(   " XU5        O5U	S:X  a  US	 [0        R2                  S)   " XU5        OS*U	 S+3n[!        U5      eUR5                  5       nU	S:X  a1  USS  n[        R
                  " [        R                  " U	5      /5      n	O[        R                  " U	5      n	UR7                  S5      nUR8                  " U4U[        R                  " S,5      [        R                  " S-5      UUU	UUS..UD6  X4$ )/NBitsPerComponent   1libtiffCCITTFaxDecoder   T)KBlackIs1ColumnsRows	DCTDecode
DeviceGray
ColorSpaceImageBLLA	JPXDecodeSMaskInDataPASCIIHexDecodeIndexed	DeviceRGB   ImageItransparencyAr   SMaskRGBImageCRGBACMYK
DeviceCMYK)r   r   r   r   r   r   r   r   zcannot save mode hex)r   r   TIFFgroup4)compression
strip_sizeJPEGJPEG2000zunsupported PDF filter ()XObjectr   )streamTypeSubtypeWidthHeightFilterDecodeDecodeParms)sizemoder   checkr	   PdfArrayPdfDictPdfName
getpalettelen	PdfBinaryinfoconvert
getchannelencoderinfo_write_image
ValueErrorioBytesIOr   r   savemathceilr   SAVEgetvaluepop	write_obj)r   r   existing_pdf
image_refsparamsdecodewidthheightdict_objfilterprocsetpalettesmask	image_refmsgopr?   s                    r   rT   rT   3   s   
 FF
 GGME"A&H	ww#~>>)$$%F+,H'(''%%!#(,',$*		F !F!*!2!2<!@	C!*!2!2<!@	D"#	C!--/i(k*LA!(	"
 RWW$JJt$//4E "E$UlOPQRI )W	E	!*!2!2;!?	F	"#	F	!*!2!2<!@)!"''+o
 
B!!%"'')91bgg!F GH	#	#
 yy+f4 	 	
 
;	

628,	;	'(

:rx0(2o[[]F!!##Y%6%6v%>$?@""6*q!Iy)!!'*  r   c                X	   U R                   R                  SS5      nU(       a  [        R                  " XSS9nO[        R                  " XSS9nU R                   R                  S5      nU(       a  US   nUS   nOU R                   R                  S	S
5      =pxU(       a  S O>[        R                  R                  [        R                  R                  U5      5      S   S S S S S U(       a  S O[        R                  " 5       U(       a  S O[        R                  " 5       S.n	U	R                  5        H_  u  pXR                   ;   a  U R                   R                  U
5      OUnU(       d  M:  XR                  U
S   R                  5       U
SS  -   '   Ma     U R                  5         UR                  5         UR                  5         UR                  S[          S35        U /nU(       aU  U R                   R                  S/ 5      nU H3  nU R                   R#                  5       Ul         UR%                  U5        M5     Sn/ n/ n/ nU H  n SnU(       a   U R&                  nUU-  n[+        U5       H  nUR%                  UR-                  S5      5        U R.                  S:X  a0  SU R                  ;   a   UR%                  UR-                  S5      5        UR%                  UR-                  S5      5        UR%                  UR-                  S5      5        UR0                  R%                  US   5        M     M     UR3                  5         SnU GH  nU(       a  [4        R6                  " U5      OU/nU H  n [9        XUU5      u  nnUR;                  UU   [        R<                  " [        R>                  " S5      [        R>                  " U5      /[        R<                  " US9S9SSU R@                  S
-  U-  U RB                  S
-  U-  /UU   S9  SU R@                  S
-  U-  U RB                  S
-  U-  4-  nURE                  UU   US9  US-  nM     GM
     URG                  5         [I        US5      (       a  URK                  5         URM                  5         g ! [(         a     GNHf = f)NappendFzr+b)fr   rH   zw+bdpir   r   
resolutiong      R@)titleauthorsubjectkeywordscreatorproducercreationDatemodDatezcreated by Pillow z PDF driverappend_imagesr(   r.   r   PDF)image)ProcSetr>   )	ResourcesMediaBoxContentss   q %f 0 0 %f 0 0 cm /image Do Q
)r?   flush)'rS   getr	   ospathsplitextbasenametimegmtimeitemsrP   upperloadstart_writingwrite_headerwrite_commentr
   copyrn   n_framesAttributeErrorrangenext_object_idrH   pageswrite_catalogr   IteratorrT   
write_pagerK   rL   rc   rd   r^   write_xref_and_trailerhasattrr   close)r   r   r   r   is_appendingr_   rp   x_resolutiony_resolutionrP   kdefaultvimsrz   	append_imnumber_of_pagesr`   	page_refscontents_refsim_number_of_pagesipage_numberim_sequenceim_pagesrj   rg   page_contentss                               r   r   r      s'   >>%%h6L **RO **RO
..

U
#C
1v1v&(nn&8&8t&LL !Dbgg&6&6rww7G7G7Q&RST&U ,$++-'4T[[]D jjl
%&..%8BNNq!g167adjjlQqrU23 # GGI !3K=LM $C**?B?&I$&NN$7$7$9I!JJy! ' OJIM%'[["
 	--)*Al99!<=ww#~.BGG";!!,"="=a"@A\88;<  !<!<Q!?@%%im4 + *  K:B=))+6B!-bL*!UIw
 ##+&#++&..u5y7H7H7QR%--I>
 HHtOl2II$|3	 '{3 $ $ @4,.		D </C M
 ""=#=m"T1K?  J '')r7

w "  s   R
R)(R)r{   z.pdfzapplication/pdf)r   zImage.Imager   z	IO[bytes]r   zstr | bytesreturnNone)F)
__future__r   rV   rY   r   r   typingr    r   r   r   r	   r
   r   r   rT   r   register_saveregister_save_allregister_extensionregister_mime r   r   <module>r      su   , # 	  	   O O+{|st   E5 !   y )    '   E, -r   