+
    Ti6r                        R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtHtH	t	H
t
Ht ^ RIHtHt ^ RIHt ^ RIHt ^RIHt ^RIHtHtHt ^R	IHtHt ^R
IHtHt RtRt Rt!Rt"Rt#Rt$Rt%] R]!R]"R]#R]%R]$R/t&]PN                  ! R]PP                  4      t)]
! R4      t*R] R]  R]! R]" R]# R]% R ]$ R!2t+R" R# lt,R$ R% lt-R& R' lt.],3R( R) llt/ ! R* R+]]4      t0R# ),z~
Anything related to Extensible Metadata Platform (XMP) metadata.

https://en.wikipedia.org/wiki/Extensible_Metadata_Platform
N)Iterator)AnyCallableOptionalTypeVarUnion)DocumentparseString)Element)
ExpatError)XmpInformationProtocol)
StreamTypedeprecate_with_replacementdeprecation_no_replacement)PdfReadErrorXmpDocumentError)ContentStream	PdfObjectz+http://www.w3.org/1999/02/22-rdf-syntax-ns#z http://purl.org/dc/elements/1.1/zhttp://ns.adobe.com/xap/1.0/zhttp://ns.adobe.com/pdf/1.3/zhttp://ns.adobe.com/xap/1.0/mm/zhttp://ns.adobe.com/pdfx/1.3/zhttp://www.aiim.org/pdfa/ns/id/dcxmppdfxmpMMpdfaidpdfxa{  
        (?P<year>[0-9]{4})
        (-
            (?P<month>[0-9]{2})
            (-
                (?P<day>[0-9]+)
                (T
                    (?P<hour>[0-9]{2}):
                    (?P<minute>[0-9]{2})
                    (:(?P<second>[0-9]{2}(.[0-9]+)?))?
                    (?P<tzd>Z|[-+][0-9]{2}:[0-9]{2})
                )?
            )?
        )?
        Ku   <?xpacket begin="﻿" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="pypdf">
    <rdf:RDF xmlns:rdf="z?">
        <rdf:Description rdf:about=""
            xmlns:dc="z"
            xmlns:xmp="z"
            xmlns:pdf="z"
            xmlns:xmpMM="z"
            xmlns:pdfaid="z"
            xmlns:pdfx="zM">
        </rdf:Description>
    </rdf:RDF>
</x:xmpmeta>
<?xpacket end="r"?>c                0    V ^8  d   QhR\         R\         /#    valuereturn)r   )formats   "T/home/kuhnn/.local/share/uv/tools/nano-pdf/lib/python3.14/site-packages/pypdf/xmp.py__annotate__r"   i   s      Q 1     c                     V # N r   s   &r!   	_identityr(   i   s    Lr#   c                D    V ^8  d   QhR\         R\        P                  /# r   )strdatetime)r    s   "r!   r"   r"   m   s       3 8#4#4 r#   c           	         \         P                  V 4      pVf   \        RV  24      h\        VP	                  R4      4      p\        VP	                  R4      ;'       g    R4      p\        VP	                  R4      ;'       g    R4      p\        VP	                  R4      ;'       g    R4      p\        VP	                  R4      ;'       g    R4      p\
        P                  ! VP	                  R	4      ;'       g    R4      pVP                  \
        P                  4      pWx,
          R
,          p	\        V4      p
\        V	4      pVP	                  R4      ;'       g    Rp\        P                  ! W#WEWjV4      pVR8w  dR   R VP                  R4       4       w  rVR,          pV^ 8  d
   VR,          pV\        P                  ! WR7      ,           pV# )NzInvalid date format: yearmonth1dayhour0minutesecondi@B tzdZc              3   8   "   T F  p\        V4      x  K  	  R # 5ir%   )int).0xs   & r!   	<genexpr>"_converter_date.<locals>.<genexpr>   s     !A.Q#a&&.s   :)hoursminutes)iso8601match
ValueErrorr8   groupdecimalDecimalto_integralROUND_FLOORr+   split	timedelta)r   matchesr-   r.   r0   r1   r3   r4   seconds_decmilliseconds_decsecondsmillisecondsr5   dt	tzd_hourstzd_minutess   &               r!   _converter_daterS   m   s{   mmE"G0899w}}V$%Dg&--#.E
gmmE"))c
*Cw}}V$++,Dx(//C0F__W]]84;;<F$$W%8%89K,	9+G'(L
--

%
%#C			46L	QB
cz!A#))C.!A	R	q=2K($$9JJIr#   c                D    V ^8  d   QhR\         P                   R\        /# r   )r+   r*   )r    s   "r!   r"   r"      s      
3 
3 1 1 
3c 
3r#   c                    V P                   e<   V P                  4       e*   V P                  \        P                  P
                  4      p V P                  RR7      p V P                  R4      # )z}Format a datetime as UTC with trailing 'Z'.

- If the input is timezone-aware, convert to UTC first.
- If naive, assume UTC.
N)tzinfoz%Y-%m-%dT%H:%M:%S.%fZ)rV   	utcoffset
astimezoner+   timezoneutcreplacestrftimer'   s   &r!   _format_datetime_utcr]      sV     ||EOO$5$A  !2!2!6!67MMM&E>>122r#   c                    V ^8  d   QhR\         RRR\        R\        \        .\        3,          R\        \
        \        ,          ,          /# )r   elementselfXmpInformation	list_type	converterr   )
XmlElementr*   r   r   r   list)r    s   "r!   r"   r"      sL      #3@CPXZ]Y^`cYcPdd3ir#   c                     V P                  \        V4      p. p\        V4      '       dS   V FJ  pVP                  \        R 4       F-  pVP                  V4      pV! V4      pVP	                  V4       K/  	  KL  	  V# R# )liN)getElementsByTagNameNSRDF_NAMESPACElen	_get_textappend)	r_   r`   rb   rc   
containersretval	containeritemr   s	   &&&&     r!   _generic_getrq      st     //yIJF
:#I!88Mt,!%(e$ N $
 r#   c                   Z	  a  ] tR t^t o RtV 3R lR lt]V 3R lR l4       tRV 3R lR lltV 3R	 lR
 lt	V 3R lR lt
V 3R lR lt]3V 3R lR lltV 3R lR lt]3V 3R lR lltV 3R lR lt]V 3R lR l4       t]P&                  V 3R lR l4       t]V 3R lR l4       t]P&                  V 3R lR l4       t]V 3R lR  l4       t]P&                  V 3R! lR" l4       t]V 3R# lR$ l4       t]P&                  V 3R% lR& l4       t]V 3R' lR( l4       t]P&                  V 3R) lR* l4       t]V 3R+ lR, l4       t]P&                  V 3R- lR. l4       t]V 3R/ lR0 l4       t]P&                  V 3R1 lR2 l4       t]V 3R3 lR4 l4       t]P&                  V 3R5 lR6 l4       t]V 3R7 lR8 l4       t]P&                  V 3R9 lR: l4       t]V 3R; lR< l4       t]P&                  V 3R= lR> l4       t]V 3R? lR@ l4       t]P&                  V 3RA lRB l4       t]V 3RC lRD l4       t]P&                  V 3RE lRF l4       t]V 3RG lRH l4       t]P&                  V 3RI lRJ l4       t]V 3RK lRL l4       t ] P&                  V 3RM lRN l4       t ]V 3RO lRP l4       t!]!P&                  V 3RQ lRR l4       t!]V 3RS lRT l4       t"]"P&                  V 3RU lRV l4       t"]V 3RW lRX l4       t#]#P&                  V 3RY lRZ l4       t#]V 3R[ lR\ l4       t$]$P&                  V 3R] lR^ l4       t$]V 3R_ lR` l4       t%]%P&                  V 3Ra lRb l4       t%]V 3Rc lRd l4       t&]&P&                  V 3Re lRf l4       t&]V 3Rg lRh l4       t']'P&                  V 3Ri lRj l4       t']V 3Rk lRl l4       t(](P&                  V 3Rm lRn l4       t(]V 3Ro lRp l4       t)])P&                  V 3Rq lRr l4       t)]V 3Rs lRt l4       t*]*P&                  V 3Ru lRv l4       t*]V 3Rw lRx l4       t+]+P&                  V 3Ry lRz l4       t+]V 3R{ lR| l4       t,],P&                  V 3R} lR~ l4       t,]V 3R lR l4       t-RV 3R lR llt.V 3R lR lt/V 3R lR lt0V 3R lR lt1V 3R lR lt2V 3R lR lt3V 3R lR lt4V 3R lR lt5Rt6V t7R# )ra   z
An object that represents Extensible Metadata Platform (XMP) metadata.
Usually accessed by :py:attr:`xmp_metadata()<pypdf.PdfReader.xmp_metadata>`.

Raises:
  PdfReadError: if XML is invalid

c                $   < V ^8  d   QhRS[ RR/# )r   streamr   N)r   )r    __classdict__s   "r!   r"   XmpInformation.__annotate__   s     
( 
(} 
( 
(r#   c                    Wn          V P                   P                  4       p\        V4      pTP                  \        R4      ^ ,          T n        / T n	        R#   \        \        3 d   p\        R T 24      hRp?ii ; i)z#XML in XmpInformation was invalid: NRDF)
rt   get_datar	   AttributeErrorr   r   rh   ri   rdf_rootcache)r`   rt   datadoc_rootes   &&   r!   __init__XmpInformation.__init__   s    	J;;'')D!,T!2H %-$C$C5%

% &(
 
+ 	J!DQCHII	Js   %A A<)A77A<c                   < V ^8  d   QhRR/# )r   r   ra   r&   )r    ru   s   "r!   r"   rv      s     	 	' 	r#   c                r    \        RR4      pVP                  \        P                  R4      4       V ! V4      # )z
Create a new XmpInformation object with minimal structure.

Returns:
    A new XmpInformation instance with empty metadata fields.
Nutf-8)r   set_data_MINIMAL_XMPencode)clsrt   s   & r!   createXmpInformation.create   s1     tT*++G456{r#   Nc                B   < V ^8  d   QhRS[ RS[RS[S[3,          RR/# )r   rt   encryption_keyNr   )r   r   r*   bytes)r    ru   s   "r!   r"   rv      s1     , , ,27c58H2I,	,r#   c                v    \        R RR4       Ve   \        RR4       V P                  P                  V4       R# )zXmpInformation.write_to_streamzPdfWriter.xmp_metadataz6.0.0Nz/the encryption_key parameter of write_to_streamz5.0.0)r   r   rt   write_to_stream)r`   rt   r   s   &&&r!   r   XmpInformation.write_to_stream   s>     	#,$	

 %&A7 	##F+r#   c          	      B   < V ^8  d   QhRS[ RS[ RS[ RS[S[,          /# )r   	about_uri	namespacenamer   r*   r   r   )r    ru   s   "r!   r"   rv      s4     H HS HS H HQT Hr#   c              #     "   V P                   P                  \        R 4       FR  pVP                  \        R4      V8X  g   K   VP	                  W#4      pVe   Vx  VP                  W#4       Rj  xL
  KT  	  R#  L
5iDescriptionaboutN)r{   rh   ri   getAttributeNSgetAttributeNodeNS)r`   r   r   r   descattrs   &&&&  r!   get_elementXmpInformation.get_element   sk     MM88VD""=':iG..y?#J66yGGG W
 Hs   <A=-A=0A;1A=c                <   < V ^8  d   QhRS[ RS[ RS[S[,          /# )r   r   r   r   r   )r    ru   s   "r!   r"   rv      s'     	$ 	$ 	$ 	$QT 	$r#   c              #    "   V P                   P                  \        R 4       F  pVP                  \        R4      V8X  g   K   \	        VP
                  P                  4       F?  pVP
                  P                  V4      pV'       g   K(  VP                  V8X  g   K;  Vx  KA  	  VP                   F  pVP                  V8X  g   K  Vx  K  	  K  	  R# 5ir   )
r{   rh   ri   r   range
attributeslengthrp   namespaceURI
childNodes)r`   r   r   r   ir   childs   &&&    r!   get_nodes_in_namespace%XmpInformation.get_nodes_in_namespace   s     MM88VD""=':iGt556A??//2Dt 1 1Y >"
 7 "__E))Y6# - Ws   <CAC
C%CCc                &   < V ^8  d   QhRS[ RS[/# )r   r_   r   )rd   r*   )r    ru   s   "r!   r"   rv      s        r#   c                    R pVP                    F2  pVP                  VP                  8X  g   K   W#P                  ,          pK4  	  V#  )r   nodeType	TEXT_NODEr}   )r`   r_   textr   s   &&  r!   rk   XmpInformation._get_text   s:    ''E~~0

" ( r#   c          	      Z   < V ^8  d   QhRS[ RS[ RS[S[ .S[3,          RS[S[,          /# r   r   r   rc   r   )r*   r   r   r   )r    ru   s   "r!   r"   rv      sB        SE3J'	
 
#r#   c                p   V P                   P                  V/ 4      P                  V4      pV'       d   V# R pV P                  RW4       F<  pVP                  VP                  8X  d   VP
                  pMV P                  V4      p M	  Ve	   V! V4      pV P                   P                  V/ 4      pWWV&   V# )Nr   )r|   getr   r   ATTRIBUTE_NODE	nodeValuerk   
setdefault)r`   r   r   rc   cachedr   r_   ns_caches   &&&&    r!   _get_single_value XmpInformation._get_single_value   s     	2.2248M''I<G7#9#99))w/ = e$E::((B7r#   c                L   < V ^8  d   QhRS[ RS[ RS[S[S[ ,          ,          /# r   r   r   r   r*   r   re   )r    ru   s   "r!   r"   rv     s+      S  c8K r#   c                r   V P                   P                  V/ 4      P                  V4      pV'       d   V# . pV P                  R W4       FI  p\        WPRR7      ;pe   VP	                  V4       K'  V P                  V4      pVP                  V4       KK  	  V P                   P                  V/ 4      pWHV&   V# )r   Bagrb   r|   r   r   rq   extendrk   rl   r   )	r`   r   r   r   rn   r_   bagsr   r   s	   &&&      r!   _getter_bagXmpInformation._getter_bag  s    	2.2248M''I<G$WeDDQd#w/e$ = ::((B7r#   c          
      j   < V ^8  d   QhRS[ RS[ RS[S[.S[3,          RS[S[S[,          ,          /# r   )r*   r   r   r   re   )r    ru   s   "r!   r"   rv     sG        SE3J'	
 
$s)	r#   c                   V P                   P                  V/ 4      P                  V4      pV'       d   V# . pV P                  R W4       Ft  p\        W`RVR7      ;pe   VP	                  V4       K(  \        W`RR7      ;pe   VP	                  V4       KL  V! V P                  V4      4      p	VP                  V	4       Kv  	  V P                   P                  V/ 4      p
WZV&   V# )r   Seq)rb   rc   r   r   r   )r`   r   r   rc   r   rn   r_   seqsr   r   r   s   &&&&       r!   _get_seq_valuesXmpInformation._get_seq_values  s     	2.2248M''I<G$WeyYYfd#&wFF$S d#!$.."9:e$ = ::((B7r#   c          	      R   < V ^8  d   QhRS[ RS[ RS[S[S[S[3,          ,          /# r   )r*   r   dictr   )r    ru   s   "r!   r"   rv   0  s0      S  cSVh@X r#   c                   V P                   P                  V/ 4      P                  V4      pV'       d   V# / pV P                  R W4       F  pVP                  \        R4      p\        V4      '       dM   V FD  pVP                  \        R4       F'  pV P                  V4      p	WVP                  R4      &   K)  	  KF  	  Kv  V P                  V4      VR&   K  	  V P                   P                  V/ 4      p
WJV&   V# )r   Altrg   xml:langz	x-default)	r|   r   r   rh   ri   rj   rk   getAttributer   )r`   r   r   r   rn   r_   altsaltrp   r   r   s   &&&        r!   _get_langalt_values"XmpInformation._get_langalt_values0  s    	2.2248M!#''I<G11-GD4yyC # : :=$ O $t 4@Et00<= !P  
 '+nnW&={# = ::((B7r#   c                @   < V ^8  d   QhRS[ S[S[,          ,          /# r   r   r   re   r*   )r    ru   s   "r!   r"   rv   C  s     = =c 3 =r#   c                .    V P                  \        R4      # )z6Contributors to the resource (other than the authors).contributorr   DC_NAMESPACEr`   s   &r!   dc_contributorXmpInformation.dc_contributorB  s     m<<r#   c                D   < V ^8  d   QhRS[ S[S[,          ,          RR/# r   valuesr   Nr   )r    ru   s   "r!   r"   rv   H  s(     B BXd3i%8 BT Br#   c                4    V P                  \        R V4       R# )r   N_set_bag_valuesr   r`   r   s   &&r!   r   r   G  s    \=&Ar#   c                0   < V ^8  d   QhRS[ S[,          /# r   r   r*   )r    ru   s   "r!   r"   rv   L       @ @Xc] @r#   c                .    V P                  \        R4      # )z4Text describing the extent or scope of the resource.coverager   r   r   s   &r!   dc_coverageXmpInformation.dc_coverageK  s     %%lJ??r#   c                4   < V ^8  d   QhRS[ S[,          RR/# r   r   r   Nr   )r    ru   s   "r!   r"   rv   Q  #     @ @# @4 @r#   c                4    V P                  \        R V4       R# )r   N_set_single_valuer   r`   r   s   &&r!   r   r   P  s    |Z?r#   c                @   < V ^8  d   QhRS[ S[S[,          ,          /# r   r   )r    ru   s   "r!   r"   rv   U  s     = =HT#Y/ =r#   c                .    V P                  \        R4      # )zVA sorted array of names of the authors of the resource, listed in order of precedence.creator)r   r   r   s   &r!   
dc_creatorXmpInformation.dc_creatorT  s     ##L)<<r#   c                D   < V ^8  d   QhRS[ S[S[,          ,          RR/# r   r   )r    ru   s   "r!   r"   rv   Z  $     > >$s)!4 > >r#   c                4    V P                  \        R V4       R# )r   N)_set_seq_valuesr   r   s   &&r!   r   r   Y      \9f=r#   c                T   < V ^8  d   QhRS[ S[S[P                  ,          ,          /# r   )r   re   r+   )r    ru   s   "r!   r"   rv   ^  s'     K K$x'8'8"9: Kr#   c                8    V P                  \        R\        4      # )zXA sorted array of dates of significance to the resource. The dates and times are in UTC.date)r   r   rS   r   s   &r!   dc_dateXmpInformation.dc_date]  s     ##L&/JJr#   c                n   < V ^8  d   QhRS[ S[S[S[S[P                  3,          ,          ,          RR/# r   )r   re   r   r*   r+   )r    ru   s   "r!   r"   rv   c  s:     
E 
EhtE#x7H7H2H,I'JK 
EPT 
Er#   c                0   Vf   V P                  \        RR 4       R # . pV FY  p\        V\        P                  4      '       d   VP	                  \        V4      4       K?  VP	                  \        V4      4       K[  	  V P                  \        RV4       R # )Nr  )r  r   
isinstancer+   rl   r]   r*   )r`   r   date_stringsr   s   &&  r!   r  r  b  su    >  vt<LeX%6%677 ''(<U(CD ''E
3	  
   v|Dr#   c                F   < V ^8  d   QhRS[ S[S[S[3,          ,          /# r   r   r   r*   )r    ru   s   "r!   r"   rv   p  s$     E Ec3h 8 Er#   c                .    V P                  \        R4      # )zSA language-keyed dictionary of textual descriptions of the content of the resource.descriptionr   r   r   s   &r!   dc_descriptionXmpInformation.dc_descriptiono  s     ''mDDr#   c                J   < V ^8  d   QhRS[ S[S[S[3,          ,          RR/# r   r  )r    ru   s   "r!   r"   rv   u  s,     F FXd38n%= F$ Fr#   c                4    V P                  \        R V4       R# )r  N_set_langalt_valuesr   r   s   &&r!   r  r  t  s      }fEr#   c                0   < V ^8  d   QhRS[ S[,          /# r   r   )r    ru   s   "r!   r"   rv   y       > >8C= >r#   c                .    V P                  \        R4      # )zThe mime-type of the resource.r    r   r   s   &r!   	dc_formatXmpInformation.dc_formatx       %%lH==r#   c                4   < V ^8  d   QhRS[ S[,          RR/# r   r   )r    ru   s   "r!   r"   rv   ~       > >x} > >r#   c                4    V P                  \        R V4       R# )r    Nr   r   s   &&r!   r  r  }      |Xu=r#   c                0   < V ^8  d   QhRS[ S[,          /# r   r   )r    ru   s   "r!   r"   rv     s     B Bx} Br#   c                .    V P                  \        R4      # )z"Unique identifier of the resource.
identifierr   r   s   &r!   dc_identifierXmpInformation.dc_identifier  s     %%lLAAr#   c                4   < V ^8  d   QhRS[ S[,          RR/# r   r   )r    ru   s   "r!   r"   rv     s#     B B8C= BT Br#   c                4    V P                  \        R V4       R# )r#  Nr   r   s   &&r!   r$  r%    s    |\5Ar#   c                @   < V ^8  d   QhRS[ S[S[,          ,          /# r   r   )r    ru   s   "r!   r"   rv          : :Xd3i0 :r#   c                .    V P                  \        R4      # )zAAn unordered array specifying the languages used in the resource.languager   r   s   &r!   dc_languageXmpInformation.dc_language       j99r#   c                D   < V ^8  d   QhRS[ S[S[,          ,          RR/# r   r   )r    ru   s   "r!   r"   rv     $     ? ?(49"5 ?$ ?r#   c                4    V P                  \        R V4       R# )r+  Nr   r   s   &&r!   r,  r-        \:v>r#   c                @   < V ^8  d   QhRS[ S[S[,          ,          /# r   r   )r    ru   s   "r!   r"   rv     s     ; ;htCy1 ;r#   c                .    V P                  \        R4      # )z&An unordered array of publisher names.	publisherr   r   s   &r!   dc_publisherXmpInformation.dc_publisher  s     k::r#   c                D   < V ^8  d   QhRS[ S[S[,          ,          RR/# r   r   )r    ru   s   "r!   r"   rv     s(     @ @8DI#6 @4 @r#   c                4    V P                  \        R V4       R# )r5  Nr   r   s   &&r!   r6  r7    s    \;?r#   c                @   < V ^8  d   QhRS[ S[S[,          ,          /# r   r   )r    ru   s   "r!   r"   rv     r)  r#   c                .    V P                  \        R4      # )zLAn unordered array of text descriptions of relationships to other documents.relationr   r   s   &r!   dc_relationXmpInformation.dc_relation  r.  r#   c                D   < V ^8  d   QhRS[ S[S[,          ,          RR/# r   r   )r    ru   s   "r!   r"   rv     r0  r#   c                4    V P                  \        R V4       R# )r<  Nr   r   s   &&r!   r=  r>    r2  r#   c                F   < V ^8  d   QhRS[ S[S[S[3,          ,          /# r   r  )r    ru   s   "r!   r"   rv     s$     @ @8DcN3 @r#   c                .    V P                  \        R4      # )z`A language-keyed dictionary of textual descriptions of the rights the user has to this resource.rightsr  r   s   &r!   	dc_rightsXmpInformation.dc_rights  s     ''h??r#   c                J   < V ^8  d   QhRS[ S[S[S[3,          ,          RR/# r   r  )r    ru   s   "r!   r"   rv     s,     A Ac3h 8 AT Ar#   c                4    V P                  \        R V4       R# )rC  Nr  r   s   &&r!   rD  rE    s      x@r#   c                0   < V ^8  d   QhRS[ S[,          /# r   r   )r    ru   s   "r!   r"   rv     r  r#   c                .    V P                  \        R4      # )zCUnique identifier of the work from which this resource was derived.sourcer   r   s   &r!   	dc_sourceXmpInformation.dc_source  r  r#   c                4   < V ^8  d   QhRS[ S[,          RR/# r   r   )r    ru   s   "r!   r"   rv     r  r#   c                4    V P                  \        R V4       R# )rJ  Nr   r   s   &&r!   rK  rL    r   r#   c                @   < V ^8  d   QhRS[ S[S[,          ,          /# r   r   )r    ru   s   "r!   r"   rv     s     9 9HT#Y/ 9r#   c                .    V P                  \        R4      # )z\An unordered array of descriptive phrases or keywords that specify the topic of the content.subjectr   r   s   &r!   
dc_subjectXmpInformation.dc_subject  s     i88r#   c                D   < V ^8  d   QhRS[ S[S[,          ,          RR/# r   r   )r    ru   s   "r!   r"   rv     r   r#   c                4    V P                  \        R V4       R# )rQ  Nr   r   s   &&r!   rR  rS    r  r#   c                F   < V ^8  d   QhRS[ S[S[S[3,          ,          /# r   r  )r    ru   s   "r!   r"   rv     s!     ? ?(4S>2 ?r#   c                .    V P                  \        R4      # )z9A language-keyed dictionary of the title of the resource.titler  r   s   &r!   dc_titleXmpInformation.dc_title  s     ''g>>r#   c                J   < V ^8  d   QhRS[ S[S[S[3,          ,          RR/# r   r  )r    ru   s   "r!   r"   rv     s,     @ @xS#X7 @D @r#   c                4    V P                  \        R V4       R# )rX  Nr  r   s   &&r!   rY  rZ    s      w?r#   c                @   < V ^8  d   QhRS[ S[S[,          ,          /# r   r   )r    ru   s   "r!   r"   rv     s     6 6$s), 6r#   c                .    V P                  \        R4      # )z@An unordered array of textual descriptions of the document type.typer   r   s   &r!   dc_typeXmpInformation.dc_type  s     f55r#   c                D   < V ^8  d   QhRS[ S[S[,          ,          RR/# r   r   )r    ru   s   "r!   r"   rv     s$     ; ;htCy1 ;d ;r#   c                4    V P                  \        R V4       R# )r_  Nr   r   s   &&r!   r`  ra    s    \66:r#   c                0   < V ^8  d   QhRS[ S[,          /# r   r   )r    ru   s   "r!   r"   rv          A Ahsm Ar#   c                .    V P                  \        R4      # )z:An unformatted text string representing document keywords.Keywordsr   PDF_NAMESPACEr   s   &r!   pdf_keywordsXmpInformation.pdf_keywords       %%mZ@@r#   c                4   < V ^8  d   QhRS[ S[,          RR/# r   r   )r    ru   s   "r!   r"   rv     #     A A(3- AD Ar#   c                4    V P                  \        R V4       R# )rg  Nr   ri  r   s   &&r!   rj  rk        }j%@r#   c                0   < V ^8  d   QhRS[ S[,          /# r   r   )r    ru   s   "r!   r"   rv     s     C C Cr#   c                .    V P                  \        R4      # )z-The PDF file version, for example 1.0 or 1.3.
PDFVersionrh  r   s   &r!   pdf_pdfversionXmpInformation.pdf_pdfversion  s     %%m\BBr#   c                4   < V ^8  d   QhRS[ S[,          RR/# r   r   )r    ru   s   "r!   r"   rv     s#     C CHSM Cd Cr#   c                4    V P                  \        R V4       R# )rt  Nrp  r   s   &&r!   ru  rv    s    }lEBr#   c                0   < V ^8  d   QhRS[ S[,          /# r   r   )r    ru   s   "r!   r"   rv     re  r#   c                .    V P                  \        R4      # )z6The name of the tool that saved the document as a PDF.Producerrh  r   s   &r!   pdf_producerXmpInformation.pdf_producer  rl  r#   c                4   < V ^8  d   QhRS[ S[,          RR/# r   r   )r    ru   s   "r!   r"   rv     rn  r#   c                4    V P                  \        R V4       R# )r{  Nrp  r   s   &&r!   r|  r}    rq  r#   c                D   < V ^8  d   QhRS[ S[P                  ,          /# r   r   r+   )r    ru   s   "r!   r"   rv     "     T T(*;*;!< Tr#   c                8    V P                  \        R\        4      # )zYThe date and time the resource was originally created. Returned as a UTC datetime object.
CreateDater   XMP_NAMESPACErS   r   s   &r!   xmp_create_dateXmpInformation.xmp_create_date       %%m\?SSr#   c                H   < V ^8  d   QhRS[ S[P                  ,          RR/# r   r  )r    ru   s   "r!   r"   rv     *     F FXh.?.?%@ FT Fr#   c                    V'       d%   \        V4      pV P                  \        R V4       R# V P                  \        R R4       R# )r  Nr]   r   r  r`   r   date_strs   && r!   r  r    3    +E2H""=,I""=,Er#   c                D   < V ^8  d   QhRS[ S[P                  ,          /# r   r  )r    ru   s   "r!   r"   rv     r  r#   c                8    V P                  \        R\        4      # )zTThe date and time the resource was last modified. Returned as a UTC datetime object.
ModifyDater  r   s   &r!   xmp_modify_dateXmpInformation.xmp_modify_date  r  r#   c                H   < V ^8  d   QhRS[ S[P                  ,          RR/# r   r  )r    ru   s   "r!   r"   rv      r  r#   c                    V'       d%   \        V4      pV P                  \        R V4       R# V P                  \        R R4       R# )r  Nr  r  s   && r!   r  r    r  r#   c                D   < V ^8  d   QhRS[ S[P                  ,          /# r   r  )r    ru   s   "r!   r"   rv     s"     V V8H,=,=#> Vr#   c                8    V P                  \        R\        4      # )zjThe date and time that any metadata for this resource was last changed. Returned as a UTC datetime object.MetadataDater  r   s   &r!   xmp_metadata_date XmpInformation.xmp_metadata_date  s     %%m^_UUr#   c                H   < V ^8  d   QhRS[ S[P                  ,          RR/# r   r  )r    ru   s   "r!   r"   rv     s*     H Hx0A0A'B Ht Hr#   c                    V'       d%   \        V4      pV P                  \        R V4       R# V P                  \        R R4       R# )r  Nr  r  s   && r!   r  r    s3    +E2H""=.(K""=.$Gr#   c                0   < V ^8  d   QhRS[ S[,          /# r   r   )r    ru   s   "r!   r"   rv     s     D D(3- Dr#   c                .    V P                  \        R4      # )z=The name of the first known tool used to create the resource.CreatorTool)r   r  r   s   &r!   xmp_creator_toolXmpInformation.xmp_creator_tool  s     %%m]CCr#   c                4   < V ^8  d   QhRS[ S[,          RR/# r   r   )r    ru   s   "r!   r"   rv     s#     D Dhsm D Dr#   c                4    V P                  \        R V4       R# )r  N)r   r  r   s   &&r!   r  r    s    }mUCr#   c                0   < V ^8  d   QhRS[ S[,          /# r   r   )r    ru   s   "r!   r"   rv          E E8C= Er#   c                .    V P                  \        R4      # )zGThe common identifier for all versions and renditions of this resource.
DocumentIDr   XMPMM_NAMESPACEr   s   &r!   xmpmm_document_id XmpInformation.xmpmm_document_id       %%o|DDr#   c                4   < V ^8  d   QhRS[ S[,          RR/# r   r   )r    ru   s   "r!   r"   rv   #  #     E Ex} E Er#   c                4    V P                  \        R V4       R# )r  Nr   r  r   s   &&r!   r  r  "      eDr#   c                0   < V ^8  d   QhRS[ S[,          /# r   r   )r    ru   s   "r!   r"   rv   '  r  r#   c                .    V P                  \        R4      # )zZAn identifier for a specific incarnation of a document, updated each time a file is saved.
InstanceIDr  r   s   &r!   xmpmm_instance_id XmpInformation.xmpmm_instance_id&  r  r#   c                4   < V ^8  d   QhRS[ S[,          RR/# r   r   )r    ru   s   "r!   r"   rv   ,  r  r#   c                4    V P                  \        R V4       R# )r  Nr  r   s   &&r!   r  r  +  r  r#   c                0   < V ^8  d   QhRS[ S[,          /# r   r   )r    ru   s   "r!   r"   rv   0  r   r#   c                .    V P                  \        R4      # )zMThe part of the PDF/A standard that the document conforms to (e.g., 1, 2, 3).partr   PDFAID_NAMESPACEr   s   &r!   pdfaid_partXmpInformation.pdfaid_part/  s     %%&6??r#   c                4   < V ^8  d   QhRS[ S[,          RR/# r   r   )r    ru   s   "r!   r"   rv   5  r   r#   c                4    V P                  \        R V4       R# )r  Nr   r  r   s   &&r!   r  r  4  s    /?r#   c                0   < V ^8  d   QhRS[ S[,          /# r   r   )r    ru   s   "r!   r"   rv   9  s     G GHSM Gr#   c                .    V P                  \        R4      # )zFThe conformance level within the PDF/A standard (e.g., 'A', 'B', 'U').conformancer  r   s   &r!   pdfaid_conformance!XmpInformation.pdfaid_conformance8  s     %%&6FFr#   c                4   < V ^8  d   QhRS[ S[,          RR/# r   r   )r    ru   s   "r!   r"   rv   >  s#     G G G$ Gr#   c                4    V P                  \        R V4       R# )r  Nr  r   s   &&r!   r  r  =  s    /Fr#   c                6   < V ^8  d   QhRS[ S[S[3,          /# r   )r   r   )r    ru   s   "r!   r"   rv   B  s     ' '4S> 'r#   c           
        \        V R4      '       g   / V n        V P                  R\        4       F  pVP                  p VP                  R4      pVR8X  d   MBVRV \        \        W#^,           V^,            ^R7      4      ,           W#^,           R ,           pK\  VP                  VP                  8X  d   VP                  pMV P                  V4      pW@P                  V&   K  	  V P                  # )z
Retrieve custom metadata properties defined in the undocumented pdfx
metadata schema.

Returns:
    A dictionary of key/value items for custom metadata properties.

_custom_propertiesr   u   ↂN)baser@   )hasattrr  r   PDFX_NAMESPACE	localNamefindchrr8   r   r   r   rk   )r`   nodekeyidxr   s   &    r!   custom_properties XmpInformation.custom_propertiesA  s     t122&(D#33BGnn((8,CbyDS	c#Aga"8rBCDAgi.) 
 ==D$7$77 NNE NN40E/4'',! H" &&&r#   c                &   < V ^8  d   QhRS[ RS[/# )r   r   r   )r*   rd   )r    ru   s   "r!   r"   rv   `  s      C  r#   c                l   V P                   P                  \        R4       F"  pVP                  \        R4      V8X  g   K   Vu # 	  V P                   P                  pVf   \        R4      hVP                  \        R4      pVP                  \        RV4       V P                   P                  V4       V# )zBGet or create an rdf:Description element with the given about URI.r   r   XMP Document is Nonezrdf:Descriptionz	rdf:about)	r{   rh   ri   r   ownerDocumentr   createElementNSsetAttributeNSappendChild)r`   r   r   docs   &&  r!   _get_or_create_description)XmpInformation._get_or_create_description`  s    MM88VD""=':iG W mm));"#9::""=2CDM;	B!!$'r#   c                *   < V ^8  d   QhRS[ RS[ RR/# )r   r   r   r   Nr*   )r    ru   s   "r!   r"   rv   n  s"      C s t r#   c                d    V P                   P                  V4      pV'       d   W#9   d   W2 R# R# R# )z<Remove a cached value for a given namespace/name if present.N)r|   r   )r`   r   r   r   s   &&& r!   _clear_cache_entry!XmpInformation._clear_cache_entryn  s(    ::>>),( )8r#   c                @   < V ^8  d   QhRS[ RS[ RS[S[ ,          RR/# )r   r   r   r   r   N)r*   r   )r    ru   s   "r!   r"   rv   t  s.      3 c (3- TX r#   c                <   V P                  W4       V P                  4       p\        VP                  W4      4      pV F  pVP	                  V4       K  	  VP                  W4      ;p'       d   VP                  V4       Ve   V P                  P                  pVf   \        R4      hV P                  V4      p	VP                  W RV 24      pVP                  \        V4      4      p
VP                  V
4       VP                  V4       V P                  4        R# )z&Set or remove a single metadata value.Nr  r=   )r  r  re   rh   removeChildr   removeAttributeNoder{   r  r   _get_namespace_prefixr  createTextNoder*   r  _update_stream)r`   r   r   r   r   existing_elementselemexisting_attrr  prefix	text_nodes   &&&&       r!   r    XmpInformation._set_single_valuet  s    	0..0 !<!<Y!MN%DT" & !33IDD=D$$]3----C{&'=>>//	:F&&yHAdV2DED**3u:6IY'T"r#   c                P   < V ^8  d   QhRS[ RS[ RS[S[S[ ,          ,          RR/# r   r   r   r   r   Nr   )r    ru   s   "r!   r"   rv     3       C $s)AT Y] r#   c                   V P                  W4       V P                  4       p\        VP                  W4      4      pV F  pVP	                  V4       K  	  V'       d   V P
                  P                  pVf   \        R4      hV P                  V4      pVP                  W RV 24      pVP                  \        R4      p	V FU  p
VP                  \        R4      pVP                  \        V
4      4      pVP                  V4       V	P                  V4       KW  	  VP                  V	4       VP                  V4       V P                  4        R# )z+Set or remove bag values (unordered array).Nr  r=   zrdf:Bagrdf:lir  r  re   rh   r  r{   r  r   r  r  ri   r  r*   r  r  )r`   r   r   r   r   r  r  r  r  bagr   rg   r  s   &&&&         r!   r   XmpInformation._set_bag_values      	0..0 !<!<Y!MN%DT" & ----C{&'=>>//	:F&&yHAdV2DED%%mY?C((A..s5z:	y)#	   S!T"r#   c                P   < V ^8  d   QhRS[ RS[ RS[S[S[ ,          ,          RR/# r  r   )r    ru   s   "r!   r"   rv     r  r#   c                   V P                  W4       V P                  4       p\        VP                  W4      4      pV F  pVP	                  V4       K  	  V'       d   V P
                  P                  pVf   \        R4      hV P                  V4      pVP                  W RV 24      pVP                  \        R4      p	V FU  p
VP                  \        R4      pVP                  \        V
4      4      pVP                  V4       V	P                  V4       KW  	  VP                  V	4       VP                  V4       V P                  4        R# )z.Set or remove sequence values (ordered array).Nr  r=   zrdf:Seqr  r  )r`   r   r   r   r   r  r  r  r  seqr   rg   r  s   &&&&         r!   r  XmpInformation._set_seq_values  r  r#   c          	      V   < V ^8  d   QhRS[ RS[ RS[S[S[ S[ 3,          ,          RR/# r  )r*   r   r   )r    ru   s   "r!   r"   rv     s:      S  XdSVX[S[nE] bf r#   c                   V P                  W4       V P                  4       p\        VP                  W4      4      pV F  pVP	                  V4       K  	  V'       Ed   V P
                  P                  pVf   \        R4      hV P                  V4      pVP                  W RV 24      pVP                  \        R4      p	VP                  4        Fi  w  rVP                  \        R4      pVP                  RV
4       VP                  \        V4      4      pVP                  V4       V	P                  V4       Kk  	  VP                  V	4       VP                  V4       V P!                  4        R# )z*Set or remove language alternative values.Nr  r=   zrdf:Altr  r   )r  r  re   rh   r  r{   r  r   r  r  ri   itemssetAttributer  r*   r  r  )r`   r   r   r   r   r  r  r  r  r   langr   rg   r  s   &&&&          r!   r  "XmpInformation._set_langalt_values  s8   	0..0 !<!<Y!MN%DT" & 6----C{&'=>>//	:F&&yHAdV2DED%%mY?C%||~((A
D1..s5z:	y)#  . S!T"r#   c                &   < V ^8  d   QhRS[ RS[ /# )r   r   r   r  )r    ru   s   "r!   r"   rv     s     ? ?s ?s ?r#   c                .    \         P                  VR4      # )z?Get the appropriate namespace prefix for a given namespace URI.unknown)_NAMESPACE_PREFIX_MAPr   )r`   r   s   &&r!   r  $XmpInformation._get_namespace_prefix  s    $((I>>r#   c                   < V ^8  d   QhRR/# )r   r   Nr&   )r    ru   s   "r!   r"   rv     s     ' ' 'r#   c                    V P                   P                  pVf   \        R4      hVP                  RR7      pV P                  P                  V4       R# )z/Update the stream with the current XML content.Nr  r   )encoding)r{   r  r   toxmlrt   r   )r`   r  xml_datas   &  r!   r  XmpInformation._update_stream  sD    mm));"#9::99g9.X&r#   )r  r|   r{   rt   r%   r   )8__name__
__module____qualname____firstlineno____doc__r   classmethodr   r   r   r   rk   r(   r   r   r   r   propertyr   setterr   r   r  r  r  r$  r,  r6  r=  rD  rK  rR  rY  r`  rj  ru  r|  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r  __static_attributes____classdictcell__)ru   s   @r!   ra   ra      s    
( 
( 	 	, ,H H	$ 	$  +4	 , & +4	 : $ = = B B @ @ @ @ = = > > K K ^^
E 
E E E F F > > > > B B B B : : ? ? ; ; @ @ : : ? ? @ @ A A > > > > 9 9 > > ? ? __@ @ 6 6 ^^; ; A A A A C C C C A A A A T T F F T T F F V V H H D D D D E E E E E E E E @ @ @ @ G G G G ' '<   0 8 8 :? ?' 'r#   ra   )1r  r+   rE   recollections.abcr   typingr   r   r   r   r   xml.dom.minidomr   r	   r
   rd   xml.parsers.expatr   
_protocolsr   _utilsr   r   r   errorsr   r   genericr   r   ri   r   r  ri  r  r  r  r  compileVERBOSErA   r   r   r(   rS   r]   rq   ra   r&   r#   r!   <module>r)     s6     	 $  2 1 ( . V V 2 -=1..3( 1 5  $55WhF  ** JJ!( CL& (#n %% '% ')* ++, -'( ) 6
3 hqH	'+Y H	'r#   