
    3vj(6                        d Z ddlmZ ddlZddlmZmZ ddl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mZ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#m$Z$m%Z% ejL                  ejL                  ejL                  ejL                  fD  ci c]  } | jO                         D ]  \  }}||
  c}}} Z&d Z(d Z)d Z*d Z+yc c}}} w )zPDF generation management.    )filesN)D50D65   )VERSION
Attachment)ColorProfile)W3C_DATE_RE)LOGGERPROGRESS_LOGGER)Matrix)select_source   )debugpdfapdfuapdfx)build_fonts_dictionary)Stream)add_tags)add_annotations	add_forms	add_linksadd_outlinesresolve_linkswrite_pdf_attachmentc                    | yt        j                  |       }|t        j                  d| d|        y|j	                         }d}|d   }dD ]  }||   rd}||   |z   }|s|dv d	| }  |d   rW|d
   sJ |d   rF|d   j                  d      sJ |d   sJ t        |d         }t        |d         }||dd|d	z  }n|dz  }d| S )z Tranform W3C date to PDF format.NzInvalid z date:  hour)secondminuter   daymonthyearT)r"   r#   02dr!   tz_hour)+-	tz_minutez+03d'ZzD:)r
   matchr   warning	groupdict
startswithint)	string	attr_namer,   groupspdf_datefoundkeyr&   r)   s	            J/root/.hermes/venv/lib/python3.12/site-packages/weasyprint/pdf/__init__.py_w3c_date_to_pdfr8      s,   ~f%E})GF:>?__FH6NEC D#;Ec{X-H"22C8
CHD f~h))$//
;;;+&&&&+,GF;/0I74.)C99HOHz?    c                 x    d|v r|d   J ||d<   t        | |||       | j                  |       |j                  S )NFont)_use_references
add_object	reference)pdf	resourcesimagesfontscolor_profiless        r7   _reference_resourcesrD   ;   sK     (((!	&CFN;NN9r9   c                    |j                  di       j                         D ]  \  }}|L||   }|d   }||j                  |d   |<   (|d   }t        |d         }|j	                  |d   |      }||d<   | j                  |       |j                  |d   |<   d|j                  v rD| j                  |j                  d          |j                  d   j                  |j                  d<   d|j                  v st        | |j                  d   ||d   |      |j                  d<    |j                  d	i       j                         D ]c  \  }}	| j                  |	       |	j                  |d	   |<   d|	j                  v s8t        | |	j                  d   ||d   |      |	j                  d<   e |j                  d
i       j                         D ](  \  }}
| j                  |
       |
j                  |d
   |<   * |j                  di       j                         D ]*  \  }}d|v sd|d   v s|d   d   j                  |d   d<   , y )NXObjectx_objectimage
dpi_ratiosinterpolateSMask	Resourcesr;   PatternShading	ExtGStateG)getitemsr>   maxget_x_objectr=   extrarD   )r?   r@   rA   rC   r6   rG   
image_datarH   	dpi_ratiopatternshadingalphas               r7   r<   r<   D   s^   "y"5;;=  XJ!*-H#,4,>,>	)$S)w'EJ|45I))*]*CYOH%-Jz"x $,$6$6	)S! hnn$NN8>>'23&.nnW&=&G&GHNN7# (..(*>X^^K0&)F:K+ HNN;'5 > "i4::<  Ww$+$5$5	)S!'--')=W]];/69J* GMM+&	  "i4::< 6Ww$+$5$5	)S!6
  mmK4::< @
UeuW~ 5"'."5"?"?E'N3@r9   c                    |dz  }t        j                  d       |d    }|d   }|d   }|rt        |   \  }}	d|	v r|	d   }t        j                         }
i }t        j
                  t        j                  dt        j
                  t        j                  t              t        j                  d      d      f      t        j                  dt        j
                  t        j                  t              t        j                  d      d      f      d	      }|d
   dk(  r@t        t        t              dz  j                  d      dddgdgdgf      | j                  d<   | j                  j                         D ]  \  }}t        j                  |j                   gt        j
                  dt#        |j$                        i      |      }|
j'                  |       |j(                  |_        t        j                  d|j(                  f      ||<    |
j'                  |       t        j
                  t        j
                         t        j
                         t        j
                         t        j
                         |j(                  d      }|
j'                  |       g }t-        t/        | j0                              }i }g g }}t3        t5        | j0                  |            D ]  \  }\  }}|ri nd }t7        |dd| d|j8                  |z        }||j:                  |j<                  d   z   |j<                  d   z   z  }||j8                  |j<                  d   z   |j<                  d   z   z  }| |j<                  d   z  }| |j<                  d   z  }||z   }||z   } ||z  ||z  ||z
  |z  | |z
  |z  f}!t        | j>                  |!|||| j                  | j@                  |      }"|"jC                  d|j8                  |z         |
j'                  |"       |jE                  |"       t        j
                  d|
j0                  j(                  t        j                  |||| g      |"j(                  |j(                  d      }#|r
d|#d <   ||#d!<   |
jG                  |#       |jE                  |#       tI        |||
|#||       tK        |d   || |
|#||       tM        |jN                  ||
|#||"| jP                  jR                         |jU                  |"|       |j<                  j                         D $ci c]  \  }}$||$dz   }%}}$||%d   z   }&||%d   z   }'||%d   z
  }(| |%d   z
  })|&tW        d"|%d         z
  }*|'tW        d"|%d         z
  }+|(tW        d"|%d         z   },|)tW        d"|%d         z   }-t        j                  |&|'|(|)g      |#d#<   t        j                  |*|+|,|-g      |#d$<    tY        |
| j[                  |d%&             t        j                  d'       t        j\                  d(t^               |
j                  d)<   | j`                  }.|.jb                  r,t        j\                  |.jb                        |
j                  d*<   |.jd                  r;t        j\                  d+jg                  |.jd                              |
j                  d,<   |.jh                  r,t        j\                  |.jh                        |
j                  d-<   |.jj                  r;t        j\                  d+jg                  |.jj                              |
j                  d.<   |.jl                  r,t        j\                  |.jl                        |
j                  d/<   |.jn                  r6t        j\                  tq        |.jn                  d0            |
j                  d1<   |.jr                  r6t        j\                  tq        |.jr                  d2            |
j                  d3<   |.jt                  r,t        j\                  |.jt                        |
jv                  d4<   |d5   r|.jx                  j                         D ]c  \  }}$d6jg                  d7 |D              }|j{                  d8d9:      j}                         }|sBt        j\                  |$      |
j                  |<   e |d;   rq|d;   D ]i  }/t        |/      }0|05 \  }1}2}3}4|1j                         }5|3r|5j}                  |3      j{                         }5|.j                  jE                  |5       d d d        k |.j                  j                         }6|d<   r_t        |d=   xs g       }7|d<   D ]E  }8t        |8t              s"t        |8| j                  t        |7d>      ?      }8|6jE                  |8       G g }9|6D ]#  }8t        |
|8|      }:|:|9jE                  |:       % |9rt        j
                  d@t        j                         i      };t3        |9      D ]:  \  }<}:|;d@   jE                  |:dA          |;d@   jE                  |:j(                         < |
j'                  |;       d@|
jv                  vr!t        j
                         |
jv                  d@<   |;j(                  |
jv                  d@   dB<   |dC    }=t        |
| j>                  ||=|      }>|
j'                  |>       dD|
jv                  v r9t        j
                  dEdFdGdH      }?|
j'                  |?       |?j(                  |>dI<   |>j(                  |dJ<   t        |
||| j                         |rt        j                         }@t        |      D ]=  }A@jE                  t        j\                  |Ad                |@jE                  |AdK          ? t        j
                  d@@i      }Bd@|
jv                  vr!t        j
                         |
jv                  d@<   B|
jv                  d@   dL<   |rt        |
| |dM   |       | j@                  }Cd }|C| j                  v r| j                  | j@                     }nVdN| j                  v r| j                  dN   }n8| j                  r,t        t        | j                  j                                     }|r|rdO|v rdPndQ}Dt        j
                  dR|DdS      }Et        j\                  |j                        |EdT<   t        j\                  |j                        |EdU<   |j*                  |EdV<   t        j                  |Eg      |
jv                  dW<   |r |
| ||6|       |
S c c}$}w # 1 sw Y   xY w)XNg      ?zStep 6 - Creating PDFuncompressed_pdfpdf_tagspdf_variantz/Lab)}   r_   r`   )
WhitePointRange)zlab-d50zlab-d65output_intentsrgbzsRGB2014.iccrbzrelative-colorimetricrgbN)compressz	/ICCBased)rO   rF   rM   rN   
ColorSpacer   leftrighttopbottom)dfz/Page)TypeParentMediaBoxContentsrL   z/STabsStructParents
   TrimBoxBleedBoxT)transform_pageszStep 7 - Adding PDF metadatazWeasyPrint ProducerTitlez, AuthorSubjectKeywordsCreatorcreatedCreationDatemodifiedModDateLangcustom_metadatar   c              3   B   K   | ]  }|j                         s|  y w)N)isalnum).0chars     r7   	<genexpr>zgenerate_pdf.<locals>.<genexpr>  s     A4$,,.$As   asciiignore)errorsxmp_metadataattachmentsattachment_relationshipsUnspecified)url_fetcherrelationshipNamesFEmbeddedFiles
full_fontsAcroFormz/Fontz/Type1z/ZapfDingbats)rs   SubtypeBaseFontZaDbr;   r   Destspdf_versionzdevice-cmykzpdf/az
/GTS_PDFA1z	/GTS_PDFXz/OutputIntent)rs   SOutputConditionIdentifierInfoDestOutputProfileOutputIntents)Pr   infoVARIANTSpydyfPDF
DictionaryArrayr   r   r	   r   __package__openrC   rR   r   contentlen
componentsr=   r>   pdf_referencelistr   pages	enumeratezipr   heightwidthbleedrB   rc   	transformappendadd_pager   r   r   formsfont_configfont_mappaintminr   make_bookmark_treeStringr   metadatatitleauthorsjoindescriptionkeywords	generatorr   r8   r   langcatalogcustomencodedecoder   readr   r   copyiter
isinstancer   r   nextr   r   r<   sortedr   valuesname)Fdocumenttargetzoomoptionsscalerj   r]   variantvariant_function
propertiesr?   rA   color_spacer6   color_profileprofiler@   	pdf_namespage_links_and_anchorsannot_files	pdf_pagespage_streamspage_numberpagelinks_and_anchorstagsmatrix
page_widthpage_heightrl   rn   rm   ro   page_rectanglestreampdf_pagevaluer   	trim_lefttrim_top
trim_righttrim_bottom
bleed_left	bleed_topbleed_rightbleed_bottomr   urlresultfile_objbase_urlcharset_r   r   relationships
attachmentpdf_attachmentspdf_attachmentr   isubset	pdf_fontsdingbats
name_arrayanchordestsrc   subtypeintentssF                                                                         r7   generate_pdfr  x   s{   4KE01-..H z"Hm$G'/'8$*#!*-H
))+CF"";;(8(8++c*[[!78:
 )    ;;(8(8++c*[[!78:
 )   	$ 	K 6)*6;.066t<n#secUSE%:+<' '55;;= I],,""#c3}'?'?#@AB 	w&-&7&7# ;;W5F5F'GHCI NN;  %%'##%##%##%!++" I NN9I "-"?@K "|I2; 6739 B?..d-r4 q!eVQe0CDJJF++djj.AAC
KK$**U++djj.BBDv

6**ftzz%((z!{" 5L#+T\U"Vc\U$:< NNNIvt##X%;%;hP 	2$++"57vF###ii))T3v$>?((",,%
  #HV(3H_%X"#VS(ItLa &(C;	 	JJXy&  ))	+ 	

65! 6:ZZ5E5E5GHzsEedl"HH5=(	u%U7^+
uX. Rv!77
s2uU|44	 3r5>#::"SU8_%==#kkx[+: ;${{	;,>  ?CB?J h11%1NO78 !<<+gY(?@CHHZ  H~~!LL8"\\$))H4D4D*EF#ll8+?+?@$||DIIh6G6G,HI#ll8+=+=>#(<<X--y9$; #llX..
;=}}#ll8==9F !"////1 	4JC''A3AAC**WX*6==?C %U 3		4
 ~>* 	;C"3'F ;;Hh'}}#/#6#6w#?#F#F#HL%%,,\:	; ;	; &&++-K}W%?@FBG!-0 	+Jj*5'H,@,@!%m]!CE
 z*	+ O! 3
-c:xH%"">23 ""GU[[]#;<!*?!; 	>A~G##N3$78G##N$<$<=	> 	w#++%#(#3#3#5CKK 070A0AG_- &&F&X^^Xvw8INN9S[[ ##'%
 
 	x $..	&!++IfCFH,C,CD [[]
Y' 	)Fell6!956fQi(	)   ':!67#++%#(#3#3#5CKK (-GW% h 6E **MM/// //0F0FG	(11	1 //>		 	 T("9"9"@"@"BCD")g.@,k""O'#JK/4||M<N<N/O+,,,}'9'9:'4'B'B#$',{{G9'=O$ hk8LJW Il; ;s   :u(Au!!u+	),__doc__importlib.resourcesr   r   tinycss2.color5r   r   r   r   r   cssr	   htmlr
   loggerr   r   r   r   urlsr   r   r   r   r   rB   r   r   r   r   r   anchorsr   r   r   r   r   r   r   rR   r8   rD   r<   r  )variantsr   datas   000r7   <module>r     s      %  $ "   ,    & & )    ]]ENNDMM5>>R* * (* 	t 	$J**<1@huC*s   "C