
    iK                         S r SSKJr  SSKJr  SSKJrJrJrJ	r	J
r
  SSKJrJr   " S S\	5      r " S	 S
\5      r " S S\	5      r " S S\\	5      r " S S\\	5      rg)z#Helpers for working with PDF types.    )abstractmethod)Path)IOAnyOptionalProtocolUnion   )StrByteType
StreamTypec            
           \ rS rSr% \\S'     SS\S\S\\\	S4   \
\	   S4   S	\4S
 jjrS\S\S	\4S jrS	\S    4S jrS	\4S jr SS\S\S\	\4   S	S4S jjrSrg)PdfObjectProtocol
   indirect_reference pdf_destforce_duplicateignore_fields.Nreturnc                     g Nr   )selfr   r   r   s       J/home/james-whalen/.local/lib/python3.13/site-packages/pypdf/_protocols.pyclonePdfObjectProtocol.clone   s     	    r   c                     g r   r   )r   r   r   s      r   _reference_clone"PdfObjectProtocol._reference_clone       r   c                     g r   r   r   s    r   
get_objectPdfObjectProtocol.get_object   r    r   c                     g r   r   r"   s    r   
hash_valuePdfObjectProtocol.hash_value   r    r   streamencryption_keyc                     g r   r   )r   r(   r)   s      r   write_to_stream!PdfObjectProtocol.write_to_stream        	r   )Fr   r   )__name__
__module____qualname____firstlineno__r   __annotations__boolr	   tuplestrlistr   r   r   r#   bytesr&   r   r+   __static_attributes__r   r   r   r   r   
   s    
 !&AC	  U38_d3i=>	
 
c S S H%89 E  MQ 27c58H2I	 r   r   c                       \ rS rSrSrg)XmpInformationProtocol$   r   N)r.   r/   r0   r1   r8   r   r   r   r:   r:   $   s    r   r:   c                       \ rS rSr\S\4S j5       r\S\\   4S j5       r	\S\
4S j5       rS\S\\
   4S jr\S\4S j5       rS	rg
)PdfCommonDocProtocol(   r   c                     g r   r   r"   s    r   
pdf_headerPdfCommonDocProtocol.pdf_header)       r   c                     g r   r   r"   s    r   pagesPdfCommonDocProtocol.pages-   rB   r   c                     g r   r   r"   s    r   root_object PdfCommonDocProtocol.root_object1   rB   r   r   c                     g r   r   )r   r   s     r   r#   PdfCommonDocProtocol.get_object5   r    r   c                     g r   r   r"   s    r   strictPdfCommonDocProtocol.strict8   rB   r   r   N)r.   r/   r0   r1   propertyr5   r@   r6   r   rD   r   rG   r   r#   r3   rL   r8   r   r   r   r=   r=   (   s    C   tCy   .  S X>O5P    r   r=   c                   v    \ rS rSr\\S\\\\\4   4   4S j5       5       r	\\S\\
\4   4S j5       5       rSrg)PdfReaderProtocol=   r   c                     g r   r   r"   s    r   xrefPdfReaderProtocol.xref>   r-   r   c                     g r   r   r"   s    r   trailerPdfReaderProtocol.trailerC   r-   r   r   N)r.   r/   r0   r1   rN   r   dictintr   rS   r5   rV   r8   r   r   r   rP   rP   =   s`    d3S#X./    c3h   r   rP   c                       \ rS rSr% \\   \S'   \\\\\4   4   \S'   \	\S'   \\S'   \
S\\\4   S\\	\\   4   4S j5       r\
S	\S\4S
 j5       rSrg)PdfWriterProtocolI   _objects_id_translatedincremental_readerr(   r   c                     g r   r   )r   r(   s     r   writePdfWriterProtocol.writeP   rB   r   objc                     g r   r   )r   rd   s     r   _add_objectPdfWriterProtocol._add_objectT   rB   r   r   N)r.   r/   r0   r1   r6   r   r2   rX   rY   r3   r   r	   r   r   r4   r   rb   rf   r8   r   r   r   r[   r[   I   s    3id38n,--LE$"34 tRW}9M   s s  r   r[   N)__doc__abcr   pathlibr   typingr   r   r   r   r	   _utilsr   r   r   r:   r=   rP   r[   r   r   r   <module>rm      sZ    )   5 5 + 4	. 	8 *	,h 	,h r   