§
    §‘Új—- ã                   óØ  — d Z dZddlZddlZddlZddl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mZmZ dd	lmZ dd
lmZmZmZ ddlmZmZmZmZmZm Z m!Z!m"Z"m#Z#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l0m1Z1m2Z2m3Z3m4Z4 ddl5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z? ddl@mAZA ddlBmCZCmDZDmEZEmFZFmGZG ddlmHZHmIZImJZJ ejK        dk    rddlmLZL nddlMmLZL  ejN        eO¦  «        ZP ejQ        d¦  «        ZR eSe6e7e8e:e;e<e>f¦  «        ZT G d„ deUe         e=¦  «        ZV G d„ deWeef         e=¦  «        ZX G d„ deX¦  «        ZYded dfd!„ZZ G d"„ d#e¦  «        Z[ G d$„ d%eX¦  «        Z\ G d&„ d'e\¦  «        Z] G d(„ d)e\¦  «        Z^d*Z_ G d+„ d,e]¦  «        Z`d-Za	 d8dd.œd/ed0ee         d1eebeUeb         eWecebf         df         d2eeH         d e=f
d3„Zd G d4„ d5eY¦  «        Ze G d6„ d7eY¦  «        ZfdS )9zMathieu Fenniakzbiziqe@mathieu.fenniak.neté    N)ÚIterableÚSequence)ÚBytesIO)Úceil)ÚAnyÚCallableÚ
NamedTupleÚOptionalÚUnionÚcasté   ©Úget_configuration)ÚPdfReaderProtocolÚPdfWriterProtocolÚXmpInformationProtocol)
ÚWHITESPACESÚBinaryStreamTypeÚ
StreamTypeÚdeprecation_no_replacementÚlogger_warningÚread_non_whitespaceÚread_until_regexÚread_until_whitespaceÚskip_over_commentÚskip_over_comments)ÚCheckboxRadioButtonAttributesÚFieldDictionaryAttributesÚOutlineFontFlagÚStreamAttributes)ÚFilterTypes)ÚTypArguments)ÚTypFitArguments)ÚSTREAM_TRUNCATED_PREMATURELYÚLimitReachedErrorÚPdfReadErrorÚPdfStreamErroré   )
ÚBooleanObjectÚByteStringObjectÚFloatObjectÚIndirectObjectÚ
NameObjectÚ
NullObjectÚNumberObjectÚ	PdfObjectÚTextStringObjectÚis_null_or_none)ÚFit)Úextract_inline__ascii85_decodeÚ extract_inline__ascii_hex_decodeÚextract_inline__dct_decodeÚ!extract_inline__run_length_decodeÚextract_inline_default)ÚStreamParsingBudgetÚread_hex_string_from_streamÚread_string_from_stream)é   é   )ÚSelfs   [+-]?(\d+)\s+(\d+)\s+R[^a-zA-Z]c                   ó¬  — e Zd Zdedd fd„Z	 	 ddededeeee	e
f                           dd fd„Zde
fd	„Zdee         fd
„Zdedee         fd„Zdedd fd„Zdedefd„Zdedefd„Z	 ddedee	edf         ddfd„Zede
dee         de
fd„¦   «         Ze	 dddœdedee         dee	ee	         ee
e	f         df         dee         dd f
d„¦   «         ZdS )ÚArrayObjectÚpdf_destÚreturnc                 ó  — t          d|                      t          ¦   «         |d¦  «        ¦  «        }| D ]P}t          |d¦  «        r)|                     |                     |¦  «        ¦  «         Œ;|                     |¦  «         ŒQ|S )Nr@   FÚ	replicate)r   Ú_reference_cloner@   ÚhasattrÚappendrD   )ÚselfrA   ÚarrÚdatas       ú�/Users/tedpeters/Documents/Projects/Claude Projects/TPC Houses/house-viewer/.venv/lib/python3.11/site-packages/pypdf/generic/_data_structures.pyrD   zArrayObject.replicatep   s�   € õ ØØ×!Ò!¥+¡-¤-°¸5ÑAÔAñ
ô 
ˆð ð 	!ð 	!ˆDÝ�t˜[Ñ)Ô)ð !Ø—
’
˜4Ÿ>š>¨(Ñ3Ô3Ñ4Ô4Ð4Ð4à—
’
˜4Ñ Ô Ð Ð Øˆ
ó    F© Úforce_duplicateÚignore_fieldsc                 ó®  — 	 | j         j        |k    r|s| S n# t          $ r Y nw xY wt          d|                      t          ¦   «         |d¬¦  «        ¦  «        }| D �]x}t          |¦  «        t          v r+|                     | 	                    |||¦  «        ¦  «         ŒDt          |t          ¦  «        rG|                     | 	                    |||¦  «        ||¦  «        }|                     |j         ¦  «         Œ t          |t          ¦  «        rrt          |                     ¦   «         x}t          ¦  «        rI|                     | 	                    |d|¬¦  «        ||¦  «        }|                     |j         ¦  «         �Œ't          |d¦  «        r,|                     | 	                    |||¦  «        ¦  «         �Œc|                     |¦  «         �Œz|S )úClone object into pdf_dest.r@   T)rN   )rN   rO   Úclone)Úindirect_referenceÚpdfÚ	Exceptionr   rE   r@   ÚtypeÚ_SCALAR_TYPESrG   rR   Ú
isinstanceÚStreamObjectr,   Ú
get_objectrF   )rH   rA   rN   rO   rI   rJ   ÚdupÚresolveds           rK   rR   zArrayObject.clone   sá  € ð	ØÔ&Ô*¨hÒ6Ð6¸Ð6Ø�øøÝð 	ð 	ð 	ØˆDð	øøøåØØ×!Ò!¥+¡-¤-°È4Ð!ÑPÔPñ
ô 
ˆð ð 	!ñ 	!ˆDÝ�D‰zŒz�]Ð*Ð*à—
’
˜4Ÿ:š: h°ÀÑOÔOÑPÔPÐPÐPÝ˜D¥,Ñ/Ô/ð !Ø×+Ò+Ø—J’J˜x¨¸-ÑHÔHØØ#ñô �ð
 —
’
˜3Ô1Ñ2Ô2Ð2Ð2Ý˜D¥.Ñ1Ô1ð 
!µjÈTÏ_Ê_ÑM^ÔM^ÐA^ÀÕ`lÑ6mÔ6mð 
!Ø×+Ò+Ø—N’N 8¸TÐQ^�NÑ_Ô_ØØ#ñô �ð
 —
’
˜3Ô1Ñ2Ô2Ð2Ñ2Ý˜˜wÑ'Ô'ð !Ø—
’
˜4Ÿ:š: h°ÀÑOÔOÑPÔPÐPÑPà—
’
˜4Ñ Ô Ð Ñ Øˆ
ó   ‚ —
$£$c                 ó\   — t          | j        t          d„ | D ¦   «         ¦  «        f¦  «        S )úq
        Used to detect modified object.

        Returns:
            Hash considering type and value.

        c              3   ó>   K  — | ]}|                      ¦   «         V — Œd S ©N©Úhash_bin)Ú.0Úxs     rK   ú	<genexpr>z'ArrayObject.hash_bin.<locals>.<genexpr>¯   s*   è è € Ð*FÐ*F¸A¨1¯:ª:©<¬<Ð*FÐ*FÐ*FÐ*FÐ*FÐ*FrL   )ÚhashÚ	__class__Útuple©rH   s    rK   rc   zArrayObject.hash_bin§   s0   € õ �T”^¥UÐ*FÐ*FÀÐ*FÑ*FÔ*FÑ%FÔ%FÐGÑHÔHÐHrL   c                 ó    — t          | ¦  «        S )z:Emulate DictionaryObject.items for a list (index, object).)Ú	enumeraterj   s    rK   ÚitemszArrayObject.items±   s   € å˜‰ŒÐrL   Úlstc                 ót  — t          |t          t          t          f¦  «        rt          |¦  «        }n…t          |t          ¦  «        r|g}nlt          |t
          ¦  «        r.|d         dk    rt          |¦  «        g}n:t          |¦  «        g}n)t          |t          ¦  «        rt          |¦  «        g}n|g}|S )Nr   ú/)
rX   Úlistri   Úsetr0   Ústrr-   r1   Úbytesr*   )rH   rn   Úresults      rK   Ú_to_lstzArrayObject._to_lstµ   s¶   € õ �c�D¥%­Ð-Ñ.Ô.ð 	Ý˜#‘Y”YˆFˆFÝ˜�YÑ'Ô'ð 
	Ø�UˆFˆFÝ˜�SÑ!Ô!ð 	Ø�1Œv˜Š}ˆ}Ý$ S™/œ/Ð*��å*¨3Ñ/Ô/Ð0��Ý˜�UÑ#Ô#ð 	Ý& sÑ+Ô+Ð,ˆFˆFà�UˆFØˆrL   c                 ót   — t          | ¦  «        }|                     |                      |¦  «        ¦  «         |S )aÇ  
        Allow extension by adding list or add one element only

        Args:
            lst: any list, tuples are extended the list.
            other types(numbers,...) will be appended.
            if str is passed it will be converted into TextStringObject
            or NameObject (if starting with "/")
            if bytes is passed it will be converted into ByteStringObject

        Returns:
            ArrayObject with all elements

        )r@   Úextendrv   )rH   rn   Útemps      rK   Ú__add__zArrayObject.__add__Ç   s4   € õ ˜4Ñ Ô ˆØ�Š�D—L’L Ñ%Ô%Ñ&Ô&Ð&ØˆrL   c                 óV   — |                       |                      |¦  «        ¦  «         | S )aŒ  
         Allow extension by adding list or add one element only

        Args:
            lst: any list, tuples are extended the list.
            other types(numbers,...) will be appended.
            if str is passed it will be converted into TextStringObject
            or NameObject (if starting with "/")
            if bytes is passed it will be converted into ByteStringObject

        )rx   rv   )rH   rn   s     rK   Ú__iadd__zArrayObject.__iadd__Ú   s'   € ð 	�Š�D—L’L Ñ%Ô%Ñ&Ô&Ð&ØˆrL   c                 óˆ   — |                       |¦  «        D ]+}	 |                      |¦  «        }| |= Œ# t          $ r Y Œ(w xY w| S )zAllow to remove items)rv   ÚindexÚ
ValueError)rH   rn   re   r~   s       rK   Ú__isub__zArrayObject.__isub__é   s_   € à—’˜cÑ"Ô"ð 	ð 	ˆAðØŸ
š
 1™œ�Ø˜�K�KøÝð ð ð Ø�ðøøøàˆs   ™2²
?¾?NÚstreamÚencryption_keyc                 óÜ   — |�t          dd¦  «         |                     d¦  «         | D ],}|                     d¦  «         |                     |¦  «         Œ-|                     d¦  «         d S )Nú/the encryption_key parameter of write_to_streamú5.0.0ó   [ó    s    ])r   ÚwriteÚwrite_to_stream)rH   r�   r‚   rJ   s       rK   r‰   zArrayObject.write_to_streamó   s…   € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š�TÑÔÐØð 	)ð 	)ˆDØ�LŠL˜ÑÔÐØ× Ò  Ñ(Ô(Ð(Ð(Ø�Š�UÑÔÐÐÐrL   Úremaining_elementsÚparsing_budgetc                 ó’   — | dz  } | dk     rt          d¦  «        ‚|�*|xj        dz  c_        |j        dk     rt          d¦  «        ‚| S )Nr(   r   z$Reached maximum array element count.ú!Reached maximum number of tokens.©r%   Úremaining_budget©rŠ   r‹   s     rK   Ú_check_limitszArrayObject._check_limits   sd   € à˜aÑÐØ Ò!Ð!Ý#Ð$JÑKÔKÐKØÐ%ØÐ+Ô+¨qÑ0Ð+Ô+ØÔ.°Ò2Ð2Ý'Ð(KÑLÔLÐLØ!Ð!rL   ©r‹   rT   Úforced_encodingc                ó\  — t          ¦   «         }|                      d¦  «        }|dk    rt          d¦  «        ‚t          ¦   «         j        }	 |                      d¦  «        }|                     ¦   «         s	|t          v r2|                      d¦  «        }|                     ¦   «         °)|t          v °2|dk    rnô|dk    r&|                      dd¦  «         t          | ¦  «         Œ˜|dk    rnÁt            	                    ||¬	¦  «        }|d
k    ra|                      d¦  «        }|dk    r"| 
                    t          ¦   «         ¦  «         Œþ|                      t          |¦  «         d¦  «         |                      dd¦  «         | 
                    t          | |||¬¦  «        ¦  «         �Œ_|S )Nr(   r†   zCould not read arrayTrL   ó   %éÿÿÿÿó   ]r�   ó   nr<   s   ullr’   )r@   Úreadr&   r   Úarray_maximum_element_countÚisspacer   Úseekr   r‘   rG   r.   ÚlenÚread_object)	r�   rT   r“   r‹   rI   ÚtmprŠ   ÚtokÚrests	            rK   Úread_from_streamzArrayObject.read_from_stream  s   € õ ‰mŒmˆØ�kŠk˜!‰nŒnˆØ�$Š;ˆ;ÝÐ5Ñ6Ô6Ð6Ý.Ñ0Ô0ÔLÐð	aà—+’+˜a‘.”.ˆCØ—+’+‘-”-ð % 3­+Ð#5Ð#5Ø—k’k !‘n”n�ð —+’+‘-”-ð % 3­+Ð#5Ð#5à�cŠzˆzØØ�dŠ{ˆ{Ø—’˜B Ñ"Ô"Ð"Ý! &Ñ)Ô)Ð)Øà�dŠ{ˆ{Øå!,×!:Ò!:Ø#5Ànð ";ñ "ô "Ðð �dŠ{ˆ{à—{’{ 1‘~”~�Ø˜6’>�>Ø—J’J�z™|œ|Ñ,Ô,Ð,ØØ—’�S ™YœY˜J¨Ñ*Ô*Ð*Ø�KŠK˜˜AÑÔÐà�JŠJ•{ 6¨3°ÐP^Ð_Ñ_Ô_Ñ`Ô`Ð`ñ7	að8 ˆ
rL   ©FrM   ra   )Ú__name__Ú
__module__Ú__qualname__r   rD   Úboolr
   r   r   rs   ÚintrR   rc   r   r   rm   rq   rv   rz   r>   r|   r€   r   rt   r‰   Ústaticmethodr9   r‘   r   Údictr¢   rM   rL   rK   r@   r@   o   sn  € € € € € ðà#ðð 
ðð ð ð ð$ !&Ø=?ð	&ð &à#ð&ð ð&ð   ¨¨s°C¨x¬Ô 9Ô:ð	&ð
 
ð&ð &ð &ð &ðPI˜#ð Ið Ið Ið Ið�x ”}ð ð ð ð ð˜3ð  4¨¤9ð ð ð ð ð$˜3ð  =ð ð ð ð ð&˜Cð  Dð ð ð ð ð˜Cð  Dð ð ð ð ð MQðð Ø ðØ27¸¸UÀDÐ8HÔ2Iðà	ðð ð ð ð ð"¨Sð "À(ÐK^ÔB_ð "Ðdgð "ð "ð "ñ „\ð"ð ð HLð(ð
 9=ð(ð (ð (Øð(àÐ'Ô(ð(ð ˜s D¨¤I¨t°C¸°H¬~¸tÐCÔDð(ð
 !Ð!4Ô5ð(ð 
ð(ð (ð (ñ „\ð(ð (ð (rL   r@   c                   ó´  — e Zd Zdedd fd„Z	 	 d'dededeeee	e
f                           dd fd„Zd	d dededeeee	e
f                           d
eee
e
f                  ddfd„Zde
fd„Zdedefd„Zd(de	dedefd„Zdededefd„Zd(dedee         defd„Zdedefd„Zedee         fd„¦   «         Z	 d(dedee	edf         ddfd„Zede
de
dee
         dede
f
d„¦   «         Z ede!dede
defd „¦   «         Z"e#	 d(dd!œdedee         d"ee	ee	         e$e
e	f         df         d#ee%         dd f
d$„¦   «         Z&e#dedee         d%e$eef         ddfd&„¦   «         Z'dS ))ÚDictionaryObjectrA   rB   c                 ó"  — t          d|                      |                      ¦   «         |d¦  «        ¦  «        }|                      ¦   «         D ]B\  }}t	          |d¦  «        r|                     |¦  «        n|||                     |¦  «        <   ŒC|S )Nr¬   FrD   )r   rE   rh   rm   rF   rD   )rH   rA   Úd__ÚkÚvs        rK   rD   zDictionaryObject.replicate8  s•   € õ ØØ×!Ò! $§.¢.Ñ"2Ô"2°H¸eÑDÔDñ
ô 
ˆð —J’J‘L”Lð 	ð 	‰DˆAˆqå)0°°KÑ)@Ô)@ÐG�—’˜HÑ%Ô%Ð%Àað �—’˜HÑ%Ô%Ñ&Ð&ð ˆ
rL   FrM   rN   rO   c                 ó`  — 	 | j         j        |k    r|s| S n# t          $ r Y nw xY wt          ¦   «         }t	          d|                      |                      ¦   «         ||¦  «        ¦  «        }|€g }t          |                     ¦   «         ¦  «        dk    r| 	                    | ||||¦  «         |S )rQ   r¬   Nr   )
rS   rT   rU   rr   r   rE   rh   r�   ÚkeysÚ_clone©rH   rA   rN   rO   Úvisitedr®   s         rK   rR   zDictionaryObject.cloneF  sÄ   € ð	ØÔ&Ô*¨hÒ6Ð6¸Ð6Ø�øøÝð 	ð 	ð 	ØˆDð	øøøõ ),©¬ˆÝØØ×!Ò! $§.¢.Ñ"2Ô"2°H¸oÑNÔNñ
ô 
ˆð Ð ØˆMÝˆs�xŠx‰zŒz‰?Œ?˜aÒÐØ�JŠJ�t˜X ¸ÀwÑOÔOÐOØˆ
r]   Úsrcrµ   Nc           
      óF  ‡‡— ‰€J ‚t          ‰¦  «        Šd}|t          ‰¦  «        k     rit          ‰|         t          ¦  «        r6t	          t          ‰|         ¦  «        dk    r‰|= ‰|= ŒT‰|xx         dz  cc<   |dz  }|t          ‰¦  «        k     °it          ˆˆfd„dD ¦   «         ¦  «        �rt          ‰¦  «        ŠdD �]}|D �]û}g }	|‰v �rñ|| v�rìt          ‰                     |¦  «        t          ¦  «        �rÃt          ‰|         t          ¦  «        �r§‰ 	                    dd¦  «        �wt	          t          ‰|         ¦  «         	                    dd¦  «        �H‰ 	                    dd¦  «        t	          t          ‰|         ¦  «         	                    dd¦  «        k    �rt	          d‰|         ¦  «        }
| }|
�ßt	          d|
 
                    |
                     ¦   «         ||¦  «        ¦  «        }|j        �8|j        j        }|j        j        }||f|v rd}
n€|                     ||f¦  «         |	                     |
|f¦  «         |€J ‚|j        |t#          |¦  «        <   |}	 |
‰k    rd}
nt	          d|
|         ¦  «        }
n# t$          $ r d}
Y nw xY w|
­ß|	D ]\  }}|                     |||‰|¦  «         Œ�Œý�Œ‰                     ¦   «         D ]Æ\  }}|‰vr½t+          |¦  «        t,          vrjt          |t.          ¦  «        rUt1          |d	¦  «        sd|_        |                     ||‰¦  «        }|j        €J ‚|j        | |                     |¦  «        <   Œ‰|| vr9t1          |d
¦  «        r|                     ||‰¦  «        n|| t#          |¦  «        <   ŒÇdS )z°
        Update the object from src.

        Args:
            src: "DictionaryObject":
            pdf_dest:
            force_duplicate:
            ignore_fields:

        Nr   r(   c              3   óÎ  •K  — | ]ß}|‰voÖ|‰v oÒt          ‰                     |¦  «        t          ¦  «        oªt          ‰|         t          ¦  «        o�‰                     d d¦  «        du pwt          t          ‰|         ¦  «                             d d¦  «        du pF‰                     d d¦  «        t          t          ‰|         ¦  «                             d d¦  «        k    V — ŒàdS )ú/TypeN)rX   Úraw_getr,   r¬   Úgetr   )rd   ÚfieldrO   r¶   s     €€rK   rf   z*DictionaryObject._clone.<locals>.<genexpr>~  s
  øè è € ð 
ð 
ð ð ˜Ð&ð 	Ø˜�ð	å˜3Ÿ;š; uÑ-Ô-­~Ñ>Ô>ð	õ ˜3˜uœ:Õ'7Ñ8Ô8ð	ð
 —’˜ Ñ&Ô&¨$Ð.ð IÝÕ(¨#¨e¬*Ñ5Ô5×9Ò9¸'À4ÑHÔHÈDÐPðIà—7’7˜7 DÑ)Ô)ÝÕ(¨#¨e¬*Ñ5Ô5×9Ò9¸'À4ÑHÔHòIð
ð 
ð 
ð 
ð 
ð 
rL   )ú/Nextú/Prevú/Nú/V))r½   r¾   )r¿   rÀ   r¹   r¬   rS   rR   )rq   r�   rX   r¨   r   Úanyrº   r,   r¬   r»   rE   rh   rS   ÚidnumÚ
generationÚaddrG   r-   rU   r³   rm   rV   rW   rY   rF   rR   )rH   r¶   rA   rN   rO   rµ   re   rn   r¯   ÚobjsÚcur_objÚprev_objÚclonrÂ   rÃ   ÚsÚcr°   Úvvs    `  `              rK   r³   zDictionaryObject._clone^  sb  øø€ ð( Ð(Ð(Ð(Ý˜]Ñ+Ô+ˆØˆØ•#�mÑ$Ô$Ò$Ð$Ý˜-¨Ô*­CÑ0Ô0ð &Ý�˜]¨1Ô-Ñ.Ô.°!Ò3Ð3Ø% aÐ(Ø% aÐ(ØØ˜aÐ Ð Ô  AÑ%Ð Ð Ñ Ø�‰FˆAð •#�mÑ$Ô$Ò$Ð$õ ð 
ð 
ð 
ð 
ð 
ð 8ð
ñ 
ô 
ñ 
ô 
ñ @	õ ! Ñ/Ô/ˆMØ9ð 2ñ 2�Øð 1ñ 1�AØ�Dà˜S˜™Ø T˜M™MÝ& s§{¢{°1¡~¤~µ~ÑFÔFñ *å& s¨1¤vÕ/?Ñ@Ô@ñ *ð  ŸGšG G¨TÑ2Ô2Ð:Ý#Õ$4°c¸!´fÑ=Ô=×AÒAÀ'È4ÑPÔPÐXØ"Ÿwšw w°Ñ5Ô5Ý#Õ$4°c¸!´fÑ=Ô=×AÒAÀ'È4ÑPÔPò Qñ  Qõ ?CØ.°°A´ñ?ô ?˜ð @D˜Ø%Ð1Ý#'Ø 2Ø '× 8Ò 8Ø$+×$5Ò$5Ñ$7Ô$7¸À?ñ!"ô !"ñ$ô $˜Dð  $Ô6ÐBØ(,Ô(?Ô(E Ø-1Ô-DÔ-O 
Ø$)¨:Ð#6¸'Ð#AÐ#AØ.2 GØ$)Ø '§¢¨U°JÐ,?Ñ @Ô @Ð @Ø ŸKšK¨°$¨Ñ8Ô8Ð8Ø#+Ð#7Ð#7Ð#7Ø6:Ô6M˜H¥Z°¡]¤]Ñ3Ø'+˜Hð/Ø#*¨c¢> >Ø.2 G Gå.2Ð3EÀwÈqÄzÑ.RÔ.R GøøÝ#,ð /ð /ð /Ø*.   ð/øøøð1 &Ð1ð4 %)ð ð ™D˜A˜qØŸHšHØ ! 8¨_¸mÈWñô ð ð ùñ_1ðf —I’I‘K”Kð 	ð 	‰DˆAˆqØ˜Ð%Ð%õ ˜‘7”7¥-Ð/Ð/µJ¸qÅ,Ñ4OÔ4OÐ/Ý" 1Ð&:Ñ;Ô;ð 4Ø/3˜Ô,ØŸš ¨?¸MÑJÔJ�BØÔ0Ð<Ð<Ð<Ø.0Ô.C�D˜Ÿš Ñ*Ô*Ñ+Ð+Ø˜d�]�]õ # 1 gÑ.Ô.ð˜Ÿš ¨/¸=ÑIÔIÐIàð � A™œÑ'øð	ð 	s   É-JÊJÊJc                 ó€   — t          | j        t          d„ |                      ¦   «         D ¦   «         ¦  «        f¦  «        S )r_   c              3   óH   K  — | ]\  }}||                      ¦   «         fV — Œd S ra   rb   )rd   r¯   r°   s      rK   rf   z,DictionaryObject.hash_bin.<locals>.<genexpr>Ú  s3   è è € Ð#OÐ#O¹$¸!¸Q Q¨¯
ª
©¬Ð$5Ð#OÐ#OÐ#OÐ#OÐ#OÐ#OrL   )rg   rh   ri   rm   rj   s    rK   rc   zDictionaryObject.hash_binÑ  s?   € õ ØŒ^�UÐ#OÐ#OÀ$Ç*Â*Á,Ä,Ð#OÑ#OÔ#OÑPÔPÐQñ
ô 
ð 	
rL   Úkeyc                 ó8   — t                                | |¦  «        S ra   )rª   Ú__getitem__©rH   rÎ   s     rK   rº   zDictionaryObject.raw_getÝ  s   € Ý×Ò  cÑ*Ô*Ð*rL   Údefaultc                 ó&  — | }t          ¦   «         }	 t          |¦  «        }||v rt          d|›d�¦  «        ‚|                     |¦  «         ||v r||         S d|vr|S |d                              ¦   «         }t          |t          ¦  «        s|S |}Œ�)a>  
        Returns the value of a key or from the parent if not found.
        If not found returns default.

        Args:
            key: string identifying the field to return

            default: default value to return

        Returns:
            Current key or inherited one, otherwise default value.

        TzBDetected cycle in /Parent hierarchy when retrieving value for key ú.ú/Parent)rr   Úidr%   rÄ   rZ   rX   r¬   )rH   rÎ   rÒ   Úcurrentrµ   Úobj_idÚparents          rK   Úget_inheritedzDictionaryObject.get_inheritedà  s¹   € ð ˆÝ™EœEˆð	å˜‘[”[ˆFØ˜Ð Ð Ý'Ð(uÐmpÐ(uÐ(uÐ(uÑvÔvÐvØ�KŠK˜ÑÔÐà�gˆ~ˆ~Ø˜s”|Ð#à Ð'Ð'Ø�ð ˜YÔ'×2Ò2Ñ4Ô4ˆFÝ˜fÕ&6Ñ7Ô7ð ð �ØˆGð'	rL   Úvaluec                 óÊ   — t          |t          ¦  «        st          d¦  «        ‚t          |t          ¦  «        st          d¦  «        ‚t                               | ||¦  «        S ©NzKey must be a PdfObjectzValue must be a PdfObject)rX   r0   r   rª   Ú__setitem__©rH   rÎ   rÛ   s      rK   rÞ   zDictionaryObject.__setitem__  s\   € Ý˜#�yÑ)Ô)ð 	8ÝÐ6Ñ7Ô7Ð7Ý˜%¥Ñ+Ô+ð 	:ÝÐ8Ñ9Ô9Ð9Ý×Ò  c¨5Ñ1Ô1Ð1rL   c                 óÊ   — t          |t          ¦  «        st          d¦  «        ‚t          |t          ¦  «        st          d¦  «        ‚t                               | ||¦  «        S rÝ   )rX   r0   r   rª   Ú
setdefaultrß   s      rK   rá   zDictionaryObject.setdefault  sZ   € Ý˜#�yÑ)Ô)ð 	8ÝÐ6Ñ7Ô7Ð7Ý˜%¥Ñ+Ô+ð 	:ÝÐ8Ñ9Ô9Ð9Ý�Š˜t S¨%Ñ0Ô0Ð0rL   c                 ó‚   — t          t          t                               | |¦  «                             ¦   «         ¦  «        S ra   )r   r0   rª   rÐ   rZ   rÑ   s     rK   rÐ   zDictionaryObject.__getitem__  s.   € Ý•I�t×/Ò/°°cÑ:Ô:×EÒEÑGÔGÑHÔHÐHrL   c                 ó²   — ddl m} |                      dd¦  «        }t          |¦  «        rdS |€
J d¦   «         ‚|                     ¦   «         } ||¦  «        S )u¦  
        Retrieve XMP (Extensible Metadata Platform) data relevant to this
        object, if available.

        See Table 347 â€” Additional entries in a metadata stream dictionary.

        Returns:
          Returns a :class:`~pypdf.xmp.XmpInformation` instance
          that can be used to access XMP metadata from the document. Can also
          return None if no metadata was found on the document root.

        r   )ÚXmpInformationz	/MetadataNÚmypy)Úxmprä   r»   r2   rZ   )rH   rä   Úmetadatas      rK   Úxmp_metadatazDictionaryObject.xmp_metadata  ss   € ð 	)Ð(Ð(Ð(Ð(Ð(à—8’8˜K¨Ñ.Ô.ˆÝ˜8Ñ$Ô$ð 	Ø�4ØÐ#Ð# VÑ#Ô#Ð#Ø×&Ò&Ñ(Ô(ˆØˆ~˜hÑ'Ô'Ð'rL   r�   r‚   c                 ó´  — |�t          dd¦  «         |                     d¦  «         |                      ¦   «         D ]†\  }}t          |¦  «        dk    r|d         dk    r|d         dk    rŒ1|                     ||¦  «         |                     d¦  «         |                     |¦  «         |                     d	¦  «         Œ‡|                     d
¦  «         d S )Nr„   r…   ó   <<
r   r(   ú%r–   r‡   ó   
ó   >>)r   rˆ   rm   r�   r‰   )rH   r�   r‚   rÎ   rÛ   s        rK   r‰   z DictionaryObject.write_to_stream.  sã   € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š�WÑÔÐØŸ*š*™,œ,ð 	 ð 	 ‰JˆC�Ý�3‰xŒx˜!Š|ˆ|  A¤¨#¢ °#°b´'¸S².°.ØØ×Ò ¨Ñ7Ô7Ð7Ø�LŠL˜ÑÔÐØ×!Ò! &Ñ)Ô)Ð)Ø�LŠL˜ÑÔÐÐØ�Š�UÑÔÐÐÐrL   Úposition_beforeÚposition_endÚgenerationsrT   c                 ó˜   — |}|D ]D}|j         |                              ¦   «         D ]"}||cxk     r|k    rn Œt          ||¦  «        }Œ#ŒE|S ra   )ÚxrefÚvaluesÚmin)Úclsrî   rï   rð   rT   ÚoutrÃ   re   s           rK   Ú_get_next_object_positionz*DictionaryObject._get_next_object_position?  sv   € ð ˆØ%ð 	&ð 	&ˆJØ”X˜jÔ)×0Ò0Ñ2Ô2ð &ð &�Ø" QÐ6Ð6Ò6Ð6¨,Ò6Ð6Ð6Ð6Ð6Ý˜c 1™+œ+�Cøð&ð ˆ
rL   Úlengthc                ó\  — |                      ¦   «         }	 |                     dt          j        ¦  «         |                      ¦   «         }|                     |¦  «         n# |                     |¦  «         w xY w|                      ||t          |j        ¦  «        |¬¦  «        }||z
  }||k    rt          d|› d�¦  «        ‚|                     |¦  «        }| 	                    d¦  «        }	|	dk     rt          d|› d�¦  «        ‚|                     ||	z   dz   ¦  «         |d |	d	z
  …         S )
Nr   )rî   rï   rð   rT   zRequested length of ú  exceeds maximum allowed length.ó	   endstreamz6Unable to find 'endstream' marker for obj starting at rÔ   é	   r(   )Útellrœ   ÚosÚSEEK_ENDr÷   rq   rò   r%   r™   Úfindr&   )
rõ   r�   rT   rø   Úcurrent_positionÚstream_lengthÚobject_positionÚbytes_to_readÚ
read_valueÚendstream_positions
             rK   Ú_read_unsized_from_streamz*DictionaryObject._read_unsized_from_streamJ  sT  € ð "Ÿ;š;™=œ=Ðð	*Ø�KŠK˜�2œ;Ñ'Ô'Ð'Ø"ŸKšK™MœMˆMà�KŠKÐ(Ñ)Ô)Ð)Ð)øˆF�KŠKÐ(Ñ)Ô)Ð)Ð)øøøà×7Ò7Ø,¸=ÕVZÐ[^Ô[cÑVdÔVdÐjmð 8ñ 
ô 
ˆð (Ð*:Ñ:ˆØ˜FÒ"Ð"Ý#Ð$j¸=Ð$jÐ$jÐ$jÑkÔkÐkð —[’[ Ñ/Ô/ˆ
Ø'Ÿ_š_¨\Ñ:Ô:ÐØ Ò!Ð!ÝØ\ÐIYÐ\Ð\Ð\ñô ð ð 	�ŠÐ$Ð'9Ñ9¸AÑ=Ñ>Ô>Ð>ØÐ2Ð.°Ñ2Ð2Ô3Ð3s   –4A  Á A7r’   r“   r‹   c                óä  — |                       d¦  «        }|dk    r2t          dt          |                      ¦   «         ¦  «        › d�¦  «        ‚i }t	          ¦   «         j        }	 t          | ¦  «        }|dk    rŒ|dk    r&|                      dd	¦  «         t          | ¦  «         ŒC|st          t          ¦  «        ‚|d
k    r|                       d	¦  «         �n9|                      dd	¦  «         |d	z  }|dk     rt          d¦  «        ‚|�*|xj        dz  c_        |j        dk     rt          d¦  «        ‚	 	 t          | ||¬¦  «        }t          |t          ¦  «        r�n²t          |t           ¦  «        st          d|›�¦  «        ‚n9# t          $ r,}	|�|j        r‚ t%          dt&          |	¬¦  «         Y d }	~	�ŒVd }	~	ww xY wt          | ¦  «        }|                      dd	¦  «         t          | |||¬¦  «        }
n·# t          $ r ‚ t(          $ r'}	t          |	                     ¦   «         ¦  «        |	‚d }	~	wt,          $ rq}	|�)|j        r"t          |	                     ¦   «         ¦  «        |	‚t%          dt&          |	¬¦  «         t/          ¦   «         }|                     |¦  «         |cY d }	~	S d }	~	ww xY w||vr|
||<   nUd}t          |                      ¦   «         ¦  «        |dœ}|�|j        rt          ||z  ¦  «        ‚t%          |fdt&          i|¤Ž �Œ®t.                               | ||¬¦  «         d|v rt4                               |¦  «        S t/          ¦   «         }|                     |¦  «         |S )Nr   ó   <<zDictionary read error at byte z: stream must begin with '<<'Tó    r•   r–   r(   ó   >r   z-Reached maximum number of dictionary entries.r�   r’   z)Expecting a NameObject for key but found z%(exception)r)ÚsourceÚ	exceptionzGMultiple definitions in dictionary at byte %(position)s for key %(key)s)ÚpositionrÎ   r  )r�   rT   rJ   Ú__streamdata__)r™   r&   Úhexrý   r   Ú dictionary_maximum_element_countr   rœ   r   r'   r$   r%   r�   rž   rX   r.   r-   Ústrictr   r¤   ÚRecursionErrorÚ__repr__rU   r¬   ÚupdateÚ_read_stream_datarY   Úinitialize_from_dictionary)r�   rT   r“   r‹   rŸ   rJ   Úremaining_countr    rÎ   ÚexcrÛ   ÚretvalÚmsgró   s                 rK   r¢   z!DictionaryObject.read_from_streamj  sí  € ð �kŠk˜!‰nŒnˆØ�%Š<ˆ<Ýð.µ°V·[²[±]´]Ñ1CÔ1Cð .ð .ð .ñô ð ð  "ˆÝ+Ñ-Ô-ÔNˆðA	?Ý% fÑ-Ô-ˆCØ�gŠ~ˆ~ØØ�dŠ{ˆ{Ø—’˜B Ñ"Ô"Ð"Ý! &Ñ)Ô)Ð)ØØð CÝ$Õ%AÑBÔBÐBà�dŠ{ˆ{Ø—’˜A‘”�ÙØ�KŠK˜˜AÑÔÐà˜qÑ ˆOØ Ò"Ð"Ý'Ð(WÑXÔXÐXØÐ)ØÐ/Ô/°1Ñ4Ð/Ô/Ø!Ô2°QÒ6Ð6Ý+Ð,OÑPÔPÐPððÝ% f¨cÀ.ÐQÑQÔQ�CÝ! #¥zÑ2Ô2ð ÙÝ% c­:Ñ6Ô6ð Ý*ØOÈÐOÐOñô ð ðøõ $ð ð ð Ø�¨3¬:�ØÝ" ?½8ÈsÐSÑSÔSÐSØ�H�H�H‘Høøøøð	øøøõ
 *¨&Ñ1Ô1�Ø—’˜B Ñ"Ô"Ð"Ý# F¨C°ÐQ_Ð`Ñ`Ô`��øÝ$ð ð ð àÝ!ð <ð <ð <Ý" 3§<¢<¡>¤>Ñ2Ô2¸Ð;øøøøÝð ð ð Ø�? s¤z�?Ý& s§|¢|¡~¤~Ñ6Ô6¸CÐ?Ý˜µxÈ3ÐOÑOÔOÐOÝ)Ñ+Ô+�Ø—’˜dÑ#Ô#Ð#Ø������øøøøðøøøð ˜$ˆˆØ!��S‘	�	ð3ð õ '*¨&¯+ª+©-¬-Ñ&8Ô&8ÀÐEÐE�Ø�? s¤z�?Ý& s¨V¡|Ñ4Ô4Ð4Ý˜sÐ>Ð>­8Ð>°vÐ>Ð>Ð>ñCA	?õF 	×*Ò*°&¸cÈÐ*ÑMÔMÐMØ˜tÐ#Ð#Ý×:Ò:¸4Ñ@Ô@Ð@Ý!Ñ#Ô#ˆØ�Š�dÑÔÐØˆsU   Ä7'F Å 'F ÆG: Æ
F>Æ!F9Æ3G: Æ9F>Æ>;G: Ç:J.È"H0È0J.È=A&J)Ê#J.Ê)J.rJ   c           	      ó  — |                       ¦   «         }t          | ¦  «        }|dk    �rE|                      d¦  «        dk    �r+|                      d¦  «        }|dk    r|                      d¦  «        }|dk    °|dvrt          d¦  «        ‚|dk    r/|                      d¦  «        d	k    r|                      d
d¦  «         t
          j        |vrj|�|j        rt          d¦  «        ‚t          dt          |                       ¦   «         ¬¦  «         t          d
¦  «        |t          t
          j        ¦  «        <   |t
          j                 }t          |t          ¦  «        rK|                       ¦   «         }|€
J d¦   «         ‚|                     |¦  «        }|                      |d¦  «         |€d
}|                       ¦   «         }ddlm}	  |	¦   «         }
|dk    r7||
j        k    rt%          d|› d�¦  «        ‚|                      |¦  «        |d<   n,t'          | t)          j        d¦  «        |
j        ¬¦  «        |d<   t          | ¦  «        }|                      d¦  «        }||z   dk    �r|                       ¦   «         }|                      dd¦  «         |                      d¦  «        }|dk    r|d         d d
…         |d<   d S |�X|j        sQ|                      |d¦  «         t,                               | ||
j        ¬¦  «        |d<   |                       ¦   «         }d S |                      |d¦  «         t1          dt3          |                       ¦   «         ¦  «        › d|›d|›d�¦  «        ‚d S |                      |d¦  «         d S )Nó   sé   s   treamr(   r‡   )rì   ó   z)Stream data must be followed by a newliner  rì   r–   zStream length not definedz+Stream length not defined @pos=%(position)d)r  r  rå   r   r   r   zDeclared stream length of rú   r  rû   ©r�   Úregexrø   é   iöÿÿÿrü   )r�   rT   rø   z7Unable to find 'endstream' marker after stream at byte z (nd='z', end='z').)rý   r   r™   r'   rœ   r    ÚLENGTHr  r   r¤   r/   r-   rX   r,   rZ   Ú_configurationr   Úmaximum_declared_stream_lengthr%   r   ÚreÚcompiler¬   r  r&   r  )r�   rT   rJ   ÚposrÉ   Úeolrø   ÚtÚpstartr   ÚconfigurationÚeÚndstreamÚends                 rK   r  z"DictionaryObject._read_stream_dataÄ  s¶  € ð �kŠk‰mŒmˆÝ Ñ'Ô'ˆØ�Š9‰9˜Ÿš Q™œ¨8Ò3Ñ3Ø—+’+˜a‘.”.ˆCð ˜’+�+Ø—k’k !‘n”n�ð ˜’+�+à˜.Ð(Ð(Ý$Ð%PÑQÔQÐQØ�eŠ|ˆ| §¢¨A¡¤°%Ò 7Ð 7Ø—’˜B Ñ"Ô"Ð"åÔ&¨dÐ2Ð2Ø�? s¤z�?Ý(Ð)DÑEÔEÐEÝØAÝ#Ø#Ÿ[š[™]œ]ðñ ô ð õ
 =IÈÑ<LÔ<L�•ZÕ 0Ô 7Ñ8Ô8Ñ9ØÕ*Ô1Ô2ˆFÝ˜&¥.Ñ1Ô1ð "Ø—K’K‘M”M�Ø��¨‘”�ØŸš¨Ñ/Ô/�Ø—’˜A˜qÑ!Ô!Ð!Øˆ~Ø�Ø—[’[‘]”]ˆFà:Ð:Ð:Ð:Ð:Ð:Ø-Ð-Ñ/Ô/ˆMØ˜Š{ˆ{Ø˜MÔHÒHÐHÝ+Ð,qÈÐ,qÐ,qÐ,qÑrÔrÐrà)/¯ª°VÑ)<Ô)<�Ð%Ñ&Ð&å)9Ø!­¬°LÑ)AÔ)AÈ-ÔJvð*ñ *ô *�Ð%Ñ&õ $ FÑ+Ô+ˆAØ—{’{ 1‘~”~ˆHØ�H‘ Ò-Ñ-ð —k’k‘m”m�Ø—’˜C Ñ#Ô#Ð#Ø—k’k !‘n”n�Ø˜,Ò&Ð&à-1Ð2BÔ-CÀCÀRÀCÔ-H�DÐ)Ñ*Ð*Ð*Ø�_¨S¬Z�_Ø—K’K ¨Ñ*Ô*Ð*Ý-=×-WÒ-WØ%¨3°}Ô7cð .Xñ .ô .�DÐ)Ñ*ð !Ÿ+š+™-œ-�C�C�Cà—K’K  QÑ'Ô'Ð'Ý&ðTÝ˜vŸ{š{™}œ}Ñ-Ô-ðTð TØ5=ðTð TØILðTð Tð Tñô ð ð+ .Ð-ð4 �KŠK˜˜QÑÔÐÐÐrL   r£   ra   )(r¤   r¥   r¦   r   rD   r§   r
   r   r   rs   r¨   rR   rr   ri   r³   rc   r   rº   rÚ   rÞ   rá   r0   rÐ   Úpropertyr   rè   r   rt   r‰   Úclassmethodrq   r   r÷   r   r  r©   rª   r9   r¢   r  rM   rL   rK   r¬   r¬   7  sñ  € € € € € ðà#ðð 
ðð ð ð ð" !&Ø=?ð	ð à#ðð ðð   ¨¨s°C¨x¬Ô 9Ô:ð	ð
 
ðð ð ð ð0qàðqð $ðqð ð	qð
   ¨¨s°C¨x¬Ô 9Ô:ðqð �U˜3 ˜8”_Ô%ðqð 
ðqð qð qð qðf

˜#ð 

ð 

ð 

ð 

ð+˜3ð + 3ð +ð +ð +ð +ð$ð $ ð $¨sð $¸cð $ð $ð $ð $ðL2˜sð 2¨3ð 2°3ð 2ð 2ð 2ð 2ð1ð 1˜cð 1¨(°3¬-ð 1À3ð 1ð 1ð 1ð 1ðI˜sð I yð Ið Ið Ið Ið ð(˜hÐ'=Ô>ð (ð (ð (ñ „Xð(ð. MQðð Ø ðØ27¸¸UÀDÐ8HÔ2Iðà	ðð ð ð ð" ðØ"%ðØ58ðØGKÈCÄyðØWhðà	ðð ð ñ „[ðð ð4Ø,ð4Ø3Dð4ØNQð4à	ð4ð 4ð 4ñ „[ð4ð> ð HLðWð
 9=ðWð Wð WØðWàÐ'Ô(ðWð ˜s D¨¤I¨t°C¸°H¬~¸tÐCÔDðWð
 !Ð!4Ô5ðWð 
ðWð Wð Wñ „\ðWðr ðM àðM ð Ð'Ô(ðM ð �3˜�8Œnð	M ð
 
ðM ð M ð M ñ „\ðM ð M ð M rL   r¬   c                   ó4  — e Zd Zddee         ddfd„Zdefd„Zdefd„Z	de
e         fd„Zded	eddfd
„Zdeed df         deddfd„Zdeed df         deddfd„Z	 ddeded	edeedef                  def
d„Zdededededdf
d„Zdeddfd„Zdd„Zdd„ZdS )Ú
TreeObjectNÚdctrB   c                 ól   — t                                | ¦  «         |r|                      |¦  «         d S d S ra   )r¬   Ú__init__r  )rH   r4  s     rK   r6  zTreeObject.__init__  s@   € Ý×!Ò! $Ñ'Ô'Ð'Øð 	Ø�KŠK˜ÑÔÐÐÐð	ð 	rL   c                 ó
   — d| v S )Nú/FirstrM   rj   s    rK   Úhas_childrenzTreeObject.has_children  s   € Ø˜4ÐÐrL   c                 ó*   — |                       ¦   «         S ra   )Úchildrenrj   s    rK   Ú__iter__zTreeObject.__iter__  s   € Ø�}Š}‰ŒÐrL   c              #   óö  K  — |                       ¦   «         sd S | t          d¦  «                 }| t          d¦  «                 }|                     ¦   «         }t          ¦   «         }	 t	          |¦  «        }||v rt          dt          |¬¦  «         d S |                     |¦  «         |V — ||k    rd S |                     t          d¦  «        ¦  «        }t          |¦  «        rd S |                     ¦   «         }Œ•)Nr8  ú/LastTz1Detected cycle in outline structure for %(child)s)r  Úchildr½   )
r9  r-   rZ   rr   rÖ   r   r¤   rÄ   r»   r2   )rH   Ú	child_refÚlastr?  rµ   Úchild_ids         rK   r;  zTreeObject.children!  s  è è € Ø× Ò Ñ"Ô"ð 	ØˆFà� HÑ-Ô-Ô.ˆ	Ø•J˜wÑ'Ô'Ô(ˆØ×$Ò$Ñ&Ô&ˆÝ™EœEˆð	+Ý˜%‘y”yˆHØ˜7Ð"Ð"ÝÐRÕ[cÐkpÐqÑqÔqÐqØ�Ø�KŠK˜Ñ!Ô!Ð!àˆKˆKˆKà˜Š}ˆ}Ø�ØŸ	š	¥*¨WÑ"5Ô"5Ñ6Ô6ˆIÝ˜yÑ)Ô)ð Ø�Ø×(Ò(Ñ*Ô*ˆEð	+rL   r?  rT   c                 ó4   — |                       |d |¦  «         d S ra   )Úinsert_child)rH   r?  rT   s      rK   Ú	add_childzTreeObject.add_child9  s    € Ø×Ò˜%  sÑ+Ô+Ð+Ð+Ð+rL   rÙ   Únc                 ó�  — t          |¦  «        rd S |€
J d¦   «         ‚t          d|                     ¦   «         ¦  «        }d|v r‚t          t	          dt          t
          |t          d¦  «                 ¦  «        |z   ¦  «        ¦  «        |t          d¦  «        <   |                      |                     dd ¦  «        |¦  «         d S d S )Nrå   r3  ú/Countr   rÕ   )	r2   r   rZ   r/   Úmaxr¨   r-   Úinc_parent_counter_defaultr»   )rH   rÙ   rF  s      rK   rJ  z%TreeObject.inc_parent_counter_default<  sÌ   € õ ˜6Ñ"Ô"ð 	ØˆFØÐ!Ð! 6Ñ!Ô!Ð!Ý�l F×$5Ò$5Ñ$7Ô$7Ñ8Ô8ˆØ�vÐÐÝ+7Ý�A•t�C ­
°8Ñ(<Ô(<Ô!=Ñ>Ô>ÀÑBÑCÔCñ,ô ,ˆF•:˜hÑ'Ô'Ñ(ð ×+Ò+¨F¯JªJ°yÀ$Ñ,GÔ,GÈÑKÔKÐKÐKÐKð	 ÐrL   c                 óâ  — t          |¦  «        rd S |€
J d¦   «         ‚t          d|                     ¦   «         ¦  «        }|                     dd¦  «        dk    }t          t          |                     dd¦  «        ¦  «        }|dk     rt          |¦  «        }t          ||z   |rdndz  ¦  «        |t          d¦  «        <   |sd S |                      |                     d	d ¦  «        |¦  «         d S )
Nrå   r3  z
/%is_open%TrH  r   r(   r–   rÕ   )	r2   r   rZ   r»   r¨   Úabsr/   r-   Úinc_parent_counter_outline)rH   rÙ   rF  ÚopnrÊ   s        rK   rM  z%TreeObject.inc_parent_counter_outlineI  sô   € õ ˜6Ñ"Ô"ð 	ØˆFØÐ!Ð! 6Ñ!Ô!Ð!Ý�l F×$5Ò$5Ñ$7Ô$7Ñ8Ô8ˆà�jŠj˜ tÑ,Ô,°Ò4ˆÝ•�f—j’j ¨1Ñ-Ô-Ñ.Ô.ˆØˆqŠ5ˆ5Ý�A‘”ˆAÝ'3°Q¸±UÀCÐ?O¸q¸qÈRÑ4PÑ'QÔ'Qˆ�z˜(Ñ#Ô#Ñ$Øð 	ØˆFØ×'Ò'¨¯
ª
°9¸dÑ(CÔ(CÀQÑGÔGÐGÐGÐGrL   ÚbeforeÚinc_parent_counter.c                 ó@  — |€| j         }|                     ¦   «         }|j        €
J d¦   «         ‚|j        }d| vrŠ|| t          d¦  «        <   t	          d¦  «        | t          d¦  «        <   || t          d¦  «        <   | j        |t          d¦  «        <    || |                     dd¦  «        ¦  «         d|v r|d= d	|v r|d	= |S t          d
| d         ¦  «        }t          ¦   «         }|j        |k    rÛt          |¦  «        }	|	|v rt          d¦  «        ‚| 
                    |	¦  «         d|v rt          d|d         ¦  «        }Œ]t          d|¦  «        |t          d¦  «        <   |j        |t          d	¦  «        <   | j        |t          d¦  «        <   d|v r|d= || t          d¦  «        <    || |                     dd¦  «        ¦  «         |S 	 t          |d	         t          ¦  «        sJ ‚||d	         t          d¦  «        <   |d	         |t          d	¦  «        <   n&# t          $ r |                     dd ¦  «         Y nw xY w||t          d¦  «        <   ||t          d	¦  «        <   | j        |t          d¦  «        <    || |                     dd¦  «        ¦  «         |S )Nrå   r8  r   rH  r>  rÕ   r(   r½   r¾   r¬   z!Detected cycle in tree structure.r3  )rJ  rZ   rS   r-   r/   r»   r   rr   rÖ   r%   rÄ   rX   r¬   rU   Úpop)
rH   r?  rO  rT   rP  Ú	child_objÚchild_referenceÚprevrµ   Úprev_ids
             rK   rD  zTreeObject.insert_childZ  sç  € ð Ð%Ø!%Ô!@ÐØ×$Ò$Ñ&Ô&ˆ	ØÔ'Ð3Ð3°VÑ3Ô3Ð3Ø*/Ô*Bˆð ˜4ÐÐØ)8ˆD•˜HÑ%Ô%Ñ&Ý)5°a©¬ˆD•˜HÑ%Ô%Ñ&Ø(7ˆD•˜GÑ$Ô$Ñ%Ø/3Ô/FˆI•j Ñ+Ô+Ñ,ØÐ˜t Y§]¢]°8¸QÑ%?Ô%?Ñ@Ô@Ð@Ø˜)Ð#Ð#Ø˜gÐ&Ø˜)Ð#Ð#Ø˜gÐ&Ø"Ð"ÝÐ&¨¨W¬Ñ6Ô6ˆå™EœEˆØÔ%¨Ò/Ð/Ý˜‘h”hˆGØ˜'Ð!Ð!Ý'Ð(KÑLÔLÐLØ�KŠK˜Ñ Ô Ð Ø˜$ˆˆÝ˜L¨$¨w¬-Ñ8Ô8�Øõ )-¨\¸?Ñ(KÔ(KˆD•˜GÑ$Ô$Ñ%Ø-1Ô-DˆI•j Ñ)Ô)Ñ*Ø/3Ô/FˆI•j Ñ+Ô+Ñ,Ø˜)Ð#Ð#Ø˜gÐ&Ø(7ˆD•˜GÑ$Ô$Ñ%ØÐ˜t Y§]¢]°8¸QÑ%?Ô%?Ñ@Ô@Ð@Ø"Ð"ð	)Ý˜d 7œmÕ-=Ñ>Ô>Ð>Ð>Ð>Ø1@ˆD�ŒM�* WÑ-Ô-Ñ.Ø-1°'¬]ˆI•j Ñ)Ô)Ñ*Ð*øÝð 	)ð 	)ð 	)Ø�MŠM˜' 4Ñ(Ô(Ð(Ð(Ð(ð	)øøøà)-ˆ	•*˜WÑ%Ô%Ñ&Ø$3ˆ�Z˜Ñ Ô Ñ!Ø+/Ô+Bˆ	•*˜YÑ'Ô'Ñ(ØÐ˜4 §¢¨x¸Ñ!;Ô!;Ñ<Ô<Ð<ØÐs   ÇAH È I È?I ÚpreviousÚprevious_referencer×   rA  c                óˆ  — |                      dd¦  «        }|€©|r`|                     ¦   «         }|d= || t          d¦  «        <   t          | t          d¦  «                 dz
  ¦  «        | t          d¦  «        <   dS t          d¦  «        | t          d¦  «        <   | d= t          d¦  «        | v r| t          d¦  «        = dS dS |r9|                     ¦   «         }||t          d¦  «        <   ||t          d¦  «        <   n||k    sJ ‚|d= || t          d¦  «        <   t          | d         dz
  ¦  «        | t          d¦  «        <   dS )	z;Adjust the pointers of the linked list and tree node count.r½   Nr¾   r8  rH  r(   r   r>  )r»   rZ   r-   r/   )rH   rW  rX  r×   rA  Únext_referenceÚnext_objects          rK   Ú_remove_node_from_treez!TreeObject._remove_node_from_tree”  sm  € ð !Ÿš W¨dÑ3Ô3ˆØÐØð 2à,×7Ò7Ñ9Ô9�Ø Ð(Ø-;�•Z Ñ)Ô)Ñ*Ý-9Ø� HÑ-Ô-Ô.°Ñ2ñ.ô .�•Z Ñ)Ô)Ñ*Ð*Ð*õ .:¸!©_¬_�•Z Ñ)Ô)Ñ*Ø˜�NÝ˜gÑ&Ô&¨$Ð.Ð.Ø�Z¨Ñ0Ô0Ð1Ð1Ð1ð /Ð.ð ð 	?à,×7Ò7Ñ9Ô9�Ø3E��J wÑ/Ô/Ñ0Ø0>�� GÑ,Ô,Ñ-Ð-ð  $’���Ø˜WÐ%Ø,>�•Z Ñ(Ô(Ñ)Ý)5°d¸8´nÀqÑ6HÑ)IÔ)IˆD•˜HÑ%Ô%Ñ&Ð&Ð&rL   c                 ór  — |                      ¦   «         }d|vrt          d¦  «        ‚|d         | k    rt          d¦  «        ‚d}d }d }| d         }|                      ¦   «         }| d         }|                      ¦   «         }	t          ¦   «         }
|�†||k    r"t                               | ||||	¬¦  «         d}n^t          |¦  «        }||
v rt          d	¦  «        ‚|
                     |¦  «         |}|}d
|vrn|d
         }|                      ¦   «         }|­†|st          d¦  «        ‚t          |¦  «         d S )NrÕ   ú/Removed child does not appear to be a tree itemz*Removed child is not a member of this treeFr8  r>  )rW  rX  r×   rA  Tz Detected cyclic /Next hierarchy.r½   z"Removal couldn't find item in tree)	rZ   r   rr   r3  r\  rÖ   r%   rÄ   Ú_reset_node_tree_relationship)rH   r?  Úchild_objectÚfoundrX  rW  Úcurrent_referencer×   Úlast_referencerA  rµ   Ú
current_ids               rK   Úremove_childzTreeObject.remove_child¶  s„  € Ø×'Ò'Ñ)Ô)ˆà˜LÐ(Ð(ÝÐNÑOÔOÐOØ˜	Ô" dÒ*Ð*ÝÐIÑJÔJÐJàˆØ!ÐØˆØ+/°¬>ÐØ,=×,HÒ,HÑ,JÔ,JˆØ˜gœˆØ×(Ò(Ñ*Ô*ˆÝ™EœEˆØÐ!Ø˜,Ò&Ð&Ý×1Ò1Ø 8Ð@RÐ\cÐjnð 2ñ ô ð ð �ØÝ˜G™œˆJØ˜WÐ$Ð$Ý'Ð(JÑKÔKÐKØ�KŠK˜
Ñ#Ô#Ð#ð "3ÐØˆHØ˜gÐ%Ð%ØØ '¨Ô 0ÐØ'×2Ò2Ñ4Ô4ˆGð% Ð!ð( ð 	CÝÐAÑBÔBÐBå% lÑ3Ô3Ð3Ð3Ð3rL   c                 ó~   — d| vrt          d¦  «        ‚t          d| d         ¦  «                             | ¦  «         dS )z)Remove the object from the tree it is in.rÕ   r^  r3  N)r   r   re  rj   s    rK   Úremove_from_treezTreeObject.remove_from_treeß  sD   € à˜DÐ Ð ÝÐNÑOÔOÐOÝˆ\˜4 	œ?Ñ+Ô+×8Ò8¸Ñ>Ô>Ð>Ð>Ð>rL   c                 ó   — | D ]%}|                      ¦   «         }t          |¦  «         Œ&t          d¦  «        | v r| t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = d S d S )NrH  r8  r>  )rZ   r_  r-   )rH   r?  rS  s      rK   Ú
empty_treezTreeObject.empty_treeå  sª   € Øð 	5ð 	5ˆEØ×(Ò(Ñ*Ô*ˆIÝ)¨)Ñ4Ô4Ð4Ð4å�hÑÔ 4Ð'Ð'Ø•Z Ñ)Ô)Ð*Ý�hÑÔ 4Ð'Ð'Ø•Z Ñ)Ô)Ð*Ý�gÑÔ $Ð&Ð&Ø•Z Ñ(Ô(Ð)Ð)Ð)ð 'Ð&rL   ra   ©rB   N)r¤   r¥   r¦   r
   r¬   r6  r§   r9  r   r<  r   r;  r   rE  r   r,   r¨   rJ  rM  r   rD  r\  re  rg  ri  rM   rL   rK   r3  r3    s-  € € € € € ðð ˜HÐ%5Ô6ð À$ð ð ð ð ð
 ˜dð  ð  ð  ð  ð˜#ð ð ð ð ð+˜( 3œ-ð +ð +ð +ð +ð0,˜sð ,Ð):ð ,¸tð ,ð ,ð ,ð ,ðLØ˜N¨L¸$Ð>Ô?ðLØDGðLà	ðLð Lð Lð LðHØ˜N¨L¸$Ð>Ô?ðHØDGðHà	ðHð Hð Hð Hð, <@ð8ð 8àð8ð ð8ð ð	8ð
 % X¨c°3¨hÔ%7Ô8ð8ð 
ð8ð 8ð 8ð 8ðt JØð JØ47ð JØBEð JØMPð Jà	ð Jð  Jð  Jð  JðD'4 #ð '4¨$ð '4ð '4ð '4ð '4ðR?ð ?ð ?ð ?ð
*ð 
*ð 
*ð 
*ð 
*ð 
*rL   r3  rS  rB   c                 ó®   — | t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = dS dS )zœ
    Call this after a node has been removed from a tree.

    This resets the nodes attributes in respect to that tree.

    Args:
        child_obj:

    rÕ   r½   r¾   N)r-   )rS  s    rK   r_  r_  ò  sh   € ð 	•*˜YÑ'Ô'Ð(Ý�'ÑÔ˜iÐ'Ð'Ø•j Ñ)Ô)Ð*Ý�'ÑÔ˜iÐ'Ð'Ø•j Ñ)Ô)Ð*Ð*Ð*ð (Ð'rL   c                   óP   — e Zd ZU dZeed<   	 eeef         ed<   ee	         ed<   dS )Ú_FontFileCharacterMapzOThe character map pypdf._cmap derived from an embedded font program. See #4156.ÚdigestÚmap_dictÚ	int_entryN)
r¤   r¥   r¦   Ú__doc__rt   Ú__annotations__rª   r   rq   r¨   rM   rL   rK   rm  rm    sH   € € € € € € ØYÐYà€M€M�MØKØ�3˜�8ŒnÐÐÑØ�CŒyÐÐÑÐÐrL   rm  c                   ó˜  ‡ — e Zd ZU dZee         ed<   	 dd„Zdedd fd„Z	de
deded	eeeeef                           d
eeeef                  ddfˆ fd„Zdefˆ fd„Zdefd„Zdeddfd„Zdefˆ fd„Z	 ddedeeedf         ddfd„Zedeeef         ded         fd„¦   «         Zddeddfd„Zddeeeef         df         defd„Zˆ xZ S )rY   NÚ_font_file_character_maprB   c                 ó"   — d| _         d | _        d S ©NrL   )Ú_dataÚdecoded_selfrj   s    rK   r6  zStreamObject.__init__  s   € ØˆŒ
Ø;?ˆÔÐÐrL   rA   c                 óÐ  — t          d|                      |                      ¦   «         |d¦  «        ¦  «        }| j        |_        	 | j        }|€d | _        n(t          d|                     |¦  «        ¦  «        | _        n# t          $ r Y nw xY w|                      ¦   «         D ]B\  }}t          |d¦  «        r|                     |¦  «        n|||                     |¦  «        <   ŒC|S )NrY   FÚDecodedStreamObjectrD   )	r   rE   rh   rw  rx  rD   rU   rm   rF   ©rH   rA   r®   rx  r¯   r°   s         rK   rD   zStreamObject.replicate  s  € õ ØØ×!Ò! $§.¢.Ñ"2Ô"2°H¸eÑDÔDñ
ô 
ˆð ”JˆŒ	ð		ØÔ,ˆLØÐ#Ø$(�Ô!Ð!å$(Ø)¨<×+AÒ+AÀ(Ñ+KÔ+Kñ%ô %�Ô!øøõ ð 	ð 	ð 	ØˆDð	øøøà—J’J‘L”Lð 	ð 	‰DˆAˆqå)0°°KÑ)@Ô)@ÐG�—’˜HÑ%Ô%Ð%Àað �—’˜HÑ%Ô%Ñ&Ð&ð ˆ
s   Á9A? Á?
BÂBr¶   rN   rO   rµ   c                 ó<  •— t          d|¦  «        j        | _        	 t          d|¦  «        j        }|€d| _        n*t          d|                     |||¦  «        ¦  «        | _        n# t          $ r Y nw xY wt          ¦   «                              |||||¦  «         dS )úœ
        Update the object from src.

        Args:
            src:
            pdf_dest:
            force_duplicate:
            ignore_fields:

        rY   Nrz  )r   rw  rx  rR   rU   Úsuperr³   )rH   r¶   rA   rN   rO   rµ   rx  rh   s          €rK   r³   zStreamObject._clone1  s²   ø€ õ$ ˜.¨#Ñ.Ô.Ô4ˆŒ
ð
	Ý °Ñ4Ô4ÔAˆLØÐ#Ø$(�Ô!Ð!å$(Ø)Ø ×&Ò& x°À-ÑPÔPñ%ô %�Ô!øøõ ð 	ð 	ð 	ØˆDð	øøøå‰Œ�Š�s˜H o°}ÀgÑNÔNÐNÐNÐNs   �A	A' Á'
A4Á3A4c                 ól   •— t          t          ¦   «                              ¦   «         | j        f¦  «        S )r_   )rg   r~  rc   rw  ©rH   rh   s    €rK   rc   zStreamObject.hash_binQ  s*   ø€ õ •U‘W”W×%Ò%Ñ'Ô'¨¬Ð4Ñ5Ô5Ð5rL   c                 ó   — | j         S ra   ©rw  rj   s    rK   Úget_datazStreamObject.get_data\  s
   € ØŒzÐrL   rJ   c                 ó   — || _         d S ra   r‚  )rH   rJ   s     rK   Úset_datazStreamObject.set_data_  s   € ØˆŒ
ˆ
ˆ
rL   c                 óv   •— t          ¦   «                              ¦   «         }||                      ¦   «         z  }|S ra   )r~  Úhash_value_datarƒ  ©rH   rJ   rh   s     €rK   r‡  zStreamObject.hash_value_datab  s/   ø€ Ý‰wŒw×&Ò&Ñ(Ô(ˆØ�—’‘”ÑˆØˆrL   r�   r‚   c                 óx  — |�t          dd¦  «         t          t          | j        ¦  «        ¦  «        | t	          t
          j        ¦  «        <   t                               | |¦  «         | t
          j        = | 	                    d¦  «         | 	                    | j        ¦  «         | 	                    d¦  «         d S )Nr„   r…   s   
stream
s
   
endstream)
r   r/   r�   rw  r-   r    r#  r¬   r‰   rˆ   )rH   r�   r‚   s      rK   r‰   zStreamObject.write_to_streamg  sª   € ð Ð%Ý&ØAÀ7ñô ð õ 5AÅÀTÄZÁÄÑ4QÔ4Qˆ�ZÕ(Ô/Ñ0Ô0Ñ1Ý×(Ò(¨¨vÑ6Ô6Ð6ØÕ!Ô(Ð)Ø�Š�]Ñ#Ô#Ð#Ø�Š�T”ZÑ Ô Ð Ø�Š�^Ñ$Ô$Ð$Ð$Ð$rL   )ÚEncodedStreamObjectrz  c                 óÜ   — t           j        | v rt          ¦   «         }nt          ¦   «         }| d         |_        | d= t           j        | v r| t           j        = |                     | ¦  «         |S )Nr  )r    ÚFILTERrŠ  rz  rw  r#  r  )rJ   r  s     rK   r  z'StreamObject.initialize_from_dictionaryu  sq   € õ
 Ô" dÐ*Ð*Ý(Ñ*Ô*ˆFˆFå(Ñ*Ô*ˆFØÐ,Ô-ˆŒØÐ!Ð"ÝÔ" dÐ*Ð*ØÕ%Ô,Ð-Ø�Š�dÑÔÐØˆrL   r–   ÚlevelrŠ  c           	      ó"  — ddl m} t          j        | v �ra| t          j                 }t	          |t
          ¦  «        rÊt          t          t          j        ¦  «        g|¢¦  «        }	 t          t          ¦   «         g|  
                    t          j        t          ¦   «         ¦  «        ¢¦  «        }nâ# t          $ rJ t          t          ¦   «         |  
                    t          j        t          ¦   «         ¦  «        g¦  «        }Y n�w xY wt          t          t          j        ¦  «        |g¦  «        }t          t          ¦   «         |  
                    t          j        t          ¦   «         ¦  «        g¦  «        }nt          t          j        ¦  «        }d }t          ¦   «         }|                     | ¦  «         ||t          t          j        ¦  «        <   |�||t          t          j        ¦  «        <   |                     | j        |¦  «        |_        |S )Nr   ©ÚFlateDecode)Úfiltersr�  r    rŒ  rX   r@   r-   ÚFTÚFLATE_DECODEr.   r»   ÚDECODE_PARMSÚ	TypeErrorrŠ  r  Úencoderw  )rH   r�  r�  ÚfÚparamsr  s         rK   Úflate_encodezStreamObject.flate_encode…  sÅ  € Ø)Ð)Ð)Ð)Ð)Ð)åÔ" dÐ*Ñ*ØÕ%Ô,Ô-ˆAÝ˜!�[Ñ)Ô)ð Ý¥­B¬OÑ!<Ô!<Ð A¸qÐ AÑBÔB�ðÝ(Ý#™œÐ_¨¯ªÕ1AÔ1NÕP[ÑP]ÔP]Ñ(^Ô(^Ð_ñô �F�Føõ !ð ð ð å(Ý#™œ t§x¢xÕ0@Ô0MÍ{É}Ì}Ñ']Ô']Ð^ñô �F�F�Fðøøøõ  ¥­B¬OÑ!<Ô!<¸aÐ @ÑAÔA�Ý$Ý‘\”\ 4§8¢8Õ,<Ô,IÍ:É<Ì<Ñ#XÔ#XÐYñô ��õ �2œ?Ñ+Ô+ˆAØˆFÝ$Ñ&Ô&ˆØ�Š�dÑÔÐØ67ˆ�zÕ*Ô1Ñ2Ô2Ñ3ØÐØ@FˆF•:Õ.Ô;Ñ<Ô<Ñ=Ø"×)Ò)¨$¬*°eÑ<Ô<ˆŒØˆs   Á'AB0 Â0ADÄDÚpillow_parametersc                 óø   — ddl m} |                      dd¦  «        dk    rE	 t          dt          | j        ¬¦  «         n'# t          $ r t          dt          | ¬	¦  «         Y nw xY w || |¦  «        \  }}}|€d
S |S )a  
        Try to decode the stream object as an image

        Args:
            pillow_parameters: parameters provided to Pillow Image.save() method,
                cf. <https://pillow.readthedocs.io/en/stable/reference/Image.html#PIL.Image.Image.save>

        Returns:
            a PIL image if proper decoding has been found
        Raises:
            Exception: Errors during decoding will be reported.
                It is recommended to catch exceptions to prevent
                stops in your program.

        r(   )Ú_xobj_to_imagez/SubtypeÚ z/Imagez3%(indirect_reference)s does not seem to be an Image)r  rS   z+%(obj)r object does not seem to be an Image)r  ÚobjN)Ú_image_xobjectrœ  r»   r   r¤   rS   ÚAttributeError)rH   rš  rœ  Ú	extensionÚ_Úimgs         rK   Údecode_as_imagezStreamObject.decode_as_image¥  sÎ   € ð  	3Ð2Ð2Ð2Ð2Ð2à�8Š8�J Ñ#Ô# xÒ/Ð/ðÝØIÝ#Ø'+Ô'>ðñ ô ð ð øõ
 "ð ð ð ÝØAÝ#Øðñ ô ð ð ð ðøøøð +˜N¨4Ð1BÑCÔCÑˆ	�1�cØÐØ�4Øˆ
s   ¢? ¿!A#Á"A#rj  ra   )r–   )!r¤   r¥   r¦   rt  r
   rm  rr  r6  r   rD   r¬   r§   r   r   rs   r¨   rr   ri   r³   rc   rt   rƒ  r…  r‡  r   r‰   r©   rª   r   r  r™  r¤  Ú__classcell__©rh   s   @rK   rY   rY     sk  ø€ € € € € € Ø@DÐ˜hÐ'<Ô=ÐDÐDÑDðð@ð @ð @ð @ðà#ðð 
ðð ð ð ð2OàðOð $ðOð ð	Oð
   ¨¨s°C¨x¬Ô 9Ô:ðOð �U˜3 ˜8”_Ô%ðOð 
ðOð Oð Oð Oð Oð Oð@	6˜#ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð˜%ð ð ð ð ð˜Uð  tð ð ð ð ð ð ð ð ð ð ð ð MQð%ð %Ø ð%Ø27¸¸UÀDÐ8HÔ2Ið%à	ð%ð %ð %ð %ð ðØ�3˜�8Œnðà	Ð;Ô	<ðð ð ñ „\ððð  #ð Ð/Dð ð ð ð ð@"ð "°°t¸CÀ¸H´~ÀtÐ7KÔ1Lð "ÐX[ð "ð "ð "ð "ð "ð "ð "ð "rL   rY   c                   ó   — e Zd ZdS )rz  N)r¤   r¥   r¦   rM   rL   rK   rz  rz  Ê  s   € € € € € Ø€DrL   rz  c                   ó<   ‡ — e Zd Zdd„Zdefd„Zdeddfˆ fd„Zˆ xZS )rŠ  rB   Nc                 ó   — d | _         d S ra   )rx  rj   s    rK   r6  zEncodedStreamObject.__init__Ï  s   € Ø;?ˆÔÐÐrL   c                 ód  — ddl m} | j        �| j                             ¦   «         S t	          ¦   «         }|                      || ¦  «        ¦  «         |                      ¦   «         D ]/\  }}|t          j        t          j	        t          j
        fvr|||<   Œ0|| _        |                     ¦   «         S )Nr   )Údecode_stream_data)r‘  r«  rx  rƒ  rz  r…  rm   r    r#  rŒ  r”  )rH   r«  ÚdecodedrÎ   rÛ   s        rK   rƒ  zEncodedStreamObject.get_dataÓ  s¼   € Ø0Ð0Ð0Ð0Ð0Ð0àÔÐ(àÔ$×-Ò-Ñ/Ô/Ð/õ &Ñ'Ô'ˆØ×ÒÐ+Ð+¨DÑ1Ô1Ñ2Ô2Ð2ØŸ*š*™,œ,ð 	%ð 	%‰JˆC�ØÕ+Ô2Õ4DÔ4KÕM]ÔMjÐkÐkÐkØ$�˜‘øØ#ˆÔØ×ÒÑ!Ô!Ð!rL   rJ   c                 óà  •— ddl m} |                      t          j        d¦  «        t
          j        t
          j        gfv r t          |t          ¦  «        st          d¦  «        ‚| j
        €|                      ¦   «          | j
        €
J d¦   «         ‚| j
                             |¦  «         t          ¦   «                              |                     |¦  «        ¦  «         d S t          d¦  «        ‚)Nr   r�  r�  zData must be bytesrå   zJStreams encoded with a filter different from FlateDecode are not supported)r‘  r�  r»   r    rŒ  r’  r“  rX   rt   r•  rx  rƒ  r…  r~  r–  r&   )rH   rJ   r�  rh   s      €rK   r…  zEncodedStreamObject.set_dataä  sä   ø€ Ø)Ð)Ð)Ð)Ð)Ð)à�8Š8Õ$Ô+¨RÑ0Ô0µR´_ÅrÄÐFWÐ4XÐXÐXÝ˜d¥EÑ*Ô*ð 6ÝÐ 4Ñ5Ô5Ð5ØÔ Ð(Ø—’‘”�ØÔ$Ð0Ð0°&Ñ0Ô0Ð0ØÔ×&Ò& tÑ,Ô,Ð,Ý‰GŒG×Ò˜[×/Ò/°Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6åØ\ñô ð rL   rj  )r¤   r¥   r¦   r6  rt   rƒ  r…  r¥  r¦  s   @rK   rŠ  rŠ  Î  s~   ø€ € € € € ð@ð @ð @ð @ð"˜%ð "ð "ð "ð "ð"˜Uð  tð ð ð ð ð ð ð ð ð ð rL   rŠ  i'  c                   óx  ‡ — e Zd ZdZdZ	 d#dededeeee         e	e
ef         df         ddfˆ fd„Zd	edd fd
„Z	 	 d$d	ededeeeee
f                           dd fd„Zded	ededeeeee
f                           deee
e
f                  ddfˆ fd„Zeddœdee
         dede
dee
         fd„¦   «         Zdeddfd„Zdedede	eef         fd„Zdefd„Zdeddfˆ fd„Zedeeeef                  fd„¦   «         Z e j!        deeeef                  ddfd„¦   «         Z d%d „Z"	 d#ded!eeedf         ddfˆ fd"„Z#ˆ xZ$S )&ÚContentStreama¥  
    In order to be fast, this data structure can contain either:

    * raw data in ._data
    * parsed stream operations in ._operations.

    At any time, ContentStream object can either have both of those fields defined,
    or one field defined and the other set to None.

    These fields are "rebuilt" lazily, when accessed:

    * when .get_data() is called, if ._data is None, it is rebuilt from ._operations.
    * when .operations is called, if ._operations is None, it is rebuilt from ._data.

    Conversely, these fields can be invalidated:

    * when .set_data() is called, ._operations is set to None.
    * when .operations is set, ._data is set to None.
    é€   Nr�   rT   r“   rB   c                 ó  •— || _         g | _        |€#t          ¦   «                              d¦  «         �nÑ|                     ¦   «         }t          |t          ¦  «        �rnddlm}  |¦   «         }t          |¦  «        x}t          k    rt          d|› dt          › d�¦  «        ‚t          ¦   «         }d}|D ]ç}	|	                     ¦   «         }
t          |
t          ¦  «        rŒ,t          |
t          ¦  «        s*t          dt           t#          |
¦  «        j        ¬¦  «         nQ|
                     ¦   «         }|t          |¦  «        z  }||j        k    rt          d	|› d|j        › d
�¦  «        ‚||z  }t          |¦  «        dk    s|dd …         dk    r
|dz  }|dz  }Œèt          ¦   «                              t)          |¦  «        ¦  «         n9|                     ¦   «         }|€J ‚t          ¦   «                              |¦  «         || _        d S )NrL   r   r   zArray-based stream has z > z
 elements.zFExpected StreamObject, got %(type_name)s instead. Data might be wrong.)r  Ú	type_namez Array-based stream has at least z output bytes.r–   rì   r(   )rT   Ú_operationsr~  r…  rZ   rX   r@   Úpypdf._configurationr   r�   ÚCONTENT_STREAM_ARRAY_MAX_LENGTHr%   Ú	bytearrayr.   rY   r   r¤   rV   rƒ  Ú(array_based_stream_maximum_output_lengthrt   r“   )rH   r�   rT   r“   r   r,  r  rJ   rø   rÉ   Ú
s_resolvedÚnew_dataÚstream_datarh   s                €rK   r6  zContentStream.__init__  sO  ø€ ð ˆŒØ46ˆÔð ˆ>Ý‰GŒG×Ò˜SÑ!Ô!Ð!Ñ!à×&Ò&Ñ(Ô(ˆFÝ˜&¥+Ñ.Ô.ñ '.ØBÐBÐBÐBÐBÐBØ 1Ð 1Ñ 3Ô 3�å%(¨¡[¤[Ð0�MÕ4SÒSÐSÝ+Øo°-ÐoÐoÕDcÐoÐoÐoñô ð õ !‘{”{�Ø�Øð &ð &�AØ!"§¢¡¤�JÝ! *­jÑ9Ô9ð !Ø Ý% jµ,Ñ?Ô?ð )õ 'ØdÝ#+Ý&*¨:Ñ&6Ô&6Ô&?ðñ ô ð ð ð $.×#6Ò#6Ñ#8Ô#8˜Ø¥# h¡-¤-Ñ/˜Ø! MÔ$ZÒZÐZÝ"3ð!jÀ6ð !jð !jØ#0Ô#Yð!jð !jð !jñ#ô #ð ð  Ñ(˜Ý˜4‘y”y A’~�~¨¨b¨c¨c¬°eÒ);Ð);à !™˜Ø ™˜øÝ‘”× Ò ¥ t¡¤Ñ-Ô-Ð-Ð-à$ŸošoÑ/Ô/�Ø"Ð.Ð.Ð.Ý‘”× Ò  Ñ-Ô-Ð-Ø.ˆÔÐÐrL   rA   c           	      óÔ  — t          d|                      |                      d d ¦  «        |d¦  «        ¦  «        }| j        |_        	 | j        }|€d | _        n(t          d|                     |¦  «        ¦  «        | _        n# t          $ r Y nw xY w|                      ¦   «         D ]B\  }}t          |d¦  «        r|                     |¦  «        n|||                     |¦  «        <   ŒC|S )Nr¯  Frz  rD   )r   rE   rh   rw  rx  rD   rU   rm   rF   r…  rT   rq   r³  r“   r{  s         rK   rD   zContentStream.replicateG  s  € õ ØØ×!Ò! $§.¢.°°tÑ"<Ô"<¸hÈÑNÔNñ
ô 
ˆð ”JˆŒ	ð		ØÔ,ˆLØÐ#Ø$(�Ô!Ð!å$(Ø)¨<×+AÒ+AÀ(Ñ+KÔ+Kñ%ô %�Ô!øøõ ð 	ð 	ð 	ØˆDð	øøøà—J’J‘L”Lð 	ð 	‰DˆAˆqå)0°°KÑ)@Ô)@ÐG�—’˜HÑ%Ô%Ð%Àað �—’˜HÑ%Ô%Ñ&Ð&ð ˆ
s   Á9B Â
BÂBFrM   rN   rO   c           	      ó  — 	 | j         j        |k    r|s| S n# t          $ r Y nw xY wt          ¦   «         }t	          d|                      |                      dd¦  «        ||¦  «        ¦  «        }|€g }|                     | ||||¦  «         |S )zÂ
        Clone object into pdf_dest.

        Args:
            pdf_dest:
            force_duplicate:
            ignore_fields:

        Returns:
            The cloned ContentStream

        r¯  N)rS   rT   rU   rr   r   rE   rh   r³   r´   s         rK   rR   zContentStream.clonee  s´   € ð$	ØÔ&Ô*¨hÒ6Ð6¸Ð6Ø�øøÝð 	ð 	ð 	ØˆDð	øøøõ ),©¬ˆÝØØ×!Ò!Ø—’˜t TÑ*Ô*¨H°oñô ñ
ô 
ˆð Ð ØˆMØ�
Š
�4˜ ?°MÀ7ÑKÔKÐKØˆ
r]   r¶   rµ   c                 óÌ   •— t          d|¦  «        }t          ¦   «                              |j        ¦  «         || _        t          |j        ¦  «        | _        |j        | _        dS )r}  r¯  N)r   r~  r…  rw  rT   rq   r³  r“   )rH   r¶   rA   rN   rO   rµ   Úsrc_csrh   s          €rK   r³   zContentStream._clone‰  sY   ø€ õ$ �o sÑ+Ô+ˆÝ‰Œ×Ò˜œÑ&Ô&Ð&ØˆŒÝ Ô 2Ñ3Ô3ˆÔØ%Ô5ˆÔÐÐrL   )rŠ   rŠ   r‹   Útoken_decrementc                 ó’   — | �| dz  } | dk     rt          d¦  «        ‚|xj        |z  c_        |j        dk     rt          d¦  «        ‚| S )Nr(   r   r�   z,Reached maximum number of tokens per stream.rŽ   ©rŠ   r‹   r¿  s      rK   r‘   zContentStream._check_limits£  sf   € ð Ð)Ø !Ñ#ÐØ! AÒ%Ð%Ý'Ð(KÑLÔLÐLØÐ'Ô'¨?Ñ:Ð'Ô'ØÔ*¨QÒ.Ð.Ý#Ð$RÑSÔSÐSØ!Ð!rL   c                 ó,  — |                      dd¦  «         g }t          t          ¦   «         j        ¬¦  «        }	 t	          |¦  «        }|dv rd S |                      dd¦  «         |                     ¦   «         s|dv r°t          |t          j        | j	        ¬¦  «        }|d	k    rS|g k    sJ ‚|  
                    |d
¬¦  «         |                      ||¬¦  «        }| j                             |df¦  «         nœ|  
                    |d¬¦  «         | j                             ||f¦  «         g }nf|dk    r|dvr|                     d¦  «        }|dv°nB|  
                    |d¬¦  «         |                     t          |d | j        |¬¦  «        ¦  «         �Œ[)Nr   )r�   T)rL   r   r–   r(   )ó   'ó   "r   ó   BIr   )r‹   r¿  r’   ó   INLINE IMAGEr•   )r  rì   rL   )rœ   r9   r   Ú!stream_parsing_work_maximum_countr   Úisalphar   r-   Údelimiter_patternÚ_OPERATOR_LENGTH_LIMITr‘   Ú_read_inline_imager³  rG   r™   rž   r“   )rH   r�   Úoperandsr‹   ÚpeekÚoperatorÚiis          rK   Ú_parse_content_streamz#ContentStream._parse_content_stream³  sÐ  € à�Š�A�qÑÔÐØ57ˆÝ,Õ>OÑ>QÔ>QÔ>sÐtÑtÔtˆð	pÝ& vÑ.Ô.ˆDØ�xÐÐØ�Ø�KŠK˜˜AÑÔÐØ�|Š|‰~Œ~ð p ¨Ð!5Ð!5Ý+Ø!­Ô)EÈdÔNiðñ ô �ð ˜uÒ$Ð$ð $ rš>˜>˜>˜>Ø×&Ò&°nÐVWÐ&ÑXÔXÐXØ×0Ò0°ÈÐ0ÑWÔW�BØÔ$×+Ò+¨R°Ð,AÑBÔBÐBÐBà×&Ò&°nÐVWÐ&ÑXÔXÐXØÔ$×+Ò+¨X°xÐ,@ÑAÔAÐAØ!�H�HØ˜’�ð Ð"5Ð5Ð5Ø!Ÿ;š; q™>œ>�Dð Ð"5Ð5Ð5øð ×"Ò"°.ÐRSÐ"ÑTÔTÐTØ—’¥¨F°D¸$Ô:NÐ_mÐ nÑ nÔ nÑoÔoÐoñ=	prL   c                 ó¶  — t          ¦   «         }t          ¦   «         j        }	 t          |¦  «        }|st	          d¦  «        ‚|                     dd¦  «         |dk    rnq|                      ||d¬¦  «        }t          || j        |¬¦  «        }t          |¦  «        }|                     dd¦  «         t          || j        |¬¦  «        }|||<   Œ®| 	                    d	¦  «        }	|	d d…         d
k    sJ ‚| 
                    d| 
                    dd¦  «        ¦  «        }
|                     ¦   «         }t          |
t          ¦  «        r|
r|
d         nd}
t          |
t          ¦  «        sd}
d|
v sd|
v rt          |¦  «        }�nÐd|
v sd|
v rt!          |¦  «        }�n·d|
v sd|
v rt#          |¦  «        }�nžd|
v sd|
v rt%          |¦  «        }�n…|
dk    �ro| 
                    dd¦  «        }t          |t          ¦  «        r|r|d         nd}t          |t          ¦  «        sd}d|v rd	}n\d|v rd}nU| 
                    d|dv rdnd¦  «        }t          |t&          t(          f¦  «        r|dk    r|dz  }nt+          |¦  «        }d}| 
                    d ¦  «        }| 
                    d!¦  «        }|dk    rSt          |t&          ¦  «        r>t          |t&          ¦  «        r)| 	                    t-          ||z  ¦  «        |z  ¦  «        }n|dk    rt+          |¦  «        }t          |¦  «        }|                     dd¦  «         nt+          |¦  «        }| 	                    d	¦  «        }t/          |¦  «        d	k    r|                     dd¦  «         |dd	…         }|d d…         d"k    s|d#k    r¥|t0          vrœ|                     |d¦  «         t+          |¦  «        }| 	                    d	¦  «        }t/          |¦  «        d	k    r|                     dd¦  «         |dd	…         }|d d…         d"k    s|d#k    r|t0          vrt3          d$|›�¦  «        ‚||d%œS )&NTzUnexpected end of stream.r–   r(   ó   Ir   rÁ  r’   r<   s   IDú/Fz/Filterznot setr   ÚAHxÚASCIIHexDecodeÚA85ÚASCII85DecodeÚRLÚRunLengthDecodeÚDCTÚ	DCTDecodez/CSr�  ÚRGBÚCMYKé   z/BPC>   ú/Gú/Iú/Indexedú/DeviceGrayr"  g       @z/Wz/Hó   EIrL   zHCould not extract inline image, even using fallback. Expected 'EI', got )ÚsettingsrJ   )r¬   r   r  r   r&   rœ   r‘   rž   rT   r™   r»   rý   rX   rq   rs   r5   r4   r7   r6   r¨   Úfloatr8   r   r�   r   r'   )rH   r�   r‹   rä  r  r    rÎ   r¢  rÛ   rŸ   ÚfiltrÚsavposrJ   ÚcsÚlcsÚbitsÚwidthÚheightÚeiÚei_trailings                       rK   rË  z ContentStream._read_inline_imageØ  s³  € õ $Ñ%Ô%ˆÝ):Ñ)<Ô)<Ô)]ˆð	"Ý% fÑ-Ô-ˆCØð @Ý"Ð#>Ñ?Ô?Ð?Ø�KŠK˜˜AÑÔÐØ�dŠ{ˆ{àØ"×0Ò0Ø#2À>Ðcdð 1ñ ô ˆOõ ˜f d¤h¸~ÐNÑNÔNˆCÝ# FÑ+Ô+ˆAØ�KŠK˜˜AÑÔÐÝ ¨¬ÀÐPÑPÔPˆEØ!ˆH�S‰Mð!	"ð$ �kŠk˜!‰nŒnˆØ�2�A�2Œw˜%ÒÐÐÐØ—’˜T 8§<¢<°	¸9Ñ#EÔ#EÑFÔFˆØ—’‘”ˆÝ�e�TÑ"Ô"ð 	5Ø %Ð4�E˜!”H�H¨9ˆEÝ˜%¥Ñ%Ô%ð 	ð ˆEØ�Eˆ>ˆ>Ð-°Ð6Ð6Ý3°FÑ;Ô;ˆD‰DØ�eˆ^ˆ^˜°%Ð7Ð7Ý1°&Ñ9Ô9ˆD‰DØ�Uˆ]ˆ]Ð/°5Ð8Ð8Ý4°VÑ<Ô<ˆD‰DØ�eˆ^ˆ^˜{¨eÐ3Ð3Ý-¨fÑ5Ô5ˆD‰DØ�iÒÑØ—’˜e RÑ(Ô(ˆBÝ˜"�dÑ#Ô#ð )Ø Ð(�R˜”U�U b�Ý˜b¥#Ñ&Ô&ð Ø�Ø˜ˆ{ˆ{Ø��Ø˜2��Ø��à—|’|ØØÐFÐFÐF�A�AÈBñô �õ ˜d¥S­% LÑ1Ô1ð °d¸Q²h°hØ ™*�C�Cå1°&Ñ9Ô9�DØ�CØ—L’L Ñ&Ô&ˆEØ—\’\ $Ñ'Ô'ˆFØ�QŠwˆw�: e­SÑ1Ô1ˆwµjÀÍÑ6MÔ6MˆwØ—{’{¥4¨°©Ñ#4Ô#4°vÑ#=Ñ>Ô>��Ø�q’�õ .¨fÑ5Ô5�å$ VÑ,Ô,ˆBØ�KŠK˜˜AÑÔÐÐå)¨&Ñ1Ô1ˆDà�[Š[˜‰^Œ^ˆõ ˆr‰7Œ7�aŠ<ˆ<Ø�KŠK˜˜AÑÔÐØ˜˜1˜”gˆØˆbˆqˆbŒ6�UŠ?ˆ?˜{¨cÒ1Ð1°kÍÐ6TÐ6Tà�KŠK˜ Ñ"Ô"Ð"Ý)¨&Ñ1Ô1ˆDØ—’˜Q‘”ˆBÝ�2‰wŒw˜!Š|ˆ|Ø—’˜B Ñ"Ô"Ð"Ø˜Q˜q˜Sœ'ˆKØ�"�1�"Œv˜ŠˆØ˜sÒ"Ð" {½+Ð'EÐ'Eõ
 %ØeÐ_aÐeÐeñô ð ð %¨dÐ3Ð3Ð3rL   c                 ó°  — | j         �sHt          ¦   «         }| j        D �]\  }}|dk    r³|                     d¦  «         t          ¦   «         }|d                              |¦  «         |                     |                     ¦   «         dd…         ¦  «         |                     d¦  «         |                     |d         ¦  «         |                     d¦  «         nD|D ],}|                     |¦  «         |                     d	¦  «         Œ-|                     |¦  «         |                     d
¦  «         �Œ|                     ¦   «         | _         | j         S )NrÆ  rÅ  rä  r   éþÿÿÿs   ID rJ   rã  r‡   rì   )rw  r   r³  rˆ   r‰   Úgetvalue)rH   r¹  rÌ  rÎ  Ú	dict_textÚops         rK   rƒ  zContentStream.get_data=  sJ  € ØŒzñ 	-Ý‘y”yˆHØ&*Ô&6ð &ñ &Ñ"�˜(Ø˜Ò.Ð.Ø—N’N 5Ñ)Ô)Ð)Ý '¡	¤	�IØ˜ZÔ(×8Ò8¸ÑCÔCÐCØ—N’N 9×#5Ò#5Ñ#7Ô#7¸¸"¸Ô#=Ñ>Ô>Ð>Ø—N’N 6Ñ*Ô*Ð*Ø—N’N 8¨FÔ#3Ñ4Ô4Ð4Ø—N’N 5Ñ)Ô)Ð)Ð)à&ð -ð -˜Ø×*Ò*¨8Ñ4Ô4Ð4Ø Ÿš tÑ,Ô,Ð,Ð,Ø—N’N 8Ñ,Ô,Ð,Ø—’˜uÑ%Ô%Ð%Ñ%Ø!×*Ò*Ñ,Ô,ˆDŒJØŒzÐrL   rJ   c                 óX   •— t          ¦   «                              |¦  «         g | _        d S ra   )r~  r…  r³  rˆ  s     €rK   r…  zContentStream.set_dataS  s)   ø€ Ý‰Œ×Ò˜ÑÔÐØˆÔÐÐrL   c                 óˆ   — | j         s5| j        r.|                      t          | j        ¦  «        ¦  «         d| _        | j         S rv  )r³  rw  rÐ  r   rj   s    rK   Ú
operationszContentStream.operationsW  sD   € àÔð 	 D¤Jð 	Ø×&Ò&¥w¨t¬zÑ':Ô':Ñ;Ô;Ð;ØˆDŒJØÔÐrL   rö  c                 ó"   — || _         d| _        d S rv  )r³  rw  )rH   rö  s     rK   rö  zContentStream.operations^  s   € à%ˆÔØˆŒ
ˆ
ˆ
rL   c                 óÀ   — | j         r;| j                              dg df¦  «         | j                              g df¦  «         d S | j        rd| j        z   dz   | _        d S d S )Nr   ó   qó   Qs   q
s   
Q
)r³  ÚinsertrG   rw  rj   s    rK   Úisolate_graphics_statez$ContentStream.isolate_graphics_statec  sv   € ØÔð 	8ØÔ×#Ò# A¨¨D zÑ2Ô2Ð2ØÔ×#Ò# R¨ JÑ/Ô/Ð/Ð/Ð/ØŒZð 	8Ø $¤*Ñ,¨xÑ7ˆDŒJˆJˆJð	8ð 	8rL   r‚   c                 ó�   •— | j         s| j        r|                      ¦   «          t          ¦   «                              ||¦  «         d S ra   )rw  r³  rƒ  r~  r‰   )rH   r�   r‚   rh   s      €rK   r‰   zContentStream.write_to_streamk  sF   ø€ ð Œzð 	˜dÔ.ð 	Ø�MŠM‰OŒOˆOÝ‰Œ×Ò ¨Ñ7Ô7Ð7Ð7Ð7rL   ra   r£   rj  )%r¤   r¥   r¦   rq  rÊ  r   r   rs   rq   rª   r¨   r6  r   rD   r§   r
   r   rR   r¬   rr   ri   r³   r©   r9   r‘   r   rÐ  rË  rt   rƒ  r…  r0  rö  Úsetterrü  r‰   r¥  r¦  s   @rK   r¯  r¯  ø  sw  ø€ € € € € ðð ð& !Ðð HLð	7/ð 7/àð7/ð ð7/ð ˜s D¨¤I¨t°C¸°H¬~¸tÐCÔDð	7/ð
 
ð7/ð 7/ð 7/ð 7/ð 7/ð 7/ðrà#ðð 
ðð ð ð ðB !&Ø=?ð	"ð "àð"ð ð"ð   ¨¨s°C¨x¬Ô 9Ô:ð	"ð
 
ð"ð "ð "ð "ðH6àð6ð $ð6ð ð	6ð
   ¨¨s°C¨x¬Ô 9Ô:ð6ð �U˜3 ˜8”_Ô%ð6ð 
ð6ð 6ð 6ð 6ð 6ð 6ð4 ð 15ð"ð "ð "à (¨¤ð"ð 0ð"ð !ð	"ð
 
�#Œð"ð "ð "ñ „\ð"ð#p¨Jð #p¸4ð #pð #pð #pð #pðJb4¨ð b4ÐEXð b4Ð]aÐbeÐgjÐbjÔ]kð b4ð b4ð b4ð b4ðJ˜%ð ð ð ð ð,˜Uð  tð ð ð ð ð ð ð ð ˜D  s¨E zÔ!2Ô3ð  ð  ð  ñ „Xð ð Ôð T¨%°°U°
Ô*;Ô%<ð Àð ð ð ñ Ôðð8ð 8ð 8ð 8ð MQð8ð 8Ø ð8Ø27¸¸UÀDÐ8HÔ2Ið8à	ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8rL   r¯  iè  r’   r�   rT   r“   r‹   c          	      ó4  — |                       d¦  «        }|                      dd¦  «         |dk    rAt          | t          ¬¦  «         |                       d¦  «        }|                      dd¦  «         |dk    rt	          j        | |¦  «        S |dk    r_|                       d¦  «        }|                      dd¦  «         |d	k    rt                               | |||¬
¦  «        S t          | |¦  «        S |dk    rt                               | |||¬
¦  «        S |dv rt          j        | ¦  «        S |dk    rt          | |¦  «        S |dk    r'|                       d¦  «        dk    rt          ¦   «         S |dk    rt          j        | ¦  «        S |dv �rŽ|                       d¦  «        }t                               |¦  «        }|�“|€
J d¦   «         ‚|                      |                     ¦   «         dz
  t          |¦  «        z
  d¦  «         t!          t#          |d|                     d¦  «        …         ¦  «        t#          |d         ¦  «        |¦  «        S t$          j                             |¦  «        }|�q|d|                     ¦   «         …         }|                      t          |¦  «        t          |¦  «        z
  d¦  «         d|v rt-          |¦  «        S t%          |¦  «        S |                      t          |¦  «         d¦  «         t%          j        | ¦  «        S |                      ¦   «         }	|                      dd¦  «         |                       d¦  «        }
|                      |	¦  «         t1          | ¦  «         t3          d|›d|	› d|
›�¦  «        ‚)a{  
    Read the next object from the stream.

    Args:
        stream: The stream to read from.
        pdf: The corresponding PDF file.
        forced_encoding: The encoding to enforce, if any.
        parsing_budget: The allowed parsing budget, optional. If set, only applies to dictionaries,
            arrays and content streams.

    Returns:
        The parsed object.
    r(   r–   r•   )Úlimitó   /ó   <r   rð  r	  r’   r†   )ó   tó   fó   (ó   eé   s   endobjr˜   s   0123456789+-.é   Nrå   ó   .iìÿÿÿéP   z(Invalid Elementary Object starting with z @z: )r™   rœ   r   Ú_MAX_LEADING_COMMENTSr-   r¢   r¬   r:   r@   r)   r;   r.   ÚIndirectPatternÚmatchr/  r�   r,   r¨   r/   ÚNumberPatternÚsearchÚstartr+   rý   r   r&   )r�   rT   r“   r‹   r    rÍ  r  Ú
number_endÚnumr(  Ústream_extracts              rK   rž   rž   w  sT  € ð( �+Š+�a‰.Œ.€CØ
‡K‚K��AÑÔÐØ
ˆd‚{€{å˜6Õ)>Ð?Ñ?Ô?Ð?Ø�kŠk˜!‰nŒnˆØ�Š�B˜ÑÔÐØ
ˆd‚{€{ÝÔ*¨6°3Ñ7Ô7Ð7Ø
ˆd‚{€{à�{Š{˜1‰~Œ~ˆØ�Š�B˜ÑÔÐØ�5Š=ˆ=Ý#×4Ò4°V¸SÀ/ÐbpÐ4ÑqÔqÐqÝ*¨6°?ÑCÔCÐCØ
ˆd‚{€{Ý×+Ò+¨F°C¸ÐYgÐ+ÑhÔhÐhØ
ˆlÐÐÝÔ-¨fÑ5Ô5Ð5Ø
ˆd‚{€{Ý& v¨Ñ?Ô?Ð?Ø
ˆd‚{€{�v—{’{ 1‘~”~¨Ò2Ð2Ý‰|Œ|ÐØ
ˆd‚{€{ÝÔ*¨6Ñ2Ô2Ð2Ø
ÐÐÑà�{Š{˜2‰ŒˆÝ×%Ò% dÑ+Ô+ˆØÐØ�?�? F‘?”?�?à�KŠK˜Ÿ	š	™œ a™­#¨d©)¬)Ñ3°QÑ7Ô7Ð7å!¥# d¨>¨U¯YªY°q©\¬\¨>Ô&:Ñ";Ô";½SÀÀqÄ¹]¼]ÈCÑPÔPÐPÝ!Ô/×6Ò6°tÑ<Ô<ˆ
ØÐ!àÐ+˜×)Ò)Ñ+Ô+Ð+Ô,ˆCØ�KŠK�˜C™œ¥3 t¡9¤9Ñ,¨aÑ0Ô0Ð0Ø�sˆ{ˆ{Ý" 3Ñ'Ô'Ð'Ý Ñ$Ô$Ð$Ø�Š•S˜‘Y”Y�J Ñ"Ô"Ð"ÝÔ,¨VÑ4Ô4Ð4Ø
�+Š+‰-Œ-€CØ
‡K‚K��QÑÔÐØ—[’[ ‘_”_€NØ
‡K‚K�ÑÔÐÝ˜&Ñ!Ô!Ð!Ý
ØU°3ÐUÐU¸CÐUÐUÀ>ÐUÐUñô ð rL   c                   ó²  — e Zd ZdZdeddfd„Zedee         fd„¦   «         Z	edee         fd„¦   «         Z
eded         fd	„¦   «         Zedee         fd
„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         ZdS )ÚFieldz‹
    A class representing a field dictionary.

    This class is accessed through
    :meth:`get_fields()<pypdf.PdfReader.get_fields>`
    rJ   rB   Nc                 ó~  — t                                | ¦  «         t          j        ¦   «         t	          j        ¦   «         z   }|j        | _        |D ]+}	 ||         | t          |¦  «        <   Œ# t          $ r Y Œ(w xY wt          |  	                    d¦  «        t          ¦  «        r™t          t          | t          d¦  «                 ¦  «                             ¦   «         }t          |t          ¦  «        r|                     ¦   «         }n|€d}nt          d¦  «        ‚t!          |¦  «        | t          d¦  «        <   d S d S )NrÀ   r�  zShould never happen)r¬   r6  r   Ú
attributesr   rS   r-   ÚKeyErrorrX   r»   rŠ  r   rƒ  rt   ÚdecoderU   r1   )rH   rJ   Úfield_attributesÚattrÚdÚd_strs         rK   r6  zField.__init__Ë  s>  € Ý×!Ò! $Ñ'Ô'Ð'å%Ô0Ñ2Ô2Ý+Ô6Ñ8Ô8ñ9ð 	ð #'Ô"9ˆÔØ$ð 	ð 	ˆDðØ)-¨d¬�•Z Ñ%Ô%Ñ&Ð&øÝð ð ð Ø�ðøøøå�d—h’h˜t‘n”nÕ&9Ñ:Ô:ð 	=ÝÕ(¨$­z¸$Ñ/?Ô/?Ô*@ÑAÔA×JÒJÑLÔLˆAÝ˜!�UÑ#Ô#ð 7ØŸš™
œ
��Ø�Ø��åÐ 5Ñ6Ô6Ð6Ý%5°eÑ%<Ô%<ˆD•˜DÑ!Ô!Ñ"Ð"Ð"ð	=ð 	=s   ÁA,Á,
A9Á8A9c                 ó@   — |                       t          j        ¦  «        S )z4Read-only property accessing the type of this field.)r»   r   r’  rj   s    rK   Ú
field_typezField.field_typeâ  ó   € ð �xŠxÕ1Ô4Ñ5Ô5Ð5rL   c                 ó@   — |                       t          j        ¦  «        S )z6Read-only property accessing the parent of this field.)r»   r   ÚParentrj   s    rK   rÙ   zField.parentç  s   € ð �xŠxÕ1Ô8Ñ9Ô9Ð9rL   r@   c                 ó@   — |                       t          j        ¦  «        S )z4Read-only property accessing the kids of this field.)r»   r   ÚKidsrj   s    rK   Úkidsz
Field.kidsì  s   € ð �xŠxÕ1Ô6Ñ7Ô7Ð7rL   c                 ó@   — |                       t          j        ¦  «        S )z4Read-only property accessing the name of this field.)r»   r   ÚTrj   s    rK   Únamez
Field.nameñ  s   € ð �xŠxÕ1Ô3Ñ4Ô4Ð4rL   c                 ó@   — |                       t          j        ¦  «        S )z>Read-only property accessing the alternate name of this field.)r»   r   ÚTUrj   s    rK   Úalternate_namezField.alternate_nameö  r   rL   c                 ó@   — |                       t          j        ¦  «        S )zÒ
        Read-only property accessing the mapping name of this field.

        This name is used by pypdf as a key in the dictionary returned by
        :meth:`get_fields()<pypdf.PdfReader.get_fields>`
        )r»   r   ÚTMrj   s    rK   Úmapping_namezField.mapping_nameû  ó   € ð �xŠxÕ1Ô4Ñ5Ô5Ð5rL   c                 ó@   — |                       t          j        ¦  «        S )z¢
        Read-only property accessing the field flags, specifying various
        characteristics of the field (see Table 8.70 of the PDF 1.7 reference).
        )r»   r   ÚFfrj   s    rK   ÚflagszField.flags  s   € ð �xŠxÕ1Ô4Ñ5Ô5Ð5rL   c                 ó@   — |                       t          j        ¦  «        S )zs
        Read-only property accessing the value of this field.

        Format varies based on field type.
        )r»   r   ÚVrj   s    rK   rÛ   zField.value  s   € ð �xŠxÕ1Ô3Ñ4Ô4Ð4rL   c                 ó@   — |                       t          j        ¦  «        S )z=Read-only property accessing the default value of this field.)r»   r   ÚDVrj   s    rK   Údefault_valuezField.default_value  r   rL   c                 ó@   — |                       t          j        ¦  «        S )zÚ
        Read-only property accessing the additional actions dictionary.

        This dictionary defines the field's behavior in response to trigger
        events. See Section 8.5.2 of the PDF 1.7 reference.
        )r»   r   ÚAArj   s    rK   Úadditional_actionszField.additional_actions  r/  rL   )r¤   r¥   r¦   rq  r¬   r6  r0  r
   r-   r  rÙ   r%  rs   r(  r+  r.  r¨   r2  r   rÛ   r7  r:  rM   rL   rK   r  r  Ã  sõ  € € € € € ðð ð=Ð-ð =°$ð =ð =ð =ð =ð. ð6˜H ZÔ0ð 6ð 6ð 6ñ „Xð6ð ð:˜Ð!1Ô2ð :ð :ð :ñ „Xð:ð ð8�h˜}Ô-ð 8ð 8ð 8ñ „Xð8ð ð5�h˜s”mð 5ð 5ð 5ñ „Xð5ð ð6 ¨¤ð 6ð 6ð 6ñ „Xð6ð ð6˜h sœmð 6ð 6ð 6ñ „Xð6ð ð6�x ”}ð 6ð 6ð 6ñ „Xð6ð ð5�x ”}ð 5ð 5ð 5ñ „Xð5ð ð6˜x¨œ}ð 6ð 6ð 6ñ „Xð6ð ð6 HÐ-=Ô$>ð 6ð 6ð 6ñ „Xð6ð 6ð 6rL   r  c                   óv  ‡ — e Zd ZU dZdZee         ed<   dˆ fd„Zde	e
ef         de	eeeef         deddfd	„Zedd„¦   «         Z	 ddede	e
edf         ddfd„Zedee
         fd„¦   «         Zedee         fd„¦   «         Zedee
         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zeded
         fd„¦   «         Zedee          fd„¦   «         Z!edee         fd„¦   «         Z"ˆ xZ#S )ÚDestinationa®  
    A class representing a destination within a PDF file.

    See section 12.3.2 of the PDF 2.0 reference.

    Args:
        title: Title of this destination.
        page: Reference to the page of this destination. Should
            be an instance of :class:`IndirectObject<pypdf.generic.IndirectObject>`.
        fit: How the destination is displayed.

    Raises:
        PdfReadError: If destination type is invalid.

    NÚnoderB   c                 óü   •— | j         €"t          ¦   «                              ¦   «          dS d| j         vrt          d¦  «        ‚t                               t          d| j         d         ¦  «        | j         ¦  «         dS )a/  
        Remove the outline item this destination was built from.

        `reader.outline` and `writer.outline` yield detached copies rather than
        the nodes themselves, so the copy never has a `/Parent` and removing it
        would be a no-op. `node` is the dictionary in the document.
        NrÕ   r^  r3  )r=  r~  rg  r   r3  re  r   r€  s    €rK   rg  zDestination.remove_from_tree;  s   ø€ ð Œ9ÐÝ‰GŒG×$Ò$Ñ&Ô&Ð&Ð&Ð&Ø˜dœiÐ'Ð'ÝÐNÑOÔOÐOå×#Ò#Ý�\ 4¤9¨YÔ#7Ñ8Ô8¸$¼)ñô ð ð ð rL   ÚtitleÚpageÚfitc                 ó¢  — g | _         |j        }|j        }t                               | ¦  «         t          |¦  «        | t          d¦  «        <   || t          d¦  «        <   || t          d¦  «        <   |dk    rót          |¦  «        dk     r"|                     t          d¦  «        ¦  «         t          |¦  «        dk     r"|                     t          d¦  «        ¦  «         t          |¦  «        dk     r"|                     t          d¦  «        ¦  «         |d d…         \  | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   | t          d	¦  «        <   d S t          |¦  «        d
k    rd S |t          j        k    �r)t          |¦  «        dk    rq|\  | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   d S t#          ¦   «         t#          ¦   «         t#          ¦   «         t#          ¦   «         f\  | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   d S |t          j        t          j        fv rZ	 |\  | t          t          j        ¦  «        <   d S # t(          $ r, t#          ¦   «         | t          t          j        ¦  «        <   Y d S w xY w|t          j        t          j        fv rZ	 |\  | t          t          j        ¦  «        <   d S # t(          $ r, t#          ¦   «         | t          t          j        ¦  «        <   Y d S w xY w|t          j        t          j        fv rd S t3          d|›�¦  «        ‚)Nú/Titleú/Pager¹   z/XYZr(   g        r   r<   ú/Zoomr   rÞ  zUnknown Destination Type: )Ú_filtered_childrenÚfit_typeÚfit_argsr¬   r6  r1   r-   r�   rG   r/   ÚTAÚLEFTÚTOPÚTFÚFIT_RÚBOTTOMÚRIGHTr.   ÚFIT_HÚFIT_BHrU   ÚFIT_VÚFIT_BVÚFITÚFIT_Br&   )rH   r?  r@  rA  ÚtypÚargss         rK   r6  zDestination.__init__L  sI  € ð .0ˆÔàŒlˆØŒ|ˆå×!Ò! $Ñ'Ô'Ð'Ý%5°eÑ%<Ô%<ˆ�Z˜Ñ!Ô!Ñ"Ø$(ˆ�Z˜Ñ Ô Ñ!Ø$'ˆ�Z˜Ñ Ô Ñ!ð �&Š=ˆ=Ý�4‰yŒy˜1Š}ˆ}Ø—’�L¨Ñ-Ô-Ñ.Ô.Ð.Ý�4‰yŒy˜1Š}ˆ}Ø—’�L¨Ñ-Ô-Ñ.Ô.Ð.Ý�4‰yŒy˜1Š}ˆ}Ø—’�L¨Ñ-Ô-Ñ.Ô.Ð.ð �R�a�R”ñ	Ø•Z¥¤Ñ(Ô(Ñ)Ø•Z¥¤Ñ'Ô'Ñ(Ø•Z Ñ(Ô(Ñ)Ð)Ð)å�‰YŒY˜!Š^ˆ^ØˆDØ•B”HŠ_‰_Ý�4‰yŒy˜AŠ~ˆ~ð ñØ�¥B¤GÑ,Ô,Ñ-Ø�¥B¤IÑ.Ô.Ñ/Ø�¥B¤HÑ-Ô-Ñ.Ø�¥B¤FÑ+Ô+Ñ,Ð,Ð,õ  ‘\”\¥:¡<¤<µ±´½z¹|¼|ÐLñØ�¥B¤GÑ,Ô,Ñ-Ø�¥B¤IÑ.Ô.Ñ/Ø�¥B¤HÑ-Ô-Ñ.Ø�¥B¤FÑ+Ô+Ñ,Ð,Ð,à•R”X�rœyÐ)Ð)Ð)ð>Ø.2Ñ+�•j¥¤Ñ(Ô(Ñ)Ð)Ð)øÝð >ð >ð >Ý/9©|¬|�•j¥¤Ñ(Ô(Ñ)Ð)Ð)Ð)ð>øøøà•R”X�rœyÐ)Ð)Ð)ð?Ø/3Ñ,�•j¥¤Ñ)Ô)Ñ*Ð*Ð*øÝð ?ð ?ð ?Ý0:±´�•j¥¤Ñ)Ô)Ñ*Ð*Ð*Ð*ð?øøøà•R”V�RœXÐ&Ð&Ð&ØˆDåÐC¸CÐCÐCÑDÔDÐDs$   ËK6 Ë62L,Ì+L,Í
M* Í*2N ÎN r@   c                 óv   ‡ — t          ‰                      d¦  «        ‰ d         gˆ fd„dD ¦   «         z   ¦  «        S )NrD  r¹   c                 ó(   •— g | ]}|‰v ¯‰|         ‘ŒS rM   rM   )rd   re   rH   s     €rK   ú
<listcomp>z*Destination.dest_array.<locals>.<listcomp>Ž  s.   ø€ ð ð ð àØ˜�9�9ð �Q”à�9�9rL   )ú/Leftú/Bottomú/Rightú/ToprE  )r@   rº   rj   s   `rK   Ú
dest_arrayzDestination.dest_arrayŠ  sX   ø€ åØ�\Š\˜'Ñ"Ô" D¨¤MÐ2ðð ð ð àHðñ ô ññ
ô 
ð 	
rL   r�   r‚   c                 ó  — |�t          dd¦  «         |                     d¦  «         t          d¦  «        }|                     |¦  «         |                     d¦  «         | j        }|                     |¦  «         t          d¦  «        }|                     |¦  «         |                     d¦  «         t          d¦  «        }|                     |¦  «         |                     d¦  «         |                     d	¦  «         d S )
Nr„   r…   rê   z/Dr‡   z/Sz/GoTorì   rí   )r   rˆ   r-   r‰   r_  )rH   r�   r‚   rÎ   rÛ   Úvalue_ss         rK   r‰   zDestination.write_to_stream•  s  € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š�WÑÔÐÝ˜ÑÔˆØ×Ò˜FÑ#Ô#Ð#Ø�Š�TÑÔÐØ”ˆØ×Ò˜fÑ%Ô%Ð%å˜ÑÔˆØ×Ò˜FÑ#Ô#Ð#Ø�Š�TÑÔÐÝ˜WÑ%Ô%ˆØ×Ò Ñ'Ô'Ð'à�Š�UÑÔÐØ�Š�UÑÔÐÐÐrL   c                 ó,   — |                       d¦  «        S )z3Read-only property accessing the destination title.rC  ©r»   rj   s    rK   r?  zDestination.title¬  s   € ð �xŠx˜Ñ!Ô!Ð!rL   c                 ó,   — |                       d¦  «        S )zHRead-only property accessing the IndirectObject of the destination page.rD  rc  rj   s    rK   r@  zDestination.page±  ó   € ð �xŠx˜Ñ Ô Ð rL   c                 ó,   — |                       d¦  «        S )z2Read-only property accessing the destination type.r¹   rc  rj   s    rK   rV  zDestination.typ¶  re  rL   c                 ó.   — |                       dd¦  «        S )z-Read-only property accessing the zoom factor.rE  Nrc  rj   s    rK   ÚzoomzDestination.zoom»  ó   € ð �xŠx˜ Ñ&Ô&Ð&rL   c                 ó.   — |                       dd¦  «        S )z<Read-only property accessing the left horizontal coordinate.r[  Nrc  rj   s    rK   ÚleftzDestination.leftÀ  ri  rL   c                 ó.   — |                       dd¦  «        S )z=Read-only property accessing the right horizontal coordinate.r]  Nrc  rj   s    rK   ÚrightzDestination.rightÅ  s   € ð �xŠx˜ $Ñ'Ô'Ð'rL   c                 ó.   — |                       dd¦  «        S )z9Read-only property accessing the top vertical coordinate.r^  Nrc  rj   s    rK   ÚtopzDestination.topÊ  s   € ð �xŠx˜ Ñ%Ô%Ð%rL   c                 ó.   — |                       dd¦  «        S )z<Read-only property accessing the bottom vertical coordinate.r\  Nrc  rj   s    rK   ÚbottomzDestination.bottomÏ  s   € ð �xŠx˜	 4Ñ(Ô(Ð(rL   c                 ó¸   — t          d|                      dt          t          d¦  «        t          d¦  «        t          d¦  «        g¦  «        ¦  «        ¦  «        S )zHRead-only property accessing the color in (R, G, B) with values 0.0-1.0.r@   z/Cr   )r   r»   r@   r+   rj   s    rK   ÚcolorzDestination.colorÔ  sL   € õ ØØ�HŠH�T�;­°A©¬½ÀA¹¼ÍÐTUÉÌÐ'WÑXÔXÑYÔYñ
ô 
ð 	
rL   c                 óH   — t          |                      dd¦  «        ¦  «        S )z_
        Read-only property accessing the font type.

        1=italic, 2=bold, 3=both
        rÓ  r   )r   r»   rj   s    rK   Úfont_formatzDestination.font_formatÜ  s    € õ ˜tŸxšx¨¨aÑ0Ô0Ñ1Ô1Ð1rL   c                 ó.   — |                       dd¦  «        S )zÀ
        Read-only property accessing the outline count.

        positive = expanded
        negative = collapsed
        absolute value = number of visible descendants at all levels
        rH  Nrc  rj   s    rK   Úoutline_countzDestination.outline_countå  s   € ð �xŠx˜ $Ñ'Ô'Ð'rL   rj  )rB   r@   ra   )$r¤   r¥   r¦   rq  r=  r
   r¬   rr  rg  r   rs   rt   r/   r,   r.   r3   r6  r0  r_  r   r‰   r?  r@  rV  r¨   rh  r+   rk  rm  ro  rq  rs  r   ru  rw  r¥  r¦  s   @rK   r<  r<  &  s  ø€ € € € € € ðð ð$ 	ð 	ˆ(Øôð ð ñ ðð ð ð ð ð ð"<Eà�S˜%�ZÔ ð<Eð �L .°*Ð>NÐNÔOð<Eð ð	<Eð
 
ð<Eð <Eð <Eð <Eð| ð
ð 
ð 
ñ „Xð
ð MQðð Ø ðØ27¸¸UÀDÐ8HÔ2Iðà	ðð ð ð ð. ð"�x ”}ð "ð "ð "ñ „Xð"ð ð!�h˜~Ô.ð !ð !ð !ñ „Xð!ð ð!�X˜c”]ð !ð !ð !ñ „Xð!ð ð'�h˜s”mð 'ð 'ð 'ñ „Xð'ð ð'�h˜{Ô+ð 'ð 'ð 'ñ „Xð'ð ð(�x Ô,ð (ð (ð (ñ „Xð(ð ð&�X˜kÔ*ð &ð &ð &ñ „Xð&ð ð)˜ Ô-ð )ð )ð )ñ „Xð)ð ð
�x Ô.ð 
ð 
ð 
ñ „Xð
ð ð2˜X oÔ6ð 2ð 2ð 2ñ „Xð2ð ð(˜x¨œ}ð (ð (ð (ñ „Xð(ð (ð (ð (ð (rL   r<  ra   )gÚ
__author__Ú__author_email__Úloggingrþ   r&  ÚsysÚcollections.abcr   r   Úior   Úmathr   Útypingr   r   r	   r
   r   r   r�  r   Ú
_protocolsr   r   r   Ú_utilsr   r   r   r   r   r   r   r   r   r   Ú	constantsr   r   r   r    r!   r’  r"   rI  r#   rL  Úerrorsr$   r%   r&   r'   Ú_baser)   r*   r+   r,   r-   r.   r/   r0   r1   r2   Ú_fitr3   Ú_image_inliner4   r5   r6   r7   r8   r9   r:   r;   Úversion_infor>   Útyping_extensionsÚ	getLoggerr¤   Úloggerr'  r  Ú	frozensetrW   rq   r@   rª   r¬   r3  r_  rm  rY   rz  rŠ  rµ  r¯  r  rs   r¨   rž   r  r<  rM   rL   rK   ú<module>rŒ     s;  ðð8 €
Ø/Ð à €€€Ø 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð !Ð  Ð  Ð  Ð  Ð  Ø UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ Uðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð *Ð )Ð )Ð )Ð )Ð )Ø *Ð *Ð *Ð *Ð *Ð *Ø -Ð -Ð -Ð -Ð -Ð -Ø bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ^Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]àÔ�wÒÐØÐÐÐÐÐÐà&Ð&Ð&Ð&Ð&Ð&à	ˆÔ	˜8Ñ	$Ô	$€à�"”*Ð@ÑAÔA€ð �	ØÐ$ k°:¸zÈ<ÐYiÐjñô €ð
Eð Eð Eð Eð E�$�s”)˜Yñ Eô Eð EðP[ ð [ ð [ ð [ ð [ �t˜C ˜H”~ yñ [ ô [ ð [ ð|Z*ð Z*ð Z*ð Z*ð Z*Ð!ñ Z*ô Z*ð Z*ðz+¨Sð +°Tð +ð +ð +ð +ð"ð ð ð ð ˜Jñ ô ð ð{ð {ð {ð {ð {Ð#ñ {ô {ð {ð|	ð 	ð 	ð 	ð 	˜,ñ 	ô 	ð 	ð$ð $ð $ð $ð $˜,ñ $ô $ð $ðN #)Ð ðx8ð x8ð x8ð x8ð x8Ð'ñ x8ô x8ð x8ðx Ð ð DHðIð
 59ðIð Ið IØðIà	Ð#Ô	$ðIð ˜3  S¤	¨4°°S°¬>¸4Ð?Ô@ðIð
 Ð0Ô1ðIð ðIð Ið Ið IðX`6ð `6ð `6ð `6ð `6ˆJñ `6ô `6ð `6ðFH(ð H(ð H(ð H(ð H(�*ñ H(ô H(ð H(ð H(ð H(rL   