
    Ngi                         d Z ddlZddlZddlZddlZddlZddlZ ej        e          Z	 ej
        d          Z ej
        d          ZdZdZdZdZ G d d          Zd	 Z G d
 de          ZdS ))AutoCastableAutoCloseableDEBUG_AUTOCLOSELIBRARY_AVAILABLE    NF      c                   $    e Zd Zed             ZdS )r   c                     | j         S N)rawselfs    T/var/www/html/ai-engine/env/lib/python3.11/site-packages/pypdfium2/internal/bases.py_as_parameter_zAutoCastable._as_parameter_   s	    x    N)__name__
__module____qualname__propertyr    r   r   r   r      s-          X  r   r   c                    t           rlt          dt          dt          di|j                 }t          j        t          j        	                                d| d| d
                                           t          sEt          j        t          j        	                                d
                                           d S ||                                rJ  | |g|R i | d S )Nautoexplicitz	by parentzClose (z) 
zL-> Cannot close object, library is destroyed. This may cause a memory leak!
)r   
STATE_AUTOSTATE_EXPLICITSTATE_BYPARENTvalueoswritesysstderrfilenoencoder   _tree_closed)
close_funcr   obj_reprstateparentargskwargsdescs           r   _close_templater.       s     OFNJP[\]b]hi
""$$&D&D&D&D&D&D&K&K&M&MNNN 
""$$&v&}&}&&  	A  	A  	AN6#6#6#8#8NNNJs$T$$$V$$$$$r   c                   B    e Zd ZddddZd Zd Zd Zd Zd	 ZddZ	dS )r   NT)obj
needs_freec                "   t          | d          rJ || _        || n|| _        t          j                    | _        || _        || _        t          j	        t                    | _        d | _        g | _        |r|                                  d S d S )N
_finalizer)hasattr_close_func_objuuiduuid4_uuid_ex_args
_ex_kwargsctypesc_int8r   _autoclose_stater3   _kids_attach_finalizer)r   r'   r0   r1   r+   r,   s         r   __init__zAutoCloseable.__init__1   s     4.....%KDDS	Z\\
  &j 9 9
 	%""$$$$$	% 	%r   c                 l    dt          |           j         dt          | j                  d d          dS )N<z uuid:   >)typer   strr9   r   s    r   __repr__zAutoCloseable.__repr__C   s5    D4::&DDc$*oobqb.ADDDDr   c           	          | j         J t          j        | j        t          | j        | j        t          |           | j        | j	        g| j
        R i | j        | _         d S r   )r3   weakreffinalizer6   r.   r5   r   reprr>   r*   r:   r;   r   s    r   r@   zAutoCloseable._attach_finalizerG   s    &&&!*49otGWY]Yacghlcmcmos  pE  GK  GR  v  UY  Ub  v  v  v  fj  fu  v  vr   c                 F    | j                                          d | _         d S r   )r3   detachr   s    r   _detach_finalizerzAutoCloseable._detach_finalizerL   s!       r   c                 \    | j         dS | j        | j                                        rdS dS )NTF)r   r*   r&   r   s    r   r&   zAutoCloseable._tree_closedP   s4    84K#)A)A)C)C#4ur   c                 ^    | j                             t          j        |                     d S r   )r?   appendrJ   ref)r   ks     r   _add_kidzAutoCloseable._add_kidW   s&    
7;q>>+++++r   Fc                 X   | j         r| j        sdS | j        D ]+} |            }|r|j         r|                    d           ,|rt          nt
          | j        _        |                                  t          | j        _        d | _         d | _        | j        	                                 dS )NFT)
_by_parent)
r   r3   r?   closer   r   r>   r   STATE_INVALIDclear)r   rW   k_refrT   s       r   rX   zAutoCloseable.close[   s    x 	t 	5Z 	) 	)EA )QU )4(((8B&Vnn#&3#
tr   )F)
r   r   r   rA   rH   r@   rO   r&   rU   rX   r   r   r   r   r   /   s        .2t % % % % %$E E Ev v v
    , , ,     r   r   )__all__r    r"   r<   rJ   loggingr7   	getLoggerr   loggerc_boolr   r   rY   r   r   r   r   r.   r   r   r   r   <module>ra      s    T 				 



    		8	$	$  &-&&!FM%(( 
       % % %= = = = =\ = = = = =r   