+
    Œvjæ   ã                   óø  € R t Rt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
HtHt ^ RIHt  ! R	 R
4      t]R8X  d·   ]P"                  P%                  ]P"                  P'                  ]P(                  4      RR4      t]P"                  P-                  ]4      '       g   Q R4       h^]n        ]! ]^d^d4      t]P2                  ! 4       t]! R]P8                  4       ]! ]P;                  ]4      4       R# R# )z3.3.0z@
Image functionality sliced out of canvas.py for generalization
N)Ú	rl_config)Úpdfutils)Úpdfdoc)ÚisStr)Úfp_strÚasciiBase85Encode)ÚaspectRatioFixc                   óf   a € ] tR t^t o RtRR ltR tR tR tR t	R t
RR	 ltRR
 ltR tRtV tR# )ÚPDFImagezíWrapper around different "image sources".  You can make images
from a PIL Image object, a filename (in which case it uses PIL),
an image we previously cached (optimisation, hardly used these
days) or a JPEG (which PDF supports natively).Nc                ó´   € Wn         W n        W0n        W@n        WPn        R V n        W`n        RV n        ^V n        . V n	        R V n
        V P                  4        R # )NÚ	DeviceRGB)ÚimageÚxÚyÚwidthÚheightÚfilenameÚimageCachingÚ
colorSpaceÚbitsPerComponentÚfiltersÚsourceÚgetImageData)Úselfr   r   r   r   r   Úcachings   &&&&&&&Ú^/var/www/html/daimler-pipeline/venv/lib/python3.14/site-packages/reportlab/pdfgen/pdfimages.pyÚ__init__ÚPDFImage.__init__   sS   € ØŒ
ØŒØŒØŒ
ØŒØˆŒØ#Ôð &ˆŒØ !ˆÔØˆŒØˆŒØ×ÑÖó    c                ó    € \        V P                  R 4      p V P                  V4      pVP                  4        V#   TP                  4        i ; i)Úrb)Úopenr   Ú_jpg_imagedataÚclose)r   ÚfpÚresults   &  r   Újpg_imagedataÚPDFImage.jpg_imagedata*   sD   € ô �$—*‘*˜dÓ#ˆð	Ø×(Ñ(¨Ó,ˆFà�H‰HŒJØˆøð �H‰H�Jús	   ˜; »Ac                óþ  € \         P                  ! V4      pR V n        V^ ,          V^,          rCV^,          ^8X  d   RpMV^,          ^8X  d   RpMRpVP                  ^ 4       . pTP	                  RY4T\
        P                  ;'       d    R;'       g    R3,          4       VP                  4       p\
        P                  '       d   \        V4      p\         P                  ! Wv4       VP	                  R4       WcV3# )ÚJPEGÚ
DeviceGrayr   Ú
DeviceCMYKz,BI /W %d /H %d /BPC 8 /CS /%s /F [%s/DCT] IDú/A85 Ú ÚEI)
r   ÚreadJPEGInfor   ÚseekÚappendr   ÚuseA85Úreadr   Ú_chunker)r   Ú	imageFileÚinfoÚimgwidthÚ	imgheightr   Ú	imagedataÚdatas   &&      r   r"   ÚPDFImage._jpg_imagedata4   sþ   € Ü×$Ò$ YÓ/ˆØˆŒØ" 1�g t¨A¥w�)Ø��7�aŒ<Ø%‰JØ�!�W˜Œ\Ø$‰Jà%ˆJØ�‰�qÔØˆ	à×ÑÐGÈ8Ð`jÔlu×l|Ñl|÷  mIð  mIð  BI÷  mOð  mOð  MOð  KPõ  Pô  	Qà�~‰~ÓˆÜ××ÐÜ$ TÓ*ˆDÜ×Ò˜$Ô)Ø×Ñ˜ÔØ YÐ/Ð/r   c                óš  € V P                   p\        P                  ! V4      '       g   \        P                  ! V4       \        P
                  P                  V4      ^ ,          \        P                  ;'       d    R;'       g    R,           p\        VR4      P                  4       p\        \        \        P                  V4      4      pV# )é    z.a85z.binr    )r   r   ÚcachedImageExistsÚcacheImageFileÚosÚpathÚsplitextr   r2   r!   Ú	readlinesÚlistÚmapÚstrÚstrip)r   r   Ú
cachednamer9   s   &   r   Úcache_imagedataÚPDFImage.cache_imagedataJ   s‘   € Ø—
‘
ˆÜ×)Ò)¨%×0Ò0Ü×#Ò# EÔ*ô —W‘W×%Ñ% eÓ,¨QÕ/´9×3CÑ3C×3NÐ3NÈ×3XÐ3XÐRXÕYˆ
Ü˜ DÓ)×3Ñ3Ó5ˆ	äœœSŸY™Y¨	Ó2Ó3ˆ	ØÐr   c                óv  € ^ RI pV P                  pVP                  R8X  d/   VP                  pVP	                  ^ 4       V P                  V4      # RV n        ^pVP                  R8X  d   TpRp^pMGVP                  R8X  d
   TpRp^p^pM-VP                  R8X  d   TpRp^pMVP                  R	4      pR	p^pVP                  w  r‰R
Y‰YF\        P                  ;'       d    R;'       g    R3,          .p
\        VR4      '       d   VP                  MVP                  ! 4       pW„,          V,          ^,           ^,	          p\        V4      WÉ,          8X  g   Q R4       hVP!                  V4      p\        P                  '       d   \#        V4      p\$        P&                  ! WÚ4       V
P)                  R4       W¨V	3# )r=   Nr)   ÚPILÚCMYKr+   Ú1r*   ÚLÚRGBz,BI /W %d /H %d /BPC %d /CS /%s /F [%s/Fl] IDr,   r-   ÚtobyteszWrong amount of data for imager.   )Úzlibr   Úformatr$   r0   r"   r   ÚmodeÚconvertÚsizer   r2   ÚhasattrrQ   ÚtostringÚlenÚcompressr   r   r4   r1   )r   rR   r   r$   ÚbpcÚmyimager   Úbppr7   r8   r9   ÚrawÚ	rowstrider:   s   &             r   ÚPIL_imagedataÚPDFImage.PIL_imagedataV   s¹  € ÛØ—
‘
ˆØ�<‰<˜ÔØ�x‰xˆBØ�G‰G�AŒJØ×&Ñ& rÓ*Ð*ØˆŒàˆà�:‰:˜ÔØˆGØ%ˆJØ‰CØ�Z‰Z˜3ÔØˆGØ%ˆJØˆCØ‰CØ�Z‰Z˜3ÔØˆGØ%ˆJØ‰Cà—m‘m EÓ*ˆGØˆJØˆCØ%Ÿl™lÑˆð BÀXÐZ]Ôkt×k{Ñk{÷  lHð  lHð  AH÷  lNð  lNð  LNð  EOõ  Oð  Pˆ	ô #*¨'°)×"<Ò"<ˆw�ŠÀ'×BRÑBRÐRÓUˆØ•\ #Õ% aÕ'¨!Õ+ˆ	Ü�3‹x˜9Õ.Ô.ÐPÐ0PÓPÐ.Ø�}‰}˜SÓ!ˆÜ××ÐÜ$ TÓ*ˆDä×Ò˜$Ô)Ø×Ñ˜ÔØ YÐ/Ð/r   c                óö   € V P                   '       g   \        P                  ! V^R7      pMV P                  4       pV^,          P	                  4       p\        V^,          4      p\        V^,          4      pW$V3# )é   )ÚreturnInMemory)r   r   r?   rI   ÚsplitÚint)r   r   r9   Úwordsr7   r8   s   &&    r   Únon_jpg_imagedataÚPDFImage.non_jpg_imagedata„   se   € Ø× × Ð Ü ×/Ò/°ÀQÔG‰Ià×,Ñ,Ó.ˆIØ˜!•×"Ñ"Ó$ˆÜ�u˜Q•x“=ˆÜ˜˜a�“Mˆ	Ø IÐ-Ð-r   c                óâ  € V P                   p\        V4      '       d\   W n        \        P                  P                  V4      ^,          R9   d    V P                  4       w  r4pM(V P                  V4      w  r4pMV P                  4       w  r4pW0n	        W@n
        WPn        V P                  ;'       g    TV n        V P                  ;'       g    TV n        R#    T P                  T4      w  r4p Lb; i)z1Gets data, height, width - whatever type of imageN)z.jpgz.JPGz.jpegz.JPEG)r   r   r   r@   rA   rB   r&   rh   r`   Ú	imageDatar7   r8   r   r   )r   ÚpreserveAspectRatior   r9   r7   r8   s   &&    r   r   ÚPDFImage.getImageDataŽ   sË   € à—
‘
ˆä��<Š<Ø!ŒMÜ�w‰w×Ñ Ó& qÕ)Ð-OÔOðSØ59×5GÑ5GÓ5IÑ2�I©ð 26×1GÑ1GÈÓ1NÑ.�	¡Yà-1×-?Ñ-?Ó-AÑ*ˆI Ø"ŒØ ŒØ"ŒØ—Z‘Z×+Ð+ 8ˆŒ
Ø—k‘k×.Ð. YˆŽøðSØ59×5KÑ5KÈEÓ5RÑ2�Iªús   ÁC ÃC.c                ó  € V P                   pV P                  pVR8  g   VR8  d   R# \        W#V P                  V P                  WxV P
                  V P                  V4	      w  ršV n         V n        pVP                  '       g	   W¨,           p
VP                  P                  R\        V P                   4      : R\        V P                  Wš4      : R24       V P                   pV P                  pV P                   F  pVP                  P                  V4       K   	  VP                  P                  R4       V'       d   VP                  WYW§V4       V'       d+   VP                  4        F  p\        4       V,          Wm&   K  	  R# )zÀDraw an Image into the specified rectangle.  If width and
height are omitted, they are calculated from the image size.
Also allow file names as well as images.  This allows a
caching mechanismg�íµ ÷Æ°>Fzq z 0 0 z cmÚQT)r   r   r   r   r   r7   r8   ÚbottomupÚ_coder1   r   rk   ÚdrawBoundaryÚkeysÚvars)r   Úcanvasrl   ÚanchorÚ
anchorAtXYÚshowBoundaryÚextraReturnr   r   r   r   ÚscaledÚlineÚks   &&&&&&&       r   ÚdrawInlineImageÚPDFImage.drawInlineImage£   s4  € ð —
‘
ˆØ—‘ˆØ�Œ:˜ œ©UÜ-;Ð<OÐW[×W]ÑW]Ð^b×^dÑ^dÐejÐrv×rÑrð  AE÷  AOñ  AOð  PZó  .[Ñ*ˆˆDŒJ�t”{ Fà��ˆ A¥H Ø�‰×Ò´°t·z±zÖ0BÄFÈ4Ï;É;ÐXYÖD]Ð^Ô_Ø—
‘
ˆØ—‘ˆà—N”NˆDØ�L‰L×Ñ Ö%ñ #à�‰×Ñ˜CÔ ßØ×Ñ ¨q°vÔ>ßØ ×%Ñ%Ö'�Ü!%£¨¥�“ñ (ár   c                óf  € \         P                  ! 4       pRVR&   RVR&   V P                  VR&   V P                  VR&   ^VR&   \         P                  ! V P
                  4      VR&   R	P                  V P                  ^R 4      R	,           p\         P                  ! W#R
7      pVP                  V4      # )zlAllow it to be used within pdfdoc framework.  This only
defines how it is stored, not how it is drawn later.z/XObjectÚTypez/ImageÚSubtypeÚWidthÚHeightÚBitsPerComponentÚ
ColorSpaceÚ
)Ú
dictionaryÚcontentéÿÿÿÿ)
r   ÚPDFDictionaryr   r   ÚPDFNamer   Újoinrk   Ú	PDFStreamrS   )r   ÚdocumentÚdictrˆ   Ústrms   &&   r   rS   ÚPDFImage.format½   s�   € ô ×#Ò#Ó%ˆØ!ˆˆV‰Ø"ˆˆY‰ØŸ
™
ˆˆW‰ØŸ™ˆˆX‰Ø#$ˆÐÑ Ü#Ÿ^š^¨D¯O©OÓ<ˆˆ\ÑØ—)‘)˜DŸN™N¨1¨RÐ0Ó1°DÕ8ˆÜ×Ò¨4ÔAˆØ�{‰{˜8Ó$Ð$r   )r   r   r   r   r   r   r   rk   r8   r7   r   r   r   r   )NNr=   )F)FÚswFFN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r&   r"   rI   r`   rh   r   r}   rS   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r
   r
      s=   ø‡ € ñ6ô
ò"ò0ò,
ò,0ò\.ô/ô*÷4%ð %r   r
   Ú__main__Útestzpythonpowered.gifzimage not foundzsource=)Ú__version__r—   r@   Ú	reportlabr   Úreportlab.pdfbaser   r   Úreportlab.lib.utilsr   Úreportlab.lib.rl_accelr   r   Úreportlab.lib.boxstuffr   r
   r“   rA   rŒ   ÚdirnameÚ__file__ÚsrcfileÚisfileÚ
LongFormatÚimgÚPDFDocumentÚdocÚprintr   rS   © r   r   Ú<module>r­      sÚ   ðð €ð	€ó 
Û Ý Ý &Ý $Ý %ß <Ý 1÷w%ñ w%ðr ˆZÔØ�g‰g�l‰lØ—‘—‘ 	× 2Ñ 2Ó3ØØ#ó€Gð
 �7‰7�>‰>˜'×"Ò"Ð5Ð$5Ó5Ð"Ø€FÔÙ
�7˜C Ó
%€CØ
×
Ò
Ó
€CÙ	ˆ)�C—J‘JÔÙ	ˆ#�*‰*�S‹/Öñ r   