
    1 j                     d   S r SSKrSSKrSSKrSSKrSSKrSSKrSSKJr  SSK	r	SSK
Jr  SSK	Jr  \R                  " \5      r\	R                   " S5      r\" \5      r\R(                  4S jrS r " S	 S
\R.                  5      r " S S5      r " S S5      rS r " S S5      r " S S\5      rg))AutoCastableAutoCloseableObjectTrackerLIBRARY_AVAILABLEDEBUG_AUTOCLOSE_debug_close_warn_close    N)defaultdict)cached_property)r   Fc                    U[         R                  :  a  g  [        R                  " [        R
                  R                  5       U S-   R                  5       5        g ! [         a    [        U [        R
                  S9   g f = f)N
)file)
r   valueoswritesysstderrfilenoencode	Exceptionprint)msgprios     i/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pypdfium2/internal/bases.pyr   r      s]    o###$
""$s4x&7&7&9: $c

#$s   AA "B Bc                 8    [        U [        R                  5        g N)r   loggingWARNING)r   s    r   r   r       s    goo&    c                   $    \ rS rSrSrSrSrSrSrg)_STATE$   r	          N)	__name__
__module____qualname____firstlineno__INVALIDAUTOEXPLICITBYPARENT__static_attributes__r&   r   r   r!   r!   $   s    GDHHr   r!   c                       \ rS rSrSrS rSrg)_FinalizerInfo4   )
close_funcargskwargstrackedstatec                 b    Xl         X#sU l        U l        X@l        [        R
                  U l        g r   )r3   r4   r5   r6   r!   r,   r7   )selfr3   r4   r5   r6   s        r   __init___FinalizerInfo.__init__6   s%    $!%	4;[[
r   )r4   r3   r5   r7   r6   Nr'   r(   r)   r*   	__slots__r:   r/   r&   r   r   r1   r1   4   s    DI!r   r1   c                       \ rS rSrSrS rSrg)_FinalizerOwner<   rawparentwreftypereprc                 J    XsU l         U l        X4UsU l        U l        U l        g r   rA   )r9   rB   rC   rD   rE   rF   s         r   r:   _FinalizerOwner.__init__>   s$     #$+*.d'	49dir   )rC   rB   rF   rE   rD   Nr<   r&   r   r   r?   r?   <   s    9I;r   r?   c                    [        SU R                  R                  R                  5        SUR                   35        [
        (       d  [        SUR                   S35        g U R                  [        R                  :w  d   eUR                  nUb  UR                  5       (       a   eU R                  (       ao  UR                  UR                  ;   d0   UR                   SUR                   SU SUR                   35       eUR                  R                  UR                  5        U R                  " UR                   /U R"                  Q70 U R$                  D6  [&        UR(                     R                  UR                  5        g )NzClose (z) z-> Cannot close z<; pdfium library is destroyed. This may cause a memory leak. z, )r   r7   namelowerrF   r   r   r!   r+   rC   _tree_closedr6   rD   _kidsremover3   rB   r4   r5   r   rE   )infoownerrC   s      r   _close_templaterR   C   s&    74::??00232ejj\BC&uzzl2nop::'''\\F&&((((<<::-d%**Quzzl"VHTUV\VbVbUc/dd-LL

+OOEII9		9T[[9%**$$UZZ0r   c                   4    \ rS rSr\S 5       r\S 5       rSrg)r   [   c                     U R                   $ r   )rB   r9   s    r   _as_parameter_AutoCastable._as_parameter_]   s    
 xxr   c                 .    [         R                  " U 5      $ r   )weakrefrefrV   s    r   _wref_to_selfAutoCastable._wref_to_selfd   s    {{4  r   r&   N)	r'   r(   r)   r*   propertyrW   r   r\   r/   r&   r   r   r   r   [   s(      ! !r   r   c                   n    \ rS rSrSSSS.S jr\S 5       r\S 5       rS rS	 r	S
 r
S rS rSS jrSrg)r   i   NT)obj
needs_freer6   c                    [        U S5      (       a   e[        XXd5      U l        Uc  U OUU l        S U l        U(       a  U R                  5         g g )N
_finalizer)hasattrr1   	_fin_info_fin_objrd   _attach_finalizer)r9   r3   ra   rb   r6   r4   r5   s          r   r:   AutoCloseable.__init__k   sM     4....'
&J #""$ r   c                     [        5       $ r   )setrV   s    r   rN   AutoCloseable._kidsw   s	    ur   c                 t    [         R                  [        R                  :  a  [        R
                  " 5       $ S $ r   )r   r   r   r   uuiduuid4rV   s    r   _uuidAutoCloseable._uuid{   s$    .44wFtzz|PDPr   c                     U R                   c  [        [        U 5      5      OU R                   R                  S S nS[        U 5      R                   SU S3$ )N   <rJ   >)rp   hexidrE   r'   )r9   
identifiers     r   __repr__AutoCloseable.__repr__   sI    &*jj&8SD]djjnnSb>Q
4:&&'qA66r   c           	      T   U R                   b   e[        U 5      n[        U R                  U R                  U R
                  U[        U 5      5      n[        R                  " U R                  [        U R                  U5      U l         [        U   R                  U R
                  5        g r   )rd   rE   r?   rB   rC   r\   rF   rZ   finalizerg   rR   rf   r   add)r9   own_typerQ   s      r   rh   AutoCloseable._attach_finalizer   s~    &&&:  $++t7I7I8UYZ^U_`!**4==/4>>[`ah##D$6$67r   c                     U R                   R                  5         S U l         [        [        U 5         R	                  U R
                  5        g r   )rd   detachr   rE   rO   r\   rV   s    r   _detach_finalizerAutoCloseable._detach_finalizer   s6     d4j!((););<r   c                     U R                   c  gU R                  S :w  a   U R                  R                  5       (       a  gg)NTF)rB   rC   rM   rV   s    r   rM   AutoCloseable._tree_closed   s3    88;;$4;;#;#;#=#=r   c                 N    U R                   R                  UR                  5        g r   )rN   r}   r\   )r9   kids     r   _add_kidAutoCloseable._add_kid   s    

))+r   c                    U R                   (       d  gU R                  (       d  S U l         g/ nU R                   H7  nU" 5       nU(       d  M  UR                   (       d  M&  UR                  U5        M9     U H  nUR	                  SS9  M     U R                  (       a<  [
        R                  SU R                   35        U R                  R                  5         U(       a  [        R                  O[        R                  U R                  l        U R                  5         [        R                  U R                  l        S U l         S U l        g)NFT)
_by_parentz-Some kids weakrefs have not been cleaned up: )rB   rd   rN   appendcloseloggerwarningclearr!   r.   r-   rf   r7   r+   )r9   r   
need_closek_wrefks        r   r   AutoCloseable.close   s    xxDH 
jjFAqQUUU!!!$	 !
 AGGtG$  ::NNJ4::,WXJJ2<v&//%~~r   )rf   rg   rd   rB   )F)r'   r(   r)   r*   r:   r   rN   rp   ry   rh   r   rM   r   r   r/   r&   r   r   r   r   i   sV    .2tT 
%   Q Q78=
,
r   r   )__all__r   r   enumrn   rZ   r   collectionsr
   pypdfium2_cfgpypdfium2._lazyr   r   	getLoggerr'   r   _Mutabler   rk   r   DEBUGr   r   Enumr!   r1   r?   rR   r   r   r&   r   r   <module>r      s    D 	 
     #  + )			8	$!**51 C  #== $'dii  ! !; ;10! !P\ Pr   